From 49a74a67140e814bb70efcde61b37d4750448e6a Mon Sep 17 00:00:00 2001
From: zhuzhuanzhuan
Date: 星期二, 14 五月 2024 16:39:01 +0800
Subject: [PATCH] 1、设备加工工件报表页面调整表格唯一标识字段由equipmentId调整为id以试图解决项目服务器上表格数据混乱问题 2、设备利用率、设备开动率、班次利用率以及设备综合效率分析页面调整设备类型、驱动类型、设备级别以及设备种类页面组件为多选下拉菜单

---
 src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue |  480 +++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 301 insertions(+), 179 deletions(-)

diff --git a/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue b/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue
index 66530ca..5c0aaa0 100644
--- a/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue
+++ b/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue
@@ -5,109 +5,183 @@
       <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-col :md="5" :sm="5">
               <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
+                  :value="queryParams.equipmentType"
+                  mode="multiple"
+                  placeholder="璇烽�夋嫨璁惧绫诲瀷"
+                  allow-clear
+                  :maxTagCount="1"
+                  @change="selectChange($event,'equipmentType')"
+                >
+                  <a-select-option v-for="item in equipmentTypeList" :value="item.value">
+                    {{item.label}}
                   </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-col :md="5" :sm="5">
+              <a-form-item label="椹卞姩绫诲瀷">
+                <a-select
+                  :value="queryParams.driveType"
+                  mode="multiple"
+                  placeholder="璇烽�夋嫨椹卞姩绫诲瀷"
+                  allow-clear
+                  :maxTagCount="1"
+                  @change="selectChange($event,'driveType')"
+                >
+                  <a-select-option v-for="item in driveTypeList" :value="item.value">
+                    {{item.label}}
+                  </a-select-option>
+                </a-select>
               </a-form-item>
             </a-col>
-            <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 :md="4" :sm="4">
+              <a-form-item label="鏃堕棿">
+                <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD" v-model="dates" :allowClear="false"/>
+              </a-form-item>
+            </a-col>
+            <a-col :md="5" :sm="5" :xs="5">
+              <a-form-item label="璁惧绾у埆">
+                <a-select
+                  :value="queryParams.deviceLevel"
+                  mode="multiple"
+                  placeholder="璇烽�夋嫨璁惧绾у埆"
+                  allow-clear
+                  :maxTagCount="1"
+                  @change="selectChange($event,'deviceLevel')"
+                >
+                  <a-select-option v-for="item in device_level_list" :value="item.value">
+                    {{item.label}}
+                  </a-select-option>
+                </a-select>
+              </a-form-item>
+            </a-col>
+            <a-col :md="4" :sm="4" :xs="4">
+              <a-form-item label="璁惧绉嶇被">
+                <a-select
+                  :value="queryParams.deviceCategory"
+                  mode="multiple"
+                  placeholder="璇烽�夋嫨璁惧绉嶇被"
+                  allow-clear
+                  :maxTagCount="1"
+                  @change="selectChange($event,'deviceCategory')"
+                >
+                  <a-select-option v-for="item in device_category_list" :value="item.value">
+                    {{item.label}}
+                  </a-select-option>
+                </a-select>
+              </a-form-item>
             </a-col>
           </a-row>
-          <a-row :gutter="24">
-            <a-col :md="15" :sm="15">
-              <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions"
-                                @change="efficiencyOptionsOnChange"/>
+          <a-row :gutter="24" type="flex" align="middle">
+            <a-col :md="24" :sm="24" :xs="24"
+                   style="display: flex;justify-content: space-between;align-items: flex-start">
+              <div>
+                <a-space style="margin-right: 20px">
+                  <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-button type="primary" icon="printer" v-print="'#EfficiencyPO'"
+                            v-has="'EfficiencyPO:print'">鎵撳嵃
+                  </a-button>
+                </a-space>
+                <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions"
+                                  @change="efficiencyOptionsOnChange"/>
+              </div>
+              <table cellpadding="5" cellspacing="1" style="border: 1px solid darkgray;">
+                <tr>
+                  <td v-for="(item, index) in identifying">{{item.title}}</td>
+                </tr>
+                <tr>
+                  <td style="text-align:center;" v-for="(item, index) in identifying">
+                    <div class="identifyingclass" :style="{background: item.color}"></div>
+                  </td>
+                </tr>
+              </table>
             </a-col>
           </a-row>
         </a-form>
       </div>
-      <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>
-          </tr>
-          <tr>
-            <td style="text-align:center;" v-for="(item, index) in identifying">
-              <div class="identifyingclass" :style="{background: item.color}"></div>
-            </td>
-            <!--<td style="text-align:center;"><div style="width: 55px;height: 15px;background-color: #e8ff37;display:inline-block"></div></td>-->
-            <!--<td style="text-align:center;"><div style="width: 55px;height: 15px;background-color: #99ff4e;display:inline-block"></div></td>-->
-          </tr>
-        </table>
-      </div>
-      <div class="container" id="EfficiencyPO" style="margin-top: 20px;">
-        <div class="table2">
-          <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: 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>
-              <!--<th rowspan="2">缁勫埆</th>-->
-              <template v-for="(tableHead, index) in tableHeads">
-                <th class="timeth" :colspan="checkedList.length">{{tableHead}}</th>
-              </template>
-            </tr>
-            <tr class="thead notfixed gudingth">
-              <template v-for="(tableHead, index) in tableHeads">
-                <th>寮�鍔ㄧ巼(%)</th>
-                <th v-if="checkedList.indexOf('kjl') > -1">寮�鏈虹巼(%)</th>
-                <th v-if="checkedList.indexOf('kjsj') > -1">寮�鏈烘椂闂�(s)</th>
-                <th v-if="checkedList.indexOf('jgsj') > -1">鍔犲伐鏃堕棿(s)</th>
-                <th v-if="checkedList.indexOf('djsj') > -1">寰呮満鏃堕棿(s)</th>
-                <th v-if="checkedList.indexOf('gjsj') > -1">鍏虫満鏃堕棿(s)</th>
-              </template>
-            </tr>
-            </thead>
-            <tbody>
-            <tr class="mathData" v-for="(item, index) in dataList">
-              <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>
-              <!--<td>{{item.tierType}}</td>-->
-              <template v-for="(tableHead, index) in item.dataList">
-                <td :style="{background:tableHead.color }">{{tableHead.startRate | numFilter}}</td>
-                <td :style="{background:tableHead.color }" v-if="checkedList.indexOf('kjl') > -1">
-                  {{tableHead.openRate | numFilter}}
-                </td>
-                <td :style="{background:tableHead.color }" v-if="checkedList.indexOf('kjsj') > -1">
-                  {{tableHead.openLong}}
-                </td>
-                <td :style="{background:tableHead.color }" v-if="checkedList.indexOf('jgsj') > -1">
-                  {{tableHead.processLong}}
-                </td>
-                <td :style="{background:tableHead.color }" v-if="checkedList.indexOf('djsj') > -1">
-                  {{tableHead.waitLong}}
-                </td>
-                <td :style="{background:tableHead.color }" v-if="checkedList.indexOf('gjsj') > -1">
-                  {{tableHead.closeLong}}
-                </td>
-              </template>
-            </tr>
-            </tbody>
-          </table>
+      <a-spin :spinning="spinning">
+        <div class="container" id="EfficiencyPO" style="margin-top: 20px;" >
+          <div class="table2">
+            <table class="dataContent table" border="1" cellspacing="0" cellpadding="0" style="white-space: nowrap" v-if="dataList.length>0">
+              <thead>
+              <tr class="thead fixed equipname">
+                <th class="thgu dong1 name" rowspan="2" style="min-width: 50px; max-width: 50px;width: 50px;height: 66px">鍏徃</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: 162px; max-width: 162px;width: 162px;">璁惧鍚嶇О</th>
+                <th class="thgu dong6 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">璁惧绫诲瀷</th>
+                <!--<th rowspan="2">缁勫埆</th>-->
+                <template v-for="(tableHead, index) in tableHeads">
+                  <th class="timeth" :colspan="checkedList.length">{{tableHead}}</th>
+                </template>
+              </tr>
+              <tr class="thead notfixed gudingth">
+                <template v-for="(tableHead, index) in tableHeads">
+                  <th v-if="checkedList.indexOf('lyl') > -1">寮�鍔ㄧ巼(%)</th>
+                  <th v-if="checkedList.indexOf('kjl') > -1">寮�鏈虹巼(%)</th>
+                  <th v-if="checkedList.indexOf('kjsj') > -1">寮�鏈烘椂闂�(灏忔椂)</th>
+                  <th v-if="checkedList.indexOf('jgsj') > -1">鍔犲伐鏃堕棿(灏忔椂)</th>
+                  <th v-if="checkedList.indexOf('djsj') > -1">寰呮満鏃堕棿(灏忔椂)</th>
+                  <th v-if="checkedList.indexOf('gjsj') > -1">鍏虫満鏃堕棿(灏忔椂)</th>
+                </template>
+              </tr>
+              </thead>
+              <tbody>
+              <tr class="mathData" v-for="(item, index) in dataList">
+                <template v-if="item.level1!=='鍚堣'&&item.level1!=='骞冲潎鍊�'">
+                  <td  class="tdgu kaitou" :rowspan="item.level1span" :class="{hidden: item.level1dis,noExl:item.level1dis}"  v-show="!item.level1dis">
+                    <div class="wenzi">
+                      {{item.level1}}
+                    </div>
+                  </td>
+                  <td  class="tdgu1 kaitou" :rowspan="item.level2span" :class="{hidden: item.level2dis,noExl:item.level2dis}"  v-show="!item.level2dis">
+                    <div class="wenzi">
+                      {{item.level2}}
+                    </div>
+                  </td>
+                  <td  class="tdgu2 kaitou" :rowspan="item.level3span" :class="{hidden: item.level3dis,noExl:item.level3dis}"  v-show="!item.level3dis">
+                    <div class="wenzi">
+                      {{item.level3}}
+                    </div>
+                  </td>
+                  <td  class="tdgu3  kaitou">{{item.equipmentId}}</td>
+                  <td style="min-width: 162px; max-width: 162px;width: 162px;"  class="tdgu4 kaitou">{{item.equipmentName}}</td>
+                  <td  class="tdgu5 kaitou">{{item.equipmentType}}</td>
+                </template>
+
+                <template v-else>
+                  <td colspan="6" class="tdgu kaitou">{{item.level1}}</td>
+                </template>
+                <template v-for="(tableHead, index) in item.dataList">
+                  <td :style="{background:tableHead.color }" v-if="checkedList.indexOf('lyl') > -1">{{tableHead.startRate | numFilter}}</td>
+                  <td :style="{background:tableHead.color }" v-if="checkedList.indexOf('kjl') > -1">
+                    {{tableHead.openRate | numFilter}}
+                  </td>
+                  <td :style="{background:tableHead.color }" v-if="checkedList.indexOf('kjsj') > -1">
+                    {{tableHead.openLong | getFormattedTime}}
+                  </td>
+                  <td :style="{background:tableHead.color }" v-if="checkedList.indexOf('jgsj') > -1">
+                    {{tableHead.processLong | getFormattedTime}}
+                  </td>
+                  <td :style="{background:tableHead.color }" v-if="checkedList.indexOf('djsj') > -1">
+                    {{tableHead.waitLong | getFormattedTime}}
+                  </td>
+                  <td :style="{background:tableHead.color }" v-if="checkedList.indexOf('gjsj') > -1">
+                    {{tableHead.closeLong | getFormattedTime}}
+                  </td>
+                </template>
+              </tr>
+              </tbody>
+            </table>
+          </div>
         </div>
-      </div>
+      </a-spin>
     </div>
   </div>
 </template>
@@ -118,6 +192,8 @@
 import $ from 'jquery'
 import '@/components/table2excel/table2excel'
 import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api'
+import api from '@/api/mdc'
+
 export default {
   name: 'EfficiencyPOList',
   components: {},
@@ -127,8 +203,17 @@
       typeParent:1,
       typeEquipment:1,
       dates: [],
-      selectList:[],
+      equipmentTypeList:[],
+      driveTypeList:[],
+      device_level_list: [],
+      device_category_list: [],
       queryParam: {},
+      queryParams: {
+        equipmentType: [],
+        driveType: [],
+        deviceLevel: [],
+        deviceCategory: []
+      },
       queryParamEquip:{},
       queryParamPeople:{},
       identifying: [],
@@ -147,7 +232,8 @@
         listByType: '/mdc/MdcUtilizationRate/getByType',
         queryEquipmentType: '/mdc/mdcEquipmentType/queryEquipmentType'
       },
-      tableHeads: []
+      tableHeads: [],
+      spinning:false
     }
   },
   props: { nodeTree: '', Type:'',nodePeople: ''},
@@ -159,6 +245,13 @@
     this.queryParam.typeTree = "1"
     this.loadData()
     this.queryGroup()
+    this.getDriveTypeByApi()
+    this.initDictData('device_level')
+    this.initDictData('device_category')
+  },
+  mounted() {
+    window.addEventListener('resize', this.handleWindowResize)
+    this.handleWindowResize()
   },
   watch: {
     Type(valmath){
@@ -197,9 +290,39 @@
       } else {
         return '0'
       }
-    }
+    },
+
+    /**
+     * 鏍煎紡鍖栨椂闂�
+     * @param seconds 绉掓暟
+     * @returns '' 鏍煎紡鍖栧悗鏃堕棿瀛楃涓�
+     */
+    getFormattedTime(seconds) {
+      if (seconds) {
+        return parseFloat((seconds / 3600).toFixed(2))
+      } else {
+        return '0'
+      }
+    },
   },
   methods: {
+    initDictData(dictCode) {
+      // //浼樺厛浠庣紦瀛樹腑璇诲彇瀛楀吀閰嶇疆
+      if (getDictItemsFromCache(dictCode)) {
+        this[dictCode + '_list'] = getDictItemsFromCache(dictCode)
+        return
+      }
+      //鏍规嵁瀛楀吀Code, 鍒濆鍖栧瓧鍏告暟缁�
+      ajaxGetDictItems(dictCode, null).then((res) => {
+        if (res.success) {
+          this[dictCode + '_list'] = res.result
+          return
+        }
+      })
+    },
+    selectChange(value, key) {
+      this.queryParams[key] = value
+    },
     checkSameData(dataList){
       let cache = {};  //瀛樺偍鐨勬槸閿槸kclx 鐨勫�硷紝鍊兼槸kclx 鍦╥ndeces涓暟缁勭殑涓嬫爣
       let indices = [];  //鏁扮粍涓瘡涓�涓�兼槸涓�涓暟缁勶紝鏁扮粍涓殑姣忎竴涓厓绱犳槸鍘熸暟缁勪腑鐩稿悓kclx鐨勪笅鏍�
@@ -343,52 +466,54 @@
       if(!this.queryParam.startTime&&!this.queryParam.endTime)this.searchReset()
     },
     efficiencyOptionsOnChange(checkedList) {
-      let index = checkedList.indexOf('lyl')
-      if (index < 0) {
-        // this.$message.warn('涓嶈兘鍙栨秷鏌ヨ鍒╃敤鐜�')
-        this.$notification.warning({
-          message:'娑堟伅',
-          description:"涓嶈兘鍙栨秷鏌ヨ鍒╃敤鐜�"
-        })
-        return false
-      }
+      // let index = checkedList.indexOf('lyl')
+      // if (index < 0) {
+      //   // this.$message.warn('涓嶈兘鍙栨秷鏌ヨ鍒╃敤鐜�')
+      //   this.$notification.warning({
+      //     message:'娑堟伅',
+      //     description:"涓嶈兘鍙栨秷鏌ヨ鍒╃敤鐜�"
+      //   })
+      //   return false
+      // }
       this.checkedList = checkedList
     },
     searchQuery() {
-      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()
+      if(this.queryParam.typeTree == "1"){
+        this.queryParam.parentId =  this.queryParamEquip.parentId
+        this.queryParam.equipmentId = this.queryParamEquip.equipmentId
       }else{
-        this.$notification.warning({
-          message:'娑堟伅',
-          description:"璇烽�夋嫨鏃堕棿"
-        });
+        this.queryParam.parentId = this.queryParamPeople.parentId
+        this.queryParam.equipmentId = ""
       }
-      // this.onClearSelected()
+      Object.keys(this.queryParams).forEach(item => {
+        this.queryParam[item] = this.queryParams[item].join()
+        // 姝ゅ涓轰繚璇佹帴鍙e弬鏁颁笉澶氫綑锛屽彲鐪佺暐
+        if (this.queryParams[item].length === 0) delete this.queryParam[item]
+      })
+      this.loadData()
     },
     searchReset() {
       this.typeTree = this.queryParam.typeTree
       this.typeParent =  this.queryParam.parentId
       this.typeEquipment = this.queryParam.equipmentId
       this.queryParam = {}
-      this.dates = []
       this.queryParam.typeTree = this.typeTree
       this.queryParam.parentId = this.typeParent
       this.queryParam.equipmentId =  this.typeEquipment
+      this.dates = [moment().subtract('days', 8), moment().subtract('days', 1)]
+      this.queryParam.startTime = moment(this.dates[0]).format('YYYYMMDD')
+      this.queryParam.endTime = moment(this.dates[1]).format('YYYYMMDD')
       // this.ipagination.current = 1
+      this.queryParams = {
+        equipmentType: [],
+        driveType: [],
+        deviceLevel: [],
+        deviceCategory: []
+      }
       this.loadData();
-      // this.queryParam = {}
-      // this.dates = []
-      // this.loadData()
-      // this.onClearSelected()
     },
     loadData() {
+      this.spinning=true
       this.tableHeads = []
       this.dataList = []
       getAction(this.url.list, this.queryParam).then(res => {
@@ -396,21 +521,31 @@
           // console.log(res.result)
           this.tableHeads = res.result.dates
           this.dataList = res.result.mdcEfficiencyList
+          if (res.result.mdcEfficiencyList && !res.result.mdcEfficiencyList.length) {
+            this.$notification.info({
+              message: '娑堟伅',
+              description: '鏆傛棤璇ヨ澶囩被鍨嬫暟鎹�'
+            })
+          }
           this.checkSameData(this.dataList)
           this.checkSameData1(this.dataList)
           this.checkSameData2(this.dataList)
           this.combineCell();
           // this.initDeviceType(this.dataList)
         }
+      }).finally(()=>{
+        this.spinning=false
       })
     },
     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 + '' }
-          // })
+          this.equipmentTypeList = res.result.map(item => {
+            return {
+              label: item.equipmentTypeName,
+              value: item.equipmentTypeName
+            }
+          })
         } else {
           // this.$message.warning(res.message)
           this.$notification.warning({
@@ -421,6 +556,25 @@
       }).finally(() => {
         this.loading = false
       })
+    },
+
+    /**
+     * 璋冪敤鎺ュ彛鑾峰彇鎺у埗绯荤粺绫诲瀷
+     */
+    getDriveTypeByApi(){
+      api.getDriveTypeApi().then((res)=>{
+        if (res.success) this.driveTypeList = res.result
+      })
+    },
+
+    /**
+     * 鍒嗚鲸鐜囨敼鍙樻椂鍚屾椂鏀瑰彉琛ㄦ牸楂樺害宸蹭繚璇侀椤典竴杩涘叆涓嶆嫋鍔ㄥ瀭鐩存粴鍔ㄦ潯鏃跺嵆鍙嫋鍔ㄨ〃鏍兼按骞虫粴鍔ㄦ潯
+     */
+    handleWindowResize() {
+      const tableContainer = document.getElementById('EfficiencyPO') // 琛ㄦ牸瀹瑰櫒
+      const clientHeight = document.documentElement.clientHeight || document.body.clientHeight // 娴忚鍣ㄥ彲瑙嗗尯鍩熼珮搴�
+      const containerTopToClientTopHeight = tableContainer.getBoundingClientRect().top // 琛ㄦ牸瀹瑰櫒椤堕儴鍒版祻瑙堝櫒鍙鍖哄煙椤堕儴鐨勯棿璺�
+      tableContainer.style.height = (clientHeight - containerTopToClientTopHeight - 32) + 'px'
     }
   }
 }
@@ -432,12 +586,14 @@
   height: 100%;
   overflow: auto;
 }
+
 .table2 thead tr th:first-child,
 .table tbody tr .tdgu{
   position: sticky;
   left: 0;
   z-index: 1;
 }
+
 .table tbody tr .wenzi{
   /*writing-mode: vertical-lr;*/
   /*text-orientation: upright;*/
@@ -445,33 +601,39 @@
   writing-mode: vertical-lr;
   letter-spacing: 2px;
 }
+
 .table tbody tr .kaitou{
   z-index: 1;
   background-color: white;
 }
+
 .table tbody tr .tdgu1{
   position: sticky;
   left: 50px;
   z-index: 2;
 }
+
 .table tbody tr .tdgu2{
   position: sticky;
   left: 100px;
   z-index: 2;
 }
+
 .table tbody tr .tdgu3{
   position: sticky;
   left: 150px;
   z-index: 2;
 }
+
 .table tbody tr .tdgu4{
   position: sticky;
   left: 250px;
   z-index: 2;
 }
+
 .table tbody tr .tdgu5{
   position: sticky;
-  left: 400px;
+  left: 412px;
   z-index: 2;
 }
 
@@ -481,81 +643,61 @@
   top:0;
   z-index: 3;
 }
+
 .table2 thead .gudingth th{
   position: sticky;
   top: 32px;
   z-index: 2;
 }
+
 .table2 thead .equipname .name{
   z-index: 3;
 }
+
 .table2 thead .equipname .dong1{
   z-index: 4;
   left: 0;
-  /*border: 1px solid #000;*/
 }
+
 .table2 thead .equipname .dong2{
   z-index: 5;
   left: 50px;
 }
+
+
 .table2 thead .equipname .dong3{
   z-index: 5;
   left: 100px;
 }
+
 .table2 thead .equipname .dong4{
   z-index: 5;
   left: 150px;
 }
+
 .table2 thead .equipname .dong5{
   z-index: 5;
   left: 250px;
 }
+
 .table2 thead .equipname .dong6{
   z-index: 5;
-  left: 400px;
+  left: 412px;
 }
 
+#EfficiencyPO{
+  overflow: hidden;
+}
 
-
-@media screen and (min-width: 1920px){
-  #EfficiencyPO{
-    height: 687px!important;
-    overflow: scroll;
-  }
-}
-@media screen and (min-width: 1680px) and (max-width: 1920px){
-  #EfficiencyPO{
-    height: 687px!important;
-    overflow: scroll;
-  }
-}
-@media screen and (min-width: 1400px) and (max-width: 1680px){
-  #EfficiencyPO{
-    height: 540px!important;
-    overflow: scroll;
-  }
-}
-@media screen and (min-width: 1280px) and (max-width: 1400px){
-  #EfficiencyPO{
-    height: 440px!important;
-    overflow: scroll;
-  }
-}
-@media screen and (max-width: 1280px){
-  #EfficiencyPO{
-    height: 440px!important;
-    overflow: scroll;
-  }
-}
 .identifyingclass {
   width: 55px;
   height: 15px;
   display: inline-block
 }
+
 .dataContent {
   white-space: nowrap;
   /*margin: 0;*/
-  border: none;
   border-collapse: separate;
   border-spacing: 0;
   /*table-layout: fixed;*/
@@ -566,10 +708,6 @@
   /*overflow: hidden;*/
   /*overflow-y: auto;*/
   text-align: center;
-}
-
-.dataContent .fixed th {
-  width: 50px;
 }
 
 .dataContent .thead th {
@@ -583,23 +721,7 @@
   width: auto;
 }
 
-/*.dataContent tr td {*/
-  /*height: 35px;*/
-/*}*/
-
 .dataContent .mathData td {
   padding: 10px;
-  /*display: none;*/
 }
-
-.dataContent .mathData .td {
-  /*background-color: #ff9bd2;*/
-  display: inline-block;
-  padding: 10px;
-}
-
-.dataContent .mathData .tdd {
-  /*display: none;*/
-}
-
 </style>
\ No newline at end of file

--
Gitblit v1.9.3