114 lines
3.0 KiB
Vue
114 lines
3.0 KiB
Vue
<route lang="json5" type="page">
|
|
{
|
|
style: {
|
|
navigationBarTitleText: '兴趣测评报告',
|
|
},
|
|
}
|
|
</route>
|
|
|
|
<template>
|
|
<view class="flex flex-col h-screen relative custom-bg">
|
|
<view class="flex-1 overflow-auto relative mt-[40rpx]">
|
|
<view class="overflow-auto relative mt-[40rpx] flex-1 pb-[20rpx]">
|
|
<!-- 顶部卡片 -->
|
|
<view class="flex flex-col pt-[32rpx] px-[84rpx] h-[244rpx] mb-[-116rpx] font-700">
|
|
<view class="header-bg">
|
|
<image
|
|
src="https://api.static.ycymedu.com/src/images/evaluate/bg.png"
|
|
class="w-full h-full"
|
|
/>
|
|
</view>
|
|
<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" />
|
|
|
|
<!-- 适合职业 -->
|
|
<IntroMajor :tag="studyRecord.hTag" />
|
|
<!-- 兴趣分析与代表人物 -->
|
|
<InterestingThings :tag="studyRecord.hTag" :description="studyRecord.description" />
|
|
</view>
|
|
|
|
<!-- 底部AI智能顾问 -->
|
|
<AiFooter :pageId="pageId" :pageType="pageType" />
|
|
</view>
|
|
</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 IntroMajor from '../components/IntroMajor.vue'
|
|
|
|
import { getHollandDimensionInfo } from '@/service/index/api'
|
|
import InterestingThings from '../components/InterestingThings.vue'
|
|
import AiFooter from '../components/AiFooter.vue'
|
|
import { handleBack } from '../hooks/useEvaluateBack'
|
|
|
|
const pageType = ref(0)
|
|
const pageId = ref(0)
|
|
|
|
const studyRecord = ref({ description: '', title: '', picCharts: {}, reportItems: [], hTag: '' })
|
|
|
|
onLoad((options) => {
|
|
pageType.value = +options.type
|
|
pageId.value = options.id
|
|
|
|
getHollandDimensionInfo({ ScaleId: pageId.value.toString() }).then((resp) => {
|
|
if (resp.code === 200) {
|
|
studyRecord.value = resp.result as {
|
|
description: string
|
|
title: string
|
|
picCharts: 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;
|
|
}
|
|
|
|
.header-bg {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 40rpx;
|
|
z-index: 1;
|
|
width: calc(100% - 80rpx);
|
|
height: 244rpx;
|
|
}
|
|
|
|
.type-tag {
|
|
min-width: 40rpx;
|
|
font-size: 24rpx;
|
|
text-align: center;
|
|
}
|
|
|
|
.position-tag {
|
|
font-size: 26rpx;
|
|
text-align: center;
|
|
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.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>
|