{{ t('MoldManagement.MoldListPage.edit') }}
diff --git a/src/views/erp/mold/components/MoldMaintainView.vue b/src/views/erp/mold/components/MoldMaintainView.vue
index 87bf992d..4add1da3 100644
--- a/src/views/erp/mold/components/MoldMaintainView.vue
+++ b/src/views/erp/mold/components/MoldMaintainView.vue
@@ -20,11 +20,11 @@
- {{ t('MoldManagement.MoldBrandPage.moldCode') }}
+ {{ t('MoldManagement.MoldBrandPage.moldGroupCode') }}
{{ mold.code }}
- {{ t('MoldManagement.MoldBrandPage.moldName') }}
+ {{ t('MoldManagement.MoldBrandPage.moldGroupName') }}
{{ mold.name }}
@@ -238,6 +238,19 @@
+
+
+
+
+
+
+
@@ -257,14 +270,47 @@
-
-
-
+
+ {{ t('MoldManagement.MoldBrandPage.maintainTypeReplaceNet') }}
+
+
+
+
+
+
+
+
+
+
+
+
@@ -319,9 +365,12 @@ const formRules = reactive({
// 维修表单规则
repairName: [{ required: true, message: t('MoldManagement.MoldRepair.validatorRepairNameRequired'), trigger: 'blur' }],
requireDate: [{ required: true, message: t('MoldManagement.MoldRepair.validatorRequireDateRequired'), trigger: 'change' }],
- faultLevel: [{ required: true, message: t('MoldManagement.MoldRepair.validatorFaultLevelRequired'), trigger: 'change' }],
- shutdown: [{ required: true, message: t('MoldManagement.MoldRepair.validatorIsShutdownRequired'), trigger: 'change' }],
+ faultLevel: [{ required: true, message: t('MoldManagement.MoldRepair.validatorFaultLevelRequired'), trigger: 'blur' }],
+ shutdown: [{ required: true, message: t('MoldManagement.MoldRepair.validatorIsShutdownRequired'), trigger: 'blur' }],
faultPhenomenon: [{ required: true, message: t('MoldManagement.MoldRepair.validatorFaultPhenomenonRequired'), trigger: 'blur' }],
+ // 压网表单规则
+ moldId: [{ required: true, message: t('MoldManagement.MoldBrandPage.validatorSubMoldRequired'), trigger: 'blur' }],
+ pressureNetTime: [{ required: true, message: t('MoldManagement.MoldBrandPage.validatorPressureNetTimeRequired'), trigger: 'blur' }],
})
// 合并表单模型,用于 el-form 验证
@@ -337,6 +386,8 @@ const formModel = computed(() => ({
faultLevel: repairFormData.faultLevel,
shutdown: repairFormData.shutdown,
faultPhenomenon: repairFormData.faultPhenomenon,
+ moldId: replaceNetFormData.moldId,
+ pressureNetTime: replaceNetFormData.pressureNetTime,
}))
// 维护类型
@@ -366,15 +417,39 @@ const repairFormData = reactive({
shutdown: undefined as boolean | undefined,
faultPhenomenon: undefined as string | undefined,
faultDescription: undefined as string | undefined,
+ faultImages: '' as string,
remark: undefined as string | undefined,
isCode: true as boolean
})
// 更换压网表单数据
const replaceNetFormData = reactive({
+ moldId: undefined as number | undefined,
+ moldName: undefined as string | undefined,
+ pressureNetTime: undefined as string | undefined,
remark: undefined as string | undefined
})
+// 子模具下拉选项
+const subMoldList = ref([])
+const subMoldLoading = ref(false)
+
+const loadSubMoldList = async () => {
+ if (!props.mold?.id) return
+ subMoldLoading.value = true
+ try {
+ const data = await MoldBrandApi.getMoldList({ brandId: props.mold.id })
+ subMoldList.value = data ?? []
+ } finally {
+ subMoldLoading.value = false
+ }
+}
+
+const handleSubMoldChange = (moldId: number) => {
+ const selected = subMoldList.value.find((item: any) => item.id === moldId)
+ replaceNetFormData.moldName = selected?.name ?? ''
+}
+
// 计算属性
const isInspectOrMaintain = computed(() => [1, 2].includes(maintainFormData.maintainType ?? 0))
const isRepair = computed(() => maintainFormData.maintainType === 3)
@@ -394,6 +469,35 @@ const maintainTypes = computed(() => [
const planOptions = ref<{ id: number | string; planName: string }[]>([])
const users = ref([])
+const ensureUsersLoaded = async () => {
+ if (users.value.length) return
+ users.value = (await getSimpleUserList()) ?? []
+}
+
+const normalizeUserId = (value: any) => {
+ if (value === undefined || value === null || value === '') return undefined
+ const str = String(value)
+ if (/^\d+$/.test(str)) return str
+ const matched = users.value.find((u) => u.nickname === str)
+ return matched ? String(matched.id) : str
+}
+
+const splitImageValue = (value: unknown) => {
+ if (Array.isArray(value)) return value.map((item) => String(item).trim()).filter(Boolean)
+ if (typeof value !== 'string') return []
+ return value
+ .split(',')
+ .map((item) => item.trim())
+ .filter(Boolean)
+}
+
+const normalizeImageString = (value: unknown) => splitImageValue(value).join(',')
+
+const faultImagesValue = computed({
+ get: () => splitImageValue(repairFormData.faultImages),
+ set: (value) => { repairFormData.faultImages = value.join(',') }
+})
+
const getImageList = (images?: string) => {
if (!images) return []
return String(images)
@@ -426,35 +530,21 @@ const initOptions = async () => {
}
const handleMaintainTypeChange = () => {
- // 切换维护类型时重置表单
+ // 切换维护类型时同步 taskType
if (isInspectOrMaintain.value) {
- taskFormData.name = undefined
taskFormData.taskType = maintainFormData.maintainType
- taskFormData.projectForm = []
- taskFormData.dateRange = []
- taskFormData.cronExpression = undefined
- taskFormData.operableUsers = []
- taskFormData.enabled = true
- } else if (isRepair.value) {
- repairFormData.repairCode = undefined
- repairFormData.repairName = undefined
- repairFormData.requireDate = undefined
- repairFormData.acceptedBy = undefined
- repairFormData.confirmBy = undefined
- repairFormData.faultLevel = undefined
- repairFormData.shutdown = undefined
- repairFormData.faultPhenomenon = undefined
- repairFormData.faultDescription = undefined
- repairFormData.remark = undefined
- repairFormData.isCode = true
- } else if (isReplaceNet.value) {
- replaceNetFormData.remark = undefined
}
}
-const selectMaintainType = (type: number) => {
+const selectMaintainType = async (type: number) => {
maintainFormData.maintainType = type
handleMaintainTypeChange()
+ // 切换类型时刷新对应下拉框选项
+ await initOptions()
+ // 切换到压网时加载子模具列表
+ if (type === 4) {
+ await loadSubMoldList()
+ }
}
const submitForm = async () => {
@@ -482,26 +572,70 @@ const submitForm = async () => {
}
await TaskManagementApi.createTaskManagement(payload)
message.success(t('common.createSuccess'))
+ // 清空已提交的表单数据
+ taskFormData.name = undefined
+ taskFormData.projectForm = []
+ taskFormData.dateRange = []
+ taskFormData.cronExpression = undefined
+ taskFormData.operableUsers = []
+ taskFormData.enabled = true
} else if (isRepair.value) {
// 提交维修单
const payload: any = {
repairCode: repairFormData.isCode ? undefined : repairFormData.repairCode,
repairName: repairFormData.repairName,
moldId: props.mold?.id,
+ moldCode: props.mold?.code ?? '',
+ moldName: props.mold?.name ?? '',
+ machinerySpec: '',
requireDate: repairFormData.requireDate,
- acceptedBy: repairFormData.acceptedBy,
- confirmBy: repairFormData.confirmBy,
+ repairResult: '',
+ repairStatus: '',
+ acceptedBy: normalizeUserId(repairFormData.acceptedBy),
+ confirmBy: normalizeUserId(repairFormData.confirmBy),
faultLevel: repairFormData.faultLevel,
shutdown: repairFormData.shutdown,
faultPhenomenon: repairFormData.faultPhenomenon,
faultDescription: repairFormData.faultDescription,
+ faultImages: normalizeImageString(repairFormData.faultImages),
+ isCode: repairFormData.isCode,
+ repairedImages: '',
remark: repairFormData.remark
}
await MoldRepairApi.createMoldRepair(payload)
message.success(t('common.createSuccess'))
+ // 先清除校验,再清空数据,避免触发必填校验
+ maintainFormRef.value?.clearValidate()
+ repairFormData.repairCode = undefined
+ repairFormData.repairName = undefined
+ repairFormData.requireDate = undefined
+ repairFormData.acceptedBy = undefined
+ repairFormData.confirmBy = undefined
+ repairFormData.faultLevel = undefined
+ repairFormData.shutdown = undefined
+ repairFormData.faultPhenomenon = undefined
+ repairFormData.faultDescription = undefined
+ repairFormData.faultImages = ''
+ repairFormData.remark = undefined
+ repairFormData.isCode = true
} else if (isReplaceNet.value) {
- // 提交更换压网记录(可扩展)
+ // 提交更换压网记录
+ await MoldBrandApi.createPressureNetRecord({
+ moldBrandId: props.mold?.id,
+ moldBrandName: props.mold?.name ?? '',
+ moldId: replaceNetFormData.moldId,
+ moldName: replaceNetFormData.moldName ?? '',
+ pressureNetTime: replaceNetFormData.pressureNetTime,
+ remark: replaceNetFormData.remark
+ })
message.success(t('common.createSuccess'))
+ // 清空已提交的表单数据
+ replaceNetFormData.moldId = undefined
+ replaceNetFormData.moldName = undefined
+ replaceNetFormData.pressureNetTime = undefined
+ replaceNetFormData.remark = undefined
+ await nextTick()
+ maintainFormRef.value?.clearValidate()
}
emit('success')
} catch (error) {