From 86c49515065de7729e5b2aa17f1e260d3c4f3669 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期四, 03 四月 2025 17:08:39 +0800 Subject: [PATCH] art: 设备管理-周保-基础代码提交 --- src/views/eam/equipment/EamEquipmentList.vue | 134 ++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 121 insertions(+), 13 deletions(-) diff --git a/src/views/eam/equipment/EamEquipmentList.vue b/src/views/eam/equipment/EamEquipmentList.vue index 4073dd0..3e28275 100644 --- a/src/views/eam/equipment/EamEquipmentList.vue +++ b/src/views/eam/equipment/EamEquipmentList.vue @@ -82,11 +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-menu-item> + <a-menu-item key="2" @click="handleOpenNameplateModal(selectionRows)"> + <a-icon type="printer"/> + 鎵撳嵃閾墝 </a-menu-item> </a-menu> <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 @@ -100,7 +105,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 @@ -114,7 +119,9 @@ :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="鍚�"/> </span> @@ -131,14 +138,17 @@ <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-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 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> @@ -156,10 +166,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"/> + <nameplate-modal ref="nameplateModalRef" :printedRows="printedRows"/> + <!--灞ュ巻寮圭獥--> + <resume-drawer ref="resumeDrawerRef"/> </a-card> </template> @@ -167,13 +185,18 @@ import '@/assets/less/TableExpand.less' import EamEquipmentModal from './modules/EamEquipmentModal' import { JeecgListMixin } from '@/mixins/JeecgListMixin' -import { getAction } from '@api/manage' +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 }, @@ -268,7 +291,7 @@ { title: '璁惧鍨嬪彿', align: 'center', - width: 100, + width: 200, dataIndex: 'equipmentModel' }, { @@ -390,6 +413,26 @@ 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: '澶囨敞', align: 'center', width: 100, @@ -410,9 +453,13 @@ deleteBatch: '/eam/equipment/deleteBatch', exportXlsUrl: 'eam/equipment/exportXls', importExcelUrl: 'eam/equipment/importExcel', - loadProductionOptions: '/mdc/mdcProduction/loadProductionTreeOptions' + loadProductionOptions: '/mdc/mdcProduction/loadProductionTreeOptions', + templateXlsDownloadUrl: '瀵煎叆妯℃澘/璁惧鍙拌处瀵煎叆妯℃澘_v1.0.xlsx' }, - treeData: [] + treeData: [], + printedRows: [], + activeTabKey: 1, + appHomeUrl: '' } }, computed: { @@ -422,6 +469,7 @@ }, created() { this.loadAllProductionTree() + this.loadAppHomeUrlConfigValue() }, methods: { loadAllProductionTree() { @@ -437,13 +485,73 @@ /** * 寮�鍚摥鐗屽脊绐� - * @param record + * @param recordArray 琛ㄦ牸琛屼俊鎭泦鍚� */ - handleOpenNameplateModal(record) { - this.$refs.nameplateModalRef.model = Object.assign({}, record) - this.$refs.nameplateModalRef.httpUrl = 'http://www.baidu.com' + handleOpenNameplateModal(recordArray) { + this.printedRows = recordArray + this.$refs.nameplateModalRef.httpUrl = this.appHomeUrl 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闆嗗悎 + * @param selectionRows 褰撳墠鍒嗛〉涓嬪凡閫夋嫨鐨勮淇℃伅闆嗗悎 + */ + onSelectChange(selectedRowKeys, selectionRows) { + this.selectedRowKeys = selectedRowKeys + this.selectionRows = selectionRows + 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 + } + }) } } } -- Gitblit v1.9.3