diff --git a/src/api/mes/dvrepair/index.ts b/src/api/mes/dvrepair/index.ts index 881b088e..63942c09 100644 --- a/src/api/mes/dvrepair/index.ts +++ b/src/api/mes/dvrepair/index.ts @@ -27,6 +27,8 @@ export interface DvRepairVO { repairedImages?: string // 维修后图片,逗号分隔 acceptedBy: string // 维修人员 confirmBy: string // 验收人员 + faultLevel?: string // 故障等级 + isShutdown?: boolean // 是否停机 status: string // 单据状态 remark: string // 备注 } diff --git a/src/locales/en.ts b/src/locales/en.ts index 80c41672..08e3518d 100644 --- a/src/locales/en.ts +++ b/src/locales/en.ts @@ -1585,6 +1585,8 @@ export default { component: 'Key Component', acceptedBy: 'Repairer', confirmBy: 'Inspector', + faultLevel: 'Failure Level', + isShutdown: 'Shutdown Required', requireDate: 'Request Date', finishDate: 'Finish Date', confirmDate: 'Accept Date', @@ -1638,6 +1640,7 @@ export default { placeholderFinishDate: 'Select finish date', placeholderConfirmDate: 'Select accept date', placeholderRepairResult: 'Please select repair result', + placeholderFaultLevel: 'Please select failure level', placeholderAutoFill: 'Auto fill', placeholderFaultPhenomenon: 'Please enter fault phenomenon', placeholderFaultDescription: 'Please enter fault description', @@ -1657,6 +1660,8 @@ export default { validatorMachineryNameRequired: 'Device name can not be empty', validatorMachineryTypeIdRequired: 'Device type can not be empty', validatorRequireDateRequired: 'Request date can not be empty', + validatorFaultLevelRequired: 'Failure level can not be empty', + validatorIsShutdownRequired: 'Shutdown required can not be empty', validatorFinishDateRequired: 'Finish date can not be empty', validatorConfirmDateRequired: 'Accept date can not be empty', validatorRepairResultRequired: 'Repair result can not be empty', diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts index 2f358e03..1a70f1e9 100644 --- a/src/locales/zh-CN.ts +++ b/src/locales/zh-CN.ts @@ -1582,6 +1582,8 @@ export default { component: '关键件', acceptedBy: '维修人员', confirmBy: '验收人员', + faultLevel: '故障等级', + isShutdown: '是否停机', requireDate: '报修日期', finishDate: '完成日期', confirmDate: '验收日期', @@ -1635,6 +1637,7 @@ export default { placeholderFinishDate: '选择完成日期', placeholderConfirmDate: '选择验收日期', placeholderRepairResult: '请选择维修结果', + placeholderFaultLevel: '请选择故障等级', placeholderAutoFill: '自动带出', placeholderFaultPhenomenon: '请输入故障现象', placeholderFaultDescription: '请输入故障描述', @@ -1654,6 +1657,8 @@ export default { validatorMachineryNameRequired: '设备名称不能为空', validatorMachineryTypeIdRequired: '设备类型不能为空', validatorRequireDateRequired: '报修日期不能为空', + validatorFaultLevelRequired: '故障等级不能为空', + validatorIsShutdownRequired: '是否停机不能为空', validatorFinishDateRequired: '完成日期不能为空', validatorConfirmDateRequired: '验收日期不能为空', validatorRepairResultRequired: '维修结果不能为空', diff --git a/src/utils/dict.ts b/src/utils/dict.ts index 0fd92e59..826fac82 100644 --- a/src/utils/dict.ts +++ b/src/utils/dict.ts @@ -142,6 +142,7 @@ export enum DICT_TYPE { // ========== INFRA 模块 ========== INFRA_BOOLEAN_STRING = 'infra_boolean_string', + FAILURE_LEVEL = 'failure_level', INFRA_JOB_STATUS = 'infra_job_status', INFRA_JOB_LOG_STATUS = 'infra_job_log_status', INFRA_API_ERROR_LOG_PROCESS_STATUS = 'infra_api_error_log_process_status', diff --git a/src/views/mes/dvrepair/DvRepairForm.vue b/src/views/mes/dvrepair/DvRepairForm.vue index 5e28625b..b93a4805 100644 --- a/src/views/mes/dvrepair/DvRepairForm.vue +++ b/src/views/mes/dvrepair/DvRepairForm.vue @@ -35,7 +35,7 @@ - + - + - + + + + + {{ dict.label }} + + + + + + + - - + {{ t('common.yes') }} + {{ t('common.no') }} @@ -363,6 +382,7 @@ import { DvRepairApi, DvRepairVO } from '@/api/mes/dvrepair' import { DeviceLedgerApi, DeviceLedgerVO } from '@/api/mes/deviceledger' import { RepairItemsApi } from '@/api/mes/repairItems' import { getSimpleUserList, UserVO } from '@/api/system/user' +import { DICT_TYPE, getStrDictOptions } from '@/utils/dict' /** 设备维修记录 表单 */ defineOptions({ name: 'DvRepairForm' }) @@ -374,6 +394,7 @@ interface DvRepairFormData extends Partial { componentId?: number isShutdown?: boolean isCode?: boolean + faultLevel?: string repairStatus?: string faultPhenomenon?: string faultDescription?: string @@ -417,6 +438,7 @@ const createDefaultFormData = (): DvRepairFormData => ({ repairedImages: '', acceptedBy: undefined, confirmBy: undefined, + faultLevel: undefined, isShutdown: undefined, status: undefined, remark: undefined, @@ -684,7 +706,7 @@ const formRules = reactive({ requireDate: [ { validator: (_: any, value: any, callback: any) => { - if ((formType.value === 'create' || formType.value === 'repair') && !value) { + if (!value) { callback(new Error(t('EquipmentManagement.DvRepair.validatorRequireDateRequired'))) return } @@ -693,6 +715,30 @@ const formRules = reactive({ trigger: 'change' } ], + faultLevel: [ + { + validator: (_: any, value: any, callback: any) => { + if (value === undefined || value === null || String(value).trim() === '') { + callback(new Error(t('EquipmentManagement.DvRepair.validatorFaultLevelRequired'))) + return + } + callback() + }, + trigger: 'change' + } + ], + isShutdown: [ + { + validator: (_: any, value: any, callback: any) => { + if (value === undefined || value === null || value === '') { + callback(new Error(t('EquipmentManagement.DvRepair.validatorIsShutdownRequired'))) + return + } + callback() + }, + trigger: 'change' + } + ], finishDate: [ { validator: (_: any, value: any, callback: any) => { @@ -808,7 +854,8 @@ const open = async (type: string, id?: number) => { faultImages: normalizeImageString(detail?.faultImages), repairedImages: normalizeImageString(detail?.repairedImages), acceptedBy: normalizeUserId(detail?.acceptedBy), - confirmBy: normalizeUserId(detail?.confirmBy) + confirmBy: normalizeUserId(detail?.confirmBy), + faultLevel: detail?.faultLevel === undefined || detail?.faultLevel === null ? undefined : String(detail?.faultLevel) } if (currentOpenId !== openRequestId) return @@ -874,6 +921,7 @@ const submitForm = async () => { const data = { ...(formData.value as DvRepairFormData) } as DvRepairFormData & Record data.acceptedBy = normalizeUserId(data.acceptedBy) data.confirmBy = normalizeUserId(data.confirmBy) + data.faultLevel = data.faultLevel === undefined || data.faultLevel === null || String(data.faultLevel).trim() === '' ? undefined : String(data.faultLevel) data.faultImages = normalizeImageString(data.faultImages) data.repairedImages = normalizeImageString(data.repairedImages) data.repairResult = data.repairStatus @@ -896,6 +944,8 @@ const submitForm = async () => { confirmDate: data.confirmDate, repairStatus: data.repairStatus, repairResult: data.repairResult, + faultLevel: data.faultLevel, + isShutdown: data.isShutdown, faultPhenomenon: data.faultPhenomenon, faultDescription: data.faultDescription, faultImages: data.faultImages,