From 3e091224ab26252d8624b42b461ba773ee8bee0f Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期日, 03 十一月 2024 19:16:31 +0800
Subject: [PATCH] update

---
 src/views/mdc/time-analysis.vue |  133 ++++++++++++++++++++++++++++++--------------
 1 files changed, 91 insertions(+), 42 deletions(-)

diff --git a/src/views/mdc/time-analysis.vue b/src/views/mdc/time-analysis.vue
index 598302d..d2631f5 100644
--- a/src/views/mdc/time-analysis.vue
+++ b/src/views/mdc/time-analysis.vue
@@ -2,7 +2,7 @@
  * @Author: lzhe lzhe@example.com
  * @Date: 2024-04-26 09:36:18
  * @LastEditors: lzhe lzhe@example.com
- * @LastEditTime: 2024-06-05 11:37:24
+ * @LastEditTime: 2024-11-01 14:48:23
  * @FilePath: /smart-web/src/views/mdc/status-record.vue
  * @Description: 杩欐槸榛樿璁剧疆,璇疯缃甡customMade`, 鎵撳紑koroFileHeader鏌ョ湅閰嶇疆 杩涜璁剧疆: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 -->
@@ -35,7 +35,8 @@
                         </el-main>
                         <el-footer>
                             <el-button @click="query" type="primary">鏌ヨ</el-button>
-                            <el-button @click="exportData">瀵煎嚭</el-button>
+                            <!-- <el-button @click="exportVisible = true">瀵煎嚭</el-button> -->
+                            <exportDialog @export="exportExcel"></exportDialog>
                         </el-footer>
                     </el-container>
                 </el-aside>
@@ -91,7 +92,7 @@
                                     </div>
                                 </div>
                                 <!-- 鎸夋椂闂村懆鏈熺粺璁harts -->
-                                <div id="analysisA" v-if="setTitle.length != 0">
+                                <div id="analysisB" v-if="setTitle.length != 0">
                                     <div class="demo-collapse">
                                         <el-collapse v-model="activeNames1" accordion>
                                             <el-collapse-item v-for="(item,index) in setTitle1" :name="index + 1">
@@ -124,6 +125,7 @@
 </template>
 
 <script>
+import exportDialog from '@/layout/components/exportDialog.vue'
 import * as ElementPlusIconsVue from '@element-plus/icons-vue'
 let icons = []
 for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
@@ -134,7 +136,7 @@
 import MYTree from './MYTree.vue';
 export default {
     components: {
-        ...ElementPlusIconsVue,MYTree
+        ...ElementPlusIconsVue,MYTree,exportDialog
     },
     data() {
         return {
@@ -199,7 +201,6 @@
                         params.forEach(item=> {
                             dom += `<div>${item.marker}${item.seriesName}锛�${item.data}%</div>`
                         })
-                        console.log(params)
                         return dom;
                     }
                 },
@@ -218,6 +219,9 @@
                     show: true,
                     axisLabel: {
                         formatter: function (value) {
+                            if(value <= 1) {
+                                value = value * 100;
+                            }
                             return value + "%";
                         }
                     },
@@ -254,7 +258,10 @@
                     show: true,
                     axisLabel: {
                         formatter: function (value) {
-                            return value * 100 + "%";
+                            if(value <= 1) {
+                                value = value * 100;
+                            }
+                            return value + "%";
                         }
                     },
                     data: [2,20,40,60,80,100]
@@ -290,7 +297,10 @@
                     show: true,
                     axisLabel: {
                         formatter: function (value) {
-                            return value * 100 + "%";
+                            if(value <= 1) {
+                                value = value * 100;
+                            }
+                            return value + "%";
                         }
                     },
                     data: [2,20,40,60,80,100]
@@ -326,7 +336,10 @@
                     show: true,
                     axisLabel: {
                         formatter: function (value) {
-                            return value * 100 + "%";
+                            if(value <= 1) {
+                                value = value * 100;
+                            }
+                            return value + "%";
                         }
                     },
                     data: [2,20,40,60,80,100]
@@ -345,8 +358,26 @@
         this.getGlobal(); //鑾峰彇棰滆壊
     },
     methods: {
+        exportExcel(statisticalMethod) {
+            var ids = [];
+            this.treeChecked.forEach(item=> {
+                ids.push(item.id);
+            })
+            this.$HTTP.post(`/api/mdc/time-used-analysis/excel/export`, {
+                startTime: this.time[0],
+                endTime: this.time[1],
+                enums: statisticalMethod,
+                ids
+            }).then(res => {
+                if (res.success) {
+                    window.open(res.data.link)
+                } else {
+                    this.$message.error(res.msg)
+                }
+            })
+        },
         getGlobal() {
-            this.$HTTP.get(`/api/blade-cps/global_wcs/list`).then(res=> {
+            this.$HTTP.get(`/api/smis/global_wcs/list`).then(res=> {
                 if(res.code == 200) {
                     this.getGlobalColorList = res.data;
                 }
@@ -368,7 +399,7 @@
                     type: 1
                 }
             }
-            this.$HTTP.post(`/api/blade-mdc/time-used-analysis/workstation/shiftName`,obj).then(res=> {
+            this.$HTTP.post(`/api/mdc/time-used-analysis/workstation/shiftName`,obj).then(res=> {
                 if(res.code == 200) {
                     this.setTitle = res.data.shiftDetails;
                     res.data.shiftDetails.forEach(item=> {
@@ -470,7 +501,7 @@
             }else if(this.btnLeftctive == 2) { //鎸夊伐浣嶇粍缁熻
                 obj.type = 1;
             }
-            this.$HTTP.post(`/api/blade-mdc/time-used-analysis/work-stations?current=${this.current}&size=${this.size}`,obj).then(res=> {
+            this.$HTTP.post(`/api/mdc/time-used-analysis/work-stations?current=${this.current}&size=${this.size}`,obj).then(res=> {
                 if(res.code == 200) {
                     var xAxis = [];
                     res.data.workStationDetails.forEach(item=> {
@@ -481,11 +512,11 @@
                     this.chartOptionA.series = this.formatChartData(res.data.countStatus);
                     var myChart = echarts.init(recordDom);
                     myChart.setOption(this.chartOptionA);
-                    console.log(JSON.stringify(this.chartOptionA))
                 }
             })
         },
         getDataChartsB(enums,month) {
+            console.log(enums,month,this.date)
             var obj = {
                 enums: enums,
                 groupCategory: 1,
@@ -497,6 +528,9 @@
                 week: moment(this.date).get('week'),
                 year: moment(this.date).get('year')
             }
+            if(enums == "WEEK") {
+                obj.week = this.setTitle1[1].btnListActive.split("-")[1];
+            }
             if(month) {
                 obj.month = month;
             }
@@ -505,7 +539,7 @@
             }else if(this.btnLeftctive == 2) { //鎸夊伐浣嶇粍缁熻
                 obj.type = 1;
             }
-            this.$HTTP.post(`/api/blade-mdc/time-used-analysis/work-stations?current=${this.current}&size=${this.size}`,obj).then(res=> {
+            this.$HTTP.post(`/api/mdc/time-used-analysis/work-stations?current=${this.current}&size=${this.size}`,obj).then(res=> {
                 if(res.code == 200) {
                     var xAxis = [];
                     res.data.workStationDetails == null ? res.data.workStationDetails = [] : res.data.workStationDetails;
@@ -534,7 +568,7 @@
             })
         },
     	getTree2List() {  //鎸夊伐浣嶇粍缁熻
-			this.$HTTP.get(`/api/blade-cps/group/tree?groupCategory=1&groupType=group_workstation`).then(res=> {
+			this.$HTTP.get(`/api/smis/group/tree?groupCategory=1&groupType=group_workstation`).then(res=> {
 				if(res.code == 200) {
 					this.tree2 = res.data;
 				}
@@ -546,17 +580,21 @@
     	changeLeftTab(item) {
     		this.btnLeftctive = item.id;
             this.ids = [];
+            if(item.id == 2) {   //鎸夊伐浣嶇粺璁℃爲
+                this.getTree2List();
+            }
     	},
         tabChange(val) {
             this.activeName = val;
             if(val == "time") {  //鎸夋椂闂村懆鏈熺粺璁�
+                var len = this.btnList.length;
                 if(this.setTitle.length != 0) {
                     var obj = {
                         endDate: this.btnList[0].id,
-                        startDate: this.btnList[0].id,
+                        startDate: this.btnList[len-1].id,
                         statisticalMethod: "WEEK"
                     }
-                    this.$HTTP.post(`/api/blade-mdc/efficiency-analysis/interval`,obj).then(res=> {
+                    this.$HTTP.post(`/api/mdc/efficiency-analysis/interval`,obj).then(res=> {
                         if(res.code == 200) {
                             var dateInJuly = moment(this.btnList[0].id);  
                             // 鑾峰彇璇ユ湀浠界殑绗竴澶�  
@@ -564,8 +602,8 @@
                             // 鑾峰彇璇ユ湀浠界殑鏈�鍚庝竴澶�  
                             var lastDayOfJuly = dateInJuly.endOf('month').format('YYYY-MM-DD'); 
                             //璺ㄦ湀
-                            var startDate = moment(res.data[0].startDate).month() + 1;
-                            var endDate = moment(res.data[0].endDate).month() + 1;
+                            var startDate = moment(this.btnList[this.btnList.length - 1].id).month() + 1;
+                            var endDate = moment(this.btnList[0].id).month() + 1;
                             var arrMonth = [];
                             for (var i = startDate; i <= endDate; i++) {
                                 arrMonth.push({title: (i + "鏈�"),id: (i + "鏈�")});
@@ -576,9 +614,11 @@
                                 name: '鎸夋棩鏌ョ湅',
                                 btnListActive: this.btnList[0].id
                             },{
-                                btnList: [{title:moment(this.date).get('week') + "鍛�",id: moment(this.date).get('week') + "鍛�"}],
+                                //btnList: [{title:moment(this.date).get('week') + "鍛�",id: moment(this.date).get('week') + "鍛�"}],
+                                //btnListActive: moment(this.date).get('week') + "鍛�",
+                                btnList: res.data,
                                 name: '鎸夊懆鏌ョ湅',
-                                btnListActive: moment(this.date).get('week') + "鍛�",
+                                btnListActive: res.data[0].id,
                                 indexName : res.data[0].startDate + "鑷�" + res.data[0].endDate
                             },{
                                 btnList: arrMonth.reverse(),
@@ -587,27 +627,30 @@
                                 indexName : firstDayOfJuly + "鑷�" + lastDayOfJuly
                             });
                             this.setTitle1 = arr;
-                            this.getDataChartsB("DAY");
-                            this.getDataChartsB("MONTH");
-                            this.getDataChartsB("WEEK");
+                            this.date = this.btnList[0].id;
+                            this.$nextTick(()=> {
+                                this.getDataChartsB("DAY");
+                                this.getDataChartsB("MONTH");
+                                this.getDataChartsB("WEEK");
+                            })
                         }
                     })
                 }
             }else if(val == "shift") {  //鎸夌彮娆$粺璁�
-
+                this.query();
             }
         },
         exportData() {  //瀵煎嚭
-            var obj = {
-                endTime: this.time[1],
-                startTime: this.time[0],
-                workstationInfoList: this.workstationInfoList
-            }
-            this.$HTTP.post(`/api/blade-mdc/status-record/excel/export`,obj).then(res=> {
-                if(res.code == 200) {
-                    window.open(res.data.link);
-                }
-            })
+            // var obj = {
+            //     endTime: this.time[1],
+            //     startTime: this.time[0],
+            //     workstationInfoList: this.workstationInfoList
+            // }
+            // this.$HTTP.post(`/api/mdc/time-used-analysis/excel/export`,obj).then(res=> {
+            //     if(res.code == 200) {
+            //         window.open(res.data.link);
+            //     }
+            // })
         },
         changeTab(item) {
             this.btnListActive = item.id;
@@ -615,6 +658,7 @@
             this.getDataA();
         },
         changeTabB(item,index,index1) {
+            console.log(item,index,index1,this.setTitle1);
             this.setTitle1[index].btnListActive = item.id;
             this.date = this.setTitle1[0].btnListActive;
             if(index == 0) {
@@ -622,13 +666,20 @@
             }
             if(index == 1) {
                 this.getDataChartsB("WEEK");
+                this.setTitle1[index].indexName = item.startDate + "鑷�" + item.endDate
             }
             if(index == 2) {  //鏈�
+                var dateInJuly = moment(this.setTitle1[index].indexName.split("-")[0] + "-" + this.setTitle1[index].btnListActive.replace("鏈�","") + "-01"); 
+                // 鑾峰彇璇ユ湀浠界殑绗竴澶�  
+                var firstDayOfJuly = dateInJuly.startOf('month').format('YYYY-MM-DD');  
+                // 鑾峰彇璇ユ湀浠界殑鏈�鍚庝竴澶�  
+                var lastDayOfJuly = dateInJuly.endOf('month').format('YYYY-MM-DD'); 
+                this.setTitle1[index].indexName = firstDayOfJuly + "鑷�" + lastDayOfJuly;
                 this.getDataChartsB("MONTH",this.setTitle1[2].btnListActive.split("鏈�")[0]);
             }
         },
         getTime(data) {
-            this.$HTTP.post('/api/blade-mdc/efficiency-analysis/interval', {
+            this.$HTTP.post('/api/mdc/efficiency-analysis/interval', {
                 ...data
             }).then(res => {
                 if (res.code === 200) {
@@ -653,8 +704,10 @@
             this.date = this.time[1];
         },
         query() {
-            console.log(this.activeName)
-            this.getTime({endDate: this.time[1],startDate: this.time[0],statisticalMethod: 'SHIFT'});
+            this.getTime({endDate: this.time[1],startDate: this.time[0],statisticalMethod: "SHIFT"});
+            if(this.activeName != "shift") {
+                this.tabChange("time");
+            }
             this.date = this.time[1];
             this.ids = [];
             if(this.btnLeftctive == 1) {  //鎸夊伐浣嶇粺璁�
@@ -668,10 +721,6 @@
             }
             if(this.activeName == "shift") {  //鎸夌彮娆$粺璁�
                 this.getDataA();
-            }else if(this.activeName == "time") { //鎸夊懆鏈熺粺璁�
-                this.getDataChartsB("DAY");
-                this.getDataChartsB("WEEK");
-                this.getDataChartsB("MONTH",this.setTitle1[2].btnListActive.split("鏈�")[0]);
             }
         }
     }
@@ -789,7 +838,7 @@
         font-weight: bold;
     }
     .demo-collapse /deep/ .el-collapse-item__header {
-        background-color: #d8e8e8;
+        background-color: #7eb9f7;
         margin: 8px;
         height: 32px;
         padding-left: 16px;

--
Gitblit v1.9.3