From a751e547d67c4f8e2c6fddf958c1559f792515bd Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期五, 27 六月 2025 16:11:50 +0800 Subject: [PATCH] 添加工作流 --- src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue | 126 +++++++++++++++++++++++++---------------- 1 files changed, 77 insertions(+), 49 deletions(-) diff --git a/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue b/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue index 44422dc..d4449e2 100644 --- a/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue +++ b/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue @@ -40,7 +40,9 @@ </a-col> <a-col :md="4" :sm="4" :xs="4"> <a-form-item label="鏃堕棿"> - <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD" + <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" + @calendarChange="handleCalendarChange" @openChange="handleCalendarOpenChange" + format="YYYYMMDD" v-model="dates" :allowClear="false"/> </a-form-item> </a-col> @@ -78,22 +80,6 @@ <a-row :gutter="24" v-if="toggleSearchStatus"> <a-col :md="5" :sm="5" :xs="5"> - <a-form-item label="璁惧绉嶇被"> - <a-select - :value="queryParams.deviceCategory" - mode="multiple" - placeholder="璇烽�夋嫨璁惧绉嶇被" - allow-clear - :maxTagCount="1" - @change="selectChange($event,'deviceCategory')" - > - <a-select-option v-for="(item,index) in device_category_list" :value="item.value" :key="index"> - {{item.label}} - </a-select-option> - </a-select> - </a-form-item> - </a-col> - <a-col :md="5" :sm="5" :xs="5"> <a-form-item label="璁惧绾у埆"> <a-select :value="queryParams.deviceLevel" @@ -112,12 +98,9 @@ <a-col :md="5" :sm="5" :xs="5"> <a-form-item label="閲嶈绋嬪害"> <a-select - :value="queryParams.deviceImportanceLevel" - mode="multiple" + v-model="queryParam.deviceImportanceLevel" placeholder="璇烽�夋嫨璁惧閲嶈绋嬪害" allow-clear - :maxTagCount="1" - @change="selectChange($event,'deviceImportanceLevel')" > <a-select-option v-for="(item,index) in device_importance_level_list" :value="item.value" :key="index"> @@ -136,12 +119,13 @@ <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" @click="handleShowFeedbackModal" icon="plus" + v-has="'efficiencyShiftReport:feedback'">寮傚父鍙嶉 + </a-button> <a-button type="primary" icon="printer" v-print="'#EfficiencyShift'" v-has="'efficiencyShiftReport: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> @@ -153,6 +137,13 @@ </td> </tr> </table> + </a-col> + </a-row> + + <a-row :gutter="24"> + <a-col> + <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions" + @change="efficiencyOptionsOnChange"/> </a-col> </a-row> </a-form> @@ -177,7 +168,9 @@ </th> <th class="thgu dong6 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">璁惧绫诲瀷 </th> - <th class="thgu dong7 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">鐝</th> + <th class="thgu dong7 name" rowspan="2" style="min-width: 120px; max-width: 120px;width: 120px;">璁惧鍨嬪彿 + </th> + <th class="thgu dong8 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> @@ -219,11 +212,12 @@ {{item.equipmentName}} </td> <td class="tdgu5 kaitou">{{item.equipmentType}}</td> - <td class="tdgu6 kaitou">{{item.shiftSubName}}</td> + <td class="tdgu6 kaitou">{{item.equipmentModel}}</td> + <td class="tdgu7 kaitou">{{item.shiftSubName}}</td> </template> <template v-else> - <td colspan="7" class="tdgu kaitou">{{item.level1}}</td> + <td colspan="8" class="tdgu kaitou">{{item.level1}}</td> </template> <!--<td>{{item.tierType}}</td>--> <template v-for="(tableHead, index) in item.dataList"> @@ -250,6 +244,8 @@ </div> </a-spin> </div> + + <mdc-message-approval-modal ref="modalForm" :visible="modalVisible" @closeModal="modalVisible = false"/> </div> </template> @@ -260,10 +256,11 @@ import '@/components/table2excel/table2excel' import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api' import api from '@/api/mdc' + import MdcMessageApprovalModal from '../MdcMessageApproval/MdcMessageApprovalModal' export default { name: 'EfficiencyShiftList', - components: {}, + components: { MdcMessageApprovalModal }, data() { return { typeTree: '', @@ -275,16 +272,13 @@ equipmentTypeList: [], driveTypeList: [], device_level_list: [], - device_category_list: [], device_importance_level_list: [], identifying: [], queryParam: {}, queryParams: { equipmentType: [], driveType: [], - deviceLevel: [], - deviceCategory: [], - deviceImportanceLevel: [] + deviceLevel: [] }, queryParamEquip: {}, queryParamPeople: {}, @@ -313,7 +307,9 @@ shiftList: [], shiftSubList: [], spinning: false, - toggleSearchStatus: false + toggleSearchStatus: false, + modalVisible: false,// 寮傚父鍙嶉寮圭獥鏄惁寮瑰嚭 + preSelectFirstDate: null } }, props: { nodeTree: '', Type: '', nodePeople: '' }, @@ -493,10 +489,37 @@ } return list }, - disabledDate(current) { - //Can not slect days before today and today - return current && current > moment().subtract('days', 1) + + /** + * 鏃堕棿閫夋嫨鍣ㄩ潰鏉夸笂鐨勫�煎彂鐢熸敼鍙樻椂瑙﹀彂 + * @param dates 闈㈡澘涓婄殑涓や釜鍊肩粍鎴愮殑鏁扮粍 + */ + handleCalendarChange(dates) { + if (dates.length === 1) this.preSelectFirstDate = dates[0] }, + + /** + * 鎺у埗鏃堕棿閫夋嫨鍣ㄩ潰鏉垮紑鍚笌鍏抽棴 + * @param status 寮�鍚姸鎬� + */ + handleCalendarOpenChange(status) { + if (status) this.preSelectFirstDate = null + }, + + /** + * 闈㈡澘涓婄姝㈤�夋嫨鐨勬棩鏈� + * @param current 绂佹鐨勬椂闂磋寖鍥� + */ + disabledDate(current) { + if (!this.preSelectFirstDate) { + return current > moment().startOf('days') + } else { + return current < moment(this.preSelectFirstDate).subtract(365, 'days').startOf('days') + || current > moment().startOf('days') + || current > moment(this.preSelectFirstDate).add(365, 'days').endOf('days') + } + }, + initDeviceType(deviceList) { let dictCode = 'mdc_equipmentType' let items = [] @@ -568,19 +591,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') - // if (index < 0) { - // // this.$message.warn('涓嶈兘鍙栨秷鏌ヨ鍒╃敤鐜�') - // this.$notification.warning({ - // message: '娑堟伅', - // description: '涓嶈兘鍙栨秷鏌ヨ鐝鍒╃敤鐜�' - // }) - // return false - // } this.checkedList = checkedList }, searchQuery() { @@ -597,7 +609,6 @@ if (this.queryParams[item].length === 0) delete this.queryParam[item] }) this.loadData() - // this.onClearSelected() }, searchReset() { this.typeTree = this.queryParam.typeTree @@ -613,8 +624,7 @@ this.queryParams = { equipmentType: [], driveType: [], - deviceLevel: [], - deviceCategory: [] + deviceLevel: [] } this.loadData() // this.onClearSelected() @@ -643,6 +653,13 @@ this.spinning = false }) }, + + // 鎺у埗寮傚父鍙嶉寮圭獥寮瑰嚭 + handleShowFeedbackModal() { + this.$refs.modalForm.formParams = {} + this.modalVisible = true + }, + queryGroup() { getAction(this.url.queryEquipmentType).then(res => { if (res.success) { @@ -745,6 +762,12 @@ z-index: 2; } + .table tbody tr .tdgu7 { + position: sticky; + left: 632px; + z-index: 2; + } + .table2 thead tr .timeth, .table2 thead tr .thgu { position: sticky; @@ -797,6 +820,11 @@ left: 512px; } + .table2 thead .equipname .dong8 { + z-index: 6; + left: 632px; + } + #EfficiencyShift { overflow: hidden; } -- Gitblit v1.9.3