unknown 4 months ago
parent
commit
5ea3b7d799
  1. 1
      common/js/uniExport.js
  2. 33
      common/js/utils.js
  3. 3
      config/api.js
  4. 2
      config/request.js
  5. 4
      pages/carEntry/examineAppointment/examineAppointment.vue
  6. 10
      pages/carEntry/simulateAppointment/simulateAppointment.vue
  7. 2
      pages/indexEntry/enroll/registInfo/comp/comfigPopup.vue
  8. 24
      pages/indexEntry/enroll/registInfo/registInfo.vue
  9. 20
      pages/indexEntry/findShcool/findShcool.vue
  10. 5
      pages/indexEntry/findShcool/shcoolDetail/comp/tab1.vue
  11. 2
      pages/indexEntry/findShcool/shcoolDetail/comp/tab3.vue
  12. 5
      pages/mineEntry/myAppointment/myAppointment.vue
  13. 33
      pages/mineEntry/myForecastName/myForecastName.vue
  14. 7
      pages/mineEntry/myOrder/myOrder.vue
  15. 16
      pages/tabbar/index/index.vue
  16. 6
      pages/tabbar/learnCar/comp/subject3.vue
  17. 165
      pages/tabbar/learnCar/index - 副本.vue
  18. 18
      pages/tabbar/learnCar/index.vue
  19. 2
      pages/userCenter/login/login.vue

1
common/js/uniExport.js

@ -1,4 +1,3 @@
export let goPage = (url, params={}, type='navigateTo')=> {
uni.$u.route({
url,

33
common/js/utils.js

@ -12,7 +12,7 @@ const install = (Vue, vm) => {
// 距离换算
const distanceFn = (val) => {
if(!val) return
if(!val) return 0
if (val * 1 < 1000) {
return val.toFixed(2) + '米'
} else {
@ -107,8 +107,34 @@ const install = (Vue, vm) => {
if (text.length > maxLength) {
return text.substring(0, maxLength) + "...";
}
return text;
return text
}
let goPage = (url, params={}, type='navigateTo')=> {
uni.$u.route({
url,
params,
type
})
}
let clickSignUp = ()=> {
let accessToken = store.state.user.vuex_loginInfo.accessToken
if(!accessToken) {
store.commit('goLogin')
return
}
store.commit('updateNonPlatformStudent', false)
if( vm.vuex_userInfo.applyStep<2) {
vm.$goPage('/pages/indexEntry/enroll/enroll')
}
// 去填表
if( vm.vuex_userInfo.applyStep&& vm.vuex_userInfo.applyStep<5) {
return vm.$goPage('/pages/indexEntry/enroll/registInfo/registInfo')
}
}
@ -120,7 +146,8 @@ const install = (Vue, vm) => {
distanceFn,
getDate,
callPhone,
truncateText
truncateText,
clickSignUp
}
}

3
config/api.js

@ -168,6 +168,9 @@ export const getDriveProcessDetails = (params={}) => http.get('app/student-recor
export const getStudentProcess = (params={}) => http.get('app/student-process/getStudentProcess', {params})
// 获得预报名记录列表
export const trainingApplyList = (params={}) => http.get('app/training-apply/list', {params})
// 删除预报名记录
export const trainingApplyDelete = (params={}) => http.delete('app/training-apply/delete?id='+params.id, )

2
config/request.js

@ -16,7 +16,7 @@ module.exports = (vm) => {
config.baseURL = H5_API+ WX_API + prefix; /* 根域名 */
console.log(config.baseURL)
// config.header['content-type'] = 'application/x-www-form-urlencoded; charset=UTF-8'
config.header['tenant-id'] = '1704459882232553474'
// config.header['tenant-id'] = '1704459882232553474'
// config.header['tenant-id'] = vm.$store.state.user.vuex_userInfo.tenantId || '1704459882232553474'
return config
})

4
pages/carEntry/examineAppointment/examineAppointment.vue

@ -1,6 +1,6 @@
<template>
<view class="pageBgImg">
<topNavbar title="考场模拟训练预约"></topNavbar>
<topNavbar :title="`考场模拟训练科目${FormData.subject}预约`"></topNavbar>
<view class="pad">
<view class="top_row">
<view class="step_row">
@ -72,7 +72,7 @@
},
siteList: [],
carList: [],
carTotal: 20
carTotal: 20,
}
},
onLoad(options) {

10
pages/carEntry/simulateAppointment/simulateAppointment.vue

@ -34,7 +34,7 @@
import step1 from './comp/step1'
import step2 from './comp/step2'
import step3 from './comp/step3'
import { simulationDevices, simulationPoint, simulationClass } from '@/config/api.js'
import { simulationDevices, simulationPoint, } from '@/config/api.js'
export default {
components: { step1, step2, step3 },
data() {
@ -71,20 +71,12 @@
choosePoint(item) {
this.FormData.pointName = item.pointName
this.FormData.pointId = item.id
// this.simulationClassFn()
},
//
async simulationPointFn() {
const {data: res} = await simulationPoint({schoolId: this.vuex_userInfo.schoolId,lat: this.vuex_cityInfo.lat,lng: this.vuex_cityInfo.lng})
this.list1 = res
},
async simulationClassFn() {
let obj = { "pointId": this.FormData.pointId, "trainType": this.FormData.trainType, "classDate": "2023-11-01", "studentId": this.FormData.studentId}
const {data: res} = await simulationClass(obj)
},
async simulationDevicesFn() {
const {data: res} = await simulationDevices()
}
}
}
</script>

2
pages/indexEntry/enroll/registInfo/comp/comfigPopup.vue

@ -31,7 +31,7 @@
</view>
<view class="li">
<view class="lab">支付形式</view>
<view class="val">xxx</view>
<view class="val">{{ info.payType==1?'全款':'预付款'}}</view>
</view>
<view class="li">
<view class="lab">待支付金额</view>

24
pages/indexEntry/enroll/registInfo/registInfo.vue

@ -130,7 +130,7 @@
<view class="lab">是否异地转入</view>
<view class="rightCon" style="margin-left: 40rpx;">
<u-radio-group
v-model="form.radiovalue2"
v-model="form.transfer"
@change="changeVal"
>
<u-radio
@ -146,7 +146,7 @@
</view>
</view>
<view class="card" v-if="form.radiovalue2==1">
<view class="card" v-if="form.transfer==1">
<view class="row" @click="cityShowFn">
<view class="lab">来源城市</view>
<view class="rightCon">
@ -178,7 +178,7 @@
<view class="rightCon">
<view class="row" @click="showSubjectTreat=true">
<view class="val">
<mySelect :value="form.subjectTreat"/>
<mySelect :value="form.waitSubject"/>
</view>
<view class="arrow">
<u-icon name="arrow-right" size="14" color="#686B73" style="margin-left: 12rpx;" ></u-icon>
@ -312,12 +312,12 @@
applyType: 1,
name: '',
oldTrainType: '',//
subjectPass: '',
subjectTreat: '',
finishSubject: '',//
waitSubject: '',//
photoPath: '123.png',
address: '',
totalAmount: 0,
radiovalue2: 2, //
transfer: 2, //
businessType: 0,
fromArea: '',//
@ -433,7 +433,7 @@
},
// columnIndexvaluevalues
confirmCity(e) {
console.log('confirm', e)
console.log('confirm', e)
this.form.fromArea = e.value.map((item)=>{
return item.name
}).join(',').replace(/,/g, '-')
@ -494,8 +494,12 @@
this.form.school = item.name
this.form.schoolId = item.id
this.columnsCar = [item.businessScope.split(',')]
console.log('驾校id')
console.log(item.id)
this.form.classModel = ''
this.form.schoolClassId = ''
this.form.trainType = ''
this.form.coach = ''
this.form.coachId = ''
this.form.totalAmount = ''
this.showSchool = false
this.schoolClassFn()
},
@ -545,7 +549,7 @@
//
confirmTreat(val) {
let item = val.value[0]
this.form.subjectTreat = item.label
this.form.waitSubject = item.label
this.showSubjectTreat = false
},
//

20
pages/indexEntry/findShcool/findShcool.vue

@ -115,7 +115,13 @@
},
//
async schoolPageFn() {
const {data: res} = await schoolPage(this.params)
let obj = {}
for(let key in this.params) {
if(this.params[key]) {
obj[key] = this.params[key]
}
}
const {data: res} = await schoolPage(obj)
this.params.pageNo ++
this.listData.push(...res.list)
this.total = res.total
@ -132,24 +138,25 @@
min-height: 100vh;
background-size: 100% 392rpx;
.searchCon {
padding: 0 0 24rpx 0;
padding: 0 0 14rpx 0;
}
.navBox {
display: flex;
justify-content: space-between;
padding-bottom: 48rpx;
padding-bottom: 30rpx;
.tab {
display: flex;
font-size: 28rpx;
color: #fff;
height: 80rpx;
line-height: 80rpx;
&.active {
position: relative;
&::before {
content: '';
position: absolute;
bottom: -14rpx;
bottom: 6rpx;
left: 50%;
transform: translateX(-50%);
width: 50rpx;
@ -171,10 +178,11 @@
content: '';
position: absolute;
left: 0;
top: 10rpx;
top: 50%;
width: 1px;
background: #fff;
height: 26rpx;
transform: translateY(-50%);
}
.txt {

5
pages/indexEntry/findShcool/shcoolDetail/comp/tab1.vue

@ -17,12 +17,9 @@
props: ['classList'],
methods: {
async goSign(item) {
const res = await this.$store.dispatch('checkLogin')
if(!res) return
this.$store.commit('upDateSchoolCoach', {})
this.$store.commit('upDateSchoolClass', item)
this.$goPage('/pages/indexEntry/enroll/enroll')
// console.log(this.$store.state.school.schoolCoach)
this.$u.utils.clickSignUp()
}
}
}

2
pages/indexEntry/findShcool/shcoolDetail/comp/tab3.vue

@ -45,7 +45,7 @@
goPageSign(item) {
this.$store.commit('upDateSchoolClass', {})
this.$store.commit('upDateSchoolCoach', item)
this.$goPage('/pages/indexEntry/enroll/enroll')
this.$u.utils.clickSignUp()
},
handleImageError(item) {
item.photoPath = require('@/static/images/index/avatar.png')

5
pages/mineEntry/myAppointment/myAppointment.vue

@ -201,6 +201,9 @@
padding: 24rpx 0 40rpx 0;
color: $themC;
.nav {
height: 80rpx;
line-height: 80rpx;
padding: 0 20rpx;
&.active {
font-weight: 500;
position: relative;
@ -208,7 +211,7 @@
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: -20rpx;
bottom: 0;
content: '';
width: 56rpx;
height: 6rpx;

33
pages/mineEntry/myForecastName/myForecastName.vue

@ -5,14 +5,14 @@
<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="tps">{{ item.applyStep==3?'点击进入签约合同':'预报名成功,待支付'}}</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')}}
{{$u.timeFormat(item.applyDate, 'yyyy-mm-dd hh:MM:ss')}}
</view>
<view class="deleteBtn" @click.stop="deleteFn(item)">
<view class="deleteBtn" @click.stop="deleteFn(item.trainingApplyId)">
删除
</view>
</view>
@ -25,17 +25,11 @@
</template>
<script>
import { trainingApplyList } from "@/config/api.js"
import { trainingApplyList, trainingApplyDelete } from "@/config/api.js"
export default {
data() {
return {
params: {
pageIndex: 1,
pageSize: 20,
},
list: [
{applyStatus: 0, schoolName: '翔力驾校'}
],
list: [],
status: 'loadmore',
}
},
@ -46,6 +40,21 @@
async trainingApplyListFn() {
const {data: res} = await trainingApplyList({studentId: this.studentId})
this.list = res
},
async deleteFn(id) {
const res = await trainingApplyDelete({id})
if(res.code==0) {
this.$u.toast('删除成功')
}
this.trainingApplyListFn()
console.log(res)
},
itemClickFn(item) {
if(item.applyStep==3) {
this.$goPage('/pages/indexEntry/enroll/signContract/signContract?schoolId='+item.trainingSchoolId)
}else if(item.applyStep==4) {
return this.$goPage('/pages/indexEntry/enroll/payment/payment')
}
}
}
}
@ -73,7 +82,7 @@
width: 100%;
padding: 20rpx;
border-bottom: 1px solid #ededed;
margin-bottom: 24rpx;
&:last-child {
border: none;
}

7
pages/mineEntry/myOrder/myOrder.vue

@ -156,9 +156,12 @@
justify-content: space-between;
color: #fff;
font-size: 28rpx;
padding: 24rpx 30rpx 40rpx 30rpx;
padding: 10rpx 30rpx 24rpx 30rpx;
color: $themC;
.nav {
height: 80rpx;
line-height: 80rpx;
padding: 0 20rpx;
&.active {
font-weight: 500;
position: relative;
@ -166,7 +169,7 @@
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: -20rpx;
bottom: 6rpx;
content: '';
width: 56rpx;
height: 6rpx;

16
pages/tabbar/index/index.vue

@ -297,21 +297,7 @@
methods: {
async entrySectionClick(item) {
if(item.text=='我要报名') {
// return this.$goPage('/pages/indexEntry/enroll/signContract/signContract')
let token = this.$store.state.user.vuex_loginInfo.accessToken
if(!token) {
this.$store.commit('goLogin')
return
}
// this.$goPage(item.url)
this.$store.commit('updateNonPlatformStudent', false)
if(this.vuex_userInfo.applyStep<2) {
this.$goPage('/pages/indexEntry/enroll/enroll')
}
//
if(this.vuex_userInfo.applyStep>1&&this.vuex_userInfo.applyStep6<5) {
return this.$goPage('/pages/indexEntry/enroll/registInfo/registInfo')
}
return this.$u.utils.clickSignUp()
}
if(item.text=='找驾驶馆') {
const res = await this.$store.dispatch('checkLogin')

6
pages/tabbar/learnCar/comp/subject3.vue

@ -12,7 +12,7 @@
<view class="card mb0">
<view class="flex-b">
<view class="lab">考场模拟训练</view>
<view class="btn" @click="$goPage('/pages/carEntry/examineAppointment/examineAppointment')">去预约</view>
<view class="btn" @click="$goPage('/pages/carEntry/examineAppointment/examineAppointment?subject=3')">去预约</view>
</view>
</view>
</view>
@ -35,7 +35,7 @@
<view class="flex-b bg">
<view class="row">
<view class="text">考试成绩100</view>
<view class="btn" @click.stop="$goPage('/pages/carEntry/evaluate/evaluate?subject=2')">去评价</view>
<view class="btn" @click.stop="$goPage('/pages/carEntry/evaluate/evaluate?subject=3')">去评价</view>
</view>
</view>
</view>
@ -60,7 +60,7 @@
</view>
<view class="flex-b bg">
<view class="row oneBtn">
<view class="btn" @click.stop="$goPage('/pages/carEntry/evaluate/evaluate?tit=考场模拟老师&coachType=2')">去评价</view>
<view class="btn" @click.stop="$goPage('/pages/carEntry/evaluate/evaluate?tit=考场模拟老师&coachType=3')">去评价</view>
</view>
</view>
</view>

165
pages/tabbar/learnCar/index - 副本.vue

@ -1,165 +0,0 @@
<template>
<view class="content pageBgImg">
<view style="width: 100%;height: 40rpx;"></view>
<view class="status_bar"></view>
<view class="title">江西驾考公共服务平台</view>
<view class="navCard">
<view class="nav_row">
<view class="nav " v-for="(item,index) in navData" :key="index" :class="{active: item.id==currentNav}" @click="changeNav(item.id)">{{ item.text }}</view>
</view>
<view class="time_row">
<view class="time_item">
<view class="lab">应完成学时</view>
<view class="num">100分钟</view>
</view>
<view class="time_item">
<view class="lab">已完成学时</view>
<view class="num">30分钟</view>
<view class="shareTime">*与科目一学时共享</view>
</view>
</view>
<view class="subject3" v-if="currentNav==3">
<view class="chain left">
<image src="@/static/images/index/chain.png" mode=""></image>
</view>
<view class="chain right">
<image src="@/static/images/index/chain.png" mode=""></image>
</view>
<view class="time_row ">
<view class="time_item">
<view class="lab">应完成里程</view>
<view class="num">50km</view>
</view>
<view class="time_item">
<view class="lab">已完成里程</view>
<view class="num">0km</view>
</view>
</view>
</view>
</view>
<subject0 v-show="currentNav==0"/>
<subject1 v-show="currentNav==1"/>
<subject2 v-show="currentNav==2"/>
<subject3 v-show="currentNav==3"/>
<subject4 v-show="currentNav==4"/>
</view>
</template>
<script>
import subject0 from './comp/subject0'
import subject1 from './comp/subject1'
import subject2 from './comp/subject2'
import subject3 from './comp/subject3'
import subject4 from './comp/subject4'
export default {
components: { subject0, subject1, subject2, subject3, subject4 },
data() {
return {
navData: [
{text: '模拟器', id: 0},
{text: '科目一', id: 1},
{text: '科目二', id: 2},
{text: '科目三', id: 3},
{text: '科目四', id: 4},
],
currentNav: 0
}
},
onLoad() {
},
onShow() {
// uni.hideTabBar();
},
methods: {
changeNav(id) {
this.currentNav = id
}
}
}
</script>
<style lang="scss" scoped>
.content {
width: 100vw;
min-height: 100vh;
// background: url('../../../static/images/bigImg/topbg.png') #F6F6F6 no-repeat;
background-size: 100% 362rpx;
padding: 0 32rpx 32rpx 32rpx;
.title {
font-size: 36rpx;
font-weight: 600;
color: #fff;
padding: 10rpx 0 48rpx 0rpx;
}
.navCard {
.nav_row {
display: flex;
justify-content: space-between;
.nav {
width: 19.4%;
height: 86rpx;
background: rgba(255,255,255,0.4);
border-radius: 8rpx 8rpx 0px 0px;
font-size: 28rpx;
color: #fff;
line-height: 86rpx;
text-align: center;
&.active {
background: #FFFFFF;
color: $themC;
}
}
}
.subject3 {
padding-top: 32rpx;
position: relative;
.chain {
width: 28rpx;
height: 100rpx;
position: absolute;
top: -34rpx;
&.left {
left: 60rpx;
}
&.right {
right: 60rpx !important;
}
}
}
.time_row {
display: flex;
height: 240rpx;
padding: 32rpx;
align-items: center;
justify-content: center;
background: #fff;
border-radius: 0 0 8rpx 8rpx;
.time_item {
flex: 1;
text-align: center;
position: relative;
.lab {
font-size: 28rpx;
color: #333;
}
.num {
font-size: 40rpx;
font-weight: 600;
color: $themC;
margin-top: 20rpx;
}
.shareTime {
font-size: 20rpx;
color: $themC;
position: absolute;
bottom: -40rpx;
left: 0;
width: 100%;
}
}
}
}
}
</style>

18
pages/tabbar/learnCar/index.vue

@ -1,5 +1,6 @@
<template>
<view class="content pageBgImg">
<view style="width: 100%;height: 40rpx;"></view>
<view class="status_bar"></view>
<view class="title">江西驾考公共服务平台</view>
@ -37,11 +38,16 @@
</view>
</view>
</view>
<subject0 v-show="currentNav==0"/>
<subject1 v-show="currentNav==1"/>
<subject2 v-show="currentNav==2"/>
<subject3 v-show="currentNav==3"/>
<subject4 v-show="currentNav==4"/>
<view class="haveToken" v-if="studentId">
<subject0 v-show="currentNav==0"/>
<subject1 v-show="currentNav==1"/>
<subject2 v-show="currentNav==2"/>
<subject3 v-show="currentNav==3"/>
<subject4 v-show="currentNav==4"/>
</view>
<view class="noDate" v-else>
<nodata><text>暂无数据您还未报名</text></nodata>
</view>
</view>
</template>
@ -69,7 +75,7 @@
},
onShow() {
// console.log('')
this.$store.dispatch('checkLogin')
// this.$store.dispatch('checkLogin')
},
methods: {
changeNav(id) {

2
pages/userCenter/login/login.vue

@ -4,7 +4,9 @@
<image src="../../../static/images/userCenter/loginTitle.png" mode=""></image>
</view>
<view class="btnCon">
<!-- #ifdef MP-WEIXIN -->
<view class="btn" @click="getPhoneNumber">手机号快捷登录 <button open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" class="hide" v-if="isCheck">手机号</button> </view>
<!-- #endif -->
<view class="btn border" @click="$goPage('/pages/userCenter/login/loginByPhone');">手机号登录/注册</view>
</view>
<view style="margin-top: 40rpx;">

Loading…
Cancel
Save