From cac716483630eb312b87afbecf6dbd9c5cb3e3d7 Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期五, 25 七月 2025 16:40:30 +0800
Subject: [PATCH] 设备事故登记表页面功能及流程开发
---
src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue | 312 +++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 274 insertions(+), 38 deletions(-)
diff --git a/src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue b/src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue
index b546ca0..3278e93 100644
--- a/src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue
+++ b/src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue
@@ -38,32 +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 v-has="'secondMaintenanceOrder:batchAbolish'" key="1" @click="handlerBatchAbolish">
+ <a-icon type="delete"/>
+ 浣滃簾
+ </a-menu-item>
+ <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-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>
+ <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-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>
@@ -72,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"/>
@@ -85,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
@@ -137,6 +189,12 @@
fixed: 'left'
},
{
+ title: '淇濆吇鐘舵��',
+ align: 'center',
+ dataIndex: 'maintenanceStatus_dictText',
+ fixed: 'left'
+ },
+ {
title: '宸ュ崟鍙�',
align: 'center',
dataIndex: 'orderNum'
@@ -169,12 +227,7 @@
{
title: '缁翠慨宸�',
align: 'center',
- dataIndex: 'repairer_dictText'
- },
- {
- title: '淇濆吇鐘舵��',
- align: 'center',
- dataIndex: 'maintenanceStatus_dictText'
+ dataIndex: 'repairman_dictText'
},
{
title: '鍒涘缓鏂瑰紡',
@@ -184,7 +237,7 @@
{
title: '绠$悊鍛樼‘璁�',
align: 'center',
- dataIndex: 'confirmUser_dictText'
+ dataIndex: 'manageUser_dictText'
},
{
title: '绠$悊鍛樼‘璁ゆ椂闂�',
@@ -210,7 +263,11 @@
url: {
list: '/eam/secondMaintenanceOrder/list',
abolish: '/eam/secondMaintenanceOrder/abolish',
- collect: '/eam/secondMaintenanceOrder/collect'
+ collect: '/eam/secondMaintenanceOrder/collect',
+ restore: '/eam/secondMaintenanceOrder/restore',
+ abolishBatch: '/eam/secondMaintenanceOrder/abolishBatch',
+ collectBatch: '/eam/secondMaintenanceOrder/collectBatch',
+ restoreBatch: '/eam/secondMaintenanceOrder/restoreBatch'
}
}
},
@@ -230,17 +287,59 @@
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
*/
handlerCollect(id) {
let that = this
+ this.loading = true
getAction(that.url.collect, { 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
+ }
+ })
+ },
+
+ /**
+ * 鐐瑰嚮璇︽儏鏃惰Е鍙�
+ * @param record 鍒楄〃琛岃褰�
+ */
+ handleDetail(record) {
+ this.selectSecondMaintenanceData = Object.assign({}, record)
+ this.$refs.secondMaintenanceApprovalModal.title = '璇︽儏'
+ this.$refs.secondMaintenanceApprovalModal.visible = true
+ this.$refs.secondMaintenanceApprovalModal.disableSubmit = true
+ this.$refs.secondMaintenanceApprovalModal.handleDetail(record)
+ },
+
+ /**
+ * 鐐瑰嚮鎵撳嵃鏃惰Е鍙�
+ * @param record 鍒楄〃琛岃褰�
+ */
+ handlePrint(record) {
+ let href = `${window._CONFIG['domianURL']}/jmreport/view/1094834721929232384?id=` + record.id //缃戠珯閾炬帴
+ window.open(href, '_blank')
+ },
+ handlerAbolish(id) {
+ var that = this
+ deleteAction(that.url.abolish, { id })
.then((res) => {
if (res.success) {
that.$notification.success({
@@ -256,25 +355,162 @@
}
})
},
-
- /**
- * 鐐瑰嚮璇︽儏鏃惰Е鍙�
- * @param record 鍒楄〃琛岃褰�
- */
- handleDetail(record) {
- this.selectSecondMaintenanceData = Object.assign({}, record)
- this.$refs.secondMaintenanceApprovalModal.recordDetail(record)
- this.$refs.secondMaintenanceApprovalModal.title = '璇︽儏'
- this.$refs.secondMaintenanceApprovalModal.disableSubmit = true
+ handlerBatchAbolish() {
+ 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 })
+ .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
+ })
+ }
+ })
+ },
+ //杩樺師
+ 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) {
+ // 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.restoreBatch, { 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
+ })
+ }
+ })
+ }
},
- /**
- * 鐐瑰嚮鎵撳嵃鏃惰Е鍙�
- * @param record 鍒楄〃琛岃褰�
- */
- handlePrint(record) {
- let href = `${window._CONFIG['domianURL']}/jmreport/view/1094834721929232384?id=` + record.id //缃戠珯閾炬帴
- window.open(href, '_blank')
+ onMaintenanceDateChange: function(dataArray) {
+ this.queryParam.maintenanceDateBegin = dataArray[0]
+ this.queryParam.maintenanceDateEnd = dataArray[1]
}
}
}
--
Gitblit v1.9.3