From f6427b5dea54bbb8761fade351e9f86404b2fb61 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期一, 30 三月 2026 10:22:59 +0800
Subject: [PATCH] fix: 规格型号搜索
---
src/pages/qualityManagement/nonconformingManagement/form.vue | 61 ++++++++++++++++++++++++++++--
1 files changed, 56 insertions(+), 5 deletions(-)
diff --git a/src/pages/qualityManagement/nonconformingManagement/form.vue b/src/pages/qualityManagement/nonconformingManagement/form.vue
index 7acb67d..f13702b 100644
--- a/src/pages/qualityManagement/nonconformingManagement/form.vue
+++ b/src/pages/qualityManagement/nonconformingManagement/form.vue
@@ -189,6 +189,7 @@
const pageType = ref('add') // add | edit
const id = ref('')
const submitting = ref(false)
+const editFallback = ref({})
const isEdit = computed(() => pageType.value === 'edit')
const pageTitle = computed(() => (isEdit.value ? '缂栬緫涓嶅悎鏍肩鐞�' : '鏂板涓嶅悎鏍肩鐞�'))
@@ -366,16 +367,57 @@
if (!id.value) return
const res = await getQualityUnqualifiedInfo(id.value)
const d = res?.data || {}
+ const rawCheckType =
+ d.checkType ??
+ d.inspectType ??
+ d.check_type ??
+ d.inspect_type ??
+ d.checkTypeLabel ??
+ d.inspectTypeLabel
+ let normalizedCheckType = undefined
+ if (!(rawCheckType === undefined || rawCheckType === null || rawCheckType === '')) {
+ const rawText = String(rawCheckType).trim()
+ if (rawText === '鍏ュ巶妫�') normalizedCheckType = 0
+ else if (rawText === '杞﹂棿妫�') normalizedCheckType = 1
+ else if (rawText === '鍑哄巶妫�') normalizedCheckType = 2
+ else {
+ const n = Number(rawText)
+ normalizedCheckType = Number.isNaN(n) ? undefined : n
+ }
+ }
+ const normalizedBatchNo =
+ d.batchNo ??
+ d.batchNO ??
+ d.batchNum ??
+ d.batchNumber ??
+ d.batch ??
+ d.inboundBatches ??
+ d.lotNo ??
+ d.lotNumber ??
+ editFallback.value?.batchNo ??
+ ''
+ const fallbackCheckTypeRaw = editFallback.value?.checkType
+ if (normalizedCheckType === undefined && !(fallbackCheckTypeRaw === undefined || fallbackCheckTypeRaw === null || fallbackCheckTypeRaw === '')) {
+ const fallbackText = String(fallbackCheckTypeRaw).trim()
+ if (fallbackText === '鍏ュ巶妫�') normalizedCheckType = 0
+ else if (fallbackText === '杞﹂棿妫�') normalizedCheckType = 1
+ else if (fallbackText === '鍑哄巶妫�') normalizedCheckType = 2
+ else {
+ const n = Number(fallbackText)
+ normalizedCheckType = Number.isNaN(n) ? undefined : n
+ }
+ }
Object.assign(form, {
id: d.id,
productId: d.productId,
productName: d.productName,
- productModelId: d.productModelId,
+ productModelId: d.productModelId ?? d.modelId ?? d.productModeId ?? '',
model: d.model,
unit: d.unit,
- batchNo: d.batchNo,
- // 鍏煎鍚庣杩斿洖瀛楁锛氫紭鍏� checkType锛屽叾娆� inspectType
- checkType: d.checkType ?? d.inspectType,
+ // 鍏煎鍚庣杩斿洖瀛楁锛歜atchNo/batchNum/lotNo 绛�
+ batchNo: normalizedBatchNo,
+ // 鍏煎鍚庣杩斿洖瀛楁锛歝heckType/inspectType 绛夛紝缁熶竴涓� number
+ checkType: normalizedCheckType,
checkName: d.checkName,
checkTime: d.checkTime,
defectivePhenomena: d.defectivePhenomena,
@@ -387,7 +429,9 @@
const validate = () => {
if (!form.productId) return toast('璇烽�夋嫨浜у搧鍚嶇О'), false
- if (!form.productModelId) return toast('璇烽�夋嫨瑙勬牸鍨嬪彿'), false
+ // 瀵归綈 PC 绔細缂栬緫鎬佸厑璁镐粎鍥炴樉鍨嬪彿鏂囨湰锛堝巻鍙叉暟鎹彲鑳界己灏� productModelId锛�
+ if (!isEdit.value && !form.productModelId) return toast('璇烽�夋嫨瑙勬牸鍨嬪彿'), false
+ if (isEdit.value && !form.productModelId && !form.model) return toast('璇烽�夋嫨瑙勬牸鍨嬪彿'), false
if (!form.batchNo) return toast('璇疯緭鍏ユ壒鍙�'), false
if (form.checkType === undefined || form.checkType === '') return toast('璇烽�夋嫨妫�楠岀被鍨�'), false
if (!form.checkName) return toast('璇烽�夋嫨妫�楠屽憳'), false
@@ -421,6 +465,13 @@
onLoad(async (options) => {
pageType.value = options?.type || 'add'
id.value = options?.id || ''
+ if (options?.fallback) {
+ try {
+ editFallback.value = JSON.parse(decodeURIComponent(options.fallback))
+ } catch (e) {
+ editFallback.value = {}
+ }
+ }
form.dealResult = getScrapDealResultValue()
await loadUsers()
if (isEdit.value) {
--
Gitblit v1.9.3