Browse Source

增加我的预报名,个人详情信息

master
unknown 5 months ago
parent
commit
14bb2e154a
  1. 6
      components/searchRow/searchRow.vue
  2. 19
      pages.json
  3. 2
      pages/indexEntry/enroll/enroll.vue
  4. 11
      pages/indexEntry/enroll/registInfo/registInfo.vue
  5. 103
      pages/mineEntry/myForecastName/myForecastName.vue
  6. 47
      pages/mineEntry/personaInfo/myInfo.vue
  7. 25
      pages/mineEntry/personaInfo/personaInfo.vue
  8. 1
      pages/tabbar/index/index.vue
  9. 17
      pages/tabbar/mine/index.vue
  10. BIN
      static/images/userCenter/yubaoming.png

6
components/searchRow/searchRow.vue

@ -8,7 +8,7 @@
<view class="textColor">{{ placeholder }}</view>
</view>
<view class="inputBox" v-else>
<u-search :placeholder="placeholder" v-model="keyword" :color="'#fff'" placeholderColor="#fff" :bgColor="'transparent'" :showAction="false" @search="$u.debounce(searchFn, 500)" @clear="searchFn"></u-search>
<u-search :placeholder="placeholder" v-model="keyword" :color="'#fff'" placeholderColor="#fff" :bgColor="'transparent'" :showAction="false" @search="$u.debounce(searchFn, 500)" @clear="clearSearchFn"></u-search>
</view>
</view>
</view>
@ -25,6 +25,10 @@
methods: {
searchFn() {
this.$emit('searchFn', this.keyword)
},
clearSearchFn() {
this.keyword = ''
this.$emit('searchFn', '')
}
}
}

19
pages.json

@ -424,6 +424,25 @@
}
},
{
"path": "personaInfo/myInfo",
"style": {
"navigationBarTitleText": "个人信息",
"navigationStyle": "custom",
"enablePullDownRefresh": false,
"backgroundTextStyle": "dark"
}
},
{
"path": "myForecastName/myForecastName",
"style": {
"navigationBarTitleText": "我的报名",
"navigationStyle": "custom",
"enablePullDownRefresh": true,
"backgroundTextStyle": "dark"
}
},
{
"path": "myAppointment/myAppointment",
"style": {
"navigationBarTitleText": "我的预约",

2
pages/indexEntry/enroll/enroll.vue

@ -208,7 +208,7 @@
this.vuex_userInfo.idcard = this.form.idcard
this.vuex_userInfo.nationality = (this.form.value==7||this.form.value==2)?'外国':'中国'
this.vuex_userInfo.cardType = this.form.value
return this.$goPage('/pages/indexEntry/enroll/registInfo/registInfo')
return this.$goPage('/pages/indexEntry/enroll/registInfo/registInfo?realNameNo=1')
}
//

11
pages/indexEntry/enroll/registInfo/registInfo.vue

@ -304,7 +304,6 @@
cardType: 1,
idcard: '',
nationality: '中国',
businessType: '',//
certificateCodeShow: '原驾驶证号xxx',
driveLicence: '',//
firstDriveDate: '',//
@ -331,7 +330,10 @@
cityArr3: []
}
},
onLoad() {
onLoad(options) {
if(options.realNameNo) {
this.realNameNo = options.realNameNo
}
this.initUserInfo()
uni.$on('upDateCoachItem',(item)=>{
@ -369,7 +371,10 @@
},
methods: {
async initUserInfo() {
await this.$store.dispatch('getUserInfo')
//
if(!this.realNameNo) {
await this.$store.dispatch('getUserInfo')
}
this.form.userId = this.userId
this.form.accountId = this.vuex_userInfo.accountId
this.form.address = this.vuex_userInfo.address

103
pages/mineEntry/myForecastName/myForecastName.vue

@ -0,0 +1,103 @@
<template>
<view class="pageBgImg ">
<topNavbar title="我的预报名"></topNavbar>
<view class="bg" v-if="list.length">
<view class="ul">
<view class="card" v-for="(item,index) in list" :key="index" @click="itemClickFn(item)">
<!-- 状态0-预报名1-已报名待支付2-已支付,3-已学完 -->
<view class="tps">{{ item.applyStatus==0?'点击进入报名':'预报名成功,待支付'}}</view>
<view class="name">{{item.schoolName}}</view>
<view class="className">班型{{item.className}}</view>
<view class="flexB">
<view class="date">
{{$u.timeFormat(item.createDate, 'yyyy-mm-dd hh:MM:ss')}}
</view>
<view class="deleteBtn" @click.stop="deleteFn(item)">
删除
</view>
</view>
</view>
</view>
</view>
<nodata v-else></nodata>
<u-loadmore :status="status" style="margin-top: 32rpx;" v-if="list.length>5" icon-type="circle" />
</view>
</template>
<script>
export default {
data() {
return {
params: {
pageIndex: 1,
pageSize: 20,
},
list: [
{applyStatus: 0, schoolName: '翔力驾校'}
],
status: 'loadmore',
}
},
}
</script>
<style lang="scss" scoped>
.pageBgImg {
width: 100%;
.tps {
width: 100%;
// height: 56rpx;
// line-height: 56rpx;
color: $themC;
padding: 0 20rpx;
text-align: right;
// background-color: #f7f7fb;
font-size: 26rpx;
}
.ul {
width: 100%;
padding: 0 30rpx;
.card{
width: 100%;
padding: 20rpx;
border-bottom: 1px solid #ededed;
&:last-child {
border: none;
}
.name {
font-size: 32rpx;
font-weight: 700;
padding-top: 20rpx;
}
.className {
font-size: 28rpx;
color: #666;
padding: 10rpx 0;
}
.flexB {
display: flex;
justify-content: space-between;
.date {
font-size: 24rpx;
color: #999;
}
.deleteBtn {
color: $themC;
border-radius: 8rpx;
width: 120rpx;
height: 50rpx;
line-height: 50rpx;
text-align: center;
border: 1px solid $themC
}
}
}
}
}
</style>

47
pages/mineEntry/personaInfo/myInfo.vue

@ -0,0 +1,47 @@
<template>
<view class="pageBgImg">
<topNavbar title="我的信息"></topNavbar>
<view class="pad">
<view class="card">
<view class="row border">
<view class="lab">真实姓名</view>
<view class="val">{{ vuex_userInfo.name }}</view>
</view>
<view class="row border">
<view class="lab">证件号</view>
<view class="val">{{ vuex_userInfo.idcard }}</view>
</view>
<view class="row border">
<view class="lab">性别</view>
<view class="val">{{ vuex_userInfo.sex==1?'男':'女' }}</view>
</view>
<view class="row ">
<view class="lab">地址</view>
<view class="val">{{ vuex_userInfo.address }}</view>
</view>
</view>
</view>
</view>
</template>
<style lang="scss" scoped>
.card {
padding: 6rpx;
margin-bottom: 20rpx;
}
.row {
display: flex;
align-items: center;
justify-content: space-between;
height: 98rpx;
font-size: 28rpx;
padding: 0 30rpx;
&.border {
border-bottom: 2rpx solid #E8E9EC;
}
}
</style>

25
pages/mineEntry/personaInfo/personaInfo.vue

@ -12,30 +12,43 @@
<view class="card">
<view class="row border">
<view class="lab">我的驾校</view>
<view class="val">江西海正驾校</view>
<view class="val">{{ vuex_userInfo.schoolName }}</view>
</view>
<view class="row border">
<view class="lab">我的教练</view>
<view class="val">xxx</view>
<view class="val">{{ vuex_userInfo.coachName }}</view>
</view>
<view class="row border">
<view class="lab">所学车型</view>
<view class="val">xxx</view>
<view class="val">{{ vuex_userInfo.trainType }}</view>
</view>
<view class="row">
<view class="lab">报名时间</view>
<view class="val">xxx</view>
<view class="val">{{ $u.timeFormat(vuex_userInfo.applyDate, 'yyyy-mm-dd hh:MM:ss')}}</view>
</view>
</view>
<view class="card">
<view class="card" v-if="vuex_userInfo.cardType>1" @click="$goPage('/pages/mineEntry/personaInfo/myInfo')">
<view class="row">
<view class="lab">个人信息</view>
<view class="flex">
<view class="val">查看</view>
<view class="icon">
<u-icon name="arrow-right"></u-icon>
</view>
</view>
</view>
</view>
<view class="card" v-if="vuex_userInfo.cardType==1">
<view class="row">
<view class="lab">实名认证</view>
<view class="val">已完成</view>
</view>
</view>
<view class="card">
<view class="card" v-if="cardType==1">
<view class="row">
<view class="lab">拍照&体检&面签</view>
<view class="val">已完成</view>

1
pages/tabbar/index/index.vue

@ -320,6 +320,7 @@
if(item.text=='找驾驶馆') {
const res = await this.$store.dispatch('checkLogin')
if(!res) return
if(!this.vuex_userInfo.schoolId) return this.$u.toast('您不是平台学员')
}
this.$goPage(item.url)
},

17
pages/tabbar/mine/index.vue

@ -42,7 +42,8 @@
<view class="ul">
<view class="li" v-for="(item,index) in myPageEntry" :key="index" @click="myPageEntryClick(item)">
<view class="icon">
<image :src="item.icon" mode=""></image>
<image :src="item.icon" mode="" v-if="item.text=='我的报名'" ></image>
<image :src="item.icon" mode="" v-else></image>
</view>
<view class="text">{{ item.text }}</view>
</view>
@ -71,6 +72,11 @@
myPageEntry: [
{
text: '我的报名',
icon: require('../../../static/images/userCenter/yubaoming.png'),
url: '/pages/mineEntry/myForecastName/myForecastName',
},
{
text: '我的预约',
icon: require('../../../static/images/userCenter/ic_yuyue.png'),
url: '/pages/mineEntry/myAppointment/myAppointment'
@ -152,13 +158,16 @@
},
async goBusinessEntry(item) {
const res = await this.$store.dispatch('checkLogin')
console.log('res')
console.log(res)
if(!res) return
if(!this.vuex_userInfo.schoolId) return this.$u.toast('您不是平台学员')
this.$goPage(item.url)
},
async myPageEntryClick(item) {
await this.$store.dispatch('checkLogin')
const res = await this.$store.dispatch('checkLogin')
if(!res) return
let arr = ['我的收藏','本地生活']
console.log(arr.includes(item.text))
if(!this.vuex_userInfo.schoolId&&!arr.includes(item.text)) return this.$u.toast('您不是平台学员')
this.$goPage(item.url)
}
}

BIN
static/images/userCenter/yubaoming.png

After

Width: 128  |  Height: 128  |  Size: 7.9 KiB

Loading…
Cancel
Save