From 0166debd35afec771737398cfe0c8e513acabef9 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期二, 27 五月 2025 15:44:36 +0800
Subject: [PATCH] art: 设备管理-三保-详情
---
src/views/eam/equipment/EamEquipmentList.vue | 291 +++++++++++++++++++++++++++++++++++----------------------
1 files changed, 179 insertions(+), 112 deletions(-)
diff --git a/src/views/eam/equipment/EamEquipmentList.vue b/src/views/eam/equipment/EamEquipmentList.vue
index 4dc9dda..517d4c7 100644
--- a/src/views/eam/equipment/EamEquipmentList.vue
+++ b/src/views/eam/equipment/EamEquipmentList.vue
@@ -16,8 +16,8 @@
</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="璇烽�夋嫨鍏抽敭璁惧鏍囪瘑"
+ <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>
@@ -29,21 +29,16 @@
</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-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 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-tree-select v-model="queryParam.orgId"
style="width: 100%"
- :tree-data="treeData"
+ :tree-data="treeDataAlias"
:dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
placeholder="璇烽�夋嫨浣跨敤杞﹂棿"
allow-clear
@@ -52,12 +47,7 @@
</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">
@@ -85,13 +75,13 @@
<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-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-item key="2" @click="handleOpenNameplateModal(selectionRows)">
- <a-icon type="printer"/>
- 鎵撳嵃閾墝
</a-menu-item>
</a-menu>
<a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔
@@ -107,7 +97,6 @@
style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
<a style="margin-left: 24px" @click="onSelectChange([])">娓呯┖</a>
</div>
-
<a-table
ref="table"
size="middle"
@@ -122,20 +111,11 @@
@change="handleTableChange"
:customRow="customTableRow"
>
- <span slot="equipmentImportance" 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>
<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.stop="handleEdit(record)">缂栬緫</a>
@@ -144,16 +124,16 @@
<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>
<a-menu-item>
<a href="javascript:;" @click="handleDetail(record)">璇︽儏</a>
</a-menu-item>
- <a-menu-item>
+ <a-menu-item v-if="isShowAuth('eam:equipment:delete')">
<a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
<a>鍒犻櫎</a>
</a-popconfirm>
@@ -167,11 +147,32 @@
<!-- table鍖哄煙-end -->
<a-tabs v-model="activeTabKey" @change="handleTabChange">
- <a-tab-pane tab="淇濆吇鏍囧噯" :key="1">
- <eam-maintenance-standard-list ref="tabPaneTableListRef1" :isDisplayOperation="false"/>
+ <a-tab-pane tab="璁惧鏂囨。" :key="1">
+ <eam-equipment-attachment-list ref="tabPaneTableListRef1"/>
</a-tab-pane>
- <a-tab-pane tab="缁翠慨宸ュ崟" :key="2">
- <eam-repair-order-list ref="tabPaneTableListRef2" :isDisplayOperation="false"/>
+ <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-tabs>
@@ -180,7 +181,7 @@
<!--閾墝寮圭獥-->
<nameplate-modal ref="nameplateModalRef" :printedRows="printedRows"/>
<!--灞ュ巻寮圭獥-->
- <resume-drawer ref="resumeDrawerRef"/>
+ <resume-drawer ref="resumeDrawerRef" :currentTableRowRecord="currentTableRowRecord"/>
</a-card>
</template>
@@ -194,16 +195,30 @@
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'
export default {
name: 'EamEquipmentList',
mixins: [JeecgListMixin],
components: {
+ EamInspectionOrderList,
EamRepairOrderList,
EamMaintenanceStandardList,
ResumeDrawer,
NameplateModal,
- EamEquipmentModal
+ EamEquipmentModal,
+ EamEquipmentAttachmentList,
+ // EamWeekMaintenanceOrderList,
+ EamEquipmentProcessList,
+ EamEquipmentPrecisionList,
+ EamSecondMaintenanceOrderList,
+ EamThirdMaintenanceOrderList
},
data() {
return {
@@ -239,23 +254,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: '缁翠慨鐘舵��',
@@ -270,12 +284,6 @@
dataIndex: 'maintenanceStatus_dictText'
},
{
- title: '鎿嶄綔绯荤粺',
- align: 'center',
- width: 100,
- dataIndex: 'operationSystem'
- },
- {
title: '浣跨敤杞﹂棿',
align: 'center',
width: 100,
@@ -288,10 +296,14 @@
dataIndex: 'equipmentManager_dictText'
},
{
- title: '璁惧鍒嗙被',
+ title: '璁惧绫诲埆',
align: 'center',
- width: 100,
dataIndex: 'equipmentCategory_dictText'
+ },
+ {
+ title: '璁惧绉嶇被',
+ align: 'center',
+ dataIndex: 'equipmentType_dictText'
},
{
title: '璁惧鍨嬪彿',
@@ -306,16 +318,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: '瀹夎浣嶇疆',
@@ -323,23 +341,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'
},
{
@@ -349,35 +359,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: '鏈夋棤宸ヨ壓鍙傛暟',
@@ -394,37 +391,46 @@
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',
+ width: 100,
dataIndex: 'createBy_dictText'
},
{
title: '鍒涘缓鏃堕棿',
align: 'center',
+ width: 200,
dataIndex: 'createTime'
},
{
@@ -440,7 +446,6 @@
{
title: '澶囨敞',
align: 'center',
- width: 100,
dataIndex: 'remark'
},
{
@@ -459,18 +464,22 @@
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: ''
+ appHomeUrl: '',
+ currentTableRowRecord: {},
+ isOpenProcess: false,
+ isOpenPrecision: false,
+ treeDataAlias: [],
}
},
computed: {
importExcelUrl: function() {
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
- }
+ },
},
created() {
this.loadAllProductionTree()
@@ -482,6 +491,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)
}
@@ -503,7 +514,11 @@
* @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())
},
/**
@@ -550,9 +565,30 @@
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) this.loadTabPaneTableData(selectedRowKeys[0])
+ 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() {
@@ -566,7 +602,38 @@
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;
+ },
}
}
</script>
--
Gitblit v1.9.3