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 | 137 ++++++++++++++++++++++++++++++++++----------- 1 files changed, 104 insertions(+), 33 deletions(-) diff --git a/src/views/mdc/time-analysis.vue b/src/views/mdc/time-analysis.vue index db957a4..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-10-07 22:58:05 + * @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"> <!-- 鏃ユ湡 --> @@ -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: [], @@ -298,7 +312,6 @@ if(value <= 1) { value = value * 100; } - console.log(value) return value + "%"; } }, @@ -357,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; } @@ -380,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=> { @@ -482,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=> { @@ -497,6 +531,7 @@ }) }, getDataChartsB(enums,month) { + console.log(enums,month,this.date) var obj = { enums: enums, groupCategory: 1, @@ -508,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; } @@ -516,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; @@ -545,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; } @@ -571,7 +609,7 @@ 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); // 鑾峰彇璇ユ湀浠界殑绗竴澶� @@ -579,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 + "鏈�")}); @@ -591,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(), @@ -612,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; @@ -633,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) { @@ -640,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) { @@ -671,7 +719,10 @@ this.date = this.time[1]; }, query() { - 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) { //鎸夊伐浣嶇粺璁� @@ -685,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]); } } } @@ -816,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