From 4c8b185fea72bc3bb8fc380a196b8fe2a8e5f1af Mon Sep 17 00:00:00 2001 From: qushaowei <qushaowei@163.com> Date: 星期四, 03 七月 2025 20:13:28 +0800 Subject: [PATCH] 设备管理问题修改 --- src/views/eam/equipment/EamEquipmentList.vue | 689 +++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 523 insertions(+), 166 deletions(-) diff --git a/src/views/eam/equipment/EamEquipmentList.vue b/src/views/eam/equipment/EamEquipmentList.vue index 802b6ca..ec10e87 100644 --- a/src/views/eam/equipment/EamEquipmentList.vue +++ b/src/views/eam/equipment/EamEquipmentList.vue @@ -3,69 +3,128 @@ <!-- 鏌ヨ鍖哄煙 --> <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-form-item label="鍏抽敭璁惧鏍囪瘑"> - <j-dict-select-tag dict-code="yn" placeholder="璇烽�夋嫨鍏抽敭璁惧鏍囪瘑" - v-model="queryParam.equipmentImportance"></j-dict-select-tag> + <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> </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-form-item label="鎶�鏈姸鎬�"> - <j-dict-select-tag dict-code="technology_status" placeholder="璇烽�夋嫨鎶�鏈姸鎬�" - v-model="queryParam.technologyStatus"></j-dict-select-tag> + <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> - <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-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 + 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="璁惧鍒嗙被"> - <j-dict-select-tag dict-code="equipment_category" placeholder="璇烽�夋嫨璁惧鍒嗙被" - v-model="queryParam.equipmentCategory"></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-icon :type="toggleSearchStatus ? 'up' : 'down'" /> </a> </span> </a-col> @@ -76,34 +135,67 @@ <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> <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="batchDel"> - <a-icon type="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> </a-menu> <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 - <a-icon type="down"/> + <a-icon type="down" /> </a-button> </a-dropdown> </div> <!-- 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="onClearSelected">娓呯┖</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" size="middle" @@ -115,37 +207,61 @@ :loading="loading" :scroll="{ x: 'max-content' }" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" - @change="handleTableChange"> - <span slot="equipmentImportance" slot-scope="text"> - <lx-switch v-model="text" disabled checked-children="鏄�" un-checked-children="鍚�"/> + @change="handleTableChange" + :customRow="customTableRow" + > + <span + slot="processParametersFlag" + slot-scope="text" + > + <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 + slot="precisionParametersFlag" + 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> + <span + slot="action" + slot-scope="text, record" + > + <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="handleOpenNameplateModal(record)">閾墝</a> + <a + href="javascript:;" + @click="handleOpenResumeDrawer(record)" + >灞ュ巻</a> </a-menu-item> <a-menu-item> - <a href="javascript:;" @click="handleDetail(record)">璇︽儏</a> + <a + href="javascript:;" + @click="handleDetail(record)" + >璇︽儏</a> </a-menu-item> - <a-menu-item> - <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)"> + <a-menu-item v-if="isShowAuth('eam:equipment:delete')"> + <a-popconfirm + title="纭畾鍒犻櫎鍚�?" + @confirm="() => handleDelete(record.id)" + > <a>鍒犻櫎</a> </a-popconfirm> </a-menu-item> @@ -157,10 +273,110 @@ </div> <!-- table鍖哄煙-end --> + <a-tabs + v-model="activeTabKey" + @change="handleTabChange" + > + <a-tab-pane + tab="璁惧鏂囨。" + :key="1" + > + <eam-equipment-attachment-list ref="tabPaneTableListRef1" /> + </a-tab-pane> + <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" + /> + </a-tab-pane> + <a-tab-pane + tab="涓変繚宸ュ崟" + :key="4" + > + <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" + /> + </a-tab-pane> + <a-tab-pane + tab="淇濆吇鏍囧噯" + :key="6" + > + <eam-maintenance-standard-list + ref="tabPaneTableListRef6" + :isDisplayOperation="false" + /> + </a-tab-pane> + <a-tab-pane + tab="宸ヨ壓鍙傛暟" + :key="7" + v-if="isOpenProcess" + > + <eam-equipment-process-list + ref="tabPaneTableListRef7" + :isDisplayOperation="false" + /> + </a-tab-pane> + <a-tab-pane + tab="璁惧绮惧害" + :key="8" + v-if="isOpenPrecision" + > + <eam-equipment-precision-list + ref="tabPaneTableListRef8" + :isDisplayOperation="false" + /> + </a-tab-pane> + <a-tab-pane + tab="璁惧娌规恫" + :key="9" + > + <eam-equipment-fluid-list + ref="tabPaneTableListRef9" + :isDisplayOperation="false" + /> + </a-tab-pane> + </a-tabs> + <!-- 琛ㄥ崟鍖哄煙 --> - <eamEquipment-modal ref="modalForm" @ok="modalFormOk"></eamEquipment-modal> + <eamEquipment-modal + ref="modalForm" + @ok="modalFormOk" + ></eamEquipment-modal> <!--閾墝寮圭獥--> - <nameplate-modal ref="nameplateModalRef"/> + <nameplate-modal + ref="nameplateModalRef" + :printedRows="printedRows" + /> + <!--灞ュ巻寮圭獥--> + <resume-drawer + ref="resumeDrawerRef" + :currentTableRowRecord="currentTableRowRecord" + /> </a-card> </template> @@ -171,13 +387,35 @@ 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' +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' +import EamThirdMaintenanceOrderList from '@views/eam/maintenance/EamThirdMaintenanceOrderList.vue' +import EamEquipmentFluidList from '@views/eam/equipment/modules/EamEquipmentFluidList.vue' export default { name: 'EamEquipmentList', mixins: [JeecgListMixin], components: { + EamInspectionOrderList, + EamRepairOrderList, + EamMaintenanceStandardList, + ResumeDrawer, NameplateModal, - EamEquipmentModal + EamEquipmentModal, + EamEquipmentAttachmentList, + // EamWeekMaintenanceOrderList, + EamEquipmentProcessList, + EamEquipmentPrecisionList, + EamSecondMaintenanceOrderList, + EamThirdMaintenanceOrderList, + EamEquipmentFluidList }, data() { return { @@ -190,7 +428,7 @@ key: 'rowIndex', width: 60, align: 'center', - customRender: function(t, r, index) { + customRender: function (t, r, index) { return parseInt(index) + 1 }, fixed: 'left' @@ -213,23 +451,22 @@ fixed: 'left' }, { - title: '鍏抽敭璁惧鏍囪瘑', + title: '绠$悊鍒嗙被', align: 'center', width: 120, - dataIndex: 'equipmentImportance', - scopedSlots: { customRender: 'equipmentImportance' } - }, - { - title: '璧勪骇鐘舵��', - align: 'center', - width: 100, - dataIndex: 'assetStatus_dictText' + dataIndex: 'equipmentImportance_dictText', }, { title: '鎶�鏈姸鎬�', align: 'center', width: 100, dataIndex: 'technologyStatus_dictText' + }, + { + title: '璧勪骇浣跨敤鐘舵��', + align: 'center', + width: 100, + dataIndex: 'assetStatus_dictText' }, { title: '缁翠慨鐘舵��', @@ -244,12 +481,6 @@ dataIndex: 'maintenanceStatus_dictText' }, { - title: '鎿嶄綔绯荤粺', - align: 'center', - width: 100, - dataIndex: 'operationSystem' - }, - { title: '浣跨敤杞﹂棿', align: 'center', width: 100, @@ -262,15 +493,19 @@ dataIndex: 'equipmentManager_dictText' }, { - title: '璁惧鍒嗙被', + title: '璁惧绫诲埆', align: 'center', - width: 100, dataIndex: 'equipmentCategory_dictText' + }, + { + title: '璁惧绉嶇被', + align: 'center', + dataIndex: 'equipmentType_dictText' }, { title: '璁惧鍨嬪彿', align: 'center', - width: 100, + width: 200, dataIndex: 'equipmentModel' }, { @@ -280,16 +515,22 @@ dataIndex: 'equipmentSpecification' }, { - title: '涓昏酱杩炴帴灏哄', + title: '鐢垫満鍙版暟', align: 'center', - width: 120, - dataIndex: 'spindleConnectDimension' + width: 100, + dataIndex: 'motorsNumber' }, { - title: '鎬诲姛鐜�', + title: '鎬诲姛鐜�(KW)', align: 'center', width: 100, dataIndex: 'equipmentPower' + }, + { + title: '閲嶉噺(鍚�)', + align: 'center', + width: 100, + dataIndex: 'equipmentWeight' }, { title: '瀹夎浣嶇疆', @@ -297,23 +538,15 @@ width: 100, dataIndex: 'installationPosition' }, - - { - title: '绔嬮」鍗″彿', - align: 'center', - width: 100, - dataIndex: 'cardNumber' - }, { title: '鍑哄巶缂栧彿', align: 'center', - width: 100, dataIndex: 'factoryNumber' }, { title: '鏈哄簥鍘傚', align: 'center', - width: 100, + width: 300, dataIndex: 'manufacturingEnterprise' }, { @@ -323,35 +556,22 @@ dataIndex: 'originCountry' }, { + title: '璁惧渚涘簲鍟�', + align: 'center', + width: 100, + dataIndex: 'supplier' + }, + { title: '鍑哄巶鏃ユ湡', align: 'center', width: 100, dataIndex: 'leaveFactoryDate' }, { - title: '楠屾敹鏃ユ湡', + title: '鎶曠敤鏃ユ湡', align: 'center', width: 100, dataIndex: 'acceptanceCheckDate' - }, - { - title: '璐ㄤ繚寮�濮嬫棩鏈�', - align: 'center', - width: 120, - dataIndex: 'warrantyStartDate' - }, - { - title: '璐ㄤ繚缁撴潫鏃ユ湡', - align: 'center', - width: 120, - dataIndex: 'warrantyEndDate' - }, - { - title: '鏄惁瀹炴柦MDC', - align: 'center', - width: 120, - dataIndex: 'mdcFlag', - scopedSlots: { customRender: 'mdcFlag' } }, { title: '鏈夋棤宸ヨ壓鍙傛暟', @@ -368,53 +588,61 @@ scopedSlots: { customRender: 'precisionParametersFlag' } }, { - title: '鏄惁涓虹壒绉嶈澶�', + title: '澶栧舰灏哄', align: 'center', - width: 120, - dataIndex: 'specialEquipment', - scopedSlots: { customRender: 'specialEquipment' } + dataIndex: 'overallDimensions' }, { - title: '閲嶉噺', + title: '鍘熷��(鍏�)', align: 'center', - dataIndex: 'equipmentWeight' + dataIndex: 'originalValue' }, { - title: '璁惧绔彛', + title: '璧勯噾鏉ユ簮', + align: 'center', + dataIndex: 'fundingSource' + }, + { + title: '鍔熻兘鐢ㄩ��', + align: 'center', + dataIndex: 'functionUse' + }, + { + title: '鎬ц兘鎸囨爣', + align: 'center', + dataIndex: 'performanceIndicators' + }, + { + title: '鍏ュ笎鏃堕棿', align: 'center', width: 100, - dataIndex: 'equipmentPort' - }, - { - title: '鍧愭爣鏁伴噺', - align: 'center', - width: 100, - dataIndex: 'coordinateNum' + dataIndex: 'bookingTime' }, { title: '鍒涘缓浜�', - align: "center", + align: 'center', + width: 100, dataIndex: 'createBy_dictText' }, { title: '鍒涘缓鏃堕棿', - align: "center", - dataIndex: 'createTime', + align: 'center', + width: 200, + dataIndex: 'createTime' }, { title: '鏇存柊浜�', - align: "center", + align: 'center', dataIndex: 'updateBy_dictText' }, { title: '鏇存柊鏃堕棿', - align: "center", - dataIndex: 'updateTime', + align: 'center', + dataIndex: 'updateTime' }, { title: '澶囨敞', align: 'center', - width: 100, dataIndex: 'remark' }, { @@ -433,20 +661,26 @@ exportXlsUrl: 'eam/equipment/exportXls', importExcelUrl: 'eam/equipment/importExcel', loadProductionOptions: '/mdc/mdcProduction/loadProductionTreeOptions', - templateXlsDownloadUrl: '瀵煎叆妯℃澘/璁惧鍙拌处瀵煎叆妯℃澘_v1.0.xlsx', + templateXlsDownloadUrl: '瀵煎叆妯℃澘/璁惧鍙拌处瀵煎叆妯℃澘_v1.1.xlsx' }, treeData: [], + printedRows: [], + activeTabKey: 1, appHomeUrl: '', + currentTableRowRecord: {}, + isOpenProcess: false, + isOpenPrecision: false, + treeDataAlias: [], } }, computed: { - importExcelUrl: function() { + importExcelUrl: function () { return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` - } + }, }, created() { - this.loadAllProductionTree(); - this.loadAppHomeUrlConfigValue(); + this.loadAllProductionTree() + this.loadAppHomeUrlConfigValue() }, methods: { loadAllProductionTree() { @@ -454,6 +688,8 @@ getAction(this.url.loadProductionOptions).then(res => { if (res.success) { this.treeData = [...res.result] + this.treeDataAlias = this.deepCopyAndModify(res.result) + console.info('treeDataAlias====', this.treeDataAlias) } else { that.$message.warning(res.message) } @@ -462,25 +698,146 @@ /** * 寮�鍚摥鐗屽脊绐� - * @param record + * @param recordArray 琛ㄦ牸琛屼俊鎭泦鍚� */ - handleOpenNameplateModal(record) { - this.$refs.nameplateModalRef.model = Object.assign({}, record) - this.$refs.nameplateModalRef.httpUrl = this.appHomeUrl + record.equipmentCode; + handleOpenNameplateModal(recordArray) { + this.printedRows = recordArray + this.$refs.nameplateModalRef.httpUrl = this.appHomeUrl this.$refs.nameplateModalRef.visible = true + }, + /** + * 寮�鍚饱鍘嗘娊灞� + * @param record 琛ㄦ牸琛屼俊鎭� + */ + handleOpenResumeDrawer(record) { + this.currentTableRowRecord = Object.assign({}, record) + this.$refs.resumeDrawerRef.title = '璁惧灞ュ巻' + `锛�${record.equipmentCode}锛塦 + this.$refs.resumeDrawerRef.dataSource = [] + this.$refs.resumeDrawerRef.visible = true + this.$nextTick(() => this.$refs.resumeDrawerRef.getEquipmentResumeByApi()) }, - handleTemplateXlsDownload(){ - templateXlsDownload(this.url.templateXlsDownloadUrl); + + /** + * 鑷畾涔夎澶囧彴璐﹁〃鏍艰 + * @param record 琛ㄦ牸琛屼俊鎭� + * @returns {{style: {cursor: string}, on: {click: *}}} 鏍峰紡瀵硅薄涓庝簨浠舵柟娉� + */ + customTableRow(record) { + return { + style: { + cursor: 'pointer' + }, + on: { + click: () => { + this.onSelectChange([record.id]) + } + } + } }, + + /** + * 椤电鏀瑰彉鏃惰Е鍙� + * @param activeTabKey 褰撳墠婵�娲荤殑椤电key + */ + handleTabChange(activeTabKey) { + if (this.selectedRowKeys.length !== 1) return + this.$nextTick(() => this.loadTabPaneTableData(this.selectedRowKeys[0])) + }, + + /** + * 鍔犺浇椤电琛ㄦ牸鏁版嵁 + * @param id 璁惧鍙拌处琛岃褰旾d + */ + loadTabPaneTableData(id) { + this.$refs['tabPaneTableListRef' + this.activeTabKey].queryParam.equipmentId = id + this.$refs['tabPaneTableListRef' + this.activeTabKey].loadData(1) + }, + + /** + * 璁惧鍙拌处琛ㄦ牸澶氶�夋鐘舵�佹敼鍙樻椂瑙﹀彂 + * @param selectedRowKeys 宸查�夋嫨鐨剅owKey闆嗗悎 + * @param selectionRows 褰撳墠鍒嗛〉涓嬪凡閫夋嫨鐨勮淇℃伅闆嗗悎 + */ + onSelectChange(selectedRowKeys, selectionRows) { + this.selectedRowKeys = selectedRowKeys + this.selectionRows = selectionRows + this.$refs['tabPaneTableListRef' + this.activeTabKey].queryParam.equipmentId = null + 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) { + this.isOpenProcess = (row.processParametersFlag === '1') + this.isOpenPrecision = (row.precisionParametersFlag === '1') + } else { + this.isOpenProcess = false + this.isOpenPrecision = false + } + this.loadTabPaneTableData(selectedRowKeys[0]) + } else { + this.isOpenProcess = false + this.isOpenPrecision = false + } + //tab鏍囩琚攢姣佷簡锛岃繑鍥炵涓�涓猼ab + if (!this.isOpenProcess && this.activeTabKey === 6) { + this.activeTabKey = 1; + } + if (!this.isOpenPrecision && this.activeTabKey === 7) { + this.activeTabKey = 1; + } + }, + + handleTemplateXlsDownload() { + templateXlsDownload(this.url.templateXlsDownloadUrl) + }, + loadAppHomeUrlConfigValue() { - let params = {settingKey: 'app_home_url'}; + let params = { settingKey: 'app_home_url' } getSystemConfigValue(params).then(res => { if (res.success) { - this.appHomeUrl = res.result.settingValue; + this.appHomeUrl = res.result.settingValue } }) }, + deepCopyAndModify(arr) { + // 濡傛灉褰撳墠鍏冪礌涓嶆槸鏁扮粍鎴栧璞★紝鐩存帴杩斿洖 + if (!Array.isArray(arr) && typeof arr !== 'object' || arr === null || arr.length === 0) { + return arr; + } + + // 濡傛灉鏄暟缁勶紝鍒涘缓涓�涓柊鏁扮粍骞堕�掑綊澶勭悊姣忎釜鍏冪礌 + if (Array.isArray(arr)) { + const newArray = []; + for (let i = 0; i < arr.length; i++) { + newArray.push(this.deepCopyAndModify(arr[i])); + } + return newArray; + } + + // 濡傛灉鏄璞★紝鍒涘缓涓�涓柊瀵硅薄骞堕�掑綊澶勭悊姣忎釜灞炴�� + 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]; + } + + } + } + return newObj; + }, + + searchReset() { + this.queryParam = {} + this.onClearSelected() + this.loadTabPaneTableData('-1') + this.loadData(1); + }, } } </script> -- Gitblit v1.9.3