From 547aab154e85a9a89f1e320f92bd43854d10faeb Mon Sep 17 00:00:00 2001
From: zhuzhuanzhuan
Date: 星期四, 14 十二月 2023 14:12:45 +0800
Subject: [PATCH] 1、调整车间看板页面详情弹窗描述列表内容字段 2、报警分析页面在原有表格中为每个报警号增加子表格,内容为出现此报警号的设备ID以及报警时间等 3、报警分析页面表格请求数据设置加载中动画 4、调整设备参数阈值管理页面添加或编辑阈值上下限输入框为数字输入框,避免上下限数字比较大小时出现问题

---
 src/views/mdc/base/modules/WorkshopSignage/EquipmentDetailModal.vue               |    8 +-
 src/views/mdc/base/modules/DeviceParamThresholdManagement/ParamThresholdModal.vue |    4 
 src/views/mdc/base/modules/alarmAnalysis/alarmAnalysisMain.vue                    |  187 ++++++++++++++++++++++------------------------
 3 files changed, 95 insertions(+), 104 deletions(-)

diff --git a/src/views/mdc/base/modules/DeviceParamThresholdManagement/ParamThresholdModal.vue b/src/views/mdc/base/modules/DeviceParamThresholdManagement/ParamThresholdModal.vue
index c03b3c7..30c3930 100644
--- a/src/views/mdc/base/modules/DeviceParamThresholdManagement/ParamThresholdModal.vue
+++ b/src/views/mdc/base/modules/DeviceParamThresholdManagement/ParamThresholdModal.vue
@@ -36,13 +36,13 @@
 
           <a-col :span="12">
             <a-form-model-item prop="maxThreshold" label="闃堝�间笂闄�">
-              <a-input v-model="model.maxThreshold" placeholder="璇疯緭鍏ラ槇鍊间笂闄�"></a-input>
+              <a-input-number v-model="model.maxThreshold" placeholder="璇疯緭鍏ラ槇鍊间笂闄�" style="width: 100%"></a-input-number>
             </a-form-model-item>
           </a-col>
 
           <a-col :span="12">
             <a-form-model-item prop="minThreshold" label="闃堝�间笅闄�">
-              <a-input v-model="model.minThreshold" placeholder="璇疯緭鍏ラ槇鍊间笅闄�"></a-input>
+              <a-input-number v-model="model.minThreshold" placeholder="璇疯緭鍏ラ槇鍊间笅闄�" style="width: 100%"></a-input-number>
             </a-form-model-item>
           </a-col>
 
diff --git a/src/views/mdc/base/modules/WorkshopSignage/EquipmentDetailModal.vue b/src/views/mdc/base/modules/WorkshopSignage/EquipmentDetailModal.vue
index 7a76659..022e82c 100644
--- a/src/views/mdc/base/modules/WorkshopSignage/EquipmentDetailModal.vue
+++ b/src/views/mdc/base/modules/WorkshopSignage/EquipmentDetailModal.vue
@@ -85,13 +85,13 @@
                 <a-descriptions-item label="璁惧鍚嶇О">{{resultData.equipmentName}}</a-descriptions-item>
                 <a-descriptions-item label="IP鍦板潃">{{resultData.equipmentIP}}</a-descriptions-item>
                 <a-descriptions-item label="绔彛鍙�">{{resultData.dataPort}}</a-descriptions-item>
-                <a-descriptions-item label="绯荤粺鐗堟湰鍙�">{{resultData.SystemVersion}}</a-descriptions-item>
+                <a-descriptions-item label="绯荤粺鐗堟湰鍙�">{{resultData.systemVersion}}</a-descriptions-item>
                 <a-descriptions-item label="椹卞姩绫诲瀷">{{resultData.driveType}}</a-descriptions-item>
-                <a-descriptions-item label="绯荤粺鍨嬪彿">{{resultData.SystemType}}</a-descriptions-item>
+                <a-descriptions-item label="璁惧鍨嬪彿">{{resultData.equipmentModel}}</a-descriptions-item>
                 <a-descriptions-item label="璁惧绫诲瀷">{{resultData.deviceType}}</a-descriptions-item>
                 <a-descriptions-item label="璁惧鍔熺巼">{{resultData.devicePower}}</a-descriptions-item>
-                <a-descriptions-item label="鏈夋晥杞存暟">{{resultData.ValidAxis}}</a-descriptions-item>
-                <a-descriptions-item label="鏈�澶ц酱鏁�">{{resultData.MaxAxis}}</a-descriptions-item>
+                <a-descriptions-item label="鏈夋晥杞存暟">{{resultData.validAxis}}</a-descriptions-item>
+                <a-descriptions-item label="鏈�澶ц酱鏁�">{{resultData.maxAxis}}</a-descriptions-item>
                 <a-descriptions-item label="澶囨敞">{{resultData.remark}}</a-descriptions-item>
               </a-descriptions>
 
diff --git a/src/views/mdc/base/modules/alarmAnalysis/alarmAnalysisMain.vue b/src/views/mdc/base/modules/alarmAnalysis/alarmAnalysisMain.vue
index 87106d7..7150831 100644
--- a/src/views/mdc/base/modules/alarmAnalysis/alarmAnalysisMain.vue
+++ b/src/views/mdc/base/modules/alarmAnalysis/alarmAnalysisMain.vue
@@ -56,26 +56,27 @@
           <!--</table>-->
           <!--</div>-->
           <!--</div>-->
+          <!--<a-spin :spinning=""></a-spin>-->
           <a-table :columns="columns" :data-source="dataList" bordered :pagination="false" :scroll="{y:210}"
                    :customRow="customRow"
-                   rowKey="alarmCode" @expand="handleExpandChange"
+                   rowKey="alarmCode" @expand="handleExpandChange" :loading="outerDataLoading"
           >
-            <span slot="timeCount" slot-scope="text">{{getFormattedTime(text)}}</span>
-            <!--<a-table-->
-              <!--slot="expandedRowRender"-->
-              <!--slot-scope="row"-->
-              <!--:columns="innerColumns"-->
-              <!--:data-source="row.innerDataList"-->
-              <!--:pagination="false"-->
-              <!--rowKey="equipmentId"-->
-              <!--:loading="loading"-->
-            <!--&gt;-->
-              <!--<span slot="duration" slot-scope="text">{{getFormattedTime(text)}}</span>-->
-            <!--</a-table>-->
+            <span slot="timeCount" slot-scope="text">{{text | getFormattedTime}}</span>
+            <a-table
+              slot="expandedRowRender"
+              slot-scope="row"
+              :columns="innerColumns"
+              :data-source="row.innerDataList"
+              :pagination="false"
+              rowKey="rowIndex"
+              :loading="innerDataLoading"
+            >
+              <span slot="duration" slot-scope="text">{{text | getFormattedTime}}</span>
+            </a-table>
           </a-table>
         </div>
 
-        <a-spin :spinning="spinning">
+        <a-spin :spinning="echartLoading">
           <div style="width: 100%;height: 100%;display: flex;">
             <div id="MdcEquipmentWarningPie" style="height: 100%;width: 35%;"></div>
             <div id="MdcEquipmentWarningLine" style="height: 100%;width: 65%;"></div>
@@ -107,13 +108,23 @@
       align: 'center',
       sorter: (a, b) => b.timeCount - a.timeCount
     },
-    { title: '鎶ヨ淇℃伅', dataIndex: 'alarmContent', key: 'alarmContent', align: 'center' }
+    { title: '鎶ヨ淇℃伅', dataIndex: 'alarmContent', key: 'alarmContent', align: 'center', ellipsis: true }
   ]
 
   const innerColumns = [
+    {
+      title: '',
+      dataIndex: 'rowIndex',
+      key: 'rowIndex',
+      width: 60,
+      align: 'center',
+      customRender: function(t, r, index) {
+        return parseInt(index) + 1
+      }
+    },
     { title: '璁惧缂栧彿', dataIndex: 'equipmentId', key: 'equipmentId', align: 'center' },
     { title: '璁惧鍚嶇О', dataIndex: 'equipmentName', key: 'equipmentName', align: 'center' },
-    { title: '鎶ヨ鏃堕棿', dataIndex: 'alarmTime', key: 'alarmTime', align: 'center' },
+    { title: '鎶ヨ鏃堕棿', dataIndex: 'startTime', key: 'startTime', align: 'center' },
     { title: '缁撴潫鏃堕棿', dataIndex: 'endTime', key: 'endTime', align: 'center' },
     {
       title: '鎸佺画鏃堕棿',
@@ -132,8 +143,9 @@
       return {
         dataSource: [],
         /* table鍔犺浇鐘舵�� */
-        loading: false,
-        spinning: false,
+        outerDataLoading: false,
+        innerDataLoading: false,
+        echartLoading: false,
         typeTree: '',
         typeParent: 1,
         typeEquipment: 1,
@@ -159,7 +171,8 @@
         url: {
           efficiencyList: '/mdc/alarmAnalyze/alarmList',
           listByType: '/mdc/MdcUtilizationRate/getByType',
-          alarmTrend: '/mdc/alarmAnalyze/alarmTrend'
+          alarmTrend: '/mdc/alarmAnalyze/alarmTrend',
+          equipmentAlarmList: '/mdc/alarmAnalyze/equipmentAlarmList'
         },
         tableHeads: [],
         pieDate: [0],
@@ -223,6 +236,35 @@
         } else {
           return '0'
         }
+      },
+
+      /**
+       * 鏍煎紡鍖栨椂闂�
+       * @param seconds 绉掓暟
+       * @returns '' 鏍煎紡鍖栧悗鏃堕棿瀛楃涓�
+       */
+      getFormattedTime(seconds) {
+        var hours = Math.floor(seconds / 3600)
+        var minutes = Math.floor((seconds % 3600) / 60)
+        var secs = seconds % 60
+
+        if (hours === 0) {
+          if (minutes === 0) {
+            return secs === 0 ? 0 : `${secs}绉抈
+          } else {
+            if (secs === 0) {
+              return `${minutes}鍒哷
+            }
+            return `${minutes}鍒� ${secs}绉抈
+          }
+        } else {
+          if (minutes === 0 && secs === 0) {
+            return `${hours}灏忔椂`
+          } else if (minutes !== 0 && secs === 0) {
+            return `${hours}灏忔椂 ${minutes}鍒哷
+          }
+        }
+        return `${hours}灏忔椂 ${minutes}鍒� ${secs}绉抈
       }
     },
     methods: {
@@ -235,7 +277,7 @@
       },
       TableDraw(key, val) {
         let that = this
-        that.spinning = true
+        that.echartLoading = true
         that.queryParam.alarmCode = val.alarmCode
         console.log(this.queryParam)
         getAction(that.url.alarmTrend, that.queryParam)
@@ -262,7 +304,7 @@
             }
           })
           .finally(() => {
-            that.spinning = false
+            that.echartLoading = false
           })
         console.log(this.YData)
 
@@ -391,6 +433,7 @@
       //     }
       //   }
       loadData1() {
+        this.outerDataLoading = true
         this.tableHeads = []
         this.dataList = []
         getAction(this.url.efficiencyList, this.queryParam).then(res => {
@@ -406,6 +449,8 @@
             // this.initDeviceType(this.dataList)
 
           }
+        }).finally(() => {
+          this.outerDataLoading = false
         })
       },
       drawWrin() {
@@ -521,35 +566,6 @@
       },
 
       /**
-       * 鏍煎紡鍖栨椂闂�
-       * @param seconds 绉掓暟
-       * @returns '' 鏍煎紡鍖栧悗鏃堕棿瀛楃涓�
-       */
-      getFormattedTime(seconds) {
-        var hours = Math.floor(seconds / 3600)
-        var minutes = Math.floor((seconds % 3600) / 60)
-        var secs = seconds % 60
-
-        if (hours === 0) {
-          if (minutes === 0) {
-            return secs === 0 ? 0 : `${secs}绉抈
-          } else {
-            if (secs === 0) {
-              return `${minutes}鍒哷
-            }
-            return `${minutes}鍒� ${secs}绉抈
-          }
-        } else {
-          if (minutes === 0 && secs === 0) {
-            return `${hours}灏忔椂`
-          } else if (minutes !== 0 && secs === 0) {
-            return `${hours}灏忔椂 ${minutes}鍒哷
-          }
-        }
-        return `${hours}灏忔椂 ${minutes}鍒� ${secs}绉抈
-      },
-
-      /**
        * 鑷畾涔夎〃鏍艰瑙﹀彂
        * @param record 褰撳墠琛屼俊鎭�
        * @param index 褰撳墠琛屼笅鏍�
@@ -570,60 +586,32 @@
         }
       },
 
+      /**
+       * 鑷畾涔夎〃鏍艰瑙﹀彂
+       * @param expanded 褰撳墠琛屾槸鍚︿负灞曞紑鐘舵��
+       * @param record 褰撳墠琛屼俊鎭�
+       */
       handleExpandChange(expanded, record) {
-        console.log('expanded', expanded, 'record', record)
         let _this = this
         // 褰撳睍寮�鏃惰嫢璇ヨ鏈灞曞紑杩囨墠浼氳姹傚悗鍙版暟鎹紝灞曞紑杩囩殑鏁版嵁浼氳缂撳瓨鏃犻渶閲嶅璇锋眰
+        const param = Object.assign({ alarmCode: record.alarmCode }, this.queryParam)
         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.innerDataLoading = true
+          getAction(this.url.equipmentAlarmList, param).then(res => {
+            if (res.success) {
+              _this.dataList.forEach(item => {
+                if (item.alarmCode === record.alarmCode) {
+                  item.innerDataList = res.result
+                }
+              })
+              _this.hasRequsetAlarmCodeList.push(record.alarmCode)
+            }
+          })
+            .finally(() => {
+              _this.innerDataLoading = false
             })
-            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>
@@ -844,6 +832,9 @@
   /deep/ .ant-table-body .ant-table-row td {
     padding-top: 10px;
     padding-bottom: 10px;
+  }
+
+  /deep/ .ant-table-scroll > .ant-table-body > table > .ant-table-tbody > .ant-table-row td {
     cursor: pointer;
   }
 
@@ -859,7 +850,7 @@
     height: 265px;
   }
 
-  /deep/ .ant-table-scroll>.ant-table-placeholder {
+  /deep/ .ant-table-scroll > .ant-table-placeholder {
     height: 210px;
   }
 </style>
\ No newline at end of file

--
Gitblit v1.9.3