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/examGrade/Session.vue | 42 +++++++++++++++++++++++++++---------------
1 files changed, 27 insertions(+), 15 deletions(-)
diff --git a/apps/jnpf-web-apps-main/src/views/x/tms/examGrade/Session.vue b/apps/jnpf-web-apps-main/src/views/x/tms/examGrade/Session.vue
index 09c3022..8875fa3 100644
--- a/apps/jnpf-web-apps-main/src/views/x/tms/examGrade/Session.vue
+++ b/apps/jnpf-web-apps-main/src/views/x/tms/examGrade/Session.vue
@@ -3,15 +3,18 @@
import type { GradeExamListItem, GradeSessionListItem } from './types';
-import { onMounted, ref } from 'vue';
+import { onActivated, onMounted, ref } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import { useMessage } from '@jnpf/hooks';
import { BasicVxeTable, TableAction, useVxeTable } from '@jnpf/ui/vxeTable';
import { getGradeExamList, getGradeSessionInfo } from '#/api/x/tms/examGrade';
+import { TMS_BTN } from '#/views/x/tms/shared/ui';
-import { colorOfGradeStatus, labelOfGradeStatus } from './constants';
+import { colorOfGradeStatus, labelOfGradeStatus, loadExamGradeDics } from './constants';
+
+import '#/views/x/tms/shared/page.css';
defineOptions({ name: 'TmsExamGradeSession' });
@@ -77,16 +80,27 @@
return;
}
try {
- session.value = await getGradeSessionInfo(sessionId);
- reload();
+ await loadExamGradeDics();
+ await refreshSession();
} catch (e: any) {
createMessage.error(e?.message || '鍔犺浇澶辫触');
router.replace('/tms/examGrade');
}
});
+onActivated(() => {
+ if (!sessionId) return;
+ void refreshSession();
+});
+
+async function refreshSession() {
+ session.value = await getGradeSessionInfo(sessionId);
+ reload();
+}
+
async function fetchList() {
- return { data: await getGradeExamList(sessionId) };
+ const list = await getGradeExamList(sessionId);
+ return { data: Array.isArray(list) ? list : [] };
}
function goBack() {
@@ -99,9 +113,9 @@
function getTableActions(record: GradeExamListItem): ActionItem[] {
if (record.gradeStatus === 'pending') {
- return [{ label: '闃呭嵎', onClick: handleMark.bind(null, record) }];
+ return [{ label: TMS_BTN.grade, onClick: handleMark.bind(null, record) }];
}
- return [{ label: '鏌ョ湅', onClick: handleMark.bind(null, record) }];
+ return [{ label: TMS_BTN.detail, onClick: handleMark.bind(null, record) }];
}
</script>
@@ -111,15 +125,13 @@
<div class="jnpf-content-wrapper-content">
<BasicVxeTable @register="registerTable">
<template #tableTitle>
- <div class="flex items-center gap-3">
- <a-button @click="goBack">杩斿洖</a-button>
+ <div class="tms-page-header" style="margin-bottom: 0">
<div>
- <div class="text-base font-medium">
- {{ session?.paperName || '绛斿嵎鍒楄〃' }}
- </div>
- <div class="mt-1 text-gray-400 text-sm">
- {{ session?.taskNo }} 路 {{ session?.taskSubject }}
- </div>
+ <div class="tms-page-header__title">{{ session?.paperName || '绛斿嵎鍒楄〃' }}</div>
+ <div class="tms-page-header__sub">{{ session?.taskNo }} 路 {{ session?.taskSubject }}</div>
+ </div>
+ <div class="tms-page-header__actions">
+ <a-button @click="goBack">{{ TMS_BTN.back }}</a-button>
</div>
</div>
</template>
--
Gitblit v1.8.0