工行这里学车报名流程h5
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

287 lines
6.3 KiB

<template>
<view class="content">
<u-navbar title="优享驾培" :custom-back="goApp"></u-navbar>
<view class="content">
<view class="topCon">
<view class="tag" @click="$goPage('/pages/payRecords/payRecords')">
<image src="@/static/images/home_img_pay@2x.png" mode=""></image>
</view>
<view class="cardBox">
<view class="card">
<view class="h1">
<view class="h1Icon">
<image src="@/static/images/home_icon_btzuo@3x.png" mode=""></image>
</view>
<view class="txt">专属服务与优惠</view>
<view class="h1Icon">
<image src="@/static/images/home_icon_btyou@3x.png" mode=""></image>
</view>
</view>
<view class="item_Box">
<view class="h2">优质的服务</view>
<view class="text">1.专属优享驾培服务团队优秀教练员施教</view>
<view class="text">2.提供一人一方案培训教学考试服务</view>
</view>
<view class="item_Box">
<view class="h2">优惠的价格</view>
<view class="text">1.为工会会员提供9.5折专享优惠价格</view>
<view class="text">2.工会会员可为家庭成员代报名同享9.5</view>
</view>
</view>
</view>
</view>
<view class="listCon">
<view class="h1">
<view class="h1Icon">
<image src="@/static/images/home_icon_btzuo@3x.png" mode=""></image>
</view>
<view class="txt">优质驾校</view>
<view class="h1Icon">
<image src="@/static/images/home_icon_btyou@3x.png" mode=""></image>
</view>
</view>
<view class="area">
<view class="areaLab">选择区/</view>
<view class="areaChoose" @click="show=true">
<view class="txt">{{ regionName }}</view>
<view class="iconImg">
<image src="@/static/images/home_icon_xiahei@3x.png" mode=""></image>
</view>
</view>
</view>
<list :listData="listData" />
<view class="" style="padding: 40rpx 0 0 0; ">
<u-loadmore :status="status" icon-type="circle" />
</view>
</view>
</view>
<u-picker mode="selector" v-model="show" :range="region" @confirm="confirmRegion"
range-key="regionName"></u-picker>
</view>
</template>
<script>
import list from './comp/list.vue'
import indexApi from '@/api/index.js'
export default {
components: {
list
},
data() {
return {
status: 'loadmore',
queryParams: {
pageIndex: 1,
pageSize: 30,
lat: 30.27419537786047,
trainingScope: '',
lng: 120.20633397715788,
schoolName: ''
},
show: false,
listData: [],
region: [],
regionName: '杭州市'
}
},
onLoad() {
this.listInit()
this.queryRegionByParentCodeFn()
const latLng = this.$u.utils.getLocation()
this.queryParams.lat = latLng.lat
this.queryParams.lng = latLng.lng
this.$u.utils.appPostMessage("encryption_user_msg_type");
//Android和iOS获取⽤户信息回调
window.arouseNativeMsg = function(data) {
if(data) {
}
}
},
onReachBottom() {
if (this.status == 'nomore') return
this.queryTrainingSchoolListFromAppFn()
},
onPullDownRefresh() {
this.listInit()
setTimeout(() => {
uni.stopPullDownRefresh()
}, 1500)
},
methods: {
goApp() {
this.$u.utils.appPostMessage("backToApp");
},
listInit() {
this.status == 'loadmore'
this.queryParams.pageIndex = 1
this.listData = []
this.queryTrainingSchoolListFromAppFn()
},
// 选择区域
confirmRegion(i) {
let index = i[0]
let item = this.region[index]
this.queryParams.district = item.regionCode
this.regionName = item.regionName
this.listInit()
},
// 获取区域数据
async queryRegionByParentCodeFn() {
const [nulls, res] = await indexApi.queryRegionByParentCode()
this.region = res.data
},
// 列表
async queryTrainingSchoolListFromAppFn() {
let obj = {}
for (let key in this.queryParams) {
if (this.queryParams[key]) {
obj[key] = this.queryParams[key]
}
}
const [nulls, res] = await indexApi.queryTrainingSchoolListFromApp(obj)
this.queryParams.pageIndex++
this.listData.push(...res.data)
console.log('驾校列表')
console.log(res.data)
if (res.data.length < this.queryParams.pageSize) this.status = 'nomore'
},
}
}
</script>
<style lang="scss" scoped>
.h1 {
display: flex;
justify-content: center;
height: 96rpx;
align-items: center;
.h1Icon {
width: 36rpx;
height: 20rpx;
}
.txt {
font-size: 32rpx;
color: #333;
padding: 0 12rpx;
}
}
.topCon {
width: 100%;
height: 792rpx;
padding: 0 32rpx;
background: url('../../static/images/home_bg_dingbu@3x.png') no-repeat;
background-size: 100% 100%;
position: relative;
.tag {
position: absolute;
right: 0;
top: 96rpx;
width: 40rpx;
height: 146rpx;
}
.cardBox {
position: absolute;
bottom: 0;
left: 0rpx;
width: 100%;
height: 504rpx;
padding: 0 32rpx;
.card {
background: #FFFFFF;
border-radius: 16rpx;
padding: 0 24rpx 24rpx 24rpx;
.item_Box {
width: 100%;
height: 180rpx;
background: #F2F9FF;
border-radius: 16rpx;
padding: 24rpx 0 0 0;
color: #333;
margin-bottom: 16rpx;
.h2 {
font-size: 32rpx;
position: relative;
padding: 0 0 8rpx 26rpx;
font-weight: 600;
&::before {
position: absolute;
content: '';
left: 0;
top: 8rpx;
width: 6rpx;
height: 28rpx;
background: #1989FA;
border-radius: 0px 6rpx 6rpx 0px;
}
}
.text {
font-size: 28rpx;
padding: 2rpx 26rpx;
}
}
}
}
}
.listCon {
width: 100%;
background: #FFFFFF;
border-radius: 32rpx 32rpx 0px 0px;
padding: 0 32rpx 32rpx 32rpx;
margin-top: 32rpx;
.area {
display: flex;
align-items: center;
font-size: 28rpx;
color: #686B73;
margin-bottom: 40rpx;
.areaLab {
font-size: 28rpx;
color: #686B73;
margin-right: 16rpx;
}
.areaChoose {
height: 56rpx;
background: #F6F7F8;
border-radius: 8rpx;
padding: 8rpx 16rpx;
display: flex;
align-items: center;
.txt {
font-size: 28rpx;
color: #686B73;
}
.iconImg {
width: 24rpx;
height: 24rpx;
margin-left: 8rpx;
}
}
}
}
</style>