From 0a1d91e42e6c5af96e1108e9ebcc37e99eb3b22c Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期四, 02 四月 2026 15:55:58 +0800
Subject: [PATCH] #路由修复

---
 rsf-design/src/views/basic-info/loc/locTable.columns.js |  170 ++++++++++++++++++--------------------------------------
 1 files changed, 54 insertions(+), 116 deletions(-)

diff --git a/rsf-design/src/views/basic-info/loc/locTable.columns.js b/rsf-design/src/views/basic-info/loc/locTable.columns.js
index aff5d2f..537eda2 100644
--- a/rsf-design/src/views/basic-info/loc/locTable.columns.js
+++ b/rsf-design/src/views/basic-info/loc/locTable.columns.js
@@ -1,7 +1,41 @@
 import { h } from 'vue'
 import { ElTag } from 'element-plus'
 import ArtButtonMore from '@/components/core/forms/art-button-more/index.vue'
+import { $t } from '@/locales'
 import { getLocStatusMeta, getLocUseStatusMeta } from './locPage.helpers'
+
+function createTextColumn(prop, label, minWidth, formatter) {
+  return {
+    prop,
+    label,
+    minWidth,
+    showOverflowTooltip: true,
+    formatter: formatter || ((row) => row[prop] || '--')
+  }
+}
+
+function createNumberColumn(prop, label, width) {
+  return {
+    prop,
+    label,
+    width,
+    align: 'center',
+    formatter: (row) => row[prop] ?? '--'
+  }
+}
+
+function createTagColumn(prop, label, width, resolveMeta) {
+  return {
+    prop,
+    label,
+    width,
+    align: 'center',
+    formatter: (row) => {
+      const statusMeta = resolveMeta(row)
+      return h(ElTag, { type: statusMeta.type, effect: 'light' }, () => statusMeta.text)
+    }
+  }
+}
 
 export function createLocTableColumns({
   handleView,
@@ -10,133 +44,37 @@
   canEdit = true,
   canDelete = true
 } = {}) {
-  const operations = [{ key: 'view', label: '璇︽儏', icon: 'ri:eye-line' }]
+  const operations = [{ key: 'view', label: $t('common.actions.detail'), icon: 'ri:eye-line' }]
 
   if (canEdit && handleEdit) {
-    operations.push({ key: 'edit', label: '缂栬緫', icon: 'ri:pencil-line' })
+    operations.push({ key: 'edit', label: $t('common.actions.edit'), icon: 'ri:pencil-line' })
   }
 
   if (canDelete && handleDelete) {
-    operations.push({ key: 'delete', label: '鍒犻櫎', icon: 'ri:delete-bin-5-line', color: 'var(--art-error)' })
+    operations.push({ key: 'delete', label: $t('common.actions.delete'), icon: 'ri:delete-bin-5-line', color: 'var(--art-error)' })
   }
 
   return [
     { type: 'selection', width: 48, align: 'center' },
-    { type: 'globalIndex', label: '搴忓彿', width: 72, align: 'center' },
-    {
-      prop: 'code',
-      label: '搴撲綅鍙�',
-      minWidth: 160,
-      showOverflowTooltip: true,
-      formatter: (row) => row.code || '--'
-    },
-    {
-      prop: 'warehouseName',
-      label: '浠撳簱',
-      minWidth: 150,
-      showOverflowTooltip: true,
-      formatter: (row) => row.warehouseName || row.warehouseId$ || '--'
-    },
-    {
-      prop: 'areaName',
-      label: '搴撳尯',
-      minWidth: 150,
-      showOverflowTooltip: true,
-      formatter: (row) => row.areaName || row.areaId$ || '--'
-    },
-    {
-      prop: 'typeIdsText',
-      label: '搴撲綅绫诲瀷',
-      minWidth: 180,
-      showOverflowTooltip: true,
-      formatter: (row) => row.typeIdsText || '--'
-    },
-    {
-      prop: 'row',
-      label: '鎺�',
-      width: 80,
-      align: 'center',
-      formatter: (row) => row.row ?? '--'
-    },
-    {
-      prop: 'col',
-      label: '鍒�',
-      width: 80,
-      align: 'center',
-      formatter: (row) => row.col ?? '--'
-    },
-    {
-      prop: 'lev',
-      label: '灞�',
-      width: 80,
-      align: 'center',
-      formatter: (row) => row.lev ?? '--'
-    },
-    {
-      prop: 'channel',
-      label: '宸烽亾',
-      width: 90,
-      align: 'center',
-      formatter: (row) => row.channel ?? '--'
-    },
-    {
-      prop: 'useStatus',
-      label: '浣跨敤鐘舵��',
-      width: 110,
-      align: 'center',
-      formatter: (row) => {
-        const statusMeta = getLocUseStatusMeta(row.useStatus)
-        return h(ElTag, { type: statusMeta.type, effect: 'light' }, () => statusMeta.text)
-      }
-    },
-    {
-      prop: 'flagLogicText',
-      label: '铏氭嫙搴撲綅',
-      width: 110,
-      align: 'center',
-      formatter: (row) => row.flagLogicText || '--'
-    },
-    {
-      prop: 'flagLabelMangeText',
-      label: '鏍囩绠$悊',
-      width: 110,
-      align: 'center',
-      formatter: (row) => row.flagLabelMangeText || '--'
-    },
-    {
-      prop: 'barcode',
-      label: '瀹瑰櫒缂栫爜',
-      minWidth: 150,
-      showOverflowTooltip: true,
-      formatter: (row) => row.barcode || '--'
-    },
-    {
-      prop: 'status',
-      label: '鐘舵��',
-      width: 100,
-      align: 'center',
-      formatter: (row) => {
-        const statusMeta = getLocStatusMeta(row.statusBool ?? row.status)
-        return h(ElTag, { type: statusMeta.type, effect: 'light' }, () => statusMeta.text)
-      }
-    },
-    {
-      prop: 'updateTimeText',
-      label: '鏇存柊鏃堕棿',
-      minWidth: 170,
-      showOverflowTooltip: true,
-      formatter: (row) => row.updateTimeText || row.updateTime$ || '--'
-    },
-    {
-      prop: 'memo',
-      label: '澶囨敞',
-      minWidth: 180,
-      showOverflowTooltip: true,
-      formatter: (row) => row.memo || '--'
-    },
+    { type: 'globalIndex', label: $t('table.index'), width: 72, align: 'center' },
+    createTextColumn('code', $t('pages.basicInfo.loc.table.code'), 160),
+    createTextColumn('warehouseName', $t('pages.basicInfo.loc.table.warehouseName'), 150, (row) => row.warehouseName || row.warehouseId$ || '--'),
+    createTextColumn('areaName', $t('pages.basicInfo.loc.table.areaName'), 150, (row) => row.areaName || row.areaId$ || '--'),
+    createTextColumn('typeIdsText', $t('pages.basicInfo.loc.table.typeIds'), 180),
+    createNumberColumn('row', $t('pages.basicInfo.loc.table.row'), 80),
+    createNumberColumn('col', $t('pages.basicInfo.loc.table.col'), 80),
+    createNumberColumn('lev', $t('pages.basicInfo.loc.table.lev'), 80),
+    createNumberColumn('channel', $t('pages.basicInfo.loc.table.channel'), 90),
+    createTagColumn('useStatus', $t('pages.basicInfo.loc.table.useStatus'), 110, (row) => getLocUseStatusMeta(row.useStatus)),
+    createTextColumn('flagLogicText', $t('pages.basicInfo.loc.table.flagLogic'), 110),
+    createTextColumn('flagLabelMangeText', $t('pages.basicInfo.loc.table.flagLabelManage'), 110),
+    createTextColumn('barcode', $t('pages.basicInfo.loc.table.barcode'), 150),
+    createTagColumn('status', $t('table.status'), 100, (row) => getLocStatusMeta(row.statusBool ?? row.status)),
+    createTextColumn('updateTimeText', $t('table.updateTime'), 170, (row) => row.updateTimeText || row.updateTime$ || '--'),
+    createTextColumn('memo', $t('table.remark'), 180),
     {
       prop: 'operation',
-      label: '鎿嶄綔',
+      label: $t('table.operation'),
       width: 120,
       align: 'center',
       fixed: 'right',

--
Gitblit v1.9.1