diff --git a/web/src/views/imWorkOrder/model.ts b/web/src/views/imWorkOrder/model.ts index fbe7ae0..7e0c16d 100644 --- a/web/src/views/imWorkOrder/model.ts +++ b/web/src/views/imWorkOrder/model.ts @@ -14,6 +14,37 @@ export const workOrderTypeOptions = [ { label: '反馈', value: 'feedback' }, ]; +// 目标类型映射 +const targetTypeMap: Record = { + user: '用户', + group: '群聊', + message: '消息', +}; + +// 分类映射:举报按 reason_code,反馈按 category +const abuseCategoryMap: Record = { + spam: '垃圾广告', + harassment: '骚扰辱骂', + illegal: '违法违规', + fraud: '诈骗欺诈', + other: '其他', +}; +const feedbackCategoryMap: Record = { + bug: '功能异常', + suggestion: '功能建议', + complaint: '投诉', + other: '其他', +}; + +export function categoryLabelOf(type: string, category: string) { + const map = type === 'abuse' ? abuseCategoryMap : feedbackCategoryMap; + return map[category] || category || '-'; +} + +export function targetTypeLabel(targetType: string) { + return targetTypeMap[targetType] || (targetType || '-'); +} + export class State { public tenantId = 0; public tenantName = ''; @@ -118,9 +149,25 @@ export const columns = [ { title: 'ID', key: 'id', align: 'left', width: 80 }, { title: '工单ID', key: 'orderId', align: 'left', width: 180 }, { title: '提交人ID', key: 'userId', align: 'left', width: 120 }, - { title: '目标类型', key: 'targetType', align: 'left', width: 110 }, + { + title: '目标类型', + key: 'targetType', + align: 'left', + width: 110, + render(row: State) { + return targetTypeLabel(row.targetType); + }, + }, { title: '目标摘要', key: 'targetSummary', align: 'left', width: 220 }, - { title: '分类', key: 'category', align: 'left', width: 130 }, + { + title: '分类', + key: 'category', + align: 'left', + width: 130, + render(row: State) { + return categoryLabelOf(row.type, row.category); + }, + }, { title: '内容', key: 'content', align: 'left', width: 260 }, { title: '状态', diff --git a/web/src/views/imWorkOrder/view.vue b/web/src/views/imWorkOrder/view.vue index dd3fa25..a3edee6 100644 --- a/web/src/views/imWorkOrder/view.vue +++ b/web/src/views/imWorkOrder/view.vue @@ -17,9 +17,11 @@ {{ formValue.orderId }} {{ statusLabel }} {{ formValue.userId }} - {{ formValue.category || '-' }} + {{ + categoryLabelOf(formValue.type, formValue.category) + }} {{ - formValue.targetType || '-' + targetTypeLabel(formValue.targetType) }} {{ formValue.targetSummary || '-' @@ -67,7 +69,7 @@ import { computed, ref } from 'vue'; import { useDictStore } from '@/store/modules/dict'; import { View } from '@/api/imWorkOrder'; - import { newState, State } from './model'; + import { categoryLabelOf, newState, State, targetTypeLabel } from './model'; import { useProjectSettingStore } from '@/store/modules/projectSetting'; import { adaModalWidth } from '@/utils/hotgo';