From a2f06cfa13175b5abe0fb8d2c16eb2655eb83836 Mon Sep 17 00:00:00 2001 From: zhongwenkai <3478244299@qq.com> Date: Thu, 9 Jul 2026 17:40:27 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E6=A8=A1=E5=85=B7=E7=BB=B4?= =?UTF-8?q?=E4=BF=AE=E5=8D=95=E6=96=B0=E5=A2=9E=E6=8A=A5=E4=BF=AE=E4=BA=BA?= =?UTF-8?q?=E5=91=98=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/mold/moldrepair/index.ts | 1 + src/locales/en.ts | 2 ++ src/locales/zh-CN.ts | 2 ++ .../erp/mold/components/MoldMaintainView.vue | 31 +++++++++++++++++ src/views/erp/mold/detail/brand.vue | 3 ++ src/views/mold/moldrepair/MoldRepairForm.vue | 33 +++++++++++++++++++ src/views/mold/moldrepair/index.vue | 1 + 7 files changed, 73 insertions(+) diff --git a/src/api/mold/moldrepair/index.ts b/src/api/mold/moldrepair/index.ts index c23584fe..8c14b0de 100644 --- a/src/api/mold/moldrepair/index.ts +++ b/src/api/mold/moldrepair/index.ts @@ -17,6 +17,7 @@ export interface MoldRepairVO { finishDate: Date confirmDate: Date repairResult: string + repairReporter?: string // 报修人员 acceptedBy: string confirmBy: string status: string diff --git a/src/locales/en.ts b/src/locales/en.ts index 8ee41141..18e36632 100644 --- a/src/locales/en.ts +++ b/src/locales/en.ts @@ -3619,6 +3619,7 @@ export default { moldCode: 'Mold Code', moldName: 'Mold Name', repairUser: 'Repair User', + repairReporter: 'Repair Reporter', confirmUser: 'Acceptance User', requireDate: 'Request Date', finishDate: 'Finish Date', @@ -3662,6 +3663,7 @@ export default { placeholderMold: 'Please select mold', placeholderAcceptUser: 'Please select repair user', placeholderConfirmUser: 'Please select acceptance user', + placeholderRepairReporter: 'Please select repair reporter', placeholderRequireDate: 'Select request date', placeholderFinishDate: 'Select finish date', placeholderConfirmDate: 'Select acceptance date', diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts index c5f1af6d..4f0416ec 100644 --- a/src/locales/zh-CN.ts +++ b/src/locales/zh-CN.ts @@ -3090,6 +3090,7 @@ export default { moldCode: '模具编码', moldName: '模具名称', repairUser: '维修人员', + repairReporter: '报修人员', confirmUser: '验收人员', requireDate: '报修日期', finishDate: '完成日期', @@ -3133,6 +3134,7 @@ export default { placeholderMold: '请选择模具', placeholderAcceptUser: '请选择维修人员', placeholderConfirmUser: '请选择验收人员', + placeholderRepairReporter: '请选择报修人员', placeholderRequireDate: '选择报修日期', placeholderFinishDate: '选择完成日期', placeholderConfirmDate: '选择验收日期', diff --git a/src/views/erp/mold/components/MoldMaintainView.vue b/src/views/erp/mold/components/MoldMaintainView.vue index 764bf7b6..16711485 100644 --- a/src/views/erp/mold/components/MoldMaintainView.vue +++ b/src/views/erp/mold/components/MoldMaintainView.vue @@ -245,6 +245,16 @@ + + + + + + + ({ projectForm: taskFormData.projectForm, repairName: repairFormData.repairName, requireDate: repairFormData.requireDate, + repairReporter: repairFormData.repairReporter, faultLevel: repairFormData.faultLevel, shutdown: repairFormData.shutdown, faultPhenomenon: repairFormData.faultPhenomenon, @@ -562,6 +575,7 @@ const repairFormData = reactive({ repairCode: undefined as string | undefined, repairName: undefined as string | undefined, requireDate: undefined as number | string | undefined, + repairReporter: undefined as string | undefined, acceptedBy: undefined as string | undefined, confirmBy: undefined as string | undefined, faultLevel: undefined as string | undefined, @@ -879,6 +893,12 @@ const selectMaintainType = async (type: number) => { if (type === 3 && !repairFormData.requireDate) { repairFormData.requireDate = Date.now() } + if (type === 3 && !repairFormData.repairReporter) { + const currentUserId = userStore.getUser?.id + if (currentUserId !== undefined && currentUserId !== null && Number(currentUserId) > 0) { + repairFormData.repairReporter = String(currentUserId) + } + } handleMaintainTypeChange() // 切换类型时刷新对应下拉框选项 await initOptions() @@ -933,6 +953,7 @@ const submitForm = async () => { requireDate: repairFormData.requireDate, repairResult: '', repairStatus: '', + repairReporter: normalizeUserId(repairFormData.repairReporter), acceptedBy: normalizeUserId(repairFormData.acceptedBy), confirmBy: normalizeUserId(repairFormData.confirmBy), faultLevel: repairFormData.faultLevel, @@ -951,6 +972,7 @@ const submitForm = async () => { repairFormData.repairCode = undefined repairFormData.repairName = undefined repairFormData.requireDate = Date.now() + repairFormData.repairReporter = undefined repairFormData.acceptedBy = undefined repairFormData.confirmBy = undefined repairFormData.faultLevel = undefined @@ -995,6 +1017,15 @@ const open = async () => { repairFormData.requireDate = Date.now() replaceNetFormData.pressureNetTime = getCurrentDateTime() await initOptions() + if (!userStore.getIsSetUser) { + try { + await userStore.setUserInfoAction() + } catch (e) {} + } + const currentUserId = userStore.getUser?.id + if (currentUserId !== undefined && currentUserId !== null && Number(currentUserId) > 0) { + repairFormData.repairReporter = String(currentUserId) + } } defineExpose({ open }) diff --git a/src/views/erp/mold/detail/brand.vue b/src/views/erp/mold/detail/brand.vue index 49cd7e53..222ec53c 100644 --- a/src/views/erp/mold/detail/brand.vue +++ b/src/views/erp/mold/detail/brand.vue @@ -182,6 +182,9 @@
{{ t('MoldManagement.MoldBrandDetail.requireDate') }}{{ formatHistoryTime(row.requireDate) }}
+
{{ t('MoldManagement.MoldRepair.repairReporter') }}{{ row.repairReporterName ?? row.repairReporter ?? '-' }}
{{ t('MoldManagement.MoldRepair.repairUser') }}{{ row.acceptedByName ?? row.acceptedName ?? row.acceptedBy ?? '-' }}
diff --git a/src/views/mold/moldrepair/MoldRepairForm.vue b/src/views/mold/moldrepair/MoldRepairForm.vue index f7d48645..4d70a1ca 100644 --- a/src/views/mold/moldrepair/MoldRepairForm.vue +++ b/src/views/mold/moldrepair/MoldRepairForm.vue @@ -57,6 +57,17 @@
+ + + + + + + { isCode?: boolean faultLevel?: string faultImages?: string + repairReporter?: string repairResult?: string repairStatus?: string faultPhenomenon?: string @@ -388,6 +401,7 @@ const createDefaultFormData = (): MoldRepairFormData => ({ shutdown: undefined, faultImages: '', faultReason: undefined, + repairReporter: undefined, acceptedBy: undefined, confirmBy: undefined, status: undefined, @@ -402,6 +416,7 @@ const createDefaultFormData = (): MoldRepairFormData => ({ const { t } = useI18n() const message = useMessage() +const userStore = useUserStore() const dialogTitle = ref('') const formLoading = ref(false) @@ -706,6 +721,7 @@ const open = async (type: string, id?: number) => { ;(formData.value as any).acceptedBy = normalizeUserId((formData.value as any).acceptedBy) ;(formData.value as any).confirmBy = normalizeUserId((formData.value as any).confirmBy) + ;(formData.value as any).repairReporter = normalizeUserId((formData.value as any).repairReporter) ;(formData.value as any).moldCode = (formData.value as any).moldCode ?? (formData.value as any).machineryCode ;(formData.value as any).moldName = (formData.value as any).moldName ?? (formData.value as any).machineryName @@ -730,6 +746,20 @@ const open = async (type: string, id?: number) => { isHydrating.value = false formLoading.value = false } + } else { + if (formType.value === 'create') { + if (!userStore.getIsSetUser) { + try { + await userStore.setUserInfoAction() + } catch (e) {} + } + const currentUserId = userStore.getUser?.id + if (currentUserId !== undefined && currentUserId !== null && Number(currentUserId) > 0) { + formData.value.repairReporter = String(currentUserId) + } + } + await nextTick() + formRef.value?.clearValidate?.() } } defineExpose({ open }) @@ -748,6 +778,9 @@ const submitForm = async () => { data.faultImages = Array.isArray(data.faultImages) ? data.faultImages.join(',') : (data.faultImages ?? '') data.repairedImages = Array.isArray(data.repairedImages) ? data.repairedImages.join(',') : (data.repairedImages ?? '') data.repairResult = data.repairStatus + data.acceptedBy = normalizeUserId(data.acceptedBy) + data.confirmBy = normalizeUserId(data.confirmBy) + data.repairReporter = normalizeUserId(data.repairReporter) if (formType.value === 'repair') { data.status = '1' } diff --git a/src/views/mold/moldrepair/index.vue b/src/views/mold/moldrepair/index.vue index 70967d69..249bdbcb 100644 --- a/src/views/mold/moldrepair/index.vue +++ b/src/views/mold/moldrepair/index.vue @@ -160,6 +160,7 @@ sortable /> +