From 9f7fc23d9c90d333f67604d0be0576b44a2cbca6 Mon Sep 17 00:00:00 2001 From: zhaowei <zhaowei> Date: 星期四, 04 九月 2025 17:18:35 +0800 Subject: [PATCH] 解决设备台账增加固定表头功能导致表格样式错乱问题 --- src/views/eam/equipment/EamEquipmentList.vue | 484 +++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 356 insertions(+), 128 deletions(-) diff --git a/src/views/eam/equipment/EamEquipmentList.vue b/src/views/eam/equipment/EamEquipmentList.vue index ade580a..d057ec4 100644 --- a/src/views/eam/equipment/EamEquipmentList.vue +++ b/src/views/eam/equipment/EamEquipmentList.vue @@ -3,57 +3,202 @@ <!-- 鏌ヨ鍖哄煙 --> <div class="table-page-search-wrapper"> - <a-form layout="inline" @keyup.enter.native="searchQuery"> + <a-form + layout="inline" + @keyup.enter.native="searchQuery" + > <a-row :gutter="24"> - <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-col + :xl="6" + :lg="7" + :md="8" + :sm="24" + > <a-form-item label="璁惧缂栧彿"> - <a-input placeholder="璇疯緭鍏ヨ澶囩紪鍙�" v-model="queryParam.equipmentCode"></a-input> + <a-input + placeholder="璇疯緭鍏ヨ澶囩紪鍙�" + v-model="queryParam.equipmentCode" + ></a-input> </a-form-item> </a-col> - <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-col + :xl="6" + :lg="7" + :md="8" + :sm="24" + > <a-form-item label="璁惧鍚嶇О"> - <a-input placeholder="璇疯緭鍏ヨ澶囧悕绉�" v-model="queryParam.equipmentName"></a-input> + <a-input + placeholder="璇疯緭鍏ヨ澶囧悕绉�" + v-model="queryParam.equipmentName" + ></a-input> </a-form-item> </a-col> - <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-col + :xl="6" + :lg="7" + :md="8" + :sm="24" + > <a-form-item label="绠$悊鍒嗙被"> - <j-dict-select-tag dict-code="equipment_abc_flag" placeholder="璇烽�夋嫨绠$悊鍒嗙被" - v-model="queryParam.equipmentImportance"></j-dict-select-tag> + <j-dict-select-tag + dict-code="equipment_abc_flag" + placeholder="璇烽�夋嫨绠$悊鍒嗙被" + v-model="queryParam.equipmentImportance" + ></j-dict-select-tag> </a-form-item> </a-col> <template v-if="toggleSearchStatus"> - <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-col + :xl="6" + :lg="7" + :md="8" + :sm="24" + > <a-form-item label="璧勪骇鐘舵��"> - <j-dict-select-tag dict-code="asset_status" placeholder="璇烽�夋嫨璧勪骇鐘舵��" - v-model="queryParam.assetStatus"></j-dict-select-tag> + <j-dict-select-tag + dict-code="asset_status" + placeholder="璇烽�夋嫨璧勪骇鐘舵��" + v-model="queryParam.assetStatus" + ></j-dict-select-tag> </a-form-item> </a-col> - <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-col + :xl="6" + :lg="7" + :md="8" + :sm="24" + > <a-form-item label="璁惧绫诲埆"> - <j-dict-select-tag dict-code="equipment_category" placeholder="璇烽�夋嫨璁惧绫诲埆" - v-model="queryParam.equipmentCategory"></j-dict-select-tag> + <j-dict-select-tag + dict-code="equipment_category" + placeholder="璇烽�夋嫨璁惧绫诲埆" + v-model="queryParam.equipmentCategory" + ></j-dict-select-tag> </a-form-item> </a-col> - <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-col + :xl="6" + :lg="7" + :md="8" + :sm="24" + > <a-form-item label="浣跨敤杞﹂棿"> - <a-tree-select v-model="queryParam.orgId" - style="width: 100%" - :tree-data="treeDataAlias" - :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" - placeholder="璇烽�夋嫨浣跨敤杞﹂棿" - allow-clear - tree-default-expand-all + <a-tree-select + v-model="queryParam.orgId" + style="width: 100%" + :tree-data="treeDataAlias" + :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" + placeholder="璇烽�夋嫨浣跨敤杞﹂棿" + allow-clear + tree-default-expand-all > </a-tree-select> </a-form-item> </a-col> - + <a-col + :xl="6" + :lg="7" + :md="8" + :sm="24" + > + <a-form-item label="鏈哄簥鍘傚"> + <a-input + placeholder="璇疯緭鍏ユ満搴婂巶瀹�" + v-model="queryParam.manufacturingEnterprise" + ></a-input> + </a-form-item> + </a-col> + <a-col + :xl="6" + :lg="7" + :md="8" + :sm="24" + > + <a-form-item label="鍘熷��(鍏�)"> + <a-input + placeholder="璇疯緭鍏ュ師鍊�(鍏�)" + v-model="queryParam.originalValue" + ></a-input> + </a-form-item> + </a-col> + <a-col + :xl="6" + :lg="7" + :md="8" + :sm="24" + > + <a-form-item label="鎬ц兘鎸囨爣"> + <a-input + placeholder="璇疯緭鍏ユ�ц兘鎸囨爣" + v-model="queryParam.performanceIndicators" + ></a-input> + </a-form-item> + </a-col> + <a-col + :xl="6" + :lg="7" + :md="8" + :sm="24" + > + <a-form-item label="鍑哄巶鏃ユ湡"> + <a-range-picker v-model="leaveFactoryDate" value-format="YYYY-MM-DD HH:mm:ss" + @change="leaveFactoryRangeChange" + style="width: 100%"/> + </a-form-item> + </a-col> + <a-col + :xl="6" + :lg="7" + :md="8" + :sm="24" + > + <a-form-item label="鎶曠敤鏃ユ湡"> + <a-range-picker v-model="acceptanceCheckDate" value-format="YYYY-MM-DD" + @change="acceptanceCheckRangeChange" + style="width: 100%"/> + </a-form-item> + </a-col> + <a-col + :xl="6" + :lg="7" + :md="8" + :sm="24" + > + <a-form-item label="璁惧鐢ㄩ��"> + <j-dict-select-tag + dict-code="equipment_use" + placeholder="璇烽�夋嫨璁惧鐢ㄩ��" + v-model="queryParam.equipmentUse" + ></j-dict-select-tag> + </a-form-item> + </a-col> </template> - <a-col :xl="6" :lg="7" :md="8" :sm="24"> - <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> - <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button> - <a-button type="info" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button> - <a @click="handleToggleSearch" style="margin-left: 8px"> + <a-col + :xl="6" + :lg="7" + :md="8" + :sm="24" + > + <span + style="float: left;overflow: hidden;" + class="table-page-search-submitButtons" + > + <a-button + type="primary" + @click="searchQuery" + icon="search" + >鏌ヨ</a-button> + <a-button + type="info" + @click="searchReset" + icon="reload" + style="margin-left: 8px" + >閲嶇疆</a-button> + <a + @click="handleToggleSearch" + style="margin-left: 8px" + > {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }} <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/> </a> @@ -66,20 +211,49 @@ <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> <div class="table-operator"> - <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button> - <a-button type="primary" icon="download" @click="handleExportXls('璁惧鍙拌处')">瀵煎嚭</a-button> - <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" - @change="handleImportExcel"> - <a-button type="primary" icon="import">瀵煎叆</a-button> + <a-button + @click="handleAdd" + type="primary" + icon="plus" + >鏂板 + </a-button> + <a-button + type="primary" + icon="download" + @click="handleExportXls('璁惧鍙拌处')" + >瀵煎嚭 + </a-button> + <a-upload + name="file" + :showUploadList="false" + :multiple="false" + :headers="tokenHeader" + :action="importExcelUrl" + @change="handleImportExcel" + > + <a-button + type="primary" + icon="import" + >瀵煎叆 + </a-button> </a-upload> - <a-button type="primary" icon="download" @click="handleTemplateXlsDownload">瀵煎叆妯℃澘涓嬭浇</a-button> + <a-button + type="primary" + icon="download" + @click="handleTemplateXlsDownload" + >瀵煎叆妯℃澘涓嬭浇 + </a-button> <a-dropdown v-if="selectedRowKeys.length > 0"> <a-menu slot="overlay"> -<!-- <a-menu-item key="1" @click="handleOpenNameplateModal(selectionRows)">--> -<!-- <a-icon type="printer"/>--> -<!-- 鎵撳嵃閾墝--> -<!-- </a-menu-item>--> - <a-menu-item key="2" @click="batchDel" v-if="isShowAuth('eam:equipment:delete')"> + <!-- <a-menu-item key="1" @click="handleOpenNameplateModal(selectionRows)">--> + <!-- <a-icon type="printer"/>--> + <!-- 鎵撳嵃閾墝--> + <!-- </a-menu-item>--> + <a-menu-item + key="2" + @click="batchDel" + v-if="isShowAuth('eam:equipment:delete')" + > <a-icon type="delete"/> 鍒犻櫎 </a-menu-item> @@ -92,10 +266,16 @@ <!-- table鍖哄煙-begin --> <div> - <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;"> - <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a - style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤� - <a style="margin-left: 24px" @click="onSelectChange([])">娓呯┖</a> + <div + class="ant-alert ant-alert-info" + style="margin-bottom: 16px;" + > + <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ + selectedRowKeys.length }}</a>椤� + <a + style="margin-left: 24px" + @click="onSelectChange([])" + >娓呯┖</a> </div> <a-table ref="table" @@ -106,11 +286,18 @@ :dataSource="dataSource" :pagination="ipagination" :loading="loading" - :scroll="{ x: 'max-content' }" + :scroll="{ x: 'max-content',y:465 }" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" @change="handleTableChange" :customRow="customTableRow" > + + <!--闇�瑕佽秴鍑虹渷鐣ョ殑瀛楁--> + <template slot="ellipsisText" slot-scope="text"> + <template v-if="(text&&text.length<=6)||!text">{{text}}</template> + <j-ellipsis v-else :value="text" :length="6"/> + </template> + <span slot="processParametersFlag" slot-scope="text"> <lx-switch v-model="text" disabled checked-children="鏈�" un-checked-children="鏃�"/> </span> @@ -124,9 +311,9 @@ <a-dropdown> <a class="ant-dropdown-link">鏇村 <a-icon type="down"/></a> <a-menu slot="overlay"> -<!-- <a-menu-item>--> -<!-- <a href="javascript:;" @click="handleOpenNameplateModal([record])">閾墝</a>--> -<!-- </a-menu-item>--> + <!-- <a-menu-item>--> + <!-- <a href="javascript:;" @click="handleOpenNameplateModal([record])">閾墝</a>--> + <!-- </a-menu-item>--> <a-menu-item> <a href="javascript:;" @click="handleOpenResumeDrawer(record)">灞ュ巻</a> </a-menu-item> @@ -153,14 +340,11 @@ <a-tab-pane tab="鐐规宸ュ崟" :key="2"> <eam-inspection-order-list ref="tabPaneTableListRef2" :isDisplayOperation="false"/> </a-tab-pane> -<!-- <a-tab-pane tab="鍛ㄤ繚宸ュ崟" :key="3"> - <eam-week-maintenance-order-list ref="tabPaneTableListRef3" :isDisplayOperation="false"/> - </a-tab-pane>--> <a-tab-pane tab="浜屼繚宸ュ崟" :key="3"> - <eam-second-maintenance-order-list ref="tabPaneTableListRef3" :isDisplayOperation="false" /> + <eam-second-maintenance-order-list ref="tabPaneTableListRef3" :isDisplayOperation="false"/> </a-tab-pane> <a-tab-pane tab="涓変繚宸ュ崟" :key="4"> - <eam-third-maintenance-order-list ref="tabPaneTableListRef4" :isDisplayOperation="false" /> + <eam-third-maintenance-order-list ref="tabPaneTableListRef4" :isDisplayOperation="false"/> </a-tab-pane> <a-tab-pane tab="缁翠慨宸ュ崟" :key="5"> <eam-repair-order-list ref="tabPaneTableListRef5" :isDisplayOperation="false"/> @@ -180,7 +364,7 @@ </a-tabs> <!-- 琛ㄥ崟鍖哄煙 --> - <eamEquipment-modal ref="modalForm" @ok="modalFormOk"></eamEquipment-modal> + <eamEquipment-modal ref="modalForm" @ok="modalFormOk"/> <!--閾墝寮圭獥--> <nameplate-modal ref="nameplateModalRef" :printedRows="printedRows"/> <!--灞ュ巻寮圭獥--> @@ -200,7 +384,6 @@ import EamRepairOrderList from '../repair/EamRepairOrderList' import EamInspectionOrderList from '../maintenance/EamInspectionOrderList' import EamEquipmentAttachmentList from '@views/eam/equipment/EamEquipmentAttachmentList.vue' - // import EamWeekMaintenanceOrderList from '@views/eam/maintenance/EamWeekMaintenanceOrderList.vue' import EamEquipmentProcessList from '@views/eam/equipment/modules/EamEquipmentProcessList.vue' import EamEquipmentPrecisionList from '@views/eam/equipment/modules/EamEquipmentPrecisionList.vue' import EamSecondMaintenanceOrderList from '@views/eam/maintenance/EamSecondMaintenanceOrderList.vue' @@ -218,7 +401,6 @@ NameplateModal, EamEquipmentModal, EamEquipmentAttachmentList, - // EamWeekMaintenanceOrderList, EamEquipmentProcessList, EamEquipmentPrecisionList, EamSecondMaintenanceOrderList, @@ -244,36 +426,53 @@ { title: '璁惧缂栧彿', align: 'center', - width: 100, + width: 150, dataIndex: 'equipmentCode', - ellipsis: true, fixed: 'left', sorter: true }, { title: '璁惧鍚嶇О', align: 'center', - width: 100, + width: 150, dataIndex: 'equipmentName', - ellipsis: true, + scopedSlots: { customRender: 'ellipsisText' }, fixed: 'left' }, { - title: '绠$悊鍒嗙被', + title: '璁惧鍨嬪彿', align: 'center', - width: 120, - dataIndex: 'equipmentImportance_dictText', + width: 150, + dataIndex: 'equipmentModel' }, { - title: '鎶�鏈姸鎬�', + title: '鍑哄巶鏃ユ湡', align: 'center', width: 100, - dataIndex: 'technologyStatus_dictText' + dataIndex: 'leaveFactoryDate' + }, + { + title: '鎶曠敤鏃ユ湡', + align: 'center', + width: 100, + dataIndex: 'acceptanceCheckDate' + }, + { + title: '鍘熷��(鍏�)', + align: 'center', + dataIndex: 'originalValue', + width: 120 + }, + { + title: '浣跨敤杞﹂棿', + align: 'center', + width: 150, + dataIndex: 'orgId_dictText' }, { title: '璧勪骇浣跨敤鐘舵��', align: 'center', - width: 100, + width: 120, dataIndex: 'assetStatus_dictText' }, { @@ -289,13 +488,31 @@ dataIndex: 'maintenanceStatus_dictText' }, { - title: '浣跨敤杞﹂棿', + title: '璁惧鐢ㄩ��', align: 'center', width: 100, - dataIndex: 'orgId_dictText' + dataIndex: 'equipmentUse_dictText' }, { - title: '璁惧绠$悊鍛�', + title: '鎿嶄綔宸�', + align: 'center', + width: 100, + dataIndex: 'operator' + }, + { + title: '绠$悊鍒嗙被', + align: 'center', + width: 100, + dataIndex: 'equipmentImportance_dictText' + }, + { + title: '鎶�鏈姸鎬�', + align: 'center', + width: 100, + dataIndex: 'technologyStatus_dictText' + }, + { + title: '璁惧璐d换浜�', align: 'center', width: 100, dataIndex: 'equipmentManager_dictText' @@ -303,23 +520,19 @@ { title: '璁惧绫诲埆', align: 'center', - dataIndex: 'equipmentCategory_dictText' + dataIndex: 'equipmentCategory_dictText', + width: 100 }, { title: '璁惧绉嶇被', align: 'center', - dataIndex: 'equipmentType_dictText' - }, - { - title: '璁惧鍨嬪彿', - align: 'center', - width: 200, - dataIndex: 'equipmentModel' + dataIndex: 'equipmentType_dictText', + width: 150 }, { title: '璁惧瑙勬牸', align: 'center', - width: 100, + width: 150, dataIndex: 'equipmentSpecification' }, { @@ -343,19 +556,22 @@ { title: '瀹夎浣嶇疆', align: 'center', - width: 100, - dataIndex: 'installationPosition' + width: 150, + dataIndex: 'installationPosition', + scopedSlots: { customRender: 'ellipsisText' } }, { title: '鍑哄巶缂栧彿', align: 'center', - dataIndex: 'factoryNumber' + dataIndex: 'factoryNumber', + width: 150 }, { title: '鏈哄簥鍘傚', align: 'center', - width: 300, - dataIndex: 'manufacturingEnterprise' + width: 150, + dataIndex: 'manufacturingEnterprise', + scopedSlots: { customRender: 'ellipsisText' } }, { title: '鏉ユ簮鍥藉', @@ -366,20 +582,9 @@ { title: '璁惧渚涘簲鍟�', align: 'center', - width: 100, + width: 150, + scopedSlots: { customRender: 'ellipsisText' }, dataIndex: 'supplier' - }, - { - title: '鍑哄巶鏃ユ湡', - align: 'center', - width: 100, - dataIndex: 'leaveFactoryDate' - }, - { - title: '鎶曠敤鏃ユ湡', - align: 'center', - width: 100, - dataIndex: 'acceptanceCheckDate' }, { title: '鏈夋棤宸ヨ壓鍙傛暟', @@ -398,27 +603,28 @@ { title: '澶栧舰灏哄', align: 'center', - dataIndex: 'overallDimensions' - }, - { - title: '鍘熷��(鍏�)', - align: 'center', - dataIndex: 'originalValue' + dataIndex: 'overallDimensions', + width: 120 }, { title: '璧勯噾鏉ユ簮', align: 'center', - dataIndex: 'fundingSource' + dataIndex: 'fundingSource', + width: 120 }, { title: '鍔熻兘鐢ㄩ��', align: 'center', - dataIndex: 'functionUse' + scopedSlots: { customRender: 'ellipsisText' }, + dataIndex: 'functionUse', + width: 150 }, { title: '鎬ц兘鎸囨爣', align: 'center', - dataIndex: 'performanceIndicators' + ellipsis: true, + dataIndex: 'performanceIndicators', + width: 120 }, { title: '鍏ュ笎鏃堕棿', @@ -441,17 +647,21 @@ { title: '鏇存柊浜�', align: 'center', - dataIndex: 'updateBy_dictText' + dataIndex: 'updateBy_dictText', + width: 100 }, { title: '鏇存柊鏃堕棿', align: 'center', - dataIndex: 'updateTime' + dataIndex: 'updateTime', + width: 200 }, { title: '澶囨敞', align: 'center', - dataIndex: 'remark' + dataIndex: 'remark', + width: 150, + scopedSlots: { customRender: 'ellipsisText' } }, { title: '鎿嶄綔', @@ -479,18 +689,28 @@ isOpenProcess: false, isOpenPrecision: false, treeDataAlias: [], + leaveFactoryDate: [], + acceptanceCheckDate: [] } }, computed: { importExcelUrl: function() { return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` - }, + } }, created() { this.loadAllProductionTree() this.loadAppHomeUrlConfigValue() }, methods: { + leaveFactoryRangeChange(valueArray) { + this.queryParam.leaveFactoryStartTime = valueArray[0] + this.queryParam.leaveFactoryEndTime = valueArray[1] + }, + acceptanceCheckRangeChange(valueArray) { + this.queryParam.acceptanceCheckStartTime = valueArray[0] + this.queryParam.acceptanceCheckEndTime = valueArray[1] + }, loadAllProductionTree() { //鍔犺浇杞﹂棿閫夋嫨鏍� getAction(this.url.loadProductionOptions).then(res => { @@ -574,25 +794,25 @@ this.$refs['tabPaneTableListRef' + this.activeTabKey].dataSource = [] this.$refs['tabPaneTableListRef' + this.activeTabKey].onClearSelected() if (selectedRowKeys.length === 1) { - let row = this.dataSource.find(row => row.id === selectedRowKeys[0]); - if(row) { + let row = this.dataSource.find(row => row.id === selectedRowKeys[0]) + if (row) { this.isOpenProcess = (row.processParametersFlag === '1') this.isOpenPrecision = (row.precisionParametersFlag === '1') - }else { + } else { this.isOpenProcess = false this.isOpenPrecision = false } this.loadTabPaneTableData(selectedRowKeys[0]) - }else { + } else { this.isOpenProcess = false this.isOpenPrecision = false } //tab鏍囩琚攢姣佷簡锛岃繑鍥炵涓�涓猼ab - if(!this.isOpenProcess && this.activeTabKey === 6) { - this.activeTabKey = 1; + if (!this.isOpenProcess && this.activeTabKey === 6) { + this.activeTabKey = 1 } - if(!this.isOpenPrecision && this.activeTabKey === 7) { - this.activeTabKey = 1; + if (!this.isOpenPrecision && this.activeTabKey === 7) { + this.activeTabKey = 1 } }, @@ -611,34 +831,42 @@ deepCopyAndModify(arr) { // 濡傛灉褰撳墠鍏冪礌涓嶆槸鏁扮粍鎴栧璞★紝鐩存帴杩斿洖 if (!Array.isArray(arr) && typeof arr !== 'object' || arr === null || arr.length === 0) { - return arr; + return arr } // 濡傛灉鏄暟缁勶紝鍒涘缓涓�涓柊鏁扮粍骞堕�掑綊澶勭悊姣忎釜鍏冪礌 if (Array.isArray(arr)) { - const newArray = []; + const newArray = [] for (let i = 0; i < arr.length; i++) { - newArray.push(this.deepCopyAndModify(arr[i])); + newArray.push(this.deepCopyAndModify(arr[i])) } - return newArray; + return newArray } // 濡傛灉鏄璞★紝鍒涘缓涓�涓柊瀵硅薄骞堕�掑綊澶勭悊姣忎釜灞炴�� - const newObj = {}; + const newObj = {} for (const key in arr) { if (arr.hasOwnProperty(key)) { - if(key === 'selectable') { - newObj[key] = true; - } else if(key === 'children') { - newObj[key] = this.deepCopyAndModify(arr[key]); - }else { - newObj[key] = arr[key]; + if (key === 'selectable') { + newObj[key] = true + } else if (key === 'children') { + newObj[key] = this.deepCopyAndModify(arr[key]) + } else { + newObj[key] = arr[key] } } } - return newObj; + return newObj }, + searchReset() { + this.leaveFactoryDate = [] + this.acceptanceCheckDate = [] + this.queryParam = {} + this.onClearSelected() + this.loadTabPaneTableData('-1') + this.loadData(1) + } } } </script> -- Gitblit v1.9.3