|
|
|
|
@ -87,13 +87,13 @@
|
|
|
|
|
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item label="生产日期" prop="productionDate" required>
|
|
|
|
|
<el-date-picker v-model="formData.productionDate" type="date" value-format="x" placeholder="请选择生产日期" class="!w-full" />
|
|
|
|
|
<el-date-picker v-model="formData.productionDate" type="date" value-format="YYYY-MM-DD" placeholder="请选择生产日期" class="!w-full" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item label="入厂日期" prop="factoryEntryDate" required>
|
|
|
|
|
<el-date-picker v-model="formData.factoryEntryDate" type="date" value-format="x" placeholder="请选择入厂日期" class="!w-full" />
|
|
|
|
|
<el-date-picker v-model="formData.factoryEntryDate" type="date" value-format="YYYY-MM-DD" placeholder="请选择入厂日期" class="!w-full" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
|
|
|
|
|
@ -156,6 +156,7 @@
|
|
|
|
|
import { DeviceLedgerApi, DeviceLedgerVO } from '@/api/mes/deviceledger'
|
|
|
|
|
import { DeviceTypeApi, DeviceTypeTreeVO } from '@/api/mes/devicetype'
|
|
|
|
|
import { getSimpleUserList, UserVO } from '@/api/system/user'
|
|
|
|
|
import { formatDate } from '@/utils/formatTime'
|
|
|
|
|
import type { FormRules } from 'element-plus'
|
|
|
|
|
|
|
|
|
|
/** 设备类型 表单 */
|
|
|
|
|
@ -178,6 +179,21 @@ const parseIdsValue = (value: any): number[] => {
|
|
|
|
|
.filter((v) => !Number.isNaN(v))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const normalizeYmd = (value: any): string | undefined => {
|
|
|
|
|
if (value === null || value === undefined || value === '') return undefined
|
|
|
|
|
if (typeof value === 'string') {
|
|
|
|
|
const trimmed = value.trim()
|
|
|
|
|
const matched = trimmed.match(/^(\d{4}-\d{2}-\d{2})/)
|
|
|
|
|
if (matched?.[1]) return matched[1]
|
|
|
|
|
const parsed = Date.parse(trimmed)
|
|
|
|
|
if (!Number.isNaN(parsed)) return formatDate(new Date(parsed), 'YYYY-MM-DD')
|
|
|
|
|
return trimmed
|
|
|
|
|
}
|
|
|
|
|
if (typeof value === 'number') return formatDate(new Date(value), 'YYYY-MM-DD')
|
|
|
|
|
if (value instanceof Date) return formatDate(value, 'YYYY-MM-DD')
|
|
|
|
|
return formatDate(new Date(value), 'YYYY-MM-DD')
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const initFormData = () => ({
|
|
|
|
|
id: undefined,
|
|
|
|
|
deviceCode: undefined,
|
|
|
|
|
@ -242,7 +258,9 @@ const open = async (type: string, id?: number, defaultDeviceTypeId?: number) =>
|
|
|
|
|
formData.value = {
|
|
|
|
|
...initFormData(),
|
|
|
|
|
...(detail as any),
|
|
|
|
|
deviceManagerIds: parseIdsValue((detail as any)?.deviceManager)
|
|
|
|
|
deviceManagerIds: parseIdsValue((detail as any)?.deviceManager),
|
|
|
|
|
productionDate: normalizeYmd((detail as any)?.productionDate),
|
|
|
|
|
factoryEntryDate: normalizeYmd((detail as any)?.factoryEntryDate)
|
|
|
|
|
}
|
|
|
|
|
} finally {
|
|
|
|
|
formLoading.value = false
|
|
|
|
|
@ -261,6 +279,8 @@ const submitForm = async () => {
|
|
|
|
|
try {
|
|
|
|
|
const data = {
|
|
|
|
|
...(formData.value as any),
|
|
|
|
|
productionDate: normalizeYmd(formData.value.productionDate),
|
|
|
|
|
factoryEntryDate: normalizeYmd(formData.value.factoryEntryDate),
|
|
|
|
|
deviceManager: formData.value.deviceManagerIds?.length ? formData.value.deviceManagerIds.join(',') : undefined
|
|
|
|
|
} as unknown as DeviceLedgerVO
|
|
|
|
|
delete (data as any).deviceManagerIds
|
|
|
|
|
|