debug: validateUnique 加详细日志追踪编辑时误报重复编号问题
This commit is contained in:
@ -1112,9 +1112,18 @@ const onMaterialSelected = async (item: any) => {
|
|||||||
const validateUnique = (rule: any, value: string, callback: any) => {
|
const validateUnique = (rule: any, value: string, callback: any) => {
|
||||||
if (!value) return callback()
|
if (!value) return callback()
|
||||||
const isDuplicate = tableData.value.some((row: any) => {
|
const isDuplicate = tableData.value.some((row: any) => {
|
||||||
if (dialogStatus.value === 'update' && row.id === form.id) return false
|
if (dialogStatus.value === 'update' && row.id === form.id) {
|
||||||
if (rule.field === 'serial_number' && row.serial_number === value) return true
|
console.log('[validateUnique] 跳过自身记录 id=', row.id, 'form.id=', form.id)
|
||||||
if (rule.field === 'batch_number' && row.batch_number === value && row.base_id === form.base_id) return true
|
return false
|
||||||
|
}
|
||||||
|
if (rule.field === 'serial_number' && row.serial_number === value) {
|
||||||
|
console.log('[validateUnique] SN重复! row.id=', row.id, 'form.id=', form.id, 'dialogStatus=', dialogStatus.value)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
if (rule.field === 'batch_number' && row.batch_number === value && row.base_id === form.base_id) {
|
||||||
|
console.log('[validateUnique] 批号重复! row.id=', row.id, 'form.id=', form.id, 'dialogStatus=', dialogStatus.value)
|
||||||
|
return true
|
||||||
|
}
|
||||||
return false
|
return false
|
||||||
})
|
})
|
||||||
if (isDuplicate) callback(new Error('当前列表页存在相同编号(后端将进行全局校验)'))
|
if (isDuplicate) callback(new Error('当前列表页存在相同编号(后端将进行全局校验)'))
|
||||||
|
|||||||
Reference in New Issue
Block a user