export const LOC_PREVIEW_DYNAMIC_FIELD_PREFIX = 'extendField__'
|
|
function normalizeText(value) {
|
return String(value ?? '').trim()
|
}
|
|
function normalizeNumber(value) {
|
if (value === '' || value === null || value === undefined) {
|
return 0
|
}
|
const numericValue = Number(value)
|
return Number.isFinite(numericValue) ? numericValue : 0
|
}
|
|
export function createLocPreviewSearchState() {
|
return {
|
condition: '',
|
code: '',
|
barcode: ''
|
}
|
}
|
|
export function buildLocPreviewPageQueryParams(params = {}) {
|
const result = {
|
current: params.current || 1,
|
pageSize: params.pageSize || params.size || 20
|
}
|
|
const condition = normalizeText(params.condition)
|
const code = normalizeText(params.code)
|
const barcode = normalizeText(params.barcode)
|
|
if (condition) {
|
result.condition = condition
|
}
|
if (code) {
|
result.code = code
|
}
|
if (barcode) {
|
result.barcode = barcode
|
}
|
|
return result
|
}
|
|
export function getLocPreviewDynamicFieldKey(fieldName) {
|
return `${LOC_PREVIEW_DYNAMIC_FIELD_PREFIX}${fieldName}`
|
}
|
|
export function normalizeLocPreviewEnabledFields(fields = []) {
|
if (!Array.isArray(fields)) {
|
return []
|
}
|
return fields
|
.map((item) => ({
|
fields: normalizeText(item.fields),
|
fieldsAlise: normalizeText(item.fieldsAlise || item.fieldsAlias || item.fields)
|
}))
|
.filter((item) => item.fields)
|
}
|
|
export function attachLocPreviewDynamicFields(record = {}, enabledFields = []) {
|
const extendFields = record.extendFields && typeof record.extendFields === 'object' ? record.extendFields : {}
|
const dynamicValues = {}
|
|
enabledFields.forEach((field) => {
|
dynamicValues[getLocPreviewDynamicFieldKey(field.fields)] = extendFields[field.fields] || ''
|
})
|
|
return {
|
...record,
|
...dynamicValues
|
}
|
}
|
|
export function normalizeLocPreviewRow(record = {}) {
|
return {
|
...record,
|
warehouseLabel: record['warehouseId$'] || record.warehouseName || '-',
|
areaLabel: record['areaId$'] || record.areaName || '-',
|
locCode: record.code || record.locCode || '-',
|
typeLabel: record['typeIds$'] || record['type$'] || record.type || '-',
|
useStatusLabel: record['useStatus$'] || '-',
|
barcode: record.barcode || '-',
|
row: normalizeNumber(record.row),
|
col: normalizeNumber(record.col),
|
lev: normalizeNumber(record.lev),
|
channel: normalizeNumber(record.channel),
|
statusLabel: record.statusBool ? '启用' : '停用',
|
updateTimeText: record['updateTime$'] || record.updateTime || '-',
|
createTimeText: record['createTime$'] || record.createTime || '-'
|
}
|
}
|
|
export function normalizeLocPreviewDetail(record = {}) {
|
return {
|
...record,
|
warehouseLabel: record['warehouseId$'] || record.warehouseName || '-',
|
areaLabel: record['areaId$'] || record.areaName || '-',
|
locCode: record.code || record.locCode || '-',
|
typeLabel: record['typeIds$'] || record['type$'] || record.type || '-',
|
useStatusLabel: record['useStatus$'] || '-',
|
barcode: record.barcode || '-',
|
memo: record.memo || '-'
|
}
|
}
|
|
export function normalizeLocPreviewItemRow(record = {}, enabledFields = []) {
|
return attachLocPreviewDynamicFields(
|
{
|
...record,
|
locCode: record.locCode || '-',
|
wareArea: record.wareArea || '-',
|
orderCode: record.orderCode || '-',
|
matnrCode: record.matnrCode || '-',
|
maktx: record.maktx || '-',
|
batch: record.batch || '-',
|
trackCode: record.trackCode || '-',
|
unit: record.unit || '-',
|
anfme: normalizeNumber(record.anfme),
|
qty: normalizeNumber(record.qty),
|
workQty: normalizeNumber(record.workQty),
|
createTimeText: record['createTime$'] || record.createTime || '-'
|
},
|
enabledFields
|
)
|
}
|