This commit is contained in:
Lx 2025-04-12 17:52:46 +08:00
parent bb3ab5753e
commit d218b00a76
11 changed files with 267 additions and 141 deletions

View File

@ -64,7 +64,7 @@
<script>
import request from "@/utils/request";
import config from "@/config.js"
import {getLocalUserInfo, getUserInfo} from "@/utils/auth";
import {getLocalUserInfo, getUserInfo, getToken} from "@/utils/auth";
import headers from "@/components/header/headers.vue";
export default {
@ -123,6 +123,22 @@ export default {
},
goRegisterNow() {
console.log('token',getToken())
if (!getToken()) {
uni.showModal({
title: '未登录',
content: '请先登录',
confirmText: '去登录',
success: (res) => {
if (res.confirm) {
uni.navigateTo({
url: '/pages/login/login'
});
}
}
});
return;
}
uni.navigateTo({
url: `/newPages/register/index?courseId=${this.courseDetails.id}&userId=${this.userDetails.id}&tenantId=${this.tenantId}`,
// url: '/pages/index/bmPage'

View File

@ -4,48 +4,57 @@
width: 750rpx;
height: 1624rpx;
overflow: hidden;
.group_1 {
background-color: rgba(255, 255, 255, 1);
width: 750rpx;
height: 92rpx;
.image_1 {
width: 64rpx;
height: 36rpx;
margin: 28rpx 0 0 60rpx;
}
.group_2 {
background-color: rgba(0, 0, 0, 0.9);
width: 36rpx;
height: 22rpx;
margin: 34rpx 0 0 462rpx;
}
.group_3 {
background-color: rgba(0, 0, 0, 0.9);
width: 32rpx;
height: 24rpx;
margin: 34rpx 0 0 10rpx;
}
.image_2 {
width: 50rpx;
height: 24rpx;
margin: 34rpx 28rpx 0 8rpx;
}
}
.group_4 {
width: 750rpx;
// height: 1534rpx;
height: 100%;
height: 100%;
margin-bottom: 2rpx;
.group_5 {
background-color: rgba(255, 255, 255, 1);
width: 750rpx;
height: 96rpx;
justify-content: flex-center;
.label_1 {
width: 48rpx;
height: 48rpx;
margin: 24rpx 0 0 24rpx;
}
.text_1 {
width: 128rpx;
height: 52rpx;
@ -59,31 +68,37 @@
line-height: 52rpx;
margin: 22rpx 0 0 238rpx;
}
.section_1 {
background-color: rgba(0, 0, 0, 0.2);
border-radius: 16px;
height: 64rpx;
width: 174rpx;
margin: 16rpx 24rpx 0 114rpx;
.image-wrapper_1 {
width: 40rpx;
height: 2rpx;
margin: 12rpx 0 0 90rpx;
.thumbnail_1 {
width: 40rpx;
height: 2rpx;
}
}
.box_1 {
width: 122rpx;
height: 32rpx;
margin: 2rpx 0 16rpx 26rpx;
.block_1 {
background-color: rgba(255, 255, 255, 0.9);
width: 36rpx;
height: 12rpx;
margin-top: 10rpx;
}
.block_2 {
background-color: rgba(255, 255, 255, 0.9);
width: 32rpx;
@ -92,10 +107,12 @@
}
}
}
.list_1 {
width: 686rpx;
justify-content: center;
margin: 20rpx 0 0 32rpx;
.list-items_1 {
background-color: rgba(255, 255, 255, 1);
border-radius: 8px;
@ -103,10 +120,12 @@
margin-bottom: 20rpx;
width: 686rpx;
justify-content: flex-center;
.text-wrapper_1 {
width: 160rpx;
height: 32rpx;
margin: 30rpx 0 0 20rpx;
.text_2 {
width: 160rpx;
height: 32rpx;
@ -120,15 +139,18 @@
line-height: 32rpx;
}
}
.group_6 {
width: 160rpx;
height: 36rpx;
margin: 20rpx 0 0 20rpx;
.text-wrapper_2 {
background-color: rgba(223, 235, 255, 1);
border-radius: 2px;
height: 36rpx;
width: 92rpx;
.text_3 {
width: 72rpx;
height: 24rpx;
@ -143,11 +165,13 @@
margin: 6rpx 0 0 10rpx;
}
}
.text-wrapper_3 {
background-color: rgba(255, 239, 229, 1);
border-radius: 2px;
height: 36rpx;
width: 52rpx;
.text_4 {
width: 32rpx;
height: 24rpx;
@ -163,17 +187,21 @@
}
}
}
.group_7 {
width: 396rpx;
height: 48rpx;
margin: 26rpx 0 30rpx 20rpx;
.image-text_1 {
width: 144rpx;
height: 48rpx;
.label_2 {
width: 48rpx;
height: 48rpx;
}
.text-group_1 {
/* width: 84rpx;
height: 28rpx;
@ -186,50 +214,56 @@
white-space: nowrap;
line-height: 28rpx;
margin-top: 10rpx; */
width: 84rpx;
height: 28rpx;
overflow-wrap: break-word;
color: rgba(51, 51, 51, 1);
font-size: 28rpx;
font-family: PingFang SC-Regular;
font-weight: NaN;
text-align: center;
white-space: nowrap;
line-height: 28rpx;
margin-top: 0;
justify-content: center;
width: 84rpx;
height: 28rpx;
overflow-wrap: break-word;
color: rgba(51, 51, 51, 1);
font-size: 28rpx;
font-family: PingFang SC-Regular;
font-weight: NaN;
text-align: center;
white-space: nowrap;
line-height: 28rpx;
margin-top: 0;
justify-content: center;
}
}
.section_2 {
background-color: rgba(237, 162, 58, 1);
width: 28rpx;
height: 28rpx;
margin: 10rpx 0 0 20rpx;
}
.section_3 {
background-color: rgba(237, 162, 58, 1);
width: 28rpx;
height: 28rpx;
margin: 10rpx 0 0 10rpx;
}
.section_4 {
background-color: rgba(237, 162, 58, 1);
width: 28rpx;
height: 28rpx;
margin: 10rpx 0 0 10rpx;
}
.section_5 {
background-color: rgba(237, 162, 58, 1);
width: 28rpx;
height: 28rpx;
margin: 10rpx 0 0 10rpx;
}
.section_6 {
background-color: rgba(226, 226, 226, 1);
width: 28rpx;
height: 28rpx;
margin: 10rpx 0 0 10rpx;
}
.text_5 {
width: 42rpx;
height: 28rpx;

View File

@ -87,12 +87,14 @@
busiId: '',
tenantId: '',
subject: 0,
busiName: '',
},
subjectArr: ['科目一', '科目二', '科目三', '科目四'],
};
},
onLoad(options) {
const data = JSON.parse(options.data);
console.log('data',data)
//
if (options.controls) {
this.show = true

View File

@ -44,6 +44,8 @@
:show="showTimePicker"
v-model="process.examTime"
mode="datetime"
:minDate="minTime"
:maxDate="maxTime"
@confirm="onConfirmExamTime"
@cancel="showTimePicker = false"
></u-datetime-picker>
@ -151,7 +153,7 @@ export default {
examStatus: null,
examScore: null,
remark: '',
examTime: null,
examTime: Date.now(),
images: null,
tenantId: null,
courseId: null,
@ -159,6 +161,8 @@ export default {
batchId: null,
coachId: null,
},
minTime: 0,
maxTime: 0,
constants: {}
};
},
@ -199,6 +203,14 @@ export default {
});
},
},
created() {
const now = new Date()
this.maxTime = now.getTime()
const min = new Date()
min.setFullYear(min.getFullYear() - 5)
this.minTime = min.getTime()
},
methods: {
handleBack() {
uni.navigateBack({
@ -232,8 +244,10 @@ export default {
onConfirmExamTime(value) {
this.process.examTime = value;
this.showTimePicker = false;
console.log('process', this.process)
},
//
//
formatDate(timestamp) {
const date = new Date(timestamp);
const year = date.getFullYear();
@ -362,16 +376,24 @@ export default {
return;
}
this.process.images = this.fileList?.map(item => item.url).join(',') || '';
const postData = {
...this.process, // process
userName: this.userInfo.nickname,
remark: this.process.remark,
images: this.fileList?.map(item => item.url).join(',') || '',
}
// this.process.images = this.fileList?.map(item => item.url).join(',') || '';
if (!this.process.userId || !this.process.subject || !this.process.examScore || !this.process.examStatus || !this.process.examTime) {
uni.showToast({title: '信息填写不完整', icon: 'none'});
return;
}
console.log('postData', postData)
request({
url: '/app-api/process/updateProcess',
method: 'PUT',
data: this.process,
data: postData,
// data: this.process,
}).then(res => {
if (res.code === 0) {
uni.showToast({

View File

@ -3,7 +3,7 @@
<VNavigationBar background-color="#fff" title-color="#333" title="消息中心" :showClear="showClear" @clearNoRead="clearNoReadFun"></VNavigationBar>
<view class="body">
<view class="messageList">
<scroll-view style="height: 100%;" scroll-y="true" class="itemContent" @scrolltolower="onReachBottomCus"
<scroll-view scroll-y="true" class="itemContent" @scrolltolower="onReachBottomCus"
refresher-enabled @refresherrefresh="onRefresherrefresh" :refresher-triggered="isTriggered">
<view v-for="(item, index) in messageList" :key="index" class="messageItem" @click="readNotice(item)">
<image class="messageIcon" src="@/static/imgs/message-icon1.png" mode="aspectFit"></image>
@ -174,17 +174,27 @@
<style lang="less" scoped>
.container {
height: 100%;
height: 100vh;
display: flex;
flex-direction: column;
.body {
flex: 1;
height: calc(100vh - env(safe-area-inset-top));
overflow: auto;
display: flex;
flex-direction: column;
overflow: hidden;
}
.messageList {
padding: 0 32rpx;
height: 100%;
flex: 1;
display: flex;
flex-direction: column;
.itemContent {
flex: 1; // scroll-view
display: flex;
flex-direction: column;
padding: 0 20rpx;
box-sizing: border-box;
}
}
.messageItem {
padding: 30rpx 0;

View File

@ -76,109 +76,30 @@
</view>
</view>
</view>
<!-- <view class="block_2 flex-row" @click="goMyInDetails()">
<view class="image-wrapper_4 flex-col">
<image
class="thumbnail_2"
referrerpolicy="no-referrer"
src="/static/lanhu_gerenzhongxin/FigmaDDSSlicePNG1bb0cdc369203c305a42d848736e8f01.png"
/>
</view>
<text class="text_11">个人信息</text>
<image
class="thumbnail_3"
referrerpolicy="no-referrer"
src="/static/lanhu_gerenzhongxin/FigmaDDSSlicePNG4f20daae79bb7c60189f8702897465d1.png"
/>
</view>
<button open-type="contact" style="display: flex; align-items: center; border: none;" hairline="false">
<view class="block_3 flex-row" open-type="contact">
<view class="image-wrapper_5 flex-col">
<image
class="thumbnail_4"
referrerpolicy="no-referrer"
src="/static/lanhu_gerenzhongxin/FigmaDDSSlicePNGb5e90b5b4c1f154eb4e27313164118a4.png"
/>
</view>
<text class="text_12">在线客服</text>
<image
class="thumbnail_5"
referrerpolicy="no-referrer"
src="/static/lanhu_gerenzhongxin/FigmaDDSSlicePNG4f20daae79bb7c60189f8702897465d1.png"
/>
</view></button>
<view class="block_4 flex-row" @click="goFeedback">
<view class="image-wrapper_6 flex-col">
<image
class="thumbnail_6"
referrerpolicy="no-referrer"
src="/static/lanhu_gerenzhongxin/FigmaDDSSlicePNGa728895586dafec1bde5f90c89d05c48.png"
/>
</view>
<text class="text_13">消息中心</text>
<text class="messageNum" v-if="noReadNum>0">
{{ noReadNum }}
</text>
<image
class="thumbnail_7"
referrerpolicy="no-referrer"
src="/static/lanhu_gerenzhongxin/FigmaDDSSlicePNG4f20daae79bb7c60189f8702897465d1.png"
/>
</view> -->
<!-- <view class="menu-list">
<view class="menu-item" @click="goMyInDetails()">
<image class="menu-icon" src="/static/lanhu_gerenzhongxin/FigmaDDSSlicePNG1bb0cdc369203c305a42d848736e8f01.png" />
<text class="menu-text">个人信息</text>
<image class="menu-arrow" src="/static/lanhu_gerenzhongxin/FigmaDDSSlicePNG4f20daae79bb7c60189f8702897465d1.png" />
</view>
<view class="menu-item" @tap="goToService">
<image class="menu-icon" src="@/static/icon/service.png" />
<text class="menu-text">在线客服</text>
<image class="menu-arrow" src="@/static/icon/arrow-right.png" />
</view>
<button open-type="contact" class="menu-item" style="display: flex;">
<image class="menu-icon" src="/static/lanhu_gerenzhongxin/FigmaDDSSlicePNGb5e90b5b4c1f154eb4e27313164118a4.png" />
<text class="menu-text">在线客服</text>
<image class="menu-arrow" src="/static/lanhu_gerenzhongxin/FigmaDDSSlicePNG4f20daae79bb7c60189f8702897465d1.png" />
</button>
<view class="menu-item" @tap="goToMessage">
<image class="menu-icon" src="/static/lanhu_gerenzhongxin/FigmaDDSSlicePNGa728895586dafec1bde5f90c89d05c48.png" />
<text class="menu-text">消息中心</text>
<image class="menu-arrow" src="/static/lanhu_gerenzhongxin/FigmaDDSSlicePNG4f20daae79bb7c60189f8702897465d1.png" />
</view>
</view> -->
<view class="menu-list">
<!-- 1. 个人信息 -->
<view class="menu-item" @click="goMyInDetails()">
<image class="menu-icon" src="/static/lanhu_gerenzhongxin/FigmaDDSSlicePNG1bb0cdc369203c305a42d848736e8f01.png" />
<text class="menu-text">个人信息</text>
<image class="menu-arrow" src="/static/lanhu_gerenzhongxin/FigmaDDSSlicePNG4f20daae79bb7c60189f8702897465d1.png" />
</view>
<view class="menu-item">
<button open-type="contact" class="menu-item-btn">
<image class="menu-icon" src="/static/lanhu_gerenzhongxin/FigmaDDSSlicePNGb5e90b5b4c1f154eb4e27313164118a4.png" />
<text class="menu-text">在线客服</text>
<image class="menu-arrow" src="/static/lanhu_gerenzhongxin/FigmaDDSSlicePNG4f20daae79bb7c60189f8702897465d1.png" />
</button></view>
<!-- 3. 消息中心 -->
<view class="menu-item" @click="goFeedback">
<image class="menu-icon" src="/static/lanhu_gerenzhongxin/FigmaDDSSlicePNGa728895586dafec1bde5f90c89d05c48.png" />
<text class="menu-text">消息中心</text>
<text class="message-num" v-if="noReadNum > 0">{{ noReadNum }}</text>
<image class="menu-arrow" src="/static/lanhu_gerenzhongxin/FigmaDDSSlicePNG4f20daae79bb7c60189f8702897465d1.png" />
</view>
</view>
<view class="menu-list">
<!-- 1. 个人信息 -->
<view class="menu-item" @click="goMyInDetails()">
<image class="menu-icon" src="/static/lanhu_gerenzhongxin/FigmaDDSSlicePNG1bb0cdc369203c305a42d848736e8f01.png" />
<text class="menu-text">个人信息</text>
<image class="menu-arrow" src="/static/lanhu_gerenzhongxin/FigmaDDSSlicePNG4f20daae79bb7c60189f8702897465d1.png" />
</view>
<view class="menu-item">
<button open-type="contact" class="menu-item-btn">
<image class="menu-icon" src="/static/lanhu_gerenzhongxin/FigmaDDSSlicePNGb5e90b5b4c1f154eb4e27313164118a4.png" />
<text class="menu-text">在线客服</text>
<image class="menu-arrow" src="/static/lanhu_gerenzhongxin/FigmaDDSSlicePNG4f20daae79bb7c60189f8702897465d1.png" />
</button></view>
<!-- 3. 消息中心 -->
<view class="menu-item" @click="goFeedback">
<image class="menu-icon" src="/static/lanhu_gerenzhongxin/FigmaDDSSlicePNGa728895586dafec1bde5f90c89d05c48.png" />
<text class="menu-text">消息中心</text>
<text class="message-num" v-if="noReadNum > 0">{{ noReadNum }}</text>
<image class="menu-arrow" src="/static/lanhu_gerenzhongxin/FigmaDDSSlicePNG4f20daae79bb7c60189f8702897465d1.png" />
</view>
</view>
</view>
<tabbar :msg='msg'></tabbar>
@ -293,6 +214,7 @@ export default {
this.showQrCode = false
},
openQrCode(){
//
if (this.isCreateQrCode){
this.createQrCode(this.userDetails.uniqueCode)
@ -307,15 +229,40 @@ export default {
this.selfInfo = res
},*/
toMyQrCode() {
if (!getToken()) {
uni.showModal({
title: '未登录',
content: '请先登录',
confirmText: '去登录',
success: (res) => {
if (res.confirm) {
uni.navigateTo({
url: '/pages/login/login'
});
}
}
});
return;
}
this.showQrCode = true
},
toOrderPage(orderType, type) {
if (!getToken()) {
uni.navigateTo({
url: "/pages/login/login"
})
}
uni.navigateTo({
url: `/newPages/orderList/index?orderType=${orderType}&type=${type}&userId=${this.selfInfo.id}`
})
},
goMyInDetails() {
if (!getToken()) {
uni.navigateTo({
url: "/pages/login/login"
})
}
uni.navigateTo({
url: `/newPages/information/index?userId=${this.selfInfo.id}`
})
@ -328,6 +275,9 @@ export default {
getUserInfo() {
if (!getToken()) {
return;
}
request({
url: '/app-api/small/dl-drive-school-student/getUsersInfo',
method: 'GET',

View File

@ -58,7 +58,11 @@
<script>
import SchoolInfo from './SchoolInfo.vue';
import request from "@/utils/request";
import {
getLocalUserInfo,
getToken,
setLocalUserInfo
} from '@/utils/auth'
export default {
components: {
SchoolInfo
@ -81,7 +85,7 @@ export default {
{
url: '/static/lanhu_shouye2gai/pj.png',
text: '评价'
}
},
],
swiperList: [],
msg: "1",
@ -141,7 +145,7 @@ export default {
},
getSwiperList() {
request({
url: '/drivingSchool/applet/swiper/list',
url: '/app-api/drivingSchool/text/swiper/list',
method: 'GET'
}).then(res => {
res.data.forEach(item => {
@ -195,16 +199,66 @@ export default {
});
break;
case '预约训练':
if (!getToken()) {
/* uni.showToast({
title: '请先登录',
icon: 'none',
duration: 2000
}); */
uni.showModal({
title: '未登录',
content: '请先登录',
confirmText: '去登录',
success: (res) => {
if (res.confirm) {
uni.navigateTo({
url: '/pages/login/login'
});
}
}
});
return;
}
uni.navigateTo({
url: '/newPages/appointment/index'
});
break;
case '考试结果录入':
if (!getToken()) {
uni.showModal({
title: '未登录',
content: '请先登录',
confirmText: '去登录',
success: (res) => {
if (res.confirm) {
uni.navigateTo({
url: '/pages/login/login'
});
}
}
});
return;
}
uni.navigateTo({
url: '/newPages/examinationList/index'
});
break;
case '评价':
if (!getToken()) {
uni.showModal({
title: '未登录',
content: '请先登录',
confirmText: '去登录',
success: (res) => {
if (res.confirm) {
uni.navigateTo({
url: '/pages/login/login'
});
}
}
});
return;
}
uni.navigateTo({
url: '/newPages/evaluate/index'
});

View File

@ -21,8 +21,10 @@
<image :src="imageUrl + '/' + orderData.photo" class="course-image"></image>
<view class="course-detail">
<text class="course-title">{{ orderData.courseName }}</text>
<text class="course-type" >{{ orderData.courseType }}</text>
<view class='course-twoType'>
<text class="course-type" >{{ getLicenseTypeDescription(orderData.courseType) }}</text>
<text class="course-type" >{{ orderData.courseType }}</text>
</view>
<text class="course-desc">{{ courseDetails.tittle }}</text>
</view>
</view>
@ -535,13 +537,19 @@ export default {
margin-bottom: 24rpx;
}
.course-twoType {
width: 90%;
display: flex;
justify-content: flex-start;
}
.course-type {
width: 35rpx;
font-size: 24rpx;
font-size: 22rpx;
padding: 4rpx 16rpx;
border-radius: 8rpx;
color: #fff;
background-color: #2979ff;
margin-right: 10rpx;
}
.type-C1 {

View File

@ -154,7 +154,7 @@ import headers from '../../components/header/headers.vue'
import request from '@/utils/request.js'
import tabbar from '../../components/tabbar/tabbar.vue'
import upload from '@/utils/upload.js'
import {getLocalUserInfo} from '../../utils/auth'
import {getLocalUserInfo,getToken} from '../../utils/auth'
export default {
data() {
@ -220,7 +220,7 @@ export default {
],
}
},
onLoad: function (option) {
onLoad(option) {
uni.showToast({
title: '请完善个人信息',
icon: 'none'
@ -325,7 +325,10 @@ export default {
this.show = false
},
goback() {
uni.navigateBack()
// uni.navigateBack()
uni.navigateBack({
delta: 1
});
},
changeStartPay(id) {
this.startPay = id
@ -817,7 +820,35 @@ export default {
},
//
insertSchoolStudent() {
insertSchoolStudent() {
const studentData = {
avatar: this.userinfo.avatar,
name: this.name,
age: this.age,
sex: this.sex,
phone: this.phone,
idCard: this.identity,
registAddress: this.Address,
userId: this.userinfo.id,
tenantId: this.tenantId,
idPhoto: this.sfzimg,
};
// sourcesourceUserId
if (this.jlId) {
studentData.source = '02';
studentData.sourceUserId = this.jlId; // IDID
}
request({
url: '/app-api/small/dl-drive-school-student/create',
method: 'post',
data: studentData
});
this.updateSysUsersNickName();
},
/* insertSchoolStudent() {
request({
url: '/app-api/small/dl-drive-school-student/create',
method: 'post',
@ -835,7 +866,7 @@ export default {
}
})
this.updateSysUsersNickName()
},
}, */
// users
updateSysUsersNickName(){

View File

@ -180,7 +180,6 @@ export default {
},
onLoad(options) {
if (options.id) {
this.schoolId = options.id;
this.tenantId = options.tenantId;
this.schoolName = options.schoolName;
@ -189,7 +188,6 @@ export default {
this.getSchoolClass();
this.getSchoolAllClass()
this.getSchoolCoach()
}
},
methods: {
handleBack() {

View File

@ -255,6 +255,7 @@ export default {
uni.reLaunch({
url: '/newPages/newIndex/index'
})
// uni.navigateBack()
})
},