From 89847f0c5a5d37e5a720afd32cdd7e4d9ead664b Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期一, 13 四月 2026 08:15:47 +0800
Subject: [PATCH] #新的菜单接口
---
rsf-design/src/views/basic-info/bas-station/basStationTable.columns.js | 94 ++++++++++++++++++++++++++++++++---------------
1 files changed, 64 insertions(+), 30 deletions(-)
diff --git a/rsf-design/src/views/basic-info/bas-station/basStationTable.columns.js b/rsf-design/src/views/basic-info/bas-station/basStationTable.columns.js
index 1fabdbc..0697d6a 100644
--- a/rsf-design/src/views/basic-info/bas-station/basStationTable.columns.js
+++ b/rsf-design/src/views/basic-info/bas-station/basStationTable.columns.js
@@ -1,6 +1,8 @@
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 BasStationTagCell from './modules/bas-station-tag-cell.vue'
import {
getBasStationUseStatusMeta,
getBasStationStatusMeta,
@@ -9,41 +11,51 @@
export function createBasStationTableColumns({
handleView,
+ handleCopy,
handleEdit,
handleDelete,
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 (handleCopy) {
+ operations.push({ key: 'copy', label: '澶嶅埗鍒濆鍖�', icon: 'ri:file-copy-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' },
+ { type: 'globalIndex', label: $t('table.index'), width: 72, align: 'center' },
{
prop: 'stationName',
- label: '绔欑偣缂栫爜',
+ label: $t('pages.basicInfo.basStation.table.stationCode'),
minWidth: 160,
showOverflowTooltip: true,
formatter: (row) => row.stationName || '--'
},
{
prop: 'stationId',
- label: '绔欑偣鍚嶇О',
+ label: $t('pages.basicInfo.basStation.table.stationName'),
minWidth: 170,
showOverflowTooltip: true,
formatter: (row) => row.stationId || '--'
},
{
prop: 'typeText',
- label: '绔欑偣绫诲瀷',
+ label: $t('pages.basicInfo.basStation.table.type'),
width: 110,
align: 'center',
formatter: (row) => {
@@ -53,7 +65,7 @@
},
{
prop: 'useStatusText',
- label: '浣跨敤鐘舵��',
+ label: $t('pages.basicInfo.basStation.table.useStatus'),
width: 110,
align: 'center',
formatter: (row) => {
@@ -63,70 +75,76 @@
},
{
prop: 'areaText',
- label: '鎵�灞炲簱鍖�',
+ label: $t('pages.basicInfo.basStation.table.area'),
minWidth: 150,
showOverflowTooltip: true,
formatter: (row) => row.areaText || row.area$ || '--'
},
{
- prop: 'crossZoneAreaText',
- label: '鍙法鍖哄簱鍖�',
+ prop: 'crossZoneAreaItems',
+ label: $t('pages.basicInfo.basStation.table.crossZoneArea'),
minWidth: 220,
- showOverflowTooltip: true,
- formatter: (row) => row.crossZoneAreaText || '--'
+ formatter: (row) =>
+ h(BasStationTagCell, {
+ items: row.crossZoneAreaItems || [],
+ title: '鍙法鍖哄簱鍖�'
+ })
},
{
- prop: 'containerTypesText',
- label: '鍙叆瀹瑰櫒绫诲瀷',
+ prop: 'containerTypeItems',
+ label: $t('pages.basicInfo.basStation.table.containerTypes'),
minWidth: 200,
- showOverflowTooltip: true,
- formatter: (row) => row.containerTypesText || '--'
+ formatter: (row) =>
+ h(BasStationTagCell, {
+ items: row.containerTypeItems || [],
+ title: '鍙叆瀹瑰櫒绫诲瀷'
+ })
},
{
prop: 'barcode',
- label: '鏉$爜',
+ label: $t('pages.basicInfo.basStation.table.barcode'),
minWidth: 150,
showOverflowTooltip: true,
formatter: (row) => row.barcode || '--'
},
{
prop: 'inAbleText',
- label: '鍙叆',
+ label: $t('pages.basicInfo.basStation.table.inAble'),
width: 90,
align: 'center',
formatter: (row) => row.inAbleText || '--'
},
{
prop: 'outAbleText',
- label: '鍙嚭',
+ label: $t('pages.basicInfo.basStation.table.outAble'),
width: 90,
align: 'center',
formatter: (row) => row.outAbleText || '--'
},
{
prop: 'isCrossZoneText',
- label: '鏄惁璺ㄥ尯',
+ label: $t('pages.basicInfo.basStation.table.isCrossZone'),
width: 100,
align: 'center',
formatter: (row) => row.isCrossZoneText || '--'
},
{
prop: 'isWcsText',
- label: '鏄惁WCS',
+ label: $t('pages.basicInfo.basStation.table.isWcs'),
width: 100,
align: 'center',
formatter: (row) => row.isWcsText || '--'
},
{
prop: 'autoTransferText',
- label: '鑷姩璋冩嫧',
+ label: $t('pages.basicInfo.basStation.table.autoTransfer'),
width: 100,
align: 'center',
formatter: (row) => row.autoTransferText || '--'
},
{
prop: 'status',
- label: '鐘舵��',
+ label: $t('table.status'),
width: 100,
align: 'center',
formatter: (row) => {
@@ -136,35 +154,51 @@
},
{
prop: 'updateByText',
- label: '鏇存柊浜�',
+ label: $t('table.updateBy'),
minWidth: 120,
showOverflowTooltip: true,
formatter: (row) => row.updateByText || row.updateBy$ || '--'
},
{
prop: 'updateTimeText',
- label: '鏇存柊鏃堕棿',
+ label: $t('table.updateTime'),
minWidth: 170,
showOverflowTooltip: true,
formatter: (row) => row.updateTimeText || row.updateTime$ || '--'
},
{
+ prop: 'createByText',
+ label: $t('table.createBy'),
+ minWidth: 120,
+ showOverflowTooltip: true,
+ formatter: (row) => row.createByText || row.createBy$ || '--'
+ },
+ {
+ prop: 'createTimeText',
+ label: $t('table.createTime'),
+ minWidth: 170,
+ showOverflowTooltip: true,
+ formatter: (row) => row.createTimeText || row.createTime$ || '--'
+ },
+ {
prop: 'memo',
- label: '澶囨敞',
+ label: $t('table.remark'),
minWidth: 180,
showOverflowTooltip: true,
formatter: (row) => row.memo || '--'
},
{
prop: 'operation',
- label: '鎿嶄綔',
- width: 160,
- align: 'right',
+ label: $t('table.operation'),
+ width: 120,
+ align: 'center',
+ fixed: 'right',
formatter: (row) =>
h(ArtButtonMore, {
list: operations,
onClick: (item) => {
if (item.key === 'view') handleView?.(row)
+ if (item.key === 'copy') handleCopy?.(row)
if (item.key === 'edit') handleEdit?.(row)
if (item.key === 'delete') handleDelete?.(row)
}
--
Gitblit v1.9.1