20260706001
This commit is contained in:
@@ -5,6 +5,7 @@ import { loadGoodsInScenes, sceneValuesObjectFromRaw } from '@/utils/rfSceneGood
|
||||
import {
|
||||
pickGoodsCategoryEntry,
|
||||
pickGoodsDisplayName,
|
||||
pickGoodsNameFromListedRow,
|
||||
resolveGoodsCategoryCode,
|
||||
} from '@/utils/goodsCategorys'
|
||||
|
||||
@@ -571,7 +572,15 @@ function parseStableSupply(v) {
|
||||
/** @param {unknown} row */
|
||||
export function normalizeCollectionGoodsRow(row) {
|
||||
if (!row || typeof row !== 'object') return null
|
||||
const r = row
|
||||
const embedded = row.raw && typeof row.raw === 'object' ? row.raw : null
|
||||
const r = embedded
|
||||
? {
|
||||
...embedded,
|
||||
...row,
|
||||
goods_categorys: row.goods_categorys ?? embedded.goods_categorys,
|
||||
goods: row.goods ?? embedded.goods,
|
||||
}
|
||||
: row
|
||||
const nested = r.goods && typeof r.goods === 'object' ? r.goods : null
|
||||
const goods_code = String(
|
||||
r.goods_code
|
||||
@@ -600,7 +609,8 @@ export function normalizeCollectionGoodsRow(row) {
|
||||
).trim()
|
||||
const name = pickGoodsDisplayName(r, category_code, { allowTopLevelName: true })
|
||||
|| String(
|
||||
r.goods_name
|
||||
r.name
|
||||
|| r.goods_name
|
||||
|| r.goodsName
|
||||
|| r.product_name
|
||||
|| r.material_name
|
||||
@@ -671,15 +681,22 @@ export function pickCollectionGoodsPreferredTax(row) {
|
||||
export function pickCollectionGoodsPickFields(row) {
|
||||
const normalized = normalizeCollectionGoodsRow(row) || (row && typeof row === 'object' ? row : null)
|
||||
if (!normalized) return null
|
||||
const raw = normalized.raw || row
|
||||
const sourceRow = normalized.raw || row
|
||||
const goods_code = String(normalized.goods_code || '').trim()
|
||||
if (!goods_code) return null
|
||||
const payRaw = raw?.payment_price ?? ''
|
||||
const payRaw = sourceRow?.payment_price ?? row?.payment_price ?? ''
|
||||
const payment_price = payRaw !== '' && payRaw != null ? Number(payRaw) : null
|
||||
const bill_tax = pickCollectionGoodsPreferredTax(row)
|
||||
const bill_tax = pickCollectionGoodsPreferredTax(sourceRow)
|
||||
const nameCandidates = [
|
||||
String(row?.name || '').trim(),
|
||||
String(normalized.name || '').trim(),
|
||||
pickGoodsNameFromListedRow(sourceRow),
|
||||
pickGoodsNameFromListedRow(row),
|
||||
].filter(Boolean)
|
||||
const name = nameCandidates.find((n) => n !== goods_code) || nameCandidates[0] || goods_code
|
||||
return {
|
||||
goods_code,
|
||||
name: String(normalized.name || goods_code).trim(),
|
||||
name,
|
||||
payment_price: Number.isFinite(payment_price) ? payment_price : null,
|
||||
bill_tax,
|
||||
raw: normalized,
|
||||
|
||||
Reference in New Issue
Block a user