fix: 样式更新
parent
6a463f08fd
commit
dfb0661831
|
|
@ -1,4 +1,4 @@
|
||||||
VITE_APP_TITLE = '六玮择校'
|
VITE_APP_TITLE = '六纬择校'
|
||||||
VITE_APP_PORT = 9000
|
VITE_APP_PORT = 9000
|
||||||
|
|
||||||
VITE_UNI_APPID = 'H57F2ACE4'
|
VITE_UNI_APPID = 'H57F2ACE4'
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,8 @@ import { tabBar } from './src/tabbar/config'
|
||||||
export default defineUniPages({
|
export default defineUniPages({
|
||||||
globalStyle: {
|
globalStyle: {
|
||||||
navigationStyle: 'default',
|
navigationStyle: 'default',
|
||||||
navigationBarTitleText: '六玮择校',
|
navigationBarTitleText: '六纬择校',
|
||||||
navigationBarBackgroundColor: '#f8f8f8',
|
navigationBarBackgroundColor: '#FFFFFF',
|
||||||
navigationBarTextStyle: 'black',
|
navigationBarTextStyle: 'black',
|
||||||
backgroundColor: '#FFFFFF',
|
backgroundColor: '#FFFFFF',
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<MessageBox v-model:show="show" title="" :defaultPadding="false" defaultWidth="85%">
|
<MessageBox v-model:show="show" title="" :defaultPadding="false" defaultWidth="80%">
|
||||||
<template>
|
<template>
|
||||||
<view class="custom-background">
|
<view class="custom-background">
|
||||||
<view class="px-[32rpx] pt-[48rpx]">
|
<view class="px-[32rpx] pt-[48rpx]">
|
||||||
|
|
|
||||||
|
|
@ -118,7 +118,7 @@ const getUserInfo = async (_code: string) => {
|
||||||
</view>
|
</view>
|
||||||
<!-- #ifdef MP-WEIXIN -->
|
<!-- #ifdef MP-WEIXIN -->
|
||||||
<button
|
<button
|
||||||
class="w-[493rpx]! mb-[40rpx] h-[88rpx]! rounded-[44rpx] text-[32rpx] text-white flex items-center justify-center border-1 border-solid border-[#BFBFBF]"
|
class="w-[493rpx]! mb-[40rpx] h-[88rpx]! rounded-[44rpx] text-[32rpx] text-white flex items-center justify-center "
|
||||||
:class="checked.length > 0 ? 'bg-[#1580FF]' : 'bg-[#BFBFBF]'" @click.stop="handleClick"
|
:class="checked.length > 0 ? 'bg-[#1580FF]' : 'bg-[#BFBFBF]'" @click.stop="handleClick"
|
||||||
open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" :disabled="checked.length === 0">
|
open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" :disabled="checked.length === 0">
|
||||||
一键登录
|
一键登录
|
||||||
|
|
@ -127,7 +127,7 @@ const getUserInfo = async (_code: string) => {
|
||||||
|
|
||||||
<!-- #ifdef MP-ALIPAY -->
|
<!-- #ifdef MP-ALIPAY -->
|
||||||
<button
|
<button
|
||||||
class="w-[493rpx]! mb-[40rpx] h-[88rpx]! rounded-[44rpx] text-[32rpx] text-white flex items-center justify-center border-1 border-solid border-[#BFBFBF]"
|
class="w-[493rpx]! mb-[40rpx] h-[88rpx]! rounded-[44rpx] text-[32rpx] text-white flex items-center justify-center "
|
||||||
:class="checked.length > 0 ? 'bg-[#1580FF]' : 'bg-[#BFBFBF]'" @click.stop="handleClick">
|
:class="checked.length > 0 ? 'bg-[#1580FF]' : 'bg-[#BFBFBF]'" @click.stop="handleClick">
|
||||||
一键登录
|
一键登录
|
||||||
</button>
|
</button>
|
||||||
|
|
|
||||||
|
|
@ -91,14 +91,17 @@ onShow(() => {
|
||||||
<view class="mx-[32rpx] bg-[#fff] rounded-[20rpx] mt-[32rpx] text-[28rpx] text-[#303030] font-bold">
|
<view class="mx-[32rpx] bg-[#fff] rounded-[20rpx] mt-[32rpx] text-[28rpx] text-[#303030] font-bold">
|
||||||
<view class="flex items-center justify-between mr-[16rpx] ml-[32rpx] py-[28rpx] not-last-child">
|
<view class="flex items-center justify-between mr-[16rpx] ml-[32rpx] py-[28rpx] not-last-child">
|
||||||
<text class="text-[30rpx] text-[#404142] font-400">头像</text>
|
<text class="text-[30rpx] text-[#404142] font-400">头像</text>
|
||||||
<MxUpload :custom-upload="true" :hiddenPreview="true" @change="handleChange" :signal="true"
|
<MxUpload :custom-upload="true" root-class="w-[98rpx] h-[98rpx]" :hiddenPreview="true" @change="handleChange"
|
||||||
:outer-file-list="[{ url: `${userInfo.avatar}` }]">
|
:signal="true" :outer-file-list="[{ url: `${userInfo.avatar}` }]">
|
||||||
<template #default="{ fileList }">
|
<template #default="{ fileList }">
|
||||||
<view class="flex items-center gap-[16rpx]">
|
<view class="flex items-center gap-[16rpx]">
|
||||||
<view class="w-[96rpx] h-[96rpx] rounded-full">
|
<view class="w-[96rpx] h-[96rpx] rounded-full">
|
||||||
<image :src="fileList[0].url" mode="scaleToFill" class="w-[96rpx] h-[96rpx] rounded-full" />
|
<image :src="fileList[0].url" mode="scaleToFill" class="w-[96rpx] h-[96rpx] rounded-full" />
|
||||||
</view>
|
</view>
|
||||||
<view class="i-carbon-chevron-down rotate-270 text-[#BFBFBF]"></view>
|
<view class="w-[18rpx] h-[36rpx] flex items-center ml-[20rpx]">
|
||||||
|
<image src="https://lwzk.ycymedu.com/img/qt/tb_jiantou.png" mode="scaleToFill"
|
||||||
|
class="w-[18rpx] h-[36rpx]" />
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
</MxUpload>
|
</MxUpload>
|
||||||
|
|
@ -114,23 +117,32 @@ onShow(() => {
|
||||||
<text class="text-[30rpx] text-[#404142] font-400">性别</text>
|
<text class="text-[30rpx] text-[#404142] font-400">性别</text>
|
||||||
<view class="flex items-center" @click="handleOpenPopup('gender')">
|
<view class="flex items-center" @click="handleOpenPopup('gender')">
|
||||||
<text>{{ formData.genderLabel }}</text>
|
<text>{{ formData.genderLabel }}</text>
|
||||||
<view class="i-carbon-chevron-down rotate-270 text-[#BFBFBF]"></view>
|
<view class="w-[18rpx] h-[36rpx] flex items-center ml-[20rpx]">
|
||||||
|
<image src="https://lwzk.ycymedu.com/img/qt/tb_jiantou.png" mode="scaleToFill"
|
||||||
|
class="w-[18rpx] h-[36rpx]" />
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="flex items-center justify-between mx-[32rpx] py-[28rpx]">
|
<view class="flex items-center justify-between mx-[32rpx] py-[28rpx] not-last-child">
|
||||||
<text class="text-[30rpx] text-[#404142] font-400">年级</text>
|
<text class="text-[30rpx] text-[#404142] font-400">年级</text>
|
||||||
<view class="flex items-center" @click="handleOpenPopup('grade')">
|
<view class="flex items-center" @click="handleOpenPopup('grade')">
|
||||||
<text>{{ userInfo.userExtend.gradeName }}</text>
|
<text>{{ userInfo.userExtend.gradeName }}</text>
|
||||||
<view class="i-carbon-chevron-down rotate-270 text-[#BFBFBF]"></view>
|
<view class="w-[18rpx] h-[36rpx] flex items-center ml-[20rpx]">
|
||||||
|
<image src="https://lwzk.ycymedu.com/img/qt/tb_jiantou.png" mode="scaleToFill"
|
||||||
|
class="w-[18rpx] h-[36rpx]" />
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="flex items-center justify-between mx-[32rpx] py-[28rpx]">
|
<view class="flex items-center justify-between mx-[32rpx] py-[28rpx] not-last-child">
|
||||||
<text class="text-[30rpx] text-[#404142] font-400">就读学校</text>
|
<text class="text-[30rpx] text-[#404142] font-400">就读学校</text>
|
||||||
<view class="flex items-center" @click="navigateToSchool">
|
<view class="flex items-center" @click="navigateToSchool">
|
||||||
<text>{{ userInfo.userExtend.schoolName }}</text>
|
<text>{{ userInfo.userExtend.schoolName }}</text>
|
||||||
<view class="i-carbon-chevron-down rotate-270 text-[#BFBFBF]"></view>
|
<view class="w-[18rpx] h-[36rpx] flex items-center ml-[20rpx]">
|
||||||
|
<image src="https://lwzk.ycymedu.com/img/qt/tb_jiantou.png" mode="scaleToFill"
|
||||||
|
class="w-[18rpx] h-[36rpx]" />
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
|
@ -138,7 +150,10 @@ onShow(() => {
|
||||||
<text class="text-[30rpx] text-[#404142] font-400">中考所在区</text>
|
<text class="text-[30rpx] text-[#404142] font-400">中考所在区</text>
|
||||||
<view class="flex items-center" @click="handleOpenPopup('area')">
|
<view class="flex items-center" @click="handleOpenPopup('area')">
|
||||||
<text>{{ userInfo.userExtend.area }}</text>
|
<text>{{ userInfo.userExtend.area }}</text>
|
||||||
<view class="i-carbon-chevron-down rotate-270 text-[#BFBFBF]"></view>
|
<view class="w-[18rpx] h-[36rpx] flex items-center ml-[20rpx]">
|
||||||
|
<image src="https://lwzk.ycymedu.com/img/qt/tb_jiantou.png" mode="scaleToFill"
|
||||||
|
class="w-[18rpx] h-[36rpx]" />
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
<template>
|
<template>
|
||||||
<sar-upload v-model="fileList" :after-read="afterRead" :multiple="multiple" :max-count="multiple ? 99 : 1"
|
<sar-upload v-model="fileList" :root-class="rootClass" :after-read="afterRead" :multiple="multiple"
|
||||||
:root-style="`${customUpload ? '--sar-upload-select-width: min-content;--sar-upload-select-height: min-content;--sar-upload-select-color: transparent;--sar-upload-select-bg: transparent;--sar-upload-select-border-radius: 0;' : ''} ${hiddenPreview ? '--sar-upload-preview-width: 0;--sar-upload-preview-height: 0;' : ''}`">
|
:max-count="multiple ? 99 : 1"
|
||||||
|
:root-style="`--sar-upload-select-bg:#f7f7f7;--sar-upload-close-size:32rpx;${customUpload ? '--sar-upload-select-width: min-content;--sar-upload-select-height: min-content;--sar-upload-select-color: transparent;--sar-upload-select-bg: transparent;--sar-upload-select-border-radius: 0;' : ''} ${hiddenPreview ? '--sar-upload-preview-width: 0;--sar-upload-preview-height: 0;' : ''}`">
|
||||||
<template #select>
|
<template #select>
|
||||||
<view style="display: flex; flex-direction: column; align-items: center" v-if="!customUpload">
|
<view style="display: flex; flex-direction: column; align-items: center" v-if="!customUpload">
|
||||||
<view class="w-[60rpx] h-[60rpx]">
|
<view class="w-[60rpx] h-[60rpx]">
|
||||||
<image src="https://lwzk.ycymedu.com/img/cpgx/cp_shangchuan.png"
|
<image src="https://lwzk.ycymedu.com/img/cpgx/cp_shangchuan.png" mode="scaleToFill" />
|
||||||
mode="scaleToFill" />
|
|
||||||
</view>
|
</view>
|
||||||
<view class="text-[30rpx] text-[#333] mt-[10rpx]">上传图片</view>
|
<view class="text-[30rpx] text-[#333] mt-[10rpx]">上传图片</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -40,6 +40,10 @@ const props = defineProps({
|
||||||
signal: {
|
signal: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false
|
default: false
|
||||||
|
},
|
||||||
|
rootClass: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,21 +3,21 @@ import { getCountdown, getTimeList } from '@/service'
|
||||||
import { safeAreaInsets } from '@/utils/systemInfo'
|
import { safeAreaInsets } from '@/utils/systemInfo'
|
||||||
// #ifdef MP-WEIXIN
|
// #ifdef MP-WEIXIN
|
||||||
definePage({
|
definePage({
|
||||||
style: {
|
style: {
|
||||||
navigationStyle: 'custom',
|
navigationStyle: 'custom',
|
||||||
},
|
},
|
||||||
excludeLoginPath: false,
|
excludeLoginPath: false,
|
||||||
})
|
})
|
||||||
// #endif
|
// #endif
|
||||||
|
|
||||||
// #ifndef MP-WEIXIN
|
// #ifndef MP-WEIXIN
|
||||||
definePage({
|
definePage({
|
||||||
style: {
|
style: {
|
||||||
navigationStyle: 'custom',
|
navigationStyle: 'custom',
|
||||||
transparentTitle: 'always',
|
transparentTitle: 'always',
|
||||||
navigationBarTitleText: ''
|
navigationBarTitleText: ''
|
||||||
},
|
},
|
||||||
excludeLoginPath: false,
|
excludeLoginPath: false,
|
||||||
})
|
})
|
||||||
// #endif
|
// #endif
|
||||||
|
|
||||||
|
|
@ -26,29 +26,48 @@ const processList = ref([])
|
||||||
const nativeBack = () => {
|
const nativeBack = () => {
|
||||||
uni.navigateBack();
|
uni.navigateBack();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const opacity = ref(0)
|
||||||
|
onPageScroll((e) => {
|
||||||
|
const scrollTop = e.scrollTop
|
||||||
|
opacity.value = Math.min(scrollTop / 100, 1)
|
||||||
|
})
|
||||||
|
|
||||||
|
const computeColor = computed(() => {
|
||||||
|
const alpha = opacity.value
|
||||||
|
const red = Math.round(255 + (0 - 255) * alpha)
|
||||||
|
const green = Math.round(255 + (0 - 255) * alpha)
|
||||||
|
const blue = Math.round(255 + (0 - 255) * alpha)
|
||||||
|
return `rgba(${red}, ${green}, ${blue}, ${alpha === 0 ? 1 : alpha})`
|
||||||
|
})
|
||||||
|
|
||||||
const countdown = ref(0)
|
const countdown = ref(0)
|
||||||
onShow(() => {
|
onShow(() => {
|
||||||
getCountdown().then(resp => {
|
getCountdown().then(resp => {
|
||||||
if(resp.code === 200){
|
if (resp.code === 200) {
|
||||||
countdown.value = resp.result
|
countdown.value = resp.result
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
getTimeList().then((resp) =>{
|
getTimeList().then((resp) => {
|
||||||
if(resp.code === 200){
|
if (resp.code === 200) {
|
||||||
processList.value = resp.result
|
processList.value = resp.result
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<view class="relative">
|
<view class="relative">
|
||||||
<sar-navbar root-class="bg-transparent" :fixed="true" fixation-style="top:unset;"
|
<sar-navbar root-class="bg-transparent" :fixed="true" fixation-style="top:unset;"
|
||||||
:root-style="{ '--sar-navbar-bg': `transparent`, '--sar-navbar-height': `${safeAreaInsets?.top + 44}px` }">
|
:root-style="{ '--sar-navbar-bg': `rgba(255, 255, 255, ${opacity})`, '--sar-navbar-height': `${safeAreaInsets?.top + 44}px` }">
|
||||||
|
<template #title>
|
||||||
|
<view class="flex justify-center text-white mix-blend-difference" :style="{ 'padding-top': `${safeAreaInsets?.top}px` }">
|
||||||
|
中考倒计时</view>
|
||||||
|
</template>
|
||||||
<template #left>
|
<template #left>
|
||||||
<view class="flex items-center justify-center text-white text-[32rpx] ml-[32rpx]"
|
<view class="flex items-center justify-center text-[32rpx] ml-[32rpx]"
|
||||||
:style="{ 'padding-top': `${safeAreaInsets?.top}px` }" @click="nativeBack">
|
:style="{ 'padding-top': `${safeAreaInsets?.top}px` }" @click="nativeBack">
|
||||||
<sar-icon name="left" size="48rpx" />
|
<sar-icon name="left" size="48rpx" :color="computeColor"/>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
</sar-navbar>
|
</sar-navbar>
|
||||||
|
|
@ -62,7 +81,7 @@ onShow(() => {
|
||||||
<view class="text-[72rpx]">天</view>
|
<view class="text-[72rpx]">天</view>
|
||||||
</view>
|
</view>
|
||||||
<view
|
<view
|
||||||
class="mt-[-14rpx] rounded-[40rpx_40rpx_0_0] min-h-[550rpx] relative z-[1] bg-white bg-opacity-70 backdrop-blur-[5px] pt-[38rpx] flex flex-col">
|
class="mt-[-14rpx] rounded-[40rpx_40rpx_0_0] min-h-[550rpx] relative z-[1] bg-white pt-[38rpx] flex flex-col">
|
||||||
<view class="flex items-center justify-center">
|
<view class="flex items-center justify-center">
|
||||||
<view class="w-[48rpx] h-[48rpx] mr-[16rpx]">
|
<view class="w-[48rpx] h-[48rpx] mr-[16rpx]">
|
||||||
<image src="https://lwzk.ycymedu.com/img/home/sy_riqi.png" mode="scaleToFill"
|
<image src="https://lwzk.ycymedu.com/img/home/sy_riqi.png" mode="scaleToFill"
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ const starSchool = () => {
|
||||||
<view class="flex flex-col">
|
<view class="flex flex-col">
|
||||||
<text class="font-600 text-[40rpx] text-[#000]">{{ schoolDetail.schoolName }}</text>
|
<text class="font-600 text-[40rpx] text-[#000]">{{ schoolDetail.schoolName }}</text>
|
||||||
<view class="flex items-center gap-[10rpx] my-[14rpx] flex-wrap" v-if="schoolDetail.tags">
|
<view class="flex items-center gap-[10rpx] my-[14rpx] flex-wrap" v-if="schoolDetail.tags">
|
||||||
<view class="rounded-[8rpx] bg-[#F8F8F8] px-[10rpx] py-[4rpx] text-[24rpx] text-[#666]"
|
<view class="rounded-[8rpx] bg-[#F8F8F8] px-[10rpx] py-[4rpx] text-[24rpx] text-[#666] first:border-solid border-red border-[1rpx]"
|
||||||
v-for="feature in schoolDetail.tags.split('、')" :key="feature">{{ feature }}</view>
|
v-for="feature in schoolDetail.tags.split('、')" :key="feature">{{ feature }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="text-[#303030] text-[24rpx] mb-[10rpx]">{{schoolDetail.region}}·{{ schoolDetail.schoolNature }}</view>
|
<view class="text-[#303030] text-[24rpx] mb-[10rpx]">{{schoolDetail.region}}·{{ schoolDetail.schoolNature }}</view>
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,9 @@ const navigateToDetail = (id:number) => {
|
||||||
uni.navigateTo({ url: `/pages-sub/information/highSchoolDetail?id=${id}` })
|
uni.navigateTo({ url: `/pages-sub/information/highSchoolDetail?id=${id}` })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const visibleFlag1 = ref(false)
|
||||||
|
const visibleFlag2 = ref(false)
|
||||||
|
const visibleFlag3 = ref(false)
|
||||||
|
|
||||||
onLoad(() => {
|
onLoad(() => {
|
||||||
getAreaList().then(resp => {
|
getAreaList().then(resp => {
|
||||||
|
|
@ -89,6 +91,9 @@ const virtualListChange = (_vList) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleComplete = () => {
|
const handleComplete = () => {
|
||||||
|
visibleFlag1.value = false;
|
||||||
|
visibleFlag2.value = false;
|
||||||
|
visibleFlag3.value = false;
|
||||||
paging.value.reload()
|
paging.value.reload()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -111,28 +116,28 @@ const handleComplete = () => {
|
||||||
|
|
||||||
<sar-dropdown
|
<sar-dropdown
|
||||||
root-style="--sar-dropdown-placeholder-color:#666;--sar-dropdown-value-font-size:28rpx;--sar-dropdown-option-active-color:#1580FF;--sar-dropdown-bg:transparent;--sar-dropdown-box-shadow:0rpx 6rpx 8rpx 0rpx rgba(0,0,0,0.04);">
|
root-style="--sar-dropdown-placeholder-color:#666;--sar-dropdown-value-font-size:28rpx;--sar-dropdown-option-active-color:#1580FF;--sar-dropdown-bg:transparent;--sar-dropdown-box-shadow:0rpx 6rpx 8rpx 0rpx rgba(0,0,0,0.04);">
|
||||||
<sar-dropdown-item :title="searchParams.region || '区域'" :before-close="handleComplete">
|
<sar-dropdown-item :title="searchParams.region || '区域'" v-model:visible="visibleFlag1">
|
||||||
<mx-radio-group v-model:value="searchParams.region" :options="regions" label-key="label" value-key="value"
|
<mx-radio-group v-model:value="searchParams.region" :options="regions" label-key="label" value-key="value"
|
||||||
custom-root-class="px-[32rpx] pt-[30rpx] pb-[40rpx]"
|
custom-root-class="px-[32rpx] pt-[30rpx] pb-[40rpx]"
|
||||||
active-item-class="bg-[#e7f2ff] text-[#1580FF] border-[#1580FF]"
|
active-item-class="bg-[#e7f2ff] text-[#1580FF] border-[#1580FF]"
|
||||||
default-item-class="bg-[#F3F4F8] border-[#F3F4F8]"
|
default-item-class="bg-[#F3F4F8] border-[#F3F4F8]"
|
||||||
custom-item-class="w-full py-[16rpx] text-center border-[1rpx] border-solid" />
|
custom-item-class="w-full py-[16rpx] text-center border-[1rpx] border-solid" @change="handleComplete"/>
|
||||||
</sar-dropdown-item>
|
</sar-dropdown-item>
|
||||||
<sar-dropdown-item :title="searchParams.natureLabel || '办学性质'" :before-close="handleComplete">
|
<sar-dropdown-item :title="searchParams.natureLabel || '办学性质'" v-model:visible="visibleFlag2">
|
||||||
<mx-radio-group v-model:value="searchParams.nature" v-model:label="searchParams.natureLabel"
|
<mx-radio-group v-model:value="searchParams.nature" v-model:label="searchParams.natureLabel"
|
||||||
:options="natureList" label-key="label" value-key="value"
|
:options="natureList" label-key="label" value-key="value"
|
||||||
custom-root-class="px-[32rpx] pt-[30rpx] pb-[40rpx]"
|
custom-root-class="px-[32rpx] pt-[30rpx] pb-[40rpx]"
|
||||||
active-item-class="bg-[#e7f2ff] text-[#1580FF] border-[#1580FF]"
|
active-item-class="bg-[#e7f2ff] text-[#1580FF] border-[#1580FF]"
|
||||||
default-item-class="bg-[#F3F4F8] border-[#F3F4F8]"
|
default-item-class="bg-[#F3F4F8] border-[#F3F4F8]"
|
||||||
custom-item-class="w-full py-[16rpx] text-center border-[1rpx] border-solid" />
|
custom-item-class="w-full py-[16rpx] text-center border-[1rpx] border-solid" @change="handleComplete" />
|
||||||
</sar-dropdown-item>
|
</sar-dropdown-item>
|
||||||
<sar-dropdown-item v-model="searchParams.schoolType" :title="searchParams.schoolTypeLabel || '类型'" :before-close="handleComplete">
|
<sar-dropdown-item v-model="searchParams.schoolType" :title="searchParams.schoolTypeLabel || '类型'" v-model:visible="visibleFlag3">
|
||||||
<mx-radio-group v-model:value="searchParams.schoolType" v-model:label="searchParams.schoolTypeLabel"
|
<mx-radio-group v-model:value="searchParams.schoolType" v-model:label="searchParams.schoolTypeLabel"
|
||||||
:options="schoolTypeList" label-key="label" value-key="value"
|
:options="schoolTypeList" label-key="label" value-key="value"
|
||||||
custom-root-class="px-[32rpx] pt-[30rpx] pb-[40rpx]"
|
custom-root-class="px-[32rpx] pt-[30rpx] pb-[40rpx]"
|
||||||
custom-item-class="w-full py-[16rpx] text-center border-[1rpx] border-solid"
|
custom-item-class="w-full py-[16rpx] text-center border-[1rpx] border-solid"
|
||||||
active-item-class="bg-[#e7f2ff] text-[#1580FF] border-[#1580FF]"
|
active-item-class="bg-[#e7f2ff] text-[#1580FF] border-[#1580FF]"
|
||||||
default-item-class="bg-[#F3F4F8] border-[#F3F4F8]" />
|
default-item-class="bg-[#F3F4F8] border-[#F3F4F8]" @change="handleComplete" />
|
||||||
</sar-dropdown-item>
|
</sar-dropdown-item>
|
||||||
</sar-dropdown>
|
</sar-dropdown>
|
||||||
</view>
|
</view>
|
||||||
|
|
|
||||||
|
|
@ -1,60 +1,13 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { getNewsDetail } from "@/service"
|
import { getNewsDetail } from "@/service"
|
||||||
import { DomHandler, Parser } from 'htmlparser2'
|
|
||||||
|
|
||||||
type RichTextNode =
|
|
||||||
| { type: 'text'; text: string }
|
|
||||||
| { type: 'element'; name: string; attrs: Record<string, any>; children: RichTextNode[] }
|
|
||||||
const newsDetail = ref({ title: '', publishTime: "", remark: "",content:"" })
|
const newsDetail = ref({ title: '', publishTime: "", remark: "",content:"" })
|
||||||
|
|
||||||
const nodes = ref<any[]>([])
|
|
||||||
|
|
||||||
const parseHTMLToObject = (htmlString) => {
|
|
||||||
const handler = new DomHandler((error, dom) => {
|
|
||||||
if (error) {
|
|
||||||
console.error('Error parsing HTML:', error)
|
|
||||||
} else {
|
|
||||||
console.log('Parsed DOM:', dom)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
const parser = new Parser(handler)
|
|
||||||
parser.write(htmlString)
|
|
||||||
parser.end()
|
|
||||||
return handler.dom
|
|
||||||
}
|
|
||||||
|
|
||||||
function traverseNodes(nodes: any[]): RichTextNode[] {
|
|
||||||
return nodes.flatMap((node) => {
|
|
||||||
if (node.type === 'text') {
|
|
||||||
const parts = node.data.split('\n')
|
|
||||||
return parts.flatMap((text, index) => {
|
|
||||||
const result: RichTextNode[] = [{ type: 'text', text }]
|
|
||||||
if (index < parts.length - 1) {
|
|
||||||
result.push({ type: 'element', name: 'br', attrs: {}, children: [] })
|
|
||||||
}
|
|
||||||
return result
|
|
||||||
})
|
|
||||||
} else if (node.type === 'tag') {
|
|
||||||
return [{
|
|
||||||
type: 'element',
|
|
||||||
name: node.name,
|
|
||||||
attrs: node.attribs,
|
|
||||||
children: traverseNodes(node.children || [])
|
|
||||||
}]
|
|
||||||
} else {
|
|
||||||
return []
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
onLoad(options => {
|
onLoad(options => {
|
||||||
if (options.id) {
|
if (options.id) {
|
||||||
getNewsDetail({ query: { id: options.id } }).then(resp => {
|
getNewsDetail({ query: { id: options.id } }).then(resp => {
|
||||||
if (resp.code == 200) {
|
if (resp.code == 200) {
|
||||||
newsDetail.value = resp.result
|
newsDetail.value = resp.result
|
||||||
// const _nodes = parseHTMLToObject(resp.result.remark)
|
|
||||||
// nodes.value = traverseNodes(_nodes)
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -73,7 +26,6 @@ const navigateToCustom = () => {
|
||||||
<view class="text-[#999] text-[28rpx] mt-[8rpx]">发布时间: {{ newsDetail.publishTime }}</view>
|
<view class="text-[#999] text-[28rpx] mt-[8rpx]">发布时间: {{ newsDetail.publishTime }}</view>
|
||||||
<view class="border-b-[2rpx] border-b-dashed border-b-[#D8D8D8] mt-[20rpx] mb-[30rpx]"></view>
|
<view class="border-b-[2rpx] border-b-dashed border-b-[#D8D8D8] mt-[20rpx] mb-[30rpx]"></view>
|
||||||
<view class="pt-[30rpx]">
|
<view class="pt-[30rpx]">
|
||||||
<!-- <rich-text :nodes="nodes"></rich-text> -->
|
|
||||||
<view v-html="newsDetail.content"></view>
|
<view v-html="newsDetail.content"></view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -109,8 +109,8 @@ const handleComplete = () => {
|
||||||
<text class="text-[30rpx] text-[#333]">{{ item.title }}</text>
|
<text class="text-[30rpx] text-[#333]">{{ item.title }}</text>
|
||||||
<text class="text-[#999999] text-[26rpx]">{{ item.publishTime }}</text>
|
<text class="text-[#999999] text-[26rpx]">{{ item.publishTime }}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="w-[216rpx] h-[144rpx]">
|
<view class="w-[216rpx] h-[144rpx] rounded-[16rpx]">
|
||||||
<image :src="item.coverImage" mode="scaleToFill" class="w-[216rpx] h-[144rpx]" />
|
<image :src="item.coverImage" mode="scaleToFill" class="w-[216rpx] h-[144rpx] rounded-[16rpx]" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
|
||||||
|
|
@ -76,10 +76,16 @@ const partialColumns = [
|
||||||
},
|
},
|
||||||
] as const
|
] as const
|
||||||
|
|
||||||
|
const visibleFlag1 = ref(false)
|
||||||
|
const visibleFlag2 = ref(false)
|
||||||
|
const visibleFlag3 = ref(false)
|
||||||
|
|
||||||
const partialData = ref([])
|
const partialData = ref([])
|
||||||
|
|
||||||
const handleChange = () => {
|
const handleChange = () => {
|
||||||
|
visibleFlag1.value = false;
|
||||||
|
visibleFlag2.value = false;
|
||||||
|
visibleFlag3.value = false;
|
||||||
getSchoolHistoricalScores({
|
getSchoolHistoricalScores({
|
||||||
query: {
|
query: {
|
||||||
SchoolName: searchParams.value.keyword,
|
SchoolName: searchParams.value.keyword,
|
||||||
|
|
@ -117,26 +123,26 @@ onShow(() => {
|
||||||
<mx-search v-model:searchText="searchParams.keyword" rootStyle="margin: 16rpx 30rpx 0;" @complete="handleChange"/>
|
<mx-search v-model:searchText="searchParams.keyword" rootStyle="margin: 16rpx 30rpx 0;" @complete="handleChange"/>
|
||||||
<sar-dropdown
|
<sar-dropdown
|
||||||
root-style="--sar-dropdown-placeholder-color:#666;--sar-dropdown-value-font-size:28rpx;--sar-dropdown-option-active-color:#1580FF;--sar-dropdown-box-shadow:0rpx 6rpx 8rpx 0rpx rgba(0,0,0,0.04);">
|
root-style="--sar-dropdown-placeholder-color:#666;--sar-dropdown-value-font-size:28rpx;--sar-dropdown-option-active-color:#1580FF;--sar-dropdown-box-shadow:0rpx 6rpx 8rpx 0rpx rgba(0,0,0,0.04);">
|
||||||
<sar-dropdown-item :title="searchParams.region || '区域'" :before-close="handleChange">
|
<sar-dropdown-item v-model:visible="visibleFlag1" :title="searchParams.region || '区域'" >
|
||||||
<mx-radio-group v-model:value="searchParams.region" :options="areaList" label-key="label" value-key="value"
|
<mx-radio-group v-model:value="searchParams.region" :options="areaList" label-key="label" value-key="value"
|
||||||
custom-root-class="px-[32rpx] pt-[30rpx] pb-[40rpx]"
|
custom-root-class="px-[32rpx] pt-[30rpx] pb-[40rpx]"
|
||||||
active-item-class="bg-[#e7f2ff] text-[#1580FF] border-[#1580FF]"
|
active-item-class="bg-[#e7f2ff] text-[#1580FF] border-[#1580FF]"
|
||||||
default-item-class="bg-[#F3F4F8] border-[#F3F4F8]"
|
default-item-class="bg-[#F3F4F8] border-[#F3F4F8]"
|
||||||
custom-item-class="w-full py-[16rpx] text-center border-[1rpx] border-solid" />
|
custom-item-class="w-full py-[16rpx] text-center border-[1rpx] border-solid" @change="handleChange"/>
|
||||||
</sar-dropdown-item>
|
</sar-dropdown-item>
|
||||||
<sar-dropdown-item :title="searchParams.natureLabel || '办学性质'" :before-close="handleChange">
|
<sar-dropdown-item v-model:visible="visibleFlag2" :title="searchParams.natureLabel || '办学性质'" >
|
||||||
<mx-radio-group v-model:value="searchParams.nature" v-model:label="searchParams.natureLabel"
|
<mx-radio-group v-model:value="searchParams.nature" v-model:label="searchParams.natureLabel"
|
||||||
:options="natureList" label-key="label" value-key="value" custom-root-class="px-[32rpx] pt-[30rpx] pb-[40rpx]"
|
:options="natureList" label-key="label" value-key="value" custom-root-class="px-[32rpx] pt-[30rpx] pb-[40rpx]"
|
||||||
active-item-class="bg-[#e7f2ff] text-[#1580FF] border-[#1580FF]"
|
active-item-class="bg-[#e7f2ff] text-[#1580FF] border-[#1580FF]"
|
||||||
default-item-class="bg-[#F3F4F8] border-[#F3F4F8]"
|
default-item-class="bg-[#F3F4F8] border-[#F3F4F8]"
|
||||||
custom-item-class="w-full py-[16rpx] text-center border-[1rpx] border-solid" />
|
custom-item-class="w-full py-[16rpx] text-center border-[1rpx] border-solid" @change="handleChange"/>
|
||||||
</sar-dropdown-item>
|
</sar-dropdown-item>
|
||||||
<sar-dropdown-item v-model="searchParams.year" :title="searchParams.year || '年份'" :before-close="handleChange">
|
<sar-dropdown-item v-model:visible="visibleFlag3" v-model="searchParams.year" :title="searchParams.year || '年份'">
|
||||||
<mx-radio-group v-model:value="searchParams.year" :options="years" label-key="label" value-key="value"
|
<mx-radio-group v-model:value="searchParams.year" :options="years" label-key="label" value-key="value"
|
||||||
custom-root-class="px-[32rpx] pt-[30rpx] pb-[40rpx]"
|
custom-root-class="px-[32rpx] pt-[30rpx] pb-[40rpx]"
|
||||||
custom-item-class="w-full py-[16rpx] text-center border-[1rpx] border-solid"
|
custom-item-class="w-full py-[16rpx] text-center border-[1rpx] border-solid"
|
||||||
active-item-class="bg-[#e7f2ff] text-[#1580FF] border-[#1580FF]"
|
active-item-class="bg-[#e7f2ff] text-[#1580FF] border-[#1580FF]"
|
||||||
default-item-class="bg-[#F3F4F8] border-[#F3F4F8]" />
|
default-item-class="bg-[#F3F4F8] border-[#F3F4F8]" @change="handleChange" />
|
||||||
</sar-dropdown-item>
|
</sar-dropdown-item>
|
||||||
</sar-dropdown>
|
</sar-dropdown>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -83,7 +83,7 @@ onLoad(() => {
|
||||||
|
|
||||||
<scroll-view scroll-y class="flex-1">
|
<scroll-view scroll-y class="flex-1">
|
||||||
<view v-for="(val, index) in schools" :key="index"
|
<view v-for="(val, index) in schools" :key="index"
|
||||||
class="flex items-center justify-between py-[28rpx] mx-[30rpx] border-b-1 border-b-solid border-[#f5f5f5] last:pb-safe"
|
class="flex items-center justify-between py-[28rpx] mx-[30rpx] border-b-1 border-b-solid border-[#f5f5f5]"
|
||||||
@click="navigateToDetail(val.schoolName)">
|
@click="navigateToDetail(val.schoolName)">
|
||||||
<view class="text-[#333] text-[30rpx]">{{ val.schoolName }}</view>
|
<view class="text-[#333] text-[30rpx]">{{ val.schoolName }}</view>
|
||||||
<view class="w-[18rpx] h-[36rpx]">
|
<view class="w-[18rpx] h-[36rpx]">
|
||||||
|
|
@ -91,9 +91,10 @@ onLoad(() => {
|
||||||
class="w-[18rpx] h-[36rpx]" />
|
class="w-[18rpx] h-[36rpx]" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="pb-safe"></view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
|
|
||||||
<sar-popout :show-close="false" :show-footer="false" v-model:visible="regionVisible" :before-close="handleChange"
|
<sar-popout :show-close="false" :show-footer="false" v-model:visible="regionVisible" @leave="handleChange"
|
||||||
root-style="--sar-popout-header-loose-padding-x:30rpx;">
|
root-style="--sar-popout-header-loose-padding-x:30rpx;">
|
||||||
<template #title>
|
<template #title>
|
||||||
<view class="flex items-center justify-between w-full">
|
<view class="flex items-center justify-between w-full">
|
||||||
|
|
@ -105,12 +106,12 @@ onLoad(() => {
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<view style="padding-left: 32rpx; padding-right: 32rpx">
|
<view class="px-[32rpx]">
|
||||||
<MxRadioGroup v-model:value="searchParams.region" v-model:label="searchParams.regionLabel" :options="regions"
|
<MxRadioGroup v-model:value="searchParams.region" v-model:label="searchParams.regionLabel" :options="regions"
|
||||||
label-key="label" value-key="value" custom-root-class=""
|
label-key="label" value-key="value" custom-root-class=""
|
||||||
custom-item-class="w-full py-[16rpx] text-center border-[1rpx] border-solid"
|
custom-item-class="w-full py-[16rpx] text-center border-[1rpx] border-solid"
|
||||||
active-item-class="bg-[#e7f2ff] text-[#1580FF] border-[#1580FF]"
|
active-item-class="bg-[#e7f2ff] text-[#1580FF] border-[#1580FF]"
|
||||||
default-item-class="bg-[#F3F4F8] border-[#F3F4F8]" />
|
default-item-class="bg-[#F3F4F8] border-[#F3F4F8]" @change="regionVisible = false"/>
|
||||||
</view>
|
</view>
|
||||||
</sar-popout>
|
</sar-popout>
|
||||||
</view>
|
</view>
|
||||||
|
|
|
||||||
|
|
@ -22,8 +22,8 @@ onShow(() => {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<view class="bg-[#F8F8F8] h-screen px-[30rpx]">
|
<view class="bg-[#F8F8F8] h-screen px-[30rpx] overflow-hidden">
|
||||||
<view v-for="(val, index) in list" :key="index" class="flex mb-[18rpx]" v-if="list.length > 0" @click="useRouterDetail(val)">
|
<view v-for="(val, index) in list" :key="index" class="flex first:mt-[30rpx]" v-if="list.length > 0" @click="useRouterDetail(val)">
|
||||||
<view
|
<view
|
||||||
class="text-[30rpx] text-[#333] grid gap-[8rpx] bg-white px-[30rpx] py-[20rpx] not-last:mb-[30rpx] rounded-[16rpx] w-full flex items-center justify-between">
|
class="text-[30rpx] text-[#333] grid gap-[8rpx] bg-white px-[30rpx] py-[20rpx] not-last:mb-[30rpx] rounded-[16rpx] w-full flex items-center justify-between">
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -41,8 +41,8 @@ onLoad(() => {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<view class="bg-[#F8F8F8] h-screen px-[30rpx]">
|
<view class="bg-[#F8F8F8] h-screen px-[30rpx] overflow-hidden">
|
||||||
<view v-for="(val, index) in schools" :key="index" class="flex items-center mb-[18rpx] px-[30rpx] py-[20rpx] bg-white"
|
<view v-for="(val, index) in schools" :key="index" class="flex items-center mb-[18rpx] px-[30rpx] py-[20rpx] bg-white first:mt-[30rpx]"
|
||||||
v-if="schools.length > 0" @click.stop="navigateToDetail(val.id)">
|
v-if="schools.length > 0" @click.stop="navigateToDetail(val.id)">
|
||||||
<view class="text-[30rpx] text-[#333] grid gap-[8rpx] not-last:mb-[30rpx] rounded-[16rpx] flex-1">
|
<view class="text-[30rpx] text-[#333] grid gap-[8rpx] not-last:mb-[30rpx] rounded-[16rpx] flex-1">
|
||||||
<view class="text-[32rpx] font-600">{{ val.schoolName }}</view>
|
<view class="text-[32rpx] font-600">{{ val.schoolName }}</view>
|
||||||
|
|
|
||||||
|
|
@ -47,8 +47,8 @@ onShow(() => {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<view class="bg-[#F8F8F8] h-screen px-[30rpx]">
|
<view class="bg-[#F8F8F8] h-screen px-[30rpx] overflow-hidden">
|
||||||
<view v-for="(val, index) in wishlist" :key="index" class="flex mb-[18rpx]" v-if="wishlist.length > 0" @click="navigateToDetail(val)">
|
<view v-for="(val, index) in wishlist" :key="index" class="flex first:mt-[30rpx]" v-if="wishlist.length > 0" @click="navigateToDetail(val)">
|
||||||
<view
|
<view
|
||||||
class="text-[30rpx] text-[#333] grid gap-[8rpx] bg-white px-[30rpx] py-[20rpx] not-last:mb-[30rpx] rounded-[16rpx] w-full">
|
class="text-[30rpx] text-[#333] grid gap-[8rpx] bg-white px-[30rpx] py-[20rpx] not-last:mb-[30rpx] rounded-[16rpx] w-full">
|
||||||
<view class="text-[32rpx] font-600">{{ val.title }}</view>
|
<view class="text-[32rpx] font-600">{{ val.title }}</view>
|
||||||
|
|
|
||||||
|
|
@ -131,7 +131,7 @@ onLoad(() => {
|
||||||
</template>
|
</template>
|
||||||
</sar-navbar>
|
</sar-navbar>
|
||||||
|
|
||||||
<view class="flex items-center mx-[30rpx]">
|
<view class="flex items-center mx-[30rpx] mb-[20rpx]">
|
||||||
<view class="w-[112rpx] h-[104rpx] flex items-center">
|
<view class="w-[112rpx] h-[104rpx] flex items-center">
|
||||||
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_01.png" mode="scaleToFill"
|
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_01.png" mode="scaleToFill"
|
||||||
class="w-[112rpx] h-[104rpx]" />
|
class="w-[112rpx] h-[104rpx]" />
|
||||||
|
|
|
||||||
|
|
@ -153,7 +153,7 @@ onLoad(() => {
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="flex items-center text-[30rpx] mx-[40rpx] py-[34rpx]">
|
<view class="flex items-center text-[30rpx] mx-[40rpx] pt-[34rpx] mb-[20rpx]">
|
||||||
<view class="text-[#404142] text-left mr-[14rpx]">考级证书</view>
|
<view class="text-[#404142] text-left mr-[14rpx]">考级证书</view>
|
||||||
<view class="w-[32rpx] h-[32rpx] flex items-center">
|
<view class="w-[32rpx] h-[32rpx] flex items-center">
|
||||||
<image src="https://lwzk.ycymedu.com/img/cpgx/cp_jieshi.png"
|
<image src="https://lwzk.ycymedu.com/img/cpgx/cp_jieshi.png"
|
||||||
|
|
@ -165,7 +165,7 @@ onLoad(() => {
|
||||||
<MxUpload :multiple="true" :outerFileList="defaultImgs" @change="handleAwardUploadChange" />
|
<MxUpload :multiple="true" :outerFileList="defaultImgs" @change="handleAwardUploadChange" />
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="flex items-center text-[30rpx] mx-[40rpx] py-[34rpx]">
|
<view class="flex items-center text-[30rpx] mx-[40rpx] pt-[34rpx] mb-[20rpx]">
|
||||||
<view class="text-[#404142] text-left mr-[14rpx]">作品上传</view>
|
<view class="text-[#404142] text-left mr-[14rpx]">作品上传</view>
|
||||||
<view class="w-[32rpx] h-[32rpx] flex items-center">
|
<view class="w-[32rpx] h-[32rpx] flex items-center">
|
||||||
<image src="https://lwzk.ycymedu.com/img/cpgx/cp_jieshi.png"
|
<image src="https://lwzk.ycymedu.com/img/cpgx/cp_jieshi.png"
|
||||||
|
|
|
||||||
|
|
@ -107,6 +107,8 @@ onShow(() => {
|
||||||
userInfo.value.talentExtend = resp.result
|
userInfo.value.talentExtend = resp.result
|
||||||
} else {
|
} else {
|
||||||
userStore.initUserTalent()
|
userStore.initUserTalent()
|
||||||
|
console.log(userInfo.value.talentExtend);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
userInfo.value.talentExtend.type = 1
|
userInfo.value.talentExtend.type = 1
|
||||||
|
|
@ -125,7 +127,7 @@ onShow(() => {
|
||||||
</template>
|
</template>
|
||||||
</sar-navbar>
|
</sar-navbar>
|
||||||
|
|
||||||
<view class="flex items-center mx-[30rpx]">
|
<view class="flex items-center mx-[30rpx] mb-[20rpx]">
|
||||||
<view class="w-[112rpx] h-[104rpx] flex items-center">
|
<view class="w-[112rpx] h-[104rpx] flex items-center">
|
||||||
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_01.png" mode="scaleToFill"
|
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_01.png" mode="scaleToFill"
|
||||||
class="w-[112rpx] h-[104rpx]" />
|
class="w-[112rpx] h-[104rpx]" />
|
||||||
|
|
|
||||||
|
|
@ -116,7 +116,7 @@ onLoad(() => {
|
||||||
</template>
|
</template>
|
||||||
</sar-navbar>
|
</sar-navbar>
|
||||||
|
|
||||||
<view class="flex items-center mx-[30rpx]">
|
<view class="flex items-center mx-[30rpx] mb-[20rpx]">
|
||||||
<view class="w-[112rpx] h-[104rpx] flex items-center">
|
<view class="w-[112rpx] h-[104rpx] flex items-center">
|
||||||
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_02.png" mode="scaleToFill"
|
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_02.png" mode="scaleToFill"
|
||||||
class="w-[112rpx] h-[104rpx]" />
|
class="w-[112rpx] h-[104rpx]" />
|
||||||
|
|
@ -136,8 +136,7 @@ onLoad(() => {
|
||||||
<view class="flex flex-col h-full">
|
<view class="flex flex-col h-full">
|
||||||
<view
|
<view
|
||||||
class="flex items-center text-[30rpx] justify-between mx-[40rpx] py-[34rpx] border-b-1 border-b-[#eaeaea] border-b-solid">
|
class="flex items-center text-[30rpx] justify-between mx-[40rpx] py-[34rpx] border-b-1 border-b-[#eaeaea] border-b-solid">
|
||||||
<view class="text-[#404142] text-left min-w-[150rpx] mr-[40rpx]">体测成绩 <span
|
<view class="text-[#404142] text-left min-w-[150rpx] mr-[40rpx]">体测成绩<span class="text-[#D42226] text-[30rpx]">*</span>
|
||||||
class="text-[#D42226]">*</span>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="flex-1">
|
<view class="flex-1">
|
||||||
<input type="number" input-mode="numeric" v-model="userInfo.talentExtend.fitnessResult"
|
<input type="number" input-mode="numeric" v-model="userInfo.talentExtend.fitnessResult"
|
||||||
|
|
@ -149,7 +148,7 @@ onLoad(() => {
|
||||||
<view
|
<view
|
||||||
class="flex items-center text-[30rpx] justify-between mx-[40rpx] py-[34rpx] border-b-1 border-b-[#eaeaea] border-b-solid">
|
class="flex items-center text-[30rpx] justify-between mx-[40rpx] py-[34rpx] border-b-1 border-b-[#eaeaea] border-b-solid">
|
||||||
<view class="text-[#404142] text-left min-w-[150rpx] mr-[40rpx] ">百米成绩<span
|
<view class="text-[#404142] text-left min-w-[150rpx] mr-[40rpx] ">百米成绩<span
|
||||||
class="text-[#D42226]">*</span>
|
class="text-[#D42226] text-[30rpx]">*</span>
|
||||||
</view>
|
</view>
|
||||||
<view class="flex-1 flex items-center">
|
<view class="flex-1 flex items-center">
|
||||||
<view class="flex-1">
|
<view class="flex-1">
|
||||||
|
|
@ -166,7 +165,7 @@ onLoad(() => {
|
||||||
<view
|
<view
|
||||||
class="flex items-center text-[30rpx] justify-between mx-[40rpx] py-[34rpx] border-b-1 border-b-[#eaeaea] border-b-solid">
|
class="flex items-center text-[30rpx] justify-between mx-[40rpx] py-[34rpx] border-b-1 border-b-[#eaeaea] border-b-solid">
|
||||||
<view class="text-[#404142] text-left min-w-[150rpx] mr-[40rpx] ">立定跳远<span
|
<view class="text-[#404142] text-left min-w-[150rpx] mr-[40rpx] ">立定跳远<span
|
||||||
class="text-[#D42226]">*</span>
|
class="text-[#D42226] text-[30rpx]">*</span>
|
||||||
</view>
|
</view>
|
||||||
<view class="flex-1 flex items-center">
|
<view class="flex-1 flex items-center">
|
||||||
<view class="flex-1">
|
<view class="flex-1">
|
||||||
|
|
@ -183,7 +182,7 @@ onLoad(() => {
|
||||||
<view
|
<view
|
||||||
class="flex items-center text-[30rpx] justify-between mx-[40rpx] py-[34rpx] border-b-1 border-b-[#eaeaea] border-b-solid">
|
class="flex items-center text-[30rpx] justify-between mx-[40rpx] py-[34rpx] border-b-1 border-b-[#eaeaea] border-b-solid">
|
||||||
<view class="text-[#404142] text-left min-w-[150rpx] mr-[40rpx]">专项项目<span
|
<view class="text-[#404142] text-left min-w-[150rpx] mr-[40rpx]">专项项目<span
|
||||||
class="text-[#D42226]">*</span>
|
class="text-[#D42226] text-[30rpx]">*</span>
|
||||||
</view>
|
</view>
|
||||||
<view class="flex-1 flex items-center" @click="handleOpenPopup('project')">
|
<view class="flex-1 flex items-center" @click="handleOpenPopup('project')">
|
||||||
<view class="flex-1">
|
<view class="flex-1">
|
||||||
|
|
@ -214,7 +213,7 @@ onLoad(() => {
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="flex items-center text-[30rpx] mx-[40rpx] py-[34rpx]">
|
<view class="flex items-center text-[30rpx] mx-[40rpx] pt-[34rpx] mb-[20rpx]">
|
||||||
<view class="text-[#404142] text-left mr-[14rpx]">获奖经历</view>
|
<view class="text-[#404142] text-left mr-[14rpx]">获奖经历</view>
|
||||||
<view class="w-[32rpx] h-[32rpx] flex items-center">
|
<view class="w-[32rpx] h-[32rpx] flex items-center">
|
||||||
<image src="https://lwzk.ycymedu.com/img/cpgx/cp_jieshi.png"
|
<image src="https://lwzk.ycymedu.com/img/cpgx/cp_jieshi.png"
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ const handleChoose = (val) => {
|
||||||
chooseData.value.splice(0, 1, val.schoolId)
|
chooseData.value.splice(0, 1, val.schoolId)
|
||||||
if(wishlistStore.getSchool()){
|
if(wishlistStore.getSchool()){
|
||||||
const exitsSchool = JSON.parse(wishlistStore.getSchool())
|
const exitsSchool = JSON.parse(wishlistStore.getSchool())
|
||||||
const willSchool = exitsSchool.filter((item)=>{item.type !== '指标生'})
|
const willSchool = exitsSchool.schools.filter((item)=>{item.type !== '指标生'})
|
||||||
wishlistStore.setSchool(JSON.stringify({schools:[{...val,type:'firstBatch'},...willSchool]}))
|
wishlistStore.setSchool(JSON.stringify({schools:[{...val,type:'firstBatch'},...willSchool]}))
|
||||||
}else{
|
}else{
|
||||||
wishlistStore.setSchool(JSON.stringify({schools:[{...val,type:'firstBatch'}]}))
|
wishlistStore.setSchool(JSON.stringify({schools:[{...val,type:'firstBatch'}]}))
|
||||||
|
|
@ -169,7 +169,7 @@ onMounted(() => {
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<sar-popout :show-close="false" :show-footer="false" v-model:visible="popVisible"
|
<sar-popout :show-close="false" :show-footer="false" v-model:visible="popVisible"
|
||||||
root-style="--sar-popout-header-loose-padding-x:30rpx;" @leave="handleChangeSchool">
|
root-style="--sar-popout-header-loose-padding-x:30rpx;" root-class="min-h-[560rpx]" @leave="handleChangeSchool">
|
||||||
<template #title>
|
<template #title>
|
||||||
<view class="flex items-center justify-between w-full">
|
<view class="flex items-center justify-between w-full">
|
||||||
<view class="text-[34rpx] font-500">{{ popType === 'school' ? '全部学校' : (popType ===
|
<view class="text-[34rpx] font-500">{{ popType === 'school' ? '全部学校' : (popType ===
|
||||||
|
|
@ -178,7 +178,6 @@ onMounted(() => {
|
||||||
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_guanbi.png" mode="scaleToFill"
|
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_guanbi.png" mode="scaleToFill"
|
||||||
class="w-[36rpx] h-[36rpx]" />
|
class="w-[36rpx] h-[36rpx]" />
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<view>
|
<view>
|
||||||
|
|
@ -188,13 +187,13 @@ onMounted(() => {
|
||||||
custom-root-class="pt-[30rpx] pb-[16rpx]"
|
custom-root-class="pt-[30rpx] pb-[16rpx]"
|
||||||
custom-item-class="py-[12rpx] text-center border-1 border-solid border-[#F3F4F8]"
|
custom-item-class="py-[12rpx] text-center border-1 border-solid border-[#F3F4F8]"
|
||||||
active-item-class="bg-white text-[#1580FF] border-1 border-solid border-[#1580FF]!"
|
active-item-class="bg-white text-[#1580FF] border-1 border-solid border-[#1580FF]!"
|
||||||
v-if="popType === 'school'" />
|
v-if="popType === 'school'" @change="popVisible = false"/>
|
||||||
<MxRadio v-model:value="searchParams.nature" v-model:label="searchParams.natureLabel" :options="natureList"
|
<MxRadio v-model:value="searchParams.nature" v-model:label="searchParams.natureLabel" :options="natureList"
|
||||||
label-key="label" value-key="value" custom-root-cols-class="grid grid-cols-2 items-center gap-[16rpx]"
|
label-key="label" value-key="value" custom-root-cols-class="grid grid-cols-2 items-center gap-[16rpx]"
|
||||||
custom-root-class="pt-[30rpx] pb-[16rpx]"
|
custom-root-class="pt-[30rpx] pb-[16rpx]"
|
||||||
custom-item-class="py-[12rpx] text-center border-1 border-solid border-[#F3F4F8]"
|
custom-item-class="py-[12rpx] text-center border-1 border-solid border-[#F3F4F8]"
|
||||||
active-item-class="bg-white text-[#1580FF] border-1 border-solid border-[#1580FF]!"
|
active-item-class="bg-white text-[#1580FF] border-1 border-solid border-[#1580FF]!"
|
||||||
v-if="popType === 'nature'" />
|
v-if="popType === 'nature'" @change="popVisible = false"/>
|
||||||
<MxCheckbox v-model:value="searchParams.region" :options="regions" label-key="label" value-key="value"
|
<MxCheckbox v-model:value="searchParams.region" :options="regions" label-key="label" value-key="value"
|
||||||
custom-root-class="pt-[30rpx] pb-[16rpx]" custom-item-class="w-full py-[16rpx] text-center"
|
custom-root-class="pt-[30rpx] pb-[16rpx]" custom-item-class="w-full py-[16rpx] text-center"
|
||||||
v-if="popType === 'region'" />
|
v-if="popType === 'region'" />
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
// import MxSearch from "@/pages-sub/components/search/index.vue"
|
import MxSearch from "@/pages-sub/components/search/index.vue"
|
||||||
import MxCheckbox from "@/pages-sub/components/checkbox/index.vue?async"
|
import MxCheckbox from "@/pages-sub/components/checkbox/index.vue?async"
|
||||||
import MxRadio from "@/pages-sub/components/radio/index.vue?async"
|
import MxRadio from "@/pages-sub/components/radio/index.vue?async"
|
||||||
import { getAreaList, getBusSchoolAdmission, getSchoolNature } from "@/service"
|
import { getAreaList, getBusSchoolAdmission, getSchoolNature } from "@/service"
|
||||||
|
|
@ -34,11 +34,11 @@ const handleChoose = (val) => {
|
||||||
chooseDataMap.set(val.schoolId, val)
|
chooseDataMap.set(val.schoolId, val)
|
||||||
}
|
}
|
||||||
let tempSchool = []
|
let tempSchool = []
|
||||||
chooseDataMap.forEach((val,key)=>{
|
chooseDataMap.forEach((val, key) => {
|
||||||
tempSchool.push({...val,type:"secondBatch"})
|
tempSchool.push({ ...val, type: "secondBatch" })
|
||||||
})
|
})
|
||||||
|
|
||||||
wishlistStore.setSchool(JSON.stringify({schools:tempSchool}))
|
wishlistStore.setSchool(JSON.stringify({ schools: tempSchool }))
|
||||||
}
|
}
|
||||||
|
|
||||||
const popVisible = ref(false)
|
const popVisible = ref(false)
|
||||||
|
|
@ -136,8 +136,9 @@ onBeforeMount(() => {
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- <MxSearch root-class="py-[14rpx]! px-[20rpx]! w-[166rpx] rounded-[12rpx]!" :clear-icon="false"
|
<MxSearch v-model:searchText="searchParams.keyword"
|
||||||
placeholder="请输入" /> -->
|
root-class="py-[14rpx]! px-[20rpx]! w-[166rpx] rounded-[12rpx]!" :clear-icon="false" placeholder="请输入"
|
||||||
|
@complete="handleChangeSchool" />
|
||||||
</view>
|
</view>
|
||||||
<view v-if="tableData.length === 0"
|
<view v-if="tableData.length === 0"
|
||||||
class="flex flex-col items-center justify-center bg-[#F7F7F7] min-h-[240rpx] rounded-[16rpx]">
|
class="flex flex-col items-center justify-center bg-[#F7F7F7] min-h-[240rpx] rounded-[16rpx]">
|
||||||
|
|
@ -175,8 +176,8 @@ onBeforeMount(() => {
|
||||||
<view class="flex items-center justify-center" @click="handleChoose(record)">
|
<view class="flex items-center justify-center" @click="handleChoose(record)">
|
||||||
<view class="w-[36rpx] h-[36rpx] flex items-center"
|
<view class="w-[36rpx] h-[36rpx] flex items-center"
|
||||||
v-if="chooseData.includes(record.schoolId)">
|
v-if="chooseData.includes(record.schoolId)">
|
||||||
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_duoxuan.png"
|
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_duoxuan.png" mode="scaleToFill"
|
||||||
mode="scaleToFill" class="w-[36rpx] h-[36rpx]" />
|
class="w-[36rpx] h-[36rpx]" />
|
||||||
</view>
|
</view>
|
||||||
<sar-icon name="square" size="36rpx" color="#CCC" v-else></sar-icon>
|
<sar-icon name="square" size="36rpx" color="#CCC" v-else></sar-icon>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -192,8 +193,8 @@ onBeforeMount(() => {
|
||||||
<view class="text-[34rpx] font-500">{{ popType === 'school' ? '全部学校' : (popType === 'nature' ?
|
<view class="text-[34rpx] font-500">{{ popType === 'school' ? '全部学校' : (popType === 'nature' ?
|
||||||
'请选择办学性质' : '请选择所在区(可多选)') }}</view>
|
'请选择办学性质' : '请选择所在区(可多选)') }}</view>
|
||||||
<view class="w-[36rpx] h-[36rpx] flex items-center" @click="popVisible = false">
|
<view class="w-[36rpx] h-[36rpx] flex items-center" @click="popVisible = false">
|
||||||
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_guanbi.png"
|
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_guanbi.png" mode="scaleToFill"
|
||||||
mode="scaleToFill" class="w-[36rpx] h-[36rpx]" />
|
class="w-[36rpx] h-[36rpx]" />
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -206,14 +207,14 @@ onBeforeMount(() => {
|
||||||
custom-root-class="pt-[30rpx] pb-[16rpx]"
|
custom-root-class="pt-[30rpx] pb-[16rpx]"
|
||||||
custom-item-class="py-[12rpx] text-center border-1 border-solid border-[#F3F4F8]"
|
custom-item-class="py-[12rpx] text-center border-1 border-solid border-[#F3F4F8]"
|
||||||
active-item-class="bg-white text-[#1580FF] border-1 border-solid border-[#1580FF]!"
|
active-item-class="bg-white text-[#1580FF] border-1 border-solid border-[#1580FF]!"
|
||||||
v-if="popType === 'school'" />
|
v-if="popType === 'school'" @change="popVisible = false"/>
|
||||||
<MxRadio v-model:value="searchParams.nature" v-model:label="searchParams.natureLabel"
|
<MxRadio v-model:value="searchParams.nature" v-model:label="searchParams.natureLabel"
|
||||||
:options="natureList" label-key="label" value-key="value"
|
:options="natureList" label-key="label" value-key="value"
|
||||||
custom-root-cols-class="grid grid-cols-2 items-center gap-[16rpx]"
|
custom-root-cols-class="grid grid-cols-2 items-center gap-[16rpx]"
|
||||||
custom-root-class="pt-[30rpx] pb-[16rpx]"
|
custom-root-class="pt-[30rpx] pb-[16rpx]"
|
||||||
custom-item-class="py-[12rpx] text-center border-1 border-solid border-[#F3F4F8]"
|
custom-item-class="py-[12rpx] text-center border-1 border-solid border-[#F3F4F8]"
|
||||||
active-item-class="bg-white text-[#1580FF] border-1 border-solid border-[#1580FF]!"
|
active-item-class="bg-white text-[#1580FF] border-1 border-solid border-[#1580FF]!"
|
||||||
v-if="popType === 'nature'" />
|
v-if="popType === 'nature'" @change="popVisible = false"/>
|
||||||
<MxCheckbox v-model:value="searchParams.region" :options="regions" label-key="label"
|
<MxCheckbox v-model:value="searchParams.region" :options="regions" label-key="label"
|
||||||
value-key="value" custom-root-class="pt-[30rpx] pb-[16rpx]"
|
value-key="value" custom-root-class="pt-[30rpx] pb-[16rpx]"
|
||||||
custom-item-class="w-full py-[16rpx] text-center" v-if="popType === 'region'" />
|
custom-item-class="w-full py-[16rpx] text-center" v-if="popType === 'region'" />
|
||||||
|
|
|
||||||
|
|
@ -82,6 +82,10 @@ const handleChangeSchool = () => {
|
||||||
totalCount.value = Number(resp.result.chongCount) + Number(resp.result.wenCount) + Number(resp.result.baoCount)
|
totalCount.value = Number(resp.result.chongCount) + Number(resp.result.wenCount) + Number(resp.result.baoCount)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
const handleCancel = () => {
|
||||||
|
searchParams.value.region = []
|
||||||
|
popVisible.value = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
onBeforeMount(() => {
|
onBeforeMount(() => {
|
||||||
|
|
@ -185,7 +189,7 @@ onBeforeMount(() => {
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<sar-popout :show-close="false" :show-footer="false" v-model:visible="popVisible"
|
<sar-popout :show-close="false" :show-footer="false" v-model:visible="popVisible"
|
||||||
root-style="--sar-popout-header-loose-padding-x:30rpx;">
|
root-style="--sar-popout-header-loose-padding-x:30rpx;" @leave="handleChangeSchool">
|
||||||
<template #title>
|
<template #title>
|
||||||
<view class="flex items-center justify-between w-full">
|
<view class="flex items-center justify-between w-full">
|
||||||
<view class="text-[34rpx] font-500">{{ popType === 'school' ? '全部学校' : (popType === 'nature' ?
|
<view class="text-[34rpx] font-500">{{ popType === 'school' ? '全部学校' : (popType === 'nature' ?
|
||||||
|
|
@ -205,14 +209,14 @@ onBeforeMount(() => {
|
||||||
custom-root-class="pt-[30rpx] pb-[16rpx]"
|
custom-root-class="pt-[30rpx] pb-[16rpx]"
|
||||||
custom-item-class="py-[12rpx] text-center border-1 border-solid border-[#F3F4F8]"
|
custom-item-class="py-[12rpx] text-center border-1 border-solid border-[#F3F4F8]"
|
||||||
active-item-class="bg-white text-[#1580FF] border-1 border-solid border-[#1580FF]!"
|
active-item-class="bg-white text-[#1580FF] border-1 border-solid border-[#1580FF]!"
|
||||||
v-if="popType === 'school'" />
|
v-if="popType === 'school'" @change="popVisible = false"/>
|
||||||
<MxRadio v-model:value="searchParams.nature" v-model:label="searchParams.natureLabel"
|
<MxRadio v-model:value="searchParams.nature" v-model:label="searchParams.natureLabel"
|
||||||
:options="natureList" label-key="label" value-key="value"
|
:options="natureList" label-key="label" value-key="value"
|
||||||
custom-root-cols-class="grid grid-cols-2 items-center gap-[16rpx]"
|
custom-root-cols-class="grid grid-cols-2 items-center gap-[16rpx]"
|
||||||
custom-root-class="pt-[30rpx] pb-[16rpx]"
|
custom-root-class="pt-[30rpx] pb-[16rpx]"
|
||||||
custom-item-class="py-[12rpx] text-center border-1 border-solid border-[#F3F4F8]"
|
custom-item-class="py-[12rpx] text-center border-1 border-solid border-[#F3F4F8]"
|
||||||
active-item-class="bg-white text-[#1580FF] border-1 border-solid border-[#1580FF]!"
|
active-item-class="bg-white text-[#1580FF] border-1 border-solid border-[#1580FF]!"
|
||||||
v-if="popType === 'nature'" />
|
v-if="popType === 'nature'" @change="popVisible = false"/>
|
||||||
<MxCheckbox v-model:value="searchParams.region" :options="regions" label-key="label"
|
<MxCheckbox v-model:value="searchParams.region" :options="regions" label-key="label"
|
||||||
value-key="value" custom-root-class="pt-[30rpx] pb-[16rpx]"
|
value-key="value" custom-root-class="pt-[30rpx] pb-[16rpx]"
|
||||||
custom-item-class="w-full py-[16rpx] text-center" v-if="popType === 'region'" />
|
custom-item-class="w-full py-[16rpx] text-center" v-if="popType === 'region'" />
|
||||||
|
|
@ -220,9 +224,9 @@ onBeforeMount(() => {
|
||||||
<view
|
<view
|
||||||
class="grid grid-cols-2 gap-[20rpx] border-t-[1rpx] border-t-solid border-t-[#eee] pt-[16rpx] px-[30rpx]"
|
class="grid grid-cols-2 gap-[20rpx] border-t-[1rpx] border-t-solid border-t-[#eee] pt-[16rpx] px-[30rpx]"
|
||||||
v-if="popType === 'region'">
|
v-if="popType === 'region'">
|
||||||
<view class="text-[34rpx] font-500 text-[#333] bg-[#F5F5F5] rounded-[12rpx] py-[20rpx] text-center">
|
<view class="text-[34rpx] font-500 text-[#333] bg-[#F5F5F5] rounded-[12rpx] py-[20rpx] text-center" @click="handleCancel">
|
||||||
取消</view>
|
取消</view>
|
||||||
<view class="text-[34rpx] font-500 text-white bg-[#1580FF] rounded-[12rpx] py-[20rpx] text-center">
|
<view class="text-[34rpx] font-500 text-white bg-[#1580FF] rounded-[12rpx] py-[20rpx] text-center" @click="handleChangeSchool">
|
||||||
确定</view>
|
确定</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
|
||||||
|
|
@ -29,13 +29,16 @@ definePage({
|
||||||
// #endif
|
// #endif
|
||||||
|
|
||||||
const handleBack = () => {
|
const handleBack = () => {
|
||||||
uni.navigateBack({ delta: 1 })
|
const pages = getCurrentPages()
|
||||||
|
if(pages.length <=1){
|
||||||
|
uni.switchTab({url:'/pages/index/index'})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
uni.navigateBack()
|
||||||
}
|
}
|
||||||
|
|
||||||
const formData = ref({
|
const formData = ref({
|
||||||
|
|
||||||
genderLabel: '',
|
genderLabel: '',
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
|
|
@ -69,7 +72,7 @@ const onOverlayClick = () => {
|
||||||
visible.value = false
|
visible.value = false
|
||||||
}
|
}
|
||||||
|
|
||||||
const genderClassification = [{ label: '男', value: "1" }, { label: '女', value: "2" }]
|
const genderClassification = [{ label: '男', value: 1 }, { label: '女', value: 2 }]
|
||||||
const gradeClassification = ref([])
|
const gradeClassification = ref([])
|
||||||
const areaList = ref([])
|
const areaList = ref([])
|
||||||
|
|
||||||
|
|
@ -113,7 +116,7 @@ onShow(() => {
|
||||||
</template>
|
</template>
|
||||||
</sar-navbar>
|
</sar-navbar>
|
||||||
|
|
||||||
<view class="flex items-center mx-[30rpx]">
|
<view class="flex items-center mx-[30rpx] mb-[20rpx]">
|
||||||
<view class="w-[112rpx] h-[104rpx] flex items-center">
|
<view class="w-[112rpx] h-[104rpx] flex items-center">
|
||||||
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_01.png" mode="scaleToFill"
|
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_01.png" mode="scaleToFill"
|
||||||
class="w-[112rpx] h-[104rpx]" />
|
class="w-[112rpx] h-[104rpx]" />
|
||||||
|
|
@ -226,22 +229,22 @@ onShow(() => {
|
||||||
</view>
|
</view>
|
||||||
<MxRadio v-model:value="userInfo.sex" v-model:label="formData.genderLabel" v-if="activeType == 'gender'"
|
<MxRadio v-model:value="userInfo.sex" v-model:label="formData.genderLabel" v-if="activeType == 'gender'"
|
||||||
:options="genderClassification" label-key="label" value-key="value"
|
:options="genderClassification" label-key="label" value-key="value"
|
||||||
custom-root-cols-class="grid grid-cols-2 items-center gap-[16rpx]"
|
custom-root-cols-class="grid grid-cols-2 items-center gap-[20rpx]"
|
||||||
custom-root-class="pt-[22rpx] pb-[20rpx]" custom-item-class="py-[12rpx] text-center "
|
custom-root-class="pb-[20rpx]" custom-item-class="py-[12rpx] text-center "
|
||||||
active-item-class="bg-[#e7f2ff] text-[#1580FF] border-none" />
|
active-item-class="bg-white text-[#1580FF] border-[#1580FF] border-[2rpx] border-solid" @change="visible = false" />
|
||||||
|
|
||||||
|
|
||||||
<MxRadio v-model:value="userInfo.userExtend.gradeId" v-model:label="userInfo.userExtend.gradeName"
|
<MxRadio v-model:value="userInfo.userExtend.gradeId" v-model:label="userInfo.userExtend.gradeName"
|
||||||
v-if="activeType == 'grade'" :options="gradeClassification" label-key="label" value-key="value"
|
v-if="activeType == 'grade'" :options="gradeClassification" label-key="label" value-key="value"
|
||||||
custom-root-cols-class="grid grid-cols-3 items-center gap-[16rpx]"
|
custom-root-cols-class="grid grid-cols-3 items-center gap-[20rpx]"
|
||||||
custom-root-class="pt-[22rpx] pb-[20rpx]" custom-item-class="py-[12rpx] text-center "
|
custom-root-class="pb-[20rpx]" custom-item-class="py-[12rpx] text-center "
|
||||||
active-item-class="bg-[#e7f2ff] text-[#1580FF] border-none" />
|
active-item-class="bg-white text-[#1580FF] border-[#1580FF] border-[2rpx] border-solid" @change="visible = false"/>
|
||||||
|
|
||||||
<MxRadio v-model:value="userInfo.userExtend.area" v-if="activeType == 'examinationArea'"
|
<MxRadio v-model:value="userInfo.userExtend.area" v-if="activeType == 'examinationArea'"
|
||||||
:options="areaList" label-key="label" value-key="value"
|
:options="areaList" label-key="label" value-key="value"
|
||||||
custom-root-cols-class="grid grid-cols-3 items-center gap-[16rpx]"
|
custom-root-cols-class="grid grid-cols-3 items-center gap-[20rpx]"
|
||||||
custom-root-class="pt-[22rpx] pb-[20rpx]" custom-item-class="py-[12rpx] text-center "
|
custom-root-class="pb-[20rpx]" custom-item-class="py-[12rpx] text-center "
|
||||||
active-item-class="bg-[#e7f2ff] text-[#1580FF] border-none" />
|
active-item-class="bg-white text-[#1580FF] border-[#1580FF] border-[2rpx] border-solid" @change="visible = false"/>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</sar-popup>
|
</sar-popup>
|
||||||
|
|
@ -250,7 +253,7 @@ onShow(() => {
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.custom-background {
|
.custom-background {
|
||||||
background: linear-gradient(180deg, #D7E4FF 0%, #fff 556rpx);
|
background: linear-gradient( 177deg, #E4EDFF 0%, #F0F5FF 180rpx, #FEFEFF 360rpx);
|
||||||
background-position: 50% 50%;
|
background-position: 50% 50%;
|
||||||
background-origin: padding-box;
|
background-origin: padding-box;
|
||||||
background-clip: border-box;
|
background-clip: border-box;
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,8 @@ import { safeAreaInsets } from '@/utils/systemInfo'
|
||||||
import ScheduleQuota from './components/ScheduleQuota.vue'
|
import ScheduleQuota from './components/ScheduleQuota.vue'
|
||||||
import FirstBatchSchool from './components/FirstBatchSchool.vue'
|
import FirstBatchSchool from './components/FirstBatchSchool.vue'
|
||||||
import MxDialog from "@/pages-sub/components/dialog/index.vue"
|
import MxDialog from "@/pages-sub/components/dialog/index.vue"
|
||||||
|
import { useWishlistStore } from '@/store'
|
||||||
|
import { storeToRefs } from 'pinia'
|
||||||
|
|
||||||
// #ifdef MP-WEIXIN
|
// #ifdef MP-WEIXIN
|
||||||
definePage({
|
definePage({
|
||||||
|
|
@ -24,7 +26,12 @@ definePage({
|
||||||
})
|
})
|
||||||
// #endif
|
// #endif
|
||||||
|
|
||||||
|
const wishlistStore = useWishlistStore()
|
||||||
|
|
||||||
|
const {extendWishlist} = storeToRefs(wishlistStore)
|
||||||
|
|
||||||
const handleBack = () => {
|
const handleBack = () => {
|
||||||
|
wishlistStore.clearExtendWishlist()
|
||||||
uni.navigateBack({ delta: 1 })
|
uni.navigateBack({ delta: 1 })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -44,20 +51,20 @@ const show = ref(false)
|
||||||
<view class="flex justify-center">第一批次</view>
|
<view class="flex justify-center">第一批次</view>
|
||||||
</template>
|
</template>
|
||||||
</sar-navbar>
|
</sar-navbar>
|
||||||
<view
|
|
||||||
class="bg-[#ddebfe] rounded-[16rpx] border-2rpx border-solid border-white flex items-center mx-[20rpx] py-[16rpx] px-[30rpx]"
|
|
||||||
@click="show = true">
|
|
||||||
<view class="w-[36rpx] h-[36rpx] flex items-center">
|
|
||||||
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_tongzhi.png" mode="scaleToFill"
|
|
||||||
class="w-[36rpx] h-[36rpx]" />
|
|
||||||
</view>
|
|
||||||
<view class="text-[#1580FF] text-[30rpx] font-500 ml-[10rpx]">家长须知</view>
|
|
||||||
<view class="w-[14rpx] h-[18rpx] flex items-center ml-auto">
|
|
||||||
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_lanjiantou.png" mode="scaleToFill"
|
|
||||||
class="w-[14rpx] h-[18rpx]" />
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="flex-1 overflow-y-auto">
|
<view class="flex-1 overflow-y-auto">
|
||||||
|
<view
|
||||||
|
class="bg-[#ddebfe] rounded-[16rpx] border-2rpx border-solid border-white flex items-center mx-[20rpx] py-[16rpx] px-[30rpx]"
|
||||||
|
@click="show = true">
|
||||||
|
<view class="w-[36rpx] h-[36rpx] flex items-center">
|
||||||
|
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_tongzhi.png" mode="scaleToFill"
|
||||||
|
class="w-[36rpx] h-[36rpx]" />
|
||||||
|
</view>
|
||||||
|
<view class="text-[#1580FF] text-[30rpx] font-500 ml-[10rpx]">家长须知</view>
|
||||||
|
<view class="w-[14rpx] h-[18rpx] flex items-center ml-auto">
|
||||||
|
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_lanjiantou.png" mode="scaleToFill"
|
||||||
|
class="w-[14rpx] h-[18rpx]" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
<view class="text-[32rpx] font-500 m-[20rpx] ">名额到校</view>
|
<view class="text-[32rpx] font-500 m-[20rpx] ">名额到校</view>
|
||||||
<view class="px-[20rpx]">
|
<view class="px-[20rpx]">
|
||||||
<ScheduleQuota />
|
<ScheduleQuota />
|
||||||
|
|
@ -71,11 +78,11 @@ const show = ref(false)
|
||||||
<view class="border-t border-t-solid border-t-[#ededed] px-[40rpx] py-[16rpx]">
|
<view class="border-t border-t-solid border-t-[#ededed] px-[40rpx] py-[16rpx]">
|
||||||
<view class="pb-safe"
|
<view class="pb-safe"
|
||||||
@click="navigateToList">
|
@click="navigateToList">
|
||||||
<button class="rounded-[16rpx] bg-[#1580FF] text-[#f7f7f7] submit-btn">确定</button>
|
<button :disabled="extendWishlist.contents.length === 0" class="rounded-[16rpx] bg-[#1580FF] text-[#f7f7f7] submit-btn">确定</button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<MxDialog v-model:show="show" title="" :defaultPadding="false" defaultWidth="85%" rootClass="rounded-[40rpx]"
|
<MxDialog v-model:show="show" title="" :defaultPadding="false" defaultWidth="80%" rootClass="rounded-[40rpx]"
|
||||||
@overlay-click="show = false">
|
@overlay-click="show = false">
|
||||||
<template>
|
<template>
|
||||||
<view class="rounded-[40rpx] bg-white p-[40rpx] custom-dialog-background">
|
<view class="rounded-[40rpx] bg-white p-[40rpx] custom-dialog-background">
|
||||||
|
|
@ -98,7 +105,9 @@ const show = ref(false)
|
||||||
</view>
|
</view>
|
||||||
<view class="text-[#333]">本批次为顺序录取,不实行平行志愿。</view>
|
<view class="text-[#333]">本批次为顺序录取,不实行平行志愿。</view>
|
||||||
</view>
|
</view>
|
||||||
|
<view
|
||||||
|
class="text-[34rpx] font-500 text-white bg-[#1580FF] rounded-full py-[20rpx] text-center mx-[40rpx] mt-[40rpx]"
|
||||||
|
@click="show = false">我知道了</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
</MxDialog>
|
</MxDialog>
|
||||||
|
|
@ -121,4 +130,9 @@ const show = ref(false)
|
||||||
background-clip: border-box;
|
background-clip: border-box;
|
||||||
background-size: auto auto;
|
background-size: auto auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.submit-btn[disabled] {
|
||||||
|
background-color: #73b3ff;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -23,11 +23,13 @@ const handleSubmit = () =>{
|
||||||
saveWishlist({data:{title:wishListName.value,contents:extendWishlist.value.contents,batchName:'第一批次',TotalScore:totalScore.value}}).then(resp => {
|
saveWishlist({data:{title:wishListName.value,contents:extendWishlist.value.contents,batchName:'第一批次',TotalScore:totalScore.value}}).then(resp => {
|
||||||
if(resp.code === 200){
|
if(resp.code === 200){
|
||||||
show.value = false
|
show.value = false
|
||||||
|
wishlistStore.clearExtendWishlist();
|
||||||
uni.switchTab({url:"/pages/index/index"})
|
uni.switchTab({url:"/pages/index/index"})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
const navigateToHome = () => {
|
const navigateToHome = () => {
|
||||||
|
wishlistStore.clearExtendWishlist();
|
||||||
uni.switchTab({url:"/pages/index/index"})
|
uni.switchTab({url:"/pages/index/index"})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -45,13 +47,17 @@ onShow(() => {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
onBackPress(() => {
|
||||||
|
wishlistStore.clearExtendWishlist();
|
||||||
|
})
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<view class="flex flex-col h-screen ">
|
<view class="flex flex-col h-screen ">
|
||||||
<view class="pb-safe flex-1 flex flex-col overflow-hidden">
|
<view class="pb-safe flex-1 flex flex-col overflow-hidden">
|
||||||
<view class="flex-1 overflow-y-auto px-[30rpx] bg-[#F8F8F8]">
|
<view class="flex-1 overflow-y-auto px-[30rpx] bg-[#F8F8F8]">
|
||||||
<view v-for="(val, index) in schools" :key="index" class="flex">
|
<view v-for="(val, index) in schools" :key="index" class="flex first:mt-[30rpx]">
|
||||||
<view
|
<view
|
||||||
class="text-[30rpx] text-[#333] grid gap-[8rpx] bg-white px-[30rpx] py-[20rpx] not-last:mb-[30rpx] rounded-[16rpx] w-full">
|
class="text-[30rpx] text-[#333] grid gap-[8rpx] bg-white px-[30rpx] py-[20rpx] not-last:mb-[30rpx] rounded-[16rpx] w-full">
|
||||||
<view class="text-[32rpx] font-600">{{ val.schoolName }}</view>
|
<view class="text-[32rpx] font-600">{{ val.schoolName }}</view>
|
||||||
|
|
@ -69,7 +75,7 @@ onShow(() => {
|
||||||
mode="scaleToFill" class="w-[86rpx] h-[56rpx]" />
|
mode="scaleToFill" class="w-[86rpx] h-[56rpx]" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class=" bg-[#FEF6F6] rounded-[16rpx] mt-20">
|
<view class=" bg-[#FEF6F6] rounded-[16rpx] mt-[30rpx]">
|
||||||
<view class="h-[52rpx] w-[178rpx] flex items-center m-[-8rpx] ml-[20rpx]">
|
<view class="h-[52rpx] w-[178rpx] flex items-center m-[-8rpx] ml-[20rpx]">
|
||||||
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_shuoming.png"
|
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_shuoming.png"
|
||||||
mode="scaleToFill" class="h-[52rpx] w-[178rpx]" />
|
mode="scaleToFill" class="h-[52rpx] w-[178rpx]" />
|
||||||
|
|
@ -95,7 +101,7 @@ onShow(() => {
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<MxDialog v-model:show="show" title="" :defaultPadding="false" defaultWidth="85%" rootClass="rounded-[40rpx]">
|
<MxDialog v-model:show="show" title="" :defaultPadding="false" defaultWidth="80%" rootClass="rounded-[40rpx]">
|
||||||
<template>
|
<template>
|
||||||
<view class="rounded-[40rpx] bg-white p-[40rpx] custom-background"
|
<view class="rounded-[40rpx] bg-white p-[40rpx] custom-background"
|
||||||
style="--status-bar-height:56rpx; --start-color:#ebf1ff">
|
style="--status-bar-height:56rpx; --start-color:#ebf1ff">
|
||||||
|
|
@ -103,7 +109,7 @@ onShow(() => {
|
||||||
<view class="rounded-full py-[20rpx] px-[30rpx] bg-[#F3F4F8] border-[#E5E5E5] border-solid border-[1rpx] flex items-center justify-between my-[60rpx]">
|
<view class="rounded-full py-[20rpx] px-[30rpx] bg-[#F3F4F8] border-[#E5E5E5] border-solid border-[1rpx] flex items-center justify-between my-[60rpx]">
|
||||||
<input type="text" v-model="wishListName" placeholder="请输入名字" confirm-type="done"
|
<input type="text" v-model="wishListName" placeholder="请输入名字" confirm-type="done"
|
||||||
placeholder-style="color:#C5C8D1;font-size:30rpx;text-align:left;" class="text-left flex-1">
|
placeholder-style="color:#C5C8D1;font-size:30rpx;text-align:left;" class="text-left flex-1">
|
||||||
<view class="w-[40rpx] h-[40rpx] flex items-center" @click="wishListName = ''">
|
<view class="w-[40rpx] h-[40rpx] flex items-center" v-if="wishListName" @click="wishListName = ''">
|
||||||
<image
|
<image
|
||||||
src="https://lwzk.ycymedu.com/img/tianbao/tb_shanchu.png"
|
src="https://lwzk.ycymedu.com/img/tianbao/tb_shanchu.png"
|
||||||
mode="scaleToFill"
|
mode="scaleToFill"
|
||||||
|
|
|
||||||
|
|
@ -27,12 +27,14 @@ const handleSubmit = () =>{
|
||||||
saveWishlist({data:{title:wishListName.value,contents:extendWishlist.value.contents,batchName:'第二批次',TotalScore:totalScore.value}}).then(resp => {
|
saveWishlist({data:{title:wishListName.value,contents:extendWishlist.value.contents,batchName:'第二批次',TotalScore:totalScore.value}}).then(resp => {
|
||||||
if(resp.code === 200){
|
if(resp.code === 200){
|
||||||
show.value = false
|
show.value = false
|
||||||
|
wishlistStore.clearExtendWishlist();
|
||||||
uni.switchTab({url:"/pages/index/index"})
|
uni.switchTab({url:"/pages/index/index"})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const navigateToHome = () => {
|
const navigateToHome = () => {
|
||||||
|
wishlistStore.clearExtendWishlist();
|
||||||
uni.switchTab({url:"/pages/index/index"})
|
uni.switchTab({url:"/pages/index/index"})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -43,6 +45,10 @@ onShow(() => {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
onBackPress(() => {
|
||||||
|
wishlistStore.clearExtendWishlist();
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
@ -64,7 +70,7 @@ onShow(() => {
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
<view class=" bg-[#FEF6F6] rounded-[16rpx] mt-[26rpx]">
|
<view class=" bg-[#FEF6F6] rounded-[16rpx] mt-[30rpx]">
|
||||||
<view class="h-[52rpx] w-[178rpx] flex items-center m-[-8rpx] ml-[20rpx]">
|
<view class="h-[52rpx] w-[178rpx] flex items-center m-[-8rpx] ml-[20rpx]">
|
||||||
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_shuoming.png"
|
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_shuoming.png"
|
||||||
mode="scaleToFill" class="h-[52rpx] w-[178rpx]" />
|
mode="scaleToFill" class="h-[52rpx] w-[178rpx]" />
|
||||||
|
|
@ -90,7 +96,7 @@ onShow(() => {
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<MxDialog v-model:show="show" title="" :defaultPadding="false" defaultWidth="85%" rootClass="rounded-[40rpx]">
|
<MxDialog v-model:show="show" title="" :defaultPadding="false" defaultWidth="80%" rootClass="rounded-[40rpx]">
|
||||||
<template>
|
<template>
|
||||||
<view class="rounded-[40rpx] bg-white p-[40rpx] custom-background"
|
<view class="rounded-[40rpx] bg-white p-[40rpx] custom-background"
|
||||||
style="--status-bar-height:56rpx; --start-color:#ebf1ff">
|
style="--status-bar-height:56rpx; --start-color:#ebf1ff">
|
||||||
|
|
@ -98,7 +104,7 @@ onShow(() => {
|
||||||
<view class="rounded-full py-[20rpx] px-[30rpx] bg-[#F3F4F8] border-[#E5E5E5] border-solid border-[1rpx] flex items-center justify-between my-[60rpx]">
|
<view class="rounded-full py-[20rpx] px-[30rpx] bg-[#F3F4F8] border-[#E5E5E5] border-solid border-[1rpx] flex items-center justify-between my-[60rpx]">
|
||||||
<input type="text" v-model="wishListName" placeholder="请输入姓名" confirm-type="done"
|
<input type="text" v-model="wishListName" placeholder="请输入姓名" confirm-type="done"
|
||||||
placeholder-style="color:#C5C8D1;font-size:30rpx;text-align:left;" class="text-left flex-1">
|
placeholder-style="color:#C5C8D1;font-size:30rpx;text-align:left;" class="text-left flex-1">
|
||||||
<view class="w-[40rpx] h-[40rpx] flex items-center" @click="wishListName = ''">
|
<view class="w-[40rpx] h-[40rpx] flex items-center" v-if="wishListName" @click="wishListName = ''">
|
||||||
<image
|
<image
|
||||||
src="https://lwzk.ycymedu.com/img/tianbao/tb_shanchu.png"
|
src="https://lwzk.ycymedu.com/img/tianbao/tb_shanchu.png"
|
||||||
mode="scaleToFill"
|
mode="scaleToFill"
|
||||||
|
|
|
||||||
|
|
@ -19,12 +19,14 @@ const handleSubmit = () =>{
|
||||||
saveWishlist({data:{title:wishListName.value,contents:extendWishlist.value.contents,batchName:'第三批次',TotalScore:totalScore.value}}).then(resp => {
|
saveWishlist({data:{title:wishListName.value,contents:extendWishlist.value.contents,batchName:'第三批次',TotalScore:totalScore.value}}).then(resp => {
|
||||||
if(resp.code === 200){
|
if(resp.code === 200){
|
||||||
show.value = false
|
show.value = false
|
||||||
|
wishlistStore.clearExtendWishlist();
|
||||||
uni.switchTab({url:"/pages/index/index"})
|
uni.switchTab({url:"/pages/index/index"})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const navigateToHome = () => {
|
const navigateToHome = () => {
|
||||||
|
wishlistStore.clearExtendWishlist();
|
||||||
uni.switchTab({url:"/pages/index/index"})
|
uni.switchTab({url:"/pages/index/index"})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -42,6 +44,10 @@ onShow(() => {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
onBackPress(() => {
|
||||||
|
wishlistStore.clearExtendWishlist();
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
@ -71,7 +77,7 @@ onShow(() => {
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<MxDialog v-model:show="show" title="" :defaultPadding="false" defaultWidth="85%" rootClass="rounded-[40rpx]">
|
<MxDialog v-model:show="show" title="" :defaultPadding="false" defaultWidth="80%" rootClass="rounded-[40rpx]">
|
||||||
<template>
|
<template>
|
||||||
<view class="rounded-[40rpx] bg-white p-[40rpx] custom-background"
|
<view class="rounded-[40rpx] bg-white p-[40rpx] custom-background"
|
||||||
style="--status-bar-height:56rpx; --start-color:#ebf1ff">
|
style="--status-bar-height:56rpx; --start-color:#ebf1ff">
|
||||||
|
|
@ -80,7 +86,7 @@ onShow(() => {
|
||||||
class="rounded-full py-[20rpx] px-[30rpx] bg-[#F3F4F8] border-[#E5E5E5] border-solid border-[1rpx] flex items-center justify-between my-[60rpx]">
|
class="rounded-full py-[20rpx] px-[30rpx] bg-[#F3F4F8] border-[#E5E5E5] border-solid border-[1rpx] flex items-center justify-between my-[60rpx]">
|
||||||
<input type="text" v-model="wishListName" placeholder="请输入姓名" confirm-type="done"
|
<input type="text" v-model="wishListName" placeholder="请输入姓名" confirm-type="done"
|
||||||
placeholder-style="color:#C5C8D1;font-size:30rpx;text-align:left;" class="text-left flex-1">
|
placeholder-style="color:#C5C8D1;font-size:30rpx;text-align:left;" class="text-left flex-1">
|
||||||
<view class="w-[40rpx] h-[40rpx] flex items-center" @click="wishListName = ''">
|
<view class="w-[40rpx] h-[40rpx] flex items-center" v-if="wishListName" @click="wishListName = ''">
|
||||||
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_shanchu.png"
|
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_shanchu.png"
|
||||||
mode="scaleToFill" class="w-[40rpx] h-[40rpx]" />
|
mode="scaleToFill" class="w-[40rpx] h-[40rpx]" />
|
||||||
</view>
|
</view>
|
||||||
|
|
|
||||||
|
|
@ -132,7 +132,7 @@ onLoad(() => {
|
||||||
</template>
|
</template>
|
||||||
</sar-navbar>
|
</sar-navbar>
|
||||||
|
|
||||||
<view class="flex items-center mx-[30rpx]">
|
<view class="flex items-center mx-[30rpx] mb-[20rpx]">
|
||||||
<view class="w-[112rpx] h-[104rpx] flex items-center">
|
<view class="w-[112rpx] h-[104rpx] flex items-center">
|
||||||
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_02.png" mode="scaleToFill"
|
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_02.png" mode="scaleToFill"
|
||||||
class="w-[112rpx] h-[104rpx]" />
|
class="w-[112rpx] h-[104rpx]" />
|
||||||
|
|
@ -162,17 +162,17 @@ onLoad(() => {
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="text-[34rpx] mt-[40rpx] ml-[40rpx]">等级考成绩</view>
|
<view class="text-[34rpx] mt-[40rpx] ml-[40rpx] font-700">等级考成绩</view>
|
||||||
<view class="grid grid-cols-2 gap-[0_50rpx]">
|
<view class="grid grid-cols-2 gap-[0_50rpx] mx-[40rpx]">
|
||||||
<view
|
<view
|
||||||
class="flex items-center text-[30rpx] justify-between mx-[40rpx] py-[34rpx] border-b-1 border-b-[#eaeaea] border-b-solid"
|
class="flex items-center text-[30rpx] justify-between py-[34rpx] border-b-1 border-b-[#eaeaea] border-b-solid"
|
||||||
v-for="(val, key) of ctoEWithDegree" :key="key">
|
v-for="(val, key) of ctoEWithDegree" :key="key">
|
||||||
<view class="text-[#404142] text-left mr-[40rpx] ">{{ val }}</view>
|
<view class="text-[#404142] text-left mr-[34rpx] ">{{ val }}</view>
|
||||||
<view class="flex-1 flex items-center" @click="handleOpenPopup(key)">
|
<view class="flex-1 flex items-center" @click="handleOpenPopup(key)">
|
||||||
<MxInput v-model:value="degreeFormData[key]" placeholder="请选择" root-class="text-left"
|
<MxInput v-model:value="degreeFormData[key]" placeholder="请选择" root-class="text-left w-[92rpx]!"
|
||||||
:readonly="true" />
|
:readonly="true" />
|
||||||
|
|
||||||
<view class="w-[18rpx] h-[36rpx] flex items-center ml-auto">
|
<view class="w-[18rpx] h-[36rpx] flex items-center ml-auto mr-[30rpx]">
|
||||||
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_jiantou.png"
|
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_jiantou.png"
|
||||||
mode="scaleToFill" class="w-[18rpx] h-[36rpx]" />
|
mode="scaleToFill" class="w-[18rpx] h-[36rpx]" />
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -196,10 +196,10 @@ onLoad(() => {
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<MxRadio v-model:value="degreeFormData[activeType]" :options="gradeClassification" label-key="label"
|
<MxRadio v-model:value="degreeFormData[activeType]" :options="gradeClassification" label-key="label"
|
||||||
value-key="label" custom-root-cols-class="grid grid-cols-3 items-center gap-[16rpx]"
|
value-key="label" custom-root-cols-class="grid grid-cols-3 items-center gap-[20rpx]"
|
||||||
custom-root-class="px-[30rpx] pt-[22rpx] pb-[20rpx]"
|
custom-root-class="pb-[20rpx]"
|
||||||
custom-item-class="py-[12rpx] text-center border-1 border-solid border-[#F3F4F8]"
|
custom-item-class="py-[12rpx] text-center border-1 border-solid border-[#F3F4F8]"
|
||||||
active-item-class="bg-white text-[#1580FF] border-1 border-solid border-[#1580FF]!" />
|
active-item-class="bg-white text-[#1580FF] border-1 border-solid border-[#1580FF]!" @change="visible = false"/>
|
||||||
</view>
|
</view>
|
||||||
</sar-popup>
|
</sar-popup>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -207,7 +207,7 @@ onLoad(() => {
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.custom-background {
|
.custom-background {
|
||||||
background: linear-gradient(180deg, #D7E4FF 0%, #fff 556rpx);
|
background: linear-gradient( 177deg, #E4EDFF 0%, #F0F5FF 180rpx, #FEFEFF 360rpx);
|
||||||
background-position: 50% 50%;
|
background-position: 50% 50%;
|
||||||
background-origin: padding-box;
|
background-origin: padding-box;
|
||||||
background-clip: border-box;
|
background-clip: border-box;
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
import { safeAreaInsets } from '@/utils/systemInfo'
|
import { safeAreaInsets } from '@/utils/systemInfo'
|
||||||
import SecondBatchSchool from './components/SecondBatchSchool.vue'
|
import SecondBatchSchool from './components/SecondBatchSchool.vue'
|
||||||
import MxDialog from "@/pages-sub/components/dialog/index.vue"
|
import MxDialog from "@/pages-sub/components/dialog/index.vue"
|
||||||
|
import { useWishlistStore } from '@/store'
|
||||||
|
import { storeToRefs } from 'pinia'
|
||||||
|
|
||||||
// #ifdef MP-WEIXIN
|
// #ifdef MP-WEIXIN
|
||||||
definePage({
|
definePage({
|
||||||
|
|
@ -24,6 +26,7 @@ definePage({
|
||||||
// #endif
|
// #endif
|
||||||
|
|
||||||
const handleBack = () => {
|
const handleBack = () => {
|
||||||
|
wishlistStore.clearExtendWishlist()
|
||||||
uni.navigateBack({ delta: 1 })
|
uni.navigateBack({ delta: 1 })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -33,6 +36,10 @@ const navigateToList = () => {
|
||||||
|
|
||||||
const show = ref(false)
|
const show = ref(false)
|
||||||
|
|
||||||
|
const wishlistStore = useWishlistStore()
|
||||||
|
|
||||||
|
const {extendWishlist} = storeToRefs(wishlistStore)
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
@ -43,20 +50,20 @@ const show = ref(false)
|
||||||
<view class="flex justify-center">第二批次</view>
|
<view class="flex justify-center">第二批次</view>
|
||||||
</template>
|
</template>
|
||||||
</sar-navbar>
|
</sar-navbar>
|
||||||
<view
|
|
||||||
class="bg-[#ddebfe] rounded-[16rpx] border-2rpx border-solid border-white flex items-center mx-[20rpx] py-[16rpx] px-[30rpx]"
|
|
||||||
@click="show = true">
|
|
||||||
<view class="w-[36rpx] h-[36rpx] flex items-center">
|
|
||||||
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_tongzhi.png" mode="scaleToFill"
|
|
||||||
class="w-[36rpx] h-[36rpx]" />
|
|
||||||
</view>
|
|
||||||
<view class="text-[#1580FF] text-[30rpx] font-500 ml-[10rpx]">家长须知</view>
|
|
||||||
<view class="w-[14rpx] h-[18rpx] flex items-center ml-auto">
|
|
||||||
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_lanjiantou.png" mode="scaleToFill"
|
|
||||||
class="w-[14rpx] h-[18rpx]" />
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="flex-1 overflow-y-auto">
|
<view class="flex-1 overflow-y-auto">
|
||||||
|
<view
|
||||||
|
class="bg-[#ddebfe] rounded-[16rpx] border-2rpx border-solid border-white flex items-center mx-[20rpx] py-[16rpx] px-[30rpx]"
|
||||||
|
@click="show = true">
|
||||||
|
<view class="w-[36rpx] h-[36rpx] flex items-center">
|
||||||
|
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_tongzhi.png" mode="scaleToFill"
|
||||||
|
class="w-[36rpx] h-[36rpx]" />
|
||||||
|
</view>
|
||||||
|
<view class="text-[#1580FF] text-[30rpx] font-500 ml-[10rpx]">家长须知</view>
|
||||||
|
<view class="w-[14rpx] h-[18rpx] flex items-center ml-auto">
|
||||||
|
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_lanjiantou.png" mode="scaleToFill"
|
||||||
|
class="w-[14rpx] h-[18rpx]" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
<view class="px-[20rpx] pt-[20rpx]">
|
<view class="px-[20rpx] pt-[20rpx]">
|
||||||
<SecondBatchSchool />
|
<SecondBatchSchool />
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -64,11 +71,11 @@ const show = ref(false)
|
||||||
|
|
||||||
<view class="border-t border-t-solid border-t-[#ededed] px-[40rpx] py-[16rpx]">
|
<view class="border-t border-t-solid border-t-[#ededed] px-[40rpx] py-[16rpx]">
|
||||||
<view class="pb-safe" @click="navigateToList">
|
<view class="pb-safe" @click="navigateToList">
|
||||||
<button form-type="submit" class="rounded-[16rpx] bg-[#1580FF] text-[#f7f7f7] submit-btn">确定</button>
|
<button :disabled="extendWishlist.contents.length === 0" form-type="submit" class="rounded-[16rpx] bg-[#1580FF] text-[#f7f7f7] submit-btn">确定</button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<MxDialog v-model:show="show" title="" :defaultPadding="false" defaultWidth="85%" rootClass="rounded-[40rpx]"
|
<MxDialog v-model:show="show" title="" :defaultPadding="false" defaultWidth="80%" rootClass="rounded-[40rpx]"
|
||||||
@overlay-click="show = false">
|
@overlay-click="show = false">
|
||||||
<template>
|
<template>
|
||||||
<view class="rounded-[40rpx] bg-white p-[40rpx] custom-dialog-background">
|
<view class="rounded-[40rpx] bg-white p-[40rpx] custom-dialog-background">
|
||||||
|
|
@ -115,7 +122,7 @@ const show = ref(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
.submit-btn[disabled] {
|
.submit-btn[disabled] {
|
||||||
background-color: #a1cbff;
|
background-color: #73b3ff;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { safeAreaInsets } from '@/utils/systemInfo'
|
import { safeAreaInsets } from '@/utils/systemInfo'
|
||||||
import MxDialog from "@/pages-sub/components/dialog/index.vue"
|
import MxDialog from "@/pages-sub/components/dialog/index.vue"
|
||||||
|
import { useUserStore } from '@/store'
|
||||||
|
import { storeToRefs } from 'pinia'
|
||||||
|
import { getMyScore } from '@/service'
|
||||||
|
|
||||||
// #ifdef MP-WEIXIN
|
// #ifdef MP-WEIXIN
|
||||||
definePage({
|
definePage({
|
||||||
|
|
@ -28,6 +31,9 @@ const handleBack = () => {
|
||||||
|
|
||||||
const show = ref(false)
|
const show = ref(false)
|
||||||
|
|
||||||
|
const userStore = useUserStore()
|
||||||
|
const {userInfo} = storeToRefs(userStore)
|
||||||
|
|
||||||
const activeIndex = ref(1)
|
const activeIndex = ref(1)
|
||||||
const handleActiveIndex = (index: number) => {
|
const handleActiveIndex = (index: number) => {
|
||||||
activeIndex.value = index;
|
activeIndex.value = index;
|
||||||
|
|
@ -42,17 +48,30 @@ const navigateToBatchPage = (index: number) => {
|
||||||
uni.navigateTo({ url: "/pages-sub/wishlist/create/thirdBatch" })
|
uni.navigateTo({ url: "/pages-sub/wishlist/create/thirdBatch" })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const navigateToFirst = () => {
|
||||||
|
uni.reLaunch({ url: '/pages-sub/wishlist/create/first' })
|
||||||
|
}
|
||||||
|
|
||||||
|
const totalScore = ref(0)
|
||||||
|
onLoad(()=>{
|
||||||
|
getMyScore().then(resp => {
|
||||||
|
if (resp.code === 200 && resp.result) {
|
||||||
|
totalScore.value = resp.result.totalScore
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<view class="flex flex-col custom-background h-screen" style="--status-bar-height:556rpx;--start-color:#D7E4FF">
|
<view class="flex flex-col custom-background-bg h-screen" style="--status-bar-height:556rpx;--start-color:#D7E4FF">
|
||||||
<sar-navbar show-back @back="handleBack" :fixed="true" fixation-style="top:unset;"
|
<sar-navbar show-back @back="handleBack" :fixed="true" fixation-style="top:unset;"
|
||||||
:root-style="{ '--sar-navbar-bg': `transparent`, '--sar-navbar-item-color': 'black', 'padding-top': `${safeAreaInsets?.top}px` }">
|
:root-style="{ '--sar-navbar-bg': `transparent`, '--sar-navbar-item-color': 'black', 'padding-top': `${safeAreaInsets?.top}px` }">
|
||||||
<template #title>
|
<template #title>
|
||||||
<view class="flex justify-center">志愿填报</view>
|
<view class="flex justify-center">志愿填报</view>
|
||||||
</template>
|
</template>
|
||||||
</sar-navbar>
|
</sar-navbar>
|
||||||
<view class="flex items-center mx-[30rpx]">
|
<view class="flex items-center mx-[30rpx] mb-[20rpx]">
|
||||||
<view class="w-[112rpx] h-[104rpx] flex items-center">
|
<view class="w-[112rpx] h-[104rpx] flex items-center">
|
||||||
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_03.png" mode="scaleToFill"
|
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_03.png" mode="scaleToFill"
|
||||||
class="w-[112rpx] h-[104rpx]" />
|
class="w-[112rpx] h-[104rpx]" />
|
||||||
|
|
@ -66,8 +85,9 @@ const navigateToBatchPage = (index: number) => {
|
||||||
class="w-[160rpx] h-[160rpx]" />
|
class="w-[160rpx] h-[160rpx]" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="flex items-center text-[28rpx] text-[#666] mx-[30rpx] mb-[60rpx]">
|
|
||||||
<view>历下区 | 620分 济南外国语学校</view>
|
<view class="flex items-center text-[28rpx] text-[#666] mx-[30rpx] mb-[60rpx]" @click="navigateToFirst">
|
||||||
|
<view>{{ userInfo.userExtend.area }} | {{ totalScore }}分 {{ userInfo.userExtend.schoolName }}</view>
|
||||||
<view class="w-[28rpx] h-[28rpx] flex items-center ml-[10rpx]">
|
<view class="w-[28rpx] h-[28rpx] flex items-center ml-[10rpx]">
|
||||||
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_bianji.png" mode="scaleToFill"
|
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_bianji.png" mode="scaleToFill"
|
||||||
class="w-[28rpx] h-[28rpx]" />
|
class="w-[28rpx] h-[28rpx]" />
|
||||||
|
|
@ -121,7 +141,7 @@ const navigateToBatchPage = (index: number) => {
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<MxDialog v-model:show="show" title="" :defaultPadding="false" defaultWidth="85%" root-class="rounded-[40rpx]">
|
<MxDialog v-model:show="show" title="" :defaultPadding="false" defaultWidth="80%" root-class="rounded-[40rpx]">
|
||||||
<template>
|
<template>
|
||||||
<view class="rounded-[40rpx] bg-white p-[40rpx] custom-background "
|
<view class="rounded-[40rpx] bg-white p-[40rpx] custom-background "
|
||||||
style="--status-bar-height:56rpx; --start-color:#ebf1ff">
|
style="--status-bar-height:56rpx; --start-color:#ebf1ff">
|
||||||
|
|
@ -153,6 +173,13 @@ const navigateToBatchPage = (index: number) => {
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
.custom-background-bg {
|
||||||
|
background: linear-gradient( 177deg, #E4EDFF 0%, #F0F5FF 180rpx, #FEFEFF 360rpx);
|
||||||
|
background-position: 50% 50%;
|
||||||
|
background-origin: padding-box;
|
||||||
|
background-clip: border-box;
|
||||||
|
background-size: auto auto;
|
||||||
|
}
|
||||||
.custom-background {
|
.custom-background {
|
||||||
background: linear-gradient(180deg, var(--start-color) 0%, #fff var(--status-bar-height));
|
background: linear-gradient(180deg, var(--start-color) 0%, #fff var(--status-bar-height));
|
||||||
background-position: 50% 50%;
|
background-position: 50% 50%;
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,11 @@
|
||||||
import { safeAreaInsets } from '@/utils/systemInfo'
|
import { safeAreaInsets } from '@/utils/systemInfo'
|
||||||
import ThirdBatchSchool from './components/ThirdBatchSchool.vue'
|
import ThirdBatchSchool from './components/ThirdBatchSchool.vue'
|
||||||
import MxDialog from "@/pages-sub/components/dialog/index.vue"
|
import MxDialog from "@/pages-sub/components/dialog/index.vue"
|
||||||
import { useWishlistStore } from "@/store"
|
import { useWishlistStore } from '@/store'
|
||||||
|
import { storeToRefs } from 'pinia'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// #ifdef MP-WEIXIN
|
// #ifdef MP-WEIXIN
|
||||||
definePage({
|
definePage({
|
||||||
style: {
|
style: {
|
||||||
|
|
@ -23,6 +27,8 @@ definePage({
|
||||||
})
|
})
|
||||||
// #endif
|
// #endif
|
||||||
const wishlistStore = useWishlistStore()
|
const wishlistStore = useWishlistStore()
|
||||||
|
const { extendWishlist } = storeToRefs(wishlistStore)
|
||||||
|
|
||||||
const handleBack = () => {
|
const handleBack = () => {
|
||||||
uni.navigateBack({ delta: 1 })
|
uni.navigateBack({ delta: 1 })
|
||||||
}
|
}
|
||||||
|
|
@ -35,7 +41,7 @@ const show = ref(false)
|
||||||
|
|
||||||
const handleSwitch = (event) => {
|
const handleSwitch = (event) => {
|
||||||
const content = JSON.parse(wishlistStore.getSchool())
|
const content = JSON.parse(wishlistStore.getSchool())
|
||||||
wishlistStore.setSchool(JSON.stringify({adjust:event.detail.value,schools:content.school}))
|
wishlistStore.setSchool(JSON.stringify({adjust:event.detail.value,schools:content.schools}))
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
@ -48,20 +54,20 @@ const handleSwitch = (event) => {
|
||||||
<view class="flex justify-center">第三批次</view>
|
<view class="flex justify-center">第三批次</view>
|
||||||
</template>
|
</template>
|
||||||
</sar-navbar>
|
</sar-navbar>
|
||||||
<view
|
|
||||||
class="bg-[#ddebfe] rounded-[16rpx] border-2rpx border-solid border-white flex items-center mx-[20rpx] py-[16rpx] px-[30rpx]"
|
|
||||||
@click="show = true">
|
|
||||||
<view class="w-[36rpx] h-[36rpx] flex items-center">
|
|
||||||
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_tongzhi.png" mode="scaleToFill"
|
|
||||||
class="w-[36rpx] h-[36rpx]" />
|
|
||||||
</view>
|
|
||||||
<view class="text-[#1580FF] text-[30rpx] font-500 ml-[10rpx]">家长须知</view>
|
|
||||||
<view class="w-[14rpx] h-[18rpx] flex items-center ml-auto">
|
|
||||||
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_lanjiantou.png" mode="scaleToFill"
|
|
||||||
class="w-[14rpx] h-[18rpx]" />
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="flex-1 overflow-y-auto">
|
<view class="flex-1 overflow-y-auto">
|
||||||
|
<view
|
||||||
|
class="bg-[#ddebfe] rounded-[16rpx] border-2rpx border-solid border-white flex items-center mx-[20rpx] py-[16rpx] px-[30rpx]"
|
||||||
|
@click="show = true">
|
||||||
|
<view class="w-[36rpx] h-[36rpx] flex items-center">
|
||||||
|
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_tongzhi.png" mode="scaleToFill"
|
||||||
|
class="w-[36rpx] h-[36rpx]" />
|
||||||
|
</view>
|
||||||
|
<view class="text-[#1580FF] text-[30rpx] font-500 ml-[10rpx]">家长须知</view>
|
||||||
|
<view class="w-[14rpx] h-[18rpx] flex items-center ml-auto">
|
||||||
|
<image src="https://lwzk.ycymedu.com/img/tianbao/tb_lanjiantou.png" mode="scaleToFill"
|
||||||
|
class="w-[14rpx] h-[18rpx]" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
<view class="px-[20rpx] pt-[20rpx]">
|
<view class="px-[20rpx] pt-[20rpx]">
|
||||||
<ThirdBatchSchool />
|
<ThirdBatchSchool />
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -73,12 +79,12 @@ const handleSwitch = (event) => {
|
||||||
<text>服从调剂:</text>
|
<text>服从调剂:</text>
|
||||||
<switch @change="handleSwitch" color="#2F78FC" style="transform:scale(0.8)" />
|
<switch @change="handleSwitch" color="#2F78FC" style="transform:scale(0.8)" />
|
||||||
</view>
|
</view>
|
||||||
<button form-type="submit" class="rounded-[16rpx] bg-[#1580FF] text-[#f7f7f7] submit-btn flex-1"
|
<button :disabled="extendWishlist.contents.length === 0" form-type="submit" class="rounded-[16rpx] bg-[#1580FF] text-[#f7f7f7] submit-btn flex-1"
|
||||||
@click="navigateToList">确定</button>
|
@click="navigateToList">确定</button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<MxDialog v-model:show="show" title="" :defaultPadding="false" defaultWidth="85%" rootClass="rounded-[40rpx]"
|
<MxDialog v-model:show="show" title="" :defaultPadding="false" defaultWidth="80%" rootClass="rounded-[40rpx]"
|
||||||
@overlay-click="show = false">
|
@overlay-click="show = false">
|
||||||
<template>
|
<template>
|
||||||
<view class="rounded-[40rpx] bg-white p-[40rpx] custom-dialog-background">
|
<view class="rounded-[40rpx] bg-white p-[40rpx] custom-dialog-background">
|
||||||
|
|
@ -125,7 +131,7 @@ const handleSwitch = (event) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
.submit-btn[disabled] {
|
.submit-btn[disabled] {
|
||||||
background-color: #a1cbff;
|
background-color: #73b3ff;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<view
|
<view
|
||||||
class="item-wrapper relative mt-[32rpx]"
|
class="item-wrapper relative mb-[20rpx]"
|
||||||
:style="`--start-color: ${startColor}; --end-color: ${endColor}`"
|
:style="`--start-color: ${startColor}; --end-color: ${endColor}`"
|
||||||
@click="toAssessmentPage"
|
@click="toAssessmentPage"
|
||||||
>
|
>
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
</template>
|
</template>
|
||||||
</sar-navbar>
|
</sar-navbar>
|
||||||
</view>
|
</view>
|
||||||
<view class="px-[32rpx]">
|
<view class="px-[32rpx] mt-[30rpx]">
|
||||||
<EvaluationItem :item="value"
|
<EvaluationItem :item="value"
|
||||||
v-for="value in evaluationList" :key="value.id" />
|
v-for="value in evaluationList" :key="value.id" />
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -59,7 +59,7 @@ onLoad(() => {
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.custom-background {
|
.custom-background {
|
||||||
background: linear-gradient(180deg, #D7E4FF 0%, #fff 518rpx);
|
background: linear-gradient(180deg, #ecf2ff 0%,#f6f8ff 40rpx, #fff 128rpx);
|
||||||
background-position: 50% 50%;
|
background-position: 50% 50%;
|
||||||
background-origin: padding-box;
|
background-origin: padding-box;
|
||||||
background-clip: border-box;
|
background-clip: border-box;
|
||||||
|
|
|
||||||
|
|
@ -48,9 +48,9 @@ const subMenus = [{ name: '中考资讯', imgPath: 'https://lwzk.ycymedu.com/img
|
||||||
const notifies = ref([])
|
const notifies = ref([])
|
||||||
|
|
||||||
const opacity = ref(0)
|
const opacity = ref(0)
|
||||||
const totalScore = ref("??")
|
const totalScore = ref("0")
|
||||||
const schoolCount = ref("??")
|
const schoolCount = ref("0")
|
||||||
const wishlistCount = ref("??")
|
const wishlistCount = ref("0")
|
||||||
|
|
||||||
const navigateToCreateWish = () => {
|
const navigateToCreateWish = () => {
|
||||||
uni.navigateTo({ url: "/pages-sub/wishlist/create/first" })
|
uni.navigateTo({ url: "/pages-sub/wishlist/create/first" })
|
||||||
|
|
|
||||||
|
|
@ -32,20 +32,20 @@ const { userInfo } = storeToRefs(userStore)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const topMenuList = [{ name: '我的志愿表', img: 'https://lwzk.ycymedu.com/img/qt/wd_biao.png',url:'/pages-sub/me/wishlist' }, { name: "我的测评", img: 'https://lwzk.ycymedu.com/img/qt/wd_cp.png',url:'/pages-sub/me/evaluation' }]
|
const topMenuList = [{ name: '我的志愿表', img: 'https://lwzk.ycymedu.com/img/qt/wd_biao.png', url: '/pages-sub/me/wishlist' }, { name: "我的测评", img: 'https://lwzk.ycymedu.com/img/qt/wd_cp.png', url: '/pages-sub/me/evaluation' }]
|
||||||
const bottomMenuList = [{ name: '收藏院校', img: 'https://lwzk.ycymedu.com/img/qt/wd_shoucang.png',url:"/pages-sub/me/starSchool" }, { name: '联系客服', img: 'https://lwzk.ycymedu.com/img/qt/wd_kefu.png', url:"/pages-sub/about/onlineCustom" }, { name: '关于我们', img: 'https://lwzk.ycymedu.com/img/qt/wd_guanyu.png',url:'/pages-sub/about/about' }]
|
const bottomMenuList = [{ name: '收藏院校', img: 'https://lwzk.ycymedu.com/img/qt/wd_shoucang.png', url: "/pages-sub/me/starSchool" }, { name: '联系客服', img: 'https://lwzk.ycymedu.com/img/qt/wd_kefu.png', url: "/pages-sub/about/onlineCustom" }, { name: '关于我们', img: 'https://lwzk.ycymedu.com/img/qt/wd_guanyu.png', url: '/pages-sub/about/about' }]
|
||||||
|
|
||||||
const navigateToUrl = (url:string) => {
|
const navigateToUrl = (url: string) => {
|
||||||
uni.navigateTo({url})
|
uni.navigateTo({ url })
|
||||||
}
|
}
|
||||||
|
|
||||||
const navigateToUserInfo = () => {
|
const navigateToUserInfo = () => {
|
||||||
uni.navigateTo({url:"/pages-sub/about/userInfo"})
|
uni.navigateTo({ url: "/pages-sub/about/userInfo" })
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<view :class="`custom-background`" :style="{height:`calc(100vh - 50px - ${safeAreaInsets.bottom}px)`}">
|
<view :class="`custom-background`" :style="{ height: `calc(100vh - 50px - ${safeAreaInsets.bottom}px)` }">
|
||||||
<sar-navbar :fixed="true" fixation-style="top:unset;"
|
<sar-navbar :fixed="true" fixation-style="top:unset;"
|
||||||
:root-style="{ '--sar-navbar-bg': `transparent`, '--sar-navbar-height': `${safeAreaInsets?.top + 44}px` }">
|
:root-style="{ '--sar-navbar-bg': `transparent`, '--sar-navbar-height': `${safeAreaInsets?.top + 44}px` }">
|
||||||
<template #title>
|
<template #title>
|
||||||
|
|
@ -57,8 +57,7 @@ const navigateToUserInfo = () => {
|
||||||
<view class="flex items-center justify-between px-[50rpx] my-[50rpx]">
|
<view class="flex items-center justify-between px-[50rpx] my-[50rpx]">
|
||||||
<view class="flex">
|
<view class="flex">
|
||||||
<view class="w-[132rpx] h-[132rpx]">
|
<view class="w-[132rpx] h-[132rpx]">
|
||||||
<image :src="`${userInfo.avatar}`" mode="scaleToFill"
|
<image :src="`${userInfo.avatar}`" mode="scaleToFill" class="w-[132rpx] h-[132rpx] rounded-full" />
|
||||||
class="w-[132rpx] h-[132rpx] rounded-full" />
|
|
||||||
</view>
|
</view>
|
||||||
<view class="ml-[32rpx]">
|
<view class="ml-[32rpx]">
|
||||||
<view class="text-[44rpx] font-500 mb-[10rpx]">{{ userInfo.nickName }}</view>
|
<view class="text-[44rpx] font-500 mb-[10rpx]">{{ userInfo.nickName }}</view>
|
||||||
|
|
@ -67,8 +66,7 @@ const navigateToUserInfo = () => {
|
||||||
</view>
|
</view>
|
||||||
<view class="flex flex-col items-center" @click="navigateToUserInfo">
|
<view class="flex flex-col items-center" @click="navigateToUserInfo">
|
||||||
<view class="w-[48rpx] h-[48rpx]">
|
<view class="w-[48rpx] h-[48rpx]">
|
||||||
<image src="https://lwzk.ycymedu.com/img/qt/wd_bianji.png" mode="scaleToFill"
|
<image src="https://lwzk.ycymedu.com/img/qt/wd_bianji.png" mode="scaleToFill" class="w-[48rpx] h-[48rpx]" />
|
||||||
class="w-[48rpx] h-[48rpx]" />
|
|
||||||
</view>
|
</view>
|
||||||
<view class="text-[30rpx] text-[#333]">编辑</view>
|
<view class="text-[30rpx] text-[#333]">编辑</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -87,21 +85,15 @@ const navigateToUserInfo = () => {
|
||||||
|
|
||||||
<view class="p-[30rpx] mx-[30rpx] rounded-[20rpx] bg-white mt-[30rpx]">
|
<view class="p-[30rpx] mx-[30rpx] rounded-[20rpx] bg-white mt-[30rpx]">
|
||||||
<view class="text-[34rpx] font-500">其他功能</view>
|
<view class="text-[34rpx] font-500">其他功能</view>
|
||||||
<view class="flex items-center py-[34rpx] not-last:border-b-[2rpx] not-last:border-b-solid not-last:border-b-[#EDEDED]" v-for="(value,index) in bottomMenuList" :key="index" @click="navigateToUrl(value.url)">
|
<view
|
||||||
|
class="flex items-center py-[34rpx] not-last:border-b-[2rpx] not-last:border-b-solid not-last:border-b-[#EDEDED]"
|
||||||
|
v-for="(value, index) in bottomMenuList" :key="index" @click="navigateToUrl(value.url)">
|
||||||
<view class="w-[44rpx] h-[44rpx] flex items-center">
|
<view class="w-[44rpx] h-[44rpx] flex items-center">
|
||||||
<image
|
<image :src="value.img" mode="scaleToFill" class="w-[44rpx] h-[44rpx]" />
|
||||||
:src="value.img"
|
|
||||||
mode="scaleToFill"
|
|
||||||
class="w-[44rpx] h-[44rpx]"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="text-[32rpx] ml-[16rpx]">{{ value.name }}</view>
|
<view class="text-[32rpx] ml-[16rpx]">{{ value.name }}</view>
|
||||||
<view class="w-[18rpx] h-[36rpx] ml-auto flex items-center">
|
<view class="w-[18rpx] h-[36rpx] ml-auto flex items-center">
|
||||||
<image
|
<image src="https://lwzk.ycymedu.com/img/qt/tb_jiantou.png" mode="scaleToFill" class="w-[18rpx] h-[36rpx]" />
|
||||||
src="https://lwzk.ycymedu.com/img/qt/tb_jiantou.png"
|
|
||||||
mode="scaleToFill"
|
|
||||||
class="w-[18rpx] h-[36rpx]"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -111,7 +103,7 @@ const navigateToUserInfo = () => {
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.custom-background {
|
.custom-background {
|
||||||
background: linear-gradient(180deg, #C7E0FF 0%, #f8f8f8 530rpx);
|
background: linear-gradient(180deg, #ecf2ff 0%, #f6f8ff 40rpx, #fff 128rpx);
|
||||||
background-position: 50% 50%;
|
background-position: 50% 50%;
|
||||||
background-origin: padding-box;
|
background-origin: padding-box;
|
||||||
background-clip: border-box;
|
background-clip: border-box;
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ const navigateToPage = (type: string) => {
|
||||||
</template>
|
</template>
|
||||||
</sar-navbar>
|
</sar-navbar>
|
||||||
|
|
||||||
<view class="mt-[44rpx]">
|
<view class="mt-[30rpx]">
|
||||||
<view class="mx-[32rpx] rounded-[18rpx] mb-[20rpx] p-[32rpx] flex custom-item-bg"
|
<view class="mx-[32rpx] rounded-[18rpx] mb-[20rpx] p-[32rpx] flex custom-item-bg"
|
||||||
v-for="(value, index) in testList" :key="index" @click="navigateToPage(value.type)">
|
v-for="(value, index) in testList" :key="index" @click="navigateToPage(value.type)">
|
||||||
<view class="flex flex-col justify-center">
|
<view class="flex flex-col justify-center">
|
||||||
|
|
@ -66,7 +66,7 @@ const navigateToPage = (type: string) => {
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.custom-background {
|
.custom-background {
|
||||||
background: linear-gradient(180deg, #ebf1ff 0%, rgba(199, 224, 255, 0) 530rpx);
|
background: linear-gradient(180deg, #ecf2ff 0%, #f6f8ff 40rpx, #fff 128rpx);
|
||||||
background-position: 50% 50%;
|
background-position: 50% 50%;
|
||||||
background-origin: padding-box;
|
background-origin: padding-box;
|
||||||
background-clip: border-box;
|
background-clip: border-box;
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ export const useUserStore = defineStore(
|
||||||
}
|
}
|
||||||
|
|
||||||
const initUserTalent = () => {
|
const initUserTalent = () => {
|
||||||
userInfo.value.talentExtend = userInfoState.talentExtend
|
userInfo.value.talentExtend = JSON.parse(JSON.stringify(userInfoState.talentExtend))
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,7 @@
|
||||||
.gradient-custom {
|
.gradient-custom {
|
||||||
background: linear-gradient(to bottom, #D7E4FF 0%, #fff 110rpx);
|
background: linear-gradient(180deg, #ecf2ff 0%, #f6f8ff 40rpx, #fff 128rpx);
|
||||||
|
background-position: 50% 50%;
|
||||||
|
background-origin: padding-box;
|
||||||
|
background-clip: border-box;
|
||||||
|
background-size: auto auto;
|
||||||
}
|
}
|
||||||
|
|
@ -101,11 +101,11 @@ function getImageByIndex(index: number, item: CustomTabBarItem) {
|
||||||
<view :class="item.icon" class="text-20px" />
|
<view :class="item.icon" class="text-20px" />
|
||||||
</template>
|
</template>
|
||||||
<template v-if="item.iconType === 'image'">
|
<template v-if="item.iconType === 'image'">
|
||||||
<view class="h-20px w-20px">
|
<view class="h-24px w-24px">
|
||||||
<image :src="getImageByIndex(index, item)" mode="scaleToFill" class="h-20px w-20px" />
|
<image :src="getImageByIndex(index, item)" mode="scaleToFill" class="h-24px w-24px" />
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<view class="mt-2px text-12px">
|
<view class="mt-2px text-14px">
|
||||||
{{ item.text }}
|
{{ item.text }}
|
||||||
</view>
|
</view>
|
||||||
<!-- 角标显示 -->
|
<!-- 角标显示 -->
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue