import { $t } from '@/locales'
|
|
function getDeliveryItemStatusMetaMap(t = $t) {
|
return {
|
1: { text: t('common.status.normal'), type: 'success', bool: true },
|
0: { text: t('common.status.frozen'), type: 'danger', bool: false }
|
}
|
}
|
|
export function getDeliveryItemReportTitle(t = $t) {
|
return t('pages.orders.deliveryItem.reportTitle')
|
}
|
|
export const DELIVERY_ITEM_REPORT_STYLE = {
|
titleAlign: 'center',
|
titleLevel: 'strong',
|
orientation: 'landscape',
|
density: 'compact',
|
showSequence: true
|
}
|
|
function normalizeText(value) {
|
return String(value ?? '').trim()
|
}
|
|
function normalizeNumber(value, fallback = void 0) {
|
if (value === '' || value === null || value === undefined) {
|
return fallback
|
}
|
const parsed = Number(value)
|
return Number.isNaN(parsed) ? fallback : parsed
|
}
|
|
function normalizeStatusMeta(status, t = $t) {
|
const statusMetaMap = getDeliveryItemStatusMetaMap(t)
|
if (status === true || Number(status) === 1) {
|
return statusMetaMap[1]
|
}
|
if (status === false || Number(status) === 0) {
|
return statusMetaMap[0]
|
}
|
return { text: t('common.status.unknown'), type: 'info', bool: false }
|
}
|
|
export function createDeliveryItemSearchState() {
|
return {
|
condition: '',
|
deliveryId: '',
|
deliveryCode: '',
|
platItemId: '',
|
matnrCode: '',
|
maktx: '',
|
fieldsIndex: '',
|
splrName: '',
|
splrCode: '',
|
status: '',
|
timeStart: '',
|
timeEnd: '',
|
memo: '',
|
orderBy: 'create_time desc',
|
splrBatch: ''
|
}
|
}
|
|
export function buildDeliveryItemSearchParams(params = {}) {
|
const result = {}
|
;[
|
'condition',
|
'deliveryCode',
|
'platItemId',
|
'matnrCode',
|
'maktx',
|
'fieldsIndex',
|
'splrName',
|
'splrCode',
|
'splrBatch',
|
'timeStart',
|
'timeEnd',
|
'memo'
|
].forEach((key) => {
|
const value = normalizeText(params[key])
|
if (value) {
|
result[key] = value
|
}
|
})
|
|
if (params.deliveryId !== '' && params.deliveryId !== undefined && params.deliveryId !== null) {
|
result.deliveryId = normalizeNumber(params.deliveryId)
|
}
|
|
if (params.status !== '' && params.status !== undefined && params.status !== null) {
|
result.status = normalizeNumber(params.status)
|
}
|
|
return result
|
}
|
|
export function buildDeliveryItemPageQueryParams(params = {}) {
|
return {
|
current: params.current || 1,
|
pageSize: params.pageSize || params.size || 20,
|
orderBy: normalizeText(params.orderBy) || 'create_time desc',
|
...buildDeliveryItemSearchParams(params)
|
}
|
}
|
|
export function buildDeliveryItemDetailQueryParams(params = {}) {
|
return {
|
deliveryItemId: params.deliveryItemId,
|
current: params.current || 1,
|
pageSize: params.pageSize || params.size || 20
|
}
|
}
|
|
export function normalizeDeliveryItemRow(record = {}, t = $t) {
|
const statusMeta = normalizeStatusMeta(record.statusBool ?? record.status, t)
|
return {
|
...record,
|
id: record.id ?? null,
|
deliveryId: record.deliveryId ?? '--',
|
deliveryCode: normalizeText(record.deliveryCode) || '--',
|
platItemId: normalizeText(record.platItemId) || '--',
|
matnrCode: normalizeText(record.matnrCode) || '--',
|
maktx: normalizeText(record.maktx || record.matnrName) || '--',
|
matnrName: normalizeText(record.maktx || record.matnrName) || '--',
|
fieldsIndex: normalizeText(record.fieldsIndex) || '--',
|
unit: normalizeText(record.unit) || '--',
|
anfme: record.anfme ?? '--',
|
workQty: record.workQty ?? '--',
|
qty: record.qty ?? '--',
|
nromQty: record.nromQty ?? '--',
|
printQty: record.printQty ?? '--',
|
splrName: normalizeText(record.splrName) || '--',
|
splrCode: normalizeText(record.splrCode) || '--',
|
splrBatch: normalizeText(record.splrBatch) || '--',
|
batch: normalizeText(record.batch) || '--',
|
trackCode: normalizeText(record.trackCode) || '--',
|
packName: normalizeText(record.packName) || '--',
|
prodTimeText:
|
normalizeText(record['prodTime$'] || record.prodTimeText || record.prodTime) || '--',
|
statusText: statusMeta.text,
|
statusType: statusMeta.type,
|
statusBool: record.statusBool !== void 0 ? Boolean(record.statusBool) : statusMeta.bool,
|
createByText: normalizeText(record['createBy$'] || record.createByText) || '--',
|
createTimeText:
|
normalizeText(record['createTime$'] || record.createTimeText || record.createTime) || '--',
|
updateByText: normalizeText(record['updateBy$'] || record.updateByText) || '--',
|
updateTimeText:
|
normalizeText(record['updateTime$'] || record.updateTimeText || record.updateTime) || '--',
|
memo: normalizeText(record.memo) || '--'
|
}
|
}
|
|
export function createDeliveryItemFormState() {
|
return {
|
id: undefined,
|
deliveryId: undefined,
|
platItemId: '',
|
matnrId: undefined,
|
matnrCode: '',
|
maktx: '',
|
fieldsIndex: '',
|
unit: '',
|
anfme: undefined,
|
qty: undefined,
|
printQty: undefined,
|
splrName: '',
|
splrCode: '',
|
splrBatch: '',
|
status: 1,
|
memo: ''
|
}
|
}
|
|
export function buildDeliveryItemDialogModel(record = {}) {
|
return {
|
...createDeliveryItemFormState(),
|
...record,
|
id: record.id ?? undefined,
|
deliveryId: record.deliveryId ?? undefined,
|
platItemId: normalizeText(record.platItemId),
|
matnrId: record.matnrId ?? undefined,
|
matnrCode: normalizeText(record.matnrCode),
|
maktx: normalizeText(record.maktx || record.matnrName),
|
fieldsIndex: normalizeText(record.fieldsIndex),
|
unit: normalizeText(record.unit),
|
anfme: normalizeNumber(record.anfme, undefined),
|
qty: normalizeNumber(record.qty, undefined),
|
printQty: normalizeNumber(record.printQty, undefined),
|
splrName: normalizeText(record.splrName),
|
splrCode: normalizeText(record.splrCode),
|
splrBatch: normalizeText(record.splrBatch),
|
status: normalizeNumber(record.statusBool ?? record.status, 1),
|
memo: normalizeText(record.memo)
|
}
|
}
|
|
export function buildDeliveryItemSavePayload(formData = {}) {
|
return {
|
...(formData.id !== undefined && formData.id !== null ? { id: Number(formData.id) } : {}),
|
...(formData.deliveryId !== undefined && formData.deliveryId !== null
|
? { deliveryId: Number(formData.deliveryId) }
|
: {}),
|
...(formData.matnrId !== undefined && formData.matnrId !== null
|
? { matnrId: Number(formData.matnrId) }
|
: {}),
|
platItemId: normalizeText(formData.platItemId),
|
matnrCode: normalizeText(formData.matnrCode),
|
maktx: normalizeText(formData.maktx),
|
fieldsIndex: normalizeText(formData.fieldsIndex),
|
unit: normalizeText(formData.unit),
|
...(formData.anfme !== undefined && formData.anfme !== null && formData.anfme !== ''
|
? { anfme: Number(formData.anfme) }
|
: {}),
|
...(formData.qty !== undefined && formData.qty !== null && formData.qty !== ''
|
? { qty: Number(formData.qty) }
|
: {}),
|
...(formData.printQty !== undefined && formData.printQty !== null && formData.printQty !== ''
|
? { printQty: Number(formData.printQty) }
|
: {}),
|
splrName: normalizeText(formData.splrName),
|
splrCode: normalizeText(formData.splrCode),
|
splrBatch: normalizeText(formData.splrBatch),
|
status: normalizeNumber(formData.status, 1),
|
memo: normalizeText(formData.memo)
|
}
|
}
|
|
export function getDeliveryItemStatusOptions(t = $t) {
|
return [
|
{ value: 1, label: t('common.status.normal') },
|
{ value: 0, label: t('common.status.frozen') }
|
]
|
}
|
|
export function buildDeliveryItemPrintRows(records = [], t = $t) {
|
if (!Array.isArray(records)) {
|
return []
|
}
|
return records.map((record) => normalizeDeliveryItemRow(record, t))
|
}
|
|
export function buildDeliveryItemReportMeta({
|
previewMeta = {},
|
count = 0,
|
orientation = DELIVERY_ITEM_REPORT_STYLE.orientation,
|
t = $t
|
} = {}) {
|
return {
|
reportTitle: getDeliveryItemReportTitle(t),
|
reportDate: previewMeta.reportDate,
|
printedAt: previewMeta.printedAt,
|
operator: previewMeta.operator,
|
count,
|
reportStyle: {
|
...DELIVERY_ITEM_REPORT_STYLE,
|
orientation
|
}
|
}
|
}
|