From f36f51b2f7837b12e2414e4d82b6c98b8519eb10 Mon Sep 17 00:00:00 2001 From: hwj Date: Fri, 24 Apr 2026 11:00:27 +0800 Subject: [PATCH] =?UTF-8?q?style=EF=BC=9A=E4=BA=A7=E5=93=81=E7=89=A9?= =?UTF-8?q?=E6=96=99=E6=A8=A1=E5=9D=97-=E6=89=8B=E5=8A=A8=E8=BE=93?= =?UTF-8?q?=E5=85=A5=E7=BC=96=E7=A0=81=E6=96=B9=E5=BC=8F=E4=BC=A0=E5=8F=82?= =?UTF-8?q?=E6=94=B9=E7=94=A8code?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages_function/pages/product/detail.vue | 13 ++++++++++--- src/pages_function/pages/product/index.vue | 12 +++++++++--- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/pages_function/pages/product/detail.vue b/src/pages_function/pages/product/detail.vue index 56a8ae2..83aec10 100644 --- a/src/pages_function/pages/product/detail.vue +++ b/src/pages_function/pages/product/detail.vue @@ -55,6 +55,8 @@ import request from '@/utils/request' import AppTitleHeader from '@/components/common/AppTitleHeader.vue' const productId = ref(undefined) +const productCode = ref(undefined) +const productType = ref(undefined) const loading = ref(false) const detailData = ref(null) const unitList = ref([]) @@ -121,17 +123,20 @@ const statusLabel = computed(() => { }) async function fetchAll() { - if (!productId.value) { + if (!productId.value && !productCode.value) { uni.showToast({ title: '缺少产品物料ID', icon: 'none' }) return } loading.value = true try { + const isScan = productType.value === 'scan' + const params = isScan ? { id: productId.value } : { code: productCode.value } + const [detailRes, unitRes] = await Promise.all([ request({ url: '/admin-api/erp/product/get', method: 'get', - params: { id: productId.value }, + params: params, showLoading: false }), request({ @@ -150,9 +155,11 @@ async function fetchAll() { } onLoad((query) => { - const rawId = query && (query.id !== undefined ? query.id : query.code) + const rawId = query && query.id const decoded = rawId ? decodeURIComponent(String(rawId)) : '' productId.value = decoded ? decoded : undefined + productType.value = query && query.type + productCode.value = query && query.code fetchAll() }) diff --git a/src/pages_function/pages/product/index.vue b/src/pages_function/pages/product/index.vue index 67f7f05..42dab40 100644 --- a/src/pages_function/pages/product/index.vue +++ b/src/pages_function/pages/product/index.vue @@ -113,12 +113,18 @@ function confirmInput() { uni.showToast({ title: '请输入产品物料ID', icon: 'none' }) return } - navigateToDetail(productId.value.trim()) + navigateToDetail(productId.value.trim(), 'input') } -function navigateToDetail(id) { +function navigateToDetail(id, type = 'scan') { + let url + if (type === 'scan') { + url = `/pages_function/pages/product/detail?id=${encodeURIComponent(id)}&type=${type}` + } else { + url = `/pages_function/pages/product/detail?code=${id}&type=${type}` + } uni.navigateTo({ - url: `/pages_function/pages/product/detail?id=${encodeURIComponent(id)}` + url: url }) }