From 664db98c9e8595ce4dd636a27f480e3a08b81ff5 Mon Sep 17 00:00:00 2001
From: xyc <jc_xiong@hotmail.com>
Date: 星期五, 21 二月 2025 11:13:51 +0800
Subject: [PATCH] 新增可忽略的维修时间

---
 web/src/views/modules/taskReliability/TaskPhaseModel.vue |   66 +++++++++++++++++++++++----------
 1 files changed, 46 insertions(+), 20 deletions(-)

diff --git a/web/src/views/modules/taskReliability/TaskPhaseModel.vue b/web/src/views/modules/taskReliability/TaskPhaseModel.vue
index 2b9b5a8..19f0b72 100644
--- a/web/src/views/modules/taskReliability/TaskPhaseModel.vue
+++ b/web/src/views/modules/taskReliability/TaskPhaseModel.vue
@@ -13,21 +13,21 @@
                 v-adaptive="{bottomOffset:30}" border
                 @cell-click="handleCellClick"
                 @selection-change="table.selectionChangeHandle">
-        <el-table-column prop="operatConditName" label="宸ュ喌鍚嶇О" width="160"/>
-        <el-table-column prop="operatConditDurationRate" label="鏃堕暱姣�" align="right" width="100">
+        <el-table-column prop="operatConditName" label="宸ュ喌鍚嶇О" width="140" align="center"/>
+        <el-table-column prop="operatConditDurationRate" label="宸ュ喌鏃堕暱姣�" align="right" width="120">
           <template slot-scope="scope">
                     <span
                       v-if="editingCell && editingCell.row === scope.row && editingCell.column.property === scope.column.property">
                        <el-input ref="editInput"
                                  autosize v-model="scope.row.operatConditDurationRate"
-                                 placeholder="宸ュ喌鏃堕暱姣�"></el-input>
+                                 placeholder="宸ュ喌鏃堕暱姣�" @input="change()"></el-input>
                     </span>
             <span v-else>{{scope.row.operatConditDurationRate}}</span>
           </template>
         </el-table-column>
         <el-table-column align="center" label="閫夌敤">
           <template v-slot="{ row }">
-            <el-checkbox true-label="1" false-label="0" v-model="row.isCheck"></el-checkbox>
+            <el-checkbox true-label="1" false-label="0" v-model="row.isCheck" @change="change"></el-checkbox>
           </template>
         </el-table-column>
       </el-table>
@@ -36,6 +36,7 @@
 </template>
 
 <script>
+  import cloneDeep from 'lodash/cloneDeep'
 
   export default {
     name: 'TaskPhaseModel',
@@ -48,8 +49,11 @@
           operatConditId: '',
           operatConditDurationRate: '',
           dataList: [],
-          isCheck: ''
+          isCheck: '',
+          dataThreeList:[]
         },
+        lastSaveData: [],
+        isChange: false,
         editingCell: null,
         dataList: [],
         originalTableData: [],
@@ -66,41 +70,48 @@
       },
       //鎵归噺淇濆瓨
       async handleSaveRows() {
-        let time = null
+        let operatConditDurationRate = null
         let flag = true
         let list = []
+        let reg = /^(-?\d+)\.?(\d*)$/;
         this.dataForm.dataThreeList = this.$refs.tableObj.dataList
         for (let i = 0; i < this.dataForm.dataThreeList.length; i++) {
-          time = time + Number(this.dataForm.dataThreeList[i].operatConditDurationRate)
-          if (this.dataForm.dataThreeList[i].isCheck === '0' && this.dataForm.dataThreeList[i].operatConditDurationRate != null) {
-            this.$alert("鏈夋湭鍕鹃�夌殑宸ュ喌")
+          operatConditDurationRate = this.dataForm.dataThreeList[i].operatConditDurationRate
+          console.log(operatConditDurationRate)
+          if (this.dataForm.dataThreeList[i].operatConditDurationRate == null)
+            this.dataForm.dataThreeList[i].operatConditDurationRate = '0'
+          if (this.dataForm.dataThreeList[i].isCheck === '0')
+            this.dataForm.dataThreeList[i].operatConditDurationRate = '0'
+          if (String(operatConditDurationRate).match(reg) == null && operatConditDurationRate !== null) {
+            this.$alert("杈撳叆鐨勬暟鎹牸寮忔湁璇�")
             flag = false
-          } else if (this.dataForm.dataThreeList[i].isCheck === '1' && this.dataForm.dataThreeList[i].operatConditDurationRate == null) {
+          }
+          // time = time + Number(this.dataForm.dataThreeList[i].operatConditDurationRate)
+          if (this.dataForm.dataThreeList[i].isCheck === '1' && (this.dataForm.dataThreeList[i].operatConditDurationRate == null || this.dataForm.dataThreeList[i].operatConditDurationRate == 0)) {
             this.$alert("鏈夋湭濉啓鐨勫伐鍐垫椂闀�")
             flag = false
           }
-
-          if (this.dataForm.dataThreeList[i].isCheck==='1'){
-            list.push(this.dataForm.dataThreeList[i])
-          }
+          list.push(this.dataForm.dataThreeList[i])
         }
         this.dataForm.dataThreeList = list
-        console.log(time, 'async handleSaveRows')
-        if (time> 1) {
+        /*console.log(time, 'async handleSaveRows')
+        if (time > 1) {
           this.$alert("璇烽噸鏂拌缃綋鍓嶆椂闀挎瘮鍒嗛厤")
           return
-        }
+        }*/
         if (!flag) {
           return
         }
         let res = await this.$http.post('/taskReliability/TaskPhaseModel/save', this.dataForm)
         if (res.success) {
+          this.isChange = false;
+          this.lastSaveData = cloneDeep(list)
           console.log(res.data)
           await this.$tip.success()
           this.originalData = null
           this.dataForm.dataThreeList = null
           this.$refs.tableObj.query()
-         this.$emit('getList')
+          this.$emit('getList')
           this.originalTableData = JSON.parse(JSON.stringify(this.dataList)); // 鏇存柊鍒濆鏁版嵁涓哄綋鍓嶆暟鎹�
           console.log(this.originalTableData, 'this.originalTableData 褰撳墠琛ㄦ牸json鏁版嵁')
         }
@@ -111,6 +122,8 @@
           this.dataList[i].productId = this.dataForm.productId
           this.dataList[i].phaseId = this.dataForm.phaseId
         }
+        this.lastSaveData = cloneDeep(this.$refs.tableObj.dataList)
+        console.log(this.lastSaveData)
       },
       handleCellClick(row, column) {
         this.editingCell = {row, column}
@@ -120,8 +133,21 @@
           }
         })
         console.log(this.editingCell, 'this.editingCell')
-      }
-      ,
+      },
+      change() {
+        console.log(this.$refs.tableObj.dataList, "this.$refs.tableObj.dataList")
+        console.log(this.lastSaveData, "this.lastSaveData")
+
+        let r = JSON.stringify(this.$refs.tableObj.dataList);
+        let l = JSON.stringify(this.lastSaveData);
+        console.log(r,'this.$refs.tableObj.dataList[i]')
+        console.log(l,'this.lastSaveData[i]')
+        if (r!==l){
+          this.isChange = true
+          return
+        }
+          this.isChange = false
+      },
 
     }
   }

--
Gitblit v1.9.1