From 48f0d335c14c2bf0744a5c136d7ab80fd26c493e Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期二, 27 五月 2025 15:30:01 +0800
Subject: [PATCH] art: 设备管理-设备台账-二保,三保页签添加
---
src/views/eam/maintenance/EamWeekMaintenanceOrderList.vue | 533 +++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 408 insertions(+), 125 deletions(-)
diff --git a/src/views/eam/maintenance/EamWeekMaintenanceOrderList.vue b/src/views/eam/maintenance/EamWeekMaintenanceOrderList.vue
index 9d9fa17..afdf311 100644
--- a/src/views/eam/maintenance/EamWeekMaintenanceOrderList.vue
+++ b/src/views/eam/maintenance/EamWeekMaintenanceOrderList.vue
@@ -2,25 +2,33 @@
<a-card :bordered="false">
<!-- 鏌ヨ鍖哄煙 -->
- <div class="table-page-search-wrapper">
+ <div class="table-page-search-wrapper" v-if="isDisplayOperation">
<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="4" :lg="7" :md="8" :sm="24">
<a-form-item label="宸ュ崟鍙�">
<a-input placeholder="璇疯緭鍏ュ伐鍗曞彿" v-model="queryParam.orderNum"></a-input>
</a-form-item>
</a-col>
- <a-col :xl="6" :lg="7" :md="8" :sm="24">
+ <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>
+ <lx-search-equipment-select placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储"
+ v-model="queryParam.equipmentId"></lx-search-equipment-select>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
- <a-form-item label="淇濆吇鏃ユ湡">
- <a-date-picker placeholder="璇烽�夋嫨淇濆吇鏃ユ湡" v-model="queryParam.maintenanceDate" format="YYYY-MM-DD" style="width: 100%"/>
+ <a-form-item label="璁″垝淇濆吇鏃ユ湡">
+ <a-range-picker v-model="queryParam.maintenanceDateRange" @change="onMaintenanceDateChange"
+ format="YYYY-MM-DD" value-format="YYYY-MM-DD"/>
</a-form-item>
</a-col>
- <a-col :xl="6" :lg="7" :md="8" :sm="24">
+ <a-col :xl="4" :lg="7" :md="8" :sm="24">
+ <a-form-item label="淇濆吇鐘舵��">
+ <j-dict-select-tag placeholder="璇烽�夋嫨淇濆吇鐘舵��" dict-code="week_maintenance_status"
+ v-model="queryParam.maintenanceStatus"/>
+ </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>
@@ -32,24 +40,28 @@
</div>
<!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
- <div class="table-operator">
- <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
+ <div class="table-operator" v-if="isDisplayOperation">
+ <a-button @click="handleAdd" type="primary" icon="plus" v-if="isShowAuth('eam:weekMaintenance:add')">鏂板</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="handlerBatchAbolish" v-if="isShowAuth('eam:weekMaintenance:abolish')">
+ <a-icon type="delete"/>
+ 浣滃簾
+ </a-menu-item>
+ <a-menu-item key="2" @click="handlerBatchCollect" v-if="isShowAuth('eam:weekMaintenance:collect')">
+ <a-icon type="form"/>
+ 棰嗗彇
</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;">
+ <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>
@@ -65,145 +77,416 @@
:pagination="ipagination"
:loading="loading"
class="j-table-force-nowrap"
+ :scroll="{x:'max-content'}"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
@change="handleTableChange">
<span slot="action" slot-scope="text, record">
+ <template v-if="record.maintenanceStatus === 'WAIT_MAINTENANCE' && isShowAuth('eam:weekMaintenance:edit')">
<a @click="handleEdit(record)">缂栬緫</a>
- <a-divider type="vertical" />
+
+ <a-divider type="vertical"/>
+
+ <a-popconfirm title="纭畾棰嗗彇鍚�?" @confirm="() => handlerCollect(record.id)">
+ <a>棰嗗彇</a>
+ </a-popconfirm>
+
+ <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)">
- <a>鍒犻櫎</a>
+ <a-popconfirm title="纭畾浣滃簾鍚�?" @confirm="() => handlerAbolish(record.id)">
+ <a>浣滃簾</a>
</a-popconfirm>
+ </a-menu-item>
+ <a-menu-item>
+ <a @click="handleDetail(record)">璇︽儏</a>
</a-menu-item>
</a-menu>
</a-dropdown>
- </span>
+ </template>
+ <template v-else>
+ <a @click="handleDetail(record)">璇︽儏</a>
+ </template>
+ </span>
</a-table>
</div>
<!-- table鍖哄煙-end -->
<!-- 琛ㄥ崟鍖哄煙 -->
<eamWeekMaintenanceOrder-modal ref="modalForm" @ok="modalFormOk"></eamWeekMaintenanceOrder-modal>
+ <week-maintenance-approval-modal ref="weekMaintenanceApprovalModal"
+ :selectShenpiData="selectWeekMaintenanceData"></week-maintenance-approval-modal>
</a-card>
</template>
<script>
-import '@/assets/less/TableExpand.less'
-import EamWeekMaintenanceOrderModal from './modules/EamWeekMaintenanceOrderModal'
-import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue'
+ import '@/assets/less/TableExpand.less'
+ import EamWeekMaintenanceOrderModal from './modules/EamWeekMaintenanceOrderModal'
+ import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+ import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue'
+ import { deleteAction, getAction } from '@api/manage'
+ import WeekMaintenanceApprovalModal from '@views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal'
-export default {
- name: 'EamWeekMaintenanceOrderList',
- mixins: [JeecgListMixin],
- components: {
- LxSearchEquipmentSelect,
- EamWeekMaintenanceOrderModal
- },
- data() {
- return {
- description: '鍛ㄤ繚宸ュ崟绠$悊椤甸潰',
- // 琛ㄥご
- columns: [
- {
- title: '#',
- dataIndex: '',
- key: 'rowIndex',
- width: 60,
- align: 'center',
- customRender: function(t, r, index) {
- return parseInt(index) + 1
+ export default {
+ name: 'EamWeekMaintenanceOrderList',
+ mixins: [JeecgListMixin],
+ components: {
+ LxSearchEquipmentSelect,
+ EamWeekMaintenanceOrderModal,
+ WeekMaintenanceApprovalModal
+ },
+ props: {
+ isDisplayOperation: {
+ type: Boolean,
+ default: true
+ }
+ },
+ data() {
+ return {
+ description: '鍛ㄤ繚宸ュ崟绠$悊椤甸潰',
+ disableMixinCreated: true,
+ selectWeekMaintenanceData: {},
+ // 琛ㄥご
+ columns: [
+ {
+ title: '#',
+ dataIndex: '',
+ key: 'rowIndex',
+ width: 60,
+ align: 'center',
+ fixed: 'left',
+ customRender: function(t, r, index) {
+ return parseInt(index) + 1
+ }
+ },
+ {
+ title: '宸ュ崟鍙�',
+ align: 'center',
+ dataIndex: 'orderNum',
+ fixed: 'left',
+ width: 60
+ },
+ {
+ title: '璁惧缂栧彿',
+ align: 'center',
+ dataIndex: 'equipmentCode',
+ fixed: 'left',
+ width: 60
+ },
+ {
+ title: '璁惧鍚嶇О',
+ align: 'center',
+ dataIndex: 'equipmentName',
+ fixed: 'left',
+ width: 60
+ },
+ {
+ title: '鏍囧噯鍚嶇О',
+ align: 'center',
+ dataIndex: 'standardId_dictText',
+ width: 100
+ },
+ {
+ title: '璁″垝淇濆吇鏃ユ湡',
+ align: 'center',
+ dataIndex: 'maintenanceDate',
+ width: 60
+ },
+ {
+ title: '瀹為檯寮�濮嬫椂闂�',
+ align: 'center',
+ dataIndex: 'actualStartTime',
+ width: 60
+ },
+ {
+ title: '瀹為檯缁撴潫鏃堕棿',
+ align: 'center',
+ dataIndex: 'actualEndTime',
+ width: 60
+ },
+ {
+ title: '淇濆吇浜�',
+ align: 'center',
+ dataIndex: 'operator_dictText',
+ width: 60
+ },
+ {
+ title: '淇濆吇鐘舵��',
+ align: 'center',
+ dataIndex: 'maintenanceStatus_dictText',
+ width: 60
+ },
+ {
+ title: '鍒涘缓鏂瑰紡',
+ align: 'center',
+ dataIndex: 'creationMethod_dictText',
+ width: 60
+ },
+ {
+ title: '纭浜�',
+ align: 'center',
+ dataIndex: 'confirmUser_dictText',
+ width: 60
+ },
+ {
+ title: '纭鏃堕棿',
+ align: 'center',
+ dataIndex: 'confirmTime',
+ width: 60
+ },
+ {
+ title: '纭鎰忚',
+ align: 'center',
+ dataIndex: 'confirmComment',
+ width: 60
+ },
+ {
+ title: '鍒濋獙鏀朵汉',
+ align: 'center',
+ dataIndex: 'initialAcceptanceUser_dictText',
+ width: 60
+ },
+ {
+ title: '鍒濋獙鏀舵椂闂�',
+ align: 'center',
+ dataIndex: 'initialAcceptanceTime',
+ width: 60
+ },
+ {
+ title: '鍒濋獙鏀舵剰瑙�',
+ align: 'center',
+ dataIndex: 'initialAcceptanceComment',
+ width: 60
+ },
+ {
+ title: '缁堥獙鏀朵汉',
+ align: 'center',
+ dataIndex: 'finalAcceptanceUser_dictText',
+ width: 60
+ },
+ {
+ title: '缁堥獙鏀舵椂闂�',
+ align: 'center',
+ dataIndex: 'finalAcceptanceTime',
+ width: 60
+ },
+ {
+ title: '缁堥獙鏀舵剰瑙�',
+ align: 'center',
+ dataIndex: 'finalAcceptanceComment',
+ width: 60
+ },
+ {
+ title: '澶囨敞',
+ align: 'center',
+ dataIndex: 'remark',
+ width: 60
}
- },
- {
- title: '宸ュ崟鍙�',
- align: 'center',
- dataIndex: 'orderNum'
- },
- {
- title: '璁惧缂栧彿',
- align: 'center',
- dataIndex: 'equipmentId_dictText'
- },
- {
- title: '鏍囧噯鍚嶇О',
- align: 'center',
- dataIndex: 'standardId_dictText'
- },
- {
- title: '璁″垝淇濆吇鏃ユ湡',
- align: 'center',
- dataIndex: 'maintenanceDate'
- },
- {
- title: '瀹為檯寮�濮嬫椂闂�',
- align: 'center',
- dataIndex: 'actualStartTime'
- },
- {
- title: '瀹為檯缁撴潫鏃堕棿',
- align: 'center',
- dataIndex: 'actualEndTime'
- },
- {
- title: '淇濆吇浜�',
- align: 'center',
- dataIndex: 'operator_dictText'
- },
- {
- title: '淇濆吇鐘舵��',
- align: 'center',
- dataIndex: 'maintenanceStatus_dictText'
- },
- {
- title: '鍒涘缓鏂瑰紡',
- align: 'center',
- dataIndex: 'creationMethod_dictText'
- },
- {
- title: '纭浜�',
- align: 'center',
- dataIndex: 'confirmUser_dictText'
- },
- {
- title: '纭鏃堕棿',
- align: 'center',
- dataIndex: 'confirmTime'
- },
- {
- title: '淇濆吇鍥剧墖',
- align: 'center',
- dataIndex: 'imageFiles'
- },
- {
- title: '澶囨敞',
- align: 'center',
- dataIndex: 'remark',
- editable: true,
- },
- {
- title: '鎿嶄綔',
- dataIndex: 'action',
- align: 'center',
- scopedSlots: { customRender: 'action' }
+ // {
+ // title: '鎿嶄綔',
+ // dataIndex: 'action',
+ // align: 'center',
+ // fixed: 'right',
+ // width: 100,
+ // scopedSlots: { customRender: 'action' }
+ // }
+ ],
+ url: {
+ list: '/eam/weekMaintenanceOrder/list',
+ abolish: '/eam/weekMaintenanceOrder/abolish',
+ abolishBatch: '/eam/weekMaintenanceOrder/abolishBatch',
+ collect: '/eam/weekMaintenanceOrder/collect',
+ collectBatch: '/eam/weekMaintenanceOrder/collectBatch'
}
- ],
- url: {
- list: '/eam/weekMaintenanceOrder/list',
- delete: '/eam/weekMaintenanceOrder/delete',
- deleteBatch: '/eam/weekMaintenanceOrder/deleteBatch'
+ }
+ },
+ created() {
+ if (!this.isDisplayOperation) {
+ return
+ }
+ const operationColumn = {
+ title: '鎿嶄綔',
+ dataIndex: 'action',
+ align: 'center',
+ fixed: 'right',
+ width: 200,
+ scopedSlots: { customRender: 'action' }
+ }
+ this.columns = [...this.columns, operationColumn]
+ this.loadData(1)
+ },
+ computed: {},
+ methods: {
+ onMaintenanceDateChange: function(value, dateString) {
+ if(dateString && dateString.length === 2) {
+ this.queryParam.maintenanceDateBegin = dateString[0]
+ this.queryParam.maintenanceDateEnd = dateString[1]
+ }else {
+ this.queryParam.maintenanceDateBegin = undefined
+ this.queryParam.maintenanceDateEnd = undefined
+ }
+ },
+ handlerAbolish(id) {
+ if (!this.url.abolish) {
+ this.$message.error('璇疯缃畊rl.abolish灞炴��!')
+ return
+ }
+ var that = this
+ deleteAction(that.url.abolish, { id: id }).then((res) => {
+ if (res.success) {
+ //閲嶆柊璁$畻鍒嗛〉闂
+ that.reCalculatePage(1)
+ // that.$message.success(res.message);
+ that.$notification.success({
+ message: '娑堟伅',
+ description: res.message
+ })
+ that.loadData()
+ } else {
+ // that.$message.warning(res.message);
+ that.$notification.warning({
+ message: '娑堟伅',
+ description: res.message
+ })
+ }
+ })
+ },
+ handlerBatchAbolish() {
+ if (!this.url.abolishBatch) {
+ this.$message.error('璇疯缃畊rl.abolishBatch灞炴��!')
+ return
+ }
+ if (this.selectedRowKeys.length <= 0) {
+ // this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒');
+ this.$notification.warning({
+ message: '娑堟伅',
+ description: '璇烽�夋嫨涓�鏉¤褰�'
+ })
+ return
+ } else {
+ var ids = ''
+ for (var a = 0; a < this.selectedRowKeys.length; a++) {
+ ids += this.selectedRowKeys[a] + ','
+ }
+ var that = this
+ this.$confirm({
+ title: '纭浣滃簾',
+ content: '鏄惁浣滃簾閫変腑鏁版嵁锛屽彧鏈夊緟淇濆吇鐘舵�佺殑鏁版嵁鎵嶅彲浣滃簾鎴愬姛?',
+ onOk: function() {
+ that.loading = true
+ deleteAction(that.url.abolishBatch, { ids: ids }).then((res) => {
+ if (res.success) {
+ //閲嶆柊璁$畻鍒嗛〉闂
+ that.reCalculatePage(that.selectedRowKeys.length)
+ // that.$message.success(res.message);
+ that.$notification.success({
+ message: '娑堟伅',
+ description: res.message
+ })
+ that.loadData()
+ that.onClearSelected()
+ } else {
+ // that.$message.warning(res.message);
+ that.$notification.warning({
+ message: '娑堟伅',
+ description: res.message
+ })
+ }
+ }).finally(() => {
+ that.loading = false
+ })
+ }
+ })
+ }
+ },
+ //鍗曚釜棰嗗彇
+ handlerCollect(id) {
+ if (!this.url.collect) {
+ this.$message.error('璇疯缃畊rl.collect灞炴��!')
+ return
+ }
+ let that = this
+ getAction(that.url.collect, { id: id }).then((res) => {
+ if (res.success) {
+ //閲嶆柊璁$畻鍒嗛〉闂
+ that.reCalculatePage(1)
+ // that.$message.success(res.message);
+ that.$notification.success({
+ message: '娑堟伅',
+ description: res.message
+ })
+ that.loadData()
+ } else {
+ // that.$message.warning(res.message);
+ that.$notification.warning({
+ message: '娑堟伅',
+ description: res.message
+ })
+ }
+ })
+ },
+ //鎵归噺棰嗗彇
+ handlerBatchCollect() {
+ if (!this.url.collectBatch) {
+ this.$message.error('璇疯缃畊rl.abolishBatch灞炴��!')
+ return
+ }
+ if (this.selectedRowKeys.length <= 0) {
+ // this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒');
+ this.$notification.warning({
+ message: '娑堟伅',
+ description: '璇烽�夋嫨涓�鏉¤褰�'
+ })
+ return
+ } else {
+ var ids = ''
+ for (var a = 0; a < this.selectedRowKeys.length; a++) {
+ ids += this.selectedRowKeys[a] + ','
+ }
+ var that = this
+ this.$confirm({
+ title: '纭棰嗗彇',
+ content: '鏄惁棰嗗彇閫変腑鏁版嵁锛屽彧鏈夊緟淇濆吇鐘舵�佺殑鏁版嵁鎵嶅彲棰嗗彇鎴愬姛?',
+ onOk: function() {
+ that.loading = true
+ deleteAction(that.url.collectBatch, { ids: ids }).then((res) => {
+ if (res.success) {
+ //閲嶆柊璁$畻鍒嗛〉闂
+ that.reCalculatePage(that.selectedRowKeys.length)
+ // that.$message.success(res.message);
+ that.$notification.success({
+ message: '娑堟伅',
+ description: res.message
+ })
+ that.loadData()
+ that.onClearSelected()
+ } else {
+ // that.$message.warning(res.message);
+ that.$notification.warning({
+ message: '娑堟伅',
+ description: res.message
+ })
+ }
+ }).finally(() => {
+ that.loading = false
+ })
+ }
+ })
+ }
+ },
+ handleDetail(record) {
+ this.selectWeekMaintenanceData = Object.assign({}, record)
+ this.$refs.weekMaintenanceApprovalModal.recordDetail(record)
+ this.$refs.weekMaintenanceApprovalModal.title = '璇︽儏'
+ this.$refs.weekMaintenanceApprovalModal.disableSubmit = true
}
}
- },
- computed: {},
- methods: {}
-}
+ }
</script>
<style scoped>
-@import '~@assets/less/common.less';
+ @import '~@assets/less/common.less';
</style>
\ No newline at end of file
--
Gitblit v1.9.3