From 6c16bede88a1d776f0eced7028cca2080a1a606f Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期三, 23 四月 2025 09:36:23 +0800 Subject: [PATCH] art: 设备管理-周保工单-按钮权限控制,批量领取 --- src/views/eam/maintenance/EamWeekMaintenanceOrderList.vue | 119 +++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 94 insertions(+), 25 deletions(-) diff --git a/src/views/eam/maintenance/EamWeekMaintenanceOrderList.vue b/src/views/eam/maintenance/EamWeekMaintenanceOrderList.vue index 7c91771..c65dc95 100644 --- a/src/views/eam/maintenance/EamWeekMaintenanceOrderList.vue +++ b/src/views/eam/maintenance/EamWeekMaintenanceOrderList.vue @@ -2,7 +2,7 @@ <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="4" :lg="7" :md="8" :sm="24"> @@ -37,16 +37,16 @@ </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="handlerBatchAbolish"> + <a-menu-item key="1" @click="handlerBatchAbolish" v-if="isShowAuth('eam:weekMaintenance:abolish')"> <a-icon type="delete" /> 浣滃簾 </a-menu-item> - <a-menu-item key="1" @click="handlerBatchCollect"> - <a-icon type="delete" /> + <a-menu-item key="2" @click="handlerBatchCollect" v-if="isShowAuth('eam:weekMaintenance:collect')"> + <a-icon type="form" /> 棰嗗彇 </a-menu-item> </a-menu> @@ -58,7 +58,7 @@ <!-- 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> @@ -74,21 +74,20 @@ :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"> - <a v-if="record.maintenanceStatus === 'WAIT_MAINTENANCE'" @click="handleEdit(record)">缂栬緫</a> - <a-divider type="vertical" /> + <a v-if="record.maintenanceStatus === 'WAIT_MAINTENANCE' && isShowAuth('eam:weekMaintenance:edit')" @click="handleEdit(record)">缂栬緫</a> + <a-divider type="vertical" v-if="record.maintenanceStatus === 'WAIT_MAINTENANCE' && isShowAuth('eam:weekMaintenance:edit')" /> + <a-popconfirm title="纭畾棰嗗彇鍚�?" @confirm="() => handlerCollect(record.id)"> + <a>棰嗗彇</a> + </a-popconfirm> <a-dropdown> <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a> <a-menu slot="overlay"> - <a-menu-item v-if="record.maintenanceStatus === 'WAIT_MAINTENANCE'"> - <a-popconfirm title="纭畾棰嗗彇鍚�?" @confirm="() => handlerCollect(record.id)"> - <a>棰嗗彇</a> - </a-popconfirm> - </a-menu-item> - <a-menu-item v-if="record.maintenanceStatus === 'WAIT_MAINTENANCE'"> + <a-menu-item v-if="record.maintenanceStatus === 'WAIT_MAINTENANCE' && isShowAuth('eam:weekMaintenance:abolish')"> <a-popconfirm title="纭畾浣滃簾鍚�?" @confirm="() => handlerAbolish(record.id)"> <a>浣滃簾</a> </a-popconfirm> @@ -106,7 +105,7 @@ <!-- 琛ㄥ崟鍖哄煙 --> <eamWeekMaintenanceOrder-modal ref="modalForm" @ok="modalFormOk"></eamWeekMaintenanceOrder-modal> - <week-maintenance-approval-modal ref="weekMaintenanceApprovalModal"></week-maintenance-approval-modal> + <week-maintenance-approval-modal ref="weekMaintenanceApprovalModal" :selectShenpiData="selectWeekMaintenanceData"></week-maintenance-approval-modal> </a-card> </template> @@ -126,9 +125,17 @@ EamWeekMaintenanceOrderModal, WeekMaintenanceApprovalModal }, + props: { + isDisplayOperation: { + type: Boolean, + default: true + } + }, data() { return { description: '鍛ㄤ繚宸ュ崟绠$悊椤甸潰', + disableMixinCreated: true, + selectWeekMaintenanceData:{}, // 琛ㄥご columns: [ { @@ -265,22 +272,38 @@ dataIndex: 'remark', width: 60, }, - { - title: '鎿嶄綔', - dataIndex: 'action', - align: 'center', - fixed: 'right', - width: 100, - 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', } } + }, + created() { + if (!this.isDisplayOperation) { + return + } + const operationColumn = { + title: '鎿嶄綔', + dataIndex: 'action', + align: 'center', + fixed: 'right', + width: 147, + scopedSlots: { customRender: 'action' } + } + this.columns = [...this.columns, operationColumn] + this.loadData(1) }, computed: {}, methods: { @@ -389,9 +412,55 @@ }, //鎵归噺棰嗗彇 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 -- Gitblit v1.9.3