From 4dfdc774c2e742764848177e44e75b7de518f285 Mon Sep 17 00:00:00 2001
From: Houjie <714924425@qq.com>
Date: 星期一, 15 九月 2025 19:46:19 +0800
Subject: [PATCH] 设备台账导入

---
 src/views/mes/modules/MesProductionWorkOrderProcessCheckModal.vue |   44 ++++++++++++++++++++++++++++++++++++--------
 1 files changed, 36 insertions(+), 8 deletions(-)

diff --git a/src/views/mes/modules/MesProductionWorkOrderProcessCheckModal.vue b/src/views/mes/modules/MesProductionWorkOrderProcessCheckModal.vue
index 762a56c..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>
@@ -71,7 +80,7 @@
   name: 'MesProductionWorkOrderProcessCheckModal',
   data () {
     return {
-      title: '璁惧鐐规',
+      title: '宸ヨ壓鐐规',
       width: 1200,
       visible: false,
       loading: false,
@@ -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()
@@ -166,18 +176,32 @@
         }
       })
     },
+    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) => {
         if (valid) {
           this.$message.error("璇峰畬鎴愭墍鏈夊繀濉俊鎭悗鍐嶆彁浜わ紒")
         } else {
           let tableData = this.$refs.table.getTableData().fullData
+          if (!tableData || tableData.length === 0) {
+            this.$message.error("鐐规椤逛负绌猴紝鏃犳硶鎻愪氦锛�")
+            return
+          }
           const data = {
             equipmentId: this.model.equipmentId,
             workOrderId: this.workOrderId,
             checkDetailList: tableData
           }
-          console.log(data)
           postAction(this.url.addProcessCheck, data).then(res=> {
             if (res.success) {
               this.$message.success(res.message)
@@ -211,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