From 029559f7cedded183bd1fbd09a5ebb576a9fa21d Mon Sep 17 00:00:00 2001
From: zhou zhou <zozhouo3o@gmail.com>
Date: 星期五, 17 四月 2026 12:34:23 +0800
Subject: [PATCH] #条码自定义

---
 rsf-design/src/views/basic-info/bas-station-area/basStationAreaPage.helpers.js |  222 ++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 146 insertions(+), 76 deletions(-)

diff --git a/rsf-design/src/views/basic-info/bas-station-area/basStationAreaPage.helpers.js b/rsf-design/src/views/basic-info/bas-station-area/basStationAreaPage.helpers.js
index 658dddb..c94a34a 100644
--- a/rsf-design/src/views/basic-info/bas-station-area/basStationAreaPage.helpers.js
+++ b/rsf-design/src/views/basic-info/bas-station-area/basStationAreaPage.helpers.js
@@ -1,30 +1,21 @@
-const STATUS_META = {
-  1: { text: '姝e父', type: 'success', bool: true },
-  0: { text: '鍐荤粨', type: 'danger', bool: false }
-}
+import { $t } from '@/locales'
 
-const TYPE_OPTIONS = [
-  { label: '鏅鸿兘绔欑偣', value: 0 },
-  { label: '鏅�氱珯鐐�', value: 1 }
-]
-
-const BINARY_OPTIONS = [
-  { label: '鍚�', value: 0 },
-  { label: '鏄�', value: 1 }
-]
-
-const STATUS_OPTIONS = [
-  { label: '姝e父', value: 1 },
-  { label: '鍐荤粨', value: 0 }
-]
-
-export const BAS_STATION_AREA_REPORT_TITLE = '绔欑偣鍖哄煙鎶ヨ〃'
 export const BAS_STATION_AREA_REPORT_STYLE = {
   titleAlign: 'center',
   titleLevel: 'strong',
   orientation: 'portrait',
   density: 'compact',
   showSequence: true
+}
+
+function getStatusMeta(status, t = $t) {
+  if (status === true || Number(status) === 1) {
+    return { text: t('common.status.normal'), type: 'success', bool: true }
+  }
+  if (status === false || Number(status) === 0) {
+    return { text: t('common.status.frozen'), type: 'danger', bool: false }
+  }
+  return { text: t('common.status.unknown'), type: 'info', bool: false }
 }
 
 function normalizeText(value) {
@@ -39,14 +30,14 @@
   return Number.isNaN(parsed) ? fallback : parsed
 }
 
-function normalizeBooleanText(value) {
-  if (value === 1 || value === '1' || value === true || value === '鏄�') {
-    return '鏄�'
+function normalizeBooleanText(value, t = $t) {
+  if (value === 1 || value === '1' || value === true || value === t('common.status.yes')) {
+    return t('common.status.yes')
   }
-  if (value === 0 || value === '0' || value === false || value === '鍚�') {
-    return '鍚�'
+  if (value === 0 || value === '0' || value === false || value === t('common.status.no')) {
+    return t('common.status.no')
   }
-  return normalizeText(value) || '--'
+  return normalizeText(value) || t('common.placeholder.empty')
 }
 
 function normalizeIdArray(values = []) {
@@ -91,22 +82,14 @@
     })
     .filter(Boolean)
 
-  return labels.length ? labels.join('銆�') : '--'
-}
-
-function getStatusMeta(status) {
-  if (status === true || Number(status) === 1) {
-    return STATUS_META[1]
-  }
-  if (status === false || Number(status) === 0) {
-    return STATUS_META[0]
-  }
-  return { text: '鏈煡', type: 'info', bool: false }
+  return labels.length ? labels.join($t('common.listSeparator')) : $t('common.placeholder.empty')
 }
 
 export function createBasStationAreaSearchState() {
   return {
     condition: '',
+    timeStart: '',
+    timeEnd: '',
     stationAreaName: '',
     stationAreaId: '',
     type: '',
@@ -157,16 +140,29 @@
   }
 }
 
-export function getBasStationAreaTypeOptions() {
-  return TYPE_OPTIONS
+export function getBasStationAreaReportTitle(t = $t) {
+  return t('pages.basicInfo.basStationArea.reportTitle')
 }
 
-export function getBasStationAreaBinaryOptions() {
-  return BINARY_OPTIONS
+export function getBasStationAreaTypeOptions(t = $t) {
+  return [
+    { label: t('pages.basicInfo.basStationArea.type.smart'), value: 0 },
+    { label: t('pages.basicInfo.basStationArea.type.normal'), value: 1 }
+  ]
 }
 
-export function getBasStationAreaStatusOptions() {
-  return STATUS_OPTIONS
+export function getBasStationAreaBinaryOptions(t = $t) {
+  return [
+    { label: t('common.status.no'), value: 0 },
+    { label: t('common.status.yes'), value: 1 }
+  ]
+}
+
+export function getBasStationAreaStatusOptions(t = $t) {
+  return [
+    { label: t('common.status.normal'), value: 1 },
+    { label: t('common.status.frozen'), value: 0 }
+  ]
 }
 
 export function resolveBasStationAreaWarehouseAreaOptions(records = []) {
@@ -185,7 +181,13 @@
       }
       return {
         value: Number(value),
-        label: normalizeText(item.name || item.areaName || item.code || item.areaCode || `搴撳尯 ${value}`)
+        label: normalizeText(
+          item.name ||
+            item.areaName ||
+            item.code ||
+            item.areaCode ||
+            `${$t('menu.warehouseAreas')} ${value}`
+        )
       }
     })
     .filter(Boolean)
@@ -207,7 +209,9 @@
       }
       return {
         value: Number(value),
-        label: normalizeText(item.stationName || item.stationId || item.name || `绔欑偣 ${value}`)
+        label: normalizeText(
+          item.stationName || item.stationId || item.name || `${$t('menu.basStation')} ${value}`
+        )
       }
     })
     .filter(Boolean)
@@ -260,6 +264,8 @@
 export function buildBasStationAreaSearchParams(params = {}) {
   const searchParams = {
     condition: normalizeText(params.condition),
+    timeStart: normalizeText(params.timeStart),
+    timeEnd: normalizeText(params.timeEnd),
     stationAreaName: normalizeText(params.stationAreaName),
     stationAreaId: normalizeText(params.stationAreaId),
     type:
@@ -292,7 +298,9 @@
     containerType: normalizeText(params.containerType),
     barcode: normalizeText(params.barcode),
     autoTransfer:
-      params.autoTransfer !== undefined && params.autoTransfer !== null && params.autoTransfer !== ''
+      params.autoTransfer !== undefined &&
+      params.autoTransfer !== null &&
+      params.autoTransfer !== ''
         ? Number(params.autoTransfer)
         : void 0,
     stationAlias: normalizeText(params.stationAlias),
@@ -304,7 +312,9 @@
   }
 
   return Object.fromEntries(
-    Object.entries(searchParams).filter(([, value]) => value !== '' && value !== void 0 && value !== null)
+    Object.entries(searchParams).filter(
+      ([, value]) => value !== '' && value !== void 0 && value !== null
+    )
   )
 }
 
@@ -312,6 +322,7 @@
   return {
     current: params.current || 1,
     pageSize: params.pageSize || params.size || 20,
+    orderBy: normalizeText(params.orderBy) || 'create_time desc',
     ...buildBasStationAreaSearchParams(params)
   }
 }
@@ -358,7 +369,9 @@
     ...(formData.area !== void 0 && formData.area !== null && formData.area !== ''
       ? { area: Number(formData.area) }
       : {}),
-    ...(formData.isCrossZone !== void 0 && formData.isCrossZone !== null && formData.isCrossZone !== ''
+    ...(formData.isCrossZone !== void 0 &&
+    formData.isCrossZone !== null &&
+    formData.isCrossZone !== ''
       ? { isCrossZone: Number(formData.isCrossZone) }
       : {}),
     ...(Array.isArray(formData.crossZoneArea) && formData.crossZoneArea.length
@@ -372,7 +385,9 @@
       ? { containerType: normalizeIdArray(formData.containerType) }
       : {}),
     barcode: normalizeText(formData.barcode) || '',
-    ...(formData.autoTransfer !== void 0 && formData.autoTransfer !== null && formData.autoTransfer !== ''
+    ...(formData.autoTransfer !== void 0 &&
+    formData.autoTransfer !== null &&
+    formData.autoTransfer !== ''
       ? { autoTransfer: Number(formData.autoTransfer) }
       : {}),
     ...(Array.isArray(formData.stationAlias) && formData.stationAlias.length
@@ -386,10 +401,12 @@
   }
 }
 
-export function buildBasStationAreaDialogModel(record = {}, resolvers = {}) {
+export function buildBasStationAreaDialogModel(record = {}) {
   return {
     ...createBasStationAreaFormState(),
-    ...(record.id !== void 0 && record.id !== null && record.id !== '' ? { id: Number(record.id) } : {}),
+    ...(record.id !== void 0 && record.id !== null && record.id !== ''
+      ? { id: Number(record.id) }
+      : {}),
     stationAreaName: normalizeText(record.stationAreaName || ''),
     stationAreaId: normalizeText(record.stationAreaId || ''),
     type: normalizeIdValue(record.type),
@@ -397,13 +414,17 @@
     outAble: record.outAble !== void 0 && record.outAble !== null ? Number(record.outAble) : 0,
     useStatus: normalizeText(record.useStatus || ''),
     area: normalizeIdValue(record.area),
-    isCrossZone: record.isCrossZone !== void 0 && record.isCrossZone !== null ? Number(record.isCrossZone) : 0,
+    isCrossZone:
+      record.isCrossZone !== void 0 && record.isCrossZone !== null ? Number(record.isCrossZone) : 0,
     crossZoneArea: normalizeIdArray(record.crossZoneArea),
     isWcs: record.isWcs !== void 0 && record.isWcs !== null ? Number(record.isWcs) : 0,
     wcsData: normalizeText(record.wcsData || ''),
     containerType: normalizeIdArray(record.containerType ?? record.containerTypes),
     barcode: normalizeText(record.barcode || ''),
-    autoTransfer: record.autoTransfer !== void 0 && record.autoTransfer !== null ? Number(record.autoTransfer) : 0,
+    autoTransfer:
+      record.autoTransfer !== void 0 && record.autoTransfer !== null
+        ? Number(record.autoTransfer)
+        : 0,
     stationAlias: normalizeIdArray(record.stationAlias),
     status: record.status !== void 0 && record.status !== null ? Number(record.status) : 1,
     memo: normalizeText(record.memo || '')
@@ -411,7 +432,8 @@
 }
 
 export function normalizeBasStationAreaDetailRecord(record = {}, resolvers = {}) {
-  const statusMeta = getStatusMeta(record.statusBool ?? record.status)
+  const t = resolvers.t || $t
+  const statusMeta = getStatusMeta(record.statusBool ?? record.status, t)
   const typeValue = record.type$ ?? record.type
   const areaId = record.area ?? record.areaId ?? record.area$
   const crossZoneAreaIds = normalizeIdArray(record.crossZoneArea)
@@ -422,53 +444,101 @@
   return {
     ...record,
     id: normalizeIdValue(record.id),
-    stationAreaName: normalizeText(record.stationAreaName) || '--',
-    stationAreaId: normalizeText(record.stationAreaId) || '--',
+    stationAreaName: normalizeText(record.stationAreaName) || t('common.placeholder.empty'),
+    stationAreaId: normalizeText(record.stationAreaId) || t('common.placeholder.empty'),
     type: normalizeIdValue(record.type),
-    typeText: normalizeText(
-      record.type$ || record.typeText || resolvers.resolveTypeLabel?.(typeValue) || typeValue
-    ) || '--',
+    typeText:
+      normalizeText(
+        record.type$ || record.typeText || resolvers.resolveTypeLabel?.(typeValue) || typeValue
+      ) || t('common.placeholder.empty'),
     inAble: normalizeIdValue(record.inAble),
-    inAbleText: normalizeBooleanText(record.inAble),
+    inAbleText: normalizeBooleanText(record.inAble, t),
     outAble: normalizeIdValue(record.outAble),
-    outAbleText: normalizeBooleanText(record.outAble),
+    outAbleText: normalizeBooleanText(record.outAble, t),
     useStatus: normalizeText(record.useStatus),
-    useStatusText: normalizeText(record.useStatus$ || record.useStatusText || resolvers.resolveUseStatusLabel?.(record.useStatus) || record.useStatus) || '--',
+    useStatusText:
+      normalizeText(
+        record.useStatus$ ||
+          record.useStatusText ||
+          resolvers.resolveUseStatusLabel?.(record.useStatus) ||
+          record.useStatus
+      ) || t('common.placeholder.empty'),
     area: normalizeIdValue(areaId),
-    areaText: normalizeText(record.area$ || record.areaText || resolvers.resolveAreaLabel?.(areaId) || '') || '--',
+    areaText:
+      normalizeText(
+        record.area$ || record.areaText || resolvers.resolveAreaLabel?.(areaId) || ''
+      ) || t('common.placeholder.empty'),
     isCrossZone: normalizeIdValue(record.isCrossZone),
-    isCrossZoneText: normalizeBooleanText(record.isCrossZone),
+    isCrossZoneText: normalizeBooleanText(record.isCrossZone, t),
     crossZoneArea: crossZoneAreaIds,
     crossZoneAreaText:
-      resolveOptionText(crossZoneAreaIds, resolvers.resolveCrossZoneAreaLabel, record.crossZoneAreaText || []) || '--',
+      resolveOptionText(
+        crossZoneAreaIds,
+        resolvers.resolveCrossZoneAreaLabel,
+        record.crossZoneAreaText || []
+      ) || t('common.placeholder.empty'),
     isWcs: normalizeIdValue(record.isWcs),
-    isWcsText: normalizeBooleanText(record.isWcs),
-    wcsData: normalizeText(record.wcsData) || '--',
+    isWcsText: normalizeBooleanText(record.isWcs, t),
+    wcsData: normalizeText(record.wcsData) || t('common.placeholder.empty'),
     containerType: containerTypeIds,
     containerTypeText:
-      resolveOptionText(containerTypeIds, resolvers.resolveContainerTypeLabel, record.containerTypesText || []) || '--',
-    barcode: normalizeText(record.barcode) || '--',
+      resolveOptionText(
+        containerTypeIds,
+        resolvers.resolveContainerTypeLabel,
+        record.containerTypesText || []
+      ) || t('common.placeholder.empty'),
+    barcode: normalizeText(record.barcode) || t('common.placeholder.empty'),
     autoTransfer: normalizeIdValue(record.autoTransfer),
-    autoTransferText: normalizeBooleanText(record.autoTransfer),
+    autoTransferText: normalizeBooleanText(record.autoTransfer, t),
     stationAlias: stationAliasIds,
     stationAliasText:
       resolveOptionText(
         stationAliasIds,
         resolvers.resolveStationAliasLabel,
         stationAliasNames.length ? stationAliasNames : record.stationAliasText || []
-      ) || '--',
+      ) || t('common.placeholder.empty'),
     status: normalizeIdValue(record.status),
     statusText: statusMeta.text,
     statusType: statusMeta.type,
     statusBool: record.statusBool !== void 0 ? Boolean(record.statusBool) : statusMeta.bool,
-    memo: normalizeText(record.memo) || '--',
-    createByText: normalizeText(record.createBy$ || record.createByText || ''),
-    createTimeText: normalizeText(record.createTime$ || record.createTime || ''),
-    updateByText: normalizeText(record.updateBy$ || record.updateByText || ''),
-    updateTimeText: normalizeText(record.updateTime$ || record.updateTime || '')
+    memo: normalizeText(record.memo) || t('common.placeholder.empty'),
+    createByText:
+      normalizeText(record.createBy$ || record.createByText || '') || t('common.placeholder.empty'),
+    createTimeText:
+      normalizeText(record.createTime$ || record.createTime || '') || t('common.placeholder.empty'),
+    updateByText:
+      normalizeText(record.updateBy$ || record.updateByText || '') || t('common.placeholder.empty'),
+    updateTimeText:
+      normalizeText(record.updateTime$ || record.updateTime || '') || t('common.placeholder.empty')
   }
 }
 
 export function normalizeBasStationAreaListRow(record = {}, resolvers = {}) {
   return normalizeBasStationAreaDetailRecord(record, resolvers)
 }
+
+export function buildBasStationAreaPrintRows(records = [], resolvers = {}) {
+  if (!Array.isArray(records)) {
+    return []
+  }
+  return records.map((record) => normalizeBasStationAreaListRow(record, resolvers))
+}
+
+export function buildBasStationAreaReportMeta({
+  previewMeta = {},
+  count = 0,
+  orientation = BAS_STATION_AREA_REPORT_STYLE.orientation,
+  t = $t
+} = {}) {
+  return {
+    reportTitle: getBasStationAreaReportTitle(t),
+    reportDate: previewMeta.reportDate,
+    printedAt: previewMeta.printedAt,
+    operator: previewMeta.operator,
+    count,
+    reportStyle: {
+      ...BAS_STATION_AREA_REPORT_STYLE,
+      orientation
+    }
+  }
+}

--
Gitblit v1.9.1