import { $t } from '@/locales'
|
|
export const LOC_ITEM_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 createLocItemSearchState() {
|
return {
|
condition: '',
|
timeStart: '',
|
timeEnd: '',
|
locId: '',
|
orderId: '',
|
type: '',
|
orderItemId: '',
|
wkType: '',
|
matnrId: '',
|
maktx: '',
|
matnrCode: '',
|
trackCode: '',
|
unit: '',
|
anfme: '',
|
batch: '',
|
splrBatch: '',
|
spec: '',
|
model: '',
|
fieldsIndex: '',
|
memo: '',
|
status: ''
|
}
|
}
|
|
export function getLocItemPaginationKey() {
|
return {
|
current: 'current',
|
size: 'pageSize'
|
}
|
}
|
|
export function buildLocItemSearchParams(params = {}) {
|
const result = {}
|
|
;[
|
'condition',
|
'type',
|
'maktx',
|
'matnrCode',
|
'trackCode',
|
'unit',
|
'batch',
|
'splrBatch',
|
'spec',
|
'model',
|
'fieldsIndex',
|
'memo'
|
].forEach((key) => {
|
const value = normalizeText(params[key])
|
if (value) {
|
result[key] = value
|
}
|
})
|
|
;['locId', 'orderId', 'orderItemId', 'wkType', 'matnrId', 'anfme', 'status'].forEach((key) => {
|
if (params[key] === '' || params[key] === null || params[key] === undefined) {
|
return
|
}
|
const numericValue = Number(params[key])
|
if (Number.isFinite(numericValue)) {
|
result[key] = numericValue
|
}
|
})
|
|
if (params.timeStart) {
|
result.timeStart = params.timeStart
|
}
|
if (params.timeEnd) {
|
result.timeEnd = params.timeEnd
|
}
|
|
return result
|
}
|
|
export function buildLocItemPageQueryParams(params = {}) {
|
return {
|
current: params.current || 1,
|
pageSize: params.pageSize || params.size || 20,
|
...buildLocItemSearchParams(params)
|
}
|
}
|
|
export function getLocItemStatusOptions() {
|
return [
|
{ label: $t('common.status.enabled'), value: 1 },
|
{ label: $t('common.status.disabled'), value: 0 }
|
]
|
}
|
|
export function getLocItemDynamicFieldKey(fieldName) {
|
return `${LOC_ITEM_DYNAMIC_FIELD_PREFIX}${fieldName}`
|
}
|
|
export function normalizeLocItemEnabledFields(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 attachLocItemDynamicFields(record = {}, enabledFields = []) {
|
const extendFields = record.extendFields && typeof record.extendFields === 'object' ? record.extendFields : {}
|
const dynamicValues = {}
|
|
enabledFields.forEach((field) => {
|
dynamicValues[getLocItemDynamicFieldKey(field.fields)] = extendFields[field.fields] || ''
|
})
|
|
return {
|
...record,
|
...dynamicValues
|
}
|
}
|
|
export function normalizeLocItemRow(record = {}, enabledFields = []) {
|
return attachLocItemDynamicFields(
|
{
|
...record,
|
locId: record.locId ?? '--',
|
locCode: record.locCode || '--',
|
wareArea: record.wareArea || '--',
|
orderId: record.orderId ?? '--',
|
orderItemId: record.orderItemId ?? '--',
|
matnrId: record.matnrId ?? '--',
|
typeText: record['type$'] || record.type || '--',
|
wkTypeText: record['wkType$'] || record.wkType || '--',
|
matnrCode: record.matnrCode || '--',
|
maktx: record.maktx || '--',
|
spec: record.spec || '--',
|
model: record.model || '--',
|
batch: record.batch || '--',
|
splrBatch: record.splrBatch || '--',
|
trackCode: record.trackCode || '--',
|
unit: record.unit || '--',
|
anfme: normalizeNumber(record.anfme),
|
qty: normalizeNumber(record.qty),
|
workQty: normalizeNumber(record.workQty),
|
fieldsIndex: record.fieldsIndex || '--',
|
memo: record.memo || '--',
|
statusText:
|
record.statusBool || Number(record.status) === 1
|
? $t('common.status.enabled')
|
: $t('common.status.disabled'),
|
createByText: record['createBy$'] || record.createBy || '--',
|
createTimeText: record['createTime$'] || record.createTime || '--',
|
updateByText: record['updateBy$'] || record.updateBy || '--',
|
updateTimeText: record['updateTime$'] || record.updateTime || '--'
|
},
|
enabledFields
|
)
|
}
|