From 31d62d0ac0bf6fdcb200ffeaa7b4e15aaf2d4946 Mon Sep 17 00:00:00 2001 From: zhaowei <zhaowei> Date: 星期五, 25 七月 2025 16:40:47 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue | 226 ++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 144 insertions(+), 82 deletions(-) diff --git a/src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue b/src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue index 3b9ed5c..3278e93 100644 --- a/src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue +++ b/src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue @@ -38,80 +38,80 @@ <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> <div class="table-operator" v-if="isDisplayOperation"> - <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button> + <a-button v-has="'secondMaintenanceOrder:add'" @click="handleAdd" type="primary" icon="plus">鏂板</a-button> + <a-button v-has="'secondMaintenanceOrder:batchAdd'" @click="handleBatchAdd" 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 v-has="'secondMaintenanceOrder:batchAbolish'" 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 v-has="'secondMaintenanceOrder:batchCollect'" key="2" @click="handlerBatchCollect"> + <a-icon type="form"/> 棰嗗彇 + </a-menu-item> + <a-menu-item v-has="'secondMaintenanceOrder:batchRestore'" key="3" @click="handlerBatchRestore"> + <a-icon type="reload"/> + 杩樺師 </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;" - 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 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" - > + <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> + <a v-has="'secondMaintenanceOrder:edit'" @click="handleEdit(record)">缂栬緫</a> - <a-divider type="vertical"/> + <a-divider v-has="'secondMaintenanceOrder:edit'" type="vertical"/> - <a-popconfirm title="纭畾棰嗗彇鍚�?" @confirm="() => handlerCollect(record.id)"> + <a-popconfirm v-has="'secondMaintenanceOrder:collect'" title="纭畾棰嗗彇鍚�?" @confirm="() => handlerCollect(record.id)"> <a>棰嗗彇</a> </a-popconfirm> - <a-divider type="vertical"/> + <a-divider v-has="'secondMaintenanceOrder:collect'" type="vertical"/> - <a @click="handleDetail(record)">璇︽儏</a> - - <a-divider type="vertical"/> - - <a-popconfirm title="纭畾浣滃簾鍚�?" @confirm="() => handlerAbolish(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> + <a-popconfirm v-has="'secondMaintenanceOrder:abolish'" 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> </template> <template v-else> <a @click="handleDetail(record)">璇︽儏</a> - <a-divider type="vertical" v-if="record.maintenanceStatus === 'COMPLETE'"/> - <a v-if="record.maintenanceStatus === 'COMPLETE'" @click="handlePrint(record)">鎵撳嵃</a> + + + <a-divider v-has="'secondMaintenanceOrder:restore'" v-if="record.maintenanceStatus === 'ABOLISH'" type="vertical"/> + + <a-popconfirm v-has="'secondMaintenanceOrder:restore'" v-if="record.maintenanceStatus === 'ABOLISH'" title="纭畾杩樺師鍚�?" @confirm="() => handlerRestore(record.id)"> + <a>杩樺師</a> + </a-popconfirm> + +<!-- <a-divider v-has="'secondMaintenanceOrder:print'" type="vertical" v-if="record.maintenanceStatus === 'COMPLETE'"/>--> +<!-- <a v-has="'secondMaintenanceOrder:print'" v-if="record.maintenanceStatus === 'COMPLETE'" @click="handlePrint(record)">鎵撳嵃</a>--> </template> </span> </a-table> @@ -120,6 +120,8 @@ <!-- 琛ㄥ崟鍖哄煙 --> <eamSecondMaintenanceOrder-modal ref="modalForm" @ok="modalFormOk"/> + + <eam-second-maintenance-batch-order-modal ref="batchModalForm" @ok="modalFormOk"/> <second-maintenance-approval-modal ref="secondMaintenanceApprovalModal" :selectShenpiData="selectSecondMaintenanceData"/> @@ -133,11 +135,13 @@ import SecondMaintenanceApprovalModal from '@views/flowable/workflow/secondMaintenance/SecondMaintenanceApprovalModal.vue' import LxSearchEquipmentSelect from '../equipment/modules/LxSearchEquipmentSelect' + import EamSecondMaintenanceBatchOrderModal from './modules/EamSecondMaintenanceBatchOrderModal' export default { name: 'EamSecondMaintenanceOrderList', mixins: [JeecgListMixin], components: { + EamSecondMaintenanceBatchOrderModal, LxSearchEquipmentSelect, EamSecondMaintenanceOrderModal, SecondMaintenanceApprovalModal @@ -185,6 +189,12 @@ fixed: 'left' }, { + title: '淇濆吇鐘舵��', + align: 'center', + dataIndex: 'maintenanceStatus_dictText', + fixed: 'left' + }, + { title: '宸ュ崟鍙�', align: 'center', dataIndex: 'orderNum' @@ -218,11 +228,6 @@ title: '缁翠慨宸�', align: 'center', dataIndex: 'repairman_dictText' - }, - { - title: '淇濆吇鐘舵��', - align: 'center', - dataIndex: 'maintenanceStatus_dictText' }, { title: '鍒涘缓鏂瑰紡', @@ -259,8 +264,10 @@ list: '/eam/secondMaintenanceOrder/list', abolish: '/eam/secondMaintenanceOrder/abolish', collect: '/eam/secondMaintenanceOrder/collect', + restore: '/eam/secondMaintenanceOrder/restore', abolishBatch: '/eam/secondMaintenanceOrder/abolishBatch', - collectBatch: '/eam/secondMaintenanceOrder/collectBatch' + collectBatch: '/eam/secondMaintenanceOrder/collectBatch', + restoreBatch: '/eam/secondMaintenanceOrder/restoreBatch' } } }, @@ -280,10 +287,11 @@ this.loadData(1) }, methods: { - onMaintenanceDateChange: function(dataArray) { - this.queryParam.maintenanceDateBegin = dataArray[0] - this.queryParam.maintenanceDateEnd = dataArray[1] + handleBatchAdd() { + this.$refs.batchModalForm.title = '鎵归噺鏂板' + this.$refs.batchModalForm.visible = true }, + /** * 鐐瑰嚮棰嗗彇鏃惰Е鍙� * @param id 琛岃褰昳d @@ -315,9 +323,10 @@ */ handleDetail(record) { this.selectSecondMaintenanceData = Object.assign({}, record) - this.$refs.secondMaintenanceApprovalModal.recordDetail(record) this.$refs.secondMaintenanceApprovalModal.title = '璇︽儏' + this.$refs.secondMaintenanceApprovalModal.visible = true this.$refs.secondMaintenanceApprovalModal.disableSubmit = true + this.$refs.secondMaintenanceApprovalModal.handleDetail(record) }, /** @@ -329,33 +338,81 @@ window.open(href, '_blank') }, handlerAbolish(id) { - if (!this.url.abolish) { - this.$message.error('璇疯缃畊rl.abolish灞炴��!') - return + var that = this + deleteAction(that.url.abolish, { id }) + .then((res) => { + if (res.success) { + that.$notification.success({ + message: '娑堟伅', + description: res.message + }) + that.loadData() + } else { + that.$notification.warning({ + message: '娑堟伅', + description: res.message + }) + } + }) + }, + handlerBatchAbolish() { + var ids = '' + for (var a = 0; a < this.selectedRowKeys.length; a++) { + ids += this.selectedRowKeys[a] + ',' } 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 - }) + this.$confirm({ + title: '纭浣滃簾', + content: '鏄惁浣滃簾閫変腑鏁版嵁锛屽彧鏈夊緟淇濆吇鐘舵�佺殑鏁版嵁鎵嶅彲浣滃簾鎴愬姛?', + onOk: function() { + that.loading = true + deleteAction(that.url.abolishBatch, { ids }) + .then((res) => { + if (res.success) { + that.$notification.success({ + message: '娑堟伅', + description: res.message + }) + that.loadData() + that.onClearSelected() + } else { + that.$notification.warning({ + message: '娑堟伅', + description: res.message + }) + } + }) + .finally(() => { + that.loading = false + }) } }) }, - handlerBatchAbolish() { - if (!this.url.abolishBatch) { - this.$message.error('璇疯缃畊rl.abolishBatch灞炴��!') + //杩樺師 + handlerRestore(id) { + let that = this + this.loading = true + getAction(that.url.restore, { id }) + .then((res) => { + if (res.success) { + that.$notification.success({ + message: '娑堟伅', + description: res.message + }) + that.loadData() + } else { + that.$notification.warning({ + message: '娑堟伅', + description: res.message + }) + this.loading = false + } + }) + }, + //鎵归噺杩樺師 + handlerBatchRestore() { + if (!this.url.restoreBatch) { + this.$message.error('璇疯缃畊rl.restoreBatch灞炴��!') return } if (this.selectedRowKeys.length <= 0) { @@ -372,11 +429,11 @@ } var that = this this.$confirm({ - title: '纭浣滃簾', - content: '鏄惁浣滃簾閫変腑鏁版嵁锛屽彧鏈夊緟淇濆吇鐘舵�佺殑鏁版嵁鎵嶅彲浣滃簾鎴愬姛?', - onOk: function () { + title: '纭杩樺師', + content: '鏄惁杩樺師閫変腑鏁版嵁锛屽彧鏈変綔搴熺姸鎬佺殑鏁版嵁鎵嶅彲杩樺師鎴愬姛?', + onOk: function() { that.loading = true - deleteAction(that.url.abolishBatch, { ids: ids }).then((res) => { + deleteAction(that.url.restoreBatch, { ids: ids }).then((res) => { if (res.success) { //閲嶆柊璁$畻鍒嗛〉闂 that.reCalculatePage(that.selectedRowKeys.length) @@ -423,7 +480,7 @@ this.$confirm({ title: '纭棰嗗彇', content: '鏄惁棰嗗彇閫変腑鏁版嵁锛屽彧鏈夊緟淇濆吇鐘舵�佺殑鏁版嵁鎵嶅彲棰嗗彇鎴愬姛?', - onOk: function () { + onOk: function() { that.loading = true deleteAction(that.url.collectBatch, { ids: ids }).then((res) => { if (res.success) { @@ -450,6 +507,11 @@ }) } }, + + onMaintenanceDateChange: function(dataArray) { + this.queryParam.maintenanceDateBegin = dataArray[0] + this.queryParam.maintenanceDateEnd = dataArray[1] + } } } </script> \ No newline at end of file -- Gitblit v1.9.3