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/evalMode/Form.vue |   51 +++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 45 insertions(+), 6 deletions(-)

diff --git a/apps/jnpf-web-apps-main/src/views/x/tms/evalMode/Form.vue b/apps/jnpf-web-apps-main/src/views/x/tms/evalMode/Form.vue
index 4250257..b125528 100644
--- a/apps/jnpf-web-apps-main/src/views/x/tms/evalMode/Form.vue
+++ b/apps/jnpf-web-apps-main/src/views/x/tms/evalMode/Form.vue
@@ -6,13 +6,18 @@
 import { BasicModal, useModalInner } from '@jnpf/ui/modal';
 
 import { createEvalMode, getEvalModeInfo, updateEvalMode } from '#/api/x/tms/evalMode';
-
-import { ENABLE_OPTIONS, YES_NO_OPTIONS } from './constants';
+import { useBaseStore } from '#/store';
+import {
+  TMS_DIC,
+  TMS_DIC_FIELD_NAMES,
+  loadTmsDic,
+} from '#/views/x/tms/shared/dic';
 
 defineOptions({ name: 'TmsEvalModeForm' });
 
 const emit = defineEmits(['register', 'reload']);
 const { createMessage } = useMessage();
+const baseStore = useBaseStore();
 
 const state = reactive({ id: '' });
 const { id } = toRefs(state);
@@ -40,7 +45,11 @@
       label: '闇�瑕佽瘯鍗�',
       component: 'Select',
       defaultValue: '0',
-      componentProps: { placeholder: '璇烽�夋嫨', options: YES_NO_OPTIONS },
+      componentProps: {
+        placeholder: '璇烽�夋嫨',
+        options: [],
+        fieldNames: TMS_DIC_FIELD_NAMES,
+      },
       rules: [{ required: true, message: '蹇呭~', trigger: 'change' }],
     },
     {
@@ -48,7 +57,11 @@
       label: '闇�瑕佹彁闂璁�',
       component: 'Select',
       defaultValue: '0',
-      componentProps: { placeholder: '璇烽�夋嫨', options: YES_NO_OPTIONS },
+      componentProps: {
+        placeholder: '璇烽�夋嫨',
+        options: [],
+        fieldNames: TMS_DIC_FIELD_NAMES,
+      },
       rules: [{ required: true, message: '蹇呭~', trigger: 'change' }],
     },
     {
@@ -56,7 +69,11 @@
       label: '闇�瑕佸疄鎿嶈瘎鍒�',
       component: 'Select',
       defaultValue: '0',
-      componentProps: { placeholder: '璇烽�夋嫨', options: YES_NO_OPTIONS },
+      componentProps: {
+        placeholder: '璇烽�夋嫨',
+        options: [],
+        fieldNames: TMS_DIC_FIELD_NAMES,
+      },
       rules: [{ required: true, message: '蹇呭~', trigger: 'change' }],
     },
     {
@@ -64,7 +81,11 @@
       label: '鍚敤鐘舵��',
       component: 'Select',
       defaultValue: '1',
-      componentProps: { placeholder: '璇烽�夋嫨', options: ENABLE_OPTIONS },
+      componentProps: {
+        placeholder: '璇烽�夋嫨',
+        options: [],
+        fieldNames: TMS_DIC_FIELD_NAMES,
+      },
       rules: [{ required: true, message: '蹇呭~', trigger: 'change' }],
     },
     {
@@ -77,6 +98,23 @@
 });
 
 const [registerModal, { closeModal, changeLoading, changeOkLoading }] = useModalInner(init);
+
+async function loadDicOptions() {
+  const [yesNo, enable] = await Promise.all([
+    loadTmsDic(baseStore, TMS_DIC.yesNo),
+    loadTmsDic(baseStore, TMS_DIC.enableStatus),
+  ]);
+  updateSchema(
+    ['needPaper', 'needQuiz', 'needPractice'].map((field) => ({
+      field,
+      componentProps: { placeholder: '璇烽�夋嫨', options: yesNo, fieldNames: TMS_DIC_FIELD_NAMES },
+    })),
+  );
+  updateSchema({
+    field: 'enabled',
+    componentProps: { placeholder: '璇烽�夋嫨', options: enable, fieldNames: TMS_DIC_FIELD_NAMES },
+  });
+}
 
 async function init(data: { id?: string }) {
   changeLoading(true);
@@ -92,6 +130,7 @@
     },
   });
   try {
+    await loadDicOptions();
     if (state.id) setFieldsValue(await getEvalModeInfo(state.id));
   } finally {
     changeLoading(false);

--
Gitblit v1.8.0