Browse Source

添加已过科目几的金额计算

master
unknown 5 months ago
parent
commit
8924f0d87c
  1. 3
      common/js/mixins.js
  2. 2
      common/js/utils.js
  3. 5
      config/api.js
  4. 3
      config/request.js
  5. 5
      config/site.config.js
  6. 6
      config/utils.js
  7. 6
      manifest.json
  8. 2
      pages.json
  9. 20
      pages/indexEntry/enroll/payment/payment.vue
  10. 50
      pages/indexEntry/enroll/registInfo/registInfo.vue
  11. 1
      pages/indexEntry/signIn/signAndOut/signAndOut.vue
  12. 4
      pages/mineEntry/myAppointment/comp/opera.vue
  13. 4
      pages/mineEntry/myAppointment/detail/opera.vue
  14. 4
      pages/mineEntry/myOrder/voucher/voucher.vue
  15. 2
      pages/tabbar/learnCar/comp/topInfo.vue
  16. 28
      pages/tabbar/learnCar/index.vue
  17. 8
      pages/userCenter/login/login.vue
  18. 6
      store/modules/user.js

3
common/js/mixins.js

@ -16,6 +16,9 @@ export default {
return { return {
} }
}, },
onload() {
uni.hideLoading()
},
onPullDownRefresh() { onPullDownRefresh() {
setTimeout(()=>{ setTimeout(()=>{
uni.stopPullDownRefresh() uni.stopPullDownRefresh()

2
common/js/utils.js

@ -124,7 +124,7 @@ const install = (Vue, vm) => {
store.commit('goLogin') store.commit('goLogin')
return return
} }
// return vm.$goPage('/pages/indexEntry/enroll/registInfo/registInfo')
return vm.$goPage('/pages/indexEntry/enroll/registInfo/registInfo')
// store.commit('updateNonPlatformStudent', false) // store.commit('updateNonPlatformStudent', false)
if( vm.vuex_userInfo.applyStep<2) { if( vm.vuex_userInfo.applyStep<2) {
vm.$goPage('/pages/indexEntry/enroll/enroll') vm.$goPage('/pages/indexEntry/enroll/enroll')

5
config/api.js

@ -79,7 +79,7 @@ export const areaTree = () => http.get('system/area/tree', )
// 驾照类型 // 驾照类型
export const licenseType = () => http.get('system/dict/licenseType', ) export const licenseType = () => http.get('system/dict/licenseType', )
// 区域 // 区域
export const nachangList = () => http.get('system/area/nachangList', )
export const nachangList = () => http.get('system/area/luoyangList', )
// 线上提交学员报名信息 // 线上提交学员报名信息
export const applyOnline = (data) => http.post('app/student-record/applyOnline', data) export const applyOnline = (data) => http.post('app/student-record/applyOnline', data)
// 人脸核身---获取BizToken // 人脸核身---获取BizToken
@ -216,6 +216,9 @@ export const signDetail = (data) => http.post('business/student/sign/signDetail'
export const periodConfirm = (data) => http.post('app/student-process/periodConfirm', data) export const periodConfirm = (data) => http.post('app/student-process/periodConfirm', data)
// 获得学员动态 // 获得学员动态
export const getStudentDynamics = (data) => http.post('app/student-dynamic/getStudentDynamics', data) export const getStudentDynamics = (data) => http.post('app/student-dynamic/getStudentDynamics', data)
// 根据已过科目计算价格
export const paymentPrice = (data) => http.post('app/student-record/paymentPrice', data)

3
config/request.js

@ -29,7 +29,6 @@ module.exports = (vm) => {
// console.log('--------------') // console.log('--------------')
// console.log(config) // console.log(config)
let token = vm.$store.state.user.vuex_loginInfo.accessToken let token = vm.$store.state.user.vuex_loginInfo.accessToken
console.log(token)
if(token) { if(token) {
config.header.Authorization = 'Bearer ' + token config.header.Authorization = 'Bearer ' + token
} }
@ -60,7 +59,7 @@ module.exports = (vm) => {
if(data.code==401) { if(data.code==401) {
console.log('报401的接口') console.log('报401的接口')
console.log(response.config.url) console.log(response.config.url)
vm.$store.commit('goLogin', true)
return vm.$store.commit('goLogin')
} }
// 自定义参数 // 自定义参数

5
config/site.config.js

@ -2,9 +2,8 @@ const VUE_APP_PLATFORM = process.env.VUE_APP_PLATFORM;
// localIp = false // localIp = false
module.exports = { module.exports = {
H5_API: VUE_APP_PLATFORM === 'h5' ? '/api' : '',//h5代理 H5_API: VUE_APP_PLATFORM === 'h5' ? '/api' : '',//h5代理
// WX_API: VUE_APP_PLATFORM === 'h5' ? '/' : 'http://192.168.1.38:8318/',//非代理地址
WX_API: VUE_APP_PLATFORM === 'h5' ? '/' : 'http://work.lyjppt.com:8099/',//非代理地址
WX_API: VUE_APP_PLATFORM === 'h5' ? '/' : 'http://192.168.1.43:8318/',//非代理地址
// WX_API: VUE_APP_PLATFORM === 'h5' ? '/' : 'http://work.lyjppt.com:8099/',//非代理地址
website: 'http://192.168.1.37', website: 'http://192.168.1.37',
httpPrefix: 'app-api/', httpPrefix: 'app-api/',
imgUrl: 'https://jiangxijiakao-1.oss-cn-hangzhou.aliyuncs.com/defaultImages/app/bigImg/' imgUrl: 'https://jiangxijiakao-1.oss-cn-hangzhou.aliyuncs.com/defaultImages/app/bigImg/'

6
config/utils.js

@ -185,13 +185,14 @@ export function uploadImgApi(filePath, imgName, imgLink='image') {
key: obj.key, key: obj.key,
QrType: obj.QrType QrType: obj.QrType
} }
console.log('***********')
console.log(item)
_this.$store.commit('upDateSchoolClass', {}) _this.$store.commit('upDateSchoolClass', {})
if(obj.QrType==1) { if(obj.QrType==1) {
// 判断是扫教练码来的还是驾校码来的 // 判断是扫教练码来的还是驾校码来的
if(item.id) { if(item.id) {
_this.$store.commit('updateSchool', {}) _this.$store.commit('updateSchool', {})
console.log('扫码结果***********')
console.log(item)
_this.$store.commit('upDateSchoolCoach', item) _this.$store.commit('upDateSchoolCoach', item)
}else { }else {
obj.schoolName = decodeURIComponent(obj.schoolName) obj.schoolName = decodeURIComponent(obj.schoolName)
@ -201,6 +202,7 @@ export function uploadImgApi(filePath, imgName, imgLink='image') {
_this.$u.utils.clickSignUp() _this.$u.utils.clickSignUp()
}else { }else {
// 签到的 // 签到的
_this.$store.commit('upDateSchoolCoach', item)
_this.$goPage('/pages/indexEntry/signIn/signAndOut/signAndOut') _this.$goPage('/pages/indexEntry/signIn/signAndOut/signAndOut')
} }
}else { }else {

6
manifest.json

@ -2,8 +2,8 @@
"name" : "洛阳学车", "name" : "洛阳学车",
"appid" : "__UNI__3347C6E", "appid" : "__UNI__3347C6E",
"description" : "", "description" : "",
"versionName" : "1.1.4",
"versionCode" : 114,
"versionName" : "1.1.5",
"versionCode" : 115,
"transformPx" : false, "transformPx" : false,
/* 5+App */ /* 5+App */
"app-plus" : { "app-plus" : {
@ -69,7 +69,7 @@
"sdkConfigs" : { "sdkConfigs" : {
"share" : { "share" : {
"weixin" : { "weixin" : {
"appid" : "",
"appid" : "wxdfeef42d2a053912",
"UniversalLinks" : "" "UniversalLinks" : ""
} }
}, },

2
pages.json

@ -422,7 +422,7 @@
{ {
"path": "myOrder/voucher/voucher", "path": "myOrder/voucher/voucher",
"style": { "style": {
"navigationBarTitleText": "培训缴费电子凭证",
"navigationBarTitleText": "培训缴费电子凭证666",
// "navigationStyle": "custom", // "navigationStyle": "custom",
"enablePullDownRefresh": true, "enablePullDownRefresh": true,
"backgroundTextStyle": "dark" "backgroundTextStyle": "dark"

20
pages/indexEntry/enroll/payment/payment.vue

@ -5,17 +5,17 @@
<view class="orderInfo"> <view class="orderInfo">
<view class="schoolName">翔力驾校</view> <view class="schoolName">翔力驾校</view>
<view class="price"> <view class="price">
<text class="uint"></text>1000.13
<text class="uint"></text>{{ info.a }}
</view> </view>
<!-- <view class="num">交易单号65465879312</view> --> <!-- <view class="num">交易单号65465879312</view> -->
</view> </view>
<view class="li border"> <view class="li border">
<view class="lab">订单金额</view> <view class="lab">订单金额</view>
<view class="val"> 2000</view>
<view class="val"> {{info.a}}</view>
</view> </view>
<view class="li"> <view class="li">
<view class="lab">订单编号</view> <view class="lab">订单编号</view>
<view class="val">646545645646458</view>
<view class="val">{{info.a}}</view>
</view> </view>
</view> </view>
<view class="card"> <view class="card">
@ -44,7 +44,7 @@
</view> </view>
</view> </view>
<view class="footerBtn pad"> <view class="footerBtn pad">
<view class="btnBg" @click="$goPage('/pages/indexEntry/enroll/paymentSuccess/paymentSuccess')">确认支付</view>
<view class="btnBg" @click="paySubmit">确认支付</view>
</view> </view>
</view> </view>
</view> </view>
@ -56,6 +56,9 @@
data() { data() {
return { return {
trainingApplyId: '', trainingApplyId: '',
info: {
a: '待对接'
}
} }
}, },
onLoad(options) { onLoad(options) {
@ -85,7 +88,8 @@
wxPay() { wxPay() {
// #ifdef APP-PLUS // #ifdef APP-PLUS
this.sweixin ? this.sweixin.launchMiniProgram({ this.sweixin ? this.sweixin.launchMiniProgram({
path: '/pages/payment/payment?tokenCode=' + this.payInfo.tokenCode, // pages/index/index
// path: '/pages/payment/payment?tokenCode=' + this.payInfo.tokenCode, // pages/index/index
path: '/' , // pages/index/index
type: 0, // 0- 1- 2- 0 type: 0, // 0- 1- 2- 0
id: 'gh_012fd4bda1c2' //id id: 'gh_012fd4bda1c2' //id
}) : plus.nativeUI.alert('当前环境不支持微信操作!'); }) : plus.nativeUI.alert('当前环境不支持微信操作!');
@ -94,6 +98,12 @@
async getStudentByPayment() { async getStudentByPayment() {
const {data: res} = await getStudentByPayment({trainingApplyId: this.trainingApplyId}) const {data: res} = await getStudentByPayment({trainingApplyId: this.trainingApplyId})
this.$store.dispatch('getUserInfo') this.$store.dispatch('getUserInfo')
},
paySubmit() {
console.log('这是什么')
console.log(this.sweixin)
this.wxPay()
// this.$goPage('/pages/indexEntry/enroll/paymentSuccess/paymentSuccess')
} }
} }
} }

50
pages/indexEntry/enroll/registInfo/registInfo.vue

@ -165,7 +165,7 @@
<view class="row"> <view class="row">
<view class="lab ">已过科目</view> <view class="lab ">已过科目</view>
<view class="rightCon"> <view class="rightCon">
<view class="row" @click="showSubjectPass=true">
<view class="row" @click="subjectClick">
<view class="val"> <view class="val">
<mySelect :value="form.finishSubjectName"/> <mySelect :value="form.finishSubjectName"/>
</view> </view>
@ -190,12 +190,12 @@
</view> </view>
</view> </view>
<view class="card">
<view class="card" v-if="form.totalAmount">
<view class="row"> <view class="row">
<view class="lab">学费</view> <view class="lab">学费</view>
<view class="rightCon"> <view class="rightCon">
<view class="row"> <view class="row">
<view class="val blue">{{ $u.utils.priceTo(form.totalAmount) }}</view>
<view class="val blue" >{{ $u.utils.priceTo(form.totalAmount) }}</view>
</view> </view>
</view> </view>
</view> </view>
@ -226,7 +226,7 @@
<!-- 待学科目 --> <!-- 待学科目 -->
<u-picker :show="showSubjectTreat" :columns="columnsSubject" keyName="label" @confirm="confirmTreat" @cancel="showSubjectTreat=false"></u-picker> <u-picker :show="showSubjectTreat" :columns="columnsSubject" keyName="label" @confirm="confirmTreat" @cancel="showSubjectTreat=false"></u-picker>
<!-- 城市 --> <!-- 城市 -->
<u-picker :show="showCity" ref="uPicker" :columns="[cityArr]" @confirm="confirmCity" @change="changeHandler" keyName="name"></u-picker>
<u-picker :show="showCity" ref="uPicker" :columns="[cityArr]" @confirm="confirmCity" @change="changeHandler" keyName="name" @cancel="showCity=false"></u-picker>
</view> </view>
</template> </template>
@ -235,7 +235,7 @@
import comfigPopup from './comp/comfigPopup' import comfigPopup from './comp/comfigPopup'
import searchSchool from './comp/searchSchool' import searchSchool from './comp/searchSchool'
import oldDrive from './comp/oldDrive' import oldDrive from './comp/oldDrive'
import { areaTree, applyOnline, schoolClass, getSchoolDetail } from '@/config/api.js'
import { areaTree, applyOnline, schoolClass, getSchoolDetail, paymentPrice } from '@/config/api.js'
import { scanCodeFn } from '@/config/utils.js' import { scanCodeFn } from '@/config/utils.js'
export default { export default {
components: { comfigPopup, searchSchool, oldDrive }, components: { comfigPopup, searchSchool, oldDrive },
@ -289,7 +289,7 @@
}, },
showSchool: false, showSchool: false,
radiolist1: [ {name: '初领', id: 0}, {name: '增驾', id: 1}],//01 radiolist1: [ {name: '初领', id: 0}, {name: '增驾', id: 1}],//01
radiolist2: [ {name: '是', id: 1}, {name: '否', id: 2}],
radiolist2: [{name: '否', id: 2}, {name: '是', id: 1}, ],
radiolist3: [ {name: '全款', id: 1}, {name: '预付款', id: 2}], radiolist3: [ {name: '全款', id: 1}, {name: '预付款', id: 2}],
cityArr: [], cityArr: [],
cityArr2: [], cityArr2: [],
@ -368,7 +368,7 @@
}, },
// //
async schoolClassFn() { async schoolClassFn() {
const {data: res} = await schoolClass({pageNo: 1,pageSize: 100, schoolId: this.form.schoolId})
const {data: res} = await schoolClass({pageNo: 1,pageSize: 100, schoolId: this.form.schoolId, carType: this.form.trainType})
this.columnsClassModel = [res.list] this.columnsClassModel = [res.list]
console.log(this.columnsClassModel) console.log(this.columnsClassModel)
}, },
@ -488,16 +488,25 @@
this.showClassModel = false this.showClassModel = false
this.form.classModel = item.name this.form.classModel = item.name
this.form.schoolClassId = item.id this.form.schoolClassId = item.id
if(this.form.finishSubject&&this.form.transfer==1) {
this.paymentPriceFn()
}else {
this.form.totalAmount = item.totalAmount this.form.totalAmount = item.totalAmount
}
}, },
// //
confirmCar(val) { confirmCar(val) {
let item = val.value[0] let item = val.value[0]
console.log(item) console.log(item)
this.showCar = false this.showCar = false
if(this.form.trainType == item) return
this.form.trainType = item this.form.trainType = item
this.form.coach = '' this.form.coach = ''
this.form.coachId = '' this.form.coachId = ''
this.form.classModel = ''
this.form.schoolClassId = ''
this.form.totalAmount = ''
this.schoolClassFn()
}, },
showCarClick() { showCarClick() {
if(!this.form.school) return this.$u.toast('请先选择驾校') if(!this.form.school) return this.$u.toast('请先选择驾校')
@ -521,13 +530,30 @@
this.showOldDriveModel = false this.showOldDriveModel = false
console.log(val) console.log(val)
}, },
//
subjectClick() {
if(!this.form.schoolClassId) return this.$u.toast('请先选择报名班型,方便计算价格')
this.showSubjectPass=true
},
// //
confirmSubjectPass(val) { confirmSubjectPass(val) {
this.showSubjectPass = false
let item = val.value[0] let item = val.value[0]
if(this.form.finishSubject == item.id) return
this.form.finishSubject = item.id this.form.finishSubject = item.id
this.form.finishSubjectName = item.label this.form.finishSubjectName = item.label
this.showSubjectPass = false
this.paymentPriceFn()
},
//
async paymentPriceFn() {
let obj = {
schoolClassId: this.form.schoolClassId,
finishSubject: this.form.finishSubject
}
const res = await paymentPrice(obj)
if(res.code==0) {
this.form.totalAmount = res.data
}
}, },
// //
confirmTreat(val) { confirmTreat(val) {
@ -577,6 +603,7 @@
}, },
changeVal(val) { changeVal(val) {
console.log(val) console.log(val)
console.log(this.form.transfer)
}, },
// //
confirmClick() { confirmClick() {
@ -590,7 +617,10 @@
console.log(val) console.log(val)
this.showPopup = false this.showPopup = false
if(!val) return false if(!val) return false
const {data: res} = await applyOnline(this.form)
let obj = Object.assign({},this.form)
obj.name = obj.name.replace(/\s+/g, '')
obj.idcard = obj.idcard.replace(/\s+/g, '')
const {data: res} = await applyOnline(obj)
// //
console.log(res) console.log(res)
await this.$store.dispatch('getUserInfo') await this.$store.dispatch('getUserInfo')

1
pages/indexEntry/signIn/signAndOut/signAndOut.vue

@ -107,6 +107,7 @@
if(this.params.type==3) { if(this.params.type==3) {
fn = signOutAuth fn = signOutAuth
} }
console.log('扫码传的参数')
console.log(this.params) console.log(this.params)
const res = await fn(this.params) const res = await fn(this.params)
console.log('第一步校验信息') console.log('第一步校验信息')

4
pages/mineEntry/myAppointment/comp/opera.vue

@ -7,8 +7,8 @@
<view class="schoolName oneRowText">{{item.siteName}}</view> <view class="schoolName oneRowText">{{item.siteName}}</view>
</view> </view>
<view class="status"> <view class="status">
<view class="text" v-if="item.loginStatus==9">已取消</view>
<view class="text" v-else>{{statusTxt[item.loginStatus]}}</view>
<!-- <view class="text" v-if="item.loginStatus==9">已取消</view>
<view class="text" v-else>{{statusTxt[item.loginStatus]}}</view> -->
<view class="icon"> <view class="icon">
<u-icon name="arrow-right" size="14" color="#686B73" style="margin-left: 12rpx;" ></u-icon> <u-icon name="arrow-right" size="14" color="#686B73" style="margin-left: 12rpx;" ></u-icon>
</view> </view>

4
pages/mineEntry/myAppointment/detail/opera.vue

@ -6,8 +6,8 @@
<view class="tag">{{info.subject==2?'科目二实操':info.subject==3?'科目三实操':'不限科目'}}</view> <view class="tag">{{info.subject==2?'科目二实操':info.subject==3?'科目三实操':'不限科目'}}</view>
<view class="schoolName oneRowText">{{info.siteName}}</view> <view class="schoolName oneRowText">{{info.siteName}}</view>
</view> </view>
<view class="text" v-if="info.loginStatus==9">已取消</view>
<view class="text" v-else>{{statusTxt[info.loginStatus]}}</view>
<!-- <view class="text" v-if="info.loginStatus==9">已取消</view>
<view class="text" v-else>{{statusTxt[info.loginStatus]}}</view> -->
</view> </view>
<view class="target"> <view class="target">
<view class="row"> <view class="row">

4
pages/mineEntry/myOrder/voucher/voucher.vue

@ -1,6 +1,6 @@
<template> <template>
<view class="pageBgImg">
<topNavbar title="培训缴费电子凭证"></topNavbar>
<view class="pagebg">
<!-- <topNavbar title="培训缴费电子凭证"></topNavbar> -->
<view class="imgBox" style="width: 100%;"> <view class="imgBox" style="width: 100%;">
<image :src="imgLink" mode="widthFix"></image> <image :src="imgLink" mode="widthFix"></image>
</view> </view>

2
pages/tabbar/learnCar/comp/topInfo.vue

@ -2,7 +2,7 @@
<view class="topInfo card"> <view class="topInfo card">
<view class="user_row"> <view class="user_row">
<view class="avatar"> <view class="avatar">
<image :src="vuex_userInfo.photoPath" mode="widthFix" v-if="vuex_userInfo.photoPath"></image>
<image :src="vuex_userInfo.photoPath" mode="aspectFill" v-if="vuex_userInfo.photoPath"></image>
</view> </view>
<view class="rightTxt"> <view class="rightTxt">
<view style="display: flex;align-items: center;" @click="topClick"> <view style="display: flex;align-items: center;" @click="topClick">

28
pages/tabbar/learnCar/index.vue

@ -42,13 +42,39 @@
this.init() this.init()
}, },
onLoad() { onLoad() {
this.trainProcess()
}, },
onShow() { onShow() {
this.init() this.init()
// this.getStudentProcessFn() // this.getStudentProcessFn()
}, },
methods: { methods: {
async trainProcess() {
await this.$store.dispatch('getUserInfo')
// 01357
let trainProcess = {}
switch(this.vuex_userInfo.trainProcess) {
case 1:
trainProcess = {name: '科目二', id: 2}
break;
case 3:
trainProcess = {name: '科目三', id: 3}
break;
case 5:
trainProcess = {name: '科目四', id: 4}
break;
case 7:
trainProcess = {name: '科目四', id: 4}
break;
default:
trainProcess = {name: '科目一', id: 1}
}
console.log('trainProcess是几啊')
console.log(trainProcess)
console.log(this.vuex_userInfo.trainProcess)
this.changeSubject(trainProcess)
},
init() { init() {
this.token = this.$store.state.user.vuex_loginInfo.accessToken this.token = this.$store.state.user.vuex_loginInfo.accessToken
if(!this.token) return this.$u.toast('请先登录') if(!this.token) return this.$u.toast('请先登录')

8
pages/userCenter/login/login.vue

@ -65,7 +65,7 @@
return uni.$u.test.mobile(this.FormData.phone) return uni.$u.test.mobile(this.FormData.phone)
}, },
btnHighlight() { btnHighlight() {
return this.isPhone&&uni.$u.test.code(this.FormData.code, 4)
return this.isPhone&&this.FormData.code*1>999
} }
}, },
methods: { methods: {
@ -124,11 +124,15 @@
}) })
}else { }else {
const pages = getCurrentPages(); const pages = getCurrentPages();
if(pages.length==1) {
console.log('有几个pages')
console.log(pages)
if(pages.length<1) {
console.log('走首页')
uni.switchTab({ uni.switchTab({
url: '/pages/tabbar/index/index' url: '/pages/tabbar/index/index'
}) })
} }
console.log('走返回')
uni.navigateBack() uni.navigateBack()
} }
}else { }else {

6
store/modules/user.js

@ -31,7 +31,7 @@ const user = {
update_apiOk(state, payload) { update_apiOk(state, payload) {
state.apiOk = payload state.apiOk = payload
}, },
goLogin(state, type) {
goLogin(state) {
uni.clearStorageSync() uni.clearStorageSync()
state.vuex_loginInfo = {} state.vuex_loginInfo = {}
state.vuex_userInfo = {} state.vuex_userInfo = {}
@ -42,10 +42,12 @@ const user = {
console.log('当前页面') console.log('当前页面')
console.log(page) console.log(page)
if(page) uni.setStorageSync('login_front', page) if(page) uni.setStorageSync('login_front', page)
setTimeout(()=>{
uni.navigateTo({ uni.navigateTo({
url url
}) })
},500)
} }
}, },

Loading…
Cancel
Save