From 25386bee63fcebce12e1b0d1ca7ef41e7e09710c Mon Sep 17 00:00:00 2001 From: xjs Date: Fri, 3 Jul 2026 13:53:07 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E6=B5=8B=E8=AF=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.ku.vue | 4 + .../academicReport/opinionAboutReport.vue | 2 +- .../evaluate/components/RadarChart.vue | 328 ++++++++++++++++++ .../evaluate/doPage/assessmentPage.vue | 12 +- .../evaluate/sixReport/explorePotential.vue | 302 ++++++++++++++++ .../evaluate/sixReport/futureDirection.vue | 302 ++++++++++++++++ .../evaluate/sixReport/growthPlanning.vue | 252 ++++++++++++++ .../evaluate/sixReport/learningAbility.vue | 302 ++++++++++++++++ .../doPage => hooks}/useRouterDetail.ts | 10 +- src/pages-sub/me/evaluation.vue | 2 +- src/pages-sub/me/useRouterDetail.ts | 51 --- src/pages/evaluation/index.vue | 41 ++- 12 files changed, 1543 insertions(+), 65 deletions(-) create mode 100644 src/chart-sub/evaluate/components/RadarChart.vue create mode 100644 src/chart-sub/evaluate/sixReport/explorePotential.vue create mode 100644 src/chart-sub/evaluate/sixReport/futureDirection.vue create mode 100644 src/chart-sub/evaluate/sixReport/growthPlanning.vue create mode 100644 src/chart-sub/evaluate/sixReport/learningAbility.vue rename src/{chart-sub/evaluate/doPage => hooks}/useRouterDetail.ts (78%) delete mode 100644 src/pages-sub/me/useRouterDetail.ts diff --git a/src/App.ku.vue b/src/App.ku.vue index 80c729e..f7fc95d 100644 --- a/src/App.ku.vue +++ b/src/App.ku.vue @@ -24,6 +24,10 @@ onShow(() => { onLoad(() => { uni.loadFontFace({family:"DinBold",source:"https://lwzk.ycymedu.com/img/din-bold.ttf"}) uni.loadFontFace({family:'JinBuFont',source:"https://lwzk.ycymedu.com/img/DingTalkJinBuTi.ttf"}) + uni.loadFontFace({ + family: 'AlimamaShuHeiTi', + source: 'https://lw-zk.oss-cn-hangzhou.aliyuncs.com/img/CP/AlimamaShuHeiTi-Bold.ttf', + }) }) const exposeRef = ref('this is form app.Ku.vue') diff --git a/src/chart-sub/evaluate/academicReport/opinionAboutReport.vue b/src/chart-sub/evaluate/academicReport/opinionAboutReport.vue index c69727d..fa38e6f 100644 --- a/src/chart-sub/evaluate/academicReport/opinionAboutReport.vue +++ b/src/chart-sub/evaluate/academicReport/opinionAboutReport.vue @@ -10,7 +10,7 @@ bg-color="transparent" > diff --git a/src/chart-sub/evaluate/components/RadarChart.vue b/src/chart-sub/evaluate/components/RadarChart.vue new file mode 100644 index 0000000..85f474e --- /dev/null +++ b/src/chart-sub/evaluate/components/RadarChart.vue @@ -0,0 +1,328 @@ + + + + + diff --git a/src/chart-sub/evaluate/doPage/assessmentPage.vue b/src/chart-sub/evaluate/doPage/assessmentPage.vue index 16f9613..9f9c062 100644 --- a/src/chart-sub/evaluate/doPage/assessmentPage.vue +++ b/src/chart-sub/evaluate/doPage/assessmentPage.vue @@ -96,7 +96,7 @@ import Checkbox from '@/chart-sub/components/check-group/Checkbox.vue' import CheckboxGroup from '@/chart-sub/components/check-group/CheckboxGroup.vue' import { useUserStore } from '@/store/user' -import { useRouterDetail } from './useRouterDetail' +import { useRouterDetail } from '@/hooks/useRouterDetail' // #ifdef MP-WEIXIN definePage({ @@ -148,17 +148,25 @@ const handleCheckChange = (value: any[]) => { } const calcScore = () => { + // 取当前题目的评分维度 type,同一维度的题目会累计到 answerMap 的同一个 key 下 let _type = questions.value[currentIndex.value].type - let _name = questions.value[currentIndex.value].answer[0].tag + // 维度名称取当前题目第一个答案项上的 tag,用于提交时展示该维度名称 + + // 从当前题目的全部选项中筛出用户已勾选的选项,单选/多选都按 checkedList 统一处理 let _options = questions.value[currentIndex.value].answer.filter((answer:any) => { return checkedList.value.includes(answer.key) }) + let _name = _options[0]?.tag || questions.value[currentIndex.value].answer[0].tag + + if (answerMap.has(_type)) { + // 如果该维度之前已经答过题,就在已有总分上叠加本题已选选项的分值 let val = answerMap.get(_type) val.value += _options.reduce((count, cur) => (count = count + Number(cur.value)), 0) answerMap.set(_type, val) } else { + // 如果是第一次遇到该维度,则初始化该维度的名称和分值 answerMap.set(_type, { name: _name, value: _options.reduce((count, cur) => (count = count + Number(cur.value)), 0), diff --git a/src/chart-sub/evaluate/sixReport/explorePotential.vue b/src/chart-sub/evaluate/sixReport/explorePotential.vue new file mode 100644 index 0000000..e663299 --- /dev/null +++ b/src/chart-sub/evaluate/sixReport/explorePotential.vue @@ -0,0 +1,302 @@ + + + + + diff --git a/src/chart-sub/evaluate/sixReport/futureDirection.vue b/src/chart-sub/evaluate/sixReport/futureDirection.vue new file mode 100644 index 0000000..e663299 --- /dev/null +++ b/src/chart-sub/evaluate/sixReport/futureDirection.vue @@ -0,0 +1,302 @@ + + + + + diff --git a/src/chart-sub/evaluate/sixReport/growthPlanning.vue b/src/chart-sub/evaluate/sixReport/growthPlanning.vue new file mode 100644 index 0000000..9fcfba4 --- /dev/null +++ b/src/chart-sub/evaluate/sixReport/growthPlanning.vue @@ -0,0 +1,252 @@ + + + + + diff --git a/src/chart-sub/evaluate/sixReport/learningAbility.vue b/src/chart-sub/evaluate/sixReport/learningAbility.vue new file mode 100644 index 0000000..e663299 --- /dev/null +++ b/src/chart-sub/evaluate/sixReport/learningAbility.vue @@ -0,0 +1,302 @@ + + + + + diff --git a/src/chart-sub/evaluate/doPage/useRouterDetail.ts b/src/hooks/useRouterDetail.ts similarity index 78% rename from src/chart-sub/evaluate/doPage/useRouterDetail.ts rename to src/hooks/useRouterDetail.ts index 8186d07..40b9b8e 100644 --- a/src/chart-sub/evaluate/doPage/useRouterDetail.ts +++ b/src/hooks/useRouterDetail.ts @@ -38,7 +38,15 @@ export const useRouterDetail = (item: { reportsId: string; type: number }) => { url = `/chart-sub/evaluate/studyReport/learnSkillReport?id=${item.reportsId}&type=${item.type}` } else if (item.type === 3) { url = `/chart-sub/evaluate/studyReport/anxietyReport?id=${item.reportsId}&type=${item.type}` - } else { + } else if(item.type === 10){ + url = `/chart-sub/evaluate/sixReport/explorePotential?id=${item.reportsId}&type=${item.type}` + } else if(item.type === 11){ + url = `/chart-sub/evaluate/sixReport/learningAbility?id=${item.reportsId}&type=${item.type}` + } else if(item.type === 12){ + url = `/chart-sub/evaluate/sixReport/growthPlanning?id=${item.reportsId}&type=${item.type}` + } else if(item.type === 13){ + url = `/chart-sub/evaluate/sixReport/futureDirection?id=${item.reportsId}&type=${item.type}` + }else { uni.showToast({ title: '开发中....', icon: 'none', diff --git a/src/pages-sub/me/evaluation.vue b/src/pages-sub/me/evaluation.vue index b19ee67..0e2a689 100644 --- a/src/pages-sub/me/evaluation.vue +++ b/src/pages-sub/me/evaluation.vue @@ -1,5 +1,5 @@