|
|
|
|
@ -1,10 +1,6 @@
|
|
|
|
|
<template>
|
|
|
|
|
<page-meta
|
|
|
|
|
:page-style="`overflow:${
|
|
|
|
|
isShowRecommend
|
|
|
|
|
? 'hidden'
|
|
|
|
|
: 'visible'
|
|
|
|
|
};`"
|
|
|
|
|
:page-style="`overflow:${isShowRecommend ? 'hidden' : 'visible'};`"
|
|
|
|
|
></page-meta>
|
|
|
|
|
<view class="container safe-area-inset-bottom">
|
|
|
|
|
<image class="bkg" src="~@/static/me/wave.png" mode="widthFix"></image>
|
|
|
|
|
@ -13,25 +9,57 @@
|
|
|
|
|
<view class="card">
|
|
|
|
|
<u-form :model="form" ref="uForm" label-width="auto">
|
|
|
|
|
<u-form-item label="学生姓名" prop="name">
|
|
|
|
|
<u-input v-model="form.name" placeholder="请输入" input-align="right" />
|
|
|
|
|
<u-input
|
|
|
|
|
v-model="form.name"
|
|
|
|
|
placeholder="请输入"
|
|
|
|
|
input-align="right"
|
|
|
|
|
/>
|
|
|
|
|
</u-form-item>
|
|
|
|
|
<u-form-item label="性别" prop="sex">
|
|
|
|
|
<u-input type="select" v-model="form.sex" placeholder="请选择" input-align="right" @click="isShowSex = true"/>
|
|
|
|
|
<u-input
|
|
|
|
|
type="select"
|
|
|
|
|
v-model="form.sex"
|
|
|
|
|
placeholder="请选择"
|
|
|
|
|
input-align="right"
|
|
|
|
|
@click="isShowSex = true"
|
|
|
|
|
/>
|
|
|
|
|
</u-form-item>
|
|
|
|
|
<u-form-item label="中考年份" required prop="year">
|
|
|
|
|
<u-input type="select" v-model="form.year" placeholder="请选择" input-align="right" @click="isShowYear = true" />
|
|
|
|
|
<u-input
|
|
|
|
|
type="select"
|
|
|
|
|
v-model="form.year"
|
|
|
|
|
placeholder="请选择"
|
|
|
|
|
input-align="right"
|
|
|
|
|
@click="isShowYear = true"
|
|
|
|
|
/>
|
|
|
|
|
</u-form-item>
|
|
|
|
|
<u-form-item label="民族" prop="nationality">
|
|
|
|
|
<u-input v-model="form.nationality" placeholder="请输入" input-align="right" />
|
|
|
|
|
<u-input
|
|
|
|
|
v-model="form.nationality"
|
|
|
|
|
placeholder="请输入"
|
|
|
|
|
input-align="right"
|
|
|
|
|
/>
|
|
|
|
|
</u-form-item>
|
|
|
|
|
<!-- <u-form-item label="所在城市" required prop="city">-->
|
|
|
|
|
<!-- <u-input type="select" v-model="form.city" placeholder="请选择" input-align="right" @click="regionType = 'city',isShowRegion = true" />-->
|
|
|
|
|
<!-- </u-form-item>-->
|
|
|
|
|
<!-- <u-form-item label="所在城市" required prop="city">-->
|
|
|
|
|
<!-- <u-input type="select" v-model="form.city" placeholder="请选择" input-align="right" @click="regionType = 'city',isShowRegion = true" />-->
|
|
|
|
|
<!-- </u-form-item>-->
|
|
|
|
|
<u-form-item label="所在县区" required prop="area_id">
|
|
|
|
|
<u-input type="select" :value="formArea" placeholder="请选择" input-align="right" @click="isShowAreaSelect = true" />
|
|
|
|
|
<u-input
|
|
|
|
|
type="select"
|
|
|
|
|
:value="formArea"
|
|
|
|
|
placeholder="请选择"
|
|
|
|
|
input-align="right"
|
|
|
|
|
@click="isShowAreaSelect = true"
|
|
|
|
|
/>
|
|
|
|
|
</u-form-item>
|
|
|
|
|
<u-form-item label="所在学校" prop="school_id">
|
|
|
|
|
<u-input type="select" :value="form.school_name" placeholder="请输入" input-align="right" @click="isShowSchoolSelect = true" />
|
|
|
|
|
<u-input
|
|
|
|
|
type="select"
|
|
|
|
|
:value="form.school_name"
|
|
|
|
|
placeholder="请输入"
|
|
|
|
|
input-align="right"
|
|
|
|
|
@click="isShowSchoolSelect = true"
|
|
|
|
|
/>
|
|
|
|
|
</u-form-item>
|
|
|
|
|
</u-form>
|
|
|
|
|
</view>
|
|
|
|
|
@ -42,110 +70,179 @@
|
|
|
|
|
<view class="score">
|
|
|
|
|
<view class="score-row">
|
|
|
|
|
<view class="score-row__text">考试裸分:</view>
|
|
|
|
|
<u-input v-model="form.anticipate_score" style="width: 280rpx;" placeholder="输入考试裸分" input-align="center" border border-color="#e0e0e0" :height="50" :clearable="false"></u-input>
|
|
|
|
|
<u-input
|
|
|
|
|
v-model="form.anticipate_score"
|
|
|
|
|
style="width: 280rpx"
|
|
|
|
|
placeholder="输入考试裸分"
|
|
|
|
|
input-align="center"
|
|
|
|
|
border
|
|
|
|
|
border-color="#e0e0e0"
|
|
|
|
|
:height="50"
|
|
|
|
|
:clearable="false"
|
|
|
|
|
></u-input>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<view class="score-row">
|
|
|
|
|
<view class="score-row__text">体育分数:</view>
|
|
|
|
|
<u-input v-model="form.physical_score" style="width: 280rpx;" placeholder="输入体育分数" input-align="center" border border-color="#e0e0e0" :height="50" :clearable="false"></u-input>
|
|
|
|
|
<u-input
|
|
|
|
|
v-model="form.physical_score"
|
|
|
|
|
style="width: 280rpx"
|
|
|
|
|
placeholder="输入体育分数"
|
|
|
|
|
input-align="center"
|
|
|
|
|
border
|
|
|
|
|
border-color="#e0e0e0"
|
|
|
|
|
:height="50"
|
|
|
|
|
:clearable="false"
|
|
|
|
|
></u-input>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<view class="score-row">
|
|
|
|
|
<view class="score-row__text">口语听力:</view>
|
|
|
|
|
<u-input v-model="form.hearing_score" style="width: 280rpx;" placeholder="输入口语听力" input-align="center" border border-color="#e0e0e0" :height="50" :clearable="false"></u-input>
|
|
|
|
|
<u-input
|
|
|
|
|
v-model="form.hearing_score"
|
|
|
|
|
style="width: 280rpx"
|
|
|
|
|
placeholder="输入口语听力"
|
|
|
|
|
input-align="center"
|
|
|
|
|
border
|
|
|
|
|
border-color="#e0e0e0"
|
|
|
|
|
:height="50"
|
|
|
|
|
:clearable="false"
|
|
|
|
|
></u-input>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<view class="score-row">
|
|
|
|
|
<view class="score-row__text">难度系数:</view>
|
|
|
|
|
<u-input v-model="form.difficulty" style="width: 280rpx;" placeholder="输入难度系数" input-align="center" border border-color="#e0e0e0" :height="50" :clearable="false"></u-input>
|
|
|
|
|
<u-input
|
|
|
|
|
v-model="form.difficulty"
|
|
|
|
|
style="width: 280rpx"
|
|
|
|
|
placeholder="输入难度系数"
|
|
|
|
|
input-align="center"
|
|
|
|
|
border
|
|
|
|
|
border-color="#e0e0e0"
|
|
|
|
|
:height="50"
|
|
|
|
|
:clearable="false"
|
|
|
|
|
></u-input>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<view style="line-height: 2.5;">
|
|
|
|
|
<view style="line-height: 2.5" @click="isShowQrcode = true">
|
|
|
|
|
<u-icon name="question-circle-fill"></u-icon>
|
|
|
|
|
<text>您可以联系客服了解难度系数填写</text>
|
|
|
|
|
<text style="padding-left: 6rpx"
|
|
|
|
|
>您可以联系客服了解难度系数填写</text
|
|
|
|
|
>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<!-- <view class="score-row">-->
|
|
|
|
|
<!-- <view class="score-row__text">成绩稳定性:</view>-->
|
|
|
|
|
<!-- <view class="score-row">-->
|
|
|
|
|
<!-- <view class="score-row__text">成绩稳定性:</view>-->
|
|
|
|
|
|
|
|
|
|
<!-- <view class="my-radio-group">-->
|
|
|
|
|
<!-- <view class="my-radio" :class="form.is_stable ? 'my-radio--checked' : ''" @click="form.is_stable = 1">是</view>-->
|
|
|
|
|
<!-- <view class="my-radio" :class="!form.is_stable ? 'my-radio--checked' : ''" @click="form.is_stable = 0">否</view>-->
|
|
|
|
|
<!-- </view>-->
|
|
|
|
|
<!-- </view>-->
|
|
|
|
|
<!-- <view class="my-radio-group">-->
|
|
|
|
|
<!-- <view class="my-radio" :class="form.is_stable ? 'my-radio--checked' : ''" @click="form.is_stable = 1">是</view>-->
|
|
|
|
|
<!-- <view class="my-radio" :class="!form.is_stable ? 'my-radio--checked' : ''" @click="form.is_stable = 0">否</view>-->
|
|
|
|
|
<!-- </view>-->
|
|
|
|
|
<!-- </view>-->
|
|
|
|
|
|
|
|
|
|
<!-- <view class="score-row">-->
|
|
|
|
|
<!-- <view class="score-row__text">是否为裸分:</view>-->
|
|
|
|
|
<!-- <view class="score-row">-->
|
|
|
|
|
<!-- <view class="score-row__text">是否为裸分:</view>-->
|
|
|
|
|
|
|
|
|
|
<!-- <view class="my-radio-group">-->
|
|
|
|
|
<!-- <view class="my-radio" :class="form.is_bare ? 'my-radio--checked' : ''" @click="form.is_bare = 1">是</view>-->
|
|
|
|
|
<!-- <view class="my-radio" :class="!form.is_bare ? 'my-radio--checked' : ''" @click="form.is_bare = 0">否</view>-->
|
|
|
|
|
<!-- </view>-->
|
|
|
|
|
<!-- </view>-->
|
|
|
|
|
<!-- <view class="my-radio-group">-->
|
|
|
|
|
<!-- <view class="my-radio" :class="form.is_bare ? 'my-radio--checked' : ''" @click="form.is_bare = 1">是</view>-->
|
|
|
|
|
<!-- <view class="my-radio" :class="!form.is_bare ? 'my-radio--checked' : ''" @click="form.is_bare = 0">否</view>-->
|
|
|
|
|
<!-- </view>-->
|
|
|
|
|
<!-- </view>-->
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<u-button
|
|
|
|
|
shape="circle"
|
|
|
|
|
:custom-style="{
|
|
|
|
|
background: 'linear-gradient(to right, #2e63ef, #4186f2)',
|
|
|
|
|
height: '76rpx',
|
|
|
|
|
'line-height': '76rpx',
|
|
|
|
|
'color': '#fff',
|
|
|
|
|
'font-size': '33rpx',
|
|
|
|
|
'letter-spacing': '5rpx',
|
|
|
|
|
'width': '450rpx',
|
|
|
|
|
'margin': '130rpx auto 0'
|
|
|
|
|
}"
|
|
|
|
|
@click="submit">保存</u-button>
|
|
|
|
|
shape="circle"
|
|
|
|
|
:custom-style="{
|
|
|
|
|
background: 'linear-gradient(to right, #2e63ef, #4186f2)',
|
|
|
|
|
height: '76rpx',
|
|
|
|
|
'line-height': '76rpx',
|
|
|
|
|
color: '#fff',
|
|
|
|
|
'font-size': '33rpx',
|
|
|
|
|
'letter-spacing': '5rpx',
|
|
|
|
|
width: '450rpx',
|
|
|
|
|
margin: '130rpx auto 0',
|
|
|
|
|
}"
|
|
|
|
|
@click="submit"
|
|
|
|
|
>保存</u-button
|
|
|
|
|
>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<u-select v-model="isShowSex" :list="sexList" @confirm="e => form.sex = e[0].value"></u-select>
|
|
|
|
|
<u-select
|
|
|
|
|
v-model="isShowSex"
|
|
|
|
|
:list="sexList"
|
|
|
|
|
@confirm="(e) => (form.sex = e[0].value)"
|
|
|
|
|
></u-select>
|
|
|
|
|
<u-picker
|
|
|
|
|
mode="time"
|
|
|
|
|
v-model="isShowYear"
|
|
|
|
|
:params="{
|
|
|
|
|
year: true,
|
|
|
|
|
month: false,
|
|
|
|
|
day: false,
|
|
|
|
|
hour: false,
|
|
|
|
|
minute: false,
|
|
|
|
|
second: false
|
|
|
|
|
}"
|
|
|
|
|
@confirm="e => form.year = e.year"></u-picker>
|
|
|
|
|
<!-- <u-picker-->
|
|
|
|
|
<!-- mode="region"-->
|
|
|
|
|
<!-- v-model="isShowRegion"-->
|
|
|
|
|
<!-- :default-region="defaultRegion"-->
|
|
|
|
|
<!-- :params="regionParams"-->
|
|
|
|
|
<!-- @confirm="regionPick"></u-picker>-->
|
|
|
|
|
<u-select v-model="isShowSchoolSelect" mode="mutil-column-auto" :list="schoolList" @confirm="schoolListConfirm"></u-select>
|
|
|
|
|
|
|
|
|
|
<u-select v-model="isShowAreaSelect"
|
|
|
|
|
:list="areaList"
|
|
|
|
|
@confirm="areaConfirm"></u-select>
|
|
|
|
|
|
|
|
|
|
<u-popup v-model="isShowRecommend" border-radius="10" mode="bottom" safe-area-inset-bottom length="90%" closeable :custom-style="{ 'background': '#eaf9fe' }">
|
|
|
|
|
mode="time"
|
|
|
|
|
v-model="isShowYear"
|
|
|
|
|
:params="{
|
|
|
|
|
year: true,
|
|
|
|
|
month: false,
|
|
|
|
|
day: false,
|
|
|
|
|
hour: false,
|
|
|
|
|
minute: false,
|
|
|
|
|
second: false,
|
|
|
|
|
}"
|
|
|
|
|
@confirm="(e) => (form.year = e.year)"
|
|
|
|
|
></u-picker>
|
|
|
|
|
<!-- <u-picker-->
|
|
|
|
|
<!-- mode="region"-->
|
|
|
|
|
<!-- v-model="isShowRegion"-->
|
|
|
|
|
<!-- :default-region="defaultRegion"-->
|
|
|
|
|
<!-- :params="regionParams"-->
|
|
|
|
|
<!-- @confirm="regionPick"></u-picker>-->
|
|
|
|
|
<u-select
|
|
|
|
|
v-model="isShowSchoolSelect"
|
|
|
|
|
mode="mutil-column-auto"
|
|
|
|
|
:list="schoolList"
|
|
|
|
|
@confirm="schoolListConfirm"
|
|
|
|
|
></u-select>
|
|
|
|
|
|
|
|
|
|
<u-select
|
|
|
|
|
v-model="isShowAreaSelect"
|
|
|
|
|
:list="areaList"
|
|
|
|
|
@confirm="areaConfirm"
|
|
|
|
|
></u-select>
|
|
|
|
|
|
|
|
|
|
<u-popup
|
|
|
|
|
v-model="isShowRecommend"
|
|
|
|
|
border-radius="10"
|
|
|
|
|
mode="bottom"
|
|
|
|
|
safe-area-inset-bottom
|
|
|
|
|
length="90%"
|
|
|
|
|
closeable
|
|
|
|
|
:custom-style="{ background: '#eaf9fe' }"
|
|
|
|
|
>
|
|
|
|
|
<view>
|
|
|
|
|
<view class="recommend-panel" v-for="(value, key) in {top:'冲',steady:'稳',safeguard:'保'}" :key="key">
|
|
|
|
|
<view class="recommend-panel__title">
|
|
|
|
|
“{{ value }}”推荐学校
|
|
|
|
|
</view>
|
|
|
|
|
<view
|
|
|
|
|
class="recommend-panel"
|
|
|
|
|
v-for="(value, key) in { top: '冲', steady: '稳', safeguard: '保' }"
|
|
|
|
|
:key="key"
|
|
|
|
|
>
|
|
|
|
|
<view class="recommend-panel__title"> “{{ value }}”推荐学校 </view>
|
|
|
|
|
|
|
|
|
|
<view class="recommend-panel__content">
|
|
|
|
|
<view class="list">
|
|
|
|
|
<view class="list" v-if="recommends[key].length > 0">
|
|
|
|
|
<view
|
|
|
|
|
class="list-item"
|
|
|
|
|
v-for="i in recommends[key]"
|
|
|
|
|
:key="i.id"
|
|
|
|
|
@click="$u.route({
|
|
|
|
|
url: '/package_sub/pages/SchoolDetail/SchoolDetail',
|
|
|
|
|
params: {
|
|
|
|
|
id: i.id
|
|
|
|
|
}
|
|
|
|
|
})">
|
|
|
|
|
class="list-item"
|
|
|
|
|
v-for="i in recommends[key]"
|
|
|
|
|
:key="i.id"
|
|
|
|
|
@click="
|
|
|
|
|
$u.route({
|
|
|
|
|
url: '/package_sub/pages/SchoolDetail/SchoolDetail',
|
|
|
|
|
params: {
|
|
|
|
|
id: i.id,
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
"
|
|
|
|
|
>
|
|
|
|
|
<view class="left">
|
|
|
|
|
<image mode="aspectFill" class="list-item__img" :src="(i.icon && i.icon.url) ? i.icon.url : vuex_default_icon"></image>
|
|
|
|
|
<image
|
|
|
|
|
mode="aspectFill"
|
|
|
|
|
class="list-item__img"
|
|
|
|
|
:src="i.icon && i.icon.url ? i.icon.url : vuex_default_icon"
|
|
|
|
|
></image>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="right">
|
|
|
|
|
<view class="list-item__title">
|
|
|
|
|
@ -156,58 +253,83 @@
|
|
|
|
|
<view class="list-item__tags--area">
|
|
|
|
|
{{ schoolArea(i.area_id) }}
|
|
|
|
|
</view>
|
|
|
|
|
<view class="list-item__tags--type" v-for="(tag, index1) in i.type" :key="index1">
|
|
|
|
|
<view
|
|
|
|
|
class="list-item__tags--type"
|
|
|
|
|
v-for="(tag, index1) in i.type"
|
|
|
|
|
:key="index1"
|
|
|
|
|
>
|
|
|
|
|
{{ tag }}
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="list-item__info">
|
|
|
|
|
办学性质:{{ i.nature === 1 ? '公办' : (i.nature === 2 ? '民办' : '-') }}
|
|
|
|
|
办学性质:{{
|
|
|
|
|
i.nature === 1 ? "公办" : i.nature === 2 ? "民办" : "-"
|
|
|
|
|
}}
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<view v-else style="text-align: center;line-height: 2;color: #666;">暂无学校</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<u-button
|
|
|
|
|
shape="circle"
|
|
|
|
|
:custom-style="{
|
|
|
|
|
shape="circle"
|
|
|
|
|
:custom-style="{
|
|
|
|
|
background: 'linear-gradient(to right, #2e63ef, #4186f2)',
|
|
|
|
|
height: '76rpx',
|
|
|
|
|
'line-height': '76rpx',
|
|
|
|
|
'color': '#fff',
|
|
|
|
|
color: '#fff',
|
|
|
|
|
'font-size': '33rpx',
|
|
|
|
|
'letter-spacing': '5rpx',
|
|
|
|
|
'width': '450rpx',
|
|
|
|
|
'margin': '60rpx auto 0'
|
|
|
|
|
width: '450rpx',
|
|
|
|
|
margin: '60rpx auto 0',
|
|
|
|
|
}"
|
|
|
|
|
@click="">去模拟填报</u-button>
|
|
|
|
|
@click=""
|
|
|
|
|
>去模拟填报</u-button
|
|
|
|
|
>
|
|
|
|
|
</view>
|
|
|
|
|
</u-popup>
|
|
|
|
|
<u-mask
|
|
|
|
|
:show="isShowQrcode"
|
|
|
|
|
border-radius="14"
|
|
|
|
|
@click="isShowQrcode = false"
|
|
|
|
|
>
|
|
|
|
|
<view class="qrcode-wrap">
|
|
|
|
|
<Qrcode @tap.stop></Qrcode>
|
|
|
|
|
</view>
|
|
|
|
|
</u-mask>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import Qrcode from "@/component/Qrcode/index.vue";
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
components: {
|
|
|
|
|
Qrcode,
|
|
|
|
|
},
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
regionType: 'city',
|
|
|
|
|
isShowQrcode: false,
|
|
|
|
|
regionType: "city",
|
|
|
|
|
isShowRegion: false,
|
|
|
|
|
isShowYear: false,
|
|
|
|
|
isShowSex: false,
|
|
|
|
|
sexList: [
|
|
|
|
|
{
|
|
|
|
|
value: '男',
|
|
|
|
|
label: '男'
|
|
|
|
|
value: "男",
|
|
|
|
|
label: "男",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
value: '女',
|
|
|
|
|
label: '女'
|
|
|
|
|
value: "女",
|
|
|
|
|
label: "女",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
value: '保密',
|
|
|
|
|
label: '保密'
|
|
|
|
|
}
|
|
|
|
|
value: "保密",
|
|
|
|
|
label: "保密",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
form: {
|
|
|
|
|
area_id: "",
|
|
|
|
|
@ -223,45 +345,45 @@ export default {
|
|
|
|
|
hearing_score: "",
|
|
|
|
|
difficulty: "",
|
|
|
|
|
is_stable: 1,
|
|
|
|
|
is_bare: 1
|
|
|
|
|
is_bare: 1,
|
|
|
|
|
},
|
|
|
|
|
rules: {
|
|
|
|
|
area_id: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请选择县区'
|
|
|
|
|
}
|
|
|
|
|
message: "请选择县区",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
anticipate_score: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请填写'
|
|
|
|
|
message: "请填写",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: 'number',
|
|
|
|
|
message: '请填写数字'
|
|
|
|
|
}
|
|
|
|
|
type: "number",
|
|
|
|
|
message: "请填写数字",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
physical_score: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请填写'
|
|
|
|
|
message: "请填写",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: 'number',
|
|
|
|
|
message: '请填写数字'
|
|
|
|
|
}
|
|
|
|
|
type: "number",
|
|
|
|
|
message: "请填写数字",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
hearing_score: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请填写'
|
|
|
|
|
message: "请填写",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
type: 'number',
|
|
|
|
|
message: '请填写数字'
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
type: "number",
|
|
|
|
|
message: "请填写数字",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
isShowAreaSelect: false,
|
|
|
|
|
@ -272,7 +394,7 @@ export default {
|
|
|
|
|
recommends: {
|
|
|
|
|
top: [],
|
|
|
|
|
steady: [],
|
|
|
|
|
safeguard: []
|
|
|
|
|
safeguard: [],
|
|
|
|
|
},
|
|
|
|
|
isShowRecommend: false,
|
|
|
|
|
};
|
|
|
|
|
@ -281,65 +403,67 @@ export default {
|
|
|
|
|
vuex_user: {
|
|
|
|
|
handler: function (newVal) {
|
|
|
|
|
const keys = new Map([
|
|
|
|
|
['middle_exam_year', 'year'],
|
|
|
|
|
['name', 'name'],
|
|
|
|
|
['sex', 'sex'],
|
|
|
|
|
['nationality', 'nationality']
|
|
|
|
|
])
|
|
|
|
|
Array.from(keys.keys()).forEach(key => {
|
|
|
|
|
["middle_exam_year", "year"],
|
|
|
|
|
["name", "name"],
|
|
|
|
|
["sex", "sex"],
|
|
|
|
|
["nationality", "nationality"],
|
|
|
|
|
]);
|
|
|
|
|
Array.from(keys.keys()).forEach((key) => {
|
|
|
|
|
if (newVal[key]) {
|
|
|
|
|
this.form[keys.get(key)] = newVal[key]
|
|
|
|
|
this.form[keys.get(key)] = newVal[key];
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
immediate: true
|
|
|
|
|
}
|
|
|
|
|
immediate: true,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
|
formArea() {
|
|
|
|
|
return this.areaList.find(i => i.value === this.form.area_id)?.label
|
|
|
|
|
return this.areaList.find((i) => i.value === this.form.area_id)?.label;
|
|
|
|
|
},
|
|
|
|
|
regionParams() {
|
|
|
|
|
return this.regionType === 'city' ? {
|
|
|
|
|
province: true,
|
|
|
|
|
city: true,
|
|
|
|
|
area: false,
|
|
|
|
|
} : {
|
|
|
|
|
province: false,
|
|
|
|
|
city: false,
|
|
|
|
|
area: true,
|
|
|
|
|
}
|
|
|
|
|
return this.regionType === "city"
|
|
|
|
|
? {
|
|
|
|
|
province: true,
|
|
|
|
|
city: true,
|
|
|
|
|
area: false,
|
|
|
|
|
}
|
|
|
|
|
: {
|
|
|
|
|
province: false,
|
|
|
|
|
city: false,
|
|
|
|
|
area: true,
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
defaultRegion() {
|
|
|
|
|
if (this.regionType === 'area') {
|
|
|
|
|
return [this.form.province,this.form.city]
|
|
|
|
|
if (this.regionType === "area") {
|
|
|
|
|
return [this.form.province, this.form.city];
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
schoolArea() {
|
|
|
|
|
return function (areaId) {
|
|
|
|
|
return this.areaList.find(i => i.value === areaId)?.label
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return this.areaList.find((i) => i.value === areaId)?.label;
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
areaConfirm(e) {
|
|
|
|
|
if (e[0]) {
|
|
|
|
|
this.form.area_id = e[0].value
|
|
|
|
|
this.form.area_id = e[0].value;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
async getArea() {
|
|
|
|
|
try {
|
|
|
|
|
const res = await this.$u.api.area()
|
|
|
|
|
this.areaList = res.list?.map(i => ({ label: i.name, value: i.id }))
|
|
|
|
|
const res = await this.$u.api.area();
|
|
|
|
|
this.areaList = res.list?.map((i) => ({ label: i.name, value: i.id }));
|
|
|
|
|
} catch (err) {
|
|
|
|
|
console.error(err)
|
|
|
|
|
console.error(err);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
schoolListConfirm(e) {
|
|
|
|
|
if (e[1]) {
|
|
|
|
|
const { extra, label } = e[1]
|
|
|
|
|
this.form.school_id = extra
|
|
|
|
|
this.form.school_name = label
|
|
|
|
|
const { extra, label } = e[1];
|
|
|
|
|
this.form.school_id = extra;
|
|
|
|
|
this.form.school_name = label;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
async getSchools() {
|
|
|
|
|
@ -347,78 +471,84 @@ export default {
|
|
|
|
|
const { list } = await this.$u.api.schoolList({
|
|
|
|
|
page: 1,
|
|
|
|
|
page_size: 9999,
|
|
|
|
|
type: '初中'
|
|
|
|
|
})
|
|
|
|
|
this.schoolList = this.areaList.map(area => ({
|
|
|
|
|
type: "初中",
|
|
|
|
|
});
|
|
|
|
|
this.schoolList = this.areaList.map((area) => ({
|
|
|
|
|
id: area.value,
|
|
|
|
|
value: area.value,
|
|
|
|
|
label: area.label,
|
|
|
|
|
children: list.data?.filter(school => school.area_id === area.value)?.map(i => ({
|
|
|
|
|
value: i.code,
|
|
|
|
|
label: i.name,
|
|
|
|
|
extra: i.id,
|
|
|
|
|
}))
|
|
|
|
|
}))
|
|
|
|
|
console.log(this.schoolList)
|
|
|
|
|
children: list.data
|
|
|
|
|
?.filter((school) => school.area_id === area.value)
|
|
|
|
|
?.map((i) => ({
|
|
|
|
|
value: i.code,
|
|
|
|
|
label: i.name,
|
|
|
|
|
extra: i.id,
|
|
|
|
|
})),
|
|
|
|
|
}));
|
|
|
|
|
console.log(this.schoolList);
|
|
|
|
|
} catch (err) {
|
|
|
|
|
console.error(err)
|
|
|
|
|
console.error(err);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
regionPick(e) {
|
|
|
|
|
if (e.hasOwnProperty('province')) {
|
|
|
|
|
this.form.province = e.province?.label
|
|
|
|
|
if (e.hasOwnProperty("province")) {
|
|
|
|
|
this.form.province = e.province?.label;
|
|
|
|
|
}
|
|
|
|
|
if (e.hasOwnProperty('city')) {
|
|
|
|
|
this.form.city = e.city?.label
|
|
|
|
|
if (e.hasOwnProperty("city")) {
|
|
|
|
|
this.form.city = e.city?.label;
|
|
|
|
|
}
|
|
|
|
|
if (e.hasOwnProperty('area')) {
|
|
|
|
|
this.form.area = e.area?.label
|
|
|
|
|
if (e.hasOwnProperty("area")) {
|
|
|
|
|
this.form.area = e.area?.label;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
submit () {
|
|
|
|
|
submit() {
|
|
|
|
|
const myValid = () => {
|
|
|
|
|
const isPositiveNumber = (input) => {
|
|
|
|
|
const regex = /^(?:0|[1-9]\d*)(?:\.\d+)?$/;
|
|
|
|
|
return regex.test(input);
|
|
|
|
|
}
|
|
|
|
|
if (isPositiveNumber(this.form.anticipate_score) && isPositiveNumber(this.form.hearing_score) && isPositiveNumber(this.form.physical_score)) {
|
|
|
|
|
return true
|
|
|
|
|
};
|
|
|
|
|
if (
|
|
|
|
|
isPositiveNumber(this.form.anticipate_score) &&
|
|
|
|
|
isPositiveNumber(this.form.hearing_score) &&
|
|
|
|
|
isPositiveNumber(this.form.physical_score)
|
|
|
|
|
) {
|
|
|
|
|
return true;
|
|
|
|
|
} else {
|
|
|
|
|
this.$u.toast("分数请填写数字")
|
|
|
|
|
return false
|
|
|
|
|
this.$u.toast("分数请填写数字");
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
this.$refs['uForm'].validate(valid => {
|
|
|
|
|
const valid1 = myValid()
|
|
|
|
|
};
|
|
|
|
|
this.$refs["uForm"].validate((valid) => {
|
|
|
|
|
const valid1 = myValid();
|
|
|
|
|
if (valid && valid1) {
|
|
|
|
|
try {
|
|
|
|
|
this.$u.api.recommendForm(this.form).then(async res => {
|
|
|
|
|
console.log(res)
|
|
|
|
|
this.$u.api.recommendForm(this.form).then(async (res) => {
|
|
|
|
|
console.log(res);
|
|
|
|
|
uni.showToast({
|
|
|
|
|
title: '提交成功',
|
|
|
|
|
icon: 'none',
|
|
|
|
|
duration: 1000
|
|
|
|
|
})
|
|
|
|
|
const { model } = res
|
|
|
|
|
this.recommends = model?.recommends
|
|
|
|
|
this.isShowRecommend = true
|
|
|
|
|
})
|
|
|
|
|
title: "提交成功",
|
|
|
|
|
icon: "none",
|
|
|
|
|
duration: 1000,
|
|
|
|
|
});
|
|
|
|
|
const { model } = res;
|
|
|
|
|
this.recommends = model?.recommends;
|
|
|
|
|
this.isShowRecommend = true;
|
|
|
|
|
});
|
|
|
|
|
} catch (err) {
|
|
|
|
|
console.error(err)
|
|
|
|
|
console.error(err);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
onReady() {
|
|
|
|
|
this.$refs.uForm.setRules(this.rules)
|
|
|
|
|
this.$refs.uForm.setRules(this.rules);
|
|
|
|
|
},
|
|
|
|
|
created() {
|
|
|
|
|
this.getArea().then(_ => this.getSchools())
|
|
|
|
|
this.getArea().then((_) => this.getSchools());
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="scss">
|
|
|
|
|
@ -439,7 +569,7 @@ export default {
|
|
|
|
|
.card {
|
|
|
|
|
margin: 20rpx 24rpx 0;
|
|
|
|
|
border-radius: 20rpx;
|
|
|
|
|
filter: drop-shadow(-2.179rpx 3.355rpx 2.5rpx rgba(208,209,209,0.3));
|
|
|
|
|
filter: drop-shadow(-2.179rpx 3.355rpx 2.5rpx rgba(208, 209, 209, 0.3));
|
|
|
|
|
background-color: #ffffff;
|
|
|
|
|
padding: 32rpx 36rpx 40rpx 40rpx;
|
|
|
|
|
|
|
|
|
|
@ -454,7 +584,7 @@ export default {
|
|
|
|
|
position: relative;
|
|
|
|
|
|
|
|
|
|
&::after {
|
|
|
|
|
content: '';
|
|
|
|
|
content: "";
|
|
|
|
|
background: linear-gradient(to right, #2e63ef, #4187f2);
|
|
|
|
|
height: 6rpx;
|
|
|
|
|
border-radius: 4rpx;
|
|
|
|
|
@ -509,7 +639,7 @@ export default {
|
|
|
|
|
color: #000000;
|
|
|
|
|
background-color: #e4e9f0;
|
|
|
|
|
text-align: center;
|
|
|
|
|
transition: all .2s;
|
|
|
|
|
transition: all 0.2s;
|
|
|
|
|
|
|
|
|
|
&--checked {
|
|
|
|
|
background-color: #1165f8;
|
|
|
|
|
@ -533,11 +663,10 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
&__content {
|
|
|
|
|
.list {
|
|
|
|
|
|
|
|
|
|
&-item {
|
|
|
|
|
padding: 24rpx 28rpx 24rpx 32rpx;
|
|
|
|
|
border-radius: 20rpx;
|
|
|
|
|
filter: drop-shadow(-2.179px 3.355px 2.5px rgba(208,209,209,0.3));
|
|
|
|
|
filter: drop-shadow(-2.179px 3.355px 2.5px rgba(208, 209, 209, 0.3));
|
|
|
|
|
background-color: #ffffff;
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
@ -606,4 +735,10 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.qrcode-wrap {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
height: 100%;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
|