|
@@ -1,88 +1,46 @@
|
|
|
<template>
|
|
<template>
|
|
|
- <ie-page>
|
|
|
|
|
- <ie-image :is-oss="true" src="/volunteer/page-bg.png" custom-class="w-full h-auto absolute top-0 left-0 -z-1" />
|
|
|
|
|
- <ie-image :is-oss="true" src="/volunteer/title-right.png"
|
|
|
|
|
- :custom-class="`w-400 h-auto absolute right-0 ${appStore.isH5 ? 'top-100' : 'top-170'}`" />
|
|
|
|
|
- <view :class="`ml-30 ${appStore.isH5 ? 'pt-200' : 'pt-270'}`">
|
|
|
|
|
- <ie-image :is-oss="true" src="/volunteer/title.png" custom-class="w-fit h-140 bg-back" mode="heightFix" />
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="relative">
|
|
|
|
|
- <ie-image :is-oss="true" src="/volunteer/volunteer-bg.png" custom-class="w-full h-220" mode="scaleToFill" />
|
|
|
|
|
- <view class="text-28 text-white absolute top-40 left-60">我的信息</view>
|
|
|
|
|
- <view
|
|
|
|
|
- class="px-46 h-1/2 absolute left-0 right-0 top-1/2 -translate-y-1/2 flex items-center justify-between box-border pt-50 text-24 text-primary">
|
|
|
|
|
- <text>姓名:{{ userStore.nickName }}</text>
|
|
|
|
|
- <text>省份:{{ userStore.getLocation || '--' }}</text>
|
|
|
|
|
- <view class="flex items-center">
|
|
|
|
|
- <text>类别:</text>
|
|
|
|
|
- <ie-dict :dict-name="EnumDictName.EXAM_TYPE" :dict-value="userStore.getExamType || '--'" />
|
|
|
|
|
- </view>
|
|
|
|
|
- </view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="mx-26">
|
|
|
|
|
- <view class="mb-20 shadow-card px-30 py-20 bg-white rounded-8 flex items-center justify-between gap-x-30"
|
|
|
|
|
- v-for="item in menu" :key="item.title" @click="handleClick(item)">
|
|
|
|
|
- <ie-image :is-oss="true" :src="item.icon" custom-class="w-96 h-96 rounded-full" mode="aspectFill" />
|
|
|
|
|
- <view class="flex-1">
|
|
|
|
|
- <view class="text-28 text-fore-title">{{ item.title }}</view>
|
|
|
|
|
- <view class="mt-8 text-22 text-fore-light">{{ item.desc }}</view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <uv-icon name="arrow-right" size="16" color="#B2B2B2" />
|
|
|
|
|
- </view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <template #tabbar>
|
|
|
|
|
- <ie-tabbar :active="1" />
|
|
|
|
|
- </template>
|
|
|
|
|
- </ie-page>
|
|
|
|
|
|
|
+ <ie-page bg-color="white">
|
|
|
|
|
+ <ie-navbar bg-color="#FFFFFF" transparent custom-back :click-hover="false">
|
|
|
|
|
+ <template #headerLeft>
|
|
|
|
|
+ <view class="flex items-center gap-7 text-fore-subtitle text-sm font-medium">
|
|
|
|
|
+ <ie-image is-oss src="/volunteer/index/navbar_title.png" custom-class="w-146"/>
|
|
|
|
|
+ <text>·</text>
|
|
|
|
|
+ <text>{{ examTypeName }}</text>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template #headerRight>
|
|
|
|
|
+ <view class="flex items-center gap-5 text-fore-subtitle text-base font-medium">
|
|
|
|
|
+ <ie-image is-oss src="/volunteer/index/navbar_location.png" custom-class="w-24"/>
|
|
|
|
|
+ <text>{{ userStore.getLocation }}</text>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </ie-navbar>
|
|
|
|
|
+ <volunteer-banner :style="{marginTop: (baseStickyTop + 10) + 'px'}"/>
|
|
|
|
|
+ <volunteer-menu/>
|
|
|
|
|
+ <ie-gap/>
|
|
|
|
|
+ <template #tabbar>
|
|
|
|
|
+ <ie-tabbar :active="1"/>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </ie-page>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script lang="ts" setup>
|
|
<script lang="ts" setup>
|
|
|
-import { useUserStore } from '@/store/userStore';
|
|
|
|
|
-import { useAppStore } from '@/store/appStore';
|
|
|
|
|
-import { useTransferPage } from '@/hooks/useTransferPage';
|
|
|
|
|
-import { EnumDictName } from '@/common/enum';
|
|
|
|
|
|
|
+import {useUserStore} from '@/store/userStore';
|
|
|
|
|
+import {useTransferPage} from '@/hooks/useTransferPage';
|
|
|
|
|
+import {EnumDictName} from '@/common/enum';
|
|
|
|
|
+import {useDictStore} from "@/store/dictStore";
|
|
|
|
|
+import {useNavbar} from "@/hooks/useNavbar";
|
|
|
|
|
+import VolunteerBanner from "@/pagesMain/pages/volunteer/components/volunteer-banner.vue";
|
|
|
|
|
+import VolunteerMenu from "@/pagesMain/pages/volunteer/components/volunteer-menu.vue";
|
|
|
|
|
|
|
|
-const { transferTo } = useTransferPage();
|
|
|
|
|
|
|
+const {transferTo} = useTransferPage();
|
|
|
const userStore = useUserStore();
|
|
const userStore = useUserStore();
|
|
|
-const appStore = useAppStore();
|
|
|
|
|
-type MenuItem = {
|
|
|
|
|
- title: string;
|
|
|
|
|
- desc: string;
|
|
|
|
|
- icon: string;
|
|
|
|
|
- pagePath: string;
|
|
|
|
|
-};
|
|
|
|
|
-const menu: MenuItem[] = [
|
|
|
|
|
- {
|
|
|
|
|
- title: '院校录取概率测试',
|
|
|
|
|
- desc: '输入院校专业,精准测算录取结果',
|
|
|
|
|
- icon: '/volunteer/single.png',
|
|
|
|
|
- pagePath: '/pagesOther/pages/ie/entry-single/entry-single'
|
|
|
|
|
- },
|
|
|
|
|
- // {
|
|
|
|
|
- // title: '模拟志愿分析',
|
|
|
|
|
- // desc: '精准分析你的志愿表',
|
|
|
|
|
- // icon: '/volunteer/analysis.png',
|
|
|
|
|
- // pagePath: '/pagesOther/pages/ie/entry-analysis/entry-analysis'
|
|
|
|
|
- // },
|
|
|
|
|
- // {
|
|
|
|
|
- // title: 'AI志愿',
|
|
|
|
|
- // desc: '精准推荐合理志愿,生成志愿表',
|
|
|
|
|
- // icon: '/volunteer/ai.png',
|
|
|
|
|
- // pagePath: '/pagesOther/pages/ie/entry-ai/entry-ai'
|
|
|
|
|
- // },
|
|
|
|
|
- {
|
|
|
|
|
- title: '测职业技能分',
|
|
|
|
|
- desc: '结合院校录取规则,快速测算',
|
|
|
|
|
- icon: '/volunteer/calculate.png',
|
|
|
|
|
- pagePath: '/pagesOther/pages/ie/entry-calculate/entry-calculate'
|
|
|
|
|
- }
|
|
|
|
|
-];
|
|
|
|
|
-const handleClick = async (item: MenuItem) => {
|
|
|
|
|
- const isLogin = await userStore.checkLogin();
|
|
|
|
|
- if (isLogin) {
|
|
|
|
|
- transferTo(item.pagePath);
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
|
|
+const dictStore = useDictStore()
|
|
|
|
|
+const {baseStickyTop} = useNavbar();
|
|
|
|
|
+
|
|
|
|
|
+const examTypeName = computed(() => {
|
|
|
|
|
+ return dictStore.getDictLabel(EnumDictName.EXAM_TYPE, userStore.getExamType)
|
|
|
|
|
+})
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
<style lang="scss" scoped></style>
|
|
<style lang="scss" scoped></style>
|