From cfa6593cfa7ed640777881295eb61cd923e394fa Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期三, 02 四月 2025 14:09:13 +0800
Subject: [PATCH] art: 设备管理-保养标准-查询区域调整
---
src/views/eam/base/EamMaintenanceStandardList.vue | 249 +++++++++++++++++++++++++++++++------------------
1 files changed, 158 insertions(+), 91 deletions(-)
diff --git a/src/views/eam/base/EamMaintenanceStandardList.vue b/src/views/eam/base/EamMaintenanceStandardList.vue
index 571d403..a594cdc 100644
--- a/src/views/eam/base/EamMaintenanceStandardList.vue
+++ b/src/views/eam/base/EamMaintenanceStandardList.vue
@@ -1,71 +1,77 @@
<template>
<a-card :bordered="false">
- <!-- 鏌ヨ鍖哄煙 -->
- <div class="table-page-search-wrapper">
- <a-form layout="inline" @keyup.enter.native="searchQuery">
- <a-row :gutter="24">
- <a-col :xl="6" :lg="7" :md="8" :sm="24">
- <a-form-item label="鏍囧噯缂栫爜">
- <a-input placeholder="璇疯緭鍏ユ爣鍑嗙紪鐮�" v-model="queryParam.standardCode"></a-input>
- </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.standardName"></a-input>
- </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.equipmentCode"></a-input>
- </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.maintenanceCategory"></a-input>
+ <template v-if="isDisplayOperation">
+ <!-- 鏌ヨ鍖哄煙 -->
+ <div class="table-page-search-wrapper">
+ <a-form layout="inline" @keyup.enter.native="searchQuery">
+ <a-row :gutter="24">
+ <a-col :xl="4" :lg="7" :md="8" :sm="24">
+ <a-form-item label="鏍囧噯缂栫爜">
+ <a-input placeholder="璇疯緭鍏ユ爣鍑嗙紪鐮�" v-model="queryParam.standardCode"></a-input>
</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">
- {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }}
- <a-icon :type="toggleSearchStatus ? 'up' : 'down'" />
- </a>
- </span>
- </a-col>
+ <a-col :xl="4" :lg="7" :md="8" :sm="24">
+ <a-form-item label="鏍囧噯鍚嶇О">
+ <a-input placeholder="璇疯緭鍏ユ爣鍑嗗悕绉�" v-model="queryParam.standardName"></a-input>
+ </a-form-item>
+ </a-col>
+ <a-col :xl="4" :lg="7" :md="8" :sm="24">
+ <a-form-item label="璁惧缂栧彿">
+ <lx-search-equipment-select placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" v-model="queryParam.equipmentId"></lx-search-equipment-select>
+ </a-form-item>
+ </a-col>
+ <a-col :xl="4" :lg="7" :md="8" :sm="24">
+ <a-form-item label="淇濆吇鍒嗙被">
+ <j-dict-select-tag dict-code="maintenance_category" placeholder="璇烽�夋嫨淇濆吇鍒嗙被" v-model="queryParam.maintenanceCategory" />
+ </a-form-item>
+ </a-col>
+ <a-col :xl="4" :lg="7" :md="8" :sm="24">
+ <a-form-item label="鏍囧噯鐘舵��">
+ <j-dict-select-tag dict-code="maintenance_standard_status" placeholder="璇烽�夋嫨鏍囧噯鐘舵��" v-model="queryParam.standardStatus" />
+ </a-form-item>
+ </a-col>
+ <a-col :xl="4" :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>
+ </span>
+ </a-col>
+ </a-row>
+ </a-form>
+ </div>
- </a-row>
- </a-form>
- </div>
+ <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
+ <div class="table-operator">
+ <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
+ <a-upload name="file" :showUploadList="false" :multiple="true" :headers="tokenHeader" :action="inspectionImportExcel"
+ @change="inspectionImportExcel">
+ <a-button type="primary" icon="import">鐐规鏍囧噯瀵煎叆</a-button>
+ </a-upload>
+ <a-button type="primary" icon="download" @click="handleTemplateXlsDownload(url.inspectionXlsDownloadUrl)">鐐规鏍囧噯妯℃澘涓嬭浇</a-button>
+ <a-upload name="file" :showUploadList="false" :multiple="true" :headers="tokenHeader" :action="weekMaintenanceImportExcel"
+ @change="weekMaintenanceImportExcel">
+ <a-button type="primary" icon="import">鍛ㄤ繚鏍囧噯瀵煎叆</a-button>
+ </a-upload>
+ <a-button type="primary" icon="download" @click="handleTemplateXlsDownload(url.weekMaintenanceXlsDownloadUrl)">鍛ㄤ繚鏍囧噯妯℃澘涓嬭浇</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>
+ <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔
+ <a-icon type="down"/>
+ </a-button>
+ </a-dropdown>
+ </div>
+ </template>
- <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
- <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-upload>
- <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>
- <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔
- <a-icon type="down" />
- </a-button>
- </a-dropdown>
- </div>
<!-- table鍖哄煙-begin -->
<div>
- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
+ <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;" v-if="isDisplayOperation">
<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>
@@ -82,16 +88,17 @@
:loading="loading"
class="j-table-force-nowrap"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+ :customRow='clickThenSelect'
@change="handleTableChange">
<template slot="referenceFile" slot-scope="text, record, index">
- <a v-if="text && text !== ''" @click="handlePreview(record)">棰勮</a>
+ <a v-if="text && text !== ''" @click.stop="handlePreview(record)">棰勮</a>
</template>
<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-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
@@ -103,6 +110,15 @@
</span>
</a-table>
+
+ <a-tabs defaultActiveKey="1">
+ <a-tab-pane tab='淇濆吇鏍囧噯鏄庣粏椤�' key="1">
+ <div class="table-operator" style="margin:-16px">
+ <eam-maintenance-standard-detail-list ref="standardDetailRef" :standardId="standardId"/>
+ </div>
+ </a-tab-pane>
+
+ </a-tabs>
</div>
<!-- table鍖哄煙-end -->
@@ -116,29 +132,31 @@
import '@/assets/less/TableExpand.less'
import EamMaintenanceStandardModal from './modules/EamMaintenanceStandardModal'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import EamMaintenanceStandardDetailList from '@views/eam/base/modules/EamMaintenanceStandardDetailList'
+import { templateXlsDownload } from '@api/manage'
+import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue'
export default {
name: 'EamMaintenanceStandardList',
mixins: [JeecgListMixin],
+ props: {
+ isDisplayOperation: {
+ type: Boolean,
+ default: true
+ }
+ },
components: {
- EamMaintenanceStandardModal
+ LxSearchEquipmentSelect,
+ EamMaintenanceStandardModal,
+ EamMaintenanceStandardDetailList
},
data() {
return {
description: '淇濆吇鏍囧噯绠$悊椤甸潰',
+ disableMixinCreated: true,
// 琛ㄥご
columns: [
- {
- title: '#',
- dataIndex: '',
- key: 'rowIndex',
- width: 60,
- align: 'center',
- customRender: function(t, r, index) {
- return parseInt(index) + 1
- }
- },
{
title: '鏍囧噯缂栫爜',
align: 'center',
@@ -189,12 +207,6 @@
align: 'center',
dataIndex: 'referenceFile',
scopedSlots: { customRender: 'referenceFile' }
- },
- {
- title: '鎿嶄綔',
- dataIndex: 'action',
- align: 'center',
- scopedSlots: { customRender: 'action' }
}
],
url: {
@@ -202,30 +214,85 @@
delete: '/eam/maintenanceStandard/delete',
deleteBatch: '/eam/maintenanceStandard/deleteBatch',
exportXlsUrl: 'eam/maintenanceStandard/exportXls',
- importExcelUrl: 'eam/maintenanceStandard/importExcel'
+ inspectionImportExcel: 'eam/maintenanceStandard/inspectionImportExcel',
+ weekMaintenanceImportExcel: 'eam/maintenanceStandard/weekMaintenanceImportExcel',
+ inspectionXlsDownloadUrl: '瀵煎叆妯℃澘/鐐规鏍囧噯瀵煎叆妯℃澘_v1.0.xlsx',
+ weekMaintenanceXlsDownloadUrl: '瀵煎叆妯℃澘/鍛ㄤ繚鏍囧噯瀵煎叆妯℃澘_v1.0.xlsx',
+
},
fileUrl: '',
+ standardId: '-1'
}
},
computed: {
- importExcelUrl: function() {
- return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
+ inspectionImportExcel: function() {
+ return `${window._CONFIG['domianURL']}/${this.url.inspectionImportExcel}`
+ },
+ weekMaintenanceImportExcel: function() {
+ return `${window._CONFIG['domianURL']}/${this.url.weekMaintenanceImportExcel}`
}
},
+ created() {
+ if (!this.isDisplayOperation) {
+ return
+ }
+ const operationColumn = {
+ title: '鎿嶄綔',
+ dataIndex: 'action',
+ align: 'center',
+ scopedSlots: { customRender: 'action' }
+ }
+ this.columns = [...this.columns, operationColumn]
+ this.loadData(1)
+ },
methods: {
- handlePreview: function (record) {
- if(record.referenceFile) {
+ handlePreview: function(record) {
+ if (record.referenceFile) {
try {
- let file = JSON.parse(record.referenceFile);
- this.$refs.lxFilePreview.preview(file.filePath);
- }catch (e) {
- console.error(e);
- this.$message.error(e.message);
+ let file = JSON.parse(record.referenceFile)
+ this.$refs.lxFilePreview.preview(file.filePath)
+ } catch (e) {
+ console.error(e)
+ this.$message.error(e.message)
}
- }else {
- this.$message.warning("鍙傝�冩枃浠朵负绌猴紒");
+ } else {
+ this.$message.warning('鍙傝�冩枃浠朵负绌猴紒')
}
},
+ clickThenSelect(record) {
+ return {
+ style: {
+ cursor: 'pointer'
+ },
+ on: {
+ click: () => {
+ this.onSelectChange(record.id.split(','), [record])
+ }
+ }
+ }
+ },
+ onClearSelected() {
+ this.selectedRowKeys = []
+ this.selectionRows = []
+ this.standardId = '-1'
+ },
+ onSelectChange(selectedRowKeys, selectionRows) {
+ this.selectedRowKeys = selectedRowKeys
+ this.selectionRows = selectionRows
+ if (selectedRowKeys.length === 1) {
+ this.standardId = selectedRowKeys[0]
+ } else {
+ this.standardId = '-1'
+ }
+ },
+ searchReset() {
+ this.standardId = '-1'
+ this.queryParam = {}
+ this.loadData(1)
+ },
+ handleTemplateXlsDownload(url) {
+ templateXlsDownload(url)
+ },
}
}
</script>
--
Gitblit v1.9.3