From fe470128a5432662cc3f394280c652c5ab023161 Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期三, 28 五月 2025 09:22:59 +0800
Subject: [PATCH] 1、设备TEEP/设备开动率/班次利用率页面新增异常反馈功能 2、设备TEEP页面实现滚动加载(每次滚动加载15条) 3、异常反馈页面增加手动新增反馈异常功能 4、利用率分段与走势分析页面解决重置按钮后请求日期与显示日期不相等问题

---
 src/views/mdc/base/modules/openRateTrendAnalysis/openRateTrendAnalysisMain.vue       |    9 
 src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue                   |   26 +
 src/views/mdc/base/modules/openRateFractionAnalysis/openRateFractionAnalysisMain.vue |    4 
 src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue                       |  625 +++++++++++++++++++++++++++------------------------
 src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue             |   34 +-
 src/views/mdc/base/modules/MdcMessageApproval/MdcMessageApprovalModal.vue            |    9 
 6 files changed, 391 insertions(+), 316 deletions(-)

diff --git a/src/views/mdc/base/modules/MdcMessageApproval/MdcMessageApprovalModal.vue b/src/views/mdc/base/modules/MdcMessageApproval/MdcMessageApprovalModal.vue
index b6e0511..8aa81ba 100644
--- a/src/views/mdc/base/modules/MdcMessageApproval/MdcMessageApprovalModal.vue
+++ b/src/views/mdc/base/modules/MdcMessageApproval/MdcMessageApprovalModal.vue
@@ -63,13 +63,16 @@
         type: Boolean
       },
       title: {
-        type: String
+        type: String,
+        default: '鏂板'
       },
       buttonId: {
-        type: Number
+        type: Number,
+        default: null
       },
       disableSubmit: {
-        type: Boolean
+        type: Boolean,
+        default: false
       }
     },
     data() {
diff --git a/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue b/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue
index f85f45e..a0e5f85 100644
--- a/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue
+++ b/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue
@@ -113,12 +113,12 @@
                   <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" @click="handleShowFeedbackModal" icon="plus" v-has="'EfficiencyPO:feedback'">寮傚父鍙嶉</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>
@@ -130,6 +130,13 @@
                   </td>
                 </tr>
               </table>
+            </a-col>
+          </a-row>
+
+          <a-row :gutter="24">
+            <a-col>
+              <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions"
+                                @change="efficiencyOptionsOnChange"/>
             </a-col>
           </a-row>
         </a-form>
@@ -230,6 +237,8 @@
         </div>
       </a-spin>
     </div>
+
+    <mdc-message-approval-modal ref="modalForm" :visible="modalVisible" @closeModal="modalVisible = false"/>
   </div>
 </template>
 
@@ -240,10 +249,11 @@
   import '@/components/table2excel/table2excel'
   import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api'
   import api from '@/api/mdc'
+  import MdcMessageApprovalModal from '../MdcMessageApproval/MdcMessageApprovalModal'
 
   export default {
     name: 'EfficiencyPOList',
-    components: {},
+    components: { MdcMessageApprovalModal },
     data() {
       return {
         typeTree: '',
@@ -280,7 +290,8 @@
         },
         tableHeads: [],
         spinning: false,
-        toggleSearchStatus: false
+        toggleSearchStatus: false,
+        modalVisible: false// 寮傚父鍙嶉寮圭獥鏄惁寮瑰嚭
       }
     },
     props: { nodeTree: '', Type: '', nodePeople: '' },
@@ -586,6 +597,13 @@
           this.spinning = false
         })
       },
+
+      // 鎺у埗寮傚父鍙嶉寮圭獥寮瑰嚭
+      handleShowFeedbackModal() {
+        this.$refs.modalForm.formParams = {}
+        this.modalVisible = true
+      },
+
       queryGroup() {
         getAction(this.url.queryEquipmentType).then(res => {
           if (res.success) {
diff --git a/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue b/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue
index d6a391d..8acbf86 100644
--- a/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue
+++ b/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue
@@ -1,251 +1,252 @@
 <template>
   <div class="efficiency_list" style="width: 100%">
-    <div :bordered="false">
-      <!-- 鏌ヨ鍖哄煙 -->
-      <div>
-        <div class="table-page-search-wrapper">
-          <a-form layout="inline" @keyup.enter.native="searchQuery">
-            <a-row :gutter="24">
-              <a-col :md="5" :sm="5">
-                <a-form-item label="璁惧绫诲瀷">
-                  <a-select
-                    :value="queryParams.equipmentType"
-                    mode="multiple"
-                    placeholder="璇烽�夋嫨璁惧绫诲瀷"
-                    allow-clear
-                    :maxTagCount="1"
-                    @change="selectChange($event,'equipmentType')"
-                  >
-                    <a-select-option v-for="(item,index) in equipmentTypeList" :value="item.value" :key="index">
-                      {{item.label}}
-                    </a-select-option>
-                  </a-select>
-                </a-form-item>
-              </a-col>
-              <a-col :md="6" :sm="6">
-                <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,index) in driveTypeList" :value="item.value" :key="index">
-                      {{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" :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,index) in device_level_list" :value="item.value" :key="index">
-                      {{item.label}}
-                    </a-select-option>
-                  </a-select>
-                </a-form-item>
-              </a-col>
-              <a-col :md="2" :sm="2">
-                <a
-                  @click="toggleSearchStatus=!toggleSearchStatus"
-                  @selectstart="$event.preventDefault()"
-                  style="display: inline-block;height: 32px;line-height: 32px"
-                >
-                  {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }}
-                  <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-                </a>
-              </a-col>
-            </a-row>
+    <!-- 鏌ヨ鍖哄煙 -->
+    <div class="table-page-search-wrapper">
+      <a-form layout="inline" @keyup.enter.native="searchQuery">
+        <a-row :gutter="24">
+          <a-col :md="5" :sm="5">
+            <a-form-item label="璁惧绫诲瀷">
+              <a-select
+                :value="queryParams.equipmentType"
+                mode="multiple"
+                placeholder="璇烽�夋嫨璁惧绫诲瀷"
+                allow-clear
+                :maxTagCount="1"
+                @change="selectChange($event,'equipmentType')"
+              >
+                <a-select-option v-for="(item,index) in equipmentTypeList" :value="item.value" :key="index">
+                  {{item.label}}
+                </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :md="6" :sm="6">
+            <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,index) in driveTypeList" :value="item.value" :key="index">
+                  {{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" :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,index) in device_level_list" :value="item.value" :key="index">
+                  {{item.label}}
+                </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :md="2" :sm="2">
+            <a
+              @click="toggleSearchStatus=!toggleSearchStatus"
+              @selectstart="$event.preventDefault()"
+              style="display: inline-block;height: 32px;line-height: 32px"
+            >
+              {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }}
+              <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
+            </a>
+          </a-col>
+        </a-row>
 
-            <a-row :gutter="24" v-if="toggleSearchStatus">
-              <a-col :md="5" :sm="5" :xs="5">
-                <a-form-item label="閲嶈绋嬪害">
-                  <a-select
-                    v-model="queryParam.deviceImportanceLevel"
-                    placeholder="璇烽�夋嫨璁惧閲嶈绋嬪害"
-                    allow-clear
-                  >
-                    <a-select-option v-for="(item,index) in device_importance_level_list" :value="item.value"
-                                     :key="index">
-                      {{item.label}}
-                    </a-select-option>
-                  </a-select>
-                </a-form-item>
-              </a-col>
-            </a-row>
+        <a-row :gutter="24" v-if="toggleSearchStatus">
+          <a-col :md="5" :sm="5" :xs="5">
+            <a-form-item label="閲嶈绋嬪害">
+              <a-select
+                v-model="queryParam.deviceImportanceLevel"
+                placeholder="璇烽�夋嫨璁惧閲嶈绋嬪害"
+                allow-clear
+              >
+                <a-select-option v-for="(item,index) in device_importance_level_list" :value="item.value"
+                                 :key="index">
+                  {{item.label}}
+                </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+        </a-row>
 
-            <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="'#Efficiency'"
-                              v-has="'efficiency: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"
-                        style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap">{{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>
+        <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" @click="exportOneYearExcel('璁惧TEEP')" icon="download">澶ф暟鎹鍑�</a-button>-->
+                <a-button type="primary" @click="handleShowFeedbackModal" icon="plus" v-has="'efficiency:feedback'">寮傚父鍙嶉</a-button>
+                <a-button type="primary" icon="printer" v-print="'#Efficiency'"
+                          v-has="'efficiency:print'">鎵撳嵃
+                </a-button>
+              </a-space>
+
+            </div>
+            <table cellpadding="5" cellspacing="1" style="border: 1px solid darkgray;">
+              <tr>
+                <td v-for="(item, index) in identifying"
+                    style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap">{{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-row :gutter="24">
+          <a-col>
+            <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions"
+                              @change="efficiencyOptionsOnChange"/>
+          </a-col>
+        </a-row>
+      </a-form>
+    </div>
+
+    <a-spin :spinning="spinning">
+      <div id="Efficiency" class="container" 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 class="thgu dong7 name" rowspan="2" style="min-width: 150px; max-width: 150px;width: 150px;">璁惧鍨嬪彿
+              </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">TEEP(%)</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 wenzi" :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 class="tdgu4 kaitou" style="min-width: 162px; max-width: 162px;width: 162px;">
+                  {{item.equipmentName}}
+                </td>
+                <td class="tdgu5 kaitou">{{item.equipmentType}}</td>
+                <td class="tdgu6 kaitou">{{item.equipmentModel}}</td>
+              </template>
+
+              <!--鍚堣涓庡钩鍧囧�煎尯鍩�-->
+              <template v-else>
+                <td colspan="7" 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.utilizationRate | 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>
+    </a-spin>
 
-      <a-spin :spinning="spinning">
-        <div id="Efficiency" class="container" 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 class="thgu dong7 name" rowspan="2" style="min-width: 150px; max-width: 150px;width: 150px;">璁惧鍨嬪彿
-                </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">TEEP(%)</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 wenzi" :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 class="tdgu4 kaitou" style="min-width: 162px; max-width: 162px;width: 162px;">
-                    {{item.equipmentName}}
-                  </td>
-                  <td class="tdgu5 kaitou">{{item.equipmentType}}</td>
-                  <td class="tdgu6 kaitou">{{item.equipmentModel}}</td>
-                </template>
-
-                <!--鍚堣涓庡钩鍧囧�煎尯鍩�-->
-                <template v-else>
-                  <td colspan="7" 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.utilizationRate | 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>
-      </a-spin>
-    </div>
+    <mdc-message-approval-modal ref="modalForm" :visible="modalVisible" @closeModal="modalVisible = false"/>
   </div>
 </template>
 
 <script>
   import moment from 'moment'
-  import { putAction, getAction } from '@/api/manage'
+  import { getAction, downFile } from '@/api/manage'
   import $ from 'jquery'
   import '@/components/table2excel/table2excel'
-  import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api'
+  import { ajaxGetDictItems, getDictItemsFromCache } from '@/api/api'
   import api from '@/api/mdc'
+  import MdcMessageApprovalModal from '../MdcMessageApproval/MdcMessageApprovalModal'
 
   export default {
     name: 'EfficiencyList',
-    components: {},
+    components: { MdcMessageApprovalModal },
     data() {
       return {
         typeTree: '',
         typeParent: 1,
         typeEquipment: 1,
-        TreeIDOne: 1,
-        TreeIDTwo: 2,
-        deviceTypeDict: '',
         dates: [],
         equipmentTypeList: [],
         driveTypeList: [],
@@ -273,10 +274,10 @@
         url: {
           list: '/mdc/efficiencyReport/efficiencyList',
           listByType: '/mdc/MdcUtilizationRate/getByType',
-          queryEquipmentType: '/mdc/mdcEquipmentType/queryEquipmentType'
+          queryEquipmentType: '/mdc/mdcEquipmentType/queryEquipmentType',
+          exportOneYearXlsUrl: ''
         },
         tableHeads: [],
-        distinguishColorList: [],
         utilizationRateRowAverage: '',
         openRateRowAverage: '',
         openLongRowAverage: '',
@@ -284,17 +285,17 @@
         waitLongRowAverage: '',
         closeLongRowAverage: '',
         spinning: false,
-        toggleSearchStatus: false
+        isLazyRequest: '',// 鏄惁寮�鍚噿鍔犺浇
+        requestAllDataSize: 8,// 鎬诲叡璇锋眰鐨勫垪琛ㄩ」鏁扮洰(榛樿鍊间负榛樿鏃ユ湡鐨勫樊鍊�+1)
+        everyRequestDataSize: 15,// 姣忔璇锋眰鐨勫垪琛ㄩ」鏁扮洰
+        toggleSearchStatus: false,
+        modalVisible: false// 寮傚父鍙嶉寮圭獥鏄惁寮瑰嚭
       }
     },
     props: { nodeTree: '', Type: '', nodePeople: '' },
     created() {
       this.showIdentifying()
-      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.queryParam.typeTree = '1'
-      this.loadData()
       this.queryGroup()
       this.getDriveTypeByApi()
       this.initDictData('device_level')
@@ -302,8 +303,14 @@
       this.initDictData('device_importance_level')
     },
     mounted() {
+      this.tableScroll = document.querySelector('.table2')
+      this.searchReset()
       window.addEventListener('resize', this.handleWindowResize)
       this.handleWindowResize()
+    },
+    beforeDestroy() {
+      this.tableScroll.removeEventListener('scroll', this.tableScrollX)
+      window.removeEventListener('resize', this.handleWindowResize)
     },
     watch: {
       Type(valmath) {
@@ -441,7 +448,6 @@
       },
       // 鍚堝苟
       combineCell() {
-        console.log(this.dataList)
         let list = this.dataList
         for (let field in list[0]) {
           var k = 0
@@ -467,33 +473,6 @@
         //Can not slect days before today and today
         return current && current > moment().subtract('days', 1)
       },
-      initDeviceType(deviceList) {
-        let dictCode = 'mdc_equipmentType'
-        let items = []
-        items = getDictItemsFromCache(dictCode)
-        if (deviceList && items.length > 0) {
-          for (let a = 0; a < deviceList.length; a++) {
-            if (items && items.length > 0) {
-              for (let i = 0; i < items.length; i++) {
-                if (deviceList[a].equipmentType == items[i].value) {
-                  deviceList[a].equipmentType = items[i].title
-                }
-              }
-            } else {
-              ajaxGetDictItems(dictCode, null).then((res) => {
-                if (res.success) {
-                  let items = res.result
-                  for (let i = 0; i < items.length; i++) {
-                    if (deviceList[a].equipmentType == items[i].value) {
-                      deviceList[a].equipmentType = items[i].title
-                    }
-                  }
-                }
-              })
-            }
-          }
-        }
-      },
       exportExcel() {
         $('#Efficiency').table2excel({
           exclude: '.noExl',
@@ -505,6 +484,33 @@
           exclude_inputs: false
         })
       },
+      exportOneYearExcel(fileName) {
+        // let param = this.getQueryParams()
+        // console.log('瀵煎嚭鍙傛暟', param)
+        downFile(this.url.exportOneYearXlsUrl)
+          .then((data) => {
+            if (!data) {
+              this.$notification.warning({
+                message: '娑堟伅',
+                description: '鏂囦欢涓嬭浇澶辫触'
+              })
+              return
+            }
+            if (typeof window.navigator.msSaveBlob !== 'undefined') {
+              window.navigator.msSaveBlob(new Blob([data], { type: 'application/vnd.ms-excel' }), fileName + '.xls')
+            } else {
+              let url = window.URL.createObjectURL(new Blob([data], { type: 'application/vnd.ms-excel' }))
+              let link = document.createElement('a')
+              link.style.display = 'none'
+              link.href = url
+              link.setAttribute('download', fileName + '.xls')
+              document.body.appendChild(link)
+              link.click()
+              document.body.removeChild(link) //涓嬭浇瀹屾垚绉婚櫎鍏冪礌
+              window.URL.revokeObjectURL(url) //閲婃斁鎺塨lob瀵硅薄
+            }
+          })
+      },
       showIdentifying() {
         getAction(this.url.listByType, { type: 'lyl' }).then(res => {
           if (res.success) {
@@ -515,23 +521,16 @@
       dateParamChange(v1, v2) {
         this.queryParam.startTime = v2[0]
         this.queryParam.endTime = v2[1]
-        // 鐐瑰嚮鏃堕棿閫夋嫨鍣ㄧ殑娓呯┖鎸夐挳鏃朵細瑙﹀彂姝ゅ垽鏂�(鐐瑰嚮閲嶇疆鎸夐挳涓嶄細瑙﹀彂)锛屽疄鐜伴噸缃垪琛ㄥ姛鑳斤紝鍒囧疄鏀瑰彉鍒楄〃鏄剧ず鏁堟灉
-        if (!this.queryParam.startTime && !this.queryParam.endTime) this.searchReset()
+        this.dates = [v1[0], v1[1]]
       },
       efficiencyOptionsOnChange(checkedList) {
-        // let index = checkedList.indexOf('lyl')
-        // if (index < 0) {
-        //   // this.$message.warn('涓嶈兘鍙栨秷鏌ヨ寮�鍔ㄧ巼')
-        //   this.$notification.warning({
-        //     message: '娑堟伅',
-        //     description: '涓嶈兘鍙栨秷鏌ヨ寮�鍔ㄧ巼'
-        //   })
-        //
-        //   return false
-        // }
         this.checkedList = checkedList
       },
       searchQuery() {
+        // 鍥犺Е搴曞埛鏂颁細淇敼鍙傛暟鏃堕棿鍊硷紝鏁呭湪姝ょ敤鏃堕棿閫夋嫨鍣ㄧ殑鏃堕棿鍊煎鍙傛暟鏃堕棿鍊煎啀娆¤祴鍊硷紝鑻ヤ笉杩欐牱鍋氬垯鍙傛暟鏃堕棿鍊煎垯浼氫笌鏃堕棿閫夋嫨鍣ㄤ笂鐨勬椂闂村�间笉涓�鑷�
+        this.queryParam.startTime = moment(this.dates[0]).format('YYYYMMDD')
+        this.queryParam.endTime = moment(this.dates[1]).format('YYYYMMDD')
+
         if (this.queryParam.typeTree == '1') {
           this.queryParam.parentId = this.queryParamEquip.parentId
           this.queryParam.equipmentId = this.queryParamEquip.equipmentId
@@ -539,6 +538,8 @@
           this.queryParam.parentId = this.queryParamPeople.parentId
           this.queryParam.equipmentId = ''
         }
+        this.requestAllDataSize = moment.duration(moment(this.queryParam.endTime) - moment(this.queryParam.startTime), 'millisecond').asDays() + 1
+
         Object.keys(this.queryParams).forEach(item => {
           if (Array.isArray(this.queryParams[item])) {
             this.queryParam[item] = this.queryParams[item].join()
@@ -557,6 +558,7 @@
         this.queryParam.parentId = this.typeParent
         this.queryParam.equipmentId = this.typeEquipment
         this.dates = [moment().subtract('days', 8), moment().subtract('days', 1)]
+        this.requestAllDataSize = this.dates[1].diff(this.dates[0], 'days') + 1
         this.queryParam.startTime = moment(this.dates[0]).format('YYYYMMDD')
         this.queryParam.endTime = moment(this.dates[1]).format('YYYYMMDD')
         this.queryParams = {
@@ -570,28 +572,82 @@
         this.tableHeads = []
         this.dataList = []
         this.spinning = true
+        console.log('requestAllDataSize', this.requestAllDataSize)
+        console.log('everyRequestDataSize', this.everyRequestDataSize)
+        // 鑻ユ棩鏈熼�夋嫨鍣ㄨ缃殑鏌ヨ璇锋眰鏁伴噺瓒呰繃15鏉″垯寮�鍚噿鍔犺浇
+        if (this.requestAllDataSize > this.everyRequestDataSize) {
+          // 寮�鍚噿鍔犺浇鍚庡皢缁撴潫鏃ユ湡璁剧疆涓哄紑濮嬫棩鏈熶箣鍚庣殑14澶╋紝鍗冲厛鏌ヨ15澶╁唴鐨勬暟鎹�
+          this.queryParam.endTime = moment(this.queryParam.startTime).add(this.everyRequestDataSize - 1, 'days').format('YYYYMMDD')
+          this.isLazyRequest = true
+          this.tableScroll.removeEventListener('scroll', this.tableScrollX) // 涓洪伩鍏嶆粴鍔ㄦ潯鏈夋粴鍔ㄨ窛绂诲悗鍚庣偣鍑绘煡璇㈡寜閽Е鍙戞粴鍔ㄤ簨浠讹紝鍥犳鍦ㄨЕ鍙戜簨浠跺墠绉婚櫎浜嬩欢
+        }
+
         getAction(this.url.list, this.queryParam).then(res => {
           if (res.success) {
-            this.tableHeads = res.result.dates
-            this.dataList = res.result.mdcEfficiencyList
             if (res.result.mdcEfficiencyList && !res.result.mdcEfficiencyList.length) {
               this.$notification.info({
                 message: '娑堟伅',
                 description: '鏆傛棤璇ョ被鍨嬫暟鎹�'
               })
+              return
             }
-            this.distinguishColorList = res.result.utilizationRateList
+
+            this.tableHeads = res.result.dates
+            this.dataList = res.result.mdcEfficiencyList
+            console.log('dataList', this.dataList)
             this.checkSameData(this.dataList)
             this.checkSameData1(this.dataList)
             this.checkSameData2(this.dataList)
             this.combineCell()
-            // this.columns.push(...dataColumns)
-            // this.initDeviceType(this.dataList)
+            this.tableScroll.addEventListener('scroll', this.tableScrollX)
           }
         }).finally(() => {
           this.spinning = false
         })
       },
+
+      // 鎺у埗寮傚父鍙嶉寮圭獥寮瑰嚭
+      handleShowFeedbackModal() {
+        this.$refs.modalForm.formParams = {}
+        this.modalVisible = true
+      },
+
+      // 婊氬姩鏉¤Е搴曞埛鏂拌〃鏍兼暟鎹�
+      tableScrollX() {
+        // 褰撴粴鍔ㄦ潯瑙﹀簳涓旀噿鍔犺浇寮�鍚椂瑙﹀彂婊氬姩鏉¤Е搴曞埛鏂�
+        if (Math.ceil(this.tableScroll.scrollLeft + this.tableScroll.clientWidth) + 1 >= this.tableScroll.scrollWidth && this.isLazyRequest) {
+          this.spinning = true
+          this.queryParam.startTime = moment(this.queryParam.endTime).add(1, 'days').format('YYYYMMDD')
+          // 鍒ゆ柇璁剧疆鎳掑姞杞藉悗鐨勭粨鏉熸椂闂存槸鍚﹁秴杩囨椂闂撮�夋嫨鍣ㄤ腑璁剧疆鐨勭粨鏉熸椂闂�
+          if (moment(this.queryParam.endTime).add(this.everyRequestDataSize - 1, 'days').format('YYYYMMDD') - moment(this.dates[1]).format('YYYYMMDD') < 0) {
+            //鍐嶆鏌ヨ鍚�15澶╁唴鐨勬暟鎹�
+            this.queryParam.endTime = moment(this.queryParam.endTime).add(this.everyRequestDataSize, 'days').format('YYYYMMDD')
+          } else {
+            // 濡傛灉涓嶅皬浜庢椂闂撮�夋嫨鍣ㄤ腑璁剧疆鐨勬椂闂村垯璁剧疆璇锋眰缁撴潫鏃ユ湡涓烘椂闂撮�夋嫨鍣ㄤ腑璁剧疆鐨勭粨鏉熸椂闂村苟涓斿叧闂噿鍔犺浇锛堟剰鍛崇潃鏈�鍚庝竴娆¤Е搴曞埛鏂帮級
+            this.queryParam.endTime = moment(this.dates[1]).format('YYYYMMDD')
+            this.isLazyRequest = false
+          }
+          getAction(this.url.list, this.queryParam)
+            .then(res => {
+              if (res.success) {
+                this.tableHeads = [...this.tableHeads.slice(0, -2), ...res.result.dates]
+                console.log('dataList', this.dataList)
+                this.dataList.forEach(item1 => {
+                  res.result.mdcEfficiencyList.forEach(item2 => {
+                    if (item1.equipmentId === item2.equipmentId) {
+                      item1.dataList = [...item1.dataList.slice(0, -2), ...item2.dataList]
+                    }
+                  })
+                })
+              }
+            })
+            .finally(() => {
+              this.spinning = false
+            })
+        }
+      },
+
+      // 鑾峰彇璁惧绫诲瀷鍒楄〃
       queryGroup() {
         getAction(this.url.queryEquipmentType).then(res => {
           if (res.success) {
@@ -610,18 +666,14 @@
         })
       },
 
-      /**
-       * 璋冪敤鎺ュ彛鑾峰彇鎺у埗绯荤粺绫诲瀷
-       */
+      // 鑾峰彇鎺у埗绯荤粺绫诲瀷鍒楄〃
       getDriveTypeByApi() {
         api.getDriveTypeApi().then((res) => {
           if (res.success) this.driveTypeList = res.result
         })
       },
 
-      /**
-       * 鍒嗚鲸鐜囨敼鍙樻椂鍚屾椂鏀瑰彉琛ㄦ牸楂樺害宸蹭繚璇侀椤典竴杩涘叆涓嶆嫋鍔ㄥ瀭鐩存粴鍔ㄦ潯鏃跺嵆鍙嫋鍔ㄨ〃鏍兼按骞虫粴鍔ㄦ潯
-       */
+      // 鍒嗚鲸鐜囨敼鍙樻椂鍚屾椂鏀瑰彉琛ㄦ牸楂樺害宸蹭繚璇侀椤典竴杩涘叆涓嶆嫋鍔ㄥ瀭鐩存粴鍔ㄦ潯鏃跺嵆鍙嫋鍔ㄨ〃鏍兼按骞虫粴鍔ㄦ潯
       handleWindowResize() {
         const tableContainer = document.getElementById('Efficiency') // 琛ㄦ牸瀹瑰櫒
         const clientHeight = document.documentElement.clientHeight || document.body.clientHeight // 娴忚鍣ㄥ彲瑙嗗尯鍩熼珮搴�
@@ -758,17 +810,10 @@
 
   .dataContent {
     white-space: nowrap;
-    /*margin: 0;*/
-    /*border: none;*/
     border-collapse: separate;
     border-spacing: 0;
-    /*table-layout: fixed;*/
     border: 1px solid #ccc;
-    /*border: 1px solid #ccc;*/
     width: 100%;
-    /*height: 100%;*/
-    /*overflow: hidden;*/
-    /*overflow-y: auto;*/
     text-align: center;
   }
 
diff --git a/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue b/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue
index d8fabe4..a112342 100644
--- a/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue
+++ b/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue
@@ -133,12 +133,11 @@
                     <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" @click="handleShowFeedbackModal" icon="plus" v-has="'efficiencyShiftReport:feedback'">寮傚父鍙嶉</a-button>
                     <a-button type="primary" icon="printer" v-print="'#EfficiencyShift'"
                               v-has="'efficiencyShiftReport: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>
@@ -150,6 +149,13 @@
                     </td>
                   </tr>
                 </table>
+              </a-col>
+            </a-row>
+
+            <a-row :gutter="24">
+              <a-col>
+                <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions"
+                                  @change="efficiencyOptionsOnChange"/>
               </a-col>
             </a-row>
           </a-form>
@@ -250,6 +256,8 @@
         </div>
       </a-spin>
     </div>
+
+    <mdc-message-approval-modal ref="modalForm" :visible="modalVisible" @closeModal="modalVisible = false"/>
   </div>
 </template>
 
@@ -260,10 +268,11 @@
   import '@/components/table2excel/table2excel'
   import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api'
   import api from '@/api/mdc'
+  import MdcMessageApprovalModal from '../MdcMessageApproval/MdcMessageApprovalModal'
 
   export default {
     name: 'EfficiencyShiftList',
-    components: {},
+    components: { MdcMessageApprovalModal },
     data() {
       return {
         typeTree: '',
@@ -310,7 +319,8 @@
         shiftList: [],
         shiftSubList: [],
         spinning: false,
-        toggleSearchStatus: false
+        toggleSearchStatus: false,
+        modalVisible: false// 寮傚父鍙嶉寮圭獥鏄惁寮瑰嚭
       }
     },
     props: { nodeTree: '', Type: '', nodePeople: '' },
@@ -569,15 +579,6 @@
         // 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
-        // }
         this.checkedList = checkedList
       },
       searchQuery() {
@@ -639,6 +640,13 @@
           this.spinning = false
         })
       },
+
+      // 鎺у埗寮傚父鍙嶉寮圭獥寮瑰嚭
+      handleShowFeedbackModal() {
+        this.$refs.modalForm.formParams = {}
+        this.modalVisible = true
+      },
+
       queryGroup() {
         getAction(this.url.queryEquipmentType).then(res => {
           if (res.success) {
diff --git a/src/views/mdc/base/modules/openRateFractionAnalysis/openRateFractionAnalysisMain.vue b/src/views/mdc/base/modules/openRateFractionAnalysis/openRateFractionAnalysisMain.vue
index 8aff73a..5b492c7 100644
--- a/src/views/mdc/base/modules/openRateFractionAnalysis/openRateFractionAnalysisMain.vue
+++ b/src/views/mdc/base/modules/openRateFractionAnalysis/openRateFractionAnalysisMain.vue
@@ -213,15 +213,14 @@
      * 鐢熷懡鍛ㄦ湡 鎸傝浇鍓�
      * */
     created() {
-      this.searchReset()
       this.queryGroup()
       this.getDriveTypeByApi()
       this.initDictData('device_level')
       this.initDictData('device_importance_level')
-
     },
     mounted() {
       this.tableScroll = document.querySelector('.table2')
+      this.searchReset()
       window.addEventListener('resize',this.handleWindowResize)
     },
     beforeDestroy() {
@@ -437,6 +436,7 @@
         }
         this.queryParam = {}
         this.dates = [moment().subtract('days', 8), moment().subtract('days', 1)]
+        this.requestAllDataSize = this.dates[1].diff(this.dates[0],'days') + 1
         this.queryParam.startDate = moment(this.dates[0]).format('YYYYMMDD')
         this.queryParam.endDate = moment(this.dates[1]).format('YYYYMMDD')
         this.queryParam.startTime = '00:00'
diff --git a/src/views/mdc/base/modules/openRateTrendAnalysis/openRateTrendAnalysisMain.vue b/src/views/mdc/base/modules/openRateTrendAnalysis/openRateTrendAnalysisMain.vue
index 2b86e83..f9c8fe8 100644
--- a/src/views/mdc/base/modules/openRateTrendAnalysis/openRateTrendAnalysisMain.vue
+++ b/src/views/mdc/base/modules/openRateTrendAnalysis/openRateTrendAnalysisMain.vue
@@ -201,7 +201,7 @@
       XData: [0],
       YData: [0],
       isLazyRequest: '',// 鏄惁寮�鍚噿鍔犺浇
-      requestAlldataSize: 8,// 鎬诲叡璇锋眰鐨勫垪琛ㄩ」鏁扮洰
+      requestAllDataSize: 8,// 鎬诲叡璇锋眰鐨勫垪琛ㄩ」鏁扮洰
       everyRequestDataSize: 15,// 姣忔璇锋眰鐨勫垪琛ㄩ」鏁扮洰
       toggleSearchStatus: false
     }
@@ -211,7 +211,6 @@
    * 鐢熷懡鍛ㄦ湡 鎸傝浇鍓�
    * */
   created() {
-    this.searchReset()
     this.queryGroup()
     this.getDriveTypeByApi()
     this.initDictData('device_level')
@@ -219,6 +218,7 @@
   },
   mounted() {
     this.tableScroll = document.querySelector('.table2')
+    this.searchReset()
     window.addEventListener('resize', this.handleWindowResize)
   },
   beforeDestroy() {
@@ -311,7 +311,7 @@
       this.tableHeads = []
       this.dataList = []
       // 鑻ユ棩鏈熼�夋嫨鍣ㄨ缃殑鏌ヨ璇锋眰鏁伴噺瓒呰繃15鏉″垯寮�鍚噿鍔犺浇
-      if (this.requestAlldataSize > 15) {
+      if (this.requestAllDataSize > 15) {
         // 寮�鍚噿鍔犺浇鍚庡皢缁撴潫鏃ユ湡璁剧疆涓哄紑濮嬫棩鏈熶箣鍚庣殑14澶╋紝鍗冲厛鏌ヨ15澶╁唴鐨勬暟鎹�
         this.queryParam.endDate = moment(this.queryParam.startDate).add(this.everyRequestDataSize - 1, 'days').format('YYYYMMDD')
         this.isLazyRequest = true
@@ -356,7 +356,7 @@
         this.queryParam.parentId = this.queryParamPeople.parentId
         this.queryParam.equipmentId = ''
       }
-      this.requestAlldataSize = moment.duration(moment(this.queryParam.endDate) - moment(this.queryParam.startDate), 'millisecond').asDays() + 1
+      this.requestAllDataSize = moment.duration(moment(this.queryParam.endDate) - moment(this.queryParam.startDate), 'millisecond').asDays() + 1
 
       Object.keys(this.queryParams).forEach(item => {
         if (Array.isArray(this.queryParams[item])) {
@@ -375,6 +375,7 @@
       }
       this.queryParam = {}
       this.dates = [moment().subtract('days', 8), moment().subtract('days', 1)]
+      this.requestAllDataSize = this.dates[1].diff(this.dates[0],'days') + 1
       this.queryParam.startDate = moment(this.dates[0]).format('YYYYMMDD')
       this.queryParam.endDate = moment(this.dates[1]).format('YYYYMMDD')
       this.loadData()

--
Gitblit v1.9.3