From 8534025c45b4736975730678b9ccf23570a75f95 Mon Sep 17 00:00:00 2001
From: liuyu <yu.liu@cqgbkj.com>
Date: 星期二, 22 九月 2026 09:25:48 +0800
Subject: [PATCH] feat(tms): 新增试卷、培训任务、个人任务页面

---
 apps/jnpf-web-apps-main/src/views/x/tms/paper/constants.ts |   49 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 49 insertions(+), 0 deletions(-)

diff --git a/apps/jnpf-web-apps-main/src/views/x/tms/paper/constants.ts b/apps/jnpf-web-apps-main/src/views/x/tms/paper/constants.ts
new file mode 100644
index 0000000..29928ee
--- /dev/null
+++ b/apps/jnpf-web-apps-main/src/views/x/tms/paper/constants.ts
@@ -0,0 +1,49 @@
+import { ref } from 'vue';
+
+import { useBaseStore } from '#/store';
+import { TMS_DIC, labelOfDic, loadTmsDic, type TmsDicOpt } from '#/views/x/tms/shared/dic';
+
+type StatusOpt = TmsDicOpt & { tip?: string; tipColor?: string };
+
+function withStatusTip(list: TmsDicOpt[]): StatusOpt[] {
+  return list.map((x) => {
+    const code = x.enCode || x.id;
+    if (code === 'open') return { ...x, tip: '瀛﹀憳鍙綔绛�', tipColor: 'green' };
+    if (code === 'closed') return { ...x, tip: '瀛﹀憳涓嶅彲浣滅瓟', tipColor: 'red' };
+    return x;
+  });
+}
+
+export const STATUS_OPTIONS = ref<StatusOpt[]>([]);
+export const SORT_MODE_OPTIONS = ref<TmsDicOpt[]>([]);
+export const QUESTION_TYPE_OPTIONS = ref<TmsDicOpt[]>([]);
+
+export async function loadPaperDics() {
+  const baseStore = useBaseStore();
+  const [status, sortMode, questionType] = await Promise.all([
+    loadTmsDic(baseStore, TMS_DIC.openClosedInvalid),
+    loadTmsDic(baseStore, TMS_DIC.paperSortMode),
+    loadTmsDic(baseStore, TMS_DIC.questionType),
+  ]);
+  STATUS_OPTIONS.value = withStatusTip(status);
+  SORT_MODE_OPTIONS.value = sortMode;
+  QUESTION_TYPE_OPTIONS.value = questionType;
+}
+
+export function labelOfStatus(v?: string) {
+  return labelOfDic(STATUS_OPTIONS.value, v);
+}
+
+export function labelOfSortMode(v?: string) {
+  return labelOfDic(SORT_MODE_OPTIONS.value, v);
+}
+
+export function labelOfType(v?: string) {
+  return labelOfDic(QUESTION_TYPE_OPTIONS.value, v);
+}
+
+let tmpSeq = 0;
+export function nextTmpId(prefix = 'tmp') {
+  tmpSeq += 1;
+  return `${prefix}_${Date.now()}_${tmpSeq}`;
+}

--
Gitblit v1.8.0