feat: 心理健康报告
parent
19cba529b9
commit
5887cfaf5c
|
|
@ -16,7 +16,7 @@
|
||||||
bg-color="transparent"
|
bg-color="transparent"
|
||||||
>
|
>
|
||||||
<template #title>
|
<template #title>
|
||||||
<text class="text-[#1F2329] text-[36rpx] font-medium text-[#fff]">性格测评报告</text>
|
<text class="text-[#1F2329] text-[36rpx] font-medium text-[#fff]">能力测评报告</text>
|
||||||
</template>
|
</template>
|
||||||
</Navbar>
|
</Navbar>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
<template>
|
|
||||||
<view class="rounded-full p-[14rpx] w-max bg-[#fff]">
|
|
||||||
<view class="w-[162rpx] h-[162rpx] custom-style"></view>
|
|
||||||
</view>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script lang="ts" setup></script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
.custom-style {
|
|
||||||
border: 10rpx dashed #00b281;
|
|
||||||
border-radius: 50%;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.custom-style::before {
|
|
||||||
content: '';
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
blur: filter(10px);
|
|
||||||
width: 162rpx;
|
|
||||||
height: 162rpx;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
<template>
|
||||||
|
<view class="mt-[30rpx] bg-white rounded-[20rpx] p-[30rpx]">
|
||||||
|
<TitleBar :title="title" />
|
||||||
|
|
||||||
|
<view v-for="(item, index) in items" :key="index" class="suggestion-item">
|
||||||
|
<view class="text-[32rpx]">{{ item.title }}</view>
|
||||||
|
<view class="text-[26rpx] font-400 mt-[10rpx]">{{ item.description }}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import TitleBar from './TitleBar.vue'
|
||||||
|
defineProps({
|
||||||
|
items: {
|
||||||
|
type: Array<{ title: string; description: string }>,
|
||||||
|
default: () => [],
|
||||||
|
},
|
||||||
|
title: {
|
||||||
|
type: String,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.suggestion-item {
|
||||||
|
&:not(:last-child) {
|
||||||
|
margin-bottom: 50rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:first-child {
|
||||||
|
margin-top: 30rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,63 @@
|
||||||
|
<template>
|
||||||
|
<view class="relative pt-[40rpx]">
|
||||||
|
<Dashboard class="absolute right-[38rpx] top-0" :score="score" :color="rules[level].color" />
|
||||||
|
<view class="bg-[#fff] rounded-[24rpx] p-[22rpx]">
|
||||||
|
<view class="mt-[30rpx]">
|
||||||
|
<text class="text-[48rpx] text-[#000] font-600">{{ tagName }}</text>
|
||||||
|
<!-- <view class="flex items-center text-[#999] text-[24rpx] mt-[20rpx]">
|
||||||
|
<view class="i-carbon-warning w-[24rpx] h-[24rpx]"></view>
|
||||||
|
<text class="text-[#999] ml-[10rpx]">状态很好哦,继续保持,轻松迎接高考吧!</text>
|
||||||
|
</view> -->
|
||||||
|
<view class="mt-[58rpx]">
|
||||||
|
<ScoreCard :current-position="level" :rules="rules" />
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="relative mt-[68rpx] bg-[#F5FAFF]">
|
||||||
|
<image
|
||||||
|
src="https://api.static.ycymedu.com/src/images/home/test-icon.png"
|
||||||
|
mode="scaleToFill"
|
||||||
|
class="w-[180rpx] h-[52rpx] absolute top-[-9rpx] left-[20rpx]"
|
||||||
|
/>
|
||||||
|
<view class="px-[20rpx] pb-[20rpx] pt-[58rpx] text-[#333] text-[26rpx]">
|
||||||
|
{{ description }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="text-[#999] text-[24rpx] mt-[10rpx]">
|
||||||
|
{{ tip }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import Dashboard from '@/pages-evaluation-sub/evaluate/components/psychologicalReportItem/Dashboard.vue'
|
||||||
|
import ScoreCard from './psychologicalReportItem/ScoreCard.vue'
|
||||||
|
|
||||||
|
defineProps({
|
||||||
|
score: {
|
||||||
|
type: Number,
|
||||||
|
default: 0,
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
type: Array<{ label: string; range: string; color: string }>,
|
||||||
|
default: () => [],
|
||||||
|
},
|
||||||
|
tip: {
|
||||||
|
type: String,
|
||||||
|
default: '结果只做参考,不能准确判断是否有焦虑症。',
|
||||||
|
},
|
||||||
|
level: {
|
||||||
|
type: Number,
|
||||||
|
default: 0,
|
||||||
|
},
|
||||||
|
description: {
|
||||||
|
type: String,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
tagName: {
|
||||||
|
type: String,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
<template>
|
||||||
|
<view class="flex flex-col bg-white rounded-[24rpx] p-[30rpx] gap-[40rpx]">
|
||||||
|
<view class="flex flex-col gap-[12rpx]">
|
||||||
|
<view class="flex items-center gap-[10rpx]">
|
||||||
|
<image
|
||||||
|
src="https://api.static.ycymedu.com/src/images/home/life-icon.png"
|
||||||
|
mode="scaleToFill"
|
||||||
|
class="w-[38rpx] h-[38rpx]"
|
||||||
|
/>
|
||||||
|
<text class="text-[32rpx] text-[#000]">生活建议</text>
|
||||||
|
</view>
|
||||||
|
<view class="text-[26rpx] text-[#666] font-400">
|
||||||
|
保持规律作息,早睡早起,避免熬夜。 每天适当运动(如散步、跑步),保持精力充沛。
|
||||||
|
避免过度放松,保持适度的学习节奏。
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="flex flex-col gap-[12rpx]">
|
||||||
|
<view class="flex items-center gap-[10rpx]">
|
||||||
|
<image
|
||||||
|
src="https://api.static.ycymedu.com/src/images/home/diet-icon.png"
|
||||||
|
mode="scaleToFill"
|
||||||
|
class="w-[38rpx] h-[38rpx]"
|
||||||
|
/>
|
||||||
|
<text class="text-[32rpx] text-[#000]">饮食建议</text>
|
||||||
|
</view>
|
||||||
|
<view class="text-[26rpx] text-[#666] font-400">
|
||||||
|
保持规律作息,早睡早起,避免熬夜。 每天适当运动(如散步、跑步),保持精力充沛。
|
||||||
|
避免过度放松,保持适度的学习节奏。
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="flex flex-col gap-[12rpx]">
|
||||||
|
<view class="flex items-center gap-[10rpx]">
|
||||||
|
<image
|
||||||
|
src="https://api.static.ycymedu.com/src/images/home/learn-icon.png"
|
||||||
|
mode="scaleToFill"
|
||||||
|
class="w-[38rpx] h-[38rpx]"
|
||||||
|
/>
|
||||||
|
<text class="text-[32rpx] text-[#000]">学习建议</text>
|
||||||
|
</view>
|
||||||
|
<view class="text-[26rpx] text-[#666] font-400">
|
||||||
|
保持规律作息,早睡早起,避免熬夜。 每天适当运动(如散步、跑步),保持精力充沛。
|
||||||
|
避免过度放松,保持适度的学习节奏。
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
@ -66,7 +66,7 @@ const updateChart = () => {
|
||||||
containLabel: true,
|
containLabel: true,
|
||||||
},
|
},
|
||||||
legend: {
|
legend: {
|
||||||
data: ['我的数据', '平均数据'],
|
data: ['我的数据', '平均水平'],
|
||||||
right: 'auto',
|
right: 'auto',
|
||||||
left: 'center',
|
left: 'center',
|
||||||
top: 0,
|
top: 0,
|
||||||
|
|
@ -80,7 +80,7 @@ const updateChart = () => {
|
||||||
{
|
{
|
||||||
type: 'category',
|
type: 'category',
|
||||||
data: (props.echartData[1] as { name: string[] })?.name.map((item) =>
|
data: (props.echartData[1] as { name: string[] })?.name.map((item) =>
|
||||||
item.replace('智能', ''),
|
item.replace('智能', '').replace(/(.{2})/g, '$1\n'),
|
||||||
),
|
),
|
||||||
axisLine: {
|
axisLine: {
|
||||||
lineStyle: {
|
lineStyle: {
|
||||||
|
|
@ -91,14 +91,6 @@ const updateChart = () => {
|
||||||
color: '#666',
|
color: '#666',
|
||||||
fontSize: 12,
|
fontSize: 12,
|
||||||
interval: 0,
|
interval: 0,
|
||||||
rotate: 45,
|
|
||||||
formatter: function (value) {
|
|
||||||
// 处理长文本
|
|
||||||
if (value.length > 4) {
|
|
||||||
return value.replace('智能', '')
|
|
||||||
}
|
|
||||||
return value
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
axisTick: {
|
axisTick: {
|
||||||
show: false,
|
show: false,
|
||||||
|
|
@ -144,7 +136,7 @@ const updateChart = () => {
|
||||||
data: (props.echartData[1] as { value: number[] })?.value,
|
data: (props.echartData[1] as { value: number[] })?.value,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '平均数据',
|
name: '平均水平',
|
||||||
type: 'line',
|
type: 'line',
|
||||||
smooth: true,
|
smooth: true,
|
||||||
symbol: 'circle',
|
symbol: 'circle',
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,58 @@
|
||||||
|
<template>
|
||||||
|
<view
|
||||||
|
class="rounded-full w-[162rpx] h-[162rpx] bg-[#fff] dashboard-wrapper flex items-center justify-center"
|
||||||
|
:style="{ '--current-color': color }"
|
||||||
|
>
|
||||||
|
<view class="w-[139rpx] h-[139rpx] custom-style flex items-center justify-center">
|
||||||
|
<view
|
||||||
|
v-for="i in 39"
|
||||||
|
:key="i"
|
||||||
|
class="tick"
|
||||||
|
:style="{
|
||||||
|
transform: `rotate(${i * 8 - 90}deg)`,
|
||||||
|
opacity: `${1 - Math.abs(i * 8 - 90) / 90}`,
|
||||||
|
}"
|
||||||
|
></view>
|
||||||
|
<view class="font-500 text-color">
|
||||||
|
<text :class="`${score > 99 ? 'text-[50rpx]' : 'text-[62rpx]'}`">{{ score }}</text>
|
||||||
|
<text class="text-[28rpx]">分</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup>
|
||||||
|
defineProps({
|
||||||
|
color: {
|
||||||
|
type: String,
|
||||||
|
default: '#00b281',
|
||||||
|
},
|
||||||
|
score: {
|
||||||
|
type: Number,
|
||||||
|
default: 0,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.custom-style {
|
||||||
|
border-radius: 50%;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-color {
|
||||||
|
color: var(--current-color);
|
||||||
|
container-type: inline-size;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tick {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 50%;
|
||||||
|
width: 4rpx;
|
||||||
|
height: 10rpx;
|
||||||
|
background-color: var(--current-color);
|
||||||
|
transform-origin: 0 67rpx;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
<template>
|
||||||
|
<view class="bg-white mx-[24rpx] rounded-[20rpx] pb-[20rpx]">
|
||||||
|
<view class="px-[24rpx] h-[368rpx] z-1">
|
||||||
|
<LEchart ref="echart" :customStyle="`z-index:1;`"></LEchart>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import LEchart from '@/pages-evaluation-sub/uni_modules/lime-echart/components/l-echart/l-echart.vue'
|
||||||
|
const echarts = require('../../../uni_modules/lime-echart/static/echarts.min')
|
||||||
|
const echart = ref(null)
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script lang="scss" scoped></script>
|
||||||
|
|
@ -0,0 +1,94 @@
|
||||||
|
<template>
|
||||||
|
<view
|
||||||
|
class="grid grid-cols-4 items-end gap-[6rpx] relative"
|
||||||
|
:style="`grid-template-columns: repeat(${rules.length},minmax(0,1fr))`"
|
||||||
|
>
|
||||||
|
<view v-for="(item, index) in rules" :key="index" class="">
|
||||||
|
<view
|
||||||
|
:class="['common-rectangle']"
|
||||||
|
:style="`height: ${24 + index * 10}rpx;background-color:${item.color}`"
|
||||||
|
></view>
|
||||||
|
<view
|
||||||
|
class="flex flex-col text-[24rpx] text-center"
|
||||||
|
:style="{ color: currentPosition === index ? item.color : '#999' }"
|
||||||
|
>
|
||||||
|
<text :class="currentPosition === index ? 'font-500' : ''">{{ item.label }}</text>
|
||||||
|
<view v-html="item.range" class="whitespace-nowrap"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view
|
||||||
|
:style="{
|
||||||
|
left: `${(currentPosition + 1 / 2) * (100 / rules.length)}%`,
|
||||||
|
top: `${currentPosition * -8 - 10}rpx`,
|
||||||
|
}"
|
||||||
|
class="current-flag-wrapper"
|
||||||
|
>
|
||||||
|
<view class="current-flag">
|
||||||
|
<view class="flag-text">当前</view>
|
||||||
|
<view class="flag-triangle"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup>
|
||||||
|
defineProps<{
|
||||||
|
currentPosition: number // 0-3 分别对应四个矩形的位置
|
||||||
|
rules: {
|
||||||
|
label: string
|
||||||
|
range: string
|
||||||
|
color: string
|
||||||
|
}[]
|
||||||
|
}>()
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.common-rectangle {
|
||||||
|
width: 100%;
|
||||||
|
position: relative;
|
||||||
|
border-radius: 8rpx;
|
||||||
|
clip-path: polygon(100% 0, 100% 0, 100% 100%, 0 100%, 0 10rpx);
|
||||||
|
margin-bottom: 6rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.current-flag-wrapper {
|
||||||
|
position: absolute;
|
||||||
|
margin-bottom: 8rpx;
|
||||||
|
transition: left 0.3s ease;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.current-flag {
|
||||||
|
position: relative;
|
||||||
|
width: 82rpx;
|
||||||
|
height: 37rpx;
|
||||||
|
background-color: rgba(0, 0, 0, 0.6);
|
||||||
|
border-radius: 20rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flag-text {
|
||||||
|
color: #fff;
|
||||||
|
font-size: 22rpx;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
line-height: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flag-triangle {
|
||||||
|
position: absolute;
|
||||||
|
bottom: -8rpx;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
border-left: 8rpx solid transparent;
|
||||||
|
border-right: 8rpx solid transparent;
|
||||||
|
border-top: 8rpx solid rgba(0, 0, 0, 0.6);
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,86 @@
|
||||||
|
<route lang="json5" type="page">
|
||||||
|
{
|
||||||
|
style: {
|
||||||
|
navigationStyle: 'custom',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</route>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<view :scroll-y="true" class="flex flex-col h-screen relative custom-bg">
|
||||||
|
<Navbar
|
||||||
|
safeAreaInsetTop
|
||||||
|
:bordered="false"
|
||||||
|
leftArrow
|
||||||
|
@clickLeft="handleBack"
|
||||||
|
bg-color="transparent"
|
||||||
|
>
|
||||||
|
<template #title>
|
||||||
|
<text class="text-[#1F2329] text-[36rpx] font-medium text-[#fff]">MHT心理健康自评</text>
|
||||||
|
</template>
|
||||||
|
</Navbar>
|
||||||
|
|
||||||
|
<view class="flex-1 overflow-auto pb-safe relative mx-[24rpx]">
|
||||||
|
<!-- 顶部卡片 -->
|
||||||
|
<view class="mt-[60rpx]">
|
||||||
|
<StatusCard />
|
||||||
|
</view>
|
||||||
|
<view class="mt-[30rpx]"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<script setup lang="ts">
|
||||||
|
import Navbar from '@/pages-evaluation-sub/components/navbar/Navbar.vue'
|
||||||
|
import StatusCard from '../components/StatusCard.vue'
|
||||||
|
|
||||||
|
import { getCustomScaleExplains } from '@/service/index/api'
|
||||||
|
|
||||||
|
const pageType = ref(0)
|
||||||
|
const pageId = ref(0)
|
||||||
|
|
||||||
|
const handleBack = () => {
|
||||||
|
uni.navigateBack()
|
||||||
|
}
|
||||||
|
|
||||||
|
const studyRecord = ref({
|
||||||
|
description: '',
|
||||||
|
title: '',
|
||||||
|
linChart: [],
|
||||||
|
reportItems: [],
|
||||||
|
hTag: '',
|
||||||
|
})
|
||||||
|
|
||||||
|
onLoad((options) => {
|
||||||
|
pageType.value = +options.type
|
||||||
|
pageId.value = options.id
|
||||||
|
|
||||||
|
getCustomScaleExplains({ CustomScaleId: pageId.value }).then((resp) => {
|
||||||
|
if (resp.code === 200) {
|
||||||
|
studyRecord.value = resp.result as {
|
||||||
|
description: string
|
||||||
|
title: string
|
||||||
|
linChart: any[]
|
||||||
|
reportItems: any[]
|
||||||
|
hTag: string
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.custom-bg {
|
||||||
|
background: linear-gradient(184deg, #0d79fc 0%, #2186fc 100%);
|
||||||
|
}
|
||||||
|
:deep(.icon-class) {
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.custom-border {
|
||||||
|
width: 162rpx;
|
||||||
|
height: 162rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
border: 6rpx dashed;
|
||||||
|
border-color: #05d69c transparent transparent transparent;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
</route>
|
</route>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<scroll-view :scroll-y="true" class="flex flex-col h-screen relative custom-bg">
|
<view :scroll-y="true" class="flex flex-col h-screen relative custom-bg">
|
||||||
<Navbar
|
<Navbar
|
||||||
safeAreaInsetTop
|
safeAreaInsetTop
|
||||||
:bordered="false"
|
:bordered="false"
|
||||||
|
|
@ -20,22 +20,58 @@
|
||||||
</template>
|
</template>
|
||||||
</Navbar>
|
</Navbar>
|
||||||
|
|
||||||
<view class="flex-1 overflow-auto pb-[30rpx] relative">
|
<view class="flex-1 overflow-auto pb-safe relative mx-[24rpx]">
|
||||||
<!-- 顶部卡片 -->
|
<!-- 顶部卡片 -->
|
||||||
<view class="h-[772rpx] relative">
|
<view class="mt-[60rpx]">
|
||||||
<Dashboard />
|
<StatusCard
|
||||||
|
:score="score"
|
||||||
|
:rules="anxietyRules"
|
||||||
|
tip="结果只做参考,不能准确判断是否有焦虑症。"
|
||||||
|
:level="level"
|
||||||
|
:description="studyRecord.description"
|
||||||
|
:tagName="studyRecord.tagName"
|
||||||
|
/>
|
||||||
|
</view>
|
||||||
|
<view class="mt-[30rpx]">
|
||||||
|
<SuggestionCard />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</scroll-view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import Navbar from '@/pages-evaluation-sub/components/navbar/Navbar.vue'
|
import Navbar from '@/pages-evaluation-sub/components/navbar/Navbar.vue'
|
||||||
import Dashboard from '@/pages-evaluation-sub/evaluate/components/Dashboard.vue'
|
import StatusCard from '../components/StatusCard.vue'
|
||||||
|
import SuggestionCard from '../components/SuggestionCard.vue'
|
||||||
|
|
||||||
import { getAbilityDimension } from '@/service/index/api'
|
import { getCustomScaleExplains } from '@/service/index/api'
|
||||||
|
|
||||||
const pageType = ref(0)
|
const pageType = ref(0)
|
||||||
const pageId = ref(0)
|
const pageId = ref(0)
|
||||||
|
const anxietyRules = [
|
||||||
|
{
|
||||||
|
label: '正常范围',
|
||||||
|
range: '<50分',
|
||||||
|
color: '#00B281',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '轻度焦虑',
|
||||||
|
range: '50-59分',
|
||||||
|
color: '#F8B801',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '中度焦虑',
|
||||||
|
range: '60-69分',
|
||||||
|
color: '#F79C33',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '重度焦虑',
|
||||||
|
range: '≥70分',
|
||||||
|
color: '#F5663E',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
const score = ref(0)
|
||||||
|
const level = ref(0)
|
||||||
|
|
||||||
const handleBack = () => {
|
const handleBack = () => {
|
||||||
uni.navigateBack()
|
uni.navigateBack()
|
||||||
|
|
@ -44,24 +80,37 @@ const handleBack = () => {
|
||||||
const studyRecord = ref({
|
const studyRecord = ref({
|
||||||
description: '',
|
description: '',
|
||||||
title: '',
|
title: '',
|
||||||
linChart: [],
|
result: '',
|
||||||
reportItems: [],
|
tagName: '',
|
||||||
hTag: '',
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const calcLevel = (val: string) => {
|
||||||
|
let _s = JSON.parse(val)
|
||||||
|
if (_s[0].Total >= 70) {
|
||||||
|
return 3
|
||||||
|
} else if (_s[0].Total >= 60) {
|
||||||
|
return 2
|
||||||
|
} else if (_s[0].Total >= 50) {
|
||||||
|
return 1
|
||||||
|
} else {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
onLoad((options) => {
|
onLoad((options) => {
|
||||||
pageType.value = +options.type
|
pageType.value = +options.type
|
||||||
pageId.value = options.id
|
pageId.value = options.id
|
||||||
|
|
||||||
getAbilityDimension({ ScaleId: pageId.value }).then((resp) => {
|
getCustomScaleExplains({ CustomScaleId: pageId.value }).then((resp) => {
|
||||||
if (resp.code === 200) {
|
if (resp.code === 200) {
|
||||||
studyRecord.value = resp.result as {
|
studyRecord.value = resp.result as {
|
||||||
description: string
|
description: string
|
||||||
title: string
|
title: string
|
||||||
linChart: any[]
|
result: string
|
||||||
reportItems: any[]
|
tagName: string
|
||||||
hTag: string
|
|
||||||
}
|
}
|
||||||
|
level.value = calcLevel(studyRecord.value.result)
|
||||||
|
score.value = JSON.parse(studyRecord.value.result)[0].Total
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,138 @@
|
||||||
|
<route lang="json5" type="page">
|
||||||
|
{
|
||||||
|
style: {
|
||||||
|
navigationStyle: 'custom',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</route>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<view :scroll-y="true" class="flex flex-col h-screen relative custom-bg">
|
||||||
|
<Navbar
|
||||||
|
safeAreaInsetTop
|
||||||
|
:bordered="false"
|
||||||
|
leftArrow
|
||||||
|
@clickLeft="handleBack"
|
||||||
|
bg-color="transparent"
|
||||||
|
>
|
||||||
|
<template #title>
|
||||||
|
<text class="text-[#1F2329] text-[36rpx] font-medium text-[#fff]">SDS抑郁测评报告</text>
|
||||||
|
</template>
|
||||||
|
</Navbar>
|
||||||
|
|
||||||
|
<view class="flex-1 overflow-auto pb-safe relative mx-[24rpx]">
|
||||||
|
<!-- 顶部卡片 -->
|
||||||
|
<view class="mt-[60rpx]">
|
||||||
|
<StatusCard
|
||||||
|
:score="score"
|
||||||
|
:rules="depressionRules"
|
||||||
|
tip="结果只做参考,不能准确判断是否有抑郁症。"
|
||||||
|
:level="level"
|
||||||
|
:description="studyRecord.description"
|
||||||
|
:tagName="studyRecord.tagName"
|
||||||
|
/>
|
||||||
|
</view>
|
||||||
|
<view class="mt-[30rpx]">
|
||||||
|
<SuggestionCard />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<script setup lang="ts">
|
||||||
|
import Navbar from '@/pages-evaluation-sub/components/navbar/Navbar.vue'
|
||||||
|
import StatusCard from '../components/StatusCard.vue'
|
||||||
|
import SuggestionCard from '../components/SuggestionCard.vue'
|
||||||
|
|
||||||
|
import { getCustomScaleExplains } from '@/service/index/api'
|
||||||
|
|
||||||
|
const pageType = ref(0)
|
||||||
|
const pageId = ref(0)
|
||||||
|
|
||||||
|
// 示例规则2:抑郁评估
|
||||||
|
const depressionRules = [
|
||||||
|
{
|
||||||
|
label: '正常范围',
|
||||||
|
range: '<52分',
|
||||||
|
color: '#00B281',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '轻度抑郁',
|
||||||
|
range: '53-61分',
|
||||||
|
color: '#F8B801',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '中度抑郁',
|
||||||
|
range: '62-71分',
|
||||||
|
color: '#F79C33',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '重度抑郁',
|
||||||
|
range: '≥72分',
|
||||||
|
color: '#F5663E',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
const handleBack = () => {
|
||||||
|
uni.navigateBack()
|
||||||
|
}
|
||||||
|
|
||||||
|
const studyRecord = ref({
|
||||||
|
description: '',
|
||||||
|
title: '',
|
||||||
|
result: '',
|
||||||
|
tagName: '',
|
||||||
|
total: '',
|
||||||
|
})
|
||||||
|
|
||||||
|
const calcLevel = (val: string) => {
|
||||||
|
let _s = +val
|
||||||
|
if (_s >= 72) {
|
||||||
|
return 3
|
||||||
|
} else if (_s >= 62) {
|
||||||
|
return 2
|
||||||
|
} else if (_s >= 53) {
|
||||||
|
return 1
|
||||||
|
} else {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const score = ref(0)
|
||||||
|
const level = ref(0)
|
||||||
|
|
||||||
|
onLoad((options) => {
|
||||||
|
pageType.value = +options.type
|
||||||
|
pageId.value = options.id
|
||||||
|
|
||||||
|
getCustomScaleExplains({ CustomScaleId: pageId.value }).then((resp) => {
|
||||||
|
if (resp.code === 200) {
|
||||||
|
studyRecord.value = resp.result as {
|
||||||
|
description: string
|
||||||
|
title: string
|
||||||
|
result: string
|
||||||
|
tagName: string
|
||||||
|
total: string
|
||||||
|
}
|
||||||
|
level.value = calcLevel(studyRecord.value.total)
|
||||||
|
score.value = JSON.parse(studyRecord.value.total)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.custom-bg {
|
||||||
|
background: linear-gradient(184deg, #0d79fc 0%, #2186fc 100%);
|
||||||
|
}
|
||||||
|
:deep(.icon-class) {
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.custom-border {
|
||||||
|
width: 162rpx;
|
||||||
|
height: 162rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
border: 6rpx dashed;
|
||||||
|
border-color: #05d69c transparent transparent transparent;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,152 @@
|
||||||
|
<route lang="json5" type="page">
|
||||||
|
{
|
||||||
|
style: {
|
||||||
|
navigationStyle: 'custom',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</route>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<view :scroll-y="true" class="flex flex-col h-screen relative custom-bg">
|
||||||
|
<Navbar
|
||||||
|
safeAreaInsetTop
|
||||||
|
:bordered="false"
|
||||||
|
leftArrow
|
||||||
|
@clickLeft="handleBack"
|
||||||
|
bg-color="transparent"
|
||||||
|
>
|
||||||
|
<template #title>
|
||||||
|
<text class="text-[#1F2329] text-[36rpx] font-medium text-[#fff]">学习技能报告</text>
|
||||||
|
</template>
|
||||||
|
</Navbar>
|
||||||
|
|
||||||
|
<view class="flex-1 overflow-auto pb-safe relative mx-[24rpx]">
|
||||||
|
<!-- 顶部卡片 -->
|
||||||
|
<view class="mt-[60rpx]">
|
||||||
|
<StatusCard
|
||||||
|
:score="score"
|
||||||
|
:rules="anxietyRules"
|
||||||
|
tip="测评结果只做参考。"
|
||||||
|
:level="level"
|
||||||
|
:description="studyRecord.description"
|
||||||
|
:tagName="studyRecord.tagName"
|
||||||
|
/>
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
<LearnSkillSuggestion
|
||||||
|
v-for="(item, index) in suggestions"
|
||||||
|
:key="index"
|
||||||
|
:items="item.items"
|
||||||
|
:title="item.title"
|
||||||
|
></LearnSkillSuggestion>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<script setup lang="ts">
|
||||||
|
import Navbar from '@/pages-evaluation-sub/components/navbar/Navbar.vue'
|
||||||
|
import StatusCard from '../components/StatusCard.vue'
|
||||||
|
import LearnSkillSuggestion from '../components/LearnSkillSuggestion.vue'
|
||||||
|
|
||||||
|
import { getCustomScaleExplains } from '@/service/index/api'
|
||||||
|
|
||||||
|
const pageType = ref(0)
|
||||||
|
const pageId = ref(0)
|
||||||
|
const anxietyRules = [
|
||||||
|
{
|
||||||
|
label: '很差',
|
||||||
|
range: '≤80分',
|
||||||
|
color: '#F5663E',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '较差',
|
||||||
|
range: '81-104分',
|
||||||
|
color: '#F8B801',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '一般',
|
||||||
|
range: '105-136分',
|
||||||
|
color: '#F3A953',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '较好',
|
||||||
|
range: '137-160分',
|
||||||
|
color: '#55E5C5',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '优秀',
|
||||||
|
range: '≥161分',
|
||||||
|
color: '#00B281',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
const score = ref(0)
|
||||||
|
const level = ref(0)
|
||||||
|
|
||||||
|
const handleBack = () => {
|
||||||
|
uni.navigateBack()
|
||||||
|
}
|
||||||
|
|
||||||
|
const studyRecord = ref({
|
||||||
|
description: '',
|
||||||
|
title: '',
|
||||||
|
result: '',
|
||||||
|
tagName: '',
|
||||||
|
suggestions: '',
|
||||||
|
})
|
||||||
|
|
||||||
|
const calcLevel = (val: string) => {
|
||||||
|
let _s = JSON.parse(val)
|
||||||
|
if (_s[0].Total >= 161) {
|
||||||
|
return 4
|
||||||
|
} else if (_s[0].Total >= 137) {
|
||||||
|
return 3
|
||||||
|
} else if (_s[0].Total >= 105) {
|
||||||
|
return 2
|
||||||
|
} else if (_s[0].Total >= 81) {
|
||||||
|
return 1
|
||||||
|
} else {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const suggestions = ref([])
|
||||||
|
|
||||||
|
onLoad((options) => {
|
||||||
|
pageType.value = +options.type
|
||||||
|
pageId.value = options.id
|
||||||
|
|
||||||
|
getCustomScaleExplains({ CustomScaleId: pageId.value }).then((resp) => {
|
||||||
|
if (resp.code === 200) {
|
||||||
|
studyRecord.value = resp.result as {
|
||||||
|
description: string
|
||||||
|
title: string
|
||||||
|
result: string
|
||||||
|
tagName: string
|
||||||
|
suggestions: string
|
||||||
|
}
|
||||||
|
level.value = calcLevel(studyRecord.value.result)
|
||||||
|
score.value = JSON.parse(studyRecord.value.result)[0].Total
|
||||||
|
suggestions.value = JSON.parse(studyRecord.value.suggestions).succestions
|
||||||
|
console.log(suggestions)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.custom-bg {
|
||||||
|
background: linear-gradient(184deg, #0d79fc 0%, #2186fc 100%);
|
||||||
|
}
|
||||||
|
:deep(.icon-class) {
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.custom-border {
|
||||||
|
width: 162rpx;
|
||||||
|
height: 162rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
border: 6rpx dashed;
|
||||||
|
border-color: #05d69c transparent transparent transparent;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,135 @@
|
||||||
|
<route lang="json5" type="page">
|
||||||
|
{
|
||||||
|
style: {
|
||||||
|
navigationStyle: 'custom',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</route>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<view :scroll-y="true" class="flex flex-col h-screen relative custom-bg">
|
||||||
|
<Navbar
|
||||||
|
safeAreaInsetTop
|
||||||
|
:bordered="false"
|
||||||
|
leftArrow
|
||||||
|
@clickLeft="handleBack"
|
||||||
|
bg-color="transparent"
|
||||||
|
>
|
||||||
|
<template #title>
|
||||||
|
<text class="text-[#1F2329] text-[36rpx] font-medium text-[#fff]">考试焦虑测评报告</text>
|
||||||
|
</template>
|
||||||
|
</Navbar>
|
||||||
|
|
||||||
|
<view class="flex-1 overflow-auto pb-safe relative mx-[24rpx]">
|
||||||
|
<!-- 顶部卡片 -->
|
||||||
|
<view class="mt-[60rpx]">
|
||||||
|
<StatusCard
|
||||||
|
:score="score"
|
||||||
|
:rules="anxietyRules"
|
||||||
|
tip="结果只做参考,不能准确判断是否有焦虑症。"
|
||||||
|
:level="level"
|
||||||
|
:description="studyRecord.description"
|
||||||
|
:tagName="studyRecord.tagName"
|
||||||
|
/>
|
||||||
|
</view>
|
||||||
|
<view class="mt-[30rpx]"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
<script setup lang="ts">
|
||||||
|
import Navbar from '@/pages-evaluation-sub/components/navbar/Navbar.vue'
|
||||||
|
import StatusCard from '../components/StatusCard.vue'
|
||||||
|
|
||||||
|
import { getCustomScaleExplains } from '@/service/index/api'
|
||||||
|
|
||||||
|
const pageType = ref(0)
|
||||||
|
const pageId = ref(0)
|
||||||
|
const anxietyRules = [
|
||||||
|
{
|
||||||
|
label: '正常范围',
|
||||||
|
range: '<50分',
|
||||||
|
color: '#00B281',
|
||||||
|
itemColorName: 'green',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '轻度焦虑',
|
||||||
|
range: '50-59分',
|
||||||
|
color: '#F8B801',
|
||||||
|
itemColorName: 'yellow',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '中度焦虑',
|
||||||
|
range: '60-69分',
|
||||||
|
color: '#F79C33',
|
||||||
|
itemColorName: 'origin',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '重度焦虑',
|
||||||
|
range: '≥70分',
|
||||||
|
color: '#F5663E',
|
||||||
|
itemColorName: 'red',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
const score = ref(0)
|
||||||
|
const level = ref(0)
|
||||||
|
|
||||||
|
const handleBack = () => {
|
||||||
|
uni.navigateBack()
|
||||||
|
}
|
||||||
|
|
||||||
|
const studyRecord = ref({
|
||||||
|
description: '',
|
||||||
|
title: '',
|
||||||
|
result: '',
|
||||||
|
tagName: '',
|
||||||
|
})
|
||||||
|
|
||||||
|
const calcLevel = (val: string) => {
|
||||||
|
let _s = JSON.parse(val)
|
||||||
|
if (_s[0].Total >= 70) {
|
||||||
|
return 3
|
||||||
|
} else if (_s[0].Total >= 60) {
|
||||||
|
return 2
|
||||||
|
} else if (_s[0].Total >= 50) {
|
||||||
|
return 1
|
||||||
|
} else {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onLoad((options) => {
|
||||||
|
pageType.value = +options.type
|
||||||
|
pageId.value = options.id
|
||||||
|
|
||||||
|
getCustomScaleExplains({ CustomScaleId: pageId.value }).then((resp) => {
|
||||||
|
if (resp.code === 200) {
|
||||||
|
studyRecord.value = resp.result as {
|
||||||
|
description: string
|
||||||
|
title: string
|
||||||
|
result: string
|
||||||
|
tagName: string
|
||||||
|
}
|
||||||
|
level.value = calcLevel(studyRecord.value.result)
|
||||||
|
score.value = JSON.parse(studyRecord.value.result)[0].Total
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.custom-bg {
|
||||||
|
background: linear-gradient(184deg, #0d79fc 0%, #2186fc 100%);
|
||||||
|
}
|
||||||
|
:deep(.icon-class) {
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.custom-border {
|
||||||
|
width: 162rpx;
|
||||||
|
height: 162rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
border: 6rpx dashed;
|
||||||
|
border-color: #05d69c transparent transparent transparent;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
v-for="item in menus"
|
v-for="item in menus"
|
||||||
:key="item.key"
|
:key="item.key"
|
||||||
:class="[
|
:class="[
|
||||||
'flex items-center view-block pl-[32rpx] h-[96rpx] text-[28rpx] font-semibold',
|
'flex items-center view-block pl-[32rpx] min-h-[96rpx] h-[96rpx] text-[28rpx] text-[#666] font-semibold',
|
||||||
currentMenuObj?.key === item.key ? 'active' : '',
|
currentMenuObj?.key === item.key ? 'active' : '',
|
||||||
]"
|
]"
|
||||||
@click="changeMenu(item)"
|
@click="changeMenu(item)"
|
||||||
|
|
|
||||||
|
|
@ -37,19 +37,19 @@
|
||||||
class="h-full"
|
class="h-full"
|
||||||
:type="1050"
|
:type="1050"
|
||||||
:keyword="searchValue"
|
:keyword="searchValue"
|
||||||
v-if="currentTab === 0"
|
v-show="currentTab === 0"
|
||||||
></MajorList>
|
></MajorList>
|
||||||
<MajorList
|
<MajorList
|
||||||
class="h-full"
|
class="h-full"
|
||||||
:type="1070"
|
:type="1070"
|
||||||
:keyword="searchValue"
|
:keyword="searchValue"
|
||||||
v-if="currentTab === 1"
|
v-show="currentTab === 1"
|
||||||
></MajorList>
|
></MajorList>
|
||||||
<MajorList
|
<MajorList
|
||||||
class="h-full"
|
class="h-full"
|
||||||
:type="1060"
|
:type="1060"
|
||||||
:keyword="searchValue"
|
:keyword="searchValue"
|
||||||
v-if="currentTab === 2"
|
v-show="currentTab === 2"
|
||||||
></MajorList>
|
></MajorList>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,19 @@ const toDetail = (item: any) => {
|
||||||
url = `/pages-evaluation-sub/evaluate/academicReport/opinionAboutReport?id=${item.reportsId}&type=${item.type}`
|
url = `/pages-evaluation-sub/evaluate/academicReport/opinionAboutReport?id=${item.reportsId}&type=${item.type}`
|
||||||
} else if (item.type === 6) {
|
} else if (item.type === 6) {
|
||||||
url = `/pages-evaluation-sub/evaluate/psychologicalReport/sasReport?id=${item.reportsId}&type=${item.type}`
|
url = `/pages-evaluation-sub/evaluate/psychologicalReport/sasReport?id=${item.reportsId}&type=${item.type}`
|
||||||
|
} else if (item.type === 7) {
|
||||||
|
url = `/pages-evaluation-sub/evaluate/psychologicalReport/sdsReport?id=${item.reportsId}&type=${item.type}`
|
||||||
|
} else if (item.type === 9) {
|
||||||
|
// url = `/pages-evaluation-sub/evaluate/psychologicalReport/mhtReport?id=${item.reportsId}&type=${item.type}`
|
||||||
|
uni.showToast({
|
||||||
|
title: '开发中....',
|
||||||
|
icon: 'none',
|
||||||
|
})
|
||||||
|
return
|
||||||
|
} else if (item.type === 4) {
|
||||||
|
url = `/pages-evaluation-sub/evaluate/studyReport/LearnStudyReport?id=${item.reportsId}&type=${item.type}`
|
||||||
|
} else if (item.type === 5) {
|
||||||
|
url = `/pages-evaluation-sub/evaluate/studyReport/LearnSkillReport?id=${item.reportsId}&type=${item.type}`
|
||||||
} else {
|
} else {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: '开发中....',
|
title: '开发中....',
|
||||||
|
|
|
||||||
|
|
@ -371,12 +371,40 @@
|
||||||
"navigationStyle": "custom"
|
"navigationStyle": "custom"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "evaluate/psychologicalReport/mhtReport",
|
||||||
|
"type": "page",
|
||||||
|
"style": {
|
||||||
|
"navigationStyle": "custom"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "evaluate/psychologicalReport/sasReport",
|
"path": "evaluate/psychologicalReport/sasReport",
|
||||||
"type": "page",
|
"type": "page",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationStyle": "custom"
|
"navigationStyle": "custom"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "evaluate/psychologicalReport/sdsReport",
|
||||||
|
"type": "page",
|
||||||
|
"style": {
|
||||||
|
"navigationStyle": "custom"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "evaluate/studyReport/LearnSkillReport",
|
||||||
|
"type": "page",
|
||||||
|
"style": {
|
||||||
|
"navigationStyle": "custom"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "evaluate/studyReport/LearnStudyReport",
|
||||||
|
"type": "page",
|
||||||
|
"style": {
|
||||||
|
"navigationStyle": "custom"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -449,3 +449,7 @@ export const downloadPDF = (params: { id: number; location: string }) => {
|
||||||
export const getBatchDynamicData = (params: { LocationCode: string; Course: string }) => {
|
export const getBatchDynamicData = (params: { LocationCode: string; Course: string }) => {
|
||||||
return http.get('/api/busBatchBase/batch', params)
|
return http.get('/api/busBatchBase/batch', params)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const getCustomScaleExplains = (params: { CustomScaleId: number }) => {
|
||||||
|
return http.get('/api/busScale/GetCustomScaleExplains', params)
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,11 @@ interface NavigateToOptions {
|
||||||
"/pages-evaluation-sub/evaluate/academicReport/characterReport" |
|
"/pages-evaluation-sub/evaluate/academicReport/characterReport" |
|
||||||
"/pages-evaluation-sub/evaluate/academicReport/interestReport" |
|
"/pages-evaluation-sub/evaluate/academicReport/interestReport" |
|
||||||
"/pages-evaluation-sub/evaluate/academicReport/opinionAboutReport" |
|
"/pages-evaluation-sub/evaluate/academicReport/opinionAboutReport" |
|
||||||
|
"/pages-evaluation-sub/evaluate/psychologicalReport/mhtReport" |
|
||||||
"/pages-evaluation-sub/evaluate/psychologicalReport/sasReport" |
|
"/pages-evaluation-sub/evaluate/psychologicalReport/sasReport" |
|
||||||
|
"/pages-evaluation-sub/evaluate/psychologicalReport/sdsReport" |
|
||||||
|
"/pages-evaluation-sub/evaluate/studyReport/LearnSkillReport" |
|
||||||
|
"/pages-evaluation-sub/evaluate/studyReport/LearnStudyReport" |
|
||||||
"/aiService-sub/index/index";
|
"/aiService-sub/index/index";
|
||||||
}
|
}
|
||||||
interface RedirectToOptions extends NavigateToOptions {}
|
interface RedirectToOptions extends NavigateToOptions {}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue