feat: 测评报告页面学习报告编写中
|
|
@ -20,7 +20,7 @@
|
|||
<!-- 左侧区域 -->
|
||||
<view class="navbar-left" @click="handleClickLeft">
|
||||
<view v-if="leftArrow" class="back-icon">
|
||||
<view class="i-carbon-chevron-left text-[48rpx] text-[#333] font-semibold" />
|
||||
<view class="i-carbon-chevron-left text-[48rpx] text-[#333] font-semibold icon-class" />
|
||||
</view>
|
||||
<slot name="left"></slot>
|
||||
</view>
|
||||
|
|
@ -190,14 +190,7 @@ const handleClickLeft = () => {
|
|||
height: 100%;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'iconfont';
|
||||
src: url('data:font/woff2;charset=utf-8;base64,d09GMgABAAAAAAKYAAsAAAAABlAAAAJMAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFQGYACCcApcdgE2AiQDCAsGAAQgBYRnBzYbmQXIHpIkBQQKkYCABBEPz2/t/XN3twEbowBkQTxQEQ1RKaKSxEOi0agkJKF5Qvj/f037IFKwlZ2dWU2tJu0EhPwHkBwgOVAclKcvAQpI/v/fz/08XECy+YBymmPQiwIcSmhAY4uSFcgJ+IaxC1zCYwLtRjWSnZ2rGgQWBowLxCPrVBBYllQqNTQ0VISaBXEHtTRNUwW4jb4f/xYEC0kqMzDx6CGrQuKXxKc6Zf7POYQgQHs5kIwjYwEoxK3G/DpRwbi0dlNwKKjAL4lf6vw/R2zVWvTPIwuiCnp2wCRUZ3yJX5pJFVDfByyAFR2AblMAX/OR3t7+zOJi8GyyfzC1uQXLZvtnk/0zyfTy+PvH0/Xp5OzR98/H797/+/fDu3d/3739+/fd+/+nmxvLc5vrS+sry2vz84tLs9Mzc4vzs9NTM/Ozc1OzM3MzU/Mz0wvTU4vTk0tTE8uTEyuT4yv/G0E3XUxv7wwNbu/s9G8fbO9v7+3sb+3ubW4dbO4dbO3vbu4dbO3JzqPFtRE4gEGAX0NBkL+hpCZALkEp5FKUQqE0NHlXJIGrDNAOcEQBCHU+kXT5QNblC7kEv1EK9Y9SB/8o7YYu2m0YXrJLouNIjQJhH+QbVkVZrUQ+YuqzUJdzxPMHhdIj0+hg4o0D8ogj5r5bSoQUxjADz+A8hBDQFEYwh3mommXTul7Vm5ZtqAqJHIdoKCDYDyQ3mCqUG1YKn5+C0s0yiJ/qKVAQedKAhg6Y3mEHJBQaWKnvLVMiiEIxGAY8Aw6HIAhAJmEIzIIOUjLTTAB1taL1QvNq+fYN7QDjcc2okeioaOmy5LFXt3QAAAAA')
|
||||
format('woff2');
|
||||
}
|
||||
|
||||
.back-text {
|
||||
font-family: 'iconfont' !important;
|
||||
font-size: 48rpx;
|
||||
font-style: normal;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,249 @@
|
|||
<route lang="json5" type="page">
|
||||
{
|
||||
style: {
|
||||
navigationStyle: 'custom',
|
||||
},
|
||||
}
|
||||
</route>
|
||||
|
||||
<template>
|
||||
<scroll-view :scroll-y="true" class="flex flex-col h-screen relative">
|
||||
<Navbar
|
||||
safeAreaInsetTop
|
||||
:bordered="false"
|
||||
leftArrow
|
||||
@clickLeft="handleBack"
|
||||
bg-color="transparent"
|
||||
>
|
||||
<template #title>
|
||||
<text class="text-[#1F2329] text-[36rpx] font-medium text-[#fff]">{{ pageName }}</text>
|
||||
</template>
|
||||
</Navbar>
|
||||
<view class="h-full w-full custom-bg absolute top-0 left-0 -z-1"></view>
|
||||
|
||||
<view class="flex-1 overflow-auto pb-[30rpx] relative">
|
||||
<!-- 顶部卡片 -->
|
||||
<view class="flex flex-col pt-[32rpx] px-[84rpx] h-[244rpx] mb-[-148rpx]">
|
||||
<image src="/static/images/evaluate/bg.png" class="header-bg" />
|
||||
<text class="text-[#333] text-[28rpx] mb-[14rpx] z-2">您的兴趣类型为</text>
|
||||
<text class="text-[#117CFC] text-[36rpx] z-2">{{ studyRecord.title }}</text>
|
||||
</view>
|
||||
|
||||
<!-- 雷达图占位 -->
|
||||
|
||||
<InterestRadar :picData="studyRecord.picCharts" />
|
||||
|
||||
<!-- 类型说明 -->
|
||||
<TypeDetail :reportItems="studyRecord.reportItems" />
|
||||
|
||||
<!-- 适合的岗位领域 -->
|
||||
<DependenciesChart />
|
||||
|
||||
<!-- 适合职业 -->
|
||||
<view class="suitable-careers mx-[30rpx] mt-[30rpx] bg-white rounded-[20rpx] p-[30rpx]">
|
||||
<view class="text-center mb-[30rpx]">
|
||||
<text class="text-[32rpx] font-bold relative inline-block pb-[10rpx]">
|
||||
适合职业
|
||||
<view
|
||||
class="absolute bottom-0 left-1/2 transform -translate-x-1/2 w-[80rpx] h-[6rpx] bg-[#117CFC] rounded-full"
|
||||
></view>
|
||||
</text>
|
||||
</view>
|
||||
|
||||
<view class="career-details mb-[20rpx]">
|
||||
<text class="text-[28rpx] font-bold mb-[15rpx] block">I 适合职业</text>
|
||||
<text class="text-[26rpx] text-[#666] leading-[40rpx]">
|
||||
机械、电气、电子工程师、各类技术专家和技师、计算机软件、系统集成专业人员等;专职研究、金融工作者、财务顾问、经济学研究者等;银行、商贸、产品代理商(年历产品为主)等、警察、侦探、法官工作者、策展、导游等、飞行员、高级厨师等等。
|
||||
</text>
|
||||
</view>
|
||||
|
||||
<view class="career-table">
|
||||
<view class="table-row flex border-b border-[#eee] py-[20rpx]">
|
||||
<text class="w-[100rpx] text-center font-bold">专业大类</text>
|
||||
<text class="flex-1 text-center font-bold">专业类</text>
|
||||
<text class="flex-1 text-center font-bold">专业名称</text>
|
||||
</view>
|
||||
|
||||
<view class="table-row flex border-b border-[#eee] py-[20rpx]">
|
||||
<text class="w-[100rpx] text-center">医学</text>
|
||||
<text class="flex-1 text-center">中医学</text>
|
||||
<text class="flex-1 text-center">中医学专业</text>
|
||||
</view>
|
||||
|
||||
<view class="table-row flex border-b border-[#eee] py-[20rpx]">
|
||||
<text class="w-[100rpx] text-center">医学</text>
|
||||
<text class="flex-1 text-center">中医学</text>
|
||||
<text class="flex-1 text-center">中医学专业</text>
|
||||
</view>
|
||||
|
||||
<view class="table-row flex border-b border-[#eee] py-[20rpx]">
|
||||
<text class="w-[100rpx] text-center">医学</text>
|
||||
<text class="flex-1 text-center">健康管理与促进</text>
|
||||
<text class="flex-1 text-center">心理健康</text>
|
||||
</view>
|
||||
|
||||
<view class="table-row flex border-b border-[#eee] py-[20rpx]">
|
||||
<text class="w-[100rpx] text-center">医学</text>
|
||||
<text class="flex-1 text-center">公共卫生与预防</text>
|
||||
<text class="flex-1 text-center">中医养生保健</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 兴趣分析与代表人物 -->
|
||||
<InterestingThings />
|
||||
|
||||
<!-- 底部AI智能顾问 -->
|
||||
<view class="ai-assistant mt-[20rpx] mb-[10rpx] flex items-center justify-center">
|
||||
<image src="" class="w-[32rpx] h-[32rpx] mr-[10rpx]"></image>
|
||||
<text class="text-[#117CFC] text-[26rpx]">智能AI顾问</text>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import Navbar from '@/pages-evaluation-sub/components/navbar/Navbar.vue'
|
||||
import TypeDetail from '../components/TypeDetail.vue'
|
||||
import InterestRadar from '../components/interestChart/InterestRadar.vue'
|
||||
|
||||
import { getHollandDimensionInfo } from '@/service/index/api'
|
||||
import InterestingThings from '../components/InterestingThings.vue'
|
||||
import DependenciesChart from '../components/interestChart/DependenciesChart.vue'
|
||||
|
||||
const pageType = ref(0)
|
||||
const pageId = ref(0)
|
||||
const pageName = computed(() => {
|
||||
// type=0 兴趣测评报告
|
||||
// =1 性格测评报告
|
||||
// =2 能力测评
|
||||
// =3 学生考试考虑
|
||||
// =4 学习风格
|
||||
// =5 学习技能
|
||||
// =6 SAS
|
||||
// =7 SDS
|
||||
// =8 SCL-90
|
||||
// =9 MHT
|
||||
/// =-1 价值观
|
||||
/// =-2 留学咨询
|
||||
let title = ''
|
||||
switch (pageType.value) {
|
||||
case 0:
|
||||
title = '兴趣测评报告'
|
||||
break
|
||||
case 1:
|
||||
title = '性格测评报告'
|
||||
break
|
||||
case 2:
|
||||
title = '能力测评'
|
||||
break
|
||||
case 3:
|
||||
title = '学生考试考虑'
|
||||
break
|
||||
case 4:
|
||||
title = '学习风格'
|
||||
break
|
||||
case 5:
|
||||
title = '学习技能'
|
||||
break
|
||||
case 6:
|
||||
title = 'SAS'
|
||||
break
|
||||
case 7:
|
||||
title = 'SDS'
|
||||
break
|
||||
case 8:
|
||||
title = 'SCL-90'
|
||||
break
|
||||
case 9:
|
||||
title = 'MHT'
|
||||
break
|
||||
case -1:
|
||||
title = '价值观'
|
||||
break
|
||||
case -2:
|
||||
title = '留学咨询'
|
||||
break
|
||||
default:
|
||||
title = '学术报告'
|
||||
break
|
||||
}
|
||||
return title
|
||||
})
|
||||
|
||||
const handleBack = () => {
|
||||
uni.navigateBack()
|
||||
}
|
||||
|
||||
const studyRecord = ref({ description: '', title: '', picCharts: {}, reportItems: [] })
|
||||
const getHollandDimension = () => {
|
||||
getHollandDimensionInfo({ ScaleId: pageId.value.toString() }).then((resp) => {
|
||||
if (resp.code === 200) {
|
||||
studyRecord.value = resp.result as {
|
||||
description: string
|
||||
title: string
|
||||
picCharts: any
|
||||
reportItems: any[]
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const fetchUrl = (type: number) => {
|
||||
switch (type) {
|
||||
case 0:
|
||||
getHollandDimension()
|
||||
break
|
||||
|
||||
default:
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
onLoad((options) => {
|
||||
pageType.value = +options.type
|
||||
pageId.value = options.id
|
||||
|
||||
fetchUrl(pageType.value)
|
||||
})
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.custom-bg {
|
||||
background: linear-gradient(184deg, #0d79fc 0%, #2186fc 100%);
|
||||
}
|
||||
:deep(.icon-class) {
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.header-bg {
|
||||
width: calc(100% - 80rpx);
|
||||
height: 244rpx;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 40rpx;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.type-tag {
|
||||
font-size: 24rpx;
|
||||
min-width: 40rpx;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.position-tag {
|
||||
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);
|
||||
font-size: 26rpx;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.table-row {
|
||||
align-items: center;
|
||||
font-size: 26rpx;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.avatar-item image {
|
||||
border: 4rpx solid #fff;
|
||||
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
<template>
|
||||
<view class="interest-analysis mx-[30rpx] mt-[30rpx] bg-white rounded-[20rpx] p-[30rpx]">
|
||||
<view class="text-center mb-[30rpx]">
|
||||
<text class="text-[32rpx] font-bold relative inline-block pb-[10rpx]">
|
||||
兴趣分析与代表人物
|
||||
<view
|
||||
class="absolute bottom-0 left-1/2 transform -translate-x-1/2 w-[80rpx] h-[6rpx] bg-[#117CFC] rounded-full"
|
||||
></view>
|
||||
</text>
|
||||
</view>
|
||||
|
||||
<text class="text-[26rpx] text-[#666] leading-[40rpx] mb-[30rpx] block">
|
||||
你往往意识现实事物的价值,区分高低,做事诚实,较为谦逊,善表达,描写详尽,不偏激,不自作多情,善察言观色,重视自我生活中细节与感官享受,通过分析思考的方式生活,理解不顾情面,不暧昧含糊,创新力不高,高有情感无法用语言表达,真实客观,情绪波动大,较冲动,不愿从俗排挤,不存野心社会竞争中,不敏感,情绪平稳,善事工作者自然人。事件记忆能力好,为人好好,热情,开朗,善良,敢为人先,他人友好,理解他人生活,好奇心强,对事物有兴趣,通常对工具和机器感兴趣,聚焦,毅力旺盛,客观理性,好又好,好心肠,友善,表达感谢,美言赞扬,看心情,贴心咨询,有爱,臣俯首,温和,善良,耐心,贴心,和气待人。
|
||||
</text>
|
||||
|
||||
<view class="avatars-list flex justify-around">
|
||||
<view class="avatar-item flex flex-col items-center">
|
||||
<image src="" class="w-[120rpx] h-[120rpx] rounded-full" mode="aspectFill"></image>
|
||||
<text class="mt-[10rpx] text-[26rpx]">刘亦菲</text>
|
||||
</view>
|
||||
|
||||
<view class="avatar-item flex flex-col items-center">
|
||||
<image src="" class="w-[120rpx] h-[120rpx] rounded-full" mode="aspectFill"></image>
|
||||
<text class="mt-[10rpx] text-[26rpx]">谭咏麟</text>
|
||||
</view>
|
||||
|
||||
<view class="avatar-item flex flex-col items-center">
|
||||
<image src="" class="w-[120rpx] h-[120rpx] rounded-full" mode="aspectFill"></image>
|
||||
<text class="mt-[10rpx] text-[26rpx]">毕加索</text>
|
||||
</view>
|
||||
|
||||
<view class="avatar-item flex flex-col items-center">
|
||||
<image src="" class="w-[120rpx] h-[120rpx] rounded-full" mode="aspectFill"></image>
|
||||
<text class="mt-[10rpx] text-[26rpx]">李白</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup></script>
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
<template>
|
||||
<view
|
||||
class="text-[26rpx] text-[#000] mx-[24rpx] bg-[#fff] flex flex-col px-[20rpx] gap-[10rpx] pb-[20rpx] custom-class"
|
||||
>
|
||||
<view class="flex gap-[10rpx] w-full">
|
||||
<view class="w-[94rpx] py-[12rpx] bg-color text-center">类型</view>
|
||||
<view class="py-[12rpx] text-center bg-color flex-1">性格特点</view>
|
||||
</view>
|
||||
<view class="flex gap-[10rpx] w-full" v-for="(item, index) in reportItems" :key="index">
|
||||
<view class="w-[94rpx] py-[12rpx] bg-color text-center">
|
||||
<view>{{ item.tag }}</view>
|
||||
<view>{{ item.title }}</view>
|
||||
</view>
|
||||
<view class="py-[22rpx] px-[14rpx] text-start bg-color flex-1">{{ item.resolving }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
const props = defineProps({
|
||||
reportItems: {
|
||||
type: Array<any>,
|
||||
default: () => [],
|
||||
},
|
||||
})
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.bg-color {
|
||||
background-color: #f5faff;
|
||||
border-radius: 8rpx;
|
||||
}
|
||||
|
||||
.custom-class {
|
||||
border-radius: 0 0 20rpx 20rpx;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,129 @@
|
|||
<template>
|
||||
<view class="suitable-positions mx-[30rpx] mt-[30rpx] bg-white rounded-[20rpx] p-[30rpx]">
|
||||
<view class="text-center mb-[24rpx]">
|
||||
<view class="text-[32rpx] font-bold relative inline-flex pb-[10rpx] items-center">
|
||||
<view class="i-carbon-flash-filled h-[23rpx] w-[17rpx] text-[#1880FC]"></view>
|
||||
<text class="text-[#1880FC] text-[36rpx] font-bold">适合的岗位领域</text>
|
||||
<view class="i-carbon-flash-filled h-[23rpx] w-[17rpx] text-[#1880FC]"></view>
|
||||
<view
|
||||
class="absolute bottom-0 left-1/2 transform -translate-x-1/2 w-full h-[6rpx] bg-[#cce3fc] rounded-full title-bar"
|
||||
></view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<LEchart ref="echart" class="h-[415rpx] w-full"></LEchart>
|
||||
</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)
|
||||
const props = defineProps({
|
||||
chartData: {
|
||||
type: Array,
|
||||
default: () => ['社会型', '研究型', '企业型', '艺术型', '常规型', '现实型'],
|
||||
},
|
||||
})
|
||||
onMounted(() => {
|
||||
echart.value.init(echarts, (chart) => {
|
||||
let option = {
|
||||
tooltip: {},
|
||||
animationDurationUpdate: 1500,
|
||||
animationEasingUpdate: 'quinticInOut',
|
||||
series: [
|
||||
{
|
||||
type: 'graph',
|
||||
layout: 'none',
|
||||
symbolSize: 50,
|
||||
roam: true,
|
||||
label: {
|
||||
show: true,
|
||||
},
|
||||
edgeSymbol: ['circle', 'arrow'],
|
||||
edgeSymbolSize: [4, 10],
|
||||
edgeLabel: {
|
||||
fontSize: 20,
|
||||
},
|
||||
data: [
|
||||
{
|
||||
name: '节点1',
|
||||
x: 300,
|
||||
y: 300,
|
||||
},
|
||||
{
|
||||
name: '节点2',
|
||||
x: 800,
|
||||
y: 300,
|
||||
},
|
||||
{
|
||||
name: '节点3',
|
||||
x: 550,
|
||||
y: 100,
|
||||
},
|
||||
{
|
||||
name: '节点4',
|
||||
x: 550,
|
||||
y: 500,
|
||||
},
|
||||
],
|
||||
// links: [],
|
||||
links: [
|
||||
{
|
||||
source: 0,
|
||||
target: 1,
|
||||
symbolSize: [5, 20],
|
||||
label: {
|
||||
show: true,
|
||||
},
|
||||
lineStyle: {
|
||||
width: 5,
|
||||
curveness: 0.2,
|
||||
},
|
||||
},
|
||||
{
|
||||
source: '节点2',
|
||||
target: '节点1',
|
||||
label: {
|
||||
show: true,
|
||||
},
|
||||
lineStyle: {
|
||||
curveness: 0.2,
|
||||
},
|
||||
},
|
||||
{
|
||||
source: '节点1',
|
||||
target: '节点3',
|
||||
},
|
||||
{
|
||||
source: '节点2',
|
||||
target: '节点3',
|
||||
},
|
||||
{
|
||||
source: '节点2',
|
||||
target: '节点4',
|
||||
},
|
||||
{
|
||||
source: '节点1',
|
||||
target: '节点4',
|
||||
},
|
||||
],
|
||||
lineStyle: {
|
||||
opacity: 0.9,
|
||||
width: 2,
|
||||
curveness: 0,
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
chart.setOption(option)
|
||||
})
|
||||
})
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.title-bar {
|
||||
transform: translateX(-50%) skewX(-20deg);
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,100 @@
|
|||
<template>
|
||||
<view
|
||||
class="radar-chart-placeholder mx-[24rpx] bg-white chart-class h-[500rpx] flex items-center justify-center"
|
||||
>
|
||||
<LEchart ref="echart" class="h-[415rpx] w-full"></LEchart>
|
||||
</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)
|
||||
const props = defineProps({
|
||||
picData: {
|
||||
type: Object,
|
||||
default: () => ({
|
||||
indicator: [],
|
||||
radars: [],
|
||||
}),
|
||||
},
|
||||
})
|
||||
|
||||
// 处理标签名称的映射
|
||||
const nameMap: Record<string, string> = {
|
||||
A: '艺术型(A)',
|
||||
R: '现实型(R)',
|
||||
I: '研究型(I)',
|
||||
S: '社会型(S)',
|
||||
E: '企业型(E)',
|
||||
C: '常规型(C)',
|
||||
}
|
||||
|
||||
// 转换 indicator 数据
|
||||
const formatIndicator = computed(() => {
|
||||
return props.picData.indicator.map((item) => ({
|
||||
name: nameMap[item.name] || item.name,
|
||||
max: item.max,
|
||||
}))
|
||||
})
|
||||
|
||||
watch(
|
||||
() => props.picData,
|
||||
(newV) => {
|
||||
if (newV.radars.length > 0) {
|
||||
echart.value.init(echarts, (chart) => {
|
||||
let option = {
|
||||
legend: {
|
||||
show: false,
|
||||
data: ['Allocated Budget', 'Actual Spending'],
|
||||
},
|
||||
radar: {
|
||||
indicator: formatIndicator.value,
|
||||
splitArea: {
|
||||
show: false,
|
||||
},
|
||||
axisLine: {
|
||||
lineStyle: {
|
||||
color: '#999',
|
||||
},
|
||||
},
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
color: '#999',
|
||||
},
|
||||
},
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '职业兴趣评测',
|
||||
type: 'radar',
|
||||
data: [
|
||||
{
|
||||
value: props.picData.radars,
|
||||
name: '测评结果',
|
||||
itemStyle: {
|
||||
color: '#1580FF',
|
||||
},
|
||||
areaStyle: {
|
||||
color: 'rgba(21,128,255,0.2)',
|
||||
},
|
||||
lineStyle: {
|
||||
width: 2,
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
}
|
||||
chart.setOption(option)
|
||||
})
|
||||
}
|
||||
},
|
||||
)
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.chart-class {
|
||||
border-radius: 20rpx 20rpx 0 0;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -128,6 +128,11 @@ const handleCheckChange = (value: any[]) => {
|
|||
} else {
|
||||
answerMap.set(_type, { name: _name, value: value.length })
|
||||
}
|
||||
|
||||
if (questionType.value === 0) {
|
||||
// 单选题就点完跳下一题
|
||||
handleNextQuestion()
|
||||
}
|
||||
}
|
||||
// 当前显示的卡片索引
|
||||
const currentIndex = ref(0)
|
||||
|
|
|
|||
|
|
@ -8,8 +8,12 @@
|
|||
|
||||
<template>
|
||||
<scroll-view scroll-y class="pb-safe bg-[#f8f8f8] h-screen">
|
||||
<view class="item-wrapper" v-for="(item, index) in appointList" :key="index">
|
||||
<view class="flex gap-[24rpx] wish-border justify-between p-[32rpx] rounded-[8rpx] items-end">
|
||||
<view class="px-[32rpx] mt-[32rpx] flex flex-col gap-[16rpx]">
|
||||
<view
|
||||
class="flex gap-[24rpx] wish-border justify-between p-[32rpx] rounded-[8rpx] items-end"
|
||||
v-for="(item, index) in appointList"
|
||||
:key="index"
|
||||
>
|
||||
<view class="flex flex-col gap-[14rpx]">
|
||||
<text class="text-[#303030] text-[32rpx] font-semibold">
|
||||
{{ item.sIdName }}
|
||||
|
|
@ -83,10 +87,6 @@ const handleDelete = (item, index) => {
|
|||
color: #1580ff;
|
||||
}
|
||||
|
||||
.item-wrapper {
|
||||
padding: 32rpx;
|
||||
}
|
||||
|
||||
.wish-border {
|
||||
background-color: #ffffff;
|
||||
border-radius: 8rpx;
|
||||
|
|
|
|||
|
|
@ -8,30 +8,50 @@
|
|||
|
||||
<template>
|
||||
<scroll-view scroll-y class="pb-safe bg-[#f8f8f8] h-screen">
|
||||
<view class="item-wrapper" v-for="(item, index) in list" :key="index">
|
||||
<view class="flex gap-[24rpx] wish-border justify-between p-[32rpx] rounded-[8rpx]">
|
||||
<view class="px-[32rpx] mt-[32rpx] flex flex-col gap-[16rpx]">
|
||||
<view
|
||||
v-for="(item, index) in list"
|
||||
:key="index"
|
||||
class="flex gap-[24rpx] wish-border justify-between p-[32rpx] rounded-[8rpx]"
|
||||
@click="toDetail(item)"
|
||||
>
|
||||
<view class="flex flex-col gap-[14rpx]">
|
||||
<text class="text-[#303030] text-[32rpx] font-semibold">
|
||||
{{ item.title }}
|
||||
</text>
|
||||
<text class="text-[22rpx] text-[#303030]">{{ item.createTime || '时间消失了' }}</text>
|
||||
</view>
|
||||
<view class="flex flex-col justify-between items-end">
|
||||
<view class="i-carbon-trash-can" @click="handleDelete(item, index)"></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { deleteWishList, getMyBusReports } from '@/service/index/api'
|
||||
import { getMyBusReports } from '@/service/index/api'
|
||||
import { useUserStore } from '@/store'
|
||||
|
||||
const userStore = useUserStore()
|
||||
|
||||
const list = ref([])
|
||||
|
||||
const toDetail = (item: any) => {
|
||||
// type=0 兴趣测评报告
|
||||
// =1 性格测评报告
|
||||
// =2 能力测评
|
||||
// =3 学生考试考虑
|
||||
// =4 学习风格
|
||||
// =5 学习技能
|
||||
// =6 SAS
|
||||
// =7 SDS
|
||||
// =8 SCL-90
|
||||
// =9 MHT
|
||||
/// =-1 价值观
|
||||
/// =-2 留学咨询
|
||||
uni.navigateTo({
|
||||
url: `/pages-evaluation-sub/evaluate/academicReport/index?id=${item.reportsId}&type=${item.type}`,
|
||||
})
|
||||
}
|
||||
|
||||
onLoad(() => {
|
||||
getMyBusReports({ CustomId: userStore.userInfo?.estimatedAchievement.wxId }).then((res) => {
|
||||
if (res.code === 200) {
|
||||
|
|
@ -39,22 +59,9 @@ onLoad(() => {
|
|||
}
|
||||
})
|
||||
})
|
||||
|
||||
const handleDelete = (item, index) => {
|
||||
deleteWishList({ id: item.vId }).then((res) => {
|
||||
if (res.code === 200) {
|
||||
list.value.splice(index, 1)
|
||||
uni.showToast({ title: '删除成功' })
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.item-wrapper {
|
||||
padding: 32rpx;
|
||||
}
|
||||
|
||||
.wish-border {
|
||||
background-color: #ffffff;
|
||||
border-radius: 8rpx;
|
||||
|
|
|
|||
|
|
@ -8,8 +8,12 @@
|
|||
|
||||
<template>
|
||||
<scroll-view scroll-y class="pb-safe bg-[#f8f8f8]">
|
||||
<view class="item-wrapper" v-for="(item, index) in wishList" :key="index">
|
||||
<view class="flex gap-[24rpx] wish-border justify-between p-[32rpx] rounded-[8rpx]">
|
||||
<view class="px-[32rpx] mt-[32rpx] flex flex-col gap-[16rpx]">
|
||||
<view
|
||||
class="flex gap-[24rpx] wish-border justify-between p-[32rpx] rounded-[8rpx]"
|
||||
v-for="(item, index) in wishList"
|
||||
:key="index"
|
||||
>
|
||||
<view>
|
||||
<view class="flex gap-[18rpx] items-center">
|
||||
<text class="text-[#303030] text-[32rpx] font-semibold">{{ item.tableName }}</text>
|
||||
|
|
@ -108,10 +112,6 @@ const handleDownload = (item) => {
|
|||
color: #1580ff;
|
||||
}
|
||||
|
||||
.item-wrapper {
|
||||
padding: 32rpx;
|
||||
}
|
||||
|
||||
.wish-border {
|
||||
background-color: #ffffff;
|
||||
border-radius: 8rpx;
|
||||
|
|
|
|||
|
|
@ -346,6 +346,13 @@
|
|||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "evaluate/academicReport/index",
|
||||
"type": "page",
|
||||
"style": {
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@
|
|||
>
|
||||
<view class="flex flex-col items-center gap-[16rpx]" @click="goWishList">
|
||||
<image
|
||||
src="@/pages-sub/static/images/ucenter/wish-list.png"
|
||||
src="/static/images/ucenter/wish-list.png"
|
||||
class="w-[51rpx] h-[51rpx]"
|
||||
mode="scaleToFill"
|
||||
/>
|
||||
|
|
@ -61,7 +61,7 @@
|
|||
</view>
|
||||
<view class="flex flex-col items-center gap-[16rpx]" @click="goEvaluate">
|
||||
<image
|
||||
src="@/pages-sub/static/images/ucenter/evaluation-list.png"
|
||||
src="/static/images/ucenter/evaluation-list.png"
|
||||
class="w-[51rpx] h-[51rpx]"
|
||||
mode="scaleToFill"
|
||||
/>
|
||||
|
|
@ -69,7 +69,7 @@
|
|||
</view>
|
||||
<view class="flex flex-col items-center gap-[16rpx]" @click="goStar">
|
||||
<image
|
||||
src="@/pages-sub/static/images/ucenter/star.png"
|
||||
src="/static/images/ucenter/star.png"
|
||||
class="w-[51rpx] h-[51rpx]"
|
||||
mode="scaleToFill"
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -409,3 +409,7 @@ export const getMyBusReports = (params: { CustomId: number }) => {
|
|||
export const deleteMyAppointment = (params: { id: number }) => {
|
||||
return http.post('/api/specialistReservation/delete', params)
|
||||
}
|
||||
|
||||
export const getHollandDimensionInfo = (params: { ScaleId: string }) => {
|
||||
return http.get('/api/busScale/GetHollandDimension', params)
|
||||
}
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 666 B After Width: | Height: | Size: 666 B |
|
Before Width: | Height: | Size: 835 B After Width: | Height: | Size: 835 B |
|
Before Width: | Height: | Size: 829 B After Width: | Height: | Size: 829 B |
|
|
@ -40,6 +40,7 @@ interface NavigateToOptions {
|
|||
"/login-sub/index" |
|
||||
"/pages-evaluation-sub/aiAutoFill/index" |
|
||||
"/pages-evaluation-sub/rank/index" |
|
||||
"/pages-evaluation-sub/evaluate/academicReport/index" |
|
||||
"/aiService-sub/index/index";
|
||||
}
|
||||
interface RedirectToOptions extends NavigateToOptions {}
|
||||
|
|
|
|||
|
|
@ -34,8 +34,7 @@
|
|||
"src/**/*.tsx",
|
||||
"src/**/*.jsx",
|
||||
"src/**/*.vue",
|
||||
"src/**/*.json",
|
||||
"src/pages-sub/components/canvas/html2canvas.min.js"
|
||||
"src/**/*.json"
|
||||
],
|
||||
"files": ["src/pages-evaluation-sub/uni_modules/lime-echart/static/echarts.min.js"]
|
||||
}
|
||||
|
|
|
|||