const STATUS_META = { 1: { textKey: 'common.status.normal', fallback: 'Normal', type: 'success', bool: true }, 0: { textKey: 'common.status.frozen', fallback: 'Frozen', type: 'danger', bool: false } } export function getWarehouseAreasReportTitle(t) { return t('pages.basicInfo.warehouseAreas.reportTitle') } export const WAREHOUSE_AREAS_REPORT_STYLE = { titleAlign: 'center', titleLevel: 'strong', orientation: 'portrait', density: 'compact', showSequence: true } function normalizeText(value) { return String(value ?? '').trim() } function normalizeFlagValue(value) { if (value === 1 || value === '1' || value === true || value === '\u662f') { return 1 } if (value === 0 || value === '0' || value === false || value === '\u5426') { return 0 } return null } export function createWarehouseAreasSearchState() { return { condition: '', warehouseId: '', code: '', name: '', type: '', shipperId: '', supplierId: '', status: '', memo: '' } } export function createWarehouseAreasFormState() { return { id: void 0, warehouseId: void 0, code: '', name: '', type: '', shipperId: void 0, supplierId: void 0, flagMinus: 0, flagLabelMange: 0, flagMix: 0, status: 1, sort: void 0, memo: '' } } export function getWarehouseAreasPaginationKey() { return { current: 'current', size: 'pageSize' } } export function getWarehouseAreasStatusOptions(t) { return [ { label: t('common.status.normal'), value: 1 }, { label: t('common.status.frozen'), value: 0 } ] } export function getWarehouseAreasFlagOptions(t) { return [ { label: t('common.status.no'), value: 0 }, { label: t('common.status.yes'), value: 1 } ] } export function buildWarehouseAreasSearchParams(params = {}) { const searchParams = { condition: normalizeText(params.condition), warehouseId: params.warehouseId !== undefined && params.warehouseId !== null && params.warehouseId !== '' ? Number(params.warehouseId) : void 0, code: normalizeText(params.code), name: normalizeText(params.name), type: normalizeText(params.type), shipperId: params.shipperId !== undefined && params.shipperId !== null && params.shipperId !== '' ? Number(params.shipperId) : void 0, supplierId: params.supplierId !== undefined && params.supplierId !== null && params.supplierId !== '' ? Number(params.supplierId) : void 0, status: params.status !== undefined && params.status !== null && params.status !== '' ? Number(params.status) : void 0, memo: normalizeText(params.memo) } return Object.fromEntries( Object.entries(searchParams).filter(([, value]) => value !== '' && value !== void 0 && value !== null) ) } export function buildWarehouseAreasPageQueryParams(params = {}) { return { current: params.current || 1, pageSize: params.pageSize || params.size || 20, ...buildWarehouseAreasSearchParams(params) } } export function buildWarehouseAreasSavePayload(formData = {}) { return { ...(formData.id !== void 0 && formData.id !== null && formData.id !== '' ? { id: Number(formData.id) } : {}), ...(formData.warehouseId !== void 0 && formData.warehouseId !== null && formData.warehouseId !== '' ? { warehouseId: Number(formData.warehouseId) } : {}), code: normalizeText(formData.code) || '', name: normalizeText(formData.name) || '', type: normalizeText(formData.type) || '', ...(formData.shipperId !== void 0 && formData.shipperId !== null && formData.shipperId !== '' ? { shipperId: Number(formData.shipperId) } : {}), ...(formData.supplierId !== void 0 && formData.supplierId !== null && formData.supplierId !== '' ? { supplierId: Number(formData.supplierId) } : {}), ...(formData.flagMinus !== void 0 && formData.flagMinus !== null && formData.flagMinus !== '' ? { flagMinus: Number(formData.flagMinus) } : {}), ...(formData.flagLabelMange !== void 0 && formData.flagLabelMange !== null && formData.flagLabelMange !== '' ? { flagLabelMange: Number(formData.flagLabelMange) } : {}), ...(formData.flagMix !== void 0 && formData.flagMix !== null && formData.flagMix !== '' ? { flagMix: Number(formData.flagMix) } : {}), status: formData.status !== void 0 && formData.status !== null && formData.status !== '' ? Number(formData.status) : 1, ...(formData.sort !== void 0 && formData.sort !== null && formData.sort !== '' ? { sort: Number(formData.sort) } : {}), memo: normalizeText(formData.memo) || '' } } export function buildWarehouseAreasDialogModel(record = {}) { return { ...createWarehouseAreasFormState(), ...(record.id !== void 0 && record.id !== null && record.id !== '' ? { id: Number(record.id) } : {}), warehouseId: record.warehouseId !== void 0 && record.warehouseId !== null && record.warehouseId !== '' ? Number(record.warehouseId) : void 0, code: normalizeText(record.code || ''), name: normalizeText(record.name || ''), type: normalizeText(record.type || ''), shipperId: record.shipperId !== void 0 && record.shipperId !== null && record.shipperId !== '' ? Number(record.shipperId) : void 0, supplierId: record.supplierId !== void 0 && record.supplierId !== null && record.supplierId !== '' ? Number(record.supplierId) : void 0, flagMinus: record.flagMinus !== void 0 && record.flagMinus !== null ? Number(record.flagMinus) : 0, flagLabelMange: record.flagLabelMange !== void 0 && record.flagLabelMange !== null ? Number(record.flagLabelMange) : 0, flagMix: record.flagMix !== void 0 && record.flagMix !== null ? Number(record.flagMix) : 0, status: record.status !== void 0 && record.status !== null ? Number(record.status) : 1, sort: record.sort !== void 0 && record.sort !== null && record.sort !== '' ? Number(record.sort) : void 0, memo: normalizeText(record.memo || '') } } export function getWarehouseAreasStatusMeta(status) { if (status === true || Number(status) === 1) { return STATUS_META[1] } if (status === false || Number(status) === 0) { return STATUS_META[0] } return { textKey: 'common.status.unknown', fallback: 'Unknown', type: 'info', bool: false } } export function normalizeWarehouseAreasDetailRecord(record = {}) { const statusMeta = getWarehouseAreasStatusMeta(record.statusBool ?? record.status) const flagMinusValue = normalizeFlagValue(record.flagMinus$ ?? record.flagMinus) const flagLabelManageValue = normalizeFlagValue(record.flagLabelMange$ ?? record.flagLabelMange) const flagMixValue = normalizeFlagValue(record.flagMix$ ?? record.flagMix) return { ...record, warehouseName: normalizeText(record.warehouseId$ || record.warehouseName || ''), typeText: normalizeText(record.type$ || record.type || ''), shipperName: normalizeText(record.shipperId$ || record.shipperName || ''), supplierName: normalizeText(record.supplierId$ || record.supplierName || ''), code: normalizeText(record.code || ''), name: normalizeText(record.name || ''), memo: normalizeText(record.memo || ''), flagMinusText: normalizeText(record.flagMinus$ ?? record.flagMinus) || '-', flagMinusTextKey: flagMinusValue === null ? '' : flagMinusValue ? 'common.status.yes' : 'common.status.no', flagLabelMangeText: normalizeText(record.flagLabelMange$ ?? record.flagLabelMange) || '-', flagLabelMangeTextKey: flagLabelManageValue === null ? '' : flagLabelManageValue ? 'common.status.yes' : 'common.status.no', flagMixText: normalizeText(record.flagMix$ ?? record.flagMix) || '-', flagMixTextKey: flagMixValue === null ? '' : flagMixValue ? 'common.status.yes' : 'common.status.no', statusText: statusMeta.fallback, statusTextKey: statusMeta.textKey, statusType: statusMeta.type, statusBool: record.statusBool !== void 0 ? Boolean(record.statusBool) : statusMeta.bool, createByText: normalizeText(record.createBy$ || record.createByText || ''), createTimeText: normalizeText(record.createTime$ || record.createTime || ''), updateByText: normalizeText(record.updateBy$ || record.updateByText || ''), updateTimeText: normalizeText(record.updateTime$ || record.updateTime || '') } } export function normalizeWarehouseAreasListRow(record = {}) { return normalizeWarehouseAreasDetailRecord(record) } export function buildWarehouseAreasPrintRows(records = []) { if (!Array.isArray(records)) { return [] } return records.map((record) => normalizeWarehouseAreasListRow(record)) }