0407-2
This commit is contained in:
parent
02dde0928f
commit
a81983c192
@ -75,12 +75,14 @@
|
||||
import request from "@/utils/request";
|
||||
import config from "@/config.js"
|
||||
import {getLocalUserInfo, getUserInfo} from "@/utils/auth";
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
courseId: undefined,
|
||||
tenantId: undefined,
|
||||
courseDetails: [],
|
||||
driveSchoolPhone: [],
|
||||
imagesUrl: config.imagesUrl,
|
||||
userDetails: [],
|
||||
};
|
||||
@ -91,6 +93,7 @@ export default {
|
||||
console.log(options)
|
||||
this.getCourseDetails();
|
||||
this.userDetails = getLocalUserInfo();
|
||||
this.getServicePhone()
|
||||
console.log('123123', this.userDetails)
|
||||
},
|
||||
methods: {
|
||||
@ -116,9 +119,23 @@ export default {
|
||||
},
|
||||
zxkf() {
|
||||
uni.makePhoneCall({
|
||||
phoneNumber: '18888888888'
|
||||
phoneNumber: this.driveSchoolPhone.phone
|
||||
});
|
||||
},
|
||||
getServicePhone() {
|
||||
request({
|
||||
url: '/app-api/dl-drive-school-course-small/getServicePhone',
|
||||
method: 'GET',
|
||||
params: {
|
||||
tenantId: this.tenantId,
|
||||
}
|
||||
}).then(res => {
|
||||
this.driveSchoolPhone = res.data
|
||||
console.log('客服电话res', res)
|
||||
console.log('客服电话1', this.driveSchoolPhone)
|
||||
console.log('客服电话2', this.driveSchoolPhone.phone)
|
||||
})
|
||||
},
|
||||
|
||||
goRegisterNow() {
|
||||
uni.navigateTo({
|
||||
|
@ -18,7 +18,8 @@
|
||||
scroll-y
|
||||
:style="{ height: scrollHeight + 'px' }"
|
||||
>
|
||||
<view class="group_6 flex-col" v-for="(item, index) in schoolAllClassList" :key="index" @click="goToDetail(item.id)">
|
||||
<view class="group_6 flex-col" v-for="(item, index) in schoolAllClassList" :key="index"
|
||||
@click="goToDetail(item.id)">
|
||||
<view class="image-text_1 flex-row">
|
||||
<image
|
||||
class="image_2"
|
||||
|
@ -31,7 +31,8 @@
|
||||
<text class="text-group_2">{{ info.coachName }}</text>
|
||||
</view>
|
||||
<view style="display: flex; align-items: center;">
|
||||
<u-rate active-color="#EAA140" v-model="info.rate" allowHalf inactive-color="#b2b2b2" @change="changeRate"></u-rate>
|
||||
<u-rate active-color="#EAA140" v-model="info.rate" allowHalf inactive-color="#b2b2b2"
|
||||
@change="changeRate"></u-rate>
|
||||
<text style="margin-left: 5rpx;color:#E1A652;">{{ info.rate }}</text>
|
||||
</view>
|
||||
</view>
|
||||
@ -107,7 +108,8 @@ export default {
|
||||
console.log(this.info)
|
||||
},
|
||||
methods: {
|
||||
changeRate(){},
|
||||
changeRate() {
|
||||
},
|
||||
submit() {
|
||||
// 判断评分、评价不能为空
|
||||
if (this.info.rate === 0.0 || this.info.serviceEvaluate === '' || this.info.technologyEvaluate === '') {
|
||||
@ -146,6 +148,7 @@ export default {
|
||||
<style lang='scss'>
|
||||
@import '../common/common.scss';
|
||||
@import './assets/style/index.rpx.scss';
|
||||
|
||||
.bottom_ {
|
||||
//固定在底部
|
||||
position: fixed;
|
||||
|
@ -20,7 +20,8 @@
|
||||
<view class="image-text_1 flex-row justify-between">
|
||||
|
||||
<view>
|
||||
<u-picker v-model="process.examStatus" :show="show" :columns="ifPassColumns" title="是否通过" @confirm="ifPassOnConfirm" @cancel="show = false">
|
||||
<u-picker v-model="process.examStatus" :show="show" :columns="ifPassColumns" title="是否通过"
|
||||
@confirm="ifPassOnConfirm" @cancel="show = false">
|
||||
</u-picker>
|
||||
<text class="text-group_2">{{ selectedValue || '请选择' }}</text>
|
||||
</view>
|
||||
@ -36,7 +37,8 @@
|
||||
v-model="process.examScore"
|
||||
maxlength="3"
|
||||
inputAlign="right"
|
||||
>分</u--input>
|
||||
>分
|
||||
</u--input>
|
||||
</view>
|
||||
</view>
|
||||
<view class="text-wrapper_8 flex-row justify-between">
|
||||
@ -49,7 +51,9 @@
|
||||
@confirm="onConfirmExamTime"
|
||||
@cancel="showTimePicker = false"
|
||||
></u-datetime-picker>
|
||||
<text class="text_3" @click="showTimePicker = true">{{ process.examTime ? formatDate(process.examTime) : '选择时间' }}</text>
|
||||
<text class="text_3" @click="showTimePicker = true">
|
||||
{{ process.examTime ? formatDate(process.examTime) : '选择时间' }}
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="text-wrapper_9 flex-row justify-between">
|
||||
@ -69,10 +73,12 @@
|
||||
<text class="text_9" v-if="process.subject != 2 && process.subject != 3">{{ courseType }}</text>
|
||||
<text class="text_9" v-else>{{ opCourseType }}</text>
|
||||
</view>
|
||||
<view class="text-wrapper_11 flex-row justify-between" @click="subjectShow = true" v-if="process.subject != 2 && process.subject != 3">
|
||||
<view class="text-wrapper_11 flex-row justify-between" @click="subjectShow = true"
|
||||
v-if="process.subject != 2 && process.subject != 3">
|
||||
<text class="text_10">考试科目</text>
|
||||
<view>
|
||||
<u-picker v-model="process.subject" :show="subjectShow" :columns="subjectColumns" title="科目" @confirm="subjectOnConfirm" @cancel="subjectShow = false">
|
||||
<u-picker v-model="process.subject" :show="subjectShow" :columns="subjectColumns" title="科目"
|
||||
@confirm="subjectOnConfirm" @cancel="subjectShow = false">
|
||||
</u-picker>
|
||||
<text class="text-group_2">{{ subjectValue || '请选择科目' }}</text>
|
||||
</view>
|
||||
@ -104,6 +110,7 @@
|
||||
import upload from '@/utils/upload.js'
|
||||
import request from '@/utils/request.js'
|
||||
import {getLocalUserInfo} from '../../utils/auth';
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
|
@ -3,7 +3,6 @@
|
||||
<view class="box_1 flex-row">
|
||||
|
||||
|
||||
|
||||
</view>
|
||||
<view class="box_4 flex-col">
|
||||
<view class="box_5 flex-row">
|
||||
@ -103,6 +102,7 @@
|
||||
</template>
|
||||
<script>
|
||||
import request from '@/utils/request.js'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
|
@ -133,6 +133,7 @@
|
||||
getLocalUserInfo,
|
||||
getToken
|
||||
} from '@/utils/auth'
|
||||
|
||||
export default {
|
||||
|
||||
data() {
|
||||
|
@ -1,7 +1,8 @@
|
||||
<template>
|
||||
<view class="page flex-col">
|
||||
<view class="top_">
|
||||
<u-swiper class="lunbo_" :list="swiperList" keyName="swiperPicture" radius="10" height="300" indicator indicatorMode="line"></u-swiper>
|
||||
<u-swiper class="lunbo_" :list="swiperList" keyName="swiperPicture" radius="10" height="300" indicator
|
||||
indicatorMode="line"></u-swiper>
|
||||
</view>
|
||||
<view class="section_2 flex-col">
|
||||
<view class="list_1 flex-row">
|
||||
@ -51,7 +52,8 @@
|
||||
<!-- 使用 scroll-view 包裹 SchoolInfo 组件 -->
|
||||
<scroll-view class="school-scroll-view" scroll-y @scrolltolower="onReachBottomCus"
|
||||
refresher-enabled @refresherrefresh="onRefresherrefresh" :refresher-triggered="isTriggered">
|
||||
<SchoolInfo style="" v-for="(school, index) in schoolList" :key="index" :schoolInfo="school" @click="goSchoolDetail(school)"/>
|
||||
<SchoolInfo style="" v-for="(school, index) in schoolList" :key="index" :schoolInfo="school"
|
||||
@click="goSchoolDetail(school)"/>
|
||||
</scroll-view>
|
||||
</view>
|
||||
|
||||
@ -275,6 +277,7 @@ export default {
|
||||
flex-direction: column;
|
||||
row-gap: 20rpx;
|
||||
}
|
||||
|
||||
.top_ {
|
||||
//padding-top: 200rpx;
|
||||
}
|
||||
|
@ -19,12 +19,18 @@
|
||||
class="scroll-view"
|
||||
scroll-y
|
||||
:style="{ height: scrollHeight + 'px' }"
|
||||
@scrolltolower="loadMoreData"
|
||||
:refresher-enabled="true"
|
||||
:refresher-triggered="isRefreshing"
|
||||
@refresherrefresh="onRefresherrefresh"
|
||||
>
|
||||
<view class="list-items_1 flex-col" v-for="(item, index) in orderList" :key="index">
|
||||
<view class="box_6 flex-row justify-between">
|
||||
<text class="text_2">订单号: {{item.orderNo}}</text>
|
||||
<view class="text-wrapper_1 flex-col" :style="{ background: statusMap[item.paymentStatus].background }">
|
||||
<text class="text_3" :style="{ color: statusMap[item.paymentStatus].color }">{{ statusMap[item.paymentStatus].name}}</text>
|
||||
<text class="text_3" :style="{ color: statusMap[item.paymentStatus].color }">{{
|
||||
statusMap[item.paymentStatus].name}}
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box_7 flex-row">
|
||||
@ -32,7 +38,8 @@
|
||||
<image
|
||||
class="image_3"
|
||||
referrerpolicy="no-referrer"
|
||||
src='/static/lanhu_shouye2gai/FigmaDDSSlicePNG530e91ec069b391e8972e9ed0aeebc58.png'
|
||||
:src="imageUrl + '/' + item.photo"
|
||||
|
||||
/>
|
||||
<view class="text-group_1 flex-col justify-between">
|
||||
<text class="text_4">{{item.courseName}}</text>
|
||||
@ -42,10 +49,10 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="text-wrapper_3 flex-col">
|
||||
<text class="text_7" >{{item.courseType}}</text>
|
||||
<text class="text_7">{{typeFormat(item.type).code}}</text>
|
||||
</view>
|
||||
<view class="text-wrapper_4 flex-col">
|
||||
<text class="text_8" >{{item.courseType}}</text>
|
||||
<text class="text_8">{{typeFormat(item.type).desc}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -92,9 +99,11 @@
|
||||
</template>
|
||||
<script>
|
||||
import request from '@/utils/request.js'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
imageUrl: this.$imagesUrl,
|
||||
loopData0: [
|
||||
{
|
||||
lanhutext0: '订单号:44782938752039585',
|
||||
@ -143,6 +152,11 @@ export default {
|
||||
orderList: [],
|
||||
constants: {},
|
||||
courseDetails: {},
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
loading: false,
|
||||
isRefreshing: false,
|
||||
statusMap: {
|
||||
5: {name: '已完成', background: 'rgba(255,228,228,1)', color: 'rgba(237,58,58,1)'},
|
||||
4: {name: '已面签', background: 'rgba(255,228,228,1)', color: 'rgba(237,58,58,1)'},
|
||||
@ -183,7 +197,35 @@ export default {
|
||||
delta: 1
|
||||
});
|
||||
},
|
||||
getUserOrderDetails(paymentStatus) {
|
||||
|
||||
/**
|
||||
* 上滑加载数据
|
||||
*/
|
||||
loadMoreData() {
|
||||
// 如果正在加载或没有更多数据,则直接返回
|
||||
if (this.loading || this.pageNo * this.pageSize >= this.total) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.loading = true;
|
||||
this.pageNo++;
|
||||
|
||||
this.getUserOrderDetails(this.orderType, false);
|
||||
},
|
||||
/**
|
||||
* 下拉刷新数据
|
||||
*/
|
||||
onRefresherrefresh() {
|
||||
if (this.isRefreshing) return;
|
||||
|
||||
this.isRefreshing = true;
|
||||
// 重置页码
|
||||
this.pageNo = 1;
|
||||
|
||||
this.getUserOrderDetails(this.orderType, true);
|
||||
},
|
||||
|
||||
/* getUserOrderDetails(paymentStatus) {
|
||||
console.log(paymentStatus)
|
||||
console.log(this.userId)
|
||||
request({
|
||||
@ -198,10 +240,53 @@ export default {
|
||||
this.orderList = res.data.records;
|
||||
console.log('订单信息',res.data)
|
||||
});
|
||||
}, */
|
||||
|
||||
getUserOrderDetails(paymentStatus, isRefresh = false) {
|
||||
if (!isRefresh && this.loading) return;
|
||||
|
||||
request({
|
||||
url: '/app-api/small/drive/school-course-order/page',
|
||||
method: 'GET',
|
||||
params: {
|
||||
userId: this.userId,
|
||||
paymentStatus: paymentStatus,
|
||||
pageNo: this.pageNo,
|
||||
pageSize: this.pageSize
|
||||
},
|
||||
tenantIdFlag: false
|
||||
}).then(res => {
|
||||
if (isRefresh) {
|
||||
// 下拉刷新,替换原有数据
|
||||
this.orderList = res.data.records;
|
||||
this.isRefreshing = false;
|
||||
// 停止下拉刷新动画
|
||||
uni.stopPullDownRefresh();
|
||||
} else if (this.pageNo === 1) {
|
||||
// 首次加载或切换tab
|
||||
this.orderList = res.data.records;
|
||||
} else {
|
||||
// 上拉加载更多,追加数据
|
||||
this.orderList = [...this.orderList, ...res.data.records];
|
||||
}
|
||||
|
||||
this.total = res.data.total;
|
||||
this.loading = false;
|
||||
|
||||
console.log('订单信息', res.data);
|
||||
}).catch(err => {
|
||||
this.loading = false;
|
||||
this.isRefreshing = false;
|
||||
if (isRefresh) {
|
||||
uni.stopPullDownRefresh();
|
||||
}
|
||||
console.error('获取订单失败', err);
|
||||
});
|
||||
},
|
||||
changeOrderType(orderType, type) {
|
||||
this.orderType = orderType;
|
||||
this.type = type;
|
||||
this.pageNo = 1;
|
||||
console.log('type', type)
|
||||
console.log('orderType', orderType)
|
||||
this.getUserOrderDetails(orderType); // 切换 Tab 时重新请求数据
|
||||
@ -236,6 +321,23 @@ export default {
|
||||
const tabWidth = uni.getSystemInfoSync().windowWidth / 4; // 假设有 4 个选项,均分屏幕宽度
|
||||
this.underlinePosition = index * tabWidth;
|
||||
}, */
|
||||
typeFormat(type) {
|
||||
const typeMap = {
|
||||
'1': {code: 'C1', desc: '小型手动挡汽车', full: 'C1小型手动挡汽车'},
|
||||
'2': {code: 'C2', desc: '小型自动档汽车', full: 'C2小型自动档汽车'},
|
||||
'3': {code: 'B1', desc: '中型客车', full: 'B1中型客车'},
|
||||
'4': {code: 'B2', desc: '大型货车', full: 'B2大型货车'},
|
||||
'5': {code: 'A1', desc: '大型客车', full: 'A1大型客车'},
|
||||
'6': {code: 'A2', desc: '牵引车', full: 'A2牵引车'},
|
||||
'7': {code: 'A3', desc: '城市公交车', full: 'A3城市公交车'},
|
||||
'8': {code: 'D', desc: '三轮摩托车', full: 'D三轮摩托车'},
|
||||
'9': {code: 'E', desc: '两轮摩托车', full: 'E两轮摩托车'},
|
||||
'10': {code: 'F', desc: '轻便摩托车', full: 'F轻便摩托车'}
|
||||
};
|
||||
|
||||
const typeStr = typeof type === 'number' ? type.toString() : type;
|
||||
return typeMap[typeStr] || {code: '未知', desc: '未知类型', full: '未知类型'};
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
@ -19,7 +19,8 @@
|
||||
<view class="bm-page-right-zd">{{ rightInfoList.tittle }}</view>
|
||||
<view class="bm-page-right-c2">{{ rightInfoList.type }}</view>
|
||||
</view>
|
||||
<view class="bm-page-right-3"> <text class="bm-page-right-price">¥{{rightInfoList.price}}</text>
|
||||
<view class="bm-page-right-3">
|
||||
<text class="bm-page-right-price">¥{{ rightInfoList.price }}</text>
|
||||
<text class="bm-page-right-jprice">¥{{ rightInfoList.price }}</text>
|
||||
</view>
|
||||
</view>
|
||||
@ -57,7 +58,8 @@
|
||||
<view class="info-name-left">性别</view>
|
||||
<view class="d-s" style="width: 70%;">
|
||||
<view class="size-lv" :class="{'clv' : sex == index }" v-for=" (item,index) in sexlist"
|
||||
:key="index" @click="getsexindex(index)">{{item}}</view>
|
||||
:key="index" @click="getsexindex(index)">{{ item }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="info-name">
|
||||
@ -91,7 +93,8 @@
|
||||
<view class="bm-page-dj">
|
||||
<view class="bm-page-dj-title" @click="show = true">
|
||||
<view class="d-s">
|
||||
<view>{{dname}}</view>:
|
||||
<view>{{ dname }}</view>
|
||||
:
|
||||
<text class="bm-page-dj-title-price">
|
||||
¥{{ currentPrice }} <!-- 动态显示当前价格 -->
|
||||
</text>
|
||||
@ -152,6 +155,7 @@
|
||||
import tabbar from '../../components/tabbar/tabbar.vue'
|
||||
import upload from '@/utils/upload.js'
|
||||
import {getLocalUserInfo} from '../../utils/auth'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@ -529,7 +533,6 @@ import { getLocalUserInfo } from '../../utils/auth'
|
||||
},
|
||||
|
||||
|
||||
|
||||
// 微信支付处理
|
||||
handleWxPayment(paymentParams) {
|
||||
return new Promise((resolve) => {
|
||||
|
@ -3,8 +3,6 @@
|
||||
<view class="group_1 flex-row">
|
||||
|
||||
|
||||
|
||||
|
||||
</view>
|
||||
<view class="group_2 flex-row">
|
||||
<image
|
||||
|
@ -1,8 +1,10 @@
|
||||
<template>
|
||||
<view class="page flex-col">
|
||||
<view class="container">
|
||||
<headers titles="驾校"><uni-icons @click="goback()" type="arrow-left" color="#000000"
|
||||
size="22px"></uni-icons></headers>
|
||||
<headers titles="驾校">
|
||||
<uni-icons @click="goback()" type="arrow-left" color="#000000"
|
||||
size="22px"></uni-icons>
|
||||
</headers>
|
||||
</view>
|
||||
<view class="itemContent">
|
||||
<scroll-view style="height: 100%;" scroll-y="true" class="itemContent" @scrolltolower="onReachBottomCus"
|
||||
@ -174,12 +176,14 @@ export default {
|
||||
<style lang='scss'>
|
||||
@import '../common/common.scss';
|
||||
@import './assets/style/index.rpx.scss';
|
||||
|
||||
.container {
|
||||
width: 100%;
|
||||
background: #f4f5f6;
|
||||
box-sizing: border-box;
|
||||
padding-top: 88px;
|
||||
}
|
||||
|
||||
.itemContent {
|
||||
padding: 30rpx 0;
|
||||
display: flex;
|
||||
|
@ -1,7 +1,9 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<view class="container">
|
||||
<headers :titles="titles"><uni-icons type="arrow-left" color="#000000" size="22px"></uni-icons></headers>
|
||||
<headers :titles="titles">
|
||||
<uni-icons type="arrow-left" color="#000000" size="22px"></uni-icons>
|
||||
</headers>
|
||||
<view class="f-box">
|
||||
<u-parse :content="content"></u-parse>
|
||||
</view>
|
||||
@ -16,6 +18,7 @@
|
||||
<script>
|
||||
import headers from '../../components/header/headers.vue'
|
||||
import request from '@/utils/request.js'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
|
Loading…
Reference in New Issue
Block a user