From a04b8970aa94f80c4c4937706c787391759aded7 Mon Sep 17 00:00:00 2001
From: zhuzhuanzhuan
Date: 星期三, 13 十二月 2023 15:54:17 +0800
Subject: [PATCH] 1、全局车间层级以及部门层级树默认展开 2、车间看板页面设备详情弹窗背景透明度改为不透明 3、所有含有车间层级树页面新增弹窗中的选择设备弹窗内容由表格选择调整为树方式 4、报警分析页面表格字段出现次数与合计持续时间增加排序功能以及表格请求数据设置加载中动画 5、设备利用率、设备开动率以及班次利用率页面表格有关时间值调整为小时并保留两位小数以及通过与后端数据联调,增加表格平均值及合计值展示 6、设备综合效率分析页面表格班次字段若数据过长则省略 7、用户管理页面添加用户与重新设定密码弹窗中的登录密码校验长度与数据字典password_length设置保持一致以及表格车间字段若数据过长则省略

---
 src/views/mdc/base/modules/alarmAnalysis/alarmAnalysisMain.vue |  179 +++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 99 insertions(+), 80 deletions(-)

diff --git a/src/views/mdc/base/modules/alarmAnalysis/alarmAnalysisMain.vue b/src/views/mdc/base/modules/alarmAnalysis/alarmAnalysisMain.vue
index dfbbc21..87106d7 100644
--- a/src/views/mdc/base/modules/alarmAnalysis/alarmAnalysisMain.vue
+++ b/src/views/mdc/base/modules/alarmAnalysis/alarmAnalysisMain.vue
@@ -56,9 +56,9 @@
           <!--</table>-->
           <!--</div>-->
           <!--</div>-->
-          <a-table :columns="columns" :data-source="dataList" bordered :pagination="false" :scroll="{y:168}"
+          <a-table :columns="columns" :data-source="dataList" bordered :pagination="false" :scroll="{y:210}"
                    :customRow="customRow"
-                   rowKey="alarmCode"
+                   rowKey="alarmCode" @expand="handleExpandChange"
           >
             <span slot="timeCount" slot-scope="text">{{getFormattedTime(text)}}</span>
             <!--<a-table-->
@@ -68,6 +68,7 @@
               <!--:data-source="row.innerDataList"-->
               <!--:pagination="false"-->
               <!--rowKey="equipmentId"-->
+              <!--:loading="loading"-->
             <!--&gt;-->
               <!--<span slot="duration" slot-scope="text">{{getFormattedTime(text)}}</span>-->
             <!--</a-table>-->
@@ -97,13 +98,14 @@
 
   const columns = [
     { title: '鎶ヨ鍙�', dataIndex: 'alarmCode', key: 'alarmCode', align: 'center' },
-    { title: '鍑虹幇娆℃暟', dataIndex: 'count', key: 'count', align: 'center' },
+    { title: '鍑虹幇娆℃暟', dataIndex: 'count', key: 'count', align: 'center', sorter: (a, b) => b.count - a.count },
     {
       title: '鍚堣鎸佺画鏃堕棿',
       dataIndex: 'timeCount',
       key: 'timeCount',
       scopedSlots: { customRender: 'timeCount' },
-      align: 'center'
+      align: 'center',
+      sorter: (a, b) => b.timeCount - a.timeCount
     },
     { title: '鎶ヨ淇℃伅', dataIndex: 'alarmContent', key: 'alarmContent', align: 'center' }
   ]
@@ -131,7 +133,7 @@
         dataSource: [],
         /* table鍔犺浇鐘舵�� */
         loading: false,
-        spinning:false,
+        spinning: false,
         typeTree: '',
         typeParent: 1,
         typeEquipment: 1,
@@ -164,7 +166,8 @@
         XData: [0],
         YData: [0],
         columns,
-        innerColumns
+        innerColumns,
+        hasRequsetAlarmCodeList: []
       }
     },
     props: { nodeTree: '', Type: '', nodePeople: '' },
@@ -232,34 +235,34 @@
       },
       TableDraw(key, val) {
         let that = this
-        that.spinning=true
+        that.spinning = true
         that.queryParam.alarmCode = val.alarmCode
         console.log(this.queryParam)
         getAction(that.url.alarmTrend, that.queryParam)
           .then(res => {
-          if (res.success) {
-            that.pieDate=res.result.equipmentCountList.map(item=>{
-              return {
-                name:item.key,
-                value:item.count
-              }
-            })
-            that.XData=res.result.dateCountList.map(item=>item.key)
-            that.YData=res.result.dateCountList.map(item=>item.count)
+            if (res.success) {
+              that.pieDate = res.result.equipmentCountList.map(item => {
+                return {
+                  name: item.key,
+                  value: item.count
+                }
+              })
+              that.XData = res.result.dateCountList.map(item => item.key)
+              that.YData = res.result.dateCountList.map(item => item.count)
 
-            // this.tableHeads = res.result.dates
-            // this.dataList = res.result
-            // this.draw()
-            // this.checkSameData(this.dataList)
-            // this.checkSameData1(this.dataList)
-            // this.checkSameData2(this.dataList)
-            // this.combineCell();
-            // this.initDeviceType(this.dataList)
-            that.drawWrin()
-          }
-        })
-          .finally(()=>{
-            that.spinning=false
+              // this.tableHeads = res.result.dates
+              // this.dataList = res.result
+              // this.draw()
+              // this.checkSameData(this.dataList)
+              // this.checkSameData1(this.dataList)
+              // this.checkSameData2(this.dataList)
+              // this.combineCell();
+              // this.initDeviceType(this.dataList)
+              that.drawWrin()
+            }
+          })
+          .finally(() => {
+            that.spinning = false
           })
         console.log(this.YData)
 
@@ -394,31 +397,7 @@
           if (res.success) {
             // this.tableHeads = res.result.dates
             this.dataList = res.result
-            this.dataList[0].innerDataList=[
-              {
-                equipmentId: '11234',
-                equipmentName: '绔嬩綋鏈哄簥',
-                alarmTime: 20,
-                endTime: 20,
-                duration: 123
-              },
-              {
-                equipmentId: '4213',
-                equipmentName: '鍗у鏈哄簥',
-                alarmTime: 312,
-                endTime: 31,
-                duration: 421
-              }
-            ]
-            this.dataList[1].innerDataList=[
-              {
-                equipmentId: '4213',
-                equipmentName: '鍗у鏈哄簥',
-                alarmTime: 312,
-                endTime: 31,
-                duration: 421
-              }
-            ]
+            this.hasRequsetAlarmCodeList = []
             // this.draw()
             // this.checkSameData(this.dataList)
             // this.checkSameData1(this.dataList)
@@ -552,10 +531,10 @@
         var secs = seconds % 60
 
         if (hours === 0) {
-          if (minutes === 0 ) {
+          if (minutes === 0) {
             return secs === 0 ? 0 : `${secs}绉抈
           } else {
-            if(secs=== 0 ){
+            if (secs === 0) {
               return `${minutes}鍒哷
             }
             return `${minutes}鍒� ${secs}绉抈
@@ -581,37 +560,70 @@
           on: {
             click: (event) => {
               // 濡傛灉鐐瑰嚮鐨勪笉鏄睍寮�鍥炬爣鍖哄煙鍒欐覆鏌撳浘琛紝鐩稿弽鍒欑浉褰撲簬鐐瑰嚮灞曞紑鍥炬爣
-              if(event.target.className !== 'ant-table-row-expand-icon-cell'){
+              if (event.target.className !== 'ant-table-row-expand-icon-cell') {
                 this.TableDraw(index, record)
-              }else{
-                if(event.target.children && event.target.children.length>0) event.target.children[0].click()
+              } else {
+                if (event.target.children && event.target.children.length > 0) event.target.children[0].click()
               }
             }
           }
         }
       },
 
-      /**
-       * 鑷畾涔夊睍寮�琛ㄦ牸鍥炬爣
-       * @param props 鍥炬爣灞炴��
-       * @returns {null} 鑻ヤ富琛ㄦ暟鎹笅鏃犳暟鎹垯涓嶆樉绀哄浘鏍�
-       */
-      expandIcon(props){
-        console.log('props',props)
-        if (props.record.innerDataList&&props.record.innerDataList.length>0){
-          if (props.expanded) {
-            return <a style="margin-right:0px;color:#999" onClick={e=> {
-              props.onExpand(props.record, e);
-            }}><a-icon type="minus" /></a>
-          } else{
-            return <a style="margin-right:0px;color:#999" onClick={e => {
-              props.onExpand(props.record, e);
-            }}><a-icon type="plus"/></a>
-          }
-        }else{
-          return null
+      handleExpandChange(expanded, record) {
+        console.log('expanded', expanded, 'record', record)
+        let _this = this
+        // 褰撳睍寮�鏃惰嫢璇ヨ鏈灞曞紑杩囨墠浼氳姹傚悗鍙版暟鎹紝灞曞紑杩囩殑鏁版嵁浼氳缂撳瓨鏃犻渶閲嶅璇锋眰
+        if (expanded && !this.hasRequsetAlarmCodeList.includes(record.alarmCode)) {
+          this.loading = true
+          setTimeout(() => {
+            _this.dataList.forEach(item => {
+              if (record.alarmCode === item.alarmCode) {
+                item.innerDataList = [
+                  {
+                    equipmentId: '11234',
+                    equipmentName: '绔嬩綋鏈哄簥',
+                    alarmTime: 20,
+                    endTime: 20,
+                    duration: 123
+                  },
+                  {
+                    equipmentId: '4213',
+                    equipmentName: '鍗у鏈哄簥',
+                    alarmTime: 312,
+                    endTime: 31,
+                    duration: 421
+                  }
+                ]
+              }
+            })
+            this.loading = false
+          }, 1000)
+          this.hasRequsetAlarmCodeList.push(record.alarmCode)
         }
       }
+
+      // /**
+      //  * 鑷畾涔夊睍寮�琛ㄦ牸鍥炬爣
+      //  * @param props 鍥炬爣灞炴��
+      //  * @returns {null} 鑻ヤ富琛ㄦ暟鎹笅鏃犳暟鎹垯涓嶆樉绀哄浘鏍�
+      //  */
+      // expandIcon(props){
+      //   console.log('props',props)
+      //   if (props.record.innerDataList&&props.record.innerDataList.length>0){
+      //     if (props.expanded) {
+      //       return <a style="margin-right:0px;color:#999" onClick={e=> {
+      //         props.onExpand(props.record, e);
+      //       }}><a-icon type="minus" /></a>
+      //     } else{
+      //       return <a style="margin-right:0px;color:#999" onClick={e => {
+      //         props.onExpand(props.record, e);
+      //       }}><a-icon type="plus"/></a>
+      //     }
+      //   }else{
+      //     return null
+      //   }
+      // }
     }
   }
 </script>
@@ -835,12 +847,19 @@
     cursor: pointer;
   }
 
-  /deep/ .ant-spin-nested-loading{
+  /deep/ .ant-spin-nested-loading {
     height: 55%;
   }
 
-  /deep/ .ant-spin-container{
+  /deep/ .ant-spin-container {
     height: 100%;
   }
 
+  /deep/ .ant-table.ant-table-bordered {
+    height: 265px;
+  }
+
+  /deep/ .ant-table-scroll>.ant-table-placeholder {
+    height: 210px;
+  }
 </style>
\ No newline at end of file

--
Gitblit v1.9.3