From ec68cffd70d2a2788f7c74af55a11563aaf611d1 Mon Sep 17 00:00:00 2001
From: zhuzhuanzhuan
Date: 星期三, 06 十二月 2023 15:47:38 +0800
Subject: [PATCH] 1、登录页面优化首次登录会出现404字样,需要明确用户登录后显示页面是否为首页/消息页或者角色中可设置 2、驱动参数管理页面新增或修改控制系统中英文名称规则限制字符数最少6位调整为2位 3、效率段管理页面效率段颜色可自定义 4、设备利用率、设备开动率、班次利用率页面增加可按照设备类型筛选查询 5、对比分析页面增加通过选择设备来对比 6、设备日利用率和设备日利用率对比页面优化选择树节点后查询区域的设备名称字段不会更新问题

---
 src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue |  118 ++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 81 insertions(+), 37 deletions(-)

diff --git a/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue b/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue
index c49e432..66530ca 100644
--- a/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue
+++ b/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue
@@ -1,23 +1,30 @@
 <template>
   <div style="width: 100%;">
-    <a-card :bordered="false">
+    <div :bordered="false">
       <!-- 鏌ヨ鍖哄煙 -->
       <div class="table-page-search-wrapper">
         <a-form layout="inline" @keyup.enter.native="searchQuery">
           <a-row :gutter="24">
+            <a-col :md="4" :sm="4">
+              <a-form-item label="璁惧绫诲瀷">
+                <a-select placeholder="璇烽�夋嫨璁惧绫诲瀷" :triggerChange="true" v-model="queryParam.equipmentType" :allowClear="true">
+                  <a-select-option v-for='item in selectList' :key='item.id' :value='item.equipmentTypeName'>
+                    {{item.equipmentTypeName}}
+                  </a-select-option>
+                </a-select>
+              </a-form-item>
+            </a-col>
             <a-col :md="6" :sm="6">
               <a-form-item label="鏃堕棿">
                 <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD" v-model="dates"/>
               </a-form-item>
             </a-col>
-            <a-col :lg="3" :md="3" :sm="3" :xs="3">
-              <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
-            </a-col>
-            <a-col :lg="3"  :md="3" :sm="3" :xs="3">
-              <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
-            </a-col>
-            <a-col :lg="3" :md="3" :sm="3" :xs="3">
-              <a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>
+            <a-col :md="14" :sm="14">
+              <a-space>
+                <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
+                <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
+                <a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>
+              </a-space>
             </a-col>
           </a-row>
           <a-row :gutter="24">
@@ -28,7 +35,7 @@
           </a-row>
         </a-form>
       </div>
-      <div style="width: 530px;position: absolute;top: 20px; right:1.5%;">
+      <div style="width: 530px;position: absolute;top: 0; right:1.5%;">
         <table cellpadding="5" cellspacing="1" style="border: 1px solid darkgray;">
           <tr>
             <td v-for="(item, index) in identifying">{{item.title}}</td>
@@ -47,9 +54,9 @@
           <table class="dataContent table" border="1" cellspacing="0" cellpadding="0" style="white-space: nowrap">
             <thead>
             <tr class="thead fixed equipname">
-              <th class="thgu dong1 name" rowspan="2" style="min-width: 150px; max-width: 150px;width: 150px;"></th>
-              <th  class="thgu dong2 name" rowspan="2" style="min-width: 150px; max-width: 150px;width: 150px;"></th>
-              <th  class="thgu dong3 name" rowspan="2" style="min-width: 150px; max-width: 150px;width: 150px;"></th>
+              <th class="thgu dong1 name" rowspan="2" style="min-width: 50px; max-width: 50px;width: 50px;"></th>
+              <th  class="thgu dong2 name" rowspan="2" style="min-width: 50px; max-width: 50px;width: 50px;"></th>
+              <th  class="thgu dong3 name" rowspan="2" style="min-width: 50px; max-width: 50px;width: 50px;"></th>
               <th class="thgu dong4 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">璁惧缂栧彿</th>
               <th class="thgu dong5 name" rowspan="2" style="min-width: 150px; max-width: 150px;width: 150px;">璁惧鍚嶇О</th>
               <th class="thgu dong6 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">璁惧绫诲瀷</th>
@@ -71,9 +78,9 @@
             </thead>
             <tbody>
             <tr class="mathData" v-for="(item, index) in dataList">
-              <td  class="tdgu kaitou" :rowspan="item.level1span" :class="{hidden: item.level1dis,noExl:item.level1dis}"  v-show="!item.level1dis">{{item.level1}}</td>
-              <td  class="tdgu1 kaitou" :rowspan="item.level2span" :class="{hidden: item.level2dis,noExl:item.level2dis}"  v-show="!item.level2dis">{{item.level2}}</td>
-              <td  class="tdgu2 kaitou" :rowspan="item.level3span" :class="{hidden: item.level3dis,noExl:item.level3dis}"  v-show="!item.level3dis">{{item.level3}}</td>
+              <td  class="tdgu kaitou wenzi" :rowspan="item.level1span" :class="{hidden: item.level1dis,noExl:item.level1dis}"  v-show="!item.level1dis">{{item.level1}}</td>
+              <td  class="tdgu1 kaitou wenzi" :rowspan="item.level2span" :class="{hidden: item.level2dis,noExl:item.level2dis}"  v-show="!item.level2dis">{{item.level2}}</td>
+              <td  class="tdgu2 kaitou wenzi" :rowspan="item.level3span" :class="{hidden: item.level3dis,noExl:item.level3dis}"  v-show="!item.level3dis">{{item.level3}}</td>
               <td  class="tdgu3  kaitou">{{item.equipmentId}}</td>
               <td  class="tdgu4 kaitou">{{item.equipmentName}}</td>
               <td  class="tdgu5 kaitou">{{item.equipmentType}}</td>
@@ -101,7 +108,7 @@
           </table>
         </div>
       </div>
-    </a-card>
+    </div>
   </div>
 </template>
 
@@ -120,6 +127,7 @@
       typeParent:1,
       typeEquipment:1,
       dates: [],
+      selectList:[],
       queryParam: {},
       queryParamEquip:{},
       queryParamPeople:{},
@@ -136,7 +144,8 @@
       dataList: [],
       url: {
         list: '/mdc/efficiencyReport/efficiencyPOList',
-        listByType: '/mdc/MdcUtilizationRate/getByType'
+        listByType: '/mdc/MdcUtilizationRate/getByType',
+        queryEquipmentType: '/mdc/mdcEquipmentType/queryEquipmentType'
       },
       tableHeads: []
     }
@@ -149,6 +158,7 @@
     this.queryParam.endTime = moment(this.dates[1]).format('YYYYMMDD')
     this.queryParam.typeTree = "1"
     this.loadData()
+    this.queryGroup()
   },
   watch: {
     Type(valmath){
@@ -329,6 +339,8 @@
     dateParamChange(v1, v2) {
       this.queryParam.startTime = v2[0]
       this.queryParam.endTime = v2[1]
+      // 鐐瑰嚮鏃堕棿閫夋嫨鍣ㄧ殑娓呯┖鎸夐挳鏃朵細瑙﹀彂姝ゅ垽鏂�(鐐瑰嚮閲嶇疆鎸夐挳涓嶄細瑙﹀彂)锛屽疄鐜伴噸缃垪琛ㄥ姛鑳斤紝鍒囧疄鏀瑰彉鍒楄〃鏄剧ず鏁堟灉
+      if(!this.queryParam.startTime&&!this.queryParam.endTime)this.searchReset()
     },
     efficiencyOptionsOnChange(checkedList) {
       let index = checkedList.indexOf('lyl')
@@ -343,14 +355,21 @@
       this.checkedList = checkedList
     },
     searchQuery() {
-      if(this.queryParam.typeTree == "1"){
-        this.queryParam.parentId =  this.queryParamEquip.parentId
-        this.queryParam.equipmentId = this.queryParamEquip.equipmentId
+      if(this.dates != ''){
+        if(this.queryParam.typeTree == "1"){
+          this.queryParam.parentId =  this.queryParamEquip.parentId
+          this.queryParam.equipmentId = this.queryParamEquip.equipmentId
+        }else{
+          this.queryParam.parentId = this.queryParamPeople.parentId
+          this.queryParam.equipmentId = ""
+        }
+        this.loadData()
       }else{
-        this.queryParam.parentId = this.queryParamPeople.parentId
-        this.queryParam.equipmentId = ""
+        this.$notification.warning({
+          message:'娑堟伅',
+          description:"璇烽�夋嫨鏃堕棿"
+        });
       }
-      this.loadData()
       // this.onClearSelected()
     },
     searchReset() {
@@ -384,6 +403,24 @@
           // this.initDeviceType(this.dataList)
         }
       })
+    },
+    queryGroup() {
+      getAction(this.url.queryEquipmentType).then(res => {
+        if (res.success) {
+          this.selectList = res.result
+          // this.selectList = res.result.map((item, index, arr) => {
+          //   return { label: item.id, value: item.equipmentTypeName + '' }
+          // })
+        } else {
+          // this.$message.warning(res.message)
+          this.$notification.warning({
+            message: '娑堟伅',
+            description: res.message
+          })
+        }
+      }).finally(() => {
+        this.loading = false
+      })
     }
   }
 }
@@ -401,33 +438,40 @@
   left: 0;
   z-index: 1;
 }
+.table tbody tr .wenzi{
+  /*writing-mode: vertical-lr;*/
+  /*text-orientation: upright;*/
+  transform: rotate(360deg);
+  writing-mode: vertical-lr;
+  letter-spacing: 2px;
+}
 .table tbody tr .kaitou{
   z-index: 1;
   background-color: white;
 }
 .table tbody tr .tdgu1{
   position: sticky;
-  left: 150px;
+  left: 50px;
   z-index: 2;
 }
 .table tbody tr .tdgu2{
   position: sticky;
-  left: 300px;
+  left: 100px;
   z-index: 2;
 }
 .table tbody tr .tdgu3{
   position: sticky;
-  left: 450px;
+  left: 150px;
   z-index: 2;
 }
 .table tbody tr .tdgu4{
   position: sticky;
-  left: 550px;
+  left: 250px;
   z-index: 2;
 }
 .table tbody tr .tdgu5{
   position: sticky;
-  left: 700px;
+  left: 400px;
   z-index: 2;
 }
 
@@ -452,23 +496,23 @@
 }
 .table2 thead .equipname .dong2{
   z-index: 5;
-  left: 150px;
+  left: 50px;
 }
 .table2 thead .equipname .dong3{
   z-index: 5;
-  left: 300px;
+  left: 100px;
 }
 .table2 thead .equipname .dong4{
   z-index: 5;
-  left: 450px;
+  left: 150px;
 }
 .table2 thead .equipname .dong5{
   z-index: 5;
-  left: 550px;
+  left: 250px;
 }
 .table2 thead .equipname .dong6{
   z-index: 5;
-  left: 700px;
+  left: 400px;
 }
 
 
@@ -539,9 +583,9 @@
   width: auto;
 }
 
-.dataContent tr td {
-  height: 35px;
-}
+/*.dataContent tr td {*/
+  /*height: 35px;*/
+/*}*/
 
 .dataContent .mathData td {
   padding: 10px;

--
Gitblit v1.9.3