zhangjie преди 1 година
родител
ревизия
a38adbc1a6
променени са 2 файла, в които са добавени 23 реда и са изтрити 21 реда
  1. 11 10
      src/pages/sop/delay-warning/index.vue
  2. 12 11
      src/pages/sop/violation-registration/index.vue

+ 11 - 10
src/pages/sop/delay-warning/index.vue

@@ -9,7 +9,7 @@
       @refresherrefresh="onRefresh"
       @scrolltolower="scrolltolower"
     >
-      <view class="my-card" v-for="(item, index) in list" :key="index">
+      <view class="my-card" v-for="item in list" :key="item.$key">
         <view class="my-card-header">
           <view class="my-card-header-left">
             <text class="title">{{ item.code }}</text>
@@ -29,12 +29,8 @@
           <view class="key-value"> 预警字段:{{ item.fieldObj }} </view>
         </view>
         <view class="my-card-footer">
-          <u-button v-if="item.status !== 'CLOSE'" class="u-button" type="default" size="mini" plain @click="closeHandler(item, 'view')"
-            >关闭</u-button
-          >
-          <u-button v-if="item.status === 'CLOSE'" class="u-button" type="error" size="mini" plain @click="restartHandler(item, 'view')"
-            >重启</u-button
-          >
+          <u-button v-if="item.status !== 'CLOSE'" class="u-button" type="default" size="mini" plain @click="closeHandler(item)">关闭</u-button>
+          <u-button v-if="item.status === 'CLOSE'" class="u-button" type="error" size="mini" plain @click="restartHandler(item)">重启</u-button>
           <u-button type="primary" size="mini" class="u-button" plain @click="toDetail(item, 'view')">查看</u-button>
           <u-button v-if="item.status !== 'CLOSE'" class="u-button" type="primary" size="mini" @click="toDetail(item, 'audit')">跟进</u-button>
         </view>
@@ -53,7 +49,7 @@
 <script>
   import { WARN_TYPE, WARN_FLOW_STATUS } from '@/utils/constants'
   import { getDelayWarnList, closeDelayWarn, restartDelayWarn } from '@/api/sop'
-  import { dateFormat } from '@/utils/utils'
+  import { dateFormat, randomCode } from '@/utils/utils'
 
   export default {
     name: 'ProjectChangeReport',
@@ -106,7 +102,11 @@
         const res = await getDelayWarnList({ ...this.params, pageNumber: this.pageNumber, pageSize: this.pageSize })
         this.loadingFlag = res.pages == this.pageNumber ? 2 : 0
         // console.log('this.loadingFlag:', this.loadingFlag)
-        this.list.push(...(res.records || []))
+        const records = res.records || []
+        records.forEach((item) => {
+          item.$key = randomCode()
+        })
+        this.list.push(...records)
         if (bool) {
           this.triggered = false
           this.$refs.uToast.show({
@@ -121,12 +121,13 @@
 
         let data = {}
         records.forEach((item) => {
+          item.$key = randomCode()
           data[item.id] = item
         })
         for (let i = 0; i < this.list.length; i++) {
           const item = this.list[i]
           if (data[item.id]) {
-            this.list[i] = data[item.id]
+            this.$set(this.list, i, data[item.id])
           }
         }
       },

+ 12 - 11
src/pages/sop/violation-registration/index.vue

@@ -9,7 +9,7 @@
       @refresherrefresh="onRefresh"
       @scrolltolower="scrolltolower"
     >
-      <view class="my-card" v-for="(item, index) in list" :key="index">
+      <view class="my-card" v-for="item in list" :key="item.$key">
         <view class="my-card-header">
           <view class="my-card-header-left">
             <text class="title">{{ item.code }}</text>
@@ -27,13 +27,9 @@
           <view class="key-value"> 违规时间:{{ dateFormat(item.createTime) }} </view>
         </view>
         <view class="my-card-footer">
-          <u-button v-if="item.status !== 'CLOSE'" class="u-button" type="default" size="mini" plain @click="closeHandler(item, 'view')"
-            >关闭</u-button
-          >
-          <u-button v-if="item.status === 'CLOSE'" class="u-button" type="error" size="mini" plain @click="restartHandler(item, 'view')"
-            >重启</u-button
-          >
-          <u-button type="primary" size="mini" class="u-button" plain @click="toDetail(item, 'view')">查看</u-button>
+          <u-button v-if="item.status !== 'CLOSE'" class="u-button" type="default" size="mini" plain @click="closeHandler(item)">关闭</u-button>
+          <u-button v-if="item.status === 'CLOSE'" class="u-button" type="error" size="mini" plain @click="restartHandler(item)">重启</u-button>
+          <u-button type="primary" size="mini" class="u-button" plain @click="toDetail(item)">查看</u-button>
           <u-button v-if="item.status !== 'CLOSE'" class="u-button" type="primary" size="mini" @click="toFollow(item)">跟进</u-button>
         </view>
       </view>
@@ -51,7 +47,7 @@
 <script>
   import { VIOLATION_TYPE, VIOLATION_FLOW_STATUS } from '@/utils/constants'
   import { getViolationList, closeViolation, restartViolation } from '@/api/sop'
-  import { dateFormat } from '@/utils/utils'
+  import { dateFormat, randomCode } from '@/utils/utils'
 
   export default {
     name: 'ViolationRegistration',
@@ -107,7 +103,11 @@
         const res = await getViolationList({ ...this.params, pageNumber: this.pageNumber, pageSize: this.pageSize })
         this.loadingFlag = res.pages == this.pageNumber ? 2 : 0
         // console.log('this.loadingFlag:', this.loadingFlag)
-        this.list.push(...(res.records || []))
+        const records = res.records || []
+        records.forEach((item) => {
+          item.$key = randomCode()
+        })
+        this.list.push(...records)
         if (bool) {
           this.triggered = false
           this.$refs.uToast.show({
@@ -122,12 +122,13 @@
 
         let data = {}
         records.forEach((item) => {
+          item.$key = randomCode()
           data[item.id] = item
         })
         for (let i = 0; i < this.list.length; i++) {
           const item = this.list[i]
           if (data[item.id]) {
-            this.list[i] = data[item.id]
+            this.$set(this.list, i, data[item.id])
           }
         }
       },