const STATUS_OPTIONS = [
|
{ label: '正常', value: 1, tagType: 'success' },
|
{ label: '冻结', value: 0, tagType: 'danger' }
|
]
|
|
function normalizeText(value) {
|
return typeof value === 'string' ? value.trim() : value
|
}
|
|
function normalizeNumber(value, fallback = void 0) {
|
if (value === '' || value === null || value === undefined) {
|
return fallback
|
}
|
const numericValue = Number(value)
|
return Number.isFinite(numericValue) ? numericValue : fallback
|
}
|
|
function pickText(record, keys, fallback = '-') {
|
for (const key of keys) {
|
const value = record?.[key]
|
if (typeof value === 'string' && value.trim()) {
|
return value.trim()
|
}
|
}
|
return fallback
|
}
|
|
export const REVISE_LOG_ITEM_REPORT_TITLE = '库位调整日志明细'
|
export const REVISE_LOG_ITEM_REPORT_STYLE = {
|
titleAlign: 'center',
|
titleLevel: 'strong',
|
orientation: 'landscape',
|
density: 'compact',
|
showSequence: true
|
}
|
|
export function getReviseLogItemPaginationKey() {
|
return {
|
current: 'current',
|
size: 'pageSize'
|
}
|
}
|
|
export function createReviseLogItemSearchState() {
|
return {
|
condition: '',
|
reviseLogId: '',
|
locCode: '',
|
matnrCode: '',
|
maktx: '',
|
batch: '',
|
fieldsIndex: '',
|
status: '',
|
memo: '',
|
timeStart: '',
|
timeEnd: ''
|
}
|
}
|
|
export function buildReviseLogItemSearchParams(params = {}) {
|
const result = {}
|
;[
|
'condition',
|
'locCode',
|
'matnrCode',
|
'maktx',
|
'batch',
|
'fieldsIndex',
|
'memo',
|
'timeStart',
|
'timeEnd'
|
].forEach((key) => {
|
const value = normalizeText(params[key])
|
if (value) {
|
result[key] = value
|
}
|
})
|
|
;['reviseLogId', 'status'].forEach((key) => {
|
const value = normalizeNumber(params[key], void 0)
|
if (value !== void 0) {
|
result[key] = value
|
}
|
})
|
|
return result
|
}
|
|
export function buildReviseLogItemPageQueryParams(params = {}) {
|
return {
|
current: params.current || 1,
|
pageSize: params.pageSize || params.size || 20,
|
...buildReviseLogItemSearchParams(params)
|
}
|
}
|
|
export function getReviseLogItemStatusMeta(value) {
|
const target = STATUS_OPTIONS.find((item) => Number(item.value) === Number(value))
|
return target || { label: '-', value, tagType: 'info' }
|
}
|
|
export function normalizeReviseLogItemRow(record = {}) {
|
const statusMeta = getReviseLogItemStatusMeta(record.status)
|
const reviseQty = normalizeNumber(record.reviseQty, 0)
|
const anfme = normalizeNumber(record.anfme, 0)
|
return {
|
...record,
|
reviseLogId: normalizeNumber(record.reviseLogId, record.reviseLogId),
|
locCode: pickText(record, ['locCode']),
|
matnrCode: pickText(record, ['matnrCode']),
|
maktx: pickText(record, ['maktx']),
|
unit: pickText(record, ['unit']),
|
anfme,
|
reviseQty,
|
diffQty: Math.round((reviseQty - anfme) * 10000) / 10000,
|
batch: pickText(record, ['batch']),
|
spec: pickText(record, ['spec']),
|
model: pickText(record, ['model']),
|
fieldsIndex: pickText(record, ['fieldsIndex']),
|
statusText: pickText(record, ['status$'], statusMeta.label),
|
statusTagType: statusMeta.tagType,
|
createByText: pickText(record, ['createBy$']),
|
createTimeText: pickText(record, ['createTime$'], record.createTime || '-'),
|
updateByText: pickText(record, ['updateBy$']),
|
updateTimeText: pickText(record, ['updateTime$'], record.updateTime || '-'),
|
memo: pickText(record, ['memo'], '-')
|
}
|
}
|