feat: 广告更新

master
xjs 2025-06-05 16:06:30 +08:00
parent 51fb07329f
commit 3fdca5f13b
22 changed files with 781 additions and 14 deletions

View File

@ -57,6 +57,7 @@
<view class="flex items-center justify-between h-[100rpx] mx-[24rpx]">
<view class="flex items-center">
<view class="text-[28rpx] text-[#000] font-[500]">就读学校</view>
<view class="text-[#FF5151] font-[500] leading-[1] h-[18rpx] ml-[8rpx]">*</view>
</view>
<view class="">
<input
@ -74,7 +75,7 @@
<view class="p-[24rpx] bg-[#fff] mx-[32rpx] mt-[24rpx] rounded-[20rpx]">
<input
v-model="formData.invitedCode"
placeholder="邀请码"
placeholder="大成联盟邀请码"
confirm-type="done"
:maxlength="4"
placeholder-style="color:#999;font-size:28rpx;"
@ -124,6 +125,14 @@ const handleSubmit = () => {
})
return
}
if (!formData.value.school) {
uni.showToast({
title: '请输入学校',
icon: 'error',
mask: true,
})
return
}
savePerfectInfo({
nickName: formData.value.name,

View File

@ -76,7 +76,7 @@
</view>
<view class="text-[24rpx] text-[#636363]">
同分人数:
<text class="text-[#1580FF]">{{ betweenRanks?.ranges }}</text>
<text class="text-[#1580FF]">{{ betweenRanks?.currentCount }}</text>
</view>
</view>
</view>

View File

@ -4,10 +4,11 @@
<input
v-model="searchValue"
:placeholder="placeholder"
confirm-type="done"
confirm-type="search"
placeholder-style="color:#999"
class="text-start ml-20rpx"
@confirm="handleConfirm"
@input="handleInput"
/>
</view>
</template>
@ -36,4 +37,8 @@ const searchValue = computed({
const handleConfirm = (e) => {
emit('confirm', e.detail.value)
}
const handleInput = (e) => {
emit('confirm', e.detail.value)
}
</script>

View File

@ -40,7 +40,7 @@
<script lang="ts" setup>
const props = defineProps({
modelValue: {
type: Array,
type: Array<number>,
default: () => [0, 0],
},
min: {
@ -54,9 +54,17 @@ const props = defineProps({
})
//
const currentLeftValue = ref(props.modelValue.length > 0 ? props.modelValue[0] : props.min)
const currentRightValue = ref(
props.modelValue.length > 0 ? props.modelValue[1] : props.modelValue[0],
const currentLeftValue = ref(0)
const currentRightValue = ref(0)
watch(
() => props.modelValue,
() => {
currentLeftValue.value = props.modelValue.length > 0 ? props.modelValue[0] : props.min
currentRightValue.value =
props.modelValue.length > 0 ? props.modelValue[1] : props.modelValue[0]
},
{ deep: true },
)
const emits = defineEmits(['update:modelValue', 'change'])

View File

@ -0,0 +1,162 @@
<template>
<view class="mt-[30rpx]">
<RoundedBorder title="招生信息">
<template>
<view class="rounded-[40rpx] bg-white px-[24rpx] pt-[26rpx] pb-[24rpx]">
<view class="text-[24rpx]">
<view
class="flex items-center border-[#DEEFFF] border-[2rpx] border-solid text-[#025FFF] font-500 bg-[#F5FAFF]"
>
<view
class="w-[22%] text-center py-[14rpx] border-r-[#DEEFFF] border-r-[2rpx] border-r-solid"
>
招生对象
</view>
<view class="w-[78%] text-center py-[14rpx]">2025年高考毕业生</view>
</view>
<view
class="flex items-stretch border-[#DEEFFF] border-[2rpx] border-solid text-[#041017] border-t-[0rpx]"
>
<view
class="w-[22%] text-center py-[14rpx] border-r-[#DEEFFF] border-r-[2rpx] border-r-solid font-500 flex items-center justify-center"
>
招生组合
</view>
<view class="w-[78%] text-left">
<view
class="py-[14rpx] px-[20rpx] border-b-[#DEEFFF] border-b-[2rpx] border-b-solid"
>
文化课物化地物化生物化政政史地政史生
</view>
<view
class="py-[14rpx] px-[20rpx] border-b-[#DEEFFF] border-b-[2rpx] border-b-solid"
>
艺术(美术书法音乐舞蹈航服):政史地政史生
</view>
<view class="py-[14rpx] px-[20rpx]">
体育(田径武术足球乒乓球排球柔道摔跤篮球):政史地政史生
</view>
</view>
</view>
<view
class="flex items-stretch border-[#DEEFFF] border-[2rpx] border-solid text-[#041017] font-500 border-t-[0rpx]"
>
<view
class="w-[22%] flex flex-col items-center justify-center py-[14rpx] border-r-[#DEEFFF] border-r-[2rpx] border-r-solid"
>
文化课
<view class="text-[22rpx] text-[#5E5E5E]">(最低分数线)</view>
</view>
<view class="w-[78%] text-left py-[14rpx]">
<view class="px-[20rpx]">
文化课类最低高考一段线线下80分艺术/体育类最低260分单招200分如遇特殊情况需向学校申请是否录取
</view>
</view>
</view>
<view
class="flex items-stretch border-[#DEEFFF] border-[2rpx] border-solid text-[#041017] font-500 border-t-[0rpx]"
>
<view
class="w-[22%] flex flex-col items-center justify-center py-[14rpx] border-r-[#DEEFFF] border-r-[2rpx] border-r-solid"
>
入学流程
</view>
<view class="w-[78%] text-left py-[14rpx]">
<view class="px-[20rpx]">学生登记基本信息需提供高考成绩单通过面试后录取</view>
</view>
</view>
</view>
<view v-show="!isExpand">
<view class="text-[24rpx] mt-[20rpx]">
<view
class="bg-[#F5FAFF] text-[#025FFF] text-[24rpx] font-500 text-center py-[14rpx] border-[#DEEFFF] border-[2rpx] border-solid"
>
班型设置
</view>
<view
class="flex items-stretch border-[#DEEFFF] border-[2rpx] border-solid text-[#041017] border-t-[0rpx]"
v-for="(item, index) in classSetting"
:key="index"
>
<view
class="w-[22%] flex flex-col items-center justify-center py-[14rpx] border-r-[#DEEFFF] border-r-[2rpx] border-r-solid font-500"
>
{{ item.left }}
</view>
<view class="w-[78%] text-left py-[14rpx]">
<view class="px-[20rpx]">{{ item.right }}</view>
</view>
</view>
</view>
<view class="text-[24rpx] mt-[20rpx]">
<view
class="bg-[#F5FAFF] text-[#025FFF] text-[24rpx] font-500 text-center py-[14rpx] border-[#DEEFFF] border-[2rpx] border-solid"
>
优秀毕业生名校奖励
</view>
<view
class="flex items-stretch border-[#DEEFFF] border-[2rpx] border-solid text-[#041017] border-t-[0rpx]"
v-for="(item, index) in excellentGraduate"
:key="index"
>
<view
class="w-[33%] flex flex-col items-center justify-center py-[14rpx] border-r-[#DEEFFF] border-r-[2rpx] border-r-solid font-500"
>
{{ item.left }}
</view>
<view class="w-[67%] text-center py-[14rpx]">
<view class="px-[20rpx]">{{ item.right }}</view>
</view>
</view>
</view>
</view>
<view
class="flex items-center justify-center border-[#DEEFFF] border-dashed border-[2rpx] py-[14rpx] border-t-[0rpx]"
@click="handleClose"
>
<view class="text-[24rpx] text-[#1580FF] mr-[8rpx]">
{{ isExpand ? '展开' : '收起' }}
</view>
<image
src="https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/shouqi.png"
mode="scaleToFill"
class="w-[16rpx] h-[12rpx]"
:style="isExpand ? 'transform:rotate(180deg)' : ''"
/>
</view>
</view>
</template>
</RoundedBorder>
</view>
</template>
<script lang="ts" setup>
import RoundedBorder from './RoundedBorder.vue'
const isExpand = ref(false)
const classSetting = [
{ left: '分类管理', right: '文化课、艺术、体育独立分班,固定班型不走班' },
{ left: '领航班', right: '文化课设领航班和普通班领航班招80人40人/班)' },
{ left: '单招班', right: '体育设立普体班和单招班' },
]
const excellentGraduate = [
{ left: '清北文化课学生', right: '名校奖60万元' },
{ left: '清北艺体学生', right: '名校奖30万元' },
{ left: 'C9院校', right: '名校奖10万元' },
{ left: '985院校', right: '名校奖1万元' },
{ left: '211院校', right: '名校奖5000元' },
]
const handleClose = () => {
isExpand.value = !isExpand.value
}
</script>
<style lang="scss" scoped></style>

View File

@ -0,0 +1,117 @@
<template>
<view class="mt-[30rpx]">
<RoundedBorder>
<template>
<view
class="h-[612rpx] rounded-[40rpx] bg-white grid grid-cols-2 grid-rows-2 p-[20rpx] relative"
>
<view
class="text-[#3d3d3d] p-[20rpx] bg-[linear-gradient(to_top,_#EFF4FE_0%,_#ffffff_20%)] triangle-b"
>
<view class="text-[32rpx] font-700">高效课堂</view>
<view class="text-[24rpx] mt-[8rpx]">
独特的361生本高效课堂教学模式密节奏小台阶精练习反复练的教学策略
</view>
</view>
<view
class="text-[#3d3d3d] p-[20rpx] bg-[linear-gradient(to_right,_#EFF4FE_0%,_#ffffff_20%)] triangle-l"
>
<view class="text-[32rpx] font-700 text-right">分层教学</view>
<view class="text-[24rpx] mt-[8rpx] text-right">
根据学生基础分类编班拔尖学生享一对一师资+定制方案也可自主预约一对一辅导满足个性化需求
</view>
</view>
<view
class="text-[#3d3d3d] pt-[62rpx] px-[20rpx] pb-[20rpx] bg-[linear-gradient(to_left,_#EFF4FE_0%,_#ffffff_20%)] triangle-r"
>
<view class="text-[32rpx] font-700">教研准备</view>
<view class="text-[24rpx] mt-[8rpx]">
依托大成高中联盟共享教学资源紧跟命题趋势实行每日备课一课一研邀请专家讲座提升备考效率
</view>
</view>
<view
class="text-[#3d3d3d] pt-[62rpx] px-[20rpx] pb-[20rpx] bg-[linear-gradient(to_bottom,_#EFF4FE_0%,_#ffffff_20%)] triangle-t"
>
<view class="text-[32rpx] font-700 text-right">学情跟踪</view>
<view class="text-[24rpx] mt-[8rpx] text-right">
实施三轮复习+周月模考每次考后开展成绩分析和教学调整精准跟踪学情提升复习效果
</view>
</view>
<view class="top-[50%] left-[50%] absolute translate-x-[-50%] translate-y-[-50%]">
<image
src="https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/zhongjian.png"
mode="scaleToFill"
class="w-[184rpx] h-[184rpx]"
/>
</view>
</view>
</template>
</RoundedBorder>
</view>
</template>
<script lang="ts" setup>
import RoundedBorder from './RoundedBorder.vue'
</script>
<style lang="scss" scoped>
.triangle-b {
position: relative;
&::before {
content: '';
position: absolute;
bottom: 0;
left: 42rpx;
border-left: 18rpx solid transparent;
border-right: 18rpx solid transparent;
border-top: 18rpx solid transparent;
border-bottom: 18rpx solid #fff;
}
}
.triangle-l {
position: relative;
&::before {
content: '';
position: absolute;
top: 38rpx;
left: 0;
border-left: 18rpx solid #fff;
border-right: 18rpx solid transparent;
border-top: 18rpx solid transparent;
border-bottom: 18rpx solid transparent;
}
}
.triangle-r {
position: relative;
&::before {
content: '';
position: absolute;
right: 0;
bottom: 38rpx;
border-left: 18rpx solid transparent;
border-right: 18rpx solid #fff;
border-top: 18rpx solid transparent;
border-bottom: 18rpx solid transparent;
}
}
.triangle-t {
position: relative;
&::before {
content: '';
position: absolute;
top: 0;
right: 38rpx;
border-left: 18rpx solid transparent;
border-right: 18rpx solid transparent;
border-top: 18rpx solid #fff;
border-bottom: 18rpx solid transparent;
}
}
</style>

View File

@ -0,0 +1,59 @@
<template>
<view class="w-full flex flex-col">
<view class="flex flex-col items-center">
<image
src="https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/toubu.png "
mode="scaleToFill"
class="w-full h-[538rpx]"
/>
<image
src="https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/mingzi.png"
mode="scaleToFill"
class="h-[44rpx] w-[420rpx] bg-transparent mt-[-78rpx]"
/>
</view>
<view
class="rounded-[0rpx_0rpx_20rpx_20rpx] h-[474rpx] ml-[36rpx] mr-[38rpx] bg-white px-[24rpx] pt-[28rpx] pb-[18rpx]"
>
<view class="flex items-center">
<image
src="https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/xuexiao.png"
mode="scaleToFill"
class="w-[214rpx] h-[180rpx] min-w-[214rpx]"
@click="
previewImg(
['https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/xuexiao.png'],
0,
)
"
/>
<view class="text-[26rpx] text-[#3d3d3d] ml-[16rpx] text-wrap">
经济南市教育局批准成立的十二年一贯制学校由山东锦泽实业集团投资创办坐落于济南市平阴县深泉路1号占地12万平方米环境清幽设施一流
</view>
</view>
<image
src="https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/tifen.png"
mode="scaleToFill"
class="h-[234rpx]"
/>
<view class="grid grid-cols-[1fr_2fr_1fr] text-[#333] text-[26rpx] gap-[10prx] mt-[6rpx]">
<view class="justify-self-center">轻松可提</view>
<view class="justify-self-center">复读生平均提分</view>
<view class="justify-self-center">逆袭最高提分</view>
</view>
</view>
</view>
</template>
<script lang="ts" setup>
const previewImg = (imgs: string[], index: number) => {
uni.previewImage({
urls: imgs,
current: index,
})
}
</script>
<style lang="scss" scoped></style>

View File

@ -0,0 +1,46 @@
<template>
<view class="mt-[30rpx] pb-[30rpx]">
<RoundedBorder title="生活保障">
<template>
<view
class="rounded-[40rpx] bg-white px-[36rpx] pt-[38rpx] pb-[20rpx] grid grid-cols-4 gap-x-[0rpx] gap-y-[28rpx] flex flex-col"
>
<view class="text-[#3D3D3D] text-[26rpx]">
六人间公寓空调独立卫浴24小时热水公共区域配备洗衣机和吹风机
早晨6:15-晚10:40熄灯每3-4周放假一次班车接送(与公交公司合作)
</view>
<view class="grid grid-cols-2 gap-x-[16rpx] gap-y-[10rpx]">
<image
:src="item"
mode="scaleToFill"
v-for="(item, index) in imageList"
:key="index"
class="w-full h-[170rpx]"
@click="previewImg(imageList, index)"
/>
</view>
</view>
</template>
</RoundedBorder>
</view>
</template>
<script lang="ts" setup>
import RoundedBorder from './RoundedBorder.vue'
const imageList = [
'https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/bz1.png',
'https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/bz2.png',
'https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/bz3.png',
'https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/bz4.png',
]
const previewImg = (imgs: string[], index: number) => {
uni.previewImage({
urls: imgs,
current: index,
})
}
</script>
<style lang="scss" scoped></style>

View File

@ -0,0 +1,30 @@
<template>
<view class="flex mx-[20rpx] flex-col">
<view class="w-full relative z-2">
<image
src="https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/biaoti.png"
mode="widthFix"
class="w-full h-[100rpx]"
/>
<view
class="text-[40rpx] font-700 absolute top-[12rpx] left-[50rpx] tracking-[10rpx] text-white italic"
>
{{ title }}
</view>
</view>
<view class="rounded-[40rpx] w-full mt-[-30rpx] relative z-3">
<slot></slot>
</view>
</view>
</template>
<script lang="ts" setup>
defineProps({
title: {
type: String,
default: '教学特色',
},
})
</script>
<style lang="scss" scoped></style>

View File

@ -0,0 +1,62 @@
<template>
<view class="mt-[30rpx]">
<RoundedBorder title="名校录取">
<template>
<view
class="rounded-[40rpx] bg-white px-[36rpx] pt-[38rpx] pb-[20rpx] grid grid-cols-4 gap-x-[0rpx] gap-y-[28rpx]"
>
<view class="flex flex-col items-center" v-for="(item, index) in schools" :key="index">
<image :src="item.badge" mode="scaleToFill" class="w-[120rpx] h-[120rpx]" />
<span class="text-[26rpx] text-[#333]">{{ item.name }}</span>
</view>
<view class="col-span-full text-[26rpx] text-[#999999] text-center">
更多大学等你来选...
</view>
</view>
</template>
</RoundedBorder>
</view>
</template>
<script lang="ts" setup>
import RoundedBorder from './RoundedBorder.vue'
const schools = [
{
name: '北京大学',
badge: 'https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/beijingdaxue.png',
},
{
name: '北京体育大学',
badge: 'https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/beijingtiyu.png',
},
{
name: '复旦大学',
badge: 'https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/fudan.png',
},
{
name: '延安大学',
badge: 'https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/yanandaxue.png',
},
{
name: '郑州大学',
badge: 'https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/zhengzhou.png',
},
{
name: '山东大学',
badge: 'https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/shandong.png',
},
{
name: '四川大学',
badge: 'https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/sichuan.png',
},
{
name: '海洋大学',
badge:
'https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/zhongguohaiyang.png',
},
]
</script>
<style lang="scss" scoped></style>

View File

@ -0,0 +1,52 @@
<template>
<view class="bg-white px-[30rpx] pb-safe pt-[14rpx] grid grid-cols-2 gap-[24rpx]">
<image
src="https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/dh.png"
mode="scaleToFill"
class="h-[88rpx]"
@click="handlePhone"
/>
<image
src="https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/wx.png"
mode="scaleToFill"
class="h-[88rpx]"
@click="handleFriend"
/>
<MessageBox v-model:show="show" title="好友添加">
<template>
<image
:src="friendImage"
mode="scaleToFill"
class="w-full h-[80vh] py-[20rpx]"
:show-menu-by-longpress="true"
/>
</template>
</MessageBox>
</view>
</template>
<script lang="ts" setup>
import MessageBox from '@/pages-sub/components/messageBox/MessageBox.vue'
const props = defineProps({
phoneNumber: {
type: String,
default: '4000616985',
},
friendImage: {
type: String,
default: 'https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/tianjiawx.png',
},
})
const show = ref(false)
const handlePhone = () => {
uni.makePhoneCall({ phoneNumber: props.phoneNumber })
}
const handleFriend = () => {
show.value = true
}
</script>

View File

@ -0,0 +1,41 @@
<template>
<view class="mt-[30rpx]">
<RoundedBorder title="艺体专业">
<template>
<view class="rounded-[40rpx] bg-white px-[24rpx] pt-[26rpx] pb-[22rpx]">
<view class="text-[26rpx] text-[#3D3D3D]">
深泉拥有独立体系的体育和艺术专业团队2024年复读部郭欣悦同学成功考入北京大学2025年艺术专业总体过线率
<text class="text-[#FF0000] text-[28rpx]">92.9%</text>
体育专业考试90分以上87人
</view>
<view class="grid grid-cols-2 gap-[16rpx] h-[170rpx] mt-[16rpx]">
<image
:src="item"
mode="scaleToFill"
v-for="(item, index) in publicityImg"
:key="index"
@click="previewImg(publicityImg, index)"
/>
</view>
</view>
</template>
</RoundedBorder>
</view>
</template>
<script lang="ts" setup>
import RoundedBorder from './RoundedBorder.vue'
const publicityImg = [
'https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/yt1.png',
'https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/yt2.png',
]
const previewImg = (imgs: string[], index: number) => {
uni.previewImage({
urls: imgs,
current: index,
})
}
</script>
<style lang="scss" scoped></style>

View File

@ -0,0 +1,35 @@
<route lang="json5" type="page">
{
style: {
navigationBarTitleText: '深泉教育',
},
}
</route>
<template>
<view class="flex flex-col h-screen bg-[#c9e7ff]">
<scroll-view class="flex-1" :scroll-y="true">
<HeaderBg />
<FeatureOfTeaching />
<SpecialtiesInArt />
<Schools />
<AdmissionInformation />
<livingGuarantee />
</scroll-view>
<view>
<ShareButtonGroup />
</view>
</view>
</template>
<script lang="ts" setup>
import HeaderBg from './components/HeaderBg.vue'
import FeatureOfTeaching from './components/FeatureOfTeaching.vue'
import SpecialtiesInArt from './components/SpecialtiesInArt.vue'
import Schools from './components/Schools.vue'
import AdmissionInformation from './components/AdmissionInformation.vue'
import livingGuarantee from './components/LivingGuarantee.vue'
import ShareButtonGroup from './components/ShareButtonGroup.vue'
</script>
<style lang="scss" scoped></style>

View File

@ -0,0 +1,48 @@
<route lang="json5" type="page">
{
style: {
navigationBarTitleText: '深泉教育',
},
}
</route>
<template>
<view class="flex flex-col h-screen">
<Tabs v-model:modelValue="currentIndex" :tabs="tabs"></Tabs>
<swiper :current="currentIndex" class="flex-1" @change="handleSwiperChange">
<swiper-item v-for="(item, index) in tabs" :key="index">
<image :src="item.image" mode="scaleToFill" class="w-full h-full" />
</swiper-item>
</swiper>
<ShareButtonGroup
phone-number="18516500555"
friend-image="https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/tianjiawx-liuxue.jpg"
/>
</view>
</template>
<script lang="ts" setup>
import Tabs from '@/components/tab/Tabs.vue'
import ShareButtonGroup from './components/ShareButtonGroup.vue'
const currentIndex = ref(0)
const tabs = [
{
title: '科廷大学',
image: 'https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/lx-banner1.png',
},
{
title: '伦敦大学',
image: 'https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/lx-banner2.png',
},
{
title: '更多大学',
image: 'https://api-static-zhiy.oss-cn-shanghai.aliyuncs.com/images/ad-banner/lx-banner3.png',
},
]
const handleSwiperChange = (val: { detail: { current: number } }) => {
currentIndex.value = val.detail.current
}
</script>

View File

@ -178,13 +178,17 @@ const itemClick = (item, index) => {
const handleClear = (index: number) => {
if (currentMenu.value === 1) {
regionKeyInfo.value = []
regionInfo.value = []
} else if (currentMenu.value === 2) {
natureKeyInfo.value = []
natureInfo.value = []
} else if (currentMenu.value === 3) {
uniTypeKeyInfo.value = []
uniTypeInfo.value = []
}
subMenu.value[index].activation = false
dropMenuRef.value.closeDropMenu()
handleCheck()
}
const handleRegionIdChange = (val) => {

View File

@ -300,12 +300,7 @@ const handleRegionName = (val: string[]) => {
province.value = val
}
const sliderValue = ref([
+userStore.userInfo.estimatedAchievement.expectedScore < 200
? +userStore.userInfo.estimatedAchievement.expectedScore
: +userStore.userInfo.estimatedAchievement.expectedScore - 100,
+userStore.userInfo.estimatedAchievement.expectedScore,
])
const sliderValue = ref([0, 0])
const handleSliderChange = (val) => {
collegeSearch.value.tModelValue = '-1'
paging.value.reload()
@ -317,6 +312,24 @@ const { score, minScore, maxScore } = useScore(
userStore.userInfo.estimatedAchievement.requireSubject,
)
watch(
() => maxScore.value,
() => {
if (maxScore.value !== 0) {
sliderValue.value[0] =
+userStore.userInfo.estimatedAchievement.expectedScore < minScore.value + 40
? minScore.value
: +userStore.userInfo.estimatedAchievement.expectedScore - 40
sliderValue.value[1] =
+userStore.userInfo.estimatedAchievement.expectedScore > maxScore.value - 40
? maxScore.value
: +userStore.userInfo.estimatedAchievement.expectedScore + 40
}
},
{ immediate: true },
)
const handlePreview = () => {
if (majorCount.value === 0) {
return

View File

@ -59,6 +59,7 @@
>
<view class="flex items-center">
<view class="text-[28rpx] text-[#000] font-[500]">就读学校</view>
<view class="text-[#FF5151] font-[500] leading-[1] h-[18rpx] ml-[8rpx]">*</view>
</view>
<view class="">
<input
@ -73,7 +74,7 @@
<view class="flex items-center justify-between h-[100rpx] mx-[24rpx]">
<view class="flex items-center">
<view class="text-[28rpx] text-[#000] font-[500]">邀请码</view>
<view class="text-[28rpx] text-[#000] font-[500]">大成联盟邀请码</view>
</view>
<view class="">
<input
@ -127,6 +128,14 @@ const handleSubmit = () => {
})
return
}
if (!formData.value.school) {
uni.showToast({
title: '请输入学校',
icon: 'error',
mask: true,
})
return
}
savePerfectInfo({
nickName: formData.value.name,

View File

@ -125,6 +125,20 @@
"navigationStyle": "custom"
}
},
{
"path": "home/adPoster/index",
"type": "page",
"style": {
"navigationBarTitleText": "深泉教育"
}
},
{
"path": "home/adPoster/studyAboard",
"type": "page",
"style": {
"navigationBarTitleText": "深泉教育"
}
},
{
"path": "home/autoFill/index",
"type": "page",

View File

@ -0,0 +1,45 @@
<template>
<swiper
class="w-full h-[184rpx] my-[32rpx]"
circular
:indicator-dots="true"
:autoplay="true"
:interval="3000"
:duration="200"
>
<swiper-item v-for="(item, index) in bannerList" :key="index">
<view class="h-[184rpx] rounded-[20rpx] px-[32rpx]">
<image
:src="item.img"
mode="scaleToFill"
class="w-full rounded-[20rpx]"
@click.stop="handleRouter(item)"
/>
</view>
</swiper-item>
</swiper>
</template>
<script lang="ts" setup>
import { getADBanner } from '@/service/index/api'
const bannerList = ref([])
getADBanner().then((resp) => {
if (resp.code === 200) {
bannerList.value = resp.result as unknown as { url: string; img: string }[]
}
})
const handleRouter = (item: { url: string; img: string }) => {
if (item.url === '复读生') {
uni.navigateTo({
url: `/pages-sub/home/adPoster/index`,
})
} else if (item.url === '留学') {
uni.navigateTo({
url: `/pages-sub/home/adPoster/studyAboard`,
})
}
}
</script>

View File

@ -46,6 +46,7 @@
<view class="h-full mt-[38rpx]">
<Banner />
<HomeSubMenu />
<ADSpace />
<HotRank />
<Consultation />
<FabButton :initial-x="0" :initial-y="100" />
@ -67,6 +68,7 @@ import HomeSubMenu from '@/components/home/SubMenu.vue'
import HotRank from '@/components/home/HotRank.vue'
import Consultation from '@/components/home/Consultation.vue'
import FabButton from '@/components/fab/FabButton.vue'
import ADSpace from '../components/ADSpace.vue'
import { getWxUserInfo } from '@/service/index/api'

View File

@ -478,3 +478,7 @@ export const getAssistant = () => {
export const verifyInviteCode = ({ code }: { code: string }) => {
return http.post('/api/weChatUserEx/verifyInviteCode', { code })
}
export const getADBanner = ({ code }: { code: string } = { code: 'b001' }) => {
return http.get('/api/zhiYuan/banner', { code })
}

View File

@ -10,6 +10,8 @@ interface NavigateToOptions {
"/pages/ucenter/index/index" |
"/pages-sub/evaluation/assessmentPage" |
"/pages-sub/customerService/index/index" |
"/pages-sub/home/adPoster/index" |
"/pages-sub/home/adPoster/studyAboard" |
"/pages-sub/home/autoFill/index" |
"/pages-sub/home/career/index" |
"/pages-sub/home/career/info" |