From d50523911eaf8fa309eb842522ee9e7a4782e505 Mon Sep 17 00:00:00 2001 From: zhuzhuanzhuan Date: 星期五, 23 二月 2024 17:06:07 +0800 Subject: [PATCH] 设备利用率、设备开动率以及班次利用率页面增加按照驱动类型查询数据功能 --- src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue | 57 +++++++++++-- src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue | 67 +++++++++++++--- src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue | 68 +++++++++++++--- 3 files changed, 157 insertions(+), 35 deletions(-) diff --git a/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue b/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue index e216471..56332a4 100644 --- a/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue +++ b/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue @@ -5,7 +5,7 @@ <div class="table-page-search-wrapper"> <a-form layout="inline" @keyup.enter.native="searchQuery"> <a-row :gutter="24"> - <a-col :md="4" :sm="4"> + <a-col :md="5" :sm="5"> <a-form-item label="璁惧绫诲瀷"> <a-select placeholder="璇烽�夋嫨璁惧绫诲瀷" :triggerChange="true" v-model="queryParam.equipmentType" :allowClear="true"> <a-select-option v-for='item in selectList' :key='item.id' :value='item.equipmentTypeName'> @@ -14,17 +14,22 @@ </a-select> </a-form-item> </a-col> + <a-col :md="5" :sm="5"> + <a-form-item label="椹卞姩绫诲瀷"> + <a-auto-complete + v-model="queryParam.driveType" + :data-source="driveTypeList" + placeholder="璇烽�夋嫨椹卞姩绫诲瀷" + :filter-option="filterOption" + /> + </a-form-item> + </a-col> <a-col :md="6" :sm="6"> <a-form-item label="鏃堕棿"> <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD" v-model="dates" :allowClear="false"/> </a-form-item> </a-col> - <a-col :md="14" :sm="14" 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-space> + <a-col :md="8" :sm="8" style="display: flex;align-items: flex-start;-webkit-align-items: flex-start;justify-content: space-between;"> <table cellpadding="5" cellspacing="1" style="border: 1px solid darkgray;margin-left: 24px"> <tr> <td v-for="(item, index) in identifying">{{item.title}}</td> @@ -39,8 +44,15 @@ </table> </a-col> </a-row> - <a-row :gutter="24"> - <a-col :md="15" :sm="15"> + <a-row :gutter="24" type="flex" align="middle"> + <a-col :md="5" :sm="5"> + <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-space> + </a-col> + <a-col :md="19" :sm="19"> <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions" @change="efficiencyOptionsOnChange"/> </a-col> @@ -150,6 +162,8 @@ import $ from 'jquery' import '@/components/table2excel/table2excel' import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api' +import api from '@/api/mdc' + export default { name: 'EfficiencyPOList', components: {}, @@ -164,6 +178,7 @@ queryParamEquip:{}, queryParamPeople:{}, identifying: [], + driveTypeList:[], efficiencyOptions: [ { label: '寮�鍔ㄧ巼', value: 'lyl' }, { label: '寮�鏈虹巼', value: 'kjl' }, @@ -192,6 +207,7 @@ this.queryParam.typeTree = "1" this.loadData() this.queryGroup() + this.getDriveTypeByApi() }, watch: { Type(valmath){ @@ -478,7 +494,28 @@ }).finally(() => { this.loading = false }) - } + }, + + /** + * 璋冪敤鎺ュ彛鑾峰彇鎺у埗绯荤粺绫诲瀷 + */ + getDriveTypeByApi(){ + api.getDriveTypeApi().then((res)=>{ + this.driveTypeList=res.result.map(item=>item.value) + }) + }, + + /** + * 鑱旀兂杈撳叆妗嗙瓫閫夊姛鑳� + * @param input 杈撳叆鐨勫唴瀹� + * @param option 閰嶇疆 + * @returns {boolean} 鍒ゆ柇鏄惁绛涢�� + */ + filterOption(input, option) { + return ( + option.componentOptions.children[0].text.toUpperCase().indexOf(input.toUpperCase()) >= 0 + ); + }, } } </script> diff --git a/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue b/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue index ca32e54..cc8458f 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="4" :sm="4"> + <a-col :md="5" :sm="5"> <a-form-item label="璁惧绫诲瀷"> <a-select placeholder="璇烽�夋嫨璁惧绫诲瀷" :triggerChange="true" v-model="queryParam.equipmentType" :allowClear="true"> @@ -16,21 +16,31 @@ </a-select> </a-form-item> </a-col> + <a-col :md="5" :sm="5"> + <a-form-item label="椹卞姩绫诲瀷"> + <a-auto-complete + v-model="queryParam.driveType" + :data-source="driveTypeList" + placeholder="璇烽�夋嫨椹卞姩绫诲瀷" + :filter-option="filterOption" + /> + </a-form-item> + </a-col> <a-col :md="6" :sm="6"> <a-form-item label="鏃堕棿"> <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD" v-model="dates" :allowClear="false"/> </a-form-item> </a-col> - <a-col :md="14" :sm="14" + <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> + <!--<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"> <tr> <td v-for="(item, index) in identifying">{{item.title}}</td> @@ -45,8 +55,17 @@ </table> </a-col> </a-row> - <a-row :gutter="24"> - <a-col :md="15" :sm="15"> + <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> @@ -173,6 +192,7 @@ import $ from 'jquery' import '@/components/table2excel/table2excel' import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api' + import api from '@/api/mdc' export default { name: 'EfficiencyList', @@ -187,6 +207,7 @@ deviceTypeDict: '', dates: [], selectList: [], + driveTypeList:[], identifying: [], queryParam: {}, queryParams: {}, @@ -227,6 +248,7 @@ this.queryParam.typeTree = '1' this.loadData() this.queryGroup() + this.getDriveTypeByApi() }, watch: { Type(valmath) { @@ -540,7 +562,28 @@ }).finally(() => { this.loading = false }) - } + }, + + /** + * 璋冪敤鎺ュ彛鑾峰彇鎺у埗绯荤粺绫诲瀷 + */ + getDriveTypeByApi(){ + api.getDriveTypeApi().then((res)=>{ + this.driveTypeList=res.result.map(item=>item.value) + }) + }, + + /** + * 鑱旀兂杈撳叆妗嗙瓫閫夊姛鑳� + * @param input 杈撳叆鐨勫唴瀹� + * @param option 閰嶇疆 + * @returns {boolean} 鍒ゆ柇鏄惁绛涢�� + */ + filterOption(input, option) { + return ( + option.componentOptions.children[0].text.toUpperCase().indexOf(input.toUpperCase()) >= 0 + ); + }, } } </script> diff --git a/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue b/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue index b1cbfa5..457d549 100644 --- a/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue +++ b/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue @@ -6,13 +6,23 @@ <div class="table-page-search-wrapper"> <a-form layout="inline" @keyup.enter.native="searchQuery"> <a-row :gutter="24"> - <a-col :md="4" :sm="4" > + <a-col :md="5" :sm="5" > <a-form-item label="璁惧绫诲瀷"> <a-select placeholder="璇烽�夋嫨璁惧绫诲瀷" :triggerChange="true" v-model="queryParam.equipmentType" :allowClear="true"> <a-select-option v-for='item in selectList' :key='item.id' :value='item.equipmentTypeName'> {{item.equipmentTypeName}} </a-select-option> </a-select> + </a-form-item> + </a-col> + <a-col :md="5" :sm="5"> + <a-form-item label="椹卞姩绫诲瀷"> + <a-auto-complete + v-model="queryParam.driveType" + :data-source="driveTypeList" + placeholder="璇烽�夋嫨椹卞姩绫诲瀷" + :filter-option="filterOption" + /> </a-form-item> </a-col> <a-col :md="5" :sm="5" :xs="5"> @@ -39,18 +49,25 @@ </a-select> </a-form-item> </a-col> - <a-col :md="7" :sm="7" :xs="7"> - <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-space> - </a-col> + <!--<a-col :md="7" :sm="7" :xs="7">--> + <!--<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-space>--> + <!--</a-col>--> </a-row> - <a-row :gutter="24"> - <a-col :md="24" :sm="24" :xs="24" style="display: flex;justify-content: space-between"> - <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions" - @change="efficiencyOptionsOnChange"/> + <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-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> @@ -184,6 +201,8 @@ import $ from 'jquery' import '@/components/table2excel/table2excel' import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api' + import api from '@/api/mdc' + export default { name: 'EfficiencyShiftList', components: {}, @@ -196,6 +215,7 @@ allowClearSu:true, dates: [], selectList:[], + driveTypeList:[], identifying: [], queryParam: {}, queryParamEquip:{}, @@ -237,6 +257,7 @@ this.queryParam.typeTree = "1" this.loadData(); this.queryGroup() + this.getDriveTypeByApi() }, watch: { Type(valmath){ @@ -535,7 +556,28 @@ }).finally(() => { this.loading = false }) - } + }, + + /** + * 璋冪敤鎺ュ彛鑾峰彇鎺у埗绯荤粺绫诲瀷 + */ + getDriveTypeByApi(){ + api.getDriveTypeApi().then((res)=>{ + this.driveTypeList=res.result.map(item=>item.value) + }) + }, + + /** + * 鑱旀兂杈撳叆妗嗙瓫閫夊姛鑳� + * @param input 杈撳叆鐨勫唴瀹� + * @param option 閰嶇疆 + * @returns {boolean} 鍒ゆ柇鏄惁绛涢�� + */ + filterOption(input, option) { + return ( + option.componentOptions.children[0].text.toUpperCase().indexOf(input.toUpperCase()) >= 0 + ); + }, } } </script> -- Gitblit v1.9.3