From a49845f424ae5b1e43e391837a55c43ce07ea62d Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期三, 01 四月 2026 15:02:47 +0800
Subject: [PATCH] #前端
---
rsf-design/src/views/basic-info/loc/locPage.helpers.js | 225 ++++++++++++++++----------------------------------------
1 files changed, 64 insertions(+), 161 deletions(-)
diff --git a/rsf-design/src/views/basic-info/loc/locPage.helpers.js b/rsf-design/src/views/basic-info/loc/locPage.helpers.js
index 333ddf8..c85fc74 100644
--- a/rsf-design/src/views/basic-info/loc/locPage.helpers.js
+++ b/rsf-design/src/views/basic-info/loc/locPage.helpers.js
@@ -12,6 +12,12 @@
F: { text: '鍦ㄥ簱', type: 'primary' }
}
+const LOC_ID_FIELDS = ['id', 'version', 'warehouseId', 'areaId']
+const LOC_SIZE_FIELDS = ['length', 'height', 'width']
+const LOC_POSITION_FIELDS = ['row', 'col', 'lev', 'channel']
+const LOC_CAPACITY_FIELDS = ['maxParts', 'maxPack']
+const LOC_OPTIONAL_NUMBER_FIELDS = [...LOC_ID_FIELDS, ...LOC_SIZE_FIELDS, ...LOC_POSITION_FIELDS, ...LOC_CAPACITY_FIELDS]
+
export const LOC_REPORT_TITLE = '搴撲綅鎶ヨ〃'
export const LOC_REPORT_STYLE = {
titleAlign: 'center',
@@ -25,12 +31,32 @@
return String(value ?? '').trim()
}
+function hasValue(value) {
+ return value !== '' && value !== null && value !== undefined
+}
+
function normalizeNumber(value, fallback = void 0) {
- if (value === '' || value === null || value === undefined) {
+ if (!hasValue(value)) {
return fallback
}
const parsed = Number(value)
return Number.isNaN(parsed) ? fallback : parsed
+}
+
+function toOptionalNumber(value) {
+ return hasValue(value) ? Number(value) : void 0
+}
+
+function toNumberOr(value, fallback) {
+ return hasValue(value) ? Number(value) : fallback
+}
+
+function buildNumberField(key, value) {
+ return hasValue(value) ? { [key]: Number(value) } : {}
+}
+
+function buildOptionalNumberFields(source = {}, fields = []) {
+ return Object.fromEntries(fields.map((field) => [field, toOptionalNumber(source[field])]).filter(([, value]) => hasValue(value)))
}
function normalizeFlagText(value) {
@@ -45,19 +71,27 @@
function normalizeTypeIds(typeIds = []) {
if (Array.isArray(typeIds)) {
- return typeIds
- .map((item) => normalizeNumber(item, void 0))
- .filter((item) => item !== void 0 && item !== null)
+ return typeIds.map((item) => normalizeNumber(item, void 0)).filter(hasValue)
}
if (typeof typeIds === 'string' && typeIds.trim()) {
- return typeIds
- .split(',')
- .map((item) => normalizeNumber(item, void 0))
- .filter((item) => item !== void 0 && item !== null)
+ return typeIds.split(',').map((item) => normalizeNumber(item, void 0)).filter(hasValue)
}
return []
+}
+
+export function filterLocAreaOptionsByWarehouse(options = [], warehouseId) {
+ if (!warehouseId) {
+ return options
+ }
+
+ return options.filter((item) => {
+ if (!hasValue(item?.warehouseId)) {
+ return true
+ }
+ return Number(item.warehouseId) === Number(warehouseId)
+ })
}
export function createLocSearchState() {
@@ -158,43 +192,20 @@
export function buildLocSearchParams(params = {}) {
const searchParams = {
condition: normalizeText(params.condition),
- warehouseId:
- params.warehouseId !== undefined && params.warehouseId !== null && params.warehouseId !== ''
- ? Number(params.warehouseId)
- : void 0,
- areaId:
- params.areaId !== undefined && params.areaId !== null && params.areaId !== ''
- ? Number(params.areaId)
- : void 0,
+ warehouseId: toOptionalNumber(params.warehouseId),
+ areaId: toOptionalNumber(params.areaId),
code: normalizeText(params.code),
useStatus: normalizeText(params.useStatus),
- row:
- params.row !== undefined && params.row !== null && params.row !== ''
- ? Number(params.row)
- : void 0,
- col:
- params.col !== undefined && params.col !== null && params.col !== ''
- ? Number(params.col)
- : void 0,
- lev:
- params.lev !== undefined && params.lev !== null && params.lev !== ''
- ? Number(params.lev)
- : void 0,
- channel:
- params.channel !== undefined && params.channel !== null && params.channel !== ''
- ? Number(params.channel)
- : void 0,
- status:
- params.status !== undefined && params.status !== null && params.status !== ''
- ? Number(params.status)
- : void 0,
+ row: toOptionalNumber(params.row),
+ col: toOptionalNumber(params.col),
+ lev: toOptionalNumber(params.lev),
+ channel: toOptionalNumber(params.channel),
+ status: toOptionalNumber(params.status),
barcode: normalizeText(params.barcode),
memo: normalizeText(params.memo)
}
- return Object.fromEntries(
- Object.entries(searchParams).filter(([, value]) => value !== '' && value !== void 0 && value !== null)
- )
+ return Object.fromEntries(Object.entries(searchParams).filter(([, value]) => hasValue(value)))
}
export function buildLocPageQueryParams(params = {}) {
@@ -207,62 +218,18 @@
export function buildLocSavePayload(formData = {}) {
return {
- ...(formData.id !== undefined && formData.id !== null && formData.id !== ''
- ? { id: Number(formData.id) }
- : {}),
- ...(formData.version !== undefined && formData.version !== null && formData.version !== ''
- ? { version: Number(formData.version) }
- : {}),
- ...(formData.warehouseId !== undefined && formData.warehouseId !== null && formData.warehouseId !== ''
- ? { warehouseId: Number(formData.warehouseId) }
- : {}),
- ...(formData.areaId !== undefined && formData.areaId !== null && formData.areaId !== ''
- ? { areaId: Number(formData.areaId) }
- : {}),
+ ...buildOptionalNumberFields(formData, LOC_ID_FIELDS),
code: normalizeText(formData.code) || '',
typeIds: normalizeTypeIds(formData.typeIds),
- ...(formData.flagLogic !== undefined && formData.flagLogic !== null && formData.flagLogic !== ''
- ? { flagLogic: Number(formData.flagLogic) }
- : {}),
+ ...buildNumberField('flagLogic', formData.flagLogic),
fucAtrrs: normalizeText(formData.fucAtrrs) || '',
barcode: normalizeText(formData.barcode) || '',
unit: normalizeText(formData.unit) || '',
- ...(formData.length !== undefined && formData.length !== null && formData.length !== ''
- ? { length: Number(formData.length) }
- : {}),
- ...(formData.height !== undefined && formData.height !== null && formData.height !== ''
- ? { height: Number(formData.height) }
- : {}),
- ...(formData.width !== undefined && formData.width !== null && formData.width !== ''
- ? { width: Number(formData.width) }
- : {}),
- ...(formData.row !== undefined && formData.row !== null && formData.row !== ''
- ? { row: Number(formData.row) }
- : {}),
- ...(formData.col !== undefined && formData.col !== null && formData.col !== ''
- ? { col: Number(formData.col) }
- : {}),
- ...(formData.lev !== undefined && formData.lev !== null && formData.lev !== ''
- ? { lev: Number(formData.lev) }
- : {}),
- ...(formData.channel !== undefined && formData.channel !== null && formData.channel !== ''
- ? { channel: Number(formData.channel) }
- : {}),
- ...(formData.maxParts !== undefined && formData.maxParts !== null && formData.maxParts !== ''
- ? { maxParts: Number(formData.maxParts) }
- : {}),
- ...(formData.maxPack !== undefined && formData.maxPack !== null && formData.maxPack !== ''
- ? { maxPack: Number(formData.maxPack) }
- : {}),
+ ...buildOptionalNumberFields(formData, [...LOC_SIZE_FIELDS, ...LOC_POSITION_FIELDS, ...LOC_CAPACITY_FIELDS]),
useStatus: normalizeText(formData.useStatus) || 'O',
- ...(formData.flagLabelMange !== undefined && formData.flagLabelMange !== null && formData.flagLabelMange !== ''
- ? { flagLabelMange: Number(formData.flagLabelMange) }
- : {}),
+ ...buildNumberField('flagLabelMange', formData.flagLabelMange),
locAttrs: normalizeText(formData.locAttrs) || '',
- status:
- formData.status !== undefined && formData.status !== null && formData.status !== ''
- ? Number(formData.status)
- : 1,
+ status: toNumberOr(formData.status, 1),
memo: normalizeText(formData.memo) || ''
}
}
@@ -270,70 +237,17 @@
export function buildLocDialogModel(record = {}) {
return {
...createLocFormState(),
- ...(record.id !== undefined && record.id !== null && record.id !== '' ? { id: Number(record.id) } : {}),
- ...(record.version !== undefined && record.version !== null && record.version !== ''
- ? { version: Number(record.version) }
- : {}),
- warehouseId:
- record.warehouseId !== undefined && record.warehouseId !== null && record.warehouseId !== ''
- ? Number(record.warehouseId)
- : void 0,
- areaId:
- record.areaId !== undefined && record.areaId !== null && record.areaId !== ''
- ? Number(record.areaId)
- : void 0,
+ ...buildOptionalNumberFields(record, LOC_OPTIONAL_NUMBER_FIELDS),
code: normalizeText(record.code || ''),
typeIds: normalizeTypeIds(record.typeIds ?? record.type ?? ''),
- flagLogic:
- record.flagLogic !== undefined && record.flagLogic !== null && record.flagLogic !== ''
- ? Number(record.flagLogic)
- : 0,
+ flagLogic: toNumberOr(record.flagLogic, 0),
fucAtrrs: normalizeText(record.fucAtrrs || ''),
barcode: normalizeText(record.barcode || ''),
unit: normalizeText(record.unit || ''),
- length:
- record.length !== undefined && record.length !== null && record.length !== ''
- ? Number(record.length)
- : void 0,
- height:
- record.height !== undefined && record.height !== null && record.height !== ''
- ? Number(record.height)
- : void 0,
- width:
- record.width !== undefined && record.width !== null && record.width !== ''
- ? Number(record.width)
- : void 0,
- row:
- record.row !== undefined && record.row !== null && record.row !== ''
- ? Number(record.row)
- : void 0,
- col:
- record.col !== undefined && record.col !== null && record.col !== ''
- ? Number(record.col)
- : void 0,
- lev:
- record.lev !== undefined && record.lev !== null && record.lev !== ''
- ? Number(record.lev)
- : void 0,
- channel:
- record.channel !== undefined && record.channel !== null && record.channel !== ''
- ? Number(record.channel)
- : void 0,
- maxParts:
- record.maxParts !== undefined && record.maxParts !== null && record.maxParts !== ''
- ? Number(record.maxParts)
- : void 0,
- maxPack:
- record.maxPack !== undefined && record.maxPack !== null && record.maxPack !== ''
- ? Number(record.maxPack)
- : void 0,
useStatus: normalizeText(record.useStatus || 'O') || 'O',
- flagLabelMange:
- record.flagLabelMange !== undefined && record.flagLabelMange !== null && record.flagLabelMange !== ''
- ? Number(record.flagLabelMange)
- : 0,
+ flagLabelMange: toNumberOr(record.flagLabelMange, 0),
locAttrs: normalizeText(record.locAttrs || ''),
- status: record.status !== undefined && record.status !== null ? Number(record.status) : 1,
+ status: toNumberOr(record.status, 1),
memo: normalizeText(record.memo || '')
}
}
@@ -344,6 +258,7 @@
const typeIds = normalizeTypeIds(record.typeIds ?? record.type ?? '')
return {
...record,
+ ...buildOptionalNumberFields(record, [...LOC_SIZE_FIELDS, ...LOC_POSITION_FIELDS, ...LOC_CAPACITY_FIELDS]),
warehouseName: normalizeText(record.warehouseId$ || record.warehouseName || ''),
areaName: normalizeText(record.areaId$ || record.areaName || ''),
typeIds,
@@ -361,15 +276,6 @@
statusText: statusMeta.text,
statusType: statusMeta.type,
statusBool: record.statusBool !== void 0 ? Boolean(record.statusBool) : statusMeta.bool,
- row: record.row !== undefined && record.row !== null ? Number(record.row) : void 0,
- col: record.col !== undefined && record.col !== null ? Number(record.col) : void 0,
- lev: record.lev !== undefined && record.lev !== null ? Number(record.lev) : void 0,
- channel: record.channel !== undefined && record.channel !== null ? Number(record.channel) : void 0,
- length: record.length !== undefined && record.length !== null ? Number(record.length) : void 0,
- height: record.height !== undefined && record.height !== null ? Number(record.height) : void 0,
- width: record.width !== undefined && record.width !== null ? Number(record.width) : void 0,
- maxParts: record.maxParts !== undefined && record.maxParts !== null ? Number(record.maxParts) : void 0,
- maxPack: record.maxPack !== undefined && record.maxPack !== null ? Number(record.maxPack) : void 0,
createByText: normalizeText(record.createBy$ || record.createByText || ''),
createTimeText: normalizeText(record.createTime$ || record.createTime || ''),
updateByText: normalizeText(record.updateBy$ || record.updateByText || ''),
@@ -417,7 +323,7 @@
return null
}
const value = item.id ?? item.value
- if (value === void 0 || value === null || value === '') {
+ if (!hasValue(value)) {
return null
}
return {
@@ -439,16 +345,13 @@
return null
}
const value = item.id ?? item.value
- if (value === void 0 || value === null || value === '') {
+ if (!hasValue(value)) {
return null
}
return {
value: Number(value),
label: normalizeText(item.name || item.code || `搴撳尯 ${value}`),
- warehouseId:
- item.warehouseId !== undefined && item.warehouseId !== null && item.warehouseId !== ''
- ? Number(item.warehouseId)
- : void 0
+ warehouseId: toOptionalNumber(item.warehouseId)
}
})
.filter(Boolean)
@@ -465,7 +368,7 @@
return null
}
const value = item.id ?? item.value
- if (value === void 0 || value === null || value === '') {
+ if (!hasValue(value)) {
return null
}
return {
--
Gitblit v1.9.1