From 2b1dad9e29be8b1dff61a1a07c79c4e21c611ee9 Mon Sep 17 00:00:00 2001 From: hebo Date: Tue, 23 Jun 2026 11:16:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E8=8B=97=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/base/server.ts | 19 +- src/pages/base/class-schedule/index.vue | 283 +++++++------ src/pages/base/grades/detail.vue | 20 +- src/pages/base/grades/list.vue | 8 +- src/pages/base/home/index.vue | 55 ++- src/pages/base/xszp/index.vue | 439 +++++++++++++++------ src/pages/system/launchPage/launchPage.vue | 92 ++--- src/store/modules/common.ts | 16 +- src/store/modules/menu.ts | 31 +- src/utils/menuCache.ts | 7 + src/utils/xszpPersistXq.ts | 8 + 11 files changed, 675 insertions(+), 303 deletions(-) create mode 100644 src/utils/menuCache.ts create mode 100644 src/utils/xszpPersistXq.ts diff --git a/src/api/base/server.ts b/src/api/base/server.ts index 0c16c6a..acf0564 100644 --- a/src/api/base/server.ts +++ b/src/api/base/server.ts @@ -55,12 +55,21 @@ export const dqpkApi = async () => { }; /** - * 单日的排课课表 + * 单日的排课课表(家长端:仅 yfzc_pkkb,不叠加调换课/代课) */ export const drpkkbApi = async (params: any) => { return await get("/mobile/jz/pkkb/drpkkb", params); }; +/** 某周每日排课课表(家长端:仅 yfzc_pkkb,不叠加调换课/代课) */ +export const drpkkbWeekApi = async (params: { + bjId: string; + xqId: string; + zc: number; +}) => { + return await get("/mobile/jz/pkkb/drpkkbWeek", params); +}; + /** * 查询学生考试场次 */ @@ -125,6 +134,13 @@ export const jzXsQjActivitiHistoryApi = async (params: any) => { return await get("/activiti/history/historicFlow", params); }; +/** + * 学期列表(下拉选择,走 findPage 数据权限) + */ +export const xqFindPageForSelectApi = async () => { + return await get("/api/xq/findPage", { page: 1, rows: 9999, status: "A" }); +}; + /** * 根据课程ID查询作品执行数据(家长端) */ @@ -134,6 +150,7 @@ export const zpzxFindByKcParamsApi = async (params: { njmcId?: string; bjId?: string; xsId?: string; + xqId?: string; }) => { return await get("/api/zpzx/findByKcParams", params); }; diff --git a/src/pages/base/class-schedule/index.vue b/src/pages/base/class-schedule/index.vue index 2c38e02..9d92657 100644 --- a/src/pages/base/class-schedule/index.vue +++ b/src/pages/base/class-schedule/index.vue @@ -65,12 +65,10 @@ diff --git a/src/pages/base/grades/detail.vue b/src/pages/base/grades/detail.vue index b8c28f7..fca8313 100644 --- a/src/pages/base/grades/detail.vue +++ b/src/pages/base/grades/detail.vue @@ -10,7 +10,7 @@ - {{ kscc.ksmc || '考试场次' }} + {{ kscc.ksmc || '学情场次' }} {{ curXs.xm || curXs.name || '学生姓名' }} @@ -45,11 +45,11 @@ :class="{ active: activeTab === 'scores' }" @click="switchTab('scores')" > - 学科成绩 + 学科等级 - + ) => { } kscc.value = { id: kid, - ksmc: name || "考试场次", + ksmc: name || "学情场次", }; if (q.njmcId != null && String(q.njmcId).trim()) { try { @@ -198,16 +198,16 @@ const radarData = { // 所有科目列表 const sysKmList = ref([]); -// 当前考试科目列表 +// 当前学情科目列表 const ksccKmList = ref([]); // 科目卷面分总数 const totalKmFs = ref(0); // 科目等级列表 const kmDjList = ref([]); -// 考试场次等级列表 +// 学情场次等级列表 const djList = ref([]); -// 考试场次成绩列表 +// 学情场次成绩列表 const ksccKscjList = ref([]); // 绘制雷达图 @@ -361,7 +361,7 @@ function resolveOverallKsDj(sumScaled: number, examFullMarksScaled: number): any return pickBestDjMatch(ksDjRows, scoreForMatch) || {}; } -// 初始化考试等级列表(与教师端 kspj/detail 一致) +// 初始化学情等级列表(与教师端 kspj/detail 一致) const initKsdj = () => { djList.value.forEach((ksdj: any) => { ksdj.zdf = floatToInt(ksdj.zdf, fsScale); @@ -417,7 +417,7 @@ onMounted(async () => { } const ksccId = kscc.value?.id; if (!ksccId) { - uni.showToast({ title: "请先选择考试场次", icon: "none" }); + uni.showToast({ title: "请先选择学情场次", icon: "none" }); return; } const res = await xsKscjApi({ @@ -640,7 +640,7 @@ onMounted(async () => { } } - /* 学科成绩视图(与教师端一致) */ + /* 学科等级视图(与教师端一致) */ .score-view { margin-top: 15px; display: flex; diff --git a/src/pages/base/grades/list.vue b/src/pages/base/grades/list.vue index 65918fb..58289a9 100644 --- a/src/pages/base/grades/list.vue +++ b/src/pages/base/grades/list.vue @@ -1,9 +1,9 @@