From a751e547d67c4f8e2c6fddf958c1559f792515bd Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期五, 27 六月 2025 16:11:50 +0800
Subject: [PATCH] 添加工作流

---
 src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue |   37 ++++++++++++++++++++++++++-----------
 1 files changed, 26 insertions(+), 11 deletions(-)

diff --git a/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue b/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue
index 55d1dd3..71f489c 100644
--- a/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue
+++ b/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue
@@ -97,7 +97,10 @@
                 <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="exportLongTimeExcel('璁惧TEEP')" icon="download">澶ф暟鎹鍑�</a-button>
+                <a-button type="primary" @click="exportLongTimeExcel('璁惧TEEP')" icon="download"
+                          :loading="longTimeExportButtonLoading">
+                  澶ф暟鎹鍑�
+                </a-button>
                 <a-button type="primary" @click="handleShowFeedbackModal" icon="plus" v-has="'efficiency:feedback'">
                   寮傚父鍙嶉
                 </a-button>
@@ -294,7 +297,8 @@
         everyRequestDataSize: 15,// 姣忔璇锋眰鐨勫垪琛ㄩ」鏁扮洰
         toggleSearchStatus: false,
         modalVisible: false,// 寮傚父鍙嶉寮圭獥鏄惁寮瑰嚭
-        preSelectFirstDate: null
+        preSelectFirstDate: null,
+        longTimeExportButtonLoading: false
       }
     },
     props: { nodeTree: '', Type: '', nodePeople: '' },
@@ -522,12 +526,20 @@
         })
       },
       exportLongTimeExcel(fileName) {
-        // let param = this.getQueryParams()
-        // console.log('瀵煎嚭鍙傛暟', param)
-        const param = {
+        let param = {
           startTime: moment(this.dates[0]).format('YYYYMMDD'),
           endTime: moment(this.dates[1]).format('YYYYMMDD')
         }
+        Object.keys(this.queryParams).forEach(item => {
+          if (Array.isArray(this.queryParams[item])) {
+            param[item] = this.queryParams[item].join()
+            // 姝ゅ涓轰繚璇佹帴鍙e弬鏁颁笉澶氫綑锛屽彲鐪佺暐
+            if (this.queryParams[item].length === 0) delete param[item]
+          }
+        })
+        param = Object.assign({}, this.queryParam, param)
+
+        this.longTimeExportButtonLoading = true
         downFile(this.url.exportLongTimeXlsUrl, param)
           .then((data) => {
             if (!data) {
@@ -538,18 +550,25 @@
               return
             }
             if (typeof window.navigator.msSaveBlob !== 'undefined') {
-              window.navigator.msSaveBlob(new Blob([data], { type: 'application/vnd.ms-excel' }), fileName + '.xls')
+              window.navigator.msSaveBlob(new Blob([data], { type: 'application/vnd.ms-excel' }), fileName + '.xlsx')
             } 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')
+              link.setAttribute('download', fileName + '.xlsx')
               document.body.appendChild(link)
               link.click()
               document.body.removeChild(link) //涓嬭浇瀹屾垚绉婚櫎鍏冪礌
               window.URL.revokeObjectURL(url) //閲婃斁鎺塨lob瀵硅薄
             }
+          })
+          .finally(() => {
+            let timer = setTimeout(() => {
+              this.longTimeExportButtonLoading = false
+              clearTimeout(timer)
+              timer = null
+            }, 1000)
           })
       },
       showIdentifying() {
@@ -608,8 +627,6 @@
         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澶╁唴鐨勬暟鎹�
@@ -630,7 +647,6 @@
 
             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)
@@ -667,7 +683,6 @@
             .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) {

--
Gitblit v1.9.3