From 77fe33ce3227c630f0f646e992e60916fd54dd34 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期六, 16 八月 2025 09:32:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/mes/modules/MesProductionWorkOrderCompletenessCheckModal.vue |  157 ++++++++++++++
 src/views/system/modules/SysBusinessCodeRuleModal.vue                  |    2 
 src/views/mes/MesProductionWorkOrderListView.vue                       |   69 ++++--
 src/views/cms/modules/CuttingToolModal.vue                             |    9 
 src/views/cms/CuttingToolList.vue                                      |  359 ++++++++++++++++----------------
 src/views/cms/ToolStocktakingList.vue                                  |    6 
 src/views/mes/modules/MesProductionWorkOrderReportModal.vue            |   13 
 7 files changed, 399 insertions(+), 216 deletions(-)

diff --git a/src/views/cms/CuttingToolList.vue b/src/views/cms/CuttingToolList.vue
index 1746e41..38825cc 100644
--- a/src/views/cms/CuttingToolList.vue
+++ b/src/views/cms/CuttingToolList.vue
@@ -10,38 +10,23 @@
             </a-form-item>
           </a-col>
           <a-col :md="6" :sm="8">
-              <a-form-item label="鍒�鍏峰悕绉�">
-                <a-input placeholder="璇疯緭鍏ュ垁鍏峰悕绉�" v-model="queryParam.cuttingName" />
-              </a-form-item>
-            </a-col>
+            <a-form-item label="鍒�鍏峰悕绉�">
+              <a-input placeholder="璇疯緭鍏ュ垁鍏峰悕绉�" v-model="queryParam.cuttingName" />
+            </a-form-item>
+          </a-col>
           <a-col :md="6" :sm="8">
-              <a-form-item label="鍒�鍏峰垎绫�">
-                <j-search-select-tag
-                  placeholder="璇烽�夋嫨鍒�鍏峰垎绫�"
-                  v-model="queryParam.cuttingCategory"
-                  dict="cutting_category"
-                />
-              </a-form-item>
-            </a-col>
-            <a-col
-            :md="6"
-            :sm="8"
-          >
-            <span
-              style="float: left;overflow: hidden;"
-              class="table-page-search-submitButtons"
-            >
-              <a-button
-                type="primary"
-                @click="searchQuery"
-                icon="search"
-              >鏌ヨ</a-button>
-              <a-button
-                type="primary"
-                @click="searchReset"
-                icon="reload"
-                style="margin-left: 8px"
-              >閲嶇疆</a-button>
+            <a-form-item label="鍒�鍏峰垎绫�">
+              <j-search-select-tag
+                placeholder="璇烽�夋嫨鍒�鍏峰垎绫�"
+                v-model="queryParam.cuttingCategory"
+                dict="cutting_category"
+              />
+            </a-form-item>
+          </a-col>
+          <a-col :md="6" :sm="8">
+            <span style="float: left; overflow: hidden;" class="table-page-search-submitButtons">
+              <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
+              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
             </span>
           </a-col>
         </a-row>
@@ -52,9 +37,14 @@
     <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
     <div class="table-operator">
       <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
-      <!-- 瀵煎叆銆佸鍑哄姛鑳� -->
       <a-button type="primary" icon="download" @click="handleExportXls('鍒�鍏蜂俊鎭�')">瀵煎嚭</a-button>
-      <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
+      <a-upload
+        name="file"
+        :showUploadList="false"
+        :multiple="false"
+        :headers="tokenHeader"
+        :action="importExcelUrl"
+        @change="handleImportExcel">
         <a-button type="primary" icon="import">瀵煎叆</a-button>
       </a-upload>
     </div>
@@ -62,7 +52,8 @@
     <!-- table鍖哄煙-begin -->
     <div>
       <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-        <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
+        <i class="anticon anticon-info-circle ant-alert-icon"></i>
+        宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
         <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
       </div>
 
@@ -71,12 +62,12 @@
         size="middle"
         :scroll="{x:true}"
         bordered
-        rowKey="id"
+        :rowKey="record => record.id"
         :columns="columns"
         :dataSource="dataSource"
         :pagination="ipagination"
         :loading="loading"
-        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange,type:'radio'}"
+        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'radio'}"
         class="j-table-force-nowrap"
         :customRow="customRow"
         @change="handleTableChange">
@@ -84,10 +75,19 @@
         <template slot="htmlSlot" slot-scope="text">
           <div v-html="text"></div>
         </template>
+
         <template slot="imgSlot" slot-scope="text,record">
           <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span>
-          <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
+          <img
+            v-else
+            :src="getImgView(text)"
+            :preview="record.id"
+            height="25px"
+            alt=""
+            style="max-width:80px;font-size: 12px;font-style: italic;"
+          />
         </template>
+
         <template slot="fileSlot" slot-scope="text">
           <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span>
           <a-button
@@ -103,7 +103,6 @@
 
         <span slot="action" slot-scope="text, record">
           <a @click="handleEdit(record)">缂栬緫</a>
-
           <a-divider type="vertical" />
           <a-dropdown>
             <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a>
@@ -119,165 +118,162 @@
             </a-menu>
           </a-dropdown>
         </span>
-
       </a-table>
     </div>
+
     <a-tabs defaultActiveKey="1">
       <a-tab-pane tab="鎵╁睍灞炴��" key="1">
         <cutting-properties-list ref="cuttingPropertiesList"></cutting-properties-list>
       </a-tab-pane>
-      <!-- <a-tab-pane tab="棰濆畾瀵垮懡" key="2">
-        <rated-life-list ref="ratedLifeList"></rated-life-list>
-      </a-tab-pane> -->
     </a-tabs>
     <!-- table鍖哄煙-end -->
-    <cutting-tool-modal ref="modalForm" @ok="modalFormOk"></cutting-tool-modal>
+
+    <cutting-tool-modal ref="modalForm" @ok="handleOk"></cutting-tool-modal>
   </a-card>
 </template>
 
 <script>
+import '@/assets/less/TableExpand.less'
+import { mixinDevice } from '@/utils/mixin'
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import CuttingToolModal from './modules/CuttingToolModal'
+import CuttingPropertiesList from './CuttingPropertiesList'
+import JDictSelectTag from '@/components/dict/JDictSelectTag'
+import JSearchSelectTag from '@/components/dict/JSearchSelectTag'
 
-  import '@/assets/less/TableExpand.less'
-  import { mixinDevice } from '@/utils/mixin'
-  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-  import CuttingToolModal from './modules/CuttingToolModal'
-  import CuttingPropertiesList from './CuttingPropertiesList'
-  import JDictSelectTag from '@/components/dict/JDictSelectTag'
-  import JSearchSelectTag from '@/components/dict/JSearchSelectTag'
-
-  export default {
-    name: 'CuttingToolList',
-    mixins:[JeecgListMixin, mixinDevice],
-    components: {
-      CuttingToolModal,CuttingPropertiesList, JDictSelectTag,
+export default {
+  name: 'CuttingToolList',
+  mixins: [JeecgListMixin, mixinDevice],
+  components: {
+    CuttingToolModal,
+    CuttingPropertiesList,
+    JDictSelectTag,
     JSearchSelectTag
-    },
-    data () {
-      return {
-        description: '鍒�鍏蜂俊鎭鐞嗛〉闈�',
-        // 琛ㄥご
-        columns: [
-          {
-            title: '#',
-            dataIndex: '',
-            key:'rowIndex',
-            width:60,
-            align:"center",
-            customRender:function (t,r,index) {
-              return parseInt(index)+1;
-            }
-          },
-          {
-            title:'鍒�鍏风紪鐮�',
-            align:"center",
-            dataIndex: 'cuttingCode'
-          },
-          {
-            title:'鍒�鍏峰悕绉�',
-            align:"center",
-            dataIndex: 'cuttingName'
-          },
-          {
-            title:'鍒�鍏峰垎绫�',
-            align:"center",
-            dataIndex: 'cuttingCategory'
-          },
-          {
-            title:'瀛樻斁浣嶇疆',
-            align:"center",
-            dataIndex: 'storeLocation'
-          },
-          {
-            title:'渚涘簲鍟�',
-            align:"center",
-            dataIndex: 'supplierId'
-          },
-          {
-            title:'鏈�灏忓寘瑁呭崟浣�',
-            align:"center",
-            dataIndex: 'minimumPackageUnit'
-          },
-          {
-            title:'鍒�鍏锋潗璐�',
-            align:"center",
-            dataIndex: 'cuttingMaterial'
-          },
-          {
-            title:'鍨嬪彿',
-            align:"center",
-            dataIndex: 'cuttingModel'
-          },
-          {
-            title:'鍥惧彿',
-            align:"center",
-            dataIndex: 'drawingNumber'
-          },
-          {
-            title:'搴撳瓨棰勮鍊�',
-            align:"center",
-            dataIndex: 'inventoryWarning'
-          },
-          {
-            title:'澶囨敞',
-            align:"center",
-            dataIndex: 'remark'
-          },
-          {
-            title: '鎿嶄綔',
-            dataIndex: 'action',
-            align:"center",
-            fixed:"right",
-            width:147,
-            scopedSlots: { customRender: 'action' }
-          }
-        ],
-        url: {
-          list: "/cms/cuttingTool/getCuttingToolList",
-          delete: "/cms/cuttingTool/delete",
-          deleteBatch: "/cms/cuttingTool/deleteBatch",
-          exportXlsUrl: "/cms/cuttingTool/exportXls",
-          importExcelUrl: "cms/cuttingTool/importExcel",
-          
+  },
+  data() {
+    return {
+      description: '鍒�鍏蜂俊鎭鐞嗛〉闈�',
+      columns: [
+        {
+          title: '#',
+          dataIndex: '',
+          key: 'rowIndex',
+          width: 60,
+          align: "center",
+          customRender: (t, r, index) => parseInt(index) + 1
         },
-        dictOptions:{},
-        superFieldList:[],
-      }
-    },
-    created() {
-      this.getSuperFieldList();
-    },
-    computed: {
-      importExcelUrl: function(){
-        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
+        {
+          title: '鍒�鍏风紪鐮�',
+          align: "center",
+          dataIndex: 'cuttingCode'
+        },
+        {
+          title: '鍒�鍏峰悕绉�',
+          align: "center",
+          dataIndex: 'cuttingName'
+        },
+        {
+          title: '鍒�鍏峰垎绫�',
+          align: "center",
+          dataIndex: 'cuttingCategory'
+        },
+        {
+          title: '瀛樻斁浣嶇疆',
+          align: "center",
+          dataIndex: 'storeLocation'
+        },
+        {
+          title: '渚涘簲鍟�',
+          align: "center",
+          dataIndex: 'supplierId'
+        },
+        {
+          title: '鏈�灏忓寘瑁呭崟浣�',
+          align: "center",
+          dataIndex: 'minimumPackageUnit'
+        },
+        {
+          title: '鍒�鍏锋潗璐�',
+          align: "center",
+          dataIndex: 'cuttingMaterial'
+        },
+        {
+          title: '鍨嬪彿',
+          align: "center",
+          dataIndex: 'cuttingModel'
+        },
+        {
+          title: '鍥惧彿',
+          align: "center",
+          dataIndex: 'drawingNumber'
+        },
+        {
+          title: '搴撳瓨棰勮鍊�',
+          align: "center",
+          dataIndex: 'inventoryWarning'
+        },
+        {
+          title: '澶囨敞',
+          align: "center",
+          dataIndex: 'remark'
+        },
+        {
+          title: '鎿嶄綔',
+          dataIndex: 'action',
+          align: "center",
+          fixed: "right",
+          width: 147,
+          scopedSlots: { customRender: 'action' }
+        }
+      ],
+      url: {
+        list: "/cms/cuttingTool/getCuttingToolList",
+        delete: "/cms/cuttingTool/delete",
+        deleteBatch: "/cms/cuttingTool/deleteBatch",
+        exportXlsUrl: "/cms/cuttingTool/exportXls",
+        importExcelUrl: "cms/cuttingTool/importExcel"
       },
-    },
-    methods: {
-      customRow(record) {
-        return {
+      dictOptions: {},
+      superFieldList: []
+    }
+  },
+  computed: {
+    importExcelUrl() {
+      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
+    }
+  },
+  created() {
+    this.getSuperFieldList();
+  },
+  methods: {
+    customRow(record) {
+      return {
         on: {
-          click: e => {
-            this.onSelectChange(record.id.split(","), [record]);
+          click: () => {
+            this.onSelectChange([record.id], [record]);
           }
         }
       };
-      },
-      onSelectChange(selectedRowKeys) {
-      this.selectedRowKeys = selectedRowKeys;
-      this.$refs.cuttingPropertiesList.getCuttingProperties(selectedRowKeys[0]);
     },
-    handleEdit: function (record) {
-        this.$refs.modalForm.edit(record)
-        this.$refs.modalForm.title = '缂栬緫'
-        this.$refs.modalForm.disableSubmit = false
+    onSelectChange(selectedRowKeys) {
+      this.selectedRowKeys = selectedRowKeys;
+      if (selectedRowKeys.length > 0) {
+        this.$refs.cuttingPropertiesList.getCuttingProperties(selectedRowKeys[0]);
+      }
+    },
+    handleEdit(record) {
+      this.$refs.modalForm.edit(record);
+      this.$refs.modalForm.title = '缂栬緫';
+      this.$refs.modalForm.disableSubmit = false;
     },
     handleAdd() {
-      this.$refs.modalForm.add()
-      this.$refs.modalForm.title = '鏂板'
-      this.$refs.modalForm.disableSubmit = false
+      this.$refs.modalForm.add();
+      this.$refs.modalForm.title = '鏂板';
+      this.$refs.modalForm.disableSubmit = false;
     },
-    handleDetail:function(record){
+    handleDetail(record) {
       this.$refs.modalForm.edit(record);
-      this.$refs.modalForm.title="璇︽儏";
+      this.$refs.modalForm.title = "璇︽儏";
       this.$refs.modalForm.disableSubmit = true;
     },
     searchQuery() {
@@ -288,15 +284,24 @@
       this.loadData();
     },
     searchReset() {
-      this.queryParam.cuttingCode = '';
-      this.queryParam.cuttingName = '';
-      this.queryParam.cuttingCategory = '';
+      this.queryParam = {
+        cuttingCode: '',
+        cuttingName: '',
+        cuttingCategory: ''
+      };
       this.$refs.cuttingPropertiesList.getCuttingProperties("-1");
       this.loadData();
     },
-    }
+    handleOk() {
+      // 鏂板/淇敼 鎴愬姛鏃讹紝閲嶈浇鍒楄〃
+      this.loadData();
+      //娓呯┖鍒楄〃閫変腑
+      this.onClearSelected()
+    },
   }
+}
 </script>
+
 <style scoped>
-  @import '~@assets/less/common.less';
+@import '~@assets/less/common.less';
 </style>
\ No newline at end of file
diff --git a/src/views/cms/ToolStocktakingList.vue b/src/views/cms/ToolStocktakingList.vue
index db72ad1..c8bb8c0 100644
--- a/src/views/cms/ToolStocktakingList.vue
+++ b/src/views/cms/ToolStocktakingList.vue
@@ -232,9 +232,9 @@
       initDictConfig(){
       },
       handleAdd(){
-      this.$refs.modalForm.add()
-      this.$refs.modalForm.title = '鏂板'
-      this.$refs.modalForm.disableSubmit = false      
+        this.$refs.modalForm.add()
+        this.$refs.modalForm.title = '鏂板'
+        this.$refs.modalForm.disableSubmit = false      
       },
       getSuperFieldList(){
         let fieldList=[];
diff --git a/src/views/cms/modules/CuttingToolModal.vue b/src/views/cms/modules/CuttingToolModal.vue
index b6cc324..dcec493 100644
--- a/src/views/cms/modules/CuttingToolModal.vue
+++ b/src/views/cms/modules/CuttingToolModal.vue
@@ -98,8 +98,8 @@
                 slot-scope='text, record, index'
               >
                 <div :key="col.dataIndex">
-                  
-          
+
+
 
                   <a-input
                     :value="text"
@@ -329,7 +329,7 @@
       }
       this.$nextTick(() => {
         this.form.setFieldsValue(
-          pick(this.model, 'cuttingCode', 'cuttingName', 'cuttingCategory', 'storeLocation','cuttingModel', 'supplierId', 'minimumPackageUnit', 
+          pick(this.model, 'cuttingCode', 'cuttingName', 'cuttingCategory', 'storeLocation','cuttingModel', 'supplierId', 'minimumPackageUnit',
           'cuttingMaterial','drawingNumber','inventoryWarning','remark')
         )
       })
@@ -354,6 +354,7 @@
         this.deletePropertiesIds.push(record.id);
       }
     },
+
     handleOk() {
       const that = this
       let dataSource = that.dataSource;
@@ -388,7 +389,7 @@
     handleCancel() {
       this.close()
     },
-  
+
     //娣诲姞鎵╁睍灞炴��
     addPropertiesList() {
       const temp = [...(this.dataSource || [])]
diff --git a/src/views/mes/MesProductionWorkOrderListView.vue b/src/views/mes/MesProductionWorkOrderListView.vue
index e7fd391..6b524e3 100644
--- a/src/views/mes/MesProductionWorkOrderListView.vue
+++ b/src/views/mes/MesProductionWorkOrderListView.vue
@@ -82,41 +82,54 @@
           </template>
 
           <span slot="action" slot-scope="text, record">
-            <a @click="handleDetail(record)">璇︽儏</a>
-          <span v-if="record.workOrderStatus === 'PUBLISHED' || record.workOrderStatus === 'EXECUTING'">
-            <a-divider type="vertical" />
-            <a @click="handleRePublish(record)">閲嶅彂甯�</a>
-          </span>
-            <span v-if="record.workOrderStatus === 'PUBLISHED'">
-            <a-divider type="vertical" />
-            <a-popconfirm title="纭畾寮�濮嬫墽琛屽悧?" @confirm="() => handleExecute(record.id)">
-                <a>鎵ц</a>
-            </a-popconfirm>
-          </span>
-          <span v-if="record.workOrderStatus === 'EXECUTING'">
-            <a-divider type="vertical" />
-            <a @click="handleWorkReport(record)">鎶ュ伐</a>
-          </span>
-          <span v-if="record.workOrderStatus === 'NEW'">
-            <a-divider type="vertical" />
-            <a-popconfirm title="纭畾鍙戝竷鍚�?" @confirm="() => handlePublish(record.id)">
-                <a>鍙戝竷</a>
-            </a-popconfirm>
-            <a-divider type="vertical" />
+            <span v-if="record.workOrderStatus === 'NEW'">
+              <a-popconfirm title="纭畾鍙戝竷鍚�?" @confirm="() => handlePublish(record.id)">
+                  <a>鍙戝竷</a>
+              </a-popconfirm>
+            </span>
+            <span v-if="record.workOrderStatus === 'PUBLISHED' || record.workOrderStatus === 'EXECUTING'">
+              <a-divider type="vertical" />
+              <a @click="handleRePublish(record)">閲嶅彂甯�</a>
+            </span>
+            <span v-if="record.workOrderStatus === 'PUBLISHED' && record.completenessCheckFlag === '0'">
+              <a-divider type="vertical" />
+              <a @click="handleCompletenessCheck(record)">榻愬鎬ф鏌�</a>
+            </span>
+            <span v-if="record.workOrderStatus === 'PUBLISHED' && record.equipmentInspectionFlag === '0'">
+              <a-divider type="vertical" />
+              <a @click="handleCompletenessCheck(record)">璁惧鐐规</a>
+            </span>
+            <span v-if="record.workOrderStatus === 'PUBLISHED' && record.processInspectionFlag === '0'">
+              <a-divider type="vertical" />
+              <a @click="handleCompletenessCheck(record)">宸ヨ壓鐐规</a>
+            </span>
+            <span v-if="record.workOrderStatus === 'PUBLISHED' && record.completenessCheckFlag === '1' && record.equipmentInspectionFlag === '1' && record.processInspectionFlag === '1'">
+              <a-divider type="vertical" />
+              <a-popconfirm title="纭畾寮�濮嬫墽琛屽悧?" @confirm="() => handleExecute(record.id)">
+                  <a>鎵ц</a>
+              </a-popconfirm>
+            </span>
+            <span v-if="record.workOrderStatus === 'EXECUTING'">
+              <a-divider type="vertical" />
+              <a @click="handleWorkReport(record)">鎶ュ伐</a>
+            </span>
+          <a-divider type="vertical" />
           <a-dropdown>
             <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a>
             <a-menu slot="overlay">
               <a-menu-item>
+                <a @click="handleDetail(record)">璇︽儏</a>
+              </a-menu-item>
+              <a-menu-item v-if="record.workOrderStatus === 'NEW'">
                 <a @click="handleEdit(record)">缂栬緫</a>
               </a-menu-item>
-              <a-menu-item>
+              <a-menu-item v-if="record.workOrderStatus === 'NEW'">
                 <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
-                  <a>鍒犻櫎</a>
+                <a>鍒犻櫎</a>
                 </a-popconfirm>
               </a-menu-item>
             </a-menu>
           </a-dropdown>
-          </span>
 
         </span>
         </a-table>
@@ -203,9 +216,10 @@
     <mes-production-order-modal ref="MesProductionOrderModal"></mes-production-order-modal>
     <MesMaterialUnloadingList ref="MesMaterialUnloadingList"></MesMaterialUnloadingList>
     <MesMaterialTransferDetailList ref="MesMaterialTransferDetailList"></MesMaterialTransferDetailList>
-    <MesProductionWorkOrderScheduleModal ref="MesProductionWorkOrderScheduleModal"></MesProductionWorkOrderScheduleModal>
+    <MesProductionWorkOrderScheduleModal ref="MesProductionWorkOrderScheduleModal" @ok="modalFormOk"></MesProductionWorkOrderScheduleModal>
     <MesProductionWorkOrderRepublishModal ref="MesProductionWorkOrderRepublishModal" @ok="modalFormOk"></MesProductionWorkOrderRepublishModal>
     <MesProductionWorkOrderReportModal ref="MesProductionWorkOrderReportModal" @ok="modalFormOk"></MesProductionWorkOrderReportModal>
+    <MesProductionWorkOrderCompletenessCheckModal ref="MesProductionWorkOrderCompletenessCheckModal" @ok="modalFormOk"></MesProductionWorkOrderCompletenessCheckModal>
   </a-card>
 </template>
 
@@ -225,6 +239,7 @@
 import MesProductionWorkOrderScheduleModal from '@views/mes/modules/MesProductionWorkOrderScheduleModal.vue'
 import MesProductionWorkOrderRepublishModal from '@views/mes/modules/MesProductionWorkOrderRepublishModal.vue'
 import MesProductionWorkOrderReportModal from '@views/mes/modules/MesProductionWorkOrderReportModal.vue'
+import MesProductionWorkOrderCompletenessCheckModal from '@views/mes/modules/MesProductionWorkOrderCompletenessCheckModal.vue'
 
 export default {
   name: 'MesProductionWorkOrderList',
@@ -237,6 +252,7 @@
     MesProductionWorkOrderScheduleModal,
     MesProductionWorkOrderRepublishModal,
     MesProductionWorkOrderReportModal,
+    MesProductionWorkOrderCompletenessCheckModal
   },
   data() {
     return {
@@ -732,6 +748,9 @@
     handleWorkReport(record) {
       this.$refs.MesProductionWorkOrderReportModal.add(record)
     },
+    handleCompletenessCheck(record) {
+      this.$refs.MesProductionWorkOrderCompletenessCheckModal.check(record)
+    },
     async handleTransferDetail(row){
       console.log('row---->',row)
       const transferDetailResult = await getAction(this.url.queryTransferDetailBy,{'requestId':row.id})
diff --git a/src/views/mes/modules/MesProductionWorkOrderCompletenessCheckModal.vue b/src/views/mes/modules/MesProductionWorkOrderCompletenessCheckModal.vue
new file mode 100644
index 0000000..6cb752a
--- /dev/null
+++ b/src/views/mes/modules/MesProductionWorkOrderCompletenessCheckModal.vue
@@ -0,0 +1,157 @@
+<template>
+  <j-modal
+    :title="title"
+    :width="width"
+    :visible="visible"
+    switchFullscreen
+    @ok="handleOk"
+    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
+    @cancel="handleCancel"
+    cancelText="鍏抽棴">
+
+    <a-table
+      ref="table"
+      size="middle"
+      :scroll="{x:true}"
+      bordered
+      rowKey=""
+      :columns="columns"
+      :dataSource="dataSource"
+      :pagination="false"
+      :loading="loading"
+      class="j-table-force-nowrap">
+
+      <template slot="checkFlag" slot-scope="text, record">
+        <span v-if="text === '0'" style="color: red">鍚�</span>
+        <span v-if="text === '1'" style="color: green">鏄�</span>
+      </template>
+    </a-table>
+  </j-modal>
+</template>
+
+<script>
+import { postAction, getAction } from '@api/manage'
+
+export default {
+  name: 'MesProductionWorkOrderReportModal',
+  data () {
+    return {
+      title: '榻愬鎬ф鏌�',
+      width: 800,
+      visible: false,
+      loading: false,
+      disableSubmit: false,
+      model: {},
+      validatorRules: {
+      },
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 6 },
+      },
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 18 },
+      },
+      dataSource: [],
+      columns: [
+        {
+          title: '#',
+          dataIndex: '',
+          key:'rowIndex',
+          width:60,
+          align:"center",
+          customRender:function (t,r,index) {
+            return parseInt(index)+1;
+          }
+        },
+        {
+          title:'鐗╂枡缂栧彿',
+          align:"center",
+          dataIndex: 'materialNumber'
+        },
+        {
+          title:'鐗╂枡鍚嶇О',
+          align:"center",
+          dataIndex: 'materialName'
+        },
+        {
+          title:'闇�姹傛暟閲�',
+          align:"center",
+          dataIndex: 'requiredQuantity'
+        },
+        {
+          title:'瀹為檯鏁伴噺',
+          align:"center",
+          dataIndex: 'actualQuantity'
+        },
+        {
+          title:'鍩烘湰鍗曚綅',
+          align:"center",
+          dataIndex: 'productionUnit'
+        },
+        {
+          title:'鏄惁榻愬',
+          align:"center",
+          dataIndex: 'checkFlag',
+          scopedSlots: { customRender: 'checkFlag' }
+        },
+        // {
+        //   title: '鎿嶄綔',
+        //   dataIndex: 'action',
+        //   align:"center",
+        //   fixed:"right",
+        //   width:147,
+        //   scopedSlots: { customRender: 'action' }
+        // }
+      ],
+      url: {
+        report: '/mesworkreporting/mesWorkReporting/add',
+        selectReportWorkOrderList: '/mes/productionOrder/selectReportWorkOrderList',
+        workOrderCompletenessCheck: '/mesproductionworkorder/mesProductionWorkOrder/workOrderCompletenessCheck',
+        add: '/meskittingcompletenesscheck/mesKittingCompletenessCheck/addBatch'
+      },
+      workOrderOptions: []
+    }
+  },
+  computed: {
+    formDisabled(){
+      return this.disabled
+    },
+  },
+  methods: {
+    check (record) {
+      this.loading = true
+      getAction(this.url.workOrderCompletenessCheck, {id: record.id}).then(res => {
+        if (res.success) {
+          res.result.map(item => item.workOrderId = record.id)
+          this.dataSource = res.result
+        }
+      }).finally(() => {
+        this.loading = false
+      })
+      this.visible = true
+    },
+    close () {
+      this.$emit('close');
+      this.visible = false;
+    },
+    handleOk () {
+      postAction(this.url.add, this.dataSource).then(res => {
+        if (res.success) {
+          this.$message.success('妫�鏌ョ粨鏋滃凡淇濆瓨')
+          this.submitCallback()
+        } else {
+          this.$message.warning(res.message)
+        }
+      })
+    },
+    submitCallback(){
+      this.$emit('ok');
+      this.visible = false;
+    },
+    handleCancel () {
+      this.close()
+    }
+  }
+}
+</script>
diff --git a/src/views/mes/modules/MesProductionWorkOrderReportModal.vue b/src/views/mes/modules/MesProductionWorkOrderReportModal.vue
index ccd82fc..a26ef11 100644
--- a/src/views/mes/modules/MesProductionWorkOrderReportModal.vue
+++ b/src/views/mes/modules/MesProductionWorkOrderReportModal.vue
@@ -61,7 +61,7 @@
 import { postAction, getAction } from '@api/manage'
 
 export default {
-  name: 'MesProductionWorkOrderRepublishModal',
+  name: 'MesProductionWorkOrderReportModal',
   data () {
     return {
       title: '鎶ュ伐',
@@ -81,7 +81,7 @@
         sm: { span: 18 },
       },
       url: {
-        republish: '/mesproductionworkorder/mesProductionWorkOrder/republish',
+        report: '/mesworkreporting/mesWorkReporting/add',
         selectReportWorkOrderList: '/mes/productionOrder/selectReportWorkOrderList'
       },
       workOrderOptions: []
@@ -114,11 +114,12 @@
         if (valid) {
           this.confirmLoading = true
           let formData = {
-            id: this.model.id,
-            planQuantity: this.model.planQuantity,
-            republishReason: this.model.republishReason
+            orderId: this.model.orderId,
+            workOrderId: this.model.id,
+            factoryId: this.model.factoryId,
+            quantity: this.model.quantity
           }
-          postAction(this.url.republish, formData).then(res => {
+          postAction(this.url.report, formData).then(res => {
             if (res.success) {
               this.$message.success(res.message)
               this.submitCallback()
diff --git a/src/views/system/modules/SysBusinessCodeRuleModal.vue b/src/views/system/modules/SysBusinessCodeRuleModal.vue
index af61492..be4056e 100644
--- a/src/views/system/modules/SysBusinessCodeRuleModal.vue
+++ b/src/views/system/modules/SysBusinessCodeRuleModal.vue
@@ -81,7 +81,7 @@
   methods: {
     add() {
       this.model = {};
-      this.model.seqLength = 4;
+      // this.model.seqLength = 4;
       this.editable = false;
       this.visible = true
     },

--
Gitblit v1.9.3