From f849afc378a7a33db97b90041d8df6f1b9cc6114 Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期一, 15 九月 2025 15:37:30 +0800
Subject: [PATCH] 设备/工艺点检表单增加批量正常选择

---
 src/views/mes/modules/MesProductionWorkOrderCompletenessCheckModal.vue   |    2 +
 src/views/mes/modules/MesProductionWorkOrderEquipmentInspectionModal.vue |   27 +++++++++++++
 src/views/mes/modules/MesProductionWorkOrderProcessCheckModal.vue        |   37 +++++++++++++++---
 3 files changed, 59 insertions(+), 7 deletions(-)

diff --git a/src/views/mes/modules/MesProductionWorkOrderCompletenessCheckModal.vue b/src/views/mes/modules/MesProductionWorkOrderCompletenessCheckModal.vue
index e9aeb99..1430d02 100644
--- a/src/views/mes/modules/MesProductionWorkOrderCompletenessCheckModal.vue
+++ b/src/views/mes/modules/MesProductionWorkOrderCompletenessCheckModal.vue
@@ -147,9 +147,11 @@
     },
     submitCallback(){
       this.$emit('ok');
+      this.dataSource = []
       this.visible = false;
     },
     handleCancel () {
+      this.dataSource = []
       this.close()
     }
   }
diff --git a/src/views/mes/modules/MesProductionWorkOrderEquipmentInspectionModal.vue b/src/views/mes/modules/MesProductionWorkOrderEquipmentInspectionModal.vue
index 2211b9e..7d2d55e 100644
--- a/src/views/mes/modules/MesProductionWorkOrderEquipmentInspectionModal.vue
+++ b/src/views/mes/modules/MesProductionWorkOrderEquipmentInspectionModal.vue
@@ -40,6 +40,11 @@
             </a-form-model-item>
           </a-col>
         </a-row>
+        <a-row :gutter="24" v-if="selectedCount > 1" style="margin-bottom: 10px;">
+          <a-col :span="24">
+            <a-button type="primary" @click="batchSetNormal">鎵归噺鐐规姝e父</a-button>
+          </a-col>
+        </a-row>
         <a-row :gutter="24">
           <vxe-table
             ref="table"
@@ -50,7 +55,11 @@
             :data="dataSource"
             :edit-config="{trigger: 'click', mode: 'cell'}"
             :edit-rules="editRules"
+            :checkbox-config="{trigger: 'cell', highlight: true}"
+            @checkbox-change="onSelectChange"
+            @checkbox-all="onSelectChange"
           >
+            <vxe-table-column type="checkbox" width="40"></vxe-table-column>
             <vxe-table-column title="搴忓彿" field="itemCode" width="50" align="center"></vxe-table-column>
             <vxe-table-column title="閮ㄤ綅" field="itemPart" align="center"></vxe-table-column>
             <vxe-table-column title="淇濆吇椤圭洰" field="itemName" align="center"></vxe-table-column>
@@ -142,7 +151,8 @@
         updateOrderInspectionStatus: '/mes/mesProductionWorkOrder/edit'
       },
       inspectionEquipmentOptions: [],
-      workOrderId: null
+      workOrderId: null,
+      selectedCount: 0
     }
   },
   computed: {
@@ -182,6 +192,17 @@
           this.dataSource = res.result.maintenanceStandardDetailList
         }
       })
+    },
+    onSelectChange({records}) {
+      this.selectedCount = records.length;
+    },
+    batchSetNormal() {
+      const selectRecords = this.$refs.table.getCheckboxRecords();
+      selectRecords.forEach(record => {
+        record.inspectionResult = '1'
+        record.exceptionDescription = ''
+      });
+      this.$refs.table.syncData()
     },
     handleOk () {
       this.$refs.table.validate((valid) => {
@@ -234,6 +255,10 @@
       }
       this.model = {}
       this.dataSource = []
+      this.selectedCount = 0
+      if (this.$refs.table) {
+        this.$refs.table.clearCheckboxRow()
+      }
     },
     submitCallback(){
       this.$emit('ok');
diff --git a/src/views/mes/modules/MesProductionWorkOrderProcessCheckModal.vue b/src/views/mes/modules/MesProductionWorkOrderProcessCheckModal.vue
index ca365dc..23535b4 100644
--- a/src/views/mes/modules/MesProductionWorkOrderProcessCheckModal.vue
+++ b/src/views/mes/modules/MesProductionWorkOrderProcessCheckModal.vue
@@ -18,6 +18,11 @@
             </a-form-model-item>
           </a-col>
         </a-row>
+        <a-row :gutter="24" v-if="selectedCount > 1" style="margin-bottom: 10px;">
+          <a-col :span="24">
+            <a-button type="primary" @click="batchSetNormal">鎵归噺鐐规姝e父</a-button>
+          </a-col>
+        </a-row>
         <a-row :gutter="24">
           <vxe-table
             ref="table"
@@ -28,7 +33,11 @@
             :data="dataSource"
             :edit-config="{trigger: 'click', mode: 'cell'}"
             :edit-rules="editRules"
+            :checkbox-config="{trigger: 'cell', highlight: true}"
+            @checkbox-change="onSelectChange"
+            @checkbox-all="onSelectChange"
           >
+            <vxe-table-column type="checkbox" width="40"></vxe-table-column>
             <vxe-table-column title="搴忓彿" type="seq" width="50" align="center"></vxe-table-column>
             <vxe-table-column title="鍙傛暟缂栫爜" field="parameterCode" align="center"></vxe-table-column>
             <vxe-table-column title="鍙傛暟鍚嶇О" field="parameterName" align="center"></vxe-table-column>
@@ -40,9 +49,9 @@
             <vxe-table-column title="璁¢噺鍗曚綅" field="parameterUnit" align="center"></vxe-table-column>
             <vxe-table-column title="鍙傛暟鑼冨洿" field="parameterPeriod" align="center"></vxe-table-column>
             <vxe-table-column title="鐐规缁撴灉" field="checkResult" align="center"
-                              :edit-render="{name: '$select', options: checkResultOptions, events: {change: handleCheckResultChange}}">
+                              :edit-render="{name: '$select', options: checkResultOptions}">
               <template #default="{ row }">
-                <span v-if="row.checkResult">{{ row.checkResultLabel }}</span>
+                <span v-if="row.checkResult">{{ getCheckResultLabel(row.checkResult) }}</span>
                 <span v-else class="placeholder-text">璇烽�夋嫨鐐规缁撴灉</span>
               </template>
             </vxe-table-column>
@@ -125,7 +134,8 @@
         updateOrderInspectionStatus: '/mes/mesProductionWorkOrder/edit'
       },
       processCheckEquipmentOptions: [],
-      workOrderId: null
+      workOrderId: null,
+      selectedCount: 0
     }
   },
   computed: {
@@ -134,9 +144,9 @@
     }
   },
   methods: {
-    handleCheckResultChange($event, value) {
-      const selected = this.checkResultOptions.find(item => item.value === value.value)
-      $event.row.checkResultLabel = selected.label
+    getCheckResultLabel(value) {
+      const selected = this.checkResultOptions.find(item => item.value === value)
+      return selected ? selected.label : ''
     },
     inspect (record) {
       this.resetFormData()
@@ -165,6 +175,17 @@
           this.dataSource = res.result
         }
       })
+    },
+    onSelectChange({records}) {
+      this.selectedCount = records.length;
+    },
+    batchSetNormal() {
+      const selectRecords = this.$refs.table.getCheckboxRecords();
+      selectRecords.forEach(record => {
+        record.checkResult = '1'
+        record.exceptionDescription = ''
+      });
+      this.$refs.table.syncData()
     },
     handleOk () {
       this.$refs.table.validate((valid) => {
@@ -214,6 +235,10 @@
     resetFormData() {
       this.model = {}
       this.dataSource = []
+      this.selectedCount = 0
+      if (this.$refs.table) {
+        this.$refs.table.clearCheckboxRow()
+      }
     },
     submitCallback(){
       this.$emit('ok');

--
Gitblit v1.9.3