unknown
1 year ago
13 changed files with 452 additions and 150 deletions
-
60components/callPhone/callPhone.vue
-
8config/api.js
-
60config/request.js
-
11pages.json
-
61pages/recordEntry/operate/mySchedule/plan/plan.vue
-
2pages/tabbar/mine/index.vue
-
37pages/userCenter/examinInfo/comp/examinItem.vue
-
82pages/userCenter/examinInfo/examinInfo.vue
-
6pages/userCenter/myCar/comp/unbind.vue
-
43pages/userCenter/myCar/myCar.vue
-
138pages/userCenter/myCar/notBound/notBound.vue
-
37pages/userCenter/studentComment/studentComment.vue
-
29store/modules/user.js
@ -0,0 +1,60 @@ |
|||
<template> |
|||
<view class="box"> |
|||
<view class="phoneIcon" @click.stop="phoneClick"> |
|||
<slot></slot> |
|||
</view> |
|||
<u-action-sheet :actions="servicePhone" :show="show" @select="callPhoneClick" :closeOnClickOverlay="true" @close="show=false" cancelText="取消"></u-action-sheet> |
|||
</view> |
|||
|
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
// props: { |
|||
// servicePhone: { |
|||
// type: Array, |
|||
// default: [] |
|||
// } |
|||
// }, |
|||
props: ['servicePhone'], |
|||
data() { |
|||
return { |
|||
// servicePhone: [ |
|||
// {name: '18267103167'}, |
|||
// {name: '18267103168'}, |
|||
// ], |
|||
show: false |
|||
} |
|||
}, |
|||
methods: { |
|||
phoneClick() { |
|||
if(!this.servicePhone) return false |
|||
if(this.servicePhone.length==1) { |
|||
this.callPhoneClick(this.servicePhone[0]) |
|||
}else { |
|||
show=true |
|||
} |
|||
}, |
|||
callPhoneClick(item) { |
|||
|
|||
let phone = item.name |
|||
// #ifdef MP-WEIXIN |
|||
this.$u.utils.callPhone(phone) |
|||
// #endif |
|||
|
|||
// #ifdef H5 |
|||
var a = document.createElement('a') |
|||
a.setAttribute('href', 'tel:'+ phone) |
|||
document.body.appendChild(a) |
|||
a.click() |
|||
console.log(phone) |
|||
// #endif |
|||
|
|||
this.show =false |
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style> |
|||
</style> |
@ -0,0 +1,138 @@ |
|||
<template> |
|||
<view class="pageBgImg"> |
|||
<topNavbar title="未绑定的车辆"></topNavbar> |
|||
<view class="pad"> |
|||
<view class="searcBox"> |
|||
<searchRow placeholder="搜索车牌号" @searchFn="searchFn"></searchRow> |
|||
</view> |
|||
<view class="ul"> |
|||
<view class="card" v-for="(item,index) in list" :key="index"> |
|||
<view class="name">车牌号:{{item.licnum}}</view> |
|||
<view class="text">车辆型号:{{item.manufacturer}}</view> |
|||
<view class="flex-b"> |
|||
<view class="text">培训车型:{{item.perdritype}}</view> |
|||
<view class="btnBg" @click="bindClick(item)">立即绑定</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
|
|||
<view style="padding-bottom: 20rpx;" v-if="list.length"> |
|||
<u-loadmore :status="status" /> |
|||
</view> |
|||
<nodata v-if="!list.length&&status=='nomore'"></nodata> |
|||
</view> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
import { carPage, coachBinding } from '@/config/api.js' |
|||
export default { |
|||
data() { |
|||
return { |
|||
list: [], |
|||
params: { |
|||
pageNo: 1, |
|||
pageSize: 20, |
|||
coachId: 0 |
|||
}, |
|||
total: 20, |
|||
status: 'loading' |
|||
} |
|||
}, |
|||
onLoad() { |
|||
this.params.schoolId = this.vuex_schoolId |
|||
this.carPageFn() |
|||
}, |
|||
onPullDownRefresh() { |
|||
this.list = [] |
|||
this.params.pageNo = 1 |
|||
this.carPageFn().then(()=>{uni.stopPullDownRefresh()}) |
|||
}, |
|||
onReachBottom() { |
|||
if(this.total>this.list.length) { |
|||
this.carPageFn() |
|||
} |
|||
}, |
|||
methods: { |
|||
async carPageFn() { |
|||
const {data: res} = await carPage(this.params) |
|||
this.params.pageNo ++ |
|||
this.list.push(...res.list) |
|||
this.total = res.total |
|||
if(this.list.length>=this.total) this.status = 'nomore' |
|||
console.log(res) |
|||
}, |
|||
searchFn(val) { |
|||
console.log(val) |
|||
this.params.licnum = val |
|||
this.list = [] |
|||
this.params.pageNo = 1 |
|||
this.carPageFn() |
|||
}, |
|||
async coachBindingFn(item) { |
|||
let obj = { |
|||
"carId": item.id, |
|||
"coachId": this.vuex_coachId, |
|||
"coachName": this.vuex_userInfo.user.nickname |
|||
} |
|||
const res = await coachBinding(obj) |
|||
if(res.code==0) { |
|||
this.$u.toast('绑定成功') |
|||
setTimeout(()=>{ |
|||
uni.navigateBack() |
|||
}, 1500) |
|||
} |
|||
console.log(res) |
|||
}, |
|||
bindClick(item) { |
|||
let title = `确定要将 ${item.licnum} 教练车绑定到您的名下吗?` |
|||
let _this = this |
|||
uni.showModal({ |
|||
title, |
|||
success: function(res) { |
|||
if (res.confirm) { |
|||
_this.coachBindingFn(item) |
|||
} else if (res.cancel) { |
|||
console.log('用户点击取消'); |
|||
} |
|||
} |
|||
}) |
|||
|
|||
|
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.ul { |
|||
padding-top: 20rpx; |
|||
.card { |
|||
padding: 20rpx; |
|||
margin-bottom: 20rpx; |
|||
.name { |
|||
font-size: 28rpx; |
|||
font-weight: 550; |
|||
color: $themC; |
|||
} |
|||
|
|||
.text { |
|||
margin-top: 16rpx; |
|||
font-size: 26rpx; |
|||
color: #333; |
|||
} |
|||
|
|||
.flex-b { |
|||
.text { |
|||
|
|||
} |
|||
|
|||
.btnBg { |
|||
height: 60rpx; |
|||
line-height: 60rpx; |
|||
padding: 0 28rpx; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</style> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue