ysy há 2 anos atrás
pai
commit
b70f072c3f

+ 25 - 0
src/api/produceWord/index.js

@@ -0,0 +1,25 @@
+import request from '@/utils/request';
+import store from '@/store';
+import Vue from 'vue';
+
+/**
+ * 列表
+ */
+export async function getList(params) {
+  const res = await request.post('/aps/workorder/page', params);
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+// 下达
+export async function releaseWorkOrder({ id, teamId }) {
+  const res = await request.get(
+    `/aps/workorder/releaseWorkOrder/${id}/${teamId}`
+  );
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}

+ 0 - 186
src/views/mes/workOrder/components/order-search.vue

@@ -1,186 +0,0 @@
-<!-- 搜索表单 -->
-<template>
-  <el-form
-    label-width="77px"
-    class="ele-form-search"
-    @keyup.enter.native="search"
-    @submit.native.prevent
-  >
-    <el-row :gutter="15">
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="下达日期开始:" label-width="100px">
-          <el-date-picker
-            v-model="where.taskDueAfter"
-            value-format="yyyy-MM-dd"
-            placeholder="下达日期开始"
-            type="date"
-            style="width: 200px"
-            class="filter-item"
-          ></el-date-picker>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="下单日期结束" label-width="100px">
-          <el-date-picker
-            v-model="where.taskDueBefore"
-            value-format="yyyy-MM-dd"
-            placeholder="下单日期结束"
-            type="date"
-            style="width: 200px"
-            class="filter-item"
-          ></el-date-picker>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="创建时间开始" label-width="100px">
-          <el-date-picker
-            v-model="where.taskDueBefore"
-            value-format="yyyy-MM-dd"
-            placeholder="创建时间开始"
-            type="date"
-            style="width: 200px"
-            class="filter-item"
-          ></el-date-picker>
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
-        <el-form-item label="创建时间结束" label-width="100px">
-          <el-date-picker
-            v-model="where.taskDueBefore"
-            value-format="yyyy-MM-dd"
-            placeholder="创建时间结束"
-            type="date"
-            style="width: 200px"
-            class="filter-item"
-          ></el-date-picker>
-        </el-form-item>
-      </el-col>
-
-      <el-col v-bind="styleResponsive ? { lg: 4, md: 12 } : { span: 6 }">
-        <el-form-item label="计划编号" label-width="77px">
-          <el-input clearable v-model="where.taskName" placeholder="请输入" />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 4, md: 12 } : { span: 6 }">
-        <el-form-item label="物料编码" label-width="77px">
-          <el-input
-            clearable
-            v-model="where.processInstanceBusinessKey"
-            placeholder="请输入"
-          />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 4, md: 12 } : { span: 6 }">
-        <el-form-item label="牌号" label-width="77px">
-          <el-input
-            clearable
-            v-model="where.processInstanceBusinessKey"
-            placeholder="请输入"
-          />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 4, md: 12 } : { span: 6 }">
-        <el-form-item label="型号" label-width="77px">
-          <el-input
-            clearable
-            v-model="where.processInstanceBusinessKey"
-            placeholder="请输入"
-          />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 4, md: 12 } : { span: 6 }">
-        <el-form-item label="班组" label-width="77px">
-          <el-input
-            clearable
-            v-model="where.processInstanceBusinessKey"
-            placeholder="请输入"
-          />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 4, md: 12 } : { span: 6 }">
-        <el-form-item label="客户范围" label-width="77px">
-          <el-input
-            clearable
-            v-model="where.processInstanceBusinessKey"
-            placeholder="请输入"
-          />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 4, md: 12 } : { span: 6 }">
-        <el-form-item label="工单号" label-width="77px">
-          <el-input
-            clearable
-            v-model="where.processInstanceBusinessKey"
-            placeholder="请输入"
-          />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { lg: 4, md: 12 } : { span: 6 }">
-        <el-form-item label="计划类型" label-width="77px">
-          <el-input
-            clearable
-            v-model="where.processInstanceBusinessKey"
-            placeholder="请输入"
-          />
-        </el-form-item>
-      </el-col>
-
-      <el-col
-        v-bind="styleResponsive ? { lg: 16, md: 12 } : { span: 6 }"
-        style="text-align: right"
-      >
-        <div class="ele-form-actions">
-          <el-button
-            type="primary"
-            icon="el-icon-search"
-            class="ele-btn-icon"
-            @click="search"
-          >
-            查询
-          </el-button>
-          <el-button @click="reset">重置</el-button>
-        </div>
-      </el-col>
-    </el-row>
-  </el-form>
-</template>
-
-<script>
-  export default {
-    data() {
-      // 默认表单数据
-      const defaultWhere = {
-        taskName: undefined,
-        processInstanceBusinessKey: undefined,
-        taskDueAfter: undefined,
-        taskDueBefore: undefined
-      };
-      return {
-        // 表单数据
-        where: { ...defaultWhere }
-      };
-    },
-    computed: {
-      // 是否开启响应式布局
-      styleResponsive() {
-        return this.$store.state.theme.styleResponsive;
-      }
-    },
-    methods: {
-      /* 搜索 */
-      search() {
-        this.$emit('search', this.where);
-      },
-      /*  重置 */
-      reset() {
-        this.where = { ...this.defaultWhere };
-        this.search();
-      }
-    }
-  };
-</script>
-<style scoped>
-  div {
-    text-align: ;
-  }
-</style>

+ 0 - 496
src/views/mes/workOrder/components/send-order.vue

@@ -1,496 +0,0 @@
-<!-- 字典编辑弹窗 -->
-<template>
-  <ele-modal
-    width="960px"
-    :maxable="true"
-    :visible="visible"
-    :close-on-click-modal="true"
-    title="派单"
-    @update:visible="updateVisible"
-  >
-    <HeaderTitle title="选择生产设备" size="16px"></HeaderTitle>
-    <el-form
-      ref="form"
-      :model="form"
-      :rules="rules"
-      label-width="85px"
-      style="margin-bottom: 10px"
-    >
-      <el-row>
-        <el-col :span="8">
-          <el-form-item label="字典名称:" prop="name">
-            <el-select
-              v-model="form.name"
-              placeholder="请选择"
-              @change="OneChange(1)"
-            >
-              <el-option
-                v-for="item in options"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="字典值:" prop="code">
-            <el-select
-              v-model="form.name1"
-              placeholder="请选择"
-              @change="OneChange(2)"
-            >
-              <el-option
-                v-for="item in options"
-                :key="item.label"
-                :label="item.label"
-                :value="item.value"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="应用类型:" prop="appType">
-            <el-select v-model="form.name2" placeholder="请选择">
-              <el-option
-                v-for="item in options"
-                :key="item.name"
-                :label="item.label"
-                :value="item.value"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
-        </el-col>
-      </el-row>
-    </el-form>
-
-    <HeaderTitle title="生产基本信息" size="16px"></HeaderTitle>
-
-    <el-form
-      ref="form"
-      :model="form"
-      :rules="rules"
-      label-width="110px"
-      style="margin-bottom: 10px"
-    >
-      <el-row>
-        <el-col :span="8">
-          <el-form-item label="产品分类:"> 1111 </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="生产版本:"> 2222 </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="交货日期:"> 3333 </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="产品牌号:"> 3333 </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="产品型号:"> 3333 </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="生产数量:"> 3333 </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="物料(产品)编码:"> 3333 </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="物料(产品)名称:"> 3333 </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="生产工单号:"> 3333 </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="销售单号:"> 3333 </el-form-item>
-        </el-col>
-        <el-col :span="8">
-          <el-form-item label="计划单号:"> 3333 </el-form-item>
-        </el-col>
-      </el-row>
-    </el-form>
-
-    <HeaderTitle title="当班人员信息" size="16px"></HeaderTitle>
-
-    <el-table
-      :data="tableData"
-      border
-      style="width: 100%"
-      @selection-change="handleSelectionChange"
-    >
-      <el-table-column prop="code" label="字典项编码">
-        <template slot-scope="scope">
-          <el-input
-            @blur="checkedValue(scope.row.code)"
-            v-model="scope.row.code"
-            placeholder=""
-          ></el-input>
-        </template>
-      </el-table-column>
-      <el-table-column prop="name" label="字典项名称">
-        <template slot-scope="scope">
-          <el-input v-model="scope.row.name" placeholder=""></el-input>
-        </template>
-      </el-table-column>
-      <el-table-column prop="sort" label="排序">
-        <template slot-scope="scope">
-          <el-input
-            v-model="scope.row.sort"
-            @input="
-              scope.row.sort = String(scope.row.sort).replace(/[^\d]/g, '')
-            "
-          ></el-input>
-        </template>
-      </el-table-column>
-      <el-table-column prop="enable" label="启用">
-        <template slot-scope="scope">
-          <el-radio-group v-model="scope.row.enable">
-            <el-radio :label="1">是</el-radio>
-            <el-radio :label="0">否</el-radio>
-          </el-radio-group>
-        </template>
-      </el-table-column>
-      <el-table-column align="center" label="操作">
-        <template slot-scope="scope">
-          <el-popconfirm
-            class="ele-action"
-            title="确定要删除此字典项吗?"
-            @confirm="removeArr(scope)"
-          >
-            <template v-slot:reference>
-              <el-link type="danger" :underline="false" icon="el-icon-delete">
-                删除
-              </el-link>
-            </template>
-          </el-popconfirm>
-        </template>
-      </el-table-column>
-    </el-table>
-
-    <template v-slot:footer>
-      <el-button @click="updateVisible(false)">取消</el-button>
-      <el-button type="primary" :loading="loading" @click="save">
-        保存
-      </el-button>
-    </template>
-  </ele-modal>
-</template>
-
-<script>
-  import { addDictionary, updateDictionary } from '@/api/system/dictionary';
-  import {
-    pageDictionaryData,
-    removeDictionaryData,
-    removeDictionaryDataBatch
-  } from '@/api/system/dictionary-data';
-
-  export default {
-    props: {
-      // 弹窗是否打开
-      visible: Boolean,
-      // 修改回显的数据
-      id: String | Number
-    },
-    data () {
-      const defaultForm = {
-        name: '',
-        name1: '',
-        name2: '',
-        code: '',
-        appType: 1,
-        enable: 1,
-        remark: '',
-        dictStaticSubmitPOList: []
-      };
-      return {
-        defaultForm,
-        // 表单数据
-        form: { ...defaultForm },
-        // form: {
-        //   name: '',
-        //   code: '',
-        //   appType: 1,
-        //   enable: 1,
-        //   remark: ''
-        // },
-        // 表单验证规则
-        rules: {
-          name: [
-            {
-              required: true,
-              message: '请输入字典名称',
-              trigger: 'blur'
-            }
-          ],
-          code: [
-            {
-              required: true,
-              message: '请输入字典值',
-              trigger: 'blur'
-            }
-          ],
-          appType: [
-            {
-              required: true,
-              message: '请选择应用类型',
-              trigger: 'blur'
-            }
-          ],
-          enable: [
-            {
-              required: true,
-              message: '请选择是否启用',
-              trigger: 'blur'
-            }
-          ],
-          sort: [
-            {
-              required: true,
-              message: '请输入排序号',
-              trigger: 'blur'
-            }
-          ]
-        },
-        options: [
-          { value: 1, label: '车间1', name: 11 },
-          { value: 2, label: '车间2', name: 12 },
-          { value: 3, label: '车间3', name: 13 },
-          { value: 4, label: '车间4', name: 14 }
-        ],
-        // 表格列配置
-        columns: [
-          {
-            columnKey: 'selection',
-            type: 'selection',
-            width: 45,
-            align: 'center'
-          },
-          {
-            columnKey: 'index',
-            type: 'index',
-            width: 45,
-            align: 'center',
-            showOverflowTooltip: true
-          },
-          {
-            prop: 'code',
-            label: '字典编码',
-            showOverflowTooltip: true
-          },
-          {
-            prop: 'name',
-            label: '字典名称',
-
-            showOverflowTooltip: true
-          },
-          // {
-          //   prop: 'appType',
-          //   label: '字典类型',
-
-          //   showOverflowTooltip: true,
-          //   minWidth: 110
-          // },
-          {
-            prop: 'appType',
-            label: '应用类型',
-
-            showOverflowTooltip: true
-          },
-          {
-            prop: 'remark',
-            label: '描述',
-
-            showOverflowTooltip: true
-          },
-          {
-            prop: 'createTime',
-            label: '创建时间',
-
-            showOverflowTooltip: true,
-            minWidth: 110,
-            formatter: (_row, _column, cellValue) => {
-              return this.$util.toDateString(cellValue);
-            }
-          },
-          {
-            columnKey: 'action',
-            label: '操作',
-            width: 130,
-            align: 'center',
-            resizable: false,
-            slot: 'action',
-            showOverflowTooltip: true
-          }
-        ],
-        tableData: [],
-        // 表格选中数据
-        selection: [],
-        datasource: {
-          list: []
-        },
-        // 提交状态
-        loading: false,
-        // 是否是修改
-        isUpdate: false,
-        delectId: 1
-      };
-    },
-    created () {},
-
-    methods: {
-      OneChange (val) {
-        if (val == 1) {
-          this.form.name1 = '';
-          this.form.name2 = '';
-        } else if (val == 2) {
-          this.form.name2 = '';
-        }
-      },
-      pushArr () {
-        this.form.dictStaticSubmitPOList.push({
-          code: '',
-          enable: 1,
-          name: '',
-          sort: '',
-          delectId: this.delectId
-        });
-        this.delectId = this.delectId + 1;
-        this.filterArr();
-      },
-      //
-      checkedValue (val) {
-        console.log(val);
-      },
-      removeArr (row) {
-        console.log(row);
-        if (row.row.id) {
-          this.form.dictStaticSubmitPOList.forEach((item) => {
-            if (item.id === row.row.id) {
-              item.deleted = 1;
-            }
-          });
-          this.filterArr();
-        } else {
-          let index = this.form.dictStaticSubmitPOList.findIndex(
-            (item) => item.delectId === row.row.delectId
-          );
-          console.log(index);
-          this.form.dictStaticSubmitPOList.splice(index, 1); // 在数组的指定位置移除对应的元素。 返回移除的
-          this.filterArr();
-        }
-
-        // let falg = this.form.dictStaticSubmitPOList[row.$index].deleted === 0;
-        // if (falg) {
-        //   this.form.dictStaticSubmitPOList[row.$index].deleted = 1;
-        //   this.filterArr();
-        // } else {
-        //   this.form.dictStaticSubmitPOList.splice(row.$index, 1);
-        //   this.filterArr();
-        // }
-      },
-      handleSelectionChange () {},
-      /* 保存编辑 */
-      save () {
-        this.$refs.form.validate((valid) => {
-          if (!valid) {
-            return false;
-          }
-          let falg = this.form.dictStaticSubmitPOList.some(
-            (item, index) => item.code.length === 0
-          );
-          if (falg) {
-            this.$message({
-              message: '字典项编码不能为空',
-              type: 'warning'
-            });
-            return;
-          }
-          this.form.dictStaticSubmitPOList.forEach((item, index) => {
-            if (item.delectId) {
-              delete item.delectId;
-            }
-          });
-
-          this.loading = true;
-          const saveOrUpdate = this.isUpdate ? updateDictionary : addDictionary;
-          saveOrUpdate(this.form)
-            .then((msg) => {
-              this.loading = false;
-              this.$message.success(msg);
-              this.updateVisible(false);
-              this.$emit('done');
-            })
-            .catch((e) => {
-              this.loading = false;
-              // // this.$message.error(e.message);
-            });
-        });
-      },
-      filterArr () {
-        this.tableData = this.form.dictStaticSubmitPOList.filter(
-          (item) => item.deleted !== 1
-        );
-      },
-      /* 更新visible */
-      updateVisible (value) {
-        this.$emit('update:visible', value);
-      },
-
-      getDetail () {
-        //   const res = await pageDictionaryData(this.id);
-        //   this.form = res.data.dictInfoVO;
-        //   this.form.dictStaticSubmitPOList = res.data.dictStaticVOList;
-        //   if (this.form.dictStaticSubmitPOList.length > 0) {
-        //     this.filterArr();
-        //   } else {
-        //     this.tableTata = [];
-        //   }
-      }
-    },
-    watch: {
-      visible (visible) {
-        if (visible) {
-          if (this.id) {
-            // this.$util.assignObject(this.form, this.data);
-            this.isUpdate = true;
-            this.getDetail();
-          } else {
-            this.isUpdate = false;
-          }
-        } else {
-          this.$refs.form.clearValidate();
-          this.form = { ...this.defaultForm };
-          this.form.dictStaticSubmitPOList = []; // clear the list of the dictionary static push button. 描述变化的字段不会在push后
-          this.tableData = []; // clear the list of the dictionary static push button. 描述变化的字段不会在push后。
-        }
-      }
-    }
-  };
-</script>
-<style lang="scss" scoped>
-  .divider {
-    margin-bottom: 20px;
-
-    .title {
-      display: flex;
-      align-items: center;
-      margin-bottom: 10px;
-      .ele-bg-primary {
-        width: 8px;
-        height: 20px;
-        margin-right: 10px;
-      }
-      .action {
-        flex: 1;
-        display: flex;
-        justify-content: flex-end;
-      }
-      span {
-        font-size: 20px;
-      }
-    }
-  }
-</style>

+ 0 - 196
src/views/mes/workOrder/detail/d-basic.vue

@@ -1,196 +0,0 @@
-<template>
-  <div class="ele-body">
-    <div class="d-basic-item">
-      <HeaderTitle title="生产基本信息" size="16px"></HeaderTitle>
-      <el-form label-width="120px">
-        <el-row :gutter="10">
-          <el-col :span="8">
-            <el-form-item label="产品分类"> </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="产品分类"> </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="产品分类"> </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="产品分类"> </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="产品分类"> </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="产品分类"> </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="产品分类"> </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="产品分类"> </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="产品分类"> </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="产品分类"> </el-form-item>
-          </el-col>
-        </el-row>
-      </el-form>
-    </div>
-    <div class="d-basic-item">
-      <HeaderTitle title="工艺路线" size="16px"></HeaderTitle>
-      <ele-pro-table
-        ref="table"
-        :columns="columns"
-        :toolbar="false"
-        :datasource="datasource"
-        :needPage="false"
-        cache-key="dBasicTable"
-      >
-        <!-- 表头工具栏 -->
-
-        <!-- 操作列 -->
-        <template v-slot:action="{ row }">
-          <el-link type="primary" :underline="false" @click="SendOrders(row)">
-            派单
-          </el-link>
-          <el-link
-            type="primary"
-            :underline="false"
-            icon="el-icon-view"
-            @click="btnView(row)"
-          >
-            查看详情
-          </el-link>
-        </template>
-      </ele-pro-table>
-    </div>
-    <div class="d-basic-item">
-      <HeaderTitle title="物料需求" size="16px"></HeaderTitle>
-      <el-radio-group v-model="tabPosition" style="margin-bottom: 30px">
-        <el-radio-button label="top">原料</el-radio-button>
-        <el-radio-button label="right">模具</el-radio-button>
-        <el-radio-button label="bottom">舟皿</el-radio-button>
-        <el-radio-button label="left">周转车</el-radio-button>
-      </el-radio-group>
-      <ele-pro-table
-        ref="table"
-        :columns="columns"
-        :toolbar="false"
-        :datasource="datasource"
-        :needPage="false"
-        cache-key="dBasicTable"
-      >
-        <!-- 操作列 -->
-        <template v-slot:action="{ row }">
-          <el-link type="primary" :underline="false" @click="SendOrders(row)">
-            派单
-          </el-link>
-          <el-link
-            type="primary"
-            :underline="false"
-            icon="el-icon-view"
-            @click="btnView(row)"
-          >
-            查看详情
-          </el-link>
-        </template>
-      </ele-pro-table>
-    </div>
-    <div class="d-basic-item">
-      <HeaderTitle title="设备需求" size="16px"></HeaderTitle>
-      <el-radio-group v-model="tabPosition" style="margin-bottom: 30px">
-        <el-radio-button label="top">挤压成型</el-radio-button>
-        <el-radio-button label="right">自然干燥</el-radio-button>
-        <el-radio-button label="bottom">升温干燥</el-radio-button>
-        <el-radio-button label="left">半加定长</el-radio-button>
-      </el-radio-group>
-      <ele-pro-table
-        ref="table"
-        :columns="columns"
-        :toolbar="false"
-        :datasource="datasource"
-        :needPage="false"
-        cache-key="dBasicTable"
-      >
-        <!-- 操作列 -->
-        <template v-slot:action="{ row }">
-          <el-link type="primary" :underline="false" @click="SendOrders(row)">
-            派单
-          </el-link>
-          <el-link
-            type="primary"
-            :underline="false"
-            icon="el-icon-view"
-            @click="btnView(row)"
-          >
-            查看详情
-          </el-link>
-        </template>
-      </ele-pro-table>
-    </div>
-    <div class="d-basic-item">
-      <HeaderTitle title="当班人员信息" size="16px"></HeaderTitle>
-      <ele-pro-table
-        ref="table"
-        :columns="columns"
-        :toolbar="false"
-        :datasource="datasource"
-        :needPage="false"
-        cache-key="dBasicTable"
-      >
-        <!-- 表头工具栏 -->
-
-        <!-- 操作列 -->
-        <template v-slot:action="{ row }">
-          <el-link type="primary" :underline="false" @click="SendOrders(row)">
-            派单
-          </el-link>
-          <el-link
-            type="primary"
-            :underline="false"
-            icon="el-icon-view"
-            @click="btnView(row)"
-          >
-            查看详情
-          </el-link>
-        </template>
-      </ele-pro-table>
-    </div>
-  </div>
-</template>
-
-<script>
-  import dTable from '@/views/mes/workOrder/detail/d-table';
-
-  export default {
-    components: {
-      dTable
-    },
-    data() {
-      return {
-        columns: [],
-        tabPosition: 'top'
-      };
-    },
-    methods: {
-      datasource() {
-        return {
-          list: []
-        };
-      }
-    }
-  };
-</script>
-
-<style lang="scss" scoped>
-  .el-form-item {
-    font-size: 12px !important;
-    margin-bottom: 10px;
-  }
-  .d-basic-item {
-    margin-bottom: 30px;
-  }
-  .el-radio-button {
-  }
-</style>

+ 0 - 73
src/views/mes/workOrder/detail/d-table.vue

@@ -1,73 +0,0 @@
-<template>
-  <ele-modal
-    width="960px"
-    :maxable="true"
-    :visible="visible"
-    :close-on-click-modal="true"
-    title="派单"
-    @update:visible="updateVisible"
-  >
-    <ele-pro-table
-      ref="table"
-      :columns="columns"
-      :toolbar="false"
-      :datasource="datasource"
-      :needPage="false"
-      cache-key="dTrackTable3"
-    >
-      <!-- 表头工具栏 -->
-
-      <!-- 操作列 -->
-      <template v-slot:action="{ row }">
-        <!-- <el-link type="primary" :underline="false" @click="SendOrders(row)">
-          派单
-        </el-link>
-        <el-link
-          type="primary"
-          :underline="false"
-          icon="el-icon-view"
-          @click="btnView(row)"
-        >
-          查看详情
-        </el-link> -->
-      </template>
-    </ele-pro-table>
-  </ele-modal>
-</template>
-
-<script>
-  export default {
-    props: {
-      visible: {
-        typeof: Boolean,
-        default: false
-      },
-      title: {
-        typeof: String,
-        default: '派单'
-        // require: true
-      },
-      width: {
-        typeof: String,
-        default: '960px'
-      }
-    },
-    data() {
-      return {
-        columns: []
-      };
-    },
-    methods: {
-      updateVisible(value) {
-        this.$emit('update:visible', value);
-      },
-      datasource() {
-        return {
-          list: []
-        };
-      }
-    }
-  };
-</script>
-
-<style></style>

+ 0 - 310
src/views/mes/workOrder/detail/d-track.vue

@@ -1,310 +0,0 @@
-<template>
-  <div class="ele-body">
-    <div class="d-track-item">
-      <HeaderTitle title="基本信息" size="16px"></HeaderTitle>
-      <el-form label-width="120px">
-        <el-row :gutter="10">
-          <el-col :span="8">
-            <el-form-item label="产品分类"> </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="产品分类"> </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="产品分类"> </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="产品分类"> </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="产品分类"> </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="产品分类"> </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="产品分类"> </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="产品分类"> </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="产品分类"> </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="产品分类"> </el-form-item>
-          </el-col>
-        </el-row>
-      </el-form>
-    </div>
-    <div class="d-track-item">
-      <HeaderTitle title="报工明细" size="16px"></HeaderTitle>
-      <el-row style="margin-bottom: 20px; border: 2px solid #f2f2f2">
-        <el-col :span="4">
-          <div class="d-track-item-inner">
-            <div class="label">本次报工累计良品数量</div>
-            <div class="value">10</div>
-          </div>
-        </el-col>
-        <el-col :span="4">
-          <div class="d-track-item-inner">
-            <div class="label">本次报工累计良品数量</div>
-            <div class="value">10</div>
-          </div>
-        </el-col>
-        <el-col :span="4">
-          <div class="d-track-item-inner">
-            <div class="label">本次报工累计良品数量</div>
-            <div class="value">10</div>
-          </div>
-        </el-col>
-        <el-col :span="4">
-          <div class="d-track-item-inner">
-            <div class="label">本次报工累计良品数量</div>
-            <div class="value">10</div>
-          </div>
-        </el-col>
-        <el-col :span="4">
-          <div class="d-track-item-inner">
-            <div class="label">本次报工累计良品数量</div>
-            <div class="value">10</div>
-          </div>
-        </el-col>
-        <el-col :span="4">
-          <div class="d-track-item-inner">
-            <div class="label">本次报工累计良品数量</div>
-            <div class="value">10</div>
-          </div>
-        </el-col>
-      </el-row>
-      <ele-pro-table
-        ref="table"
-        :columns="columns"
-        :toolbar="false"
-        :datasource="datasource"
-        :needPage="false"
-        cache-key="dTrackTable4"
-      >
-        <!-- 表头工具栏 -->
-
-        <!-- 操作列 -->
-        <template v-slot:action="{ row }">
-          <el-link type="primary" :underline="false" @click="SendOrders(row)">
-            派单
-          </el-link>
-          <el-link
-            type="primary"
-            :underline="false"
-            icon="el-icon-view"
-            @click="btnView(row)"
-          >
-            查看详情
-          </el-link>
-        </template>
-      </ele-pro-table>
-    </div>
-    <div class="d-track-item">
-      <HeaderTitle title="领料记录" size="16px"></HeaderTitle>
-      <el-row style="margin-bottom: 20px; border: 2px solid #f2f2f2">
-        <el-col :span="4">
-          <div class="d-track-item-inner">
-            <div class="label">领料单号</div>
-            <div class="value">10</div>
-          </div>
-        </el-col>
-        <el-col :span="4">
-          <div class="d-track-item-inner">
-            <div class="label">领料单号</div>
-            <div class="value">10</div>
-          </div>
-        </el-col>
-        <el-col :span="4">
-          <div class="d-track-item-inner">
-            <div class="label">领料单号</div>
-            <div class="value">10</div>
-          </div>
-        </el-col>
-        <el-col :span="4">
-          <div class="d-track-item-inner">
-            <div class="label">领料单号</div>
-            <div class="value">10</div>
-          </div>
-        </el-col>
-        <el-col :span="4">
-          <div class="d-track-item-inner">
-            <div class="label">领料单号</div>
-            <div class="value">10</div>
-          </div>
-        </el-col>
-        <el-col :span="4">
-          <div class="d-track-item-inner">
-            <div class="label">领料单号</div>
-            <div class="value">10</div>
-          </div>
-        </el-col>
-      </el-row>
-
-      <ele-pro-table
-        ref="table"
-        :columns="columns"
-        :toolbar="false"
-        :datasource="datasource"
-        :needPage="false"
-        cache-key="dTrackTable1"
-      >
-        <!-- 操作列 -->
-        <template v-slot:action="{ row }">
-          <el-link type="primary" :underline="false" @click="SendOrders(row)">
-            派单
-          </el-link>
-          <el-link
-            type="primary"
-            :underline="false"
-            icon="el-icon-view"
-            @click="btnView(row)"
-          >
-            查看详情
-          </el-link>
-        </template>
-      </ele-pro-table>
-    </div>
-    <div class="d-track-item" @click="dialogTableVisible = true">
-      <HeaderTitle title="工单交接记录" size="16px"></HeaderTitle>
-
-      <ele-pro-table
-        ref="table"
-        :columns="columns"
-        :toolbar="false"
-        :datasource="datasource"
-        :needPage="false"
-        cache-key="dTrackTable2"
-      >
-        <!-- 操作列 -->
-        <template v-slot:action="{ row }">
-          <el-link type="primary" :underline="false" @click="SendOrders(row)">
-            派单
-          </el-link>
-          <el-link
-            type="primary"
-            :underline="false"
-            icon="el-icon-view"
-            @click="btnView(row)"
-          >
-            查看详情
-          </el-link>
-        </template>
-      </ele-pro-table>
-    </div>
-    <div class="d-track-item">
-      <HeaderTitle title="退料记录" size="16px"></HeaderTitle>
-      <el-row style="margin-bottom: 20px; border: 2px solid #f2f2f2">
-        <el-col :span="4">
-          <div class="d-track-item-inner">
-            <div class="label">领料单号</div>
-            <div class="value">10</div>
-          </div>
-        </el-col>
-        <el-col :span="4">
-          <div class="d-track-item-inner">
-            <div class="label">领料单号</div>
-            <div class="value">10</div>
-          </div>
-        </el-col>
-        <el-col :span="4">
-          <div class="d-track-item-inner">
-            <div class="label">领料单号</div>
-            <div class="value">10</div>
-          </div>
-        </el-col>
-        <el-col :span="4">
-          <div class="d-track-item-inner">
-            <div class="label">领料单号</div>
-            <div class="value">10</div>
-          </div>
-        </el-col>
-        <el-col :span="4">
-          <div class="d-track-item-inner">
-            <div class="label">领料单号</div>
-            <div class="value">10</div>
-          </div>
-        </el-col>
-        <el-col :span="4">
-          <div class="d-track-item-inner">
-            <div class="label">领料单号</div>
-            <div class="value">10</div>
-          </div>
-        </el-col>
-      </el-row>
-      <ele-pro-table
-        ref="table"
-        :columns="columns"
-        :toolbar="false"
-        :datasource="datasource"
-        :needPage="false"
-        cache-key="dTrackTable3"
-      >
-        <!-- 表头工具栏 -->
-
-        <!-- 操作列 -->
-        <template v-slot:action="{ row }">
-          <el-link type="primary" :underline="false" @click="SendOrders(row)">
-            派单
-          </el-link>
-          <el-link
-            type="primary"
-            :underline="false"
-            icon="el-icon-view"
-            @click="btnView(row)"
-          >
-            查看详情
-          </el-link>
-        </template>
-      </ele-pro-table>
-    </div>
-    <dTable v-if="dialogTableVisible" :visible.sync="dialogTableVisible" />
-  </div>
-</template>
-
-<script>
-  import dTable from '@/views/mes/workOrder/detail/d-table';
-  export default {
-    components: {
-      dTable
-    },
-    data() {
-      return {
-        columns: [],
-        dialogTableVisible: false,
-        tabPosition: 'top'
-      };
-    },
-    methods: {
-      datasource() {
-        return {
-          list: []
-        };
-      }
-    }
-  };
-</script>
-
-<style lang="scss" scoped>
-  .el-form-item {
-    font-size: 12px !important;
-    margin-bottom: 10px;
-  }
-  .d-track-item {
-    margin-bottom: 30px;
-  }
-  .d-track-item-inner {
-    display: flex;
-    align-items: center;
-    .label {
-      padding: 5px 20px;
-      background-color: #f2f2f2;
-      color: #333;
-    }
-  }
-  .el-radio-button {
-  }
-</style>

+ 0 - 97
src/views/mes/workOrder/detail/index.vue

@@ -1,97 +0,0 @@
-<template>
-  <div class="ele-body">
-    <el-card shadow="never">
-      <div slot="header"><span>工单号</span>5555555555555555</div>
-      <el-form label-width="90px">
-        <el-row :gutter="15">
-          <el-col :span="4">
-            <el-form-item label="物料编码"> 1111 </el-form-item>
-          </el-col>
-          <el-col :span="5">
-            <el-form-item label="物料编码"> 1111 </el-form-item>
-          </el-col>
-          <el-col :span="5">
-            <el-form-item label="物料编码"> 1111 </el-form-item>
-          </el-col>
-          <el-col :span="5">
-            <el-form-item label="下单时间"> 1111 </el-form-item>
-          </el-col>
-          <el-col :span="5">
-            <el-form-item label="创建时间"> 1111 </el-form-item>
-          </el-col>
-        </el-row>
-      </el-form>
-      <el-tabs
-        v-model="activeTabName"
-        @tab-click="handleClick"
-        class="detail_tabs"
-      >
-        <el-tab-pane label="基本信息" name="basic">
-          <dBasic />
-        </el-tab-pane>
-        <el-tab-pane label="执行跟踪" name="track">
-          <dTrack />
-        </el-tab-pane>
-      </el-tabs>
-    </el-card>
-  </div>
-</template>
-
-<script>
-  import dBasic from '@/views/mes/workOrder/detail/d-basic';
-  import dTrack from '@/views/mes/workOrder/detail/d-track';
-  export default {
-    components: {
-      dBasic,
-      dTrack
-    },
-    data() {
-      return {
-        activeTabName: 'basic'
-      };
-    },
-
-    methods: {
-      handleClick() {
-        this.$nextTick(() => {
-          const dom = document.querySelector('.detail_tabs .el-tabs__content');
-          dom.scrollTop = 0;
-        });
-      }
-    }
-  };
-</script>
-
-<style lang="scss" scoped>
-  .ele-body {
-    .el-card__header {
-      span {
-        font-size: 16px;
-        font-weight: 700;
-        margin-right: 20px;
-      }
-    }
-
-    .el-tabs {
-      :deep(.el-tabs__nav-scroll) {
-        padding-left: 20px !important;
-        background-color: #f2f1f1;
-      }
-      :deep(.el-tabs__item) {
-        font-size: 16px;
-        color: #333;
-        font-weight: 700;
-      }
-      :deep(.el-tabs__content) {
-        height: calc(100vh - 320px);
-        overflow-y: auto;
-      }
-      // :deep(.el-tabs__item.is-active) {
-      //   background-color: #fff !important;
-      // }
-      // :deep(.el-tabs__active-bar) {
-      //   display: none;
-      // }
-    }
-  }
-</style>

+ 0 - 239
src/views/mes/workOrder/index.vue

@@ -1,239 +0,0 @@
-<template>
-  <div class="ele-body">
-    <el-card shadow="never">
-      <order-search @search="reload" />
-
-      <ele-pro-table
-        ref="table"
-        :columns="columns"
-        :datasource="datasource"
-        cache-key="systemRoleTable"
-      >
-        <!-- 表头工具栏 -->
-        <template v-slot:toolbar>
-          <el-button
-            icon="el-icon-refresh"
-            type="primary"
-            @click="btnView"
-            class="ele-btn-icon"
-            >获取最新工单
-          </el-button>
-        </template>
-
-        <!-- 操作列 -->
-        <template v-slot:action="{ row }">
-          <el-link type="primary" :underline="false" @click="SendOrders(row)">
-            派单
-          </el-link>
-          <el-link
-            type="primary"
-            :underline="false"
-            icon="el-icon-view"
-            @click="btnView(row)"
-          >
-            查看详情
-          </el-link>
-        </template>
-      </ele-pro-table>
-    </el-card>
-
-    <!-- 执行任务 -->
-    <SendOrders
-      v-if="dialogOrderView"
-      :visible.sync="dialogOrderView"
-    ></SendOrders>
-    <process-detail
-      v-if="dialogViewVisible"
-      :visible.sync="dialogViewVisible"
-      :processInstanceId="processInstanceId"
-    ></process-detail>
-  </div>
-</template>
-
-<script>
-  import {} from '@/api/mes';
-  import OrderSearch from './components/order-search.vue';
-  import { Message } from 'element-ui';
-  import SendOrders from './components/send-order.vue';
-
-  export default {
-    name: 'FlowableTaskTodo',
-    components: {
-      OrderSearch,
-      SendOrders
-    },
-    data() {
-      return {
-        columns: [
-          {
-            type: 'index',
-            label: '序号',
-            width: 50,
-            align: 'center',
-            fixed: 'left'
-          },
-
-          {
-            prop: 'processInstanceName',
-            label: '流程实例名称',
-            align: 'center',
-            width: 300,
-            showOverflowTooltip: true
-          },
-          {
-            prop: 'processInstanceName',
-            label: '流程实例名称',
-            align: 'center',
-            width: 300,
-            showOverflowTooltip: true
-          },
-          {
-            prop: 'processInstanceName',
-            label: '流程实例名称',
-            align: 'center',
-            showOverflowTooltip: true
-          },
-          {
-            prop: 'processInstanceName',
-            label: '流程实例名称',
-            align: 'center',
-            showOverflowTooltip: true
-          },
-          {
-            prop: 'processInstanceName',
-            label: '流程实例名称',
-            align: 'center',
-            showOverflowTooltip: true
-          },
-          {
-            prop: 'processInstanceName',
-            label: '流程实例名称',
-            align: 'center',
-            width: 300,
-            showOverflowTooltip: true
-          },
-          {
-            prop: 'processInstanceName',
-            label: '流程实例名称',
-            align: 'center',
-            width: 300,
-            showOverflowTooltip: true
-          },
-          {
-            prop: 'processInstanceName',
-            label: '流程实例名称',
-            align: 'center',
-            width: 300,
-            showOverflowTooltip: true
-          },
-
-          {
-            prop: 'name',
-            label: '任务名称',
-            align: 'center',
-            showOverflowTooltip: true
-          },
-          {
-            prop: 'createTime',
-            label: '创建时间',
-            align: 'center',
-            showOverflowTooltip: true
-          },
-
-          {
-            prop: 'dueDate',
-            label: '到期日期',
-            align: 'center',
-            showOverflowTooltip: true
-          },
-          {
-            prop: 'owner',
-            label: '所有人',
-            align: 'center',
-
-            showOverflowTooltip: true
-          },
-
-          {
-            prop: 'assignee',
-            label: '执行人',
-            align: 'center',
-            showOverflowTooltip: true
-          },
-          {
-            prop: 'assignee1',
-            label: '执行状态',
-            align: 'center',
-            showOverflowTooltip: true,
-            fixed: 'right'
-          },
-
-          {
-            columnKey: 'action',
-            label: '操作',
-            width: 230,
-            align: 'center',
-            resizable: false,
-            slot: 'action',
-            fixed: 'right',
-
-            showOverflowTooltip: true
-          }
-        ],
-
-        listQuery: {
-          taskName: undefined,
-          processInstanceBusinessKey: undefined,
-          taskDueAfter: undefined,
-          taskDueBefore: undefined
-        },
-        dialogOrderView: false,
-        formJson: undefined,
-        executeTaskId: '',
-        processInstanceId: '',
-        dialogViewVisible: false
-      };
-    },
-
-    methods: {
-      async datasource({ page, limit, where }) {
-        const res = await getAction('/flowable/task/listTodo', {
-          ...where,
-          current: page,
-          size: limit
-        });
-        const { data } = res.data;
-        return {
-          list: data.records,
-          count: data.total
-        };
-      },
-      reload(where) {
-        this.$refs.table.reload({ page: 1, where });
-      },
-
-      btnQuery() {
-        this.reload();
-      },
-      btnReset() {
-        this.listQuery = {
-          taskName: undefined,
-          processInstanceBusinessKey: undefined,
-          taskDueAfter: undefined,
-          taskDueBefore: undefined
-        };
-        this.reload();
-      },
-
-      SendOrders(row) {
-        // this.processInstanceId = row.id;
-        this.dialogOrderView = true;
-      },
-      btnView(row) {
-        this.$router.push({
-          path: '/mes/workOrder/detail'
-        });
-      }
-    }
-  };
-</script>

+ 151 - 0
src/views/produceWord/components/order-search.vue

@@ -0,0 +1,151 @@
+<!-- 搜索表单 -->
+<template>
+  <el-form
+    label-width="90px"
+    class="ele-form-search"
+    @keyup.enter.native="search"
+    @submit.native.prevent
+  >
+    <el-row :gutter="15">
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item label="生产工单号:">
+          <el-input clearable v-model="where.code" placeholder="请输入" />
+        </el-form-item>
+      </el-col>
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item label="计划编码:">
+          <el-input
+            clearable
+            v-model="where.productionPlanCode"
+            placeholder="请输入"
+          />
+        </el-form-item>
+      </el-col>
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item label="生产版本:">
+          <el-input
+            clearable
+            v-model="where.produceVersionName"
+            placeholder="请输入"
+          />
+        </el-form-item>
+      </el-col>
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item label="物料编码:">
+          <el-input
+            clearable
+            v-model="where.productCode"
+            placeholder="请输入"
+          />
+        </el-form-item>
+      </el-col>
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item label="产品名称:">
+          <el-input
+            clearable
+            v-model="where.productName"
+            placeholder="请输入"
+          />
+        </el-form-item>
+      </el-col>
+
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item label="牌号:">
+          <el-input clearable v-model="where.brandNo" placeholder="请输入" />
+        </el-form-item>
+      </el-col>
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item label="型号:">
+          <el-input clearable v-model="where.model" placeholder="请输入" />
+        </el-form-item>
+      </el-col>
+      <el-col v-bind="styleResponsive ? { lg: 9, md: 12 } : { span: 9 }">
+        <el-form-item label="创建时间:">
+          <el-date-picker
+            class="w100"
+            v-model="where.createTime"
+            type="daterange"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            value-format="yyyy-MM-dd HH:mm:ss"
+            :default-time="['00:00:00', '23:59:59']"
+          >
+          </el-date-picker>
+        </el-form-item>
+      </el-col>
+      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
+        <el-form-item label-width="0px">
+          <el-button
+            type="primary"
+            icon="el-icon-search"
+            class="ele-btn-icon"
+            @click="search"
+          >
+            查询
+          </el-button>
+          <el-button @click="reset" icon="el-icon-refresh-left" type="primary"
+            >重置</el-button
+          >
+        </el-form-item>
+      </el-col>
+    </el-row>
+  </el-form>
+</template>
+
+<script>
+  export default {
+    props: [  ],
+    data () {
+      // 默认表单数据
+      const defaultWhere = {
+        code: '',
+        productionPlanCode: '',
+        produceVersionName: '',
+        productCode: '',
+        productName: '',
+        brandNo: '',
+        model: '',
+        type: 'mes',
+        createTime: []
+      };
+      return {
+        // 表单数据
+        where: { ...defaultWhere },
+
+      };
+    },
+    computed: {
+      // 是否开启响应式布局
+      styleResponsive () {
+        return this.$store.state.theme.styleResponsive;
+      }
+    },
+    watch: { },
+    created () {},
+    methods: {
+      /* 搜索 */
+      search () {
+        const where = { ...this.where };
+        if (where.createTime?.length) {
+          where.createTimeStart = where.createTime[0];
+          where.createTimeEnd = where.createTime[1];
+        }
+        delete where.createTime;
+        this.$emit('search', where);
+      },
+      /*  重置 */
+      reset () {
+        this.where = { ...this.defaultWhere };
+        this.search();
+      }
+    }
+  };
+</script>
+<style lang="scss" scoped>
+  .ele-form-actions {
+    display: flex;
+    align-items: center;
+    justify-content: flex-end;
+  }
+</style>

+ 213 - 0
src/views/produceWord/index.vue

@@ -0,0 +1,213 @@
+<template>
+  <div class="ele-body">
+    <el-card shadow="never" v-loading="loading">
+      <order-search @search="reload" ref="searchRef"> </order-search>
+
+      <!-- 数据表格 -->
+      <ele-pro-table
+        ref="table"
+        :columns="columns"
+        :datasource="datasource"
+        cache-key="workOrderTable"
+      >
+        <template v-slot:code="{ row }">
+          <!-- <el-link type="primary" :underline="false" @click="goDetail(row)"> -->
+          {{ row.code }}
+          <!-- </el-link> -->
+        </template>
+        <template v-slot:status="{ row }">
+          <span :class="{ 'ele-text-danger': row.status == 3 }">
+            {{ statusFormatter(row.status) }}
+          </span>
+        </template>
+        <!-- 操作列 -->
+        <template v-slot:action="{ row }">
+          <el-link
+            type="primary"
+            :underline="false"
+            icon="el-icon-truck"
+            @click="toRelease(row)"
+            v-if="row.status == 8"
+          >
+            下达
+          </el-link>
+        </template>
+      </ele-pro-table>
+    </el-card>
+
+    <el-dialog :visible.sync="visible" title="选择班组" width="400px">
+      <el-select v-model="releasParams.teamId">
+        <el-option
+          v-for="item in teamList"
+          :value="item.id"
+          :key="item.id"
+          :label="item.name"
+        ></el-option>
+      </el-select>
+
+      <div class="footer" slot="footer">
+        <el-button @click="visible = false">取消</el-button>
+        <el-button type="primary" @click="confirm">确定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+  import { getList, releaseWorkOrder } from '@/api/produceWord/index.js';
+
+  import OrderSearch from './components/order-search.vue';
+  export default {
+    components: {
+      OrderSearch
+    },
+    data () {
+      return {
+        visible: false,
+        loading: false,
+        releasParams: {
+          teamId: '',
+          id: ''
+        },
+        teamList: [],
+
+        statusOpt: [
+          { label: '待生产', value: 4 },
+          { label: '生产中', value: 5 },
+          { label: '待下达', value: 8 }
+        ]
+      };
+    },
+    computed: {
+      // 表格列配置
+      columns () {
+        return [
+          {
+            columnKey: 'index',
+            label: '序号',
+            type: 'index',
+            width: 55,
+            align: 'center',
+            showOverflowTooltip: true,
+            fixed: 'left'
+          },
+          {
+            slot: 'code',
+            label: '生产工单号',
+            align: 'center',
+            minWidth: 110
+          },
+          {
+            prop: 'productionPlanCode',
+            label: '计划编号',
+            align: 'center'
+          },
+          {
+            prop: 'produceVersionName',
+            label: '生产版本',
+            align: 'center'
+          },
+          {
+            prop: 'productCode',
+            label: '物料编号',
+            align: 'center'
+          },
+          {
+            prop: 'productName',
+            label: '产品名称',
+            align: 'center'
+          },
+          {
+            prop: 'brandNo',
+            label: '牌号',
+            align: 'center'
+          },
+          {
+            prop: 'model',
+            label: '型号',
+            align: 'center'
+          },
+          {
+            prop: 'formingNum',
+            label: '要求成型数量',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: 'formingWeight',
+            label: '要求成型重量',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: 'planStartTime',
+            label: '计划开始时间',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: 'createTime',
+            label: '创建时间',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            slot: 'status',
+            label: '状态',
+            align: 'center',
+            formatter: (row) => {
+              const obj = this.statusOpt.find((i) => i.value == row.status);
+              return obj && obj.label;
+            }
+          },
+          {
+            columnKey: 'action',
+            label: '操作',
+            width: 90,
+            align: 'center',
+            resizable: false,
+            fixed: 'right',
+            slot: 'action',
+            showOverflowTooltip: true
+          }
+        ];
+      }
+    },
+    created () {
+
+    },
+    methods: {
+      statusFormatter (status) {
+        const obj = this.statusOpt.find((i) => i.value == status);
+        return obj && obj.label;
+      },
+      /* 表格数据源 */
+      datasource ({ page, limit, where }) {
+        if (where.status) {
+          where.statusList = [];
+          where.statusList.push(where.status);
+        }
+        return getList({
+          pageNum: page,
+          size: limit,
+          ...where
+        });
+      },
+
+
+
+      /* 刷新表格 */
+      reload (where) {
+        this.$nextTick(() => {
+          this.$refs.table.reload({ page: 1, where });
+        });
+      }
+    }
+  };
+</script>
+
+<style lang="scss" scoped></style>