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/api/loc.js |  122 +++++++++++++---------------------------
 1 files changed, 41 insertions(+), 81 deletions(-)

diff --git a/rsf-design/src/api/loc.js b/rsf-design/src/api/loc.js
index 4213715..cfa1034 100644
--- a/rsf-design/src/api/loc.js
+++ b/rsf-design/src/api/loc.js
@@ -4,6 +4,10 @@
   return typeof value === 'string' ? value.trim() : value
 }
 
+function hasValue(value) {
+  return value !== '' && value !== null && value !== undefined
+}
+
 function normalizeIds(ids) {
   if (Array.isArray(ids)) {
     return ids
@@ -18,11 +22,23 @@
 }
 
 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 normalizeTypeIds(typeIds = []) {
@@ -66,103 +82,47 @@
 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 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) }
-      : {}),
+    ...buildNumberField('id', formData.id),
+    ...buildNumberField('version', formData.version),
+    ...buildNumberField('warehouseId', formData.warehouseId),
+    ...buildNumberField('areaId', formData.areaId),
     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) }
-      : {}),
+    ...buildNumberField('length', formData.length),
+    ...buildNumberField('height', formData.height),
+    ...buildNumberField('width', formData.width),
+    ...buildNumberField('row', formData.row),
+    ...buildNumberField('col', formData.col),
+    ...buildNumberField('lev', formData.lev),
+    ...buildNumberField('channel', formData.channel),
+    ...buildNumberField('maxParts', formData.maxParts),
+    ...buildNumberField('maxPack', formData.maxPack),
     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) || ''
   }
 }

--
Gitblit v1.9.1