From ae78b5a3c4dfd5bea543cb8a3d93a57184d71dc1 Mon Sep 17 00:00:00 2001 From: gaojs <757918719@qq.com> Date: Wed, 5 Jun 2024 11:51:16 +0800 Subject: [PATCH] =?UTF-8?q?EAM=20=E2=80=94=E2=80=94>=20=20=E6=8A=A5?= =?UTF-8?q?=E4=BF=AE=E5=B7=A5=E5=8D=95=E6=9B=B4=E6=96=B0=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E6=8C=89=E9=92=AE=20=20=E7=BB=B4=E4=BF=AE=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=E4=B8=BB=E5=AD=90=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eam/equipmentReportRepairRequest/index.ts | 12 +- src/utils/disposition/defaultButtons.ts | 26 ++++ .../equipmentReportRepairRequest/audiForm.vue | 141 +++++++++++++++++ .../equipmentReportRepairRequest.data.ts | 70 ++++----- .../equipmentReportRepairRequest/index.vue | 145 ++++++++++++++++-- 5 files changed, 349 insertions(+), 45 deletions(-) create mode 100644 src/views/eam/equipmentReportRepairRequest/audiForm.vue diff --git a/src/api/eam/equipmentReportRepairRequest/index.ts b/src/api/eam/equipmentReportRepairRequest/index.ts index f09c4d563..1eeec7e86 100644 --- a/src/api/eam/equipmentReportRepairRequest/index.ts +++ b/src/api/eam/equipmentReportRepairRequest/index.ts @@ -70,4 +70,14 @@ export const exportEquipmentReportRepairRequest = async (params) => { // 下载用户导入模板 export const importTemplate = () => { return request.download({ url: '/eam/equipment-report-repair-request/get-import-template' }) -} \ No newline at end of file +} + +// 修改报修工单状态 +export const updateEquipmentReportRepairOrder = async (data: EquipmentReportRepairRequestVO) => { + return await request.post({ url: `/eam/equipment-report-repair-request/updateOrder`, data }) +} + +// 完成并创建维修工单 +export const createEquipmentWeixiuOrder = async (data: EquipmentReportRepairRequestVO) => { + return await request.post({ url: `/eam/equipment-report-repair-request/updateCreateOrder`, data }) +} diff --git a/src/utils/disposition/defaultButtons.ts b/src/utils/disposition/defaultButtons.ts index 522bd47f7..a38217b56 100644 --- a/src/utils/disposition/defaultButtons.ts +++ b/src/utils/disposition/defaultButtons.ts @@ -390,6 +390,32 @@ export function mainListAuditingBtn(option:any) { }) } +// 主列表-审核完成按钮 +export function mainListAuditedBtn(option:any) { + return __defaultBtnOption(option,{ + label: t(`ts.审核完成`).replace('ts.', ''), + name: 'audited', + hide: false, + type: 'primary', + color: '', + link: true, // 文本展现按钮 + hasPermi: '' + }) +} + +// 主列表-撤回按钮 +export function mainListRevokeBtn(option:any) { + return __defaultBtnOption(option,{ + label: t(`ts.撤回`).replace('ts.', ''), + name: 'revoke', + hide: false, + type: 'primary', + color: '', + link: true, // 文本展现按钮 + hasPermi: '' + }) +} + // 主列表-绑定 export function mainListBindBtn(option:any) { return __defaultBtnOption(option,{ diff --git a/src/views/eam/equipmentReportRepairRequest/audiForm.vue b/src/views/eam/equipmentReportRepairRequest/audiForm.vue new file mode 100644 index 000000000..65526f310 --- /dev/null +++ b/src/views/eam/equipmentReportRepairRequest/audiForm.vue @@ -0,0 +1,141 @@ + + + + diff --git a/src/views/eam/equipmentReportRepairRequest/equipmentReportRepairRequest.data.ts b/src/views/eam/equipmentReportRepairRequest/equipmentReportRepairRequest.data.ts index 21b9f9dbb..9785ed4d6 100644 --- a/src/views/eam/equipmentReportRepairRequest/equipmentReportRepairRequest.data.ts +++ b/src/views/eam/equipmentReportRepairRequest/equipmentReportRepairRequest.data.ts @@ -1,9 +1,9 @@ import type { CrudSchema } from '@/hooks/web/useCrudSchemas' -import { dateFormatter } from '@/utils/formatTime' import {EquipmentAccounts} from "@/views/eam/equipmentAccounts/equipmentAccounts.data"; import * as EquipmentItemApi from "@/api/eam/equipmentAccounts"; import {Workshop} from "@/views/wms/basicDataManage/factoryModeling/workshop/workshop.data"; import * as WorkshopApi from "@/api/wms/workshop"; +import {dateFormatter} from '@/utils/formatTime' // 表单校验 export const EquipmentReportRepairRequestRules = reactive({ @@ -149,40 +149,40 @@ export const EquipmentReportRepairRequest = useCrudSchemas(reactive - @@ -66,7 +69,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons' import TableHead from '@/components/TableHead/src/TableHead.vue' import ImportForm from '@/components/ImportForm/src/ImportForm.vue' import Detail from '@/components/Detail/src/Detail.vue' -import {Maintenance} from "@/views/eam/maintenance/maintenance.data"; +import AudiForm from '@/views/eam/equipmentReportRepairRequest/audiForm.vue' import {EquipmentAccounts} from "@/views/eam/equipmentAccounts/equipmentAccounts.data"; import * as EquipmentItemApi from "@/api/eam/equipmentAccounts"; import {ToolAccounts} from "@/views/eam/toolAccounts/toolAccounts.data"; @@ -137,11 +140,26 @@ const buttonBaseClick = (val, item) => { } } + +const isShowStatusButton = (row,val) => { + if (val.indexOf(row.status) > -1) { + return false + } else { + return true + } +} + // 列表-操作按钮 -const butttondata = [ - defaultButtons.mainListEditBtn({hasPermi:'eam:equipmentReportRepairRequest:update'}), // 编辑 - defaultButtons.mainListDeleteBtn({hasPermi:'eam:equipmentReportRepairRequest:delete'}), // 删除 -] +const butttondata = (row) => { + return [ + defaultButtons.mainListEditBtn({hide: isShowStatusButton(row, ['0']),hasPermi: 'eam:equipmentReportRepairRequest:update'}), // 编辑 + defaultButtons.mainListAuditingBtn({hide: isShowStatusButton(row, ['0']), hasPermi: 'eam:equipmentReportRepairRequest:update'}), // 审核 + defaultButtons.mainListAuditedBtn({hide: isShowStatusButton(row, ['2']), hasPermi: 'eam:equipmentReportRepairRequest:update'}), // 审核完成 + defaultButtons.mainListRevokeBtn({hide: isShowStatusButton(row, ['0']), hasPermi: 'eam:equipmentReportRepairRequest:update'}), // 撤回 + defaultButtons.mainListFinishBtn({hide: isShowStatusButton(row,['3']),hasPermi:'eam:equipmentReportRepairRequest:update'}), + defaultButtons.mainListDeleteBtn({hasPermi:'eam:equipmentReportRepairRequest:update'}), // 删除 + ] +} // 列表-操作按钮事件 const buttonTableClick = async (val, row) => { @@ -149,6 +167,14 @@ const buttonTableClick = async (val, row) => { openForm('update', row) } else if (val == 'delete') { // 删除 handleDelete(row.id) + } else if (val == 'auditing') { // 审核 + handleAuditing(row.id) + } else if (val == 'revoke') { // 撤回 + handleRevoke(row.id) + } else if (val == 'audited') { // 审核完成 + handleAudited(row) + } else if (val == 'finish') { // 完成 + handleFinish(row.id) } } @@ -199,6 +225,79 @@ const openDetail = (row: any, titleName: any, titleValue: any) => { detailRef.value.openDetail(row, titleName, titleValue, 'basicEquipmentReportRepairRequest') } +//完成按钮 并生成维修工单 +const handleFinish = async (id: number) => { + await message.delConfirm('是否完成,并创建维修工单?'); + try { + const params = ref({ + id: '', + status:'', + }) + params.value.id = id + params.value.status = '5' + await EquipmentReportRepairRequestApi.updateEquipmentReportRepairOrder(params.value) + message.success(t('common.updateSuccess')) + // 刷新列表 + await getList() + } catch {} +} + +//审核完成按钮 +const handleAudited = async (row) => { + message.confirmAudi(t('')).then(async () => { + //打开提交表单 + audiFormRef.value.open('update', row); + }).catch(async (action: Action) => { + if(action === 'cancel'){ + const params = ref({ + id: '', + status:'', + }) + params.value.id = row.id + params.value.status = '4' + await EquipmentReportRepairRequestApi.updateEquipmentReportRepairOrder(params.value) + message.success(t('common.updateSuccess')) + // 刷新列表 + await getList() + } + }) +} + +//审核按钮 +const audiFormRef = ref() +const handleAuditing = async (id: number) => { + await message.delConfirm('是否审核所选中工单?'); + try { + const params = ref({ + id: '', + status:'', + }) + params.value.id = id + params.value.status = '2' + await EquipmentReportRepairRequestApi.updateEquipmentReportRepairOrder(params.value) + message.success(t('common.updateSuccess')) + // 刷新列表 + await getList() + } catch {} +} + +/** 撤回按钮操作 */ +const handleRevoke = async (id: number) => { + await message.delConfirm('是否撤回所选中工单?'); + try { + const params = ref({ + id: '', + status:'', + }) + params.value.id = id + params.value.status = '1' + await EquipmentReportRepairRequestApi.updateEquipmentReportRepairOrder(params.value) + message.success(t('common.updateSuccess')) + // 刷新列表 + await getList() + } catch {} +} + /** 删除按钮操作 */ const handleDelete = async (id: number) => { try { @@ -243,6 +342,34 @@ const importSuccess = () => { getList() } +//audiForm 关闭按钮回传 +const getClosed=(val)=> { + nextTick?.(() => { + getList() + }) +} + +//audiForm 提交按钮回传 +const getData=(val)=> { + nextTick?.(async () => { + + try { + const params = ref({ + id: '', + status:'', + }) + params.value.id = val + params.value.status = '3' + await EquipmentReportRepairRequestApi.updateEquipmentReportRepairOrder(params.value) + message.success(t('工单已流转')) + // 刷新列表 + await getList() + } catch {} + + } + ) +} + const onChange = (field, item) => { //设备