From 1d79d3950a3d8c489ca9ee2c88a50b01e2b5ab6e Mon Sep 17 00:00:00 2001 From: zhuzhuanzhuan Date: 星期四, 09 五月 2024 14:54:32 +0800 Subject: [PATCH] 新增首页看板点击图表出现的弹窗组件 --- src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue | 188 ++++++++++++++++++---------------------------- 1 files changed, 73 insertions(+), 115 deletions(-) diff --git a/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue b/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue index cc8458f..dc29ab6 100644 --- a/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue +++ b/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue @@ -6,7 +6,7 @@ <div class="table-page-search-wrapper"> <a-form layout="inline" @keyup.enter.native="searchQuery"> <a-row :gutter="24"> - <a-col :md="5" :sm="5"> + <a-col :md="4" :sm="4"> <a-form-item label="璁惧绫诲瀷"> <a-select placeholder="璇烽�夋嫨璁惧绫诲瀷" :triggerChange="true" v-model="queryParam.equipmentType" :allowClear="true"> @@ -16,13 +16,14 @@ </a-select> </a-form-item> </a-col> - <a-col :md="5" :sm="5"> + <a-col :md="4" :sm="4"> <a-form-item label="椹卞姩绫诲瀷"> <a-auto-complete v-model="queryParam.driveType" :data-source="driveTypeList" placeholder="璇烽�夋嫨椹卞姩绫诲瀷" :filter-option="filterOption" + :allowClear="true" /> </a-form-item> </a-col> @@ -32,60 +33,52 @@ v-model="dates" :allowClear="false"/> </a-form-item> </a-col> - <a-col :md="8" :sm="8" - style="display: flex;align-items: flex-start;-webkit-align-items: flex-start;justify-content: space-between;"> - <!--<a-space>--> - <!--<a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>--> - <!--<a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>--> - <!--<a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>--> - <!--<a-button type="primary" icon="printer" v-print="'#Efficiency'" v-has="'efficiency:print'">鎵撳嵃--> - <!--</a-button>--> - <!--</a-space>--> - <table cellpadding="5" cellspacing="1" style="border: 1px solid darkgray;margin-left: 24px"> + <a-col :md="4" :sm="4" :xs="4"> + <a-form-item label="璁惧绾у埆"> + <j-dict-select-tag placeholder="璇烽�夋嫨璁惧绾у埆" dictCode="device_level" v-model="queryParam.deviceLevel" + allow-clear/> + </a-form-item> + </a-col> + <a-col :md="4" :sm="4" :xs="4"> + <a-form-item label="璁惧绉嶇被"> + <j-dict-select-tag placeholder="璇烽�夋嫨璁惧绉嶇被" dictCode="device_category" + v-model="queryParam.deviceCategory" + allow-clear/> + </a-form-item> + </a-col> + </a-row> + + <a-row :gutter="24" type="flex" align="middle"> + <a-col :md="24" :sm="24" :xs="24" + style="display: flex;justify-content: space-between;align-items: flex-start"> + <div> + <a-space style="margin-right: 20px"> + <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button> + <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button> + <a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button> + <a-button type="primary" icon="printer" v-print="'#Efficiency'" + v-has="'efficiency:print'">鎵撳嵃 + </a-button> + </a-space> + <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions" + @change="efficiencyOptionsOnChange"/> + </div> + <table cellpadding="5" cellspacing="1" style="border: 1px solid darkgray;"> <tr> - <td v-for="(item, index) in identifying">{{item.title}}</td> + <td v-for="(item, index) in identifying" + style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap">{{item.title}} + </td> </tr> <tr> <td style="text-align:center;" v-for="(item, index) in identifying"> <div class="identifyingclass" :style="{background: item.color}"></div> </td> - <!--<td style="text-align:center;"><div style="width: 55px;height: 15px;background-color: #e8ff37;display:inline-block"></div></td>--> - <!--<td style="text-align:center;"><div style="width: 55px;height: 15px;background-color: #99ff4e;display:inline-block"></div></td>--> </tr> </table> </a-col> </a-row> - <a-row :gutter="24" type="flex" align="middle"> - <a-col :md="6" :sm="6"> - <a-space> - <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button> - <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button> - <a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button> - <a-button type="primary" icon="printer" v-print="'#Efficiency'" v-has="'efficiency:print'">鎵撳嵃 - </a-button> - </a-space> - </a-col> - <a-col :md="18" :sm="18"> - <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions" - @change="efficiencyOptionsOnChange"/> - </a-col> - </a-row> </a-form> </div> - <!--<div style="width: 530px;position: absolute;top: 0; right: 1.5%;">--> - <!--<table cellpadding="5" cellspacing="1" style="border: 1px solid darkgray;">--> - <!--<tr>--> - <!--<td v-for="(item, index) in identifying">{{item.title}}</td>--> - <!--</tr>--> - <!--<tr>--> - <!--<td style="text-align:center;" v-for="(item, index) in identifying">--> - <!--<div class="identifyingclass" :style="{background: item.color}"></div>--> - <!--</td>--> - <!--<!–<td style="text-align:center;"><div style="width: 55px;height: 15px;background-color: #e8ff37;display:inline-block"></div></td>–>--> - <!--<!–<td style="text-align:center;"><div style="width: 55px;height: 15px;background-color: #99ff4e;display:inline-block"></div></td>–>--> - <!--</tr>--> - <!--</table>--> - <!--</div>--> </div> <a-spin :spinning="spinning"> @@ -95,7 +88,9 @@ v-if="dataList.length>0"> <thead> <tr class="thead fixed equipname"> - <th class="thgu dong1 name" rowspan="2" style="min-width: 50px; max-width: 50px;width: 50px;">鍏徃</th> + <th class="thgu dong1 name" rowspan="2" + style="min-width: 50px; max-width: 50px;width: 50px;height: 66px">鍏徃 + </th> <th class="thgu dong2 name" rowspan="2" style="min-width: 50px; max-width: 50px;width: 50px;">杞﹂棿</th> <th class="thgu dong3 name" rowspan="2" style="min-width: 50px; max-width: 50px;width: 50px;">宸ユ</th> <th class="thgu dong4 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">璁惧缂栧彿 @@ -111,7 +106,7 @@ </tr> <tr class="thead notfixed gudingth"> <template v-for="(tableHead, index) in tableHeads"> - <th>鍒╃敤鐜�(%)</th> + <th v-if="checkedList.indexOf('lyl') > -1">鍒╃敤鐜�(%)</th> <th v-if="checkedList.indexOf('kjl') > -1">寮�鏈虹巼(%)</th> <th v-if="checkedList.indexOf('kjsj') > -1">寮�鏈烘椂闂�(灏忔椂)</th> <th v-if="checkedList.indexOf('jgsj') > -1">鍔犲伐鏃堕棿(灏忔椂)</th> @@ -156,7 +151,9 @@ </template> <template v-for="(tableHead, index) in item.dataList"> - <td :style="{background:tableHead.color }">{{tableHead.utilizationRate | numFilter}}</td> + <td :style="{background:tableHead.color }" v-if="checkedList.indexOf('lyl') > -1"> + {{tableHead.utilizationRate | numFilter}} + </td> <td :style="{background:tableHead.color }" v-if="checkedList.indexOf('kjl') > -1"> {{tableHead.openRate | numFilter}} </td> @@ -207,7 +204,7 @@ deviceTypeDict: '', dates: [], selectList: [], - driveTypeList:[], + driveTypeList: [], identifying: [], queryParam: {}, queryParams: {}, @@ -249,6 +246,10 @@ this.loadData() this.queryGroup() this.getDriveTypeByApi() + }, + mounted() { + window.addEventListener('resize', this.handleWindowResize) + this.handleWindowResize() }, watch: { Type(valmath) { @@ -447,41 +448,18 @@ if (!this.queryParam.startTime && !this.queryParam.endTime) this.searchReset() }, efficiencyOptionsOnChange(checkedList) { - let index = checkedList.indexOf('lyl') - if (index < 0) { - // this.$message.warn('涓嶈兘鍙栨秷鏌ヨ寮�鍔ㄧ巼') - this.$notification.warning({ - message: '娑堟伅', - description: '涓嶈兘鍙栨秷鏌ヨ寮�鍔ㄧ巼' - }) - - return false - } + // let index = checkedList.indexOf('lyl') + // if (index < 0) { + // // this.$message.warn('涓嶈兘鍙栨秷鏌ヨ寮�鍔ㄧ巼') + // this.$notification.warning({ + // message: '娑堟伅', + // description: '涓嶈兘鍙栨秷鏌ヨ寮�鍔ㄧ巼' + // }) + // + // return false + // } this.checkedList = checkedList }, - // searchQuery() { - // if(this.queryParam.typeTree == "1"){ - // // this.queryParam.TreeIDTwo = "" - // this.queryParam.parentId = this.queryParamEquip.parentId - // this.queryParam.equipmentId = this.queryParamEquip.equipmentId - // }else{ - // // this.queryParam.TreeIDOne = "" - // this.queryParam.parentId = this.queryParamPeople.parentId - // this.queryParam.equipmentId = "" - // } - // this.loadData() - // // this.onClearSelected() - // }, - // searchReset() { - // this.typeTree = this.queryParam.typeTree - // this.typeParent = this.queryParams.parentId - // this.queryParam = {} - // this.dates = [] - // this.queryParam.typeTree = this.typeTree - // this.queryParam.parentId = this.typeParent - // this.loadData() - // // this.onClearSelected() - // }, searchQuery() { console.log('dates', this.dates) if (this.dates != '') { @@ -567,9 +545,9 @@ /** * 璋冪敤鎺ュ彛鑾峰彇鎺у埗绯荤粺绫诲瀷 */ - getDriveTypeByApi(){ - api.getDriveTypeApi().then((res)=>{ - this.driveTypeList=res.result.map(item=>item.value) + getDriveTypeByApi() { + api.getDriveTypeApi().then((res) => { + this.driveTypeList = res.result.map(item => item.value) }) }, @@ -582,8 +560,18 @@ filterOption(input, option) { return ( option.componentOptions.children[0].text.toUpperCase().indexOf(input.toUpperCase()) >= 0 - ); + ) }, + + /** + * 鍒嗚鲸鐜囨敼鍙樻椂鍚屾椂鏀瑰彉琛ㄦ牸楂樺害宸蹭繚璇侀椤典竴杩涘叆涓嶆嫋鍔ㄥ瀭鐩存粴鍔ㄦ潯鏃跺嵆鍙嫋鍔ㄨ〃鏍兼按骞虫粴鍔ㄦ潯 + */ + handleWindowResize() { + const tableContainer = document.getElementById('Efficiency') // 琛ㄦ牸瀹瑰櫒 + const clientHeight = document.documentElement.clientHeight || document.body.clientHeight // 娴忚鍣ㄥ彲瑙嗗尯鍩熼珮搴� + const containerTopToClientTopHeight = tableContainer.getBoundingClientRect().top // 琛ㄦ牸瀹瑰櫒椤堕儴鍒版祻瑙堝櫒鍙鍖哄煙椤堕儴鐨勯棿璺� + tableContainer.style.height = (clientHeight - containerTopToClientTopHeight - 32) + 'px' + } } } </script> @@ -693,36 +681,6 @@ #Efficiency { overflow: hidden; - } - - @media screen and (min-width: 1920px) { - #Efficiency { - height: 687px !important; - } - } - - @media screen and (min-width: 1680px) and (max-width: 1920px) { - #Efficiency { - height: 687px !important; - } - } - - @media screen and (min-width: 1400px) and (max-width: 1680px) { - #Efficiency { - height: 540px !important; - } - } - - @media screen and (min-width: 1280px) and (max-width: 1400px) { - #Efficiency { - height: 440px !important; - } - } - - @media screen and (max-width: 1280px) { - #Efficiency { - height: 440px !important; - } } .identifyingclass { -- Gitblit v1.9.3