浏览代码

fix: 5416 优化设备档案卡卡顿问题

johnsen 4 月之前
父节点
当前提交
940361c9a3
共有 1 个文件被更改,包括 45 次插入17 次删除
  1. 45 17
      src/views/component/device/deviceDialog.vue

+ 45 - 17
src/views/component/device/deviceDialog.vue

@@ -796,22 +796,47 @@
 
 <script>
 import dayjs from 'dayjs'
-import ibpsUserSelector from '@/business/platform/org/selector'
 import { getequipmentCard, saveEquipmentCard } from '@/api/platform/device/device'
-import Maintenance from './maintenance.vue'
-import MoreDevices from './moreDevices.vue'
-import ScrappedRecord from './scrappedRecord.vue'
-import MaintenanceRecord from './maintenanceRecord.vue'
-import RepairRecord from './repairRecord.vue'
-import CalibrationCheckRecord from './calibrationCheckRecord.vue'
-import IbpsAttachment from '@/business/platform/file/attachment/selector'
 import SelectType from '@/views/component/selectType.vue'
 import { getImage } from '@/api/platform/file/attachment'
 export default {
     components: {
-        ibpsUserSelector, Maintenance, MoreDevices, ScrappedRecord, MaintenanceRecord, RepairRecord, CalibrationCheckRecord, IbpsAttachment, SelectType,
-        IbpsCustomDialog: () => import('@/business/platform/data/templaterender/custom-dialog'),
-        IbpsImage: () => import('@/business/platform/file/image')
+        IbpsUserSelector: () => ({
+            component: import('@/business/platform/org/selector'),
+            delay: 200
+        }), Maintenance: () => ({
+            component: import('./maintenance.vue'),
+            delay: 200
+        }), MoreDevices: () => ({
+            component: import('./moreDevices.vue'),
+            delay: 200
+        }), ScrappedRecord: () => ({
+            component: import('./scrappedRecord.vue'),
+            delay: 200
+        }), MaintenanceRecord: () => ({
+            component: import('./maintenanceRecord.vue'),
+            delay: 200
+        }), RepairRecord: () => ({
+            component: import('./repairRecord.vue'),
+            delay: 200
+        }), CalibrationCheckRecord: () => ({
+            component: import('./calibrationCheckRecord.vue'),
+            delay: 200
+        }), SelectType,
+        IbpsCustomDialog: () => ({
+            component: import(
+                '@/business/platform/data/templaterender/custom-dialog'
+            ),
+            delay: 200
+        }),
+        IbpsAttachment: () => ({
+            component: import('@/business/platform/file/attachment/selector'),
+            delay: 200
+        }),
+        IbpsImage: () => ({
+            component: import('@/business/platform/file/image'),
+            delay: 200
+        })
     },
     props: {
         readonly: {
@@ -1089,12 +1114,12 @@ export default {
         // JSON_UNQUOTE( JSON_EXTRACT( AUTHORITY_NAME, '$.chaYue' ) )
             const sql = `select
                         id_ AS leiXingId,
-                        AUTHORITY_NAME AS chaYueValue 
+                        AUTHORITY_NAME AS chaYueValue
                     FROM
-                        ibps_cat_type 
+                        ibps_cat_type
                     WHERE
-                        category_key_ = 'FILE_TYPE' 
-                        AND AUTHORITY_NAME LIKE '%"${departmentId}"%' 
+                        category_key_ = 'FILE_TYPE'
+                        AND AUTHORITY_NAME LIKE '%"${departmentId}"%'
                         AND name_ = '设备使用说明书'`
             // console.log(sql)
             const { deptList = [] } = this.$store.getters || {}
@@ -1294,10 +1319,10 @@ export default {
             })
         },
         async init () {
+            this.loading = true
             if (this.hideSysDeviceNo) {
                 this.rules.yuanSheBeiBian[0].message = '设备编号不能为空'
             }
-            this.loading = true
             this.isEdit = !!(this.params && this.params.id)
             this.isSheKou = this.deptList[0].positionId === '1166372468122714112' // 判断是否是蛇口医院
 
@@ -1344,7 +1369,10 @@ export default {
                 this.form.shiFouWeiHu = '是'
                 this.form.diDian = this.level
             }
-            this.loading = false
+            const id = setTimeout(() => {
+                this.loading = false
+                clearTimeout(id)
+            }, 500)
         }
     }
 }