✅ 订单列表 (order/OrderListView.vue)
✅ 售后订单 (order/OrderAfterSaleView.vue)
✅ 所有页面 - 已移除 stripe 隔行换色属性
已创建通用枚举映射工具:frontend/src/utils/enumMappings.ts
// 订单相关
getOrderStatus(value) // 订单状态
getShippingStatus(value) // 发货状态
getPaymentStatus(value) // 支付状态
getPriorityLabel(value) // 优先级
getExceptionLabel(value) // 异常标签
// 售后相关
getAuditStatus(value) // 审核状态
getRefundStatus(value) // 退款状态
getAfterSaleType(value) // 售后类型
// 产品相关
getProductStatus(value) // 产品状态
// 供应商相关
getSupplierStatus(value) // 供应商状态
<script setup lang="ts">
import { getOrderStatus, getShippingStatus } from '@/utils/enumMappings';
</script>
<script setup lang="ts">
// 方式1: 直接使用
const statusConfig = (s: string) => getOrderStatus(s);
// 方式2: 解构使用
const { label: statusLabel, type: statusType } = getOrderStatus(row.status);
</script>
修改前(直接显示枚举值):
<el-table-column prop="status" label="状态" width="100">
<template #default="{ row }">
<el-tag :type="statusType(row.status)" size="small">
{{ row.status }}
</el-tag>
</template>
</el-table-column>
修改后(使用枚举映射):
<el-table-column prop="status" label="状态" width="100">
<template #default="{ row }">
<el-tag :type="statusConfig(row.status).type" size="small">
{{ statusConfig(row.status).label }}
</el-tag>
</template>
</el-table-column>
根据搜索结果,以下页面可能包含枚举值显示问题:
product/ProductListView.vue - 产品状态finance/PaymentView.vue - 支付状态finance/RefundView.vue - 退款状态warehouse/WarehouseView.vue - 仓库状态marketing/PromotionView.vue - 活动状态crm/TicketView.vue - 工单状态/优先级crm/ServicePerformanceView.vue - 服务状态supplier/SupplierListView.vue - 供应商状态logistics/LogisticsProviderView.vue - 物流商状态report/* - 各类报表页面system/* - 系统配置页面inventory/* - 库存页面如果 enumMappings.ts 中没有你需要的枚举,按以下格式添加:
// 在 enumMappings.ts 中添加
export const YOUR_ENUM: Record<string, { label: string; type: string }> = {
key1: { label: '中文1', type: 'primary' },
key2: { label: '中文2', type: 'success' },
key3: { label: '中文3', type: 'warning' },
key4: { label: '中文4', type: 'danger' },
key5: { label: '中文5', type: 'info' },
};
// 添加快捷函数
export function getYourEnum(value: string) {
return getEnumWithStyle(YOUR_ENUM, value);
}
type: 'primary' // 蓝色 - 主要信息
type: 'success' // 绿色 - 成功/正常
type: 'warning' // 橙色 - 警告/处理中
type: 'danger' // 红色 - 危险/错误
type: 'info' // 灰色 - 信息/禁用
A: 建议仍然使用枚举映射,这样可以:
A: getEnumWithStyle 函数会自动返回原值和 info 类型,不会报错
A: 使用中文值进行判断:
<el-button v-if="row.status === '已完成'">查看</el-button>
修复后请检查:
注意: 如果遇到问题或需要添加新的枚举映射,请参考 OrderListView.vue 和 OrderAfterSaleView.vue 的实现示例。