修改规则

This commit is contained in:
wuweihua
2026-10-16 16:28:12 +08:00
parent 9824e05919
commit 15e005fd20
+21 -4
View File
@@ -327,11 +327,28 @@ function handleDelete(ids) {
function searchProduct(keyword) {
productLoading.value = true
listProductOptions({ productCode: keyword || undefined, status: '1' }).then(res => {
const rows = res.data || res.rows || []
const kw = (keyword || '').trim()
const base = { status: '1' }
// product_code / product_name are separate likes; query both and merge
const reqs = kw
? [
listProductOptions({ ...base, productCode: kw }),
listProductOptions({ ...base, productName: kw })
]
: [listProductOptions(base)]
Promise.all(reqs).then(results => {
const map = new Map()
;[...productOptions.value, ...rows].forEach(p => {
if (p && p.productCode) map.set(p.productCode, p)
results.forEach(res => {
;(res.data || res.rows || []).forEach(p => {
if (p && p.productCode) map.set(p.productCode, p)
})
})
// keep already-selected options visible
toList(form.value.productCodeList).forEach(code => {
if (code && !map.has(code)) {
const hit = productOptions.value.find(p => p.productCode === code)
map.set(code, hit || { productCode: code, productName: code })
}
})
productOptions.value = Array.from(map.values())
}).finally(() => {