debug: buy.vue validateUnique 加详细日志——打印 form.id/row.id/value 比对过程
This commit is contained in:
@ -1294,10 +1294,20 @@ const updateInspectionRules = () => {
|
||||
const validateUnique = (rule: any, value: string, callback: any) => {
|
||||
if (!value) return callback()
|
||||
const currentId = form.id != null ? Number(form.id) : null
|
||||
console.log('[validateUnique] rule.field=', rule.field, 'value=', value, 'form.id=', form.id, 'currentId=', currentId, 'dialogStatus=', dialogStatus.value)
|
||||
const isDuplicate = tableData.value.some((row: any) => {
|
||||
if (dialogStatus.value === 'update' && currentId != null && Number(row.id) === currentId) return false
|
||||
if (rule.field === 'serial_number' && row.serial_number === value) return true
|
||||
if (rule.field === 'batch_number' && row.batch_number === value && row.base_id === form.base_id) return true
|
||||
const rowId = Number(row.id)
|
||||
const isSelf = dialogStatus.value === 'update' && currentId != null && rowId === currentId
|
||||
if (rule.field === 'serial_number' && row.serial_number === value) {
|
||||
if (isSelf) { console.log('[validateUnique] 跳过自身 SN, row.id=', row.id, 'rowId=', rowId); return false }
|
||||
console.log('[validateUnique] SN匹配! row.id=', row.id, 'row.serial_number=', row.serial_number, 'value=', value)
|
||||
return true
|
||||
}
|
||||
if (rule.field === 'batch_number' && row.batch_number === value && row.base_id === form.base_id) {
|
||||
if (isSelf) { console.log('[validateUnique] 跳过自身 批号, row.id=', row.id); return false }
|
||||
console.log('[validateUnique] 批号匹配! row.id=', row.id)
|
||||
return true
|
||||
}
|
||||
return false
|
||||
})
|
||||
if (isDuplicate) callback(new Error('当前列表页存在相同编号(后端将进行全局校验)'))
|
||||
|
||||
Reference in New Issue
Block a user