From 50f0b958546caee7f929b28c1f5ad0daa2637751 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期三, 25 三月 2026 09:01:14 +0800
Subject: [PATCH] fix: 优化质量管理
---
src/pages/qualityManagement/nonconformingManagement/form.vue | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 52 insertions(+), 3 deletions(-)
diff --git a/src/pages/qualityManagement/nonconformingManagement/form.vue b/src/pages/qualityManagement/nonconformingManagement/form.vue
index a28ae54..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,6 +367,46 @@
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,
@@ -373,9 +414,10 @@
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,
@@ -423,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