全国成人高考报名系统的实现

本文介绍了如何使用前端框架 Vue.js 和 ElementUI 实现全国成人高考报名系统的省市区联动效果,同时探讨了时间线功能的实现细节。
摘要由CSDN通过智能技术生成

省市区三级联动

element-plus 省市区+时间线 联动效果

<template>
    <div class="main">
        <div class="main-main">
            <div class="main-title">
                <p>2023年全国成人高考报名系统</p>
            </div>
        </div>
        <div class="main-center">
            <el-form :model="createReqVO" class="center-list" target="nm_iframe" :rules=rules ref="createReqVO" hide-required-asterisk>
                <div class="center-item">
                    <p class="item-p">姓名</p>
                    <el-form-item  prop="name">
                        <el-input class="item-input" :class="createReqVO.name ? 'font-color' : ''"  
                        type="text" placeholder="请输入姓名" v-model="createReqVO.name"></el-input>
                    </el-form-item>
                </div>
                <div class="center-item">
                    <p class="item-p">手机号</p>
                    <el-form-item  prop="phone">
                        <el-input class="item-input" :class="createReqVO.phone ? 'font-color' : ''"  type="text" placeholder="请输入手机号" v-model.number="createReqVO.phone">
                        </el-input>
                    </el-form-item>
                </div>
                <!-- <div class="center-item">
                    <p class="item-p">性别</p>
                    <div class="item-radio">
                        <el-form-item  prop="gender">
                            <p>男</p>
                            <input  type="radio" name="radio" value="男" v-model="createReqVO.gender">
                            <p style="margin-left: 36px;" >女</p>
                            <input type="radio" name="radio" value="女" v-model="createReqVO.gender">
                        </el-form-item>
                    </div>
                </div> -->
                <div class="center-item">
                    <p class="item-p">政治面貌</p>
                    <el-form-item  prop="politicsStatus">
                        <div class="item-educationBackground" :class="createReqVO.politicsStatus ? 'font-color' : ''" @click="drawerPoliticsStatus = true" >{
  {createReqVO.politicsStatus == '' ? '请选择政治面貌' : createReqVO.politicsStatus}}
                            <img src="../assets/icon-fanhui.png" alt="">
                        </div>
                    </el-form-item>
                </div>
                <el-drawer
                    v-model="drawerPoliticsStatus"
                    direction="btt"
                    :show-close="false"
                    size="50%">
                    <template #header style="position: relative;">
                        <div class="drawer-title-politicsStatus">请选择政治面貌</div>
                        
                    </template>
                    <template #default>
                        <div class="drawer-lists">
                            <div class="drawer-items">
                                <div class="drawer-items" :class="{
    'selected-color':PoliticsStatusIndex == index}" @click="selectedPoliticsStatus(index)" v-for="(item,index) of selectedPoliticsStatusData" :key="index">
                                    <p>{
  {item}}</p>
                                </div>
                            </div>
                        </div>
                    </template>
                </el-drawer>
                <div class="center-item">
                    <p class="item-p">身份证</p>
                    <el-form-item  prop="idNo">
                        <el-input class="item-input" :class="createReqVO.idNo ? 'font-color' : ''" type="text" placeholder="请输入身份证" v-model="createReqVO.idNo">
                        </el-input>
                    </el-form-item>
                </div>
                
                
                <div class="center-item">
                    <p class="item-p">户籍所在地</p>
                    <el-form-item  prop="place">
                        <div class="item-educationBackground" :class="createReqVO.place ? 'font-color' : ''" @click="drawerPlace = true" >
                            {
  {createReqVO.place == '' ? '请选择户籍所在地' : createReqVO.place}}
                            <img src="../assets/icon-fanhui.png" alt="">
                        </div>
                    </el-form-item>
                    <el-drawer
                        v-model="drawerPlace"
                        direction="btt"
                        :show-close="false"
                        size="65%">
                        <template #header style="position: relative;">
                            <div class="drawer-title-place">请选择户籍所在地</div>
                            <!-- 时间线 -->
                        <el-timeline>
                            <el-timeline-item
                            v-for="(placeLine, index) in placeLineData"
                            :key="index"
                            :hollow="placeLine.hollow"
                            :color="placeLine.color"
                            @click="selectPlaceLine(index)">
                            {
  {placeLine.value}}
                            </el-timeline-item>
                        </el-timeline>
                        </template>
                        <template #default>
                            <div class="drawer-lists">
                                <div class="drawer-items" v-if="showProvinceData">
                                    <p >选择省份/地区</p>
                                    <div class="drawer-items"  @click="selectedProvince(index)" v-for="(item,index) of regionData" :key="index">
                                        <p :class="{
    'selected-color':ProvinceDataIndex == index}" >{
  {item.label}}</p>
                                    </div>
                                </div>
                                <div class="drawer-items" v-else-if="showCityData">
                                    <p>选择城市</p>
                                    <div class="drawer-items"
                                     @click="selectedCity(index)"  v-for="(item,index) of selectedCityData" :key="index">
                                        <p :class="{
    'selected-color':CityDataIndex == index}">{
  {item.label}}</p>
                                    </div>
                                </div>
                                <div  class="drawer-items" v-else>
                                    <p>选择区/县</p>
                                    <div class="drawer-items"
                                     @click="selectedArea(index)" v-for="(item,index) of selectedAreaData" :key="index">
                                        <p :class="{
    'selected-color':AreaDataIndex == index}">{
  {item.label}}</p>
                                    </div>
                                </div>
                            </div>
                        </template>
                    </el-drawer>
                </div>
                <div class="center-item">
                    <p class="item-p">考试省份</p>
                    <el-form-item  prop="examinationProvince">
                        <div class="item-educationBackground" :class="createReqVO.examinationProvince ? 'font-color' : ''" @click="drawerExaminationProvince = true" >{
  {createReqVO.examinationProvince == '' ? '请选择考试省份' : createReqVO.examinationProvince}}
                            <img src="../assets/icon-fanhui.png" alt="">
                        </div>
                    </el-form-item>
                    <el-drawer
                        v-model="drawerExaminationProvince"
                        direction="btt"
                        :show-close="false"
                        size="65%">
                        <template #header style="position: relative;">
                            <div class="drawer-title-politicsStatus">请选择考试省份</div>
                        </template>
                        <template #default>
                            <div class="drawer-lists">
                                <div class="drawer-items">
                                    <div class="drawer-items" @click="selectedExaminationProvince(index)" v-for="(item,index) of regionData" :key="index">
                                        <p :class="{
    'selected-color':ExaminationProvinceIndex == index}">{
  {item.label}}</p>
                                    </div>
                                </div>
                            </div>
                        </template>
                    </el-drawer>
                </div>
                <div class="center-item">
                    <p>报考学校</p>
                    <el-form-item  prop="applySchool">
                        <el-input class="item-input" :class="createReqVO.applySchool ? 'font-color' : ''" type="text" placeholder="此项可不填" v-model="createReqVO.applySchool">
                        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值