From 12fb4b8e4fb75347b25f3ba473b930408ed2ec05 Mon Sep 17 00:00:00 2001 From: zhuzhuanzhuan Date: 星期五, 22 九月 2023 17:49:18 +0800 Subject: [PATCH] 1、优化查询时若无选择日期的提示信息 2、增加部分加载时间较长的数据的加载动画 --- src/views/mdc/base/modules/openRateTrendAnalysis/openRateTrendAnalysisMain.vue | 250 +++++++---- src/views/mdc/base/modules/StatisticalAnalysis/StatisticalAnalysisMain.vue | 63 +- src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue | 21 src/views/mdc/base/modules/openRateFractionAnalysis/openRateFractionAnalysisMain.vue | 266 +++++++----- src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue | 21 src/mixins/JeecgListMixin.js | 6 src/views/mdc/base/modules/StatisticsChart/StatisticsLegend.vue | 26 src/views/jeecg/modules/JeecgDemoModal.vue | 1 src/views/mdc/base/modules/comparativeAnalysis/comparativeAnalysismain.vue | 71 +- src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue | 4 src/views/mdc/base/modules/equipmentAvailCompare/equipmentAvailCompareMain.vue | 408 ++++++++++--------- src/views/mdc/base/modules/alarmAnalysis/alarmAnalysisMain.vue | 22 src/views/mdc/base/modules/equipmentDayAvail/equipmentDayAvailMain.vue | 72 +- 13 files changed, 692 insertions(+), 539 deletions(-) diff --git a/src/mixins/JeecgListMixin.js b/src/mixins/JeecgListMixin.js index c18cf87..d126172 100644 --- a/src/mixins/JeecgListMixin.js +++ b/src/mixins/JeecgListMixin.js @@ -352,9 +352,9 @@ this.$warning({ title: message, content: (<div> - <span>{msg}</span><br/> - <span>鍏蜂綋璇︽儏璇� <a href={href} target="_blank" download={fileName}>鐐瑰嚮涓嬭浇</a> </span> - </div> + <span>{msg}</span><br/> + <span>鍏蜂綋璇︽儏璇� <a href={href} target="_blank" download={fileName}>鐐瑰嚮涓嬭浇</a> </span> + </div> ) }) } else { diff --git a/src/views/jeecg/modules/JeecgDemoModal.vue b/src/views/jeecg/modules/JeecgDemoModal.vue index 9b97d8f..de22892 100644 --- a/src/views/jeecg/modules/JeecgDemoModal.vue +++ b/src/views/jeecg/modules/JeecgDemoModal.vue @@ -40,7 +40,6 @@ <a-form-model-item label="涓汉绠�浠�" prop="content" hasFeedback> <a-input type="textarea" placeholder="璇疯緭鍏ヤ釜浜虹畝浠�" v-model="model.content"/> </a-form-model-item> - </a-form-model> </a-spin> </a-modal> diff --git a/src/views/mdc/base/modules/StatisticalAnalysis/StatisticalAnalysisMain.vue b/src/views/mdc/base/modules/StatisticalAnalysis/StatisticalAnalysisMain.vue index 676ac5c..64d02ca 100644 --- a/src/views/mdc/base/modules/StatisticalAnalysis/StatisticalAnalysisMain.vue +++ b/src/views/mdc/base/modules/StatisticalAnalysis/StatisticalAnalysisMain.vue @@ -14,7 +14,7 @@ <a-date-picker v-model="queryParams.collectTime" :disabledDate="disabledDate" format='YYYY-MM-DD' @change="dataChange"/> </a-form-item> </a-col> - <a-col :md="3" :sm="3" :xs="3"> + <a-col :md="2" :sm="2" :xs="2"> <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button> </a-col> <a-col :md="2" :sm="2" :xs="2"> @@ -409,32 +409,38 @@ StartupLine.setOption(statChartPieOption2); }, queryStatistical(){ - getAction(this.url.dayStatisticalRate,this.queryParams).then(res =>{ - if(res.success) { - // console.log(res); - this.StatCharOpeningRate = res.result.openRate; - //鍒╃敤鐜� - this.StatCharUsedRate = res.result.utilizationRate; - //寮�鏈虹巼 - this.UtilizationHeight = res.result.openRate; - this.StatCharUsedopeningRate = res.result.StartupHeight; - this.StartupHeight = res.result.StartupHeight; - this.openingLong = this.getTime(res.result.openLong) - this.waitingLong = this.getTime(res.result.waitLong); - this.processLong = this.getTime(res.result.processLong); - this.closedLong = this.getTime(res.result.closeLong); - this.totalLong = parseInt(this.openingLong) + parseInt(this.closedLong); - this.draw(); - }else{ - this.draw() - } - }) + if(this.queryParams.collectTime){ + getAction(this.url.dayStatisticalRate,this.queryParams).then(res =>{ + if(res.success) { + // console.log(res); + this.StatCharOpeningRate = res.result.openRate; + //鍒╃敤鐜� + this.StatCharUsedRate = res.result.utilizationRate; + //寮�鏈虹巼 + this.UtilizationHeight = res.result.openRate; + this.StatCharUsedopeningRate = res.result.StartupHeight; + this.StartupHeight = res.result.StartupHeight; + this.openingLong = this.getTime(res.result.openLong) + this.waitingLong = this.getTime(res.result.waitLong); + this.processLong = this.getTime(res.result.processLong); + this.closedLong = this.getTime(res.result.closeLong); + this.totalLong = parseInt(this.openingLong) + parseInt(this.closedLong); + this.draw(); + } + }) + }else{ + this.$notification.warning({ + message:'娑堟伅', + description:'璇烽�夋嫨鏃堕棿' + }) + } }, dataChange(val) { this.queryParam.collectTime1 = ""; - this.queryParams.dateTime = val.format('YYYYMMDD') - this.queryParams.collectTime = val.format('YYYY-MM-DD'); - + if(val){ + this.queryParams.dateTime = val.format('YYYYMMDD') + this.queryParams.collectTime = val.format('YYYY-MM-DD'); + } }, initEquipmentNode() { let _this = this @@ -474,7 +480,7 @@ this.queryParam = {} this.queryParams = {} // this.dates = [] - this.queryStatistical() + // this.queryStatistical() // this.onClearSelected() }, searchQuery(){ @@ -483,26 +489,19 @@ }, watch: { equip(val) { - // console.log(val); if (val && val.equipmentId) { this.$set(this.queryParam, 'tierName', val.title) this.$set(this.queryParam, 'equipmentId', val.equipmentId) this.queryParams.parentId = '' this.queryParams.equipmentId = val.equipmentId - this.searchQuery() }else{ this.queryParams.parentId = val.key this.queryParams.equipmentId = '' this.$set(this.queryParam, 'tierName', val.title) - this.searchQuery() } this.searchQuery() } - // this.searchQuery(); - - } - } </script> diff --git a/src/views/mdc/base/modules/StatisticsChart/StatisticsLegend.vue b/src/views/mdc/base/modules/StatisticsChart/StatisticsLegend.vue index c025553..f861422 100644 --- a/src/views/mdc/base/modules/StatisticsChart/StatisticsLegend.vue +++ b/src/views/mdc/base/modules/StatisticsChart/StatisticsLegend.vue @@ -14,7 +14,7 @@ <a-date-picker v-model="queryParams.collectTime" :disabledDate="disabledDate" format='YYYY-MM-DD' @change="dataChange"/> </a-form-item> </a-col> - <a-col :md="3" :sm="3" :xs="3"> + <a-col :md="2" :sm="2" :xs="2"> <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button> </a-col> <a-col :md="2" :sm="2" :xs="2"> @@ -589,9 +589,9 @@ StartupLine.setOption(StartupLine_option); }, queryStatistical(){ + if(this.queryParams.collectTime){ getAction(this.url.dayStatisticalRate,this.queryParams).then(res =>{ if(res.success){ - // console.log(res); this.StatCharOpeningRate = res.result.openRate; this.StatCharUsedRate = res.result.utilizationRate; this.UtilizationHeight = res.result.openRate; @@ -604,16 +604,20 @@ this.totalLong = parseInt(this.openingLong) + parseInt(this.closedLong); this.draw(); } - else{ - this.draw(); - } }) + }else{ + this.$notification.warning({ + message:'娑堟伅', + description:'璇烽�夋嫨鏃堕棿' + }) + } }, dataChange(val) { this.queryParam.collectTime1 = ""; - this.queryParams.dateTime = val.format('YYYYMMDD') - this.queryParams.collectTime = val.format('YYYY-MM-DD'); - + if(val){ + this.queryParams.dateTime = val.format('YYYYMMDD') + this.queryParams.collectTime = val.format('YYYY-MM-DD'); + } }, initEquipmentNode(id) { let _this = this @@ -652,7 +656,7 @@ this.queryParam = {} this.queryParams = {} // this.dates = [] - this.queryStatistical() + // this.queryStatistical() // this.onClearSelected() }, searchQuery(){ @@ -667,18 +671,14 @@ this.$set(this.queryParam, 'equipmentId', val.equipmentId) this.queryParams.parentId = '' this.queryParams.equipmentId = val.equipmentId - this.searchQuery() }else{ this.queryParams.parentId = val.key this.queryParams.equipmentId = '' this.$set(this.queryParam, 'tierName', val.title) - this.searchQuery() } this.searchQuery() } // this.searchQuery(); - - } } diff --git a/src/views/mdc/base/modules/alarmAnalysis/alarmAnalysisMain.vue b/src/views/mdc/base/modules/alarmAnalysis/alarmAnalysisMain.vue index fd7c515..ec4ca0b 100644 --- a/src/views/mdc/base/modules/alarmAnalysis/alarmAnalysisMain.vue +++ b/src/views/mdc/base/modules/alarmAnalysis/alarmAnalysisMain.vue @@ -236,14 +236,22 @@ this.queryParam.endDate = v2[1] }, searchQuery() { - if (this.queryParam.typeTree == "1") { - this.queryParam.parentId = this.queryParamEquip.parentId - this.queryParam.equipmentId = this.queryParamEquip.equipmentId - } else { - this.queryParam.parentId = this.queryParamPeople.parentId - this.queryParam.equipmentId = "" + if (this.dates&&this.dates.length>0){ + if (this.queryParam.typeTree == "1") { + this.queryParam.parentId = this.queryParamEquip.parentId + this.queryParam.equipmentId = this.queryParamEquip.equipmentId + } else { + this.queryParam.parentId = this.queryParamPeople.parentId + this.queryParam.equipmentId = "" + } + this.loadData1() + } else{ + this.$notification.warning({ + message:'鎻愮ず', + description:'璇烽�夋嫨鏃堕棿' + }) } - this.loadData1() + // this.onClearSelected() }, // searchReset() { diff --git a/src/views/mdc/base/modules/comparativeAnalysis/comparativeAnalysismain.vue b/src/views/mdc/base/modules/comparativeAnalysis/comparativeAnalysismain.vue index b586a1c..8142dcc 100644 --- a/src/views/mdc/base/modules/comparativeAnalysis/comparativeAnalysismain.vue +++ b/src/views/mdc/base/modules/comparativeAnalysis/comparativeAnalysismain.vue @@ -136,7 +136,6 @@ } }, nodePeople(val){ - if (JSON.stringify(val) != '{}') { if (val.equipmentId) { // this.$set(this.queryParam, 'tierName', val.title) @@ -177,40 +176,46 @@ }) }, searchQuery(){ - this.AnalysisList = [] - this.AnalysisBarList = [] - this.AnalysisGauge = [] - this.AnalysisPie = [] - if(this.queryParams.typeTree == "1"){ - this.queryParams.parentId = this.queryParamEquip.parentId - // this.queryParams.equipmentId = this.queryParamEquip.equipmentId - - }else{ - this.queryParams.parentId = this.queryParamEquip.parentId - - // this.queryParams.equipmentId = "" - } - this.AnalysisList = []; - //鑾峰彇鏌ヨ鏉′欢 - this.queryParam.parentId = this.queryParams.parentId; - this.queryParam.equipmentId = this.queryParams.equipmentId; - this.queryParam.typeTree = this.queryParams.typeTree - getAction(this.url.comparativeAnalysis,this.queryParam).then((res) => { - if(res.success){ - this.AnalysisList = res.result - this.AnalysisBarList = res.result.graphics - this.AnalysisGauge = res.result.meters - this.AnalysisPie.push(res.result.pieCharts) + if(this.dates&&this.dates.length>0){ + this.AnalysisList = [] + this.AnalysisBarList = [] + this.AnalysisGauge = [] + this.AnalysisPie = [] + if(this.queryParams.typeTree == "1"){ + this.queryParams.parentId = this.queryParamEquip.parentId + // this.queryParams.equipmentId = this.queryParamEquip.equipmentId }else{ - // this.$message.warning(res.message) - this.$notification.warning({ - message:'娑堟伅', - description:res.message - }); + this.queryParams.parentId = this.queryParamEquip.parentId + // this.queryParams.equipmentId = "" } - }).finally(() => { - this.loading = false - }) + this.AnalysisList = [] + //鑾峰彇鏌ヨ鏉′欢 + this.queryParam.parentId = this.queryParams.parentId; + this.queryParam.equipmentId = this.queryParams.equipmentId; + this.queryParam.typeTree = this.queryParams.typeTree + getAction(this.url.comparativeAnalysis,this.queryParam).then((res) => { + if(res.success){ + this.AnalysisList = res.result + this.AnalysisBarList = res.result.graphics + this.AnalysisGauge = res.result.meters + this.AnalysisPie.push(res.result.pieCharts) + }else{ + // this.$message.warning(res.message) + this.$notification.warning({ + message:'娑堟伅', + description:res.message + }); + } + }).finally(() => { + this.loading = false + }) + }else{ + this.$notification.warning({ + message:'鎻愮ず' , + description:'璇烽�夋嫨鏃堕棿' + }) + } + }, searchReset() { this.AnalysisList = [] diff --git a/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue b/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue index e401e89..ceb9705 100644 --- a/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue +++ b/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue @@ -329,6 +329,8 @@ dateParamChange(v1, v2) { this.queryParam.startTime = v2[0] this.queryParam.endTime = v2[1] + // 鐐瑰嚮鏃堕棿閫夋嫨鍣ㄧ殑娓呯┖鎸夐挳鏃朵細瑙﹀彂姝ゅ垽鏂�(鐐瑰嚮閲嶇疆鎸夐挳涓嶄細瑙﹀彂)锛屽疄鐜伴噸缃垪琛ㄥ姛鑳斤紝鍒囧疄鏀瑰彉鍒楄〃鏄剧ず鏁堟灉 + if(!this.queryParam.startTime&&!this.queryParam.endTime)this.searchReset() }, efficiencyOptionsOnChange(checkedList) { let index = checkedList.indexOf('lyl') @@ -343,14 +345,21 @@ this.checkedList = checkedList }, searchQuery() { - if(this.queryParam.typeTree == "1"){ - this.queryParam.parentId = this.queryParamEquip.parentId - this.queryParam.equipmentId = this.queryParamEquip.equipmentId + if(this.dates != ''){ + if(this.queryParam.typeTree == "1"){ + this.queryParam.parentId = this.queryParamEquip.parentId + this.queryParam.equipmentId = this.queryParamEquip.equipmentId + }else{ + this.queryParam.parentId = this.queryParamPeople.parentId + this.queryParam.equipmentId = "" + } + this.loadData() }else{ - this.queryParam.parentId = this.queryParamPeople.parentId - this.queryParam.equipmentId = "" + this.$notification.warning({ + message:'娑堟伅', + description:"璇烽�夋嫨鏃堕棿" + }); } - this.loadData() // this.onClearSelected() }, searchReset() { diff --git a/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue b/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue index a42a1c8..62623ce 100644 --- a/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue +++ b/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue @@ -336,6 +336,8 @@ dateParamChange(v1, v2) { this.queryParam.startTime = v2[0] this.queryParam.endTime = v2[1] + // 鐐瑰嚮鏃堕棿閫夋嫨鍣ㄧ殑娓呯┖鎸夐挳鏃朵細瑙﹀彂姝ゅ垽鏂�(鐐瑰嚮閲嶇疆鎸夐挳涓嶄細瑙﹀彂)锛屽疄鐜伴噸缃垪琛ㄥ姛鑳斤紝鍒囧疄鏀瑰彉鍒楄〃鏄剧ず鏁堟灉 + if(!this.queryParam.startTime&&!this.queryParam.endTime)this.searchReset() }, efficiencyOptionsOnChange(checkedList) { let index = checkedList.indexOf('lyl') @@ -374,14 +376,21 @@ // // this.onClearSelected() // }, searchQuery() { - if(this.queryParam.typeTree == "1"){ - this.queryParam.parentId = this.queryParamEquip.parentId - this.queryParam.equipmentId = this.queryParamEquip.equipmentId + if(this.dates != ''){ + if(this.queryParam.typeTree == "1"){ + this.queryParam.parentId = this.queryParamEquip.parentId + this.queryParam.equipmentId = this.queryParamEquip.equipmentId + }else{ + this.queryParam.parentId = this.queryParamPeople.parentId + this.queryParam.equipmentId = "" + } + this.loadData() }else{ - this.queryParam.parentId = this.queryParamPeople.parentId - this.queryParam.equipmentId = "" + this.$notification.warning({ + message:'娑堟伅', + description:"璇烽�夋嫨鏃堕棿" + }); } - this.loadData() // this.onClearSelected() }, searchReset() { diff --git a/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue b/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue index e37659d..a5a6391 100644 --- a/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue +++ b/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue @@ -406,6 +406,8 @@ dateParamChange(v1, v2) { this.queryParam.startTime = v2[0] this.queryParam.endTime = v2[1] + // 鐐瑰嚮鏃堕棿閫夋嫨鍣ㄧ殑娓呯┖鎸夐挳鏃朵細瑙﹀彂姝ゅ垽鏂�(鐐瑰嚮閲嶇疆鎸夐挳涓嶄細瑙﹀彂)锛屽疄鐜伴噸缃垪琛ㄥ姛鑳斤紝鍒囧疄鏀瑰彉鍒楄〃鏄剧ず鏁堟灉 + if(!this.queryParam.startTime&&!this.queryParam.endTime)this.searchReset() }, efficiencyOptionsOnChange(checkedList) { let index = checkedList.indexOf('lyl') @@ -431,13 +433,11 @@ this.loadData() }else{ // this.$message.warning("璇烽�夋嫨鏃堕棿") - console.log('瑙﹀彂鎻愮ず') this.$notification.warning({ message:'娑堟伅', description:"璇烽�夋嫨鏃堕棿" }); } - // this.onClearSelected() }, searchReset() { diff --git a/src/views/mdc/base/modules/equipmentAvailCompare/equipmentAvailCompareMain.vue b/src/views/mdc/base/modules/equipmentAvailCompare/equipmentAvailCompareMain.vue index fd413b7..faba4d8 100644 --- a/src/views/mdc/base/modules/equipmentAvailCompare/equipmentAvailCompareMain.vue +++ b/src/views/mdc/base/modules/equipmentAvailCompare/equipmentAvailCompareMain.vue @@ -1,52 +1,53 @@ <template> - <a-card :bordered="false" class="device_list"> - <div class="com_box"> - <!-- 鏌ヨ鍖哄煙 --> - <div style="width: 100%; background-color: #fff" class="table-page-search-wrapper"> - <a-form layout="inline" @keyup.enter.native="searchQuery"> - <a-row :gutter="24"> - <a-col :md="4" :sm="4"> - <a-form-item label="璁惧缂栧彿"> - <a-input placeholder="杈撳叆璁惧缂栧彿鏌ヨ" :readOnly="readOnly" v-model="queryParams.equipmentId"></a-input> - </a-form-item> - </a-col> - <a-col :md="4" :sm="4"> - <a-form-item label="璁惧鍚嶇О"> - <a-input placeholder="杈撳叆璁惧鍚嶇О鏌ヨ" :readOnly="readOnly" v-model="queryParams.equipmentName"></a-input> - </a-form-item> - </a-col> - <a-col :md="5" :sm="5" :xs="5"> - <a-form-item label="鏃堕棿"> - <a-range-picker @change="dateParamChange" v-model="dates" format="YYYYMMDD"/> - </a-form-item> - </a-col> - <a-col :md="7" :sm="7" :xs="7"> - <a-form-item label="鏃堕棿娈�"> - <a-time-picker :default-value="moment('00:00', 'HH:mm')" format="HH:mm" @change="onChangeStart" /> - 鑷� - <a-time-picker :default-value="moment('08:00', 'HH:mm')" format="HH:mm" @change="onChangeEnd" /> - </a-form-item> - </a-col> - <a-col :md="2" :sm="3" :xs="3"> - <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button> - </a-col> - <!--<a-col :md="2" :sm="2" :xs="2">--> - <!--<a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>--> - <!--</a-col>--> - </a-row> - </a-form> - </div> - <!-- table鍖哄煙-begin --> - <div id="DeviceList"> - - <div style="padding: 5px;width: 100%;height: 100%"> - <div style="width: 100%;height: 100%" id="dayAvailBar"></div> - <!--<div id="dayAvailLine"></div>--> + <a-spin :spinning="loading"> + <a-card :bordered="false" class="device_list"> + <div class="com_box"> + <!-- 鏌ヨ鍖哄煙 --> + <div style="width: 100%; background-color: #fff" class="table-page-search-wrapper"> + <a-form layout="inline" @keyup.enter.native="searchQuery"> + <a-row :gutter="24"> + <a-col :md="4" :sm="4"> + <a-form-item label="璁惧缂栧彿"> + <a-input placeholder="杈撳叆璁惧缂栧彿鏌ヨ" :readOnly="readOnly" v-model="queryParams.equipmentId"></a-input> + </a-form-item> + </a-col> + <a-col :md="4" :sm="4"> + <a-form-item label="璁惧鍚嶇О"> + <a-input placeholder="杈撳叆璁惧鍚嶇О鏌ヨ" :readOnly="readOnly" v-model="queryParams.equipmentName"></a-input> + </a-form-item> + </a-col> + <a-col :md="5" :sm="5" :xs="5"> + <a-form-item label="鏃堕棿"> + <a-range-picker @change="dateParamChange" v-model="dates" format="YYYYMMDD"/> + </a-form-item> + </a-col> + <a-col :md="7" :sm="7" :xs="7"> + <a-form-item label="鏃堕棿娈�"> + <a-time-picker :default-value="moment('00:00', 'HH:mm')" format="HH:mm" @change="onChangeStart"/> + 鑷� + <a-time-picker :default-value="moment('08:00', 'HH:mm')" format="HH:mm" @change="onChangeEnd"/> + </a-form-item> + </a-col> + <a-col :md="2" :sm="3" :xs="3"> + <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button> + </a-col> + <!--<a-col :md="2" :sm="2" :xs="2">--> + <!--<a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>--> + <!--</a-col>--> + </a-row> + </a-form> </div> + <!-- table鍖哄煙-begin --> + <div id="DeviceList"> + <div style="padding: 5px;width: 100%;height: 100%"> + <div style="width: 100%;height: 100%" id="dayAvailBar"></div> + <!--<div id="dayAvailLine"></div>--> + </div> + </div> + <!-- table鍖哄煙-end --> </div> - <!-- table鍖哄煙-end --> - </div> - </a-card> + </a-card> + </a-spin> </template> <script> @@ -68,6 +69,7 @@ import Tooltip from 'ant-design-vue/es/tooltip' import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api' import AFormItem from 'ant-design-vue/es/form/FormItem' + export default { name: 'equipmentAvailCompareMain', // mixins: [JeecgListMixin], @@ -82,37 +84,38 @@ JDate, JEllipsis }, - props: { nodeTree: '', Type:'',nodePeople: '' }, + props: { nodeTree: '', Type: '', nodePeople: '' }, data() { return { activeKey: '1', - typeTree:"", - typeParent:1, - typeEquipment:1, - spaceTime:[], - useingRates:[], + typeTree: '', + typeParent: 1, + typeEquipment: 1, + spaceTime: [], + useingRates: [], dates: [], - xianshi:"", - readOnly:true, + xianshi: '', + readOnly: true, queryParam: { // dateTime:undefined, // timeType:'2' }, - queryParams:{}, - queryParamEquip:{}, - queryParamPeople:{}, - dataStartsoucre:[], + queryParams: {}, + queryParamEquip: {}, + queryParamPeople: {}, + dataStartsoucre: [], url: { - dayUtilizationRateContrast:'/mdc/efficiencyReport/dayUtilizationRateContrast', + dayUtilizationRateContrast: '/mdc/efficiencyReport/dayUtilizationRateContrast', getEquipmentByPid: '/mdc/mdcEquipment/getEquipmentByPid', - getEquipmentByDepPid:'/mdc/mdcEquipment/getEquipmentByDepPid' + getEquipmentByDepPid: '/mdc/mdcEquipment/getEquipmentByDepPid' }, - AnalysisList:{} + AnalysisList: {}, + loading: false } }, - watch:{ - Type(valmath){ - this.dataList = []; + watch: { + Type(valmath) { + this.dataList = [] this.queryParams.typeTree = valmath // console.log(this.queryParams.typeTree) }, @@ -120,7 +123,7 @@ if (JSON.stringify(val) != '{}') { if (val.equipmentId) { // this.$set(this.queryParam, 'tierName', val.title) - this.queryParamEquip.parentId = "" + this.queryParamEquip.parentId = '' this.queryParams.equipmentId = val.equipmentId this.queryParamEquip.equipmentId = val.equipmentId this.searchQuery() @@ -131,14 +134,13 @@ this.initEquipment(val.key) } - } }, - nodePeople(val){ + nodePeople(val) { if (JSON.stringify(val) != '{}') { if (val.equipmentId) { // this.$set(this.queryParam, 'tierName', val.title) - this.queryParamEquip.parentId = "" + this.queryParamEquip.parentId = '' this.queryParams.equipmentId = val.equipmentId this.queryParamEquip.equipmentId = val.equipmentId this.searchQuery() @@ -153,8 +155,8 @@ } }, methods: { - drawTu(){ - let dayAvailBar = this.$echarts.init(document.getElementById('dayAvailBar'), 'macarons'); + drawTu() { + let dayAvailBar = this.$echarts.init(document.getElementById('dayAvailBar'), 'macarons') //dayAvailLine = echarts.init(document.getElementById('dayAvailLine')); let dayAvailBarOption = { title: { @@ -163,21 +165,21 @@ textStyle: { fontSize: 18, fontWeight: 'bolder', - color: "#151414" + color: '#151414' } }, tooltip: { trigger: 'axis', - formatter: "{a} <br/>{b} :({c}%)" + formatter: '{a} <br/>{b} :({c}%)' }, toolbox: { show: true, feature: { - mark: {show: true}, - dataView: {show: true, readOnly: false}, - magicType: {show: true, type: ['line', 'bar']}, - restore: {show: true}, - saveAsImage: {show: true} + mark: { show: true }, + dataView: { show: true, readOnly: false }, + magicType: { show: true, type: ['line', 'bar'] }, + restore: { show: true }, + saveAsImage: { show: true } } }, calculable: true, //鏄惁鍚敤鎷栨嫿閲嶈绠楃壒鎬� @@ -208,14 +210,14 @@ data: this.useingRates, markPoint: { data: [ - {type: 'max', name: '鏈�澶у��', symbolSize: 70}, - {type: 'min', name: '鏈�灏忓��', symbolSize: 70} + { type: 'max', name: '鏈�澶у��', symbolSize: 70 }, + { type: 'min', name: '鏈�灏忓��', symbolSize: 70 } ] } } ] - }; - dayAvailBar.setOption(dayAvailBarOption); + } + dayAvailBar.setOption(dayAvailBarOption) }, moment, onChangeStart(time, timeString) { @@ -226,12 +228,12 @@ this.queryParam.endTime = timeString // console.log(time, timeString); }, - disabledDate(current){ + disabledDate(current) { //Can not slect days before today and today - return current && current > moment().subtract('days', 1); + return current && current > moment().subtract('days', 1) }, dataChange(val) { - this.queryParam.dateTime = val.format('YYYYMMDD') + if (val) this.queryParam.dateTime = val.format('YYYYMMDD') }, handleChange(value) { this.queryParam.timeType = value @@ -246,11 +248,12 @@ this.queryParam.endDate = v2[1] // console.log(v2[0],v2[1]) }, - loadAnalysis(){ - getAction(this.url.dayUtilizationRateContrast,this.queryParam).then(res => { + loadAnalysis() { + this.loading = true + getAction(this.url.dayUtilizationRateContrast, this.queryParam).then(res => { if (res.success) { this.spaceTime.push(res.result.dataList) - for(let i = 0;i<res.result.dayRateDto.length;i++){ + for (let i = 0; i < res.result.dayRateDto.length; i++) { this.useingRates.push(res.result.dayRateDto[i].utilizationRate) } this.drawTu() @@ -268,112 +271,120 @@ return '0' } }, - searchQuery(){ - this.spaceTime = [] - this.useingRates = [] - if(this.queryParams.typeTree == "1"){ - this.queryParams.parentId = this.queryParamEquip.parentId - // this.queryParams.equipmentId = this.queryParamEquip.equipmentId + searchQuery() { + if (this.queryParam.startTime && this.queryParam.endTime && this.dates && this.dates.length > 0) { + this.loading = true + this.spaceTime = [] + this.useingRates = [] + if (this.queryParams.typeTree == '1') { + this.queryParams.parentId = this.queryParamEquip.parentId + // this.queryParams.equipmentId = this.queryParamEquip.equipmentId - }else{ - this.queryParams.parentId = this.queryParamEquip.parentId - - // this.queryParams.equipmentId = "" - } - this.AnalysisList = []; - //鑾峰彇鏌ヨ鏉′欢 - this.queryParam.parentId = this.queryParams.parentId; - this.queryParam.equipmentId = this.queryParams.equipmentId; - this.queryParam.typeTree = this.queryParams.typeTree - getAction(this.url.dayUtilizationRateContrast,this.queryParam).then((res) => { - if(res.success){ - this.spaceTime=res.result.dateList - for(let i = 0;i<res.result.dayRateDto.length;i++){ - // res.result[i].useRateDayShift = this.numFilter(res.result[i].useRateDayShift) - this.useingRates.push(this.numFilter(res.result.dayRateDto[i].utilizationRate)) - } - this.drawTu() - }else{ - // this.$message.warning(res.message) - this.$notification.warning({ - message:'娑堟伅', - description:res.message - }); + } else { + this.queryParams.parentId = this.queryParamEquip.parentId + // this.queryParams.equipmentId = "" } - }).finally(() => { - this.loading = false - }) + this.AnalysisList = [] + //鑾峰彇鏌ヨ鏉′欢 + this.queryParam.parentId = this.queryParams.parentId + this.queryParam.equipmentId = this.queryParams.equipmentId + this.queryParam.typeTree = this.queryParams.typeTree + getAction(this.url.dayUtilizationRateContrast, this.queryParam).then((res) => { + if (res.success) { + this.spaceTime = res.result.dateList + for (let i = 0; i < res.result.dayRateDto.length; i++) { + // res.result[i].useRateDayShift = this.numFilter(res.result[i].useRateDayShift) + this.useingRates.push(this.numFilter(res.result.dayRateDto[i].utilizationRate)) + } + this.drawTu() + } else { + // this.$message.warning(res.message) + this.$notification.warning({ + message: '娑堟伅', + description: res.message + }) + } + }).finally(() => { + this.loading = false + }) + } else { + this.$notification.warning({ + message: '娑堟伅', + description: '璇烽�夋嫨鏃堕棿鎴栨椂闂存' + }) + } }, searchReset() { + this.loading = true this.spaceTime = [] this.useingRates = [] - if(this.queryParams.typeTree == "1"){ + if (this.queryParams.typeTree == '1') { this.typeTree = this.queryParams.typeTree - this.typeParent = this.queryParams.parentId + this.typeParent = this.queryParams.parentId this.typeEquipment = this.queryParams.equipmentId this.queryParams = {} this.queryParam = {} this.queryParams.typeTree = this.typeTree this.queryParams.parentId = this.typeParent - if(this.queryParams.parentId != ""){ - this.queryParams.equipmentId = "" + if (this.queryParams.parentId != '') { + this.queryParams.equipmentId = '' this.initEquipment() - }else{ - if(this.queryParams.equipmentId == this.queryParamEquip.equipmentId){ - this.queryParams.equipmentId = this.typeEquipment - }else{ + } else { + if (this.queryParams.equipmentId == this.queryParamEquip.equipmentId) { + this.queryParams.equipmentId = this.typeEquipment + } else { this.queryParams.equipmentId = this.queryParamEquip.equipmentId } } - getAction(this.url.dayUtilizationRateContrast,this.queryParams).then((res) => { - if(res.success){ - this.spaceTime=res.result.dateList - for(let i = 0;i<res.result.dayRateDto.length;i++){ + getAction(this.url.dayUtilizationRateContrast, this.queryParams).then((res) => { + if (res.success) { + this.spaceTime = res.result.dateList + for (let i = 0; i < res.result.dayRateDto.length; i++) { this.useingRates.push(this.numFilter(res.result.dayRateDto[i].utilizationRate)) } this.drawTu() - }else{ + } else { // this.$message.warning(res.message) this.$notification.warning({ - message:'娑堟伅', - description:res.message - }); + message: '娑堟伅', + description: res.message + }) } }).finally(() => { this.loading = false }) - }else{ + } else { this.typeTree = this.queryParams.typeTree - this.typeParent = this.queryParams.parentId + this.typeParent = this.queryParams.parentId this.typeEquipment = this.queryParams.equipmentId this.queryParams = {} this.queryParam = {} this.dates = [] this.queryParams.typeTree = this.typeTree this.queryParams.parentId = this.typeParent - if(this.queryParams.parentId != ""){ - this.queryParams.equipmentId = "" + if (this.queryParams.parentId != '') { + this.queryParams.equipmentId = '' this.initEquipment() - }else{ - if(this.queryParams.equipmentId == this.queryParamEquip.equipmentId){ - this.queryParams.equipmentId = this.typeEquipment - }else{ + } else { + if (this.queryParams.equipmentId == this.queryParamEquip.equipmentId) { + this.queryParams.equipmentId = this.typeEquipment + } else { this.queryParams.equipmentId = this.queryParamEquip.equipmentId } } - getAction(this.url.dayUtilizationRateContrast,this.queryParams).then((res) => { - if(res.success){ - this.spaceTime=res.result.dateList - for(let i = 0;i<res.result.dayRateDto.length;i++){ + getAction(this.url.dayUtilizationRateContrast, this.queryParams).then((res) => { + if (res.success) { + this.spaceTime = res.result.dateList + for (let i = 0; i < res.result.dayRateDto.length; i++) { this.useingRates.push(this.numFilter(res.result.dayRateDto[i].utilizationRate)) } this.drawTu() - }else{ + } else { // this.$message.warning(res.message) this.$notification.warning({ - message:'娑堟伅', - description:res.message - }); + message: '娑堟伅', + description: res.message + }) } }).finally(() => { this.loading = false @@ -397,16 +408,16 @@ this.equipment = {} // _this.$message.warning('璇疯仈绯荤鐞嗗憳锛屽紑鏀捐澶囨潈闄愶紒') _this.$notification.warning({ - message:'娑堟伅', - description:'璇疯仈绯荤鐞嗗憳锛屽紑鏀捐澶囨潈闄愶紒' - }); + message: '娑堟伅', + description: '璇疯仈绯荤鐞嗗憳锛屽紑鏀捐澶囨潈闄愶紒' + }) } - }else{ + } else { // this.$message.warning(res.message) _this.$notification.warning({ - message:'娑堟伅', - description:res.message - }); + message: '娑堟伅', + description: res.message + }) } }) }, @@ -426,16 +437,16 @@ this.equipment = {} // _this.$message.warning('璇疯仈绯荤鐞嗗憳锛屽紑鏀捐澶囨潈闄愶紒') _this.$notification.warning({ - message:'娑堟伅', - description:'璇疯仈绯荤鐞嗗憳锛屽紑鏀捐澶囨潈闄愶紒' - }); + message: '娑堟伅', + description: '璇疯仈绯荤鐞嗗憳锛屽紑鏀捐澶囨潈闄愶紒' + }) } - }else{ + } else { // this.$message.warning(res.message) _this.$notification.warning({ - message:'娑堟伅', - description:res.message - }); + message: '娑堟伅', + description: res.message + }) } }) } @@ -445,68 +456,75 @@ this.queryParam.startDate = moment(this.dates[0]).format('YYYYMMDD') this.queryParam.endDate = moment(this.dates[1]).format('YYYYMMDD') this.queryParam.startTime = '00:00' - this.queryParam.endTime = "08:00" - this.queryParams.typeTree = "1"; - + this.queryParam.endTime = '08:00' + this.queryParams.typeTree = '1' }, mounted() { this.initEquipment() - }, + } } </script> <style lang="less" scoped> /*@import '~@assets/less/common.less';*/ - @media screen and (min-width: 1920px){ - .device_list{ - height: 811px!important; + @media screen and (min-width: 1920px) { + .device_list { + height: 811px !important; overflow: scroll; } } - @media screen and (min-width: 1680px) and (max-width: 1920px){ - .device_list{ - height: 811px!important; + + @media screen and (min-width: 1680px) and (max-width: 1920px) { + .device_list { + height: 811px !important; overflow: scroll; } } - @media screen and (min-width: 1400px) and (max-width: 1680px){ - .device_list{ - height: 663px!important; + + @media screen and (min-width: 1400px) and (max-width: 1680px) { + .device_list { + height: 663px !important; overflow: scroll; } } - @media screen and (min-width: 1280px) and (max-width: 1400px){ - .device_list{ - height: 564px!important; + + @media screen and (min-width: 1280px) and (max-width: 1400px) { + .device_list { + height: 564px !important; overflow: scroll; } } - @media screen and (max-width: 1280px){ - .device_list{ - height: 564px!important; + + @media screen and (max-width: 1280px) { + .device_list { + height: 564px !important; overflow: scroll; } } + /*.device_list{*/ /*display: flex;*/ /*}*/ /*.device_list .table-page-search-wrapper{*/ /**/ /*}*/ - /deep/ .ant-card-body{ - height: 100%!important; + /deep/ .ant-card-body { + height: 100% !important; } - .device_list .com_box{ - display: flex!important; - height: 100%!important; - flex-direction: column!important; + + .device_list .com_box { + display: flex !important; + height: 100% !important; + flex-direction: column !important; } - .device_list .table-page-search-wrapper{ - height: 6%!important; + + .device_list .table-page-search-wrapper { + height: 6% !important; } - .device_list #DeviceList{ - height: 90%!important; + + .device_list #DeviceList { + height: 90% !important; } </style> diff --git a/src/views/mdc/base/modules/equipmentDayAvail/equipmentDayAvailMain.vue b/src/views/mdc/base/modules/equipmentDayAvail/equipmentDayAvailMain.vue index 1f9b37a..fa95c5d 100644 --- a/src/views/mdc/base/modules/equipmentDayAvail/equipmentDayAvailMain.vue +++ b/src/views/mdc/base/modules/equipmentDayAvail/equipmentDayAvailMain.vue @@ -15,7 +15,7 @@ <a-input placeholder="杈撳叆璁惧鍚嶇О鏌ヨ" :readOnly="readOnly" v-model="queryParams.equipmentName"></a-input> </a-form-item> </a-col> - <a-col :md="5" :sm="5" :xs="5"> + <a-col :md="4" :sm="4" :xs="4"> <a-form-item label="鏃ユ湡"> <a-date-picker v-model="queryParam.dateTime" :disabledDate="disabledDate" format='YYYYMMDD' @change="dataChange"/> </a-form-item> @@ -38,7 +38,7 @@ </a-select>灏忔椂 </a-form-item> </a-col> - <a-col :md="2" :sm="3" :xs="3"> + <a-col :md="3" :sm="3" :xs="3"> <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button> </a-col> <!--<a-col :md="2" :sm="2" :xs="2">--> @@ -276,39 +276,47 @@ } }, searchQuery(){ - this.spaceTime = [] - this.useingRates = [] - if(this.queryParams.typeTree == "1"){ - this.queryParams.parentId = this.queryParamEquip.parentId - // this.queryParams.equipmentId = this.queryParamEquip.equipmentId + if(this.queryParam.dateTime){ + this.spaceTime = [] + this.useingRates = [] + if(this.queryParams.typeTree == "1"){ + this.queryParams.parentId = this.queryParamEquip.parentId + // this.queryParams.equipmentId = this.queryParamEquip.equipmentId - }else{ - this.queryParams.parentId = this.queryParamEquip.parentId - - // this.queryParams.equipmentId = "" - } - this.AnalysisList = []; - //鑾峰彇鏌ヨ鏉′欢 - this.queryParam.parentId = this.queryParams.parentId; - this.queryParam.equipmentId = this.queryParams.equipmentId; - this.queryParam.typeTree = this.queryParams.typeTree - getAction(this.url.dayUtilizationRate,this.queryParam).then((res) => { - if(res.success){ - this.spaceTime=res.result.dateList - for(var i = 0;i<res.result.dayRateDto.length;i++){ - this.useingRates.push(this.numFilter(res.result.dayRateDto[i].utilizationRate)) - } - this.drawTu() }else{ - // this.$message.warning(res.message) - this.$notification.warning({ - message:'娑堟伅', - description:res.message - }); + this.queryParams.parentId = this.queryParamEquip.parentId + + // this.queryParams.equipmentId = "" } - }).finally(() => { - this.loading = false - }) + this.AnalysisList = []; + //鑾峰彇鏌ヨ鏉′欢 + this.queryParam.parentId = this.queryParams.parentId; + this.queryParam.equipmentId = this.queryParams.equipmentId; + this.queryParam.typeTree = this.queryParams.typeTree + getAction(this.url.dayUtilizationRate,this.queryParam).then((res) => { + if(res.success){ + this.spaceTime=res.result.dateList + for(var i = 0;i<res.result.dayRateDto.length;i++){ + this.useingRates.push(this.numFilter(res.result.dayRateDto[i].utilizationRate)) + } + this.drawTu() + }else{ + // this.$message.warning(res.message) + this.$notification.warning({ + message:'娑堟伅', + description:res.message + }); + } + }).finally(() => { + this.loading = false + }) + }else{ + this.$notification.warning({ + message:'娑堟伅', + description:'璇烽�夋嫨鏃堕棿' + }); + } + }, searchReset() { this.spaceTime = [] diff --git a/src/views/mdc/base/modules/openRateFractionAnalysis/openRateFractionAnalysisMain.vue b/src/views/mdc/base/modules/openRateFractionAnalysis/openRateFractionAnalysisMain.vue index 0fe423b..42a5bb9 100644 --- a/src/views/mdc/base/modules/openRateFractionAnalysis/openRateFractionAnalysisMain.vue +++ b/src/views/mdc/base/modules/openRateFractionAnalysis/openRateFractionAnalysisMain.vue @@ -7,14 +7,15 @@ <a-row :gutter="24"> <a-col :md="6" :sm="6"> <a-form-item label="鏃堕棿"> - <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD" v-model="dates"/> + <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD" + v-model="dates"/> </a-form-item> </a-col> <a-col :md="7" :sm="7" :xs="7"> <a-form-item label="鏃堕棿娈�"> - <a-time-picker :default-value="moment('00:00', 'HH:mm')" format="HH:mm" @change="onChangeStart" /> + <a-time-picker :default-value="moment('00:00', 'HH:mm')" format="HH:mm" @change="onChangeStart"/> 鑷� - <a-time-picker :default-value="moment('08:00', 'HH:mm')" format="HH:mm" @change="onChangeEnd" /> + <a-time-picker :default-value="moment('08:00', 'HH:mm')" format="HH:mm" @change="onChangeEnd"/> </a-form-item> </a-col> <a-col :lg="2" :md="3" :sm="3" :xs="3"> @@ -26,30 +27,39 @@ <div id="DeviceList"> <div class="openRateTrendDg"> <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;text-align: center;"> - <thead> - <tr class="thead fixed equipname"> - <th class="thgu dong1 name" rowspan="2" style="min-width: 150px; max-width: 150px;width: 150px;">璁惧缂栧彿</th> - <th class="thgu dong2 name" rowspan="2" style="min-width: 150px; max-width: 150px;width: 150px;">璁惧鍚嶇О</th> - <th class="thgu dong3 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">璁惧绫诲瀷</th> - <template v-for="(tableHead, index) in tableHeads"> - <th class="timeth">{{tableHead}}</th> - </template> - </tr> - </thead> - <tbody> - <tr class="mathData" v-for="(item, index) in dataList" @click="TableDraw(index,item)"> - <td class="tdgu kaitou">{{item.equipmentId}}</td> - <td class="tdgu1 kaitou">{{item.equipmentName}}</td> - <td class="tdgu2 kaitou">{{item.equipmentType}}</td> - <template v-for="(tableHead, index) in item.dataList"> - <td :style="{background:tableHead.color }">{{tableHead.utilizationRate | numFilter}}</td> - </template> - </tr> - </tbody> - </table> - </div> + <a-spin :spinning="loading"> + <div class="table2"> + <table class="dataContent table" border="1" cellspacing="0" cellpadding="0" + style="white-space: nowrap;text-align: center;"> + <thead> + <tr class="thead fixed equipname"> + <th class="thgu dong1 name" rowspan="2" style="min-width: 150px; max-width: 150px;width: 150px;"> + 璁惧缂栧彿 + </th> + <th class="thgu dong2 name" rowspan="2" style="min-width: 150px; max-width: 150px;width: 150px;"> + 璁惧鍚嶇О + </th> + <th class="thgu dong3 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;"> + 璁惧绫诲瀷 + </th> + <template v-for="(tableHead, index) in tableHeads"> + <th class="timeth">{{tableHead}}</th> + </template> + </tr> + </thead> + <tbody> + <tr class="mathData" v-for="(item, index) in dataList" @click="TableDraw(index,item)"> + <td class="tdgu kaitou">{{item.equipmentId}}</td> + <td class="tdgu1 kaitou">{{item.equipmentName}}</td> + <td class="tdgu2 kaitou">{{item.equipmentType}}</td> + <template v-for="(tableHead, index) in item.dataList"> + <td :style="{background:tableHead.color }">{{tableHead.utilizationRate | numFilter}}</td> + </template> + </tr> + </tbody> + </table> + </div> + </a-spin> </div> </div> <div id="openRateTrendChart" style="width: 100%;height: 60%"></div> @@ -67,6 +77,7 @@ import { JeecgListMixin } from '@/mixins/JeecgListMixin' + export default { // mixins: [JeecgListMixin], name: 'openRateFractionAnalysisMain', @@ -76,7 +87,7 @@ dataSource: [], /* table鍔犺浇鐘舵�� */ loading: false, - typeTree: "", + typeTree: '', typeParent: 1, typeEquipment: 1, TreeIDOne: 1, @@ -103,8 +114,8 @@ listByType: '/mdc/MdcUtilizationRate/getByType' }, tableHeads: [], - XData:[0], - YData:[0], + XData: [0], + YData: [0] } }, props: { nodeTree: '', Type: '', nodePeople: '' }, @@ -116,14 +127,14 @@ this.queryParam.startDate = moment(this.dates[0]).format('YYYYMMDD') this.queryParam.endDate = moment(this.dates[1]).format('YYYYMMDD') this.queryParam.startTime = '00:00' - this.queryParam.endTime = "08:00" - this.queryParam.typeTree = "1" + this.queryParam.endTime = '08:00' + this.queryParam.typeTree = '1' this.loadData1() }, watch: { Type(valmath) { - this.dataList = []; + this.dataList = [] this.queryParam.typeTree = valmath }, nodeTree(val) { //鐩戝惉currSelected 鍙樺寲锛屽皢鍙樺寲鍚庣殑鏁板�间紶閫掔粰 getCurrSelected 浜嬩欢 @@ -171,15 +182,15 @@ this.queryParam.endTime = timeString // console.log(time, timeString); }, - numBerTwo(value){ + numBerTwo(value) { if (value) { return parseFloat((value * 100).toFixed(2)) } else { return '0' } }, - TableDraw(key,val) { - this.XData=[0] + TableDraw(key, val) { + this.XData = [0] this.YData[0] var Xarr = [] var Yarr = [] @@ -187,8 +198,8 @@ Xarr.push(val.dataList[i].theDate) Yarr.push(this.numBerTwo(val.dataList[i].utilizationRate)) } - this.XData=Xarr - this.YData=Yarr + this.XData = Xarr + this.YData = Yarr // if(this.openRateTrendAnalysisChart !=null && this.openRateTrendAnalysisChart != '' && this.openRateTrendAnalysisChart != undefined){ // this.openRateTrendAnalysisChart.dispose() // } @@ -197,21 +208,29 @@ }, //Can not slect days before today and today disabledDate(current) { - return current && current > moment().subtract('days', 1); + return current && current > moment().subtract('days', 1) }, dateParamChange(v1, v2) { this.queryParam.startDate = v2[0] this.queryParam.endDate = v2[1] }, searchQuery() { - if (this.queryParam.typeTree == "1") { - this.queryParam.parentId = this.queryParamEquip.parentId - this.queryParam.equipmentId = this.queryParamEquip.equipmentId + if (this.queryParam.startTime && this.queryParam.endTime && this.dates && this.dates.length > 0) { + if (this.queryParam.typeTree == '1') { + this.queryParam.parentId = this.queryParamEquip.parentId + this.queryParam.equipmentId = this.queryParamEquip.equipmentId + } else { + this.queryParam.parentId = this.queryParamPeople.parentId + this.queryParam.equipmentId = '' + } + this.loadData1() } else { - this.queryParam.parentId = this.queryParamPeople.parentId - this.queryParam.equipmentId = "" + this.$notification.warning({ + message: '鎻愮ず', + description: '璇烽�夋嫨鏃堕棿鎴栨椂闂存' + }) } - this.loadData1() + // this.onClearSelected() }, // searchReset() { @@ -284,6 +303,7 @@ // } // } loadData1() { + this.loading=true this.tableHeads = [] this.dataList = [] getAction(this.url.efficiencyList, this.queryParam).then(res => { @@ -298,10 +318,12 @@ // this.initDeviceType(this.dataList) } + }).finally(()=>{ + this.loading=false }) }, - draw(){ - let openRateTrendAnalysisChart = this.$echarts.init(document.getElementById('openRateTrendChart'), 'macarons'); + draw() { + let openRateTrendAnalysisChart = this.$echarts.init(document.getElementById('openRateTrendChart'), 'macarons') let openRateTrendChartOptions = { title: { text: '鍒╃敤鐜囪蛋鍔垮垎鏋�', @@ -309,7 +331,7 @@ textStyle: { fontSize: 18, fontWeight: 'bolder', - color: "#151414" + color: '#151414' } }, tooltip: { @@ -355,8 +377,8 @@ } } ] - }; - openRateTrendAnalysisChart.setOption(openRateTrendChartOptions,true); + } + openRateTrendAnalysisChart.setOption(openRateTrendChartOptions, true) } } } @@ -401,9 +423,11 @@ padding: 10px; /*display: none;*/ } - .dataContent .mathData:hover td{ + + .dataContent .mathData:hover td { background-color: #e6f7ff; } + .dataContent .mathData .td { /*background-color: #ff9bd2;*/ display: inline-block; @@ -413,138 +437,164 @@ .dataContent .mathData .tdd { /*display: none;*/ } - .table2{ - width: 100%; - height: 100%; - overflow: auto; + + .table2 { + width: 100%; + height: 100%; + overflow: auto; } + /*tr th {*/ - /*height: 50px!important;*/ + /*height: 50px!important;*/ /*}*/ /*tr td{*/ - /*height: 50px!important;*/ + /*height: 50px!important;*/ /*}*/ .table2 thead tr th:first-child, - .table tbody tr .tdgu{ + .table tbody tr .tdgu { position: sticky; left: 0; z-index: 1; } - .table tbody tr .kaitou{ + + .table tbody tr .kaitou { z-index: 1; background-color: white; } - .table tbody tr .tdgu1{ + + .table tbody tr .tdgu1 { position: sticky; left: 150px; z-index: 2; } - .table tbody tr .tdgu2{ + + .table tbody tr .tdgu2 { position: sticky; left: 300px; z-index: 2; } - .table tbody tr .tdgu3{ + + .table tbody tr .tdgu3 { position: sticky; left: 450px; z-index: 2; } - .table tbody tr .tdgu4{ + + .table tbody tr .tdgu4 { position: sticky; left: 550px; z-index: 2; } - .table tbody tr .tdgu5{ + + .table tbody tr .tdgu5 { position: sticky; left: 700px; z-index: 2; } + .table2 thead tr .timeth, - .table2 thead tr .thgu { + .table2 thead tr .thgu { position: sticky; - top:0; + top: 0; z-index: 3; } - .table2 thead .gudingth th{ + + .table2 thead .gudingth th { position: sticky; top: 32px; - z-index: 6!important; + z-index: 6 !important; } - .table2 thead .equipname .name{ + + .table2 thead .equipname .name { z-index: 3; } - .table2 thead .equipname .dong1{ + + .table2 thead .equipname .dong1 { z-index: 4; left: 0; /*border: 1px solid #000;*/ } - .table2 thead .equipname .dong2{ + + .table2 thead .equipname .dong2 { z-index: 5; left: 150px; } - .table2 thead .equipname .dong3{ + + .table2 thead .equipname .dong3 { z-index: 5; left: 300px; } - .table2 thead .equipname .dong4{ + + .table2 thead .equipname .dong4 { z-index: 5; left: 450px; } - .table2 thead .equipname .dong5{ + + .table2 thead .equipname .dong5 { z-index: 5; left: 550px; } - .table2 thead .equipname .dong6{ + + .table2 thead .equipname .dong6 { z-index: 5; left: 700px; } - @media screen and (min-width: 1920px){ - #Efficiency{ - height: 337px!important; - overflow: scroll; + @media screen and (min-width: 1920px) { + #Efficiency { + height: 337px !important; + overflow: scroll; + } } + + @media screen and (min-width: 1680px) and (max-width: 1920px) { + #Efficiency { + height: 337px !important; + overflow: scroll; + } } - @media screen and (min-width: 1680px) and (max-width: 1920px){ - #Efficiency{ - height: 337px!important; - overflow: scroll; + + @media screen and (min-width: 1400px) and (max-width: 1680px) { + #Efficiency { + height: 190px !important; + overflow: scroll; + } } + + @media screen and (min-width: 1280px) and (max-width: 1400px) { + #Efficiency { + height: 90px !important; + overflow: scroll; + } } - @media screen and (min-width: 1400px) and (max-width: 1680px){ - #Efficiency{ - height: 190px!important; - overflow: scroll; + + @media screen and (max-width: 1280px) { + #Efficiency { + height: 90px !important; + overflow: scroll; + } } - } - @media screen and (min-width: 1280px) and (max-width: 1400px){ - #Efficiency{ - height: 90px!important; - overflow: scroll; - } - } - @media screen and (max-width: 1280px){ - #Efficiency{ - height: 90px!important; - overflow: scroll; - } - } - #Efficiency .table_guding1{ + + #Efficiency .table_guding1 { position: absolute; overflow: hidden; width: 500px; } - #Efficiency .table_guding2{ + + #Efficiency .table_guding2 { overflow-x: scroll; width: 500px; } - /deep/ .ant-card{ - height: 100%!important; + + /deep/ .ant-card { + height: 100% !important; } - /deep/ .ant-card .ant-card-body{ - height: 100%!important; + + /deep/ .ant-card .ant-card-body { + height: 100% !important; } - .efficiency_list #DeviceList{ - height: 90%!important; + + .efficiency_list #DeviceList { + height: 90% !important; } </style> \ No newline at end of file diff --git a/src/views/mdc/base/modules/openRateTrendAnalysis/openRateTrendAnalysisMain.vue b/src/views/mdc/base/modules/openRateTrendAnalysis/openRateTrendAnalysisMain.vue index 56024fc..952a59b 100644 --- a/src/views/mdc/base/modules/openRateTrendAnalysis/openRateTrendAnalysisMain.vue +++ b/src/views/mdc/base/modules/openRateTrendAnalysis/openRateTrendAnalysisMain.vue @@ -2,30 +2,39 @@ <div class="efficiency_list" style="width: 100%;height: 100%;"> <a-card :bordered="false"> <!-- 鏌ヨ鍖哄煙 --> - <div class="table-page-search-wrapper"> - <a-form layout="inline" @keyup.enter.native="searchQuery"> - <a-row :gutter="24"> - <a-col :md="6" :sm="6"> - <a-form-item label="鏃堕棿"> - <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD" v-model="dates"/> - </a-form-item> - </a-col> - <a-col :lg="2" :md="3" :sm="3" :xs="3"> - <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button> - </a-col> - </a-row> - </a-form> - </div> - <div id="DeviceList"> - <div class="openRateTrendDg"> - <div id="Efficiency" class="container" style="margin-top: 20px;"> + <div class="table-page-search-wrapper"> + <a-form layout="inline" @keyup.enter.native="searchQuery"> + <a-row :gutter="24"> + <a-col :md="6" :sm="6"> + <a-form-item label="鏃堕棿"> + <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD" + v-model="dates"/> + </a-form-item> + </a-col> + <a-col :lg="2" :md="3" :sm="3" :xs="3"> + <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button> + </a-col> + </a-row> + </a-form> + </div> + <div id="DeviceList"> + <div class="openRateTrendDg"> + <div id="Efficiency" class="container" style="margin-top: 20px;"> + <a-spin :spinning="loading"> <div class="table2"> - <table class="dataContent table" border="1" cellspacing="0" cellpadding="0" style="white-space: nowrap;text-align: center;"> + <table class="dataContent table" border="1" cellspacing="0" cellpadding="0" + style="white-space: nowrap;text-align: center;"> <thead> <tr class="thead fixed equipname"> - <th class="thgu dong1 name" rowspan="2" style="min-width: 150px; max-width: 150px;width: 150px;">璁惧缂栧彿</th> - <th class="thgu dong2 name" rowspan="2" style="min-width: 150px; max-width: 150px;width: 150px;">璁惧鍚嶇О</th> - <th class="thgu dong3 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">璁惧绫诲瀷</th> + <th class="thgu dong1 name" rowspan="2" style="min-width: 150px; max-width: 150px;width: 150px;"> + 璁惧缂栧彿 + </th> + <th class="thgu dong2 name" rowspan="2" style="min-width: 150px; max-width: 150px;width: 150px;"> + 璁惧鍚嶇О + </th> + <th class="thgu dong3 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;"> + 璁惧绫诲瀷 + </th> <template v-for="(tableHead, index) in tableHeads"> <th class="timeth" :colspan="checkedList.length">{{tableHead}}</th> </template> @@ -33,9 +42,9 @@ </thead> <tbody> <tr class="mathData" v-for="(item, index) in dataList" @click="TableDraw(index,item)"> - <td class="tdgu kaitou">{{item.equipmentId}}</td> - <td class="tdgu1 kaitou">{{item.equipmentName}}</td> - <td class="tdgu2 kaitou">{{item.equipmentType}}</td> + <td class="tdgu kaitou">{{item.equipmentId}}</td> + <td class="tdgu1 kaitou">{{item.equipmentName}}</td> + <td class="tdgu2 kaitou">{{item.equipmentType}}</td> <template v-for="(tableHead, index) in item.dataList"> <td :style="{background:tableHead.color }">{{tableHead.utilizationRate | numFilter}}</td> </template> @@ -43,10 +52,11 @@ </tbody> </table> </div> - </div> + </a-spin> </div> - <div id="openRateTrendChart" style="width: 100%;height: 60%"></div> </div> + <div id="openRateTrendChart" style="width: 100%;height: 60%"></div> + </div> </a-card> </div> </template> @@ -60,6 +70,7 @@ import { JeecgListMixin } from '@/mixins/JeecgListMixin' + export default { // mixins: [JeecgListMixin], name: 'openRateTrendAnalysisMain', @@ -69,7 +80,7 @@ dataSource: [], /* table鍔犺浇鐘舵�� */ loading: false, - typeTree: "", + typeTree: '', typeParent: 1, typeEquipment: 1, TreeIDOne: 1, @@ -96,8 +107,8 @@ listByType: '/mdc/MdcUtilizationRate/getByType' }, tableHeads: [], - XData:[0], - YData:[0], + XData: [0], + YData: [0] } }, props: { nodeTree: '', Type: '', nodePeople: '' }, @@ -108,12 +119,12 @@ this.dates = [moment().subtract('days', 8), moment().subtract('days', 1)] this.queryParam.startDate = moment(this.dates[0]).format('YYYYMMDD') this.queryParam.endDate = moment(this.dates[1]).format('YYYYMMDD') - this.queryParam.typeTree = "1" + this.queryParam.typeTree = '1' this.loadData1() }, watch: { Type(valmath) { - this.dataList = []; + this.dataList = [] this.queryParam.typeTree = valmath }, nodeTree(val) { //鐩戝惉currSelected 鍙樺寲锛屽皢鍙樺寲鍚庣殑鏁板�间紶閫掔粰 getCurrSelected 浜嬩欢 @@ -152,33 +163,33 @@ } }, methods: { - numBerTwo(value){ + numBerTwo(value) { if (value) { return parseFloat((value * 100).toFixed(2)) } else { return '0' } }, - TableDraw(key,val) { - this.XData=[0] - this.YData[0] + TableDraw(key, val) { + this.XData = [0] + this.YData[0] var Xarr = [] var Yarr = [] - for (var i = 0; i < val.dataList.length; i++) { - Xarr.push(val.dataList[i].theDate) - Yarr.push(this.numBerTwo(val.dataList[i].utilizationRate)) - } - this.XData=Xarr - this.YData=Yarr - // if(this.openRateTrendAnalysisChart !=null && this.openRateTrendAnalysisChart != '' && this.openRateTrendAnalysisChart != undefined){ - // this.openRateTrendAnalysisChart.dispose() - // } + for (var i = 0; i < val.dataList.length; i++) { + Xarr.push(val.dataList[i].theDate) + Yarr.push(this.numBerTwo(val.dataList[i].utilizationRate)) + } + this.XData = Xarr + this.YData = Yarr + // if(this.openRateTrendAnalysisChart !=null && this.openRateTrendAnalysisChart != '' && this.openRateTrendAnalysisChart != undefined){ + // this.openRateTrendAnalysisChart.dispose() + // } - this.draw() + this.draw() }, disabledDate(current) { //Can not slect days before today and today - return current && current > moment().subtract('days', 1); + return current && current > moment().subtract('days', 1) }, initDeviceType(deviceList) { let dictCode = 'mdc_equipmentType' @@ -212,14 +223,21 @@ this.queryParam.endDate = v2[1] }, searchQuery() { - if (this.queryParam.typeTree == "1") { - this.queryParam.parentId = this.queryParamEquip.parentId - this.queryParam.equipmentId = this.queryParamEquip.equipmentId + if (this.dates && this.dates.length > 0) { + if (this.queryParam.typeTree == '1') { + this.queryParam.parentId = this.queryParamEquip.parentId + this.queryParam.equipmentId = this.queryParamEquip.equipmentId + } else { + this.queryParam.parentId = this.queryParamPeople.parentId + this.queryParam.equipmentId = '' + } + this.loadData1() } else { - this.queryParam.parentId = this.queryParamPeople.parentId - this.queryParam.equipmentId = "" + this.$notification.warning({ + message: '鎻愮ず', + description: '璇烽�夋嫨鏃堕棿' + }) } - this.loadData1() // this.onClearSelected() }, // searchReset() { @@ -292,6 +310,7 @@ // } // } loadData1() { + this.loading = true this.tableHeads = [] this.dataList = [] getAction(this.url.efficiencyList, this.queryParam).then(res => { @@ -304,12 +323,13 @@ // this.checkSameData2(this.dataList) // this.combineCell(); // this.initDeviceType(this.dataList) - } + }).finally(() => { + this.loading = false }) }, - draw(){ - let openRateTrendAnalysisChart = this.$echarts.init(document.getElementById('openRateTrendChart'), 'macarons'); + draw() { + let openRateTrendAnalysisChart = this.$echarts.init(document.getElementById('openRateTrendChart'), 'macarons') let openRateTrendChartOptions = { title: { text: '鍒╃敤鐜囪蛋鍔垮垎鏋�', @@ -317,7 +337,7 @@ textStyle: { fontSize: 18, fontWeight: 'bolder', - color: "#151414" + color: '#151414' } }, tooltip: { @@ -363,8 +383,8 @@ } } ] - }; - openRateTrendAnalysisChart.setOption(openRateTrendChartOptions,true); + } + openRateTrendAnalysisChart.setOption(openRateTrendChartOptions, true) } } } @@ -409,9 +429,11 @@ padding: 10px; /*display: none;*/ } - .dataContent .mathData:hover td{ + + .dataContent .mathData:hover td { background-color: #e6f7ff; } + .dataContent .mathData .td { /*background-color: #ff9bd2;*/ display: inline-block; @@ -421,11 +443,13 @@ .dataContent .mathData .tdd { /*display: none;*/ } - .table2{ + + .table2 { width: 100%; height: 100%; overflow: auto; } + /*tr th {*/ /*height: 50px!important;*/ /*}*/ @@ -433,126 +457,150 @@ /*height: 50px!important;*/ /*}*/ .table2 thead tr th:first-child, - .table tbody tr .tdgu{ + .table tbody tr .tdgu { position: sticky; left: 0; z-index: 1; } - .table tbody tr .kaitou{ + + .table tbody tr .kaitou { z-index: 1; background-color: white; } - .table tbody tr .tdgu1{ + + .table tbody tr .tdgu1 { position: sticky; left: 150px; z-index: 2; } - .table tbody tr .tdgu2{ + + .table tbody tr .tdgu2 { position: sticky; left: 300px; z-index: 2; } - .table tbody tr .tdgu3{ + + .table tbody tr .tdgu3 { position: sticky; left: 450px; z-index: 2; } - .table tbody tr .tdgu4{ + + .table tbody tr .tdgu4 { position: sticky; left: 550px; z-index: 2; } - .table tbody tr .tdgu5{ + + .table tbody tr .tdgu5 { position: sticky; left: 700px; z-index: 2; } + .table2 thead tr .timeth, - .table2 thead tr .thgu { + .table2 thead tr .thgu { position: sticky; - top:0; + top: 0; z-index: 3; } - .table2 thead .gudingth th{ + + .table2 thead .gudingth th { position: sticky; top: 32px; - z-index: 6!important; + z-index: 6 !important; } - .table2 thead .equipname .name{ + + .table2 thead .equipname .name { z-index: 3; } - .table2 thead .equipname .dong1{ + + .table2 thead .equipname .dong1 { z-index: 4; left: 0; /*border: 1px solid #000;*/ } - .table2 thead .equipname .dong2{ + + .table2 thead .equipname .dong2 { z-index: 5; left: 150px; } - .table2 thead .equipname .dong3{ + + .table2 thead .equipname .dong3 { z-index: 5; left: 300px; } - .table2 thead .equipname .dong4{ + + .table2 thead .equipname .dong4 { z-index: 5; left: 450px; } - .table2 thead .equipname .dong5{ + + .table2 thead .equipname .dong5 { z-index: 5; left: 550px; } - .table2 thead .equipname .dong6{ + + .table2 thead .equipname .dong6 { z-index: 5; left: 700px; } - @media screen and (min-width: 1920px){ - #Efficiency{ - height: 337px!important; + @media screen and (min-width: 1920px) { + #Efficiency { + height: 337px !important; overflow: scroll; } } - @media screen and (min-width: 1680px) and (max-width: 1920px){ - #Efficiency{ - height: 337px!important; + + @media screen and (min-width: 1680px) and (max-width: 1920px) { + #Efficiency { + height: 337px !important; overflow: scroll; } } - @media screen and (min-width: 1400px) and (max-width: 1680px){ - #Efficiency{ - height: 190px!important; + + @media screen and (min-width: 1400px) and (max-width: 1680px) { + #Efficiency { + height: 190px !important; overflow: scroll; } } - @media screen and (min-width: 1280px) and (max-width: 1400px){ - #Efficiency{ - height: 90px!important; + + @media screen and (min-width: 1280px) and (max-width: 1400px) { + #Efficiency { + height: 90px !important; overflow: scroll; } } - @media screen and (max-width: 1280px){ - #Efficiency{ - height: 90px!important; + + @media screen and (max-width: 1280px) { + #Efficiency { + height: 90px !important; overflow: scroll; } } - #Efficiency .table_guding1{ + + #Efficiency .table_guding1 { position: absolute; overflow: hidden; width: 500px; } - #Efficiency .table_guding2{ + + #Efficiency .table_guding2 { overflow-x: scroll; width: 500px; } - /deep/ .ant-card{ - height: 100%!important; + + /deep/ .ant-card { + height: 100% !important; } - /deep/ .ant-card .ant-card-body{ - height: 100%!important; + + /deep/ .ant-card .ant-card-body { + height: 100% !important; } - .efficiency_list #DeviceList{ - height: 90%!important; + + .efficiency_list #DeviceList { + height: 90% !important; } </style> \ No newline at end of file -- Gitblit v1.9.3