style:更换压网-压网时间选择器优化

besure_bit
黄伟杰 1 week ago
parent f81e94ea2b
commit 6fbb7fbc5a

@ -200,6 +200,7 @@ export default {
loadFailed: 'Load failed', loadFailed: 'Load failed',
deleteSuccess: 'Deleted successfully', deleteSuccess: 'Deleted successfully',
deleteFailed: 'Delete failed', deleteFailed: 'Delete failed',
saveSuccess: 'Saved successfully',
saveFailed: 'Save failed', saveFailed: 'Save failed',
createSuccess: 'Created successfully', createSuccess: 'Created successfully',
updateSuccess: 'Updated successfully', updateSuccess: 'Updated successfully',
@ -1332,6 +1333,7 @@ export default {
placeholderRequireDate: 'Select require date', placeholderRequireDate: 'Select require date',
placeholderAcceptedBy: 'Select repair user', placeholderAcceptedBy: 'Select repair user',
placeholderConfirmBy: 'Select confirm user', placeholderConfirmBy: 'Select confirm user',
placeholderUserSearch: 'Search by nickname',
placeholderMold: 'Select mold', placeholderMold: 'Select mold',
placeholderMoldNameAuto: 'Auto filled', placeholderMoldNameAuto: 'Auto filled',
placeholderMoldCodeAuto: 'Auto filled', placeholderMoldCodeAuto: 'Auto filled',
@ -1351,6 +1353,7 @@ export default {
moldNotFound: 'Mold not found', moldNotFound: 'Mold not found',
scanFailed: 'Scan failed', scanFailed: 'Scan failed',
maxUploadCount: 'Max 9 images', maxUploadCount: 'Max 9 images',
noUserData: 'No user data',
saving: 'Saving', saving: 'Saving',
saveSuccess: 'Saved successfully', saveSuccess: 'Saved successfully',
submitSuccess: 'Submitted successfully', submitSuccess: 'Submitted successfully',
@ -1364,6 +1367,7 @@ export default {
validatorFaultLevelRequired: 'Fault level is required', validatorFaultLevelRequired: 'Fault level is required',
validatorIsShutdownRequired: 'Is shutdown is required', validatorIsShutdownRequired: 'Is shutdown is required',
validatorFaultPhenomenonRequired: 'Fault phenomenon is required', validatorFaultPhenomenonRequired: 'Fault phenomenon is required',
validatorUserRequired: 'Please select a user',
validatorRepairStatusRequired: 'Repair result is required', validatorRepairStatusRequired: 'Repair result is required',
validatorFinishDateRequired: 'Finish date is required', validatorFinishDateRequired: 'Finish date is required',
validatorConfirmDateRequired: 'Confirm date is required' validatorConfirmDateRequired: 'Confirm date is required'

@ -200,6 +200,7 @@ export default {
loadFailed: '加载失败', loadFailed: '加载失败',
deleteSuccess: '删除成功', deleteSuccess: '删除成功',
deleteFailed: '删除失败', deleteFailed: '删除失败',
saveSuccess: '保存成功',
saveFailed: '保存失败', saveFailed: '保存失败',
createSuccess: '新增成功', createSuccess: '新增成功',
updateSuccess: '更新成功', updateSuccess: '更新成功',
@ -1335,6 +1336,7 @@ export default {
placeholderRequireDate: '请选择报修日期', placeholderRequireDate: '请选择报修日期',
placeholderAcceptedBy: '请选择维修人员', placeholderAcceptedBy: '请选择维修人员',
placeholderConfirmBy: '请选择验收人员', placeholderConfirmBy: '请选择验收人员',
placeholderUserSearch: '请输入姓名搜索',
placeholderMold: '请选择模具', placeholderMold: '请选择模具',
placeholderMoldNameAuto: '自动带出', placeholderMoldNameAuto: '自动带出',
placeholderMoldCodeAuto: '自动带出', placeholderMoldCodeAuto: '自动带出',
@ -1354,6 +1356,7 @@ export default {
moldNotFound: '未找到对应模具', moldNotFound: '未找到对应模具',
scanFailed: '扫码失败', scanFailed: '扫码失败',
maxUploadCount: '最多上传 9 张图片', maxUploadCount: '最多上传 9 张图片',
noUserData: '暂无人员数据',
saving: '保存中', saving: '保存中',
saveSuccess: '保存成功', saveSuccess: '保存成功',
submitSuccess: '提交成功', submitSuccess: '提交成功',
@ -1367,6 +1370,7 @@ export default {
validatorFaultLevelRequired: '请选择故障等级', validatorFaultLevelRequired: '请选择故障等级',
validatorIsShutdownRequired: '请选择是否停机', validatorIsShutdownRequired: '请选择是否停机',
validatorFaultPhenomenonRequired: '请输入故障现象', validatorFaultPhenomenonRequired: '请输入故障现象',
validatorUserRequired: '请选择人员',
validatorRepairStatusRequired: '请选择维修结果', validatorRepairStatusRequired: '请选择维修结果',
validatorFinishDateRequired: '请选择完成日期', validatorFinishDateRequired: '请选择完成日期',
validatorConfirmDateRequired: '请选择验收日期' validatorConfirmDateRequired: '请选择验收日期'

@ -83,7 +83,12 @@
</view> </view>
<view class="form-field"> <view class="form-field">
<text class="form-label">{{ t('moldPressureNet.pressureNetTime') }}<text class="required-star">*</text></text> <text class="form-label">{{ t('moldPressureNet.pressureNetTime') }}<text class="required-star">*</text></text>
<uni-datetime-picker v-model="pressureNetTime" type="datetime" :clear-icon="false" /> <uni-datetime-picker
v-model="pressureNetTime"
type="datetime"
:clear-icon="false"
@change="onPressureNetTimeChange"
/>
</view> </view>
<view class="form-field"> <view class="form-field">
<text class="form-label">{{ t('moldPressureNet.remark') }}</text> <text class="form-label">{{ t('moldPressureNet.remark') }}</text>
@ -317,6 +322,14 @@ function goHistory() {
uni.navigateTo({ url: '/pages_function/pages/moldPressureNet/history' }) 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() { async function handleSubmit() {
if (submitLoading.value) return if (submitLoading.value) return
if (!selectedBrand.id) { if (!selectedBrand.id) {
@ -327,7 +340,8 @@ async function handleSubmit() {
uni.showToast({ title: t('moldPressureNet.selectSubMoldError'), icon: 'none' }) uni.showToast({ title: t('moldPressureNet.selectSubMoldError'), icon: 'none' })
return return
} }
if (!pressureNetTime.value) { const normalizedPressureNetTime = normalizePressureNetTime(pressureNetTime.value)
if (!normalizedPressureNetTime) {
uni.showToast({ title: t('moldPressureNet.selectReplaceTimeError'), icon: 'none' }) uni.showToast({ title: t('moldPressureNet.selectReplaceTimeError'), icon: 'none' })
return return
} }
@ -342,12 +356,12 @@ async function handleSubmit() {
moldBrandName: selectedBrand.name, moldBrandName: selectedBrand.name,
moldId: moldId, moldId: moldId,
moldName: selected?.name || '', moldName: selected?.name || '',
pressureNetTime: pressureNetTime.value, pressureNetTime: normalizedPressureNetTime,
remark: remark.value.trim() || undefined remark: remark.value.trim() || undefined
} }
}) })
await createPressureNetRecord(createReqVOList) await createPressureNetRecord(createReqVOList)
uni.showToast({ title: t('moldPressureNet.submitSuccess'), icon: 'success' }) uni.showToast({ title: t('functionCommon.saveSuccess'), icon: 'success' })
// //
selectedBrand.id = '' selectedBrand.id = ''
selectedBrand.name = '' selectedBrand.name = ''
@ -362,6 +376,26 @@ async function handleSubmit() {
submitLoading.value = false 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}`
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

Loading…
Cancel
Save