From 366d9edd9d846c99214ec06ed496b027258d3cb4 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期四, 17 七月 2025 15:47:48 +0800 Subject: [PATCH] 二保批量领取作废 添加保养规范按钮权限 --- src/views/eam/maintenance/EamInspectionOrderList.vue | 16 ++-- src/views/eam/base/modules/EamMaintenanceStandardModal.vue | 2 src/views/eam/base/EamMaintenanceStandardList.vue | 30 +++--- src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue | 180 ++++++++++++++++++++++++++++++++++++++++++++- 4 files changed, 200 insertions(+), 28 deletions(-) diff --git a/src/views/eam/base/EamMaintenanceStandardList.vue b/src/views/eam/base/EamMaintenanceStandardList.vue index a41ed60..13e9c2a 100644 --- a/src/views/eam/base/EamMaintenanceStandardList.vue +++ b/src/views/eam/base/EamMaintenanceStandardList.vue @@ -44,29 +44,29 @@ <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> <div class="table-operator"> - <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button> + <a-button v-has="'standard:add'" @click="handleAdd" type="primary" icon="plus">鏂板</a-button> <a-upload name="file" :showUploadList="false" :multiple="true" :headers="tokenHeader" :action="inspectionImportExcel" @change="handleImportExcel"> - <a-button type="primary" icon="import">鐐规鏍囧噯瀵煎叆</a-button> + <a-button v-has="'standard:pointInspection'" type="primary" icon="import">鐐规鏍囧噯瀵煎叆</a-button> </a-upload> - <a-button type="primary" icon="download" @click="handleTemplateXlsDownload(url.inspectionXlsDownloadUrl)"> + <a-button v-has="'standard:pointInspectionDownload'" type="primary" icon="download" @click="handleTemplateXlsDownload(url.inspectionXlsDownloadUrl)"> 鐐规鏍囧噯妯℃澘涓嬭浇 </a-button> <a-upload name="file" :showUploadList="false" :multiple="true" :headers="tokenHeader" :action="secondMaintenanceImportExcel" @change="handleImportExcel"> - <a-button type="primary" icon="import">浜屼繚鏍囧噯瀵煎叆</a-button> + <a-button v-has="'standard:secondMaintenance'" type="primary" icon="import">浜屼繚鏍囧噯瀵煎叆</a-button> </a-upload> - <a-button type="primary" icon="download" + <a-button v-has="'standard:secondMaintenanceDownload'" type="primary" icon="download" @click="handleTemplateXlsDownload(url.secondMaintenanceXlsDownloadUrl)">浜屼繚鏍囧噯妯℃澘涓嬭浇 </a-button> <a-upload name="file" :showUploadList="false" :multiple="true" :headers="tokenHeader" :action="thirdMaintenanceImportExcel" @change="handleImportExcel"> - <a-button type="primary" icon="import">涓変繚鏍囧噯瀵煎叆</a-button> + <a-button v-has="'standard:ThirdMaintenance'" type="primary" icon="import">涓変繚鏍囧噯瀵煎叆</a-button> </a-upload> - <a-button type="primary" icon="download" @click="handleTemplateXlsDownload(url.thirdMaintenanceXlsDownloadUrl)"> + <a-button v-has="'standard:ThirdMaintenanceDownload'" type="primary" icon="download" @click="handleTemplateXlsDownload(url.thirdMaintenanceXlsDownloadUrl)"> 涓変繚鏍囧噯妯℃澘涓嬭浇 </a-button> <a-dropdown v-if="selectedRowKeys.length > 0"> @@ -95,30 +95,30 @@ :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" :customRow='clickThenSelect' @change="handleTableChange"> <span slot="action" slot-scope="text, record"> - <a v-if="record.standardStatus === 'START'" @click.stop="handleUpgrade(record)">鍗囩増</a> + <a v-has="'standard:upgrade'" v-if="record.standardStatus === 'START'" @click.stop="handleUpgrade(record)">鍗囩増</a> <template v-if="record.standardStatus === 'WAIT_SUBMIT'"> - <a @click.stop="handleEdit(record)">缂栬緫</a> + <a v-has="'standard:edit'" @click.stop="handleEdit(record)">缂栬緫</a> - <a-divider type="vertical"/> + <a-divider v-has="'standard:edit'" type="vertical"/> <a-popconfirm title="纭畾鍙戣捣娴佺▼鍚�?" @confirm="() => startProcess(record.id)"> - <a @click.stop="event=>event.stopPropagation()">鍙戣捣娴佺▼</a> + <a v-has="'standard:saveFlow'" @click.stop="event=>event.stopPropagation()">鍙戣捣娴佺▼</a> </a-popconfirm> - <a-divider type="vertical"/> + <a-divider v-has="'standard:saveFlow'" type="vertical"/> <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)"> - <a @click.stop="event=>event.stopPropagation()">鍒犻櫎</a> + <a v-has="'standard:del'" @click.stop="event=>event.stopPropagation()">鍒犻櫎</a> </a-popconfirm> </template> <template v-if="record.standardStatus != 'WAIT_SUBMIT'"> - <a-divider type="vertical" v-if="record.standardStatus=='START'"/> + <a-divider v-has="'standard:delete'" type="vertical" v-if="record.standardStatus=='START'"/> <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)"> - <a @click.stop="event=>event.stopPropagation()">鍒犻櫎</a> + <a v-has="'standard:delete'" @click.stop="event=>event.stopPropagation()">鍒犻櫎</a> </a-popconfirm> </template> </span> diff --git a/src/views/eam/base/modules/EamMaintenanceStandardModal.vue b/src/views/eam/base/modules/EamMaintenanceStandardModal.vue index 622596d..2504bf7 100644 --- a/src/views/eam/base/modules/EamMaintenanceStandardModal.vue +++ b/src/views/eam/base/modules/EamMaintenanceStandardModal.vue @@ -1,5 +1,5 @@ <template> - <j-modal :title="title" :width="1200" :visible="visible" :confirmLoading="confirmLoading" switchFullscreen + <j-modal :title="title" :width="1200" :visible="visible" :confirmLoading="confirmLoading" switchFullscreen centered @ok="handleOk" @cancel="handleCancel" cancelText="鍏抽棴"> <a-spin :spinning="spinning"> <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol"> diff --git a/src/views/eam/maintenance/EamInspectionOrderList.vue b/src/views/eam/maintenance/EamInspectionOrderList.vue index b6be1e7..4068d89 100644 --- a/src/views/eam/maintenance/EamInspectionOrderList.vue +++ b/src/views/eam/maintenance/EamInspectionOrderList.vue @@ -39,14 +39,14 @@ <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> <div class="table-operator" v-if="isDisplayOperation"> - <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button> + <a-button v-has="'eam:inspection:add'" @click="handleAdd" type="primary" icon="plus">鏂板</a-button> <a-dropdown v-if="selectedRowKeys.length > 0"> <a-menu slot="overlay"> - <a-menu-item key="1" @click="batchZf('ABOLISH')"> + <a-menu-item key="1" @click="batchZf('ABOLISH')" v-has="'eam:inspection:abolish'"> <a-icon type="snippets"/> 浣滃簾 </a-menu-item> - <a-menu-item key="2" @click="batchLq('UNDER_INSPECTION')"> + <a-menu-item key="2" @click="batchLq('UNDER_INSPECTION')" v-has="'eam:inspection:collect'"> <a-icon type="form"/> 棰嗗彇 </a-menu-item> @@ -71,21 +71,21 @@ @change="handleTableChange"> <span slot="action" slot-scope="text, record"> <template v-if=" record.inspectionStatus === 'WAIT_INSPECTION'"> - <a @click="handleEdit(record)">缂栬緫</a> + <a v-has="'eeam:inspection:edit'" @click="handleEdit(record)">缂栬緫</a> - <a-divider type="vertical"/> + <a-divider v-has="'eeam:inspection:edit'" type="vertical"/> - <a-popconfirm title="纭畾棰嗗彇鍚�?" @confirm="() => handleInspection(record.id)"> + <a-popconfirm v-has="'eam:inspection:collect'" title="纭畾棰嗗彇鍚�?" @confirm="() => handleInspection(record.id)"> <a>棰嗗彇</a> </a-popconfirm> - <a-divider type="vertical"/> + <a-divider v-has="'eam:inspection:collect'" type="vertical"/> <a-dropdown> <a class="ant-dropdown-link">鏇村 <a-icon type="down"/></a> <a-menu slot="overlay"> <a-menu-item> - <a-popconfirm title="纭畾浣滃簾鍚�?" @confirm="() => handleAbolish(record.id)"> + <a-popconfirm v-has="'eam:inspection:abolish'" title="纭畾浣滃簾鍚�?" @confirm="() => handleAbolish(record.id)"> <a>浣滃簾</a> </a-popconfirm> </a-menu-item> diff --git a/src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue b/src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue index 2973e9e..3b9ed5c 100644 --- a/src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue +++ b/src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue @@ -39,12 +39,53 @@ <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> <div class="table-operator" v-if="isDisplayOperation"> <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button> + <a-dropdown v-if="selectedRowKeys.length > 0"> + <a-menu slot="overlay"> + <a-menu-item key="1" @click="handlerBatchAbolish"> + <a-icon type="delete" /> + 浣滃簾 + </a-menu-item> + <a-menu-item key="2" @click="handlerBatchCollect"> + <a-icon type="form" /> + 棰嗗彇 + </a-menu-item> + </a-menu> + <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 + <a-icon type="down" /> + </a-button> + </a-dropdown> </div> + + <!-- table鍖哄煙-begin --> <div> - <a-table size="middle" bordered rowKey="id" :columns="columns" :dataSource="dataSource" :pagination="ipagination" - :loading="loading" :scroll="{ x: 'max-content' }" @change="handleTableChange"> + <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> + </div> + + <a-table + ref="table" + size="middle" + bordered + rowKey="id" + :columns="columns" + :dataSource="dataSource" + :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'"> <a @click="handleEdit(record)">缂栬緫</a> @@ -58,6 +99,13 @@ <a-divider type="vertical"/> <a @click="handleDetail(record)">璇︽儏</a> + + <a-divider type="vertical"/> + + <a-popconfirm title="纭畾浣滃簾鍚�?" @confirm="() => handlerAbolish(record.id)"> + <a>浣滃簾</a> + </a-popconfirm> + </template> <template v-else> @@ -210,7 +258,9 @@ url: { list: '/eam/secondMaintenanceOrder/list', abolish: '/eam/secondMaintenanceOrder/abolish', - collect: '/eam/secondMaintenanceOrder/collect' + collect: '/eam/secondMaintenanceOrder/collect', + abolishBatch: '/eam/secondMaintenanceOrder/abolishBatch', + collectBatch: '/eam/secondMaintenanceOrder/collectBatch' } } }, @@ -277,7 +327,129 @@ handlePrint(record) { let href = `${window._CONFIG['domianURL']}/jmreport/view/1094834721929232384?id=` + record.id //缃戠珯閾炬帴 window.open(href, '_blank') - } + }, + 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 + }) + } + }) + } + }, + //鎵归噺棰嗗彇 + 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 + }) + } + }) + } + }, } } </script> \ No newline at end of file -- Gitblit v1.9.3