From 8b55f331c79350dbbdc85b6d366b151dfe6652f8 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期二, 15 四月 2025 09:49:59 +0800
Subject: [PATCH] art: 周保执行页面修改

---
 src/views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal.vue |   90 ++++++++++++++++++++++++++++++++++++--------
 1 files changed, 73 insertions(+), 17 deletions(-)

diff --git a/src/views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal.vue b/src/views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal.vue
index 75a4d27..503be9c 100644
--- a/src/views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal.vue
+++ b/src/views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal.vue
@@ -69,20 +69,46 @@
         <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 淇濆吇椤逛俊鎭�
         </a-divider>
         <a-row :gutter="24">
-          <j-vxe-table
-            ref="editableDetailTable"
-            :rowNumber="false"
-            :rowSelection="true"
-            :bordered="true"
-            :alwaysEdit="true"
-            :toolbar="true"
-            :toolbarConfig="detail.toolbarConfig"
-            keep-source
-            :height="300"
-            :loading="detail.loading"
-            :dataSource="detail.dataSource"
-            :columns="detail.columns"
-            style="margin-top: 8px;" />
+          <a-tabs>
+            <a-tab-pane key="1" tab="淇濆吇椤规槑缁�">
+              <j-vxe-table
+                ref="editableDetailTable"
+                :rowNumber="false"
+                :rowSelection="true"
+                :bordered="true"
+                :alwaysEdit="true"
+                :toolbar="false"
+                keep-source
+                :height="300"
+                :loading="detail.loading"
+                :dataSource="detail.dataSource"
+                :columns="detail.columns"
+                @selectRowChange="handleTableSelectRowChange"
+              >
+                <template v-slot:maintenanceResult="props">
+                  <j-dict-select-tag v-model="props.row.maintenanceResult" dictCode="eam_inspection_result"
+                                     placeholder="璇烽�夋嫨淇濆吇缁撴灉"
+                                     @change="handleInspectionResultSelectChange($event,props.row)"
+                                     style="width: 100%" />
+                </template>
+
+                <template v-slot:exceptionDescription="props">
+                  <a-textarea style="height: 32px" v-model="props.row.exceptionDescription"
+                              :disabled="!props.row.maintenanceResult||props.row.maintenanceResult==='1'" />
+                </template>
+
+                <template v-slot:reportFlag="props">
+                  <j-dict-select-tag v-model="props.row.reportFlag"
+                                     :disabled="!props.row.maintenanceResult||props.row.maintenanceResult==='1'"
+                                     dictCode="yn"
+                                     style="width: 100%" />
+                </template>
+              </j-vxe-table>
+            </a-tab-pane>
+            <a-button v-if="selectedRowKeys.length>0" slot="tabBarExtraContent" type="primary"
+                      @click="handleSelectAllInspectionResult">鎵归噺淇濆吇姝e父
+            </a-button>
+          </a-tabs>
         </a-row>
         <div v-if="['WAIT_CONFIRM', 'WAIT_INITIAL_ACCEPTANCE', 'WAIT_FINAL_ACCEPTANCE', 'COMPLETE'].includes(model.maintenanceStatus)">
           <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 鐝粍闀跨‘璁や俊鎭�
@@ -200,6 +226,7 @@
             dictCode: 'eam_inspection_result',
             width: '10%',
             align: 'center',
+            slotName: 'maintenanceResult',
             validateRules: [
               { required: true, message: '淇濆吇缁撴灉涓嶈兘涓虹┖锛�' }
             ]
@@ -210,6 +237,7 @@
             type: JVXETypes.textarea,
             width: '20%',
             align: 'center',
+            slotName: 'exceptionDescription',
           },
           {
             title: '鏄惁鎶ヤ慨',
@@ -217,9 +245,13 @@
             type: JVXETypes.selectSearch,
             dictCode: 'yn',
             width: '10%',
-            align: 'center'
+            align: 'center',
+            slotName: 'reportFlag',
           }
         ],
+        isDisplayBmp: false,
+        showBmpButtonLoading: false,
+        selectedRowKeys: [],
         toolbarConfig: {
           // prefix 鍓嶇紑锛泂uffix 鍚庣紑
           slot: ['prefix', 'suffix'],
@@ -321,8 +353,32 @@
           }))
         }
       })
-    }
-
+    },
+    handleInspectionResultSelectChange(value, record) {
+      if (record.exceptionDescription) delete record.exceptionDescription
+      if (record.reportFlag) delete record.reportFlag
+    },
+    // 鎵归噺閫夋嫨鎵�鏈夌偣妫�缁撴灉
+    handleSelectAllInspectionResult() {
+      this.selectedRowKeys.forEach(key => {
+        const dataItem = this.detail.dataSource.find(item => item.id === key)
+        if (dataItem && dataItem.maintenanceResult !== '1') {
+          console.log('dataItem', dataItem)
+          delete dataItem.exceptionDescription
+          delete dataItem.reportFlag
+          dataItem.maintenanceResult = '1'
+        }
+      })
+      this.$refs.editableDetailTable.clearCheckboxRow()
+      this.selectedRowKeys = []
+    },
+    /**
+     * 琛ㄦ牸澶氶�夋鍙戠敓鏀瑰彉鏃惰Е鍙�
+     * @param {selectedRowIds} 琛ㄦ牸涓凡閫夋嫨鐨処D鍒楄〃
+     */
+    handleTableSelectRowChange({ selectedRowIds }) {
+      this.selectedRowKeys = selectedRowIds
+    },
   }
 }
 </script>

--
Gitblit v1.9.3