From 399b4e54d6e48b71ef778bedf577a2b87bf406dd Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期二, 01 四月 2025 17:11:35 +0800
Subject: [PATCH] art: 设备管理-保养标准-明细项修改
---
src/views/eam/equipment/EamEquipmentList.vue | 169 ++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 146 insertions(+), 23 deletions(-)
diff --git a/src/views/eam/equipment/EamEquipmentList.vue b/src/views/eam/equipment/EamEquipmentList.vue
index 059f2ce..d8ed389 100644
--- a/src/views/eam/equipment/EamEquipmentList.vue
+++ b/src/views/eam/equipment/EamEquipmentList.vue
@@ -17,18 +17,21 @@
</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>
+ <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="璧勪骇鐘舵��">
- <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>
+ <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">
@@ -51,7 +54,8 @@
</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>
+ <j-dict-select-tag dict-code="equipment_category" placeholder="璇烽�夋嫨璁惧鍒嗙被"
+ v-model="queryParam.equipmentCategory"></j-dict-select-tag>
</a-form-item>
</a-col>
</template>
@@ -61,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>
@@ -78,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>
@@ -96,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
@@ -110,29 +115,37 @@
: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="鍚�" />
+ <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="鏃�" />
+ <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="鏃�" />
+ <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="鍚�" />
+ <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>
@@ -149,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>
@@ -158,12 +181,19 @@
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
},
data() {
@@ -189,7 +219,7 @@
dataIndex: 'equipmentCode',
ellipsis: true,
fixed: 'left',
- sorter: true,
+ sorter: true
},
{
title: '璁惧鍚嶇О',
@@ -257,7 +287,7 @@
{
title: '璁惧鍨嬪彿',
align: 'center',
- width: 100,
+ width: 200,
dataIndex: 'equipmentModel'
},
{
@@ -379,6 +409,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,
@@ -399,9 +449,12 @@
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: [],
+ activeTabKey: 1,
+ appHomeUrl: ''
}
},
computed: {
@@ -410,7 +463,8 @@
}
},
created() {
- this.loadAllProductionTree();
+ this.loadAllProductionTree()
+ this.loadAppHomeUrlConfigValue()
},
methods: {
loadAllProductionTree() {
@@ -418,11 +472,80 @@
getAction(this.url.loadProductionOptions).then(res => {
if (res.success) {
this.treeData = [...res.result]
- }else {
+ } 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>
--
Gitblit v1.9.3