From 9875e3f602c9e9e90b13522ca2df00f2937dba9f Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期三, 02 四月 2025 11:41:37 +0800 Subject: [PATCH] art: 设备管理-保养标准-查询区域调整 --- src/views/eam/equipment/EamEquipmentList.vue | 317 +++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 258 insertions(+), 59 deletions(-) diff --git a/src/views/eam/equipment/EamEquipmentList.vue b/src/views/eam/equipment/EamEquipmentList.vue index 2c13c29..d8ed389 100644 --- a/src/views/eam/equipment/EamEquipmentList.vue +++ b/src/views/eam/equipment/EamEquipmentList.vue @@ -15,16 +15,47 @@ <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-form-item label="鍏抽敭璁惧鏍囪瘑"> + <j-dict-select-tag dict-code="yn" 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-form-item label="璁惧鍨嬪彿"> - <a-input placeholder="璇疯緭鍏ヨ澶囧瀷鍙�" v-model="queryParam.equipmentModel"></a-input> + <a-form-item label="璧勪骇鐘舵��"> + <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-form-item label="瑙勬牸"> - <a-input placeholder="璇疯緭鍏ヨ鏍�" v-model="queryParam.equipmentSpecification"></a-input> + <a-form-item label="鎶�鏈姸鎬�"> + <j-dict-select-tag dict-code="technology_status" placeholder="璇烽�夋嫨鎶�鏈姸鎬�" + v-model="queryParam.technologyStatus"></j-dict-select-tag> + </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.operationSystem"></a-input> + </a-form-item> + </a-col> + <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="treeData" + :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="璁惧鍒嗙被"> + <j-dict-select-tag dict-code="equipment_category" placeholder="璇烽�夋嫨璁惧鍒嗙被" + v-model="queryParam.equipmentCategory"></j-dict-select-tag> </a-form-item> </a-col> </template> @@ -34,7 +65,7 @@ <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-icon :type="toggleSearchStatus ? 'up' : 'down'"/> </a> </span> </a-col> @@ -51,15 +82,16 @@ @change="handleImportExcel"> <a-button type="primary" icon="import">瀵煎叆</a-button> </a-upload> + <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="batchDel"> - <a-icon type="delete" /> + <a-icon type="delete"/> 鍒犻櫎 </a-menu-item> </a-menu> <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 - <a-icon type="down" /> + <a-icon type="down"/> </a-button> </a-dropdown> </div> @@ -69,7 +101,7 @@ <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="onClearSelected">娓呯┖</a> + <a style="margin-left: 24px" @click="onSelectChange([])">娓呯┖</a> </div> <a-table @@ -83,19 +115,40 @@ :loading="loading" :scroll="{ x: 'max-content' }" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" - @change="handleTableChange"> - + @change="handleTableChange" + :customRow="customTableRow" + > <span slot="equipmentImportance" slot-scope="text"> - <lx-switch v-model="text" disabled checked-children='鏄�' un-checked-children='鍚�' /> + <lx-switch v-model="text" disabled checked-children="鏄�" un-checked-children="鍚�"/> </span> - + <span slot="mdcFlag" slot-scope="text"> + <lx-switch v-model="text" disabled checked-children="鏄�" un-checked-children="鍚�"/> + </span> + <span slot="processParametersFlag" slot-scope="text"> + <lx-switch v-model="text" disabled checked-children="鏈�" un-checked-children="鏃�"/> + </span> + <span slot="precisionParametersFlag" slot-scope="text"> + <lx-switch v-model="text" disabled checked-children="鏈�" un-checked-children="鏃�"/> + </span> + <span slot="specialEquipment" slot-scope="text"> + <lx-switch v-model="text" disabled checked-children="鏄�" un-checked-children="鍚�"/> + </span> <span slot="action" slot-scope="text, record"> - <a @click="handleEdit(record)">缂栬緫</a> + <a @click.stop="handleEdit(record)">缂栬緫</a> - <a-divider type="vertical" /> + <a-divider type="vertical"/> <a-dropdown> - <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a> + <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="handleOpenResumeDrawer(record)">灞ュ巻</a> + </a-menu-item> + <a-menu-item> + <a href="javascript:;" @click="handleDetail(record)">璇︽儏</a> + </a-menu-item> <a-menu-item> <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)"> <a>鍒犻櫎</a> @@ -109,8 +162,18 @@ </div> <!-- table鍖哄煙-end --> + <a-tabs v-model="activeTabKey"> + <a-tab-pane tab="淇濆吇鏍囧噯" :key="1"> + <eam-maintenance-standard-list ref="tabPaneTableListRef" :isDisplayOperation="false"/> + </a-tab-pane> + </a-tabs> + <!-- 琛ㄥ崟鍖哄煙 --> <eamEquipment-modal ref="modalForm" @ok="modalFormOk"></eamEquipment-modal> + <!--閾墝寮圭獥--> + <nameplate-modal ref="nameplateModalRef"/> + <!--灞ュ巻寮圭獥--> + <resume-drawer ref="resumeDrawerRef"/> </a-card> </template> @@ -118,11 +181,19 @@ import '@/assets/less/TableExpand.less' import EamEquipmentModal from './modules/EamEquipmentModal' import { JeecgListMixin } from '@/mixins/JeecgListMixin' +import { getAction, templateXlsDownload } from '@api/manage' +import NameplateModal from '@views/eam/equipment/modules/NameplateModal.vue' +import { getSystemConfigValue } from '@api/api' +import ResumeDrawer from '@views/eam/equipment/modules/ResumeDrawer.vue' +import EamMaintenanceStandardList from '@views/eam/base/EamMaintenanceStandardList.vue' export default { name: 'EamEquipmentList', mixins: [JeecgListMixin], components: { + EamMaintenanceStandardList, + ResumeDrawer, + NameplateModal, EamEquipmentModal }, data() { @@ -138,7 +209,8 @@ align: 'center', customRender: function(t, r, index) { return parseInt(index) + 1 - } + }, + fixed: 'left' }, { title: '璁惧缂栧彿', @@ -146,7 +218,8 @@ width: 100, dataIndex: 'equipmentCode', ellipsis: true, - fixed: 'left' + fixed: 'left', + sorter: true }, { title: '璁惧鍚嶇О', @@ -159,147 +232,164 @@ { title: '鍏抽敭璁惧鏍囪瘑', align: 'center', - width : 100, + width: 120, dataIndex: 'equipmentImportance', scopedSlots: { customRender: 'equipmentImportance' } }, { + title: '璧勪骇鐘舵��', + align: 'center', + width: 100, + dataIndex: 'assetStatus_dictText' + }, + { title: '鎶�鏈姸鎬�', align: 'center', - width : 100, + width: 100, dataIndex: 'technologyStatus_dictText' + }, + { + title: '缁翠慨鐘舵��', + align: 'center', + width: 100, + dataIndex: 'repairStatus_dictText' + }, + { + title: '淇濆吇鐘舵��', + align: 'center', + width: 100, + dataIndex: 'maintenanceStatus_dictText' }, { title: '鎿嶄綔绯荤粺', align: 'center', - width : 100, + width: 100, dataIndex: 'operationSystem' }, { - title: '浣跨敤閮ㄩ棬', + title: '浣跨敤杞﹂棿', align: 'center', - width : 100, - dataIndex: 'orgId' + width: 100, + dataIndex: 'orgId_dictText' }, { title: '璁惧绠$悊鍛�', align: 'center', - width : 100, - dataIndex: 'equipmentManager' + width: 100, + dataIndex: 'equipmentManager_dictText' }, { title: '璁惧鍒嗙被', align: 'center', - width : 100, + width: 100, dataIndex: 'equipmentCategory_dictText' }, { title: '璁惧鍨嬪彿', align: 'center', - width : 100, + width: 200, dataIndex: 'equipmentModel' }, { title: '璁惧瑙勬牸', align: 'center', - width : 100, + width: 100, dataIndex: 'equipmentSpecification' }, { title: '涓昏酱杩炴帴灏哄', align: 'center', - width : 100, + width: 120, dataIndex: 'spindleConnectDimension' }, { title: '鎬诲姛鐜�', align: 'center', - width : 100, + width: 100, dataIndex: 'equipmentPower' }, { title: '瀹夎浣嶇疆', align: 'center', - width : 100, + width: 100, dataIndex: 'installationPosition' }, - { - title: '璧勪骇鐘舵��', - align: 'center', - width : 100, - dataIndex: 'assetStatus_dictText' - }, + { title: '绔嬮」鍗″彿', align: 'center', - width : 100, + width: 100, dataIndex: 'cardNumber' }, { title: '鍑哄巶缂栧彿', align: 'center', - width : 100, + width: 100, dataIndex: 'factoryNumber' }, { title: '鏈哄簥鍘傚', align: 'center', - width : 100, + width: 100, dataIndex: 'manufacturingEnterprise' }, { title: '鏉ユ簮鍥藉', align: 'center', - width : 100, + width: 100, dataIndex: 'originCountry' }, { title: '鍑哄巶鏃ユ湡', align: 'center', - width : 100, + width: 100, dataIndex: 'leaveFactoryDate' }, { title: '楠屾敹鏃ユ湡', align: 'center', - width : 100, + width: 100, dataIndex: 'acceptanceCheckDate' }, { title: '璐ㄤ繚寮�濮嬫棩鏈�', align: 'center', - width : 100, + width: 120, dataIndex: 'warrantyStartDate' }, { title: '璐ㄤ繚缁撴潫鏃ユ湡', align: 'center', - width : 100, + width: 120, dataIndex: 'warrantyEndDate' }, { title: '鏄惁瀹炴柦MDC', align: 'center', - width : 100, - dataIndex: 'mdcFlag' + width: 120, + dataIndex: 'mdcFlag', + scopedSlots: { customRender: 'mdcFlag' } }, { - title: '鏄惁鏈夊伐鑹哄弬鏁�', + title: '鏈夋棤宸ヨ壓鍙傛暟', align: 'center', - width : 100, - dataIndex: 'processParametersFlag' + width: 120, + dataIndex: 'processParametersFlag', + scopedSlots: { customRender: 'processParametersFlag' } }, { - title: '鏄惁鏈夌簿搴﹀弬鏁�', + title: '鏈夋棤绮惧害鍙傛暟', align: 'center', - width : 100, - dataIndex: 'precisionParametersFlag' + width: 120, + dataIndex: 'precisionParametersFlag', + scopedSlots: { customRender: 'precisionParametersFlag' } }, { title: '鏄惁涓虹壒绉嶈澶�', align: 'center', - width : 100, - dataIndex: 'specialEquipment' + width: 120, + dataIndex: 'specialEquipment', + scopedSlots: { customRender: 'specialEquipment' } }, { title: '閲嶉噺', @@ -317,6 +407,26 @@ align: 'center', width: 100, dataIndex: 'coordinateNum' + }, + { + title: '鍒涘缓浜�', + align: 'center', + dataIndex: 'createBy_dictText' + }, + { + title: '鍒涘缓鏃堕棿', + align: 'center', + dataIndex: 'createTime' + }, + { + title: '鏇存柊浜�', + align: 'center', + dataIndex: 'updateBy_dictText' + }, + { + title: '鏇存柊鏃堕棿', + align: 'center', + dataIndex: 'updateTime' }, { title: '澶囨敞', @@ -338,8 +448,13 @@ delete: '/eam/equipment/delete', deleteBatch: '/eam/equipment/deleteBatch', exportXlsUrl: 'eam/equipment/exportXls', - importExcelUrl: 'eam/equipment/importExcel' - } + importExcelUrl: 'eam/equipment/importExcel', + loadProductionOptions: '/mdc/mdcProduction/loadProductionTreeOptions', + templateXlsDownloadUrl: '瀵煎叆妯℃澘/璁惧鍙拌处瀵煎叆妯℃澘_v1.0.xlsx' + }, + treeData: [], + activeTabKey: 1, + appHomeUrl: '' } }, computed: { @@ -347,7 +462,91 @@ return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` } }, - methods: {} + created() { + this.loadAllProductionTree() + this.loadAppHomeUrlConfigValue() + }, + methods: { + loadAllProductionTree() { + //鍔犺浇杞﹂棿閫夋嫨鏍� + getAction(this.url.loadProductionOptions).then(res => { + if (res.success) { + this.treeData = [...res.result] + } else { + that.$message.warning(res.message) + } + }) + }, + + /** + * 寮�鍚摥鐗屽脊绐� + * @param record 琛ㄦ牸琛屼俊鎭� + */ + handleOpenNameplateModal(record) { + this.$refs.nameplateModalRef.model = Object.assign({}, record) + this.$refs.nameplateModalRef.httpUrl = this.appHomeUrl + record.equipmentCode + this.$refs.nameplateModalRef.visible = true + }, + + /** + * 寮�鍚饱鍘嗘娊灞� + * @param record + */ + handleOpenResumeDrawer(record) { + this.$refs.resumeDrawerRef.visible = true + }, + + /** + * 鑷畾涔夎澶囧彴璐﹁〃鏍艰 + * @param record 琛ㄦ牸琛屼俊鎭� + * @returns {{style: {cursor: string}, on: {click: *}}} 鏍峰紡瀵硅薄涓庝簨浠舵柟娉� + */ + customTableRow(record) { + return { + style: { + cursor: 'pointer' + }, + on: { + click: () => { + this.onSelectChange([record.id]) + } + } + } + }, + + /** + * 鍔犺浇椤电琛ㄦ牸鏁版嵁 + * @param id 璁惧鍙拌处琛岃褰旾d + */ + loadTabPaneTableData(id) { + this.$refs.tabPaneTableListRef.queryParam.equipmentId = id + this.$refs.tabPaneTableListRef.loadData(1) + }, + + /** + * 璁惧鍙拌处琛ㄦ牸澶氶�夋鐘舵�佹敼鍙樻椂瑙﹀彂 + * @param selectedRowKeys 宸查�夋嫨鐨剅owKey闆嗗悎 + */ + onSelectChange(selectedRowKeys) { + this.selectedRowKeys = selectedRowKeys + this.$refs.tabPaneTableListRef.dataSource = [] + this.$refs.tabPaneTableListRef.onClearSelected() + if (selectedRowKeys.length === 1) this.loadTabPaneTableData(selectedRowKeys[0]) + }, + + handleTemplateXlsDownload() { + templateXlsDownload(this.url.templateXlsDownloadUrl) + }, + + loadAppHomeUrlConfigValue() { + let params = { settingKey: 'app_home_url' } + getSystemConfigValue(params).then(res => { + if (res.success) { + this.appHomeUrl = res.result.settingValue + } + }) + } + } } </script> <style scoped> -- Gitblit v1.9.3