diff --git a/src/locales/en-US.js b/src/locales/en-US.js index 38a2237..6e9cec3 100644 --- a/src/locales/en-US.js +++ b/src/locales/en-US.js @@ -200,6 +200,7 @@ export default { loadFailed: 'Load failed', deleteSuccess: 'Deleted successfully', deleteFailed: 'Delete failed', + saveSuccess: 'Saved successfully', saveFailed: 'Save failed', createSuccess: 'Created successfully', updateSuccess: 'Updated successfully', @@ -1332,6 +1333,7 @@ export default { placeholderRequireDate: 'Select require date', placeholderAcceptedBy: 'Select repair user', placeholderConfirmBy: 'Select confirm user', + placeholderUserSearch: 'Search by nickname', placeholderMold: 'Select mold', placeholderMoldNameAuto: 'Auto filled', placeholderMoldCodeAuto: 'Auto filled', @@ -1351,6 +1353,7 @@ export default { moldNotFound: 'Mold not found', scanFailed: 'Scan failed', maxUploadCount: 'Max 9 images', + noUserData: 'No user data', saving: 'Saving', saveSuccess: 'Saved successfully', submitSuccess: 'Submitted successfully', @@ -1364,6 +1367,7 @@ export default { validatorFaultLevelRequired: 'Fault level is required', validatorIsShutdownRequired: 'Is shutdown is required', validatorFaultPhenomenonRequired: 'Fault phenomenon is required', + validatorUserRequired: 'Please select a user', validatorRepairStatusRequired: 'Repair result is required', validatorFinishDateRequired: 'Finish date is required', validatorConfirmDateRequired: 'Confirm date is required' diff --git a/src/locales/zh-CN.js b/src/locales/zh-CN.js index ef11324..29a25ba 100644 --- a/src/locales/zh-CN.js +++ b/src/locales/zh-CN.js @@ -200,6 +200,7 @@ export default { loadFailed: '加载失败', deleteSuccess: '删除成功', deleteFailed: '删除失败', + saveSuccess: '保存成功', saveFailed: '保存失败', createSuccess: '新增成功', updateSuccess: '更新成功', @@ -1335,6 +1336,7 @@ export default { placeholderRequireDate: '请选择报修日期', placeholderAcceptedBy: '请选择维修人员', placeholderConfirmBy: '请选择验收人员', + placeholderUserSearch: '请输入姓名搜索', placeholderMold: '请选择模具', placeholderMoldNameAuto: '自动带出', placeholderMoldCodeAuto: '自动带出', @@ -1354,6 +1356,7 @@ export default { moldNotFound: '未找到对应模具', scanFailed: '扫码失败', maxUploadCount: '最多上传 9 张图片', + noUserData: '暂无人员数据', saving: '保存中', saveSuccess: '保存成功', submitSuccess: '提交成功', @@ -1367,6 +1370,7 @@ export default { validatorFaultLevelRequired: '请选择故障等级', validatorIsShutdownRequired: '请选择是否停机', validatorFaultPhenomenonRequired: '请输入故障现象', + validatorUserRequired: '请选择人员', validatorRepairStatusRequired: '请选择维修结果', validatorFinishDateRequired: '请选择完成日期', validatorConfirmDateRequired: '请选择验收日期' diff --git a/src/pages_function/pages/moldPressureNet/index.vue b/src/pages_function/pages/moldPressureNet/index.vue index c901f4e..fa70621 100644 --- a/src/pages_function/pages/moldPressureNet/index.vue +++ b/src/pages_function/pages/moldPressureNet/index.vue @@ -83,7 +83,12 @@ {{ t('moldPressureNet.pressureNetTime') }}* - + {{ t('moldPressureNet.remark') }} @@ -317,6 +322,14 @@ function goHistory() { uni.navigateTo({ url: '/pages_function/pages/moldPressureNet/history' }) } +function onPressureNetTimeChange(value) { + const normalizedValue = normalizePressureNetTime(value) + pressureNetTime.value = normalizedValue + setTimeout(() => { + pressureNetTime.value = normalizePressureNetTime(pressureNetTime.value || value) || normalizedValue + }, 0) +} + async function handleSubmit() { if (submitLoading.value) return if (!selectedBrand.id) { @@ -327,7 +340,8 @@ async function handleSubmit() { uni.showToast({ title: t('moldPressureNet.selectSubMoldError'), icon: 'none' }) return } - if (!pressureNetTime.value) { + const normalizedPressureNetTime = normalizePressureNetTime(pressureNetTime.value) + if (!normalizedPressureNetTime) { uni.showToast({ title: t('moldPressureNet.selectReplaceTimeError'), icon: 'none' }) return } @@ -342,12 +356,12 @@ async function handleSubmit() { moldBrandName: selectedBrand.name, moldId: moldId, moldName: selected?.name || '', - pressureNetTime: pressureNetTime.value, + pressureNetTime: normalizedPressureNetTime, remark: remark.value.trim() || undefined } }) await createPressureNetRecord(createReqVOList) - uni.showToast({ title: t('moldPressureNet.submitSuccess'), icon: 'success' }) + uni.showToast({ title: t('functionCommon.saveSuccess'), icon: 'success' }) // 清空表单 selectedBrand.id = '' selectedBrand.name = '' @@ -362,6 +376,26 @@ async function handleSubmit() { submitLoading.value = false } } + +function normalizePressureNetTime(value) { + const text = String(value || '').trim().replace(/\//g, '-') + const dateOnlyMatch = text.match(/^(\d{4}-\d{2}-\d{2})(?:\s+(?:undefined|null|选择时间|select time))?$/i) + if (dateOnlyMatch) { + return `${dateOnlyMatch[1]} ${getCurrentTime()}` + } + const dateTimeMatch = text.match(/^(\d{4}-\d{2}-\d{2})[ T](\d{2}):(\d{2})(?::(\d{2}))?$/) + if (!dateTimeMatch) return '' + const [, date, hour, minute, second = '00'] = dateTimeMatch + return `${date} ${hour}:${minute}:${second}` +} + +function getCurrentTime() { + const date = new Date() + const hour = String(date.getHours()).padStart(2, '0') + const minute = String(date.getMinutes()).padStart(2, '0') + const second = String(date.getSeconds()).padStart(2, '0') + return `${hour}:${minute}:${second}` +}