From 93c133349a5ccd7a328371fa113dce69d5611f21 Mon Sep 17 00:00:00 2001
From: liuyu <yu.liu@cqgbkj.com>
Date: 星期二, 22 九月 2026 09:25:39 +0800
Subject: [PATCH] feat(tms): 完成课程考试自测等页面与接口对接

---
 apps/jnpf-web-apps-main/src/views/x/tms/record/constants.ts |   53 +++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 43 insertions(+), 10 deletions(-)

diff --git a/apps/jnpf-web-apps-main/src/views/x/tms/record/constants.ts b/apps/jnpf-web-apps-main/src/views/x/tms/record/constants.ts
index 536fc03..d827fe2 100644
--- a/apps/jnpf-web-apps-main/src/views/x/tms/record/constants.ts
+++ b/apps/jnpf-web-apps-main/src/views/x/tms/record/constants.ts
@@ -1,11 +1,33 @@
 import type { ArchiveStatus, RecordListMode } from './types';
 
-export const ARCHIVE_STATUS_OPTIONS: { id: ArchiveStatus; fullName: string }[] = [
-  { id: 'pending', fullName: '寰呭綊妗�' },
-  { id: 'ready', fullName: '鍙綊妗�' },
-  { id: 'archived', fullName: '宸插綊妗�' },
-  { id: 'invalid', fullName: '鏃犳晥' },
-];
+import { ref } from 'vue';
+
+import { useBaseStore } from '#/store';
+import {
+  TMS_DIC,
+  labelOfDic,
+  loadTmsDic,
+  type TmsDicOpt,
+} from '#/views/x/tms/shared/dic';
+
+export const ARCHIVE_STATUS_OPTIONS = ref<TmsDicOpt[]>([]);
+export const TASK_CATEGORY_OPTIONS = ref<TmsDicOpt[]>([]);
+export const TRAIN_MODE_OPTIONS = ref<TmsDicOpt[]>([]);
+export const EVAL_MODE_OPTIONS = ref<TmsDicOpt[]>([]);
+
+export async function loadRecordDics() {
+  const baseStore = useBaseStore();
+  const [archive, category, trainMode, evalMode] = await Promise.all([
+    loadTmsDic(baseStore, TMS_DIC.archiveStatus),
+    loadTmsDic(baseStore, TMS_DIC.taskCategory),
+    loadTmsDic(baseStore, TMS_DIC.trainMode),
+    loadTmsDic(baseStore, TMS_DIC.evalMode),
+  ]);
+  ARCHIVE_STATUS_OPTIONS.value = archive;
+  TASK_CATEGORY_OPTIONS.value = category;
+  TRAIN_MODE_OPTIONS.value = trainMode;
+  EVAL_MODE_OPTIONS.value = evalMode;
+}
 
 export const LIST_MODE_LABEL: Record<RecordListMode, string> = {
   main: '鍩硅璁板綍',
@@ -13,18 +35,29 @@
   archived: '宸插綊妗e垪琛�',
 };
 
-/** 鍚勫垪琛ㄩ〉璺敱 */
 export const RECORD_LIST_PATH: Record<RecordListMode, string> = {
   main: '/tms/record',
   ready: '/tms/record/ready',
   archived: '/tms/record/archived',
 };
 
-export function labelOfArchiveStatus(status?: ArchiveStatus) {
-  return ARCHIVE_STATUS_OPTIONS.find((x) => x.id === status)?.fullName || status || '-';
+export function labelOfArchiveStatus(status?: ArchiveStatus | string) {
+  return labelOfDic(ARCHIVE_STATUS_OPTIONS.value, status);
 }
 
-export function colorOfArchiveStatus(status?: ArchiveStatus) {
+export function labelOfCategory(v?: string) {
+  return labelOfDic(TASK_CATEGORY_OPTIONS.value, v);
+}
+
+export function labelOfTrainMode(v?: string) {
+  return labelOfDic(TRAIN_MODE_OPTIONS.value, v);
+}
+
+export function labelOfEvalMode(v?: string) {
+  return labelOfDic(EVAL_MODE_OPTIONS.value, v);
+}
+
+export function colorOfArchiveStatus(status?: ArchiveStatus | string) {
   if (status === 'ready') return '#1677ff';
   if (status === 'archived') return '#52c41a';
   if (status === 'invalid') return '#ff4d4f';

--
Gitblit v1.8.0