From e2fdfe540eaf160dc7d063c60667041edcc64e86 Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期二, 05 十一月 2024 22:55:14 +0800
Subject: [PATCH] 处理显示名称

---
 src/views/mdc/time-analysis.vue |  168 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 127 insertions(+), 41 deletions(-)

diff --git a/src/views/mdc/time-analysis.vue b/src/views/mdc/time-analysis.vue
index 522f01a..169941b 100644
--- a/src/views/mdc/time-analysis.vue
+++ b/src/views/mdc/time-analysis.vue
@@ -2,12 +2,12 @@
  * @Author: lzhe lzhe@example.com
  * @Date: 2024-04-26 09:36:18
  * @LastEditors: lzhe lzhe@example.com
- * @LastEditTime: 2024-06-05 14:06:08
+ * @LastEditTime: 2024-11-04 12:11:01
  * @FilePath: /smart-web/src/views/mdc/status-record.vue
  * @Description: 杩欐槸榛樿璁剧疆,璇疯缃甡customMade`, 鎵撳紑koroFileHeader鏌ョ湅閰嶇疆 杩涜璁剧疆: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 -->
 <template>
-    <el-main style="height: 100%;">
+    <el-main style="height: 100%;" class="timeAnalysis">
         <el-card shadow="never" style="height: 100%;" body-style="height: 100%;padding: 0;">
             <el-container style="height: 100%;">
                 <el-aside width="300px" style="height: 100%;">
@@ -35,12 +35,19 @@
                         </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>
                 <el-container>
-                    <el-main>
+                    <el-main style="position: relative;">
+                        <span class="setSpan">
+                            <el-icon class="setIcon">
+                                <Setting />
+                            </el-icon>
+                            <span class="setBtn" @click="openSet">鍒嗘瀽璁剧疆</span>
+                        </span>
                         <el-tabs tab-position="top" v-model="activeName" type="card" @tab-change="tabChange">
                             <el-tab-pane label="鎸夌彮娆$粺璁�" name="shift">
                                 <!-- 鏃ユ湡 -->
@@ -91,7 +98,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">
@@ -120,11 +127,16 @@
                 </el-container>
             </el-container>
         </el-card>
+        <el-dialog title="璁剧疆" v-model="dialogVisible" v-if="dialogVisible" width="30%" class="setModelStyle">
+            <Efficiency :showModalList="showModalList" />
+        </el-dialog>
     </el-main>
 </template>
 
 <script>
+import exportDialog from '@/layout/components/exportDialog.vue'
 import * as ElementPlusIconsVue from '@element-plus/icons-vue'
+import Efficiency from './configComp/Efficiency.vue'
 let icons = []
 for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
     icons.push(key)
@@ -134,10 +146,12 @@
 import MYTree from './MYTree.vue';
 export default {
     components: {
-        ...ElementPlusIconsVue,MYTree
+        ...ElementPlusIconsVue,MYTree,exportDialog,Efficiency
     },
     data() {
         return {
+            showModalList: [1],
+            dialogVisible: false,
             treeListNodeList: [],
             ids: [],
             activeNames: [],
@@ -199,7 +213,6 @@
                         params.forEach(item=> {
                             dom += `<div>${item.marker}${item.seriesName}锛�${item.data}%</div>`
                         })
-                        console.log(params)
                         return dom;
                     }
                 },
@@ -218,6 +231,9 @@
                     show: true,
                     axisLabel: {
                         formatter: function (value) {
+                            if(value <= 1) {
+                                value = value * 100;
+                            }
                             return value + "%";
                         }
                     },
@@ -254,7 +270,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 +309,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 +348,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 +370,29 @@
         this.getGlobal(); //鑾峰彇棰滆壊
     },
     methods: {
+        openSet() {
+            this.dialogVisible = true;
+        },
+        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 +414,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 +516,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 +527,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 +543,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 +554,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 +583,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 +595,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 +617,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 +629,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,6 +642,7 @@
                                 indexName : firstDayOfJuly + "鑷�" + lastDayOfJuly
                             });
                             this.setTitle1 = arr;
+                            this.date = this.btnList[0].id;
                             this.$nextTick(()=> {
                                 this.getDataChartsB("DAY");
                                 this.getDataChartsB("MONTH");
@@ -596,20 +652,20 @@
                     })
                 }
             }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;
@@ -617,6 +673,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) {
@@ -624,13 +681,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) {
@@ -655,8 +719,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) {  //鎸夊伐浣嶇粺璁�
@@ -670,10 +736,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]);
             }
         }
     }
@@ -791,7 +853,7 @@
         font-weight: bold;
     }
     .demo-collapse /deep/ .el-collapse-item__header {
-        background-color: #d8e8e8;
+        background-color: #7eb9f7;
         margin: 8px;
         height: 32px;
         padding-left: 16px;
@@ -801,4 +863,28 @@
         margin: 8px;
         padding-left: 16px;
     }
+    .setSpan {
+        vertical-align: sub;
+        font-size: 14px;
+        position: absolute;
+        top: 26px;
+        left: 280px;
+        z-index: 11;
+    }
+    .setIcon {
+        color: #409eff;
+        margin-left: 15px;
+        vertical-align: -2px;
+    }
+    .setBtn {
+        margin-left: 2px;
+        color: #409eff;
+        margin-left: 8px;
+        cursor: pointer;
+        font-size: 14px;
+    }
+    .timeAnalysis >>> .el-dialog__body {
+        padding-bottom: 0px;
+        padding-top: 0px;
+    }
 </style>
\ No newline at end of file

--
Gitblit v1.9.3