Merge remote-tracking branch 'origin/master'
# Conflicts: # newPages/examinationList/index.vue
This commit is contained in:
commit
1747d849cf
@ -9,7 +9,7 @@
|
|||||||
<u-subsection :list="list" :current="curNow" @change="sectionChange"></u-subsection>
|
<u-subsection :list="list" :current="curNow" @change="sectionChange"></u-subsection>
|
||||||
</view>
|
</view>
|
||||||
<scroll-view style="height: 1200rpx;" scroll-y="true" class="itemContent" @scrolltolower="onReachBottomCus"
|
<scroll-view style="height: 1200rpx;" scroll-y="true" class="itemContent" @scrolltolower="onReachBottomCus"
|
||||||
refresher-enabled @refresherrefresh="onRefresherrefresh" :refresher-triggered="isTriggered">
|
refresher-enabled @refresherrefresh="onRefresherrefresh" :refresher-triggered="isTriggered" v-if="appointmentList.length > 0">
|
||||||
<!-- 新增内容容器 -->
|
<!-- 新增内容容器 -->
|
||||||
<view class="box_2 flex-col" v-if="curNow === 0">
|
<view class="box_2 flex-col" v-if="curNow === 0">
|
||||||
<view class="box_4 flex-col" v-for="item in appointmentList" @click="goDetail(item,'')" :key="item.id">
|
<view class="box_4 flex-col" v-for="item in appointmentList" @click="goDetail(item,'')" :key="item.id">
|
||||||
@ -82,7 +82,14 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
<view class="box_6 flex-col bottom_">
|
<view class="empty-container" v-else>
|
||||||
|
<u-empty
|
||||||
|
mode="data"
|
||||||
|
/>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
<view class="box_6 flex-col bottom_">
|
||||||
<view class="text-wrapper_12 flex-col " @click="goAppointment()">
|
<view class="text-wrapper_12 flex-col " @click="goAppointment()">
|
||||||
<text class="text_19">预约</text>
|
<text class="text_19">预约</text>
|
||||||
</view>
|
</view>
|
||||||
@ -138,10 +145,10 @@
|
|||||||
},
|
},
|
||||||
getList() {
|
getList() {
|
||||||
request({
|
request({
|
||||||
url: '/app-api/drivingSchool/system/reservationCourse/list',
|
url: '/app-api/reservation-course/page',
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
params: {
|
params: {
|
||||||
pageNum: this.pageNo,
|
pageNo: this.pageNo,
|
||||||
pageSize: this.pageSize,
|
pageSize: this.pageSize,
|
||||||
ifCancel: false
|
ifCancel: false
|
||||||
},
|
},
|
||||||
@ -165,7 +172,7 @@
|
|||||||
params: {
|
params: {
|
||||||
pageNum: this.pageNo,
|
pageNum: this.pageNo,
|
||||||
pageSize: this.pageSize,
|
pageSize: this.pageSize,
|
||||||
selectType: 'all'
|
selectType: 'my'
|
||||||
},
|
},
|
||||||
tenantIdFlag: false
|
tenantIdFlag: false
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
@ -279,4 +286,11 @@
|
|||||||
margin: 8rpx 0 0 12rpx;
|
margin: 8rpx 0 0 12rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.empty-container {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center; /* 水平居中 */
|
||||||
|
align-items: center; /* 垂直居中 */
|
||||||
|
height: 100vh; /* 或者你需要撑满的高度 */
|
||||||
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,246 +1,281 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="page flex-col">
|
<view class="page flex-col">
|
||||||
<view class="header">
|
<view class="header">
|
||||||
<headers titles="预约">
|
<headers titles="预约">
|
||||||
<uni-icons type="left" color="#000000" size="22px"></uni-icons>
|
<uni-icons type="left" color="#000000" size="22px"></uni-icons>
|
||||||
</headers>
|
</headers>
|
||||||
</view>
|
</view>
|
||||||
<view class="form_">
|
<view class="form_">
|
||||||
<view class="" style="background-color: white;padding: 10rpx 15rpx;border-radius: 15rpx">
|
<view class="" style="background-color: white;padding: 10rpx 15rpx;border-radius: 15rpx">
|
||||||
<u-form labelPosition="left" labelWidth="auto" labelAlign="center" :model="appointmentInfo"
|
<u-form labelPosition="left" labelWidth="auto" labelAlign="center" :model="appointmentInfo"
|
||||||
:rules="rules" ref="uForm">
|
:rules="rules" ref="uForm">
|
||||||
<u-form-item label="课程名称" prop="userInfo.name" @click="showCourse = true" ref="item1">
|
<u-form-item label="课程名称" prop="courseName" @click="showCourse = true" ref="item1">
|
||||||
<u-input v-model="appointmentInfo.courseName" disabled disabledColor="#ffffff"
|
<u-input v-model="appointmentInfo.courseName" disabled disabledColor="#ffffff"
|
||||||
placeholder="请选择课程" border="none"></u-input>
|
placeholder="请选择课程" border="none"></u-input>
|
||||||
<u-icon slot="right" name="arrow-right"></u-icon>
|
<u-icon slot="right" name="arrow-right"></u-icon>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item label="训练类型" prop="userInfo.sex" ref="item1">
|
<u-form-item label="训练类型" prop="courseType" ref="item1">
|
||||||
<u-input v-model="appointmentInfo.courseType" disabled disabledColor="#ffffff"
|
<u-input v-model="appointmentInfo.courseType" disabled disabledColor="#ffffff"
|
||||||
placeholder="请选择训练类型" border="none"></u-input>
|
placeholder="请选择训练类型" border="none"></u-input>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item label="选择科目" prop="userInfo.sex" ref="item1">
|
<u-form-item label="选择科目" prop="subject" ref="item1">
|
||||||
<u-input v-model="appointmentInfo.subjectStr" disabled disabledColor="#ffffff"
|
<u-input v-model="appointmentInfo.subjectStr" disabled disabledColor="#ffffff"
|
||||||
placeholder="请选择科目" border="none"></u-input>
|
placeholder="请选择科目" border="none"></u-input>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item label="教练名称" prop="userInfo.sex" ref="item1">
|
<u-form-item label="教练名称" prop="coachName" ref="item1">
|
||||||
<u-input v-model="appointmentInfo.coachName" disabled disabledColor="#ffffff"
|
<u-input v-model="appointmentInfo.coachName" disabled disabledColor="#ffffff"
|
||||||
placeholder="请选择教练" border="none"></u-input>
|
placeholder="请选择教练" border="none"></u-input>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
</u-form>
|
</u-form>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="form_">
|
<view class="form_">
|
||||||
<view class="" style="background-color: white;padding: 10rpx 15rpx;border-radius: 15rpx">
|
<view class="" style="background-color: white;padding: 10rpx 15rpx;border-radius: 15rpx">
|
||||||
<u-form labelPosition="left" labelWidth="auto" :model="appointmentInfo" :rules="rules" ref="uForm">
|
<u-form labelPosition="left" labelWidth="auto" :model="appointmentInfo" :rules="rules" ref="uForm">
|
||||||
<u-form-item label="累计训练时长" prop="userInfo.name" ref="item1">
|
<u-form-item label="累计训练时长" prop="name" ref="item1">
|
||||||
<u-input v-model="appointmentInfo.trainTime" disabled disabledColor="#ffffff"
|
<u-input v-model="appointmentInfo.trainTime" disabled disabledColor="#ffffff"
|
||||||
border="none"></u-input>
|
border="none"></u-input>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item label="日期选择" prop="userInfo.sex" @click="showDate = true;"
|
<u-form-item label="日期选择" prop="dateStr" @click="showDate = true;"
|
||||||
ref="item1">
|
ref="item1">
|
||||||
<u-input v-model="appointmentInfo.dateStr" disabled disabledColor="#ffffff"
|
<u-input v-model="appointmentInfo.dateStr" disabled disabledColor="#ffffff"
|
||||||
placeholder="请选择日期" border="none"></u-input>
|
placeholder="请选择日期" border="none"></u-input>
|
||||||
<u-icon slot="right" name="arrow-right"></u-icon>
|
<u-icon slot="right" name="arrow-right"></u-icon>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item label="时间范围" prop="userInfo.sex" borderBottom @click="showTime = true;"
|
<u-form-item label="时间范围" prop="time" borderBottom @click="showTime = true;"
|
||||||
ref="item1" :borderBottom="false">
|
ref="item1" :borderBottom="false">
|
||||||
<u-input v-model="appointmentInfo.time" disabled disabledColor="#ffffff"
|
<u-input v-model="appointmentInfo.time" disabled disabledColor="#ffffff"
|
||||||
placeholder="请选择时间范围" border="none"></u-input>
|
placeholder="请选择时间范围" border="none"></u-input>
|
||||||
<u-icon slot="right" name="arrow-right"></u-icon>
|
<u-icon slot="right" name="arrow-right"></u-icon>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
</u-form>
|
</u-form>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<u-picker :show="showCourse" @close="showCourse = false" keyName="courseName" @cancel="showCourse = false"
|
<u-picker :show="showCourse" @close="showCourse = false" keyName="courseName" @cancel="showCourse = false"
|
||||||
@confirm="confirmCourse" :columns="[courseList]"></u-picker>
|
@confirm="confirmCourse" :columns="[courseList]"></u-picker>
|
||||||
<u-picker :show="showTime" @close="showTime = false" keyName="label" @cancel="showTime = false"
|
<u-picker :show="showTime" @close="showTime = false" keyName="label" @cancel="showTime = false"
|
||||||
@confirm="confirmTime" :columns="[timeColumns]"></u-picker>
|
@confirm="confirmTime" :columns="[timeColumns]"></u-picker>
|
||||||
<u-calendar :show="showDate" @confirm="confirmDate" @close="showDate = false"></u-calendar>
|
<u-calendar :show="showDate" @confirm="confirmDate" @close="showDate = false"></u-calendar>
|
||||||
<view class="section_4 flex-col bottom_">
|
<view class="section_4 flex-col bottom_">
|
||||||
<view class="text-wrapper_5 flex-col" @click="submit">
|
<view class="text-wrapper_5 flex-col" @click="submit">
|
||||||
<text class="text_10">开始预约</text>
|
<text class="text_10">开始预约</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import headers from "@/components/header/headers.vue";
|
import headers from "@/components/header/headers.vue";
|
||||||
import request from "@/utils/request";
|
import request from "@/utils/request";
|
||||||
import {getDictDataByType} from "@/utils/utils";
|
import {getDictDataByType} from "@/utils/utils";
|
||||||
|
import {getLocalUserInfo} from "@/utils/auth";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
headers
|
headers
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
rules: {}, // 确保 rules 至少是一个空对象
|
constants: {},
|
||||||
constants: {},
|
appointmentInfo: {
|
||||||
appointmentInfo: {
|
subjectStr: '',
|
||||||
subjectStr: '',
|
courseName: '',
|
||||||
courseName: '',
|
coachName: '',
|
||||||
coachName: '',
|
trainTime: '',
|
||||||
trainTime: '',
|
dateStr: '',
|
||||||
dateStr:'',
|
time: '',
|
||||||
time: '',
|
coachId: '',
|
||||||
coachId:'',
|
}, // 预约信息
|
||||||
}, // 预约信息
|
showCourse: false,
|
||||||
showCourse: false,
|
courseList: [], //报名的课程信息
|
||||||
courseList: [], //报名的课程信息
|
showDate: false,
|
||||||
showDate: false,
|
showTime: false,
|
||||||
showTime: false,
|
tenantId: '',
|
||||||
tenantId: '',
|
subjectColumns: [{
|
||||||
subjectColumns: [{
|
label: '科目二',
|
||||||
label: '科目二',
|
value: 2
|
||||||
value: 2
|
},
|
||||||
},
|
{
|
||||||
{
|
label: '科目三',
|
||||||
label: '科目三',
|
value: 3
|
||||||
value: 3
|
},
|
||||||
},
|
],
|
||||||
],
|
//时间段数组 查询字典
|
||||||
//时间段数组 查询字典
|
timeColumns: '',
|
||||||
timeColumns: '',
|
showSubject: false,
|
||||||
showSubject: false
|
rules: {
|
||||||
};
|
time: [{
|
||||||
},
|
required: true,
|
||||||
async onLoad() {
|
message: '请选择时间',
|
||||||
this.getLoginUserCourseInfoList()
|
trigger: 'change'
|
||||||
this.timeColumns = await getDictDataByType('school_reserv_time');
|
}],
|
||||||
console.log('字典', this.timeColumns)
|
courseName: [{
|
||||||
|
required: true,
|
||||||
|
message: '请选择课程',
|
||||||
|
trigger: 'change'
|
||||||
|
}],
|
||||||
|
dateStr: [{
|
||||||
|
required: true,
|
||||||
|
message: '请选择日期',
|
||||||
|
trigger: 'change'
|
||||||
|
}],
|
||||||
|
coachName: [{
|
||||||
|
required: true,
|
||||||
|
message: '请选择教练',
|
||||||
|
trigger: 'change'
|
||||||
|
}],
|
||||||
|
subject: [{
|
||||||
|
required: true,
|
||||||
|
message: '请选择科目',
|
||||||
|
trigger: 'change'
|
||||||
|
}],
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
async onLoad() {
|
||||||
|
this.getLoginUserCourseInfoList()
|
||||||
|
this.timeColumns = await getDictDataByType('school_reserv_time');
|
||||||
|
console.log('字典', this.timeColumns)
|
||||||
|
},
|
||||||
|
onReady() {
|
||||||
|
//如果需要兼容微信小程序,并且校验规则中含有方法等,只能通过setRules方法设置规则。
|
||||||
|
this.$refs.uForm.setRules(this.rules)
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
goback() {
|
||||||
|
uni.navigateBack()
|
||||||
},
|
},
|
||||||
methods: {
|
confirmCourse(e) {
|
||||||
goback() {
|
this.restForm()
|
||||||
uni.navigateBack()
|
this.appointmentInfo.courseId = e.value[0].courseId
|
||||||
},
|
this.appointmentInfo.courseName = e.value[0].courseName
|
||||||
confirmCourse(e) {
|
this.appointmentInfo.courseType = e.value[0].courseType
|
||||||
this.restForm()
|
this.tenantId = e.value[0].tenantId
|
||||||
this.appointmentInfo.courseId = e.value[0].courseId
|
this.appointmentInfo.userName = e.value[0].userName
|
||||||
this.appointmentInfo.courseName = e.value[0].courseName
|
this.appointmentInfo.userId = e.value[0].userId
|
||||||
this.appointmentInfo.courseType = e.value[0].courseType
|
this.getAllByCourseId(e.value[0].courseId)
|
||||||
this.tenantId = e.value[0].tenantId
|
console.log(e)
|
||||||
this.appointmentInfo.userName = e.value[0].userName
|
this.showCourse = false
|
||||||
this.appointmentInfo.userId = e.value[0].userId
|
},
|
||||||
this.getAllByCourseId(e.value[0].courseId)
|
confirmDate(e) {
|
||||||
console.log(e)
|
console.log(e)
|
||||||
this.showCourse = false
|
this.appointmentInfo.dateStr = e[0]
|
||||||
},
|
console.log(this.appointmentInfo)
|
||||||
confirmDate(e) {
|
this.showDate = false
|
||||||
console.log(e)
|
},
|
||||||
this.appointmentInfo.dateStr = e[0]
|
confirmTime(e) {
|
||||||
console.log(this.appointmentInfo)
|
console.log(e)
|
||||||
this.showDate = false
|
this.appointmentInfo.time = e.value[0].label
|
||||||
},
|
console.log(this.appointmentInfo)
|
||||||
confirmTime(e) {
|
this.showTime = false
|
||||||
console.log(e)
|
},
|
||||||
this.appointmentInfo.time = e.value[0].label
|
restForm() {
|
||||||
console.log(this.appointmentInfo)
|
this.appointmentInfo = {
|
||||||
this.showTime = false
|
subjectStr: '',
|
||||||
},
|
courseName: '',
|
||||||
restForm() {
|
coachName: '',
|
||||||
this.appointmentInfo = {
|
trainTime: '',
|
||||||
subjectStr: '',
|
}
|
||||||
courseName: '',
|
},
|
||||||
coachName: '',
|
// 查询所有报名科目
|
||||||
trainTime: '',
|
getLoginUserCourseInfoList() {
|
||||||
}
|
request({
|
||||||
},
|
url: '/app-api/small/drive/school-course-order/getCourseByLoginUser',
|
||||||
// 查询所有报名科目
|
method: 'GET'
|
||||||
getLoginUserCourseInfoList() {
|
}).then(res => {
|
||||||
request({
|
if (res.data.length == 0) {
|
||||||
url: '/app-api/small/drive/school-course-order/getCourseByLoginUser',
|
uni.showModal({
|
||||||
method: 'GET'
|
title: '提示',
|
||||||
}).then(res => {
|
content: '请先报名课程',
|
||||||
if (res.data.length == 0) {
|
showCancel: false,
|
||||||
uni.showModal({
|
success: function (res) {
|
||||||
title: '提示',
|
if (res.confirm) {
|
||||||
content: '请先报名课程',
|
console.log('用户点击确定');
|
||||||
showCancel: false,
|
uni.navigateBack()
|
||||||
success: function(res) {
|
} else if (res.cancel) {
|
||||||
if (res.confirm) {
|
console.log('用户点击取消');
|
||||||
console.log('用户点击确定');
|
|
||||||
uni.navigateBack()
|
|
||||||
} else if (res.cancel) {
|
|
||||||
console.log('用户点击取消');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
this.courseList = res.data
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//根据课程id查询报名进度
|
||||||
|
async getAllByCourseId(courseId) {
|
||||||
|
console.log('courseId', courseId)
|
||||||
|
const res = await request({
|
||||||
|
url: '/app-api/process/getAllByCourseId',
|
||||||
|
method: 'GET',
|
||||||
|
params: {
|
||||||
|
courseId: courseId
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// 找出正在训练中的科目并且科目不是1和4
|
||||||
|
// && item.subject != 1 && item.subject != 4
|
||||||
|
const progress = res.data.filter(item => {
|
||||||
|
return item.status == 1 && item.subject != 1 && item.subject != 4
|
||||||
|
})
|
||||||
|
if (progress.length > 0) {
|
||||||
|
console.log('正在训练中的科目', progress)
|
||||||
|
// 找出正在训练中的科目并且科目不是1和4
|
||||||
|
const subject = progress[0].subject
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.appointmentInfo.subject = subject
|
||||||
|
this.appointmentInfo.subjectStr = this.subjectColumns.find(item => item.value == subject).label
|
||||||
|
})
|
||||||
|
this.appointmentInfo.coachName = progress[0].coachName
|
||||||
|
this.appointmentInfo.coachId = progress[0].coachId
|
||||||
|
this.appointmentInfo.trainTime = progress[0].trainTime
|
||||||
|
console.log('subject', this.appointmentInfo)
|
||||||
|
} else {
|
||||||
|
// 弹窗只能预约训练科目二
|
||||||
|
uni.showModal({
|
||||||
|
title: '提示',
|
||||||
|
content: '只能预约训练科目二和科目三',
|
||||||
|
showCancel: false,
|
||||||
|
success: function (res) {
|
||||||
|
if (res.confirm) {
|
||||||
|
console.log('用户点击确定');
|
||||||
|
uni.navigateBack()
|
||||||
|
} else if (res.cancel) {
|
||||||
|
console.log('用户点击取消');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
this.courseList = res.data
|
});
|
||||||
})
|
}
|
||||||
},
|
},
|
||||||
//根据课程id查询报名进度
|
// 查询训练地址
|
||||||
async getAllByCourseId(courseId) {
|
getTrainAddress() {
|
||||||
console.log('courseId', courseId)
|
request({
|
||||||
const res = await request({
|
url: '/app-api/small/address/getList',
|
||||||
url: '/app-api/process/getAllByCourseId',
|
method: 'GET',
|
||||||
method: 'GET',
|
params: {
|
||||||
params: {
|
type: 0,
|
||||||
courseId: courseId
|
subject: this.appointmentInfo.subject,
|
||||||
}
|
tenantId: this.tenantId
|
||||||
})
|
}
|
||||||
// 找出正在训练中的科目并且科目不是1和4
|
}).then(res => {
|
||||||
// && item.subject != 1 && item.subject != 4
|
console.log(res)
|
||||||
const progress = res.data.filter(item => {
|
})
|
||||||
return item.status == 1 && item.subject != 1 && item.subject != 4
|
},
|
||||||
})
|
submit() {
|
||||||
if (progress.length > 0) {
|
// 获取当前登陆人
|
||||||
console.log('正在训练中的科目', progress)
|
this.$refs.uForm.validate().then(res => {
|
||||||
// 找出正在训练中的科目并且科目不是1和4
|
const userInfo = getLocalUserInfo()
|
||||||
const subject = progress[0].subject
|
const data = {
|
||||||
this.$nextTick(() => {
|
...this.appointmentInfo,
|
||||||
|
userId: userInfo.id,
|
||||||
this.appointmentInfo.subject = subject
|
userName: userInfo.nickname,
|
||||||
this.appointmentInfo.subjectStr = this.subjectColumns.find(item => item.value ==
|
tenantId: this.tenantId,
|
||||||
subject).label
|
reservDay: this.appointmentInfo.dateStr,
|
||||||
})
|
reservTime: this.appointmentInfo.time,
|
||||||
this.appointmentInfo.coachName = progress[0].coachName
|
subject: this.appointmentInfo.subject,
|
||||||
this.appointmentInfo.coachId = progress[0].coachId
|
}
|
||||||
this.appointmentInfo.trainTime = progress[0].trainTime
|
|
||||||
console.log('subject', this.appointmentInfo)
|
|
||||||
} else {
|
|
||||||
// 弹窗只能预约训练科目二
|
|
||||||
uni.showModal({
|
|
||||||
title: '提示',
|
|
||||||
content: '只能预约训练科目二和科目三',
|
|
||||||
showCancel: false,
|
|
||||||
success: function(res) {
|
|
||||||
if (res.confirm) {
|
|
||||||
console.log('用户点击确定');
|
|
||||||
uni.navigateBack()
|
|
||||||
} else if (res.cancel) {
|
|
||||||
console.log('用户点击取消');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
|
||||||
// 查询训练地址
|
|
||||||
getTrainAddress() {
|
|
||||||
request({
|
|
||||||
url: '/app-api/small/address/getList',
|
|
||||||
method: 'GET',
|
|
||||||
params: {
|
|
||||||
type: 0,
|
|
||||||
subject: this.appointmentInfo.subject,
|
|
||||||
tenantId: this.tenantId
|
|
||||||
}
|
|
||||||
}).then(res => {
|
|
||||||
console.log(res)
|
|
||||||
})
|
|
||||||
},
|
|
||||||
submit(){
|
|
||||||
request({
|
request({
|
||||||
url: '/app-api/drivingSchool/system/reservationCourse',
|
url: '/app-api/reservation-course/create',
|
||||||
method: 'POST',
|
method: 'PUT',
|
||||||
data: {
|
data: data
|
||||||
...this.appointmentInfo,
|
|
||||||
tenantId: this.tenantId,
|
|
||||||
reservDay: this.appointmentInfo.dateStr,
|
|
||||||
reservTime: this.appointmentInfo.time,
|
|
||||||
subject: this.appointmentInfo.subject,
|
|
||||||
}
|
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
console.log(res)
|
console.log(res)
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
@ -253,27 +288,29 @@
|
|||||||
uni.navigateBack()
|
uni.navigateBack()
|
||||||
}, 2000)
|
}, 2000)
|
||||||
})
|
})
|
||||||
},
|
}).catch(errors => {
|
||||||
}
|
})
|
||||||
};
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang='scss'>
|
<style lang='scss'>
|
||||||
@import '../common/common.scss';
|
@import '../common/common.scss';
|
||||||
@import './assets/style/index.rpx.scss';
|
@import './assets/style/index.rpx.scss';
|
||||||
|
|
||||||
.bottom_ {
|
.bottom_ {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background: #f4f5f6;
|
background: #f4f5f6;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding-top: 88px;
|
padding-top: 88px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.form_ {
|
.form_ {
|
||||||
padding: 10rpx 20rpx;
|
padding: 10rpx 20rpx;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -37,7 +37,7 @@
|
|||||||
<view style="width: 90%; height: 1px; background-color: #e0e0e0; margin: 20px 10rpx auto;"></view>
|
<view style="width: 90%; height: 1px; background-color: #e0e0e0; margin: 20px 10rpx auto;"></view>
|
||||||
<view class="text-wrapper_5 flex-row justify-between" v-if="!isTrain">
|
<view class="text-wrapper_5 flex-row justify-between" v-if="!isTrain">
|
||||||
<text class="text_12">累计训练时长</text>
|
<text class="text_12">累计训练时长</text>
|
||||||
<text class="text_13">{{ appointmentInfo.allDriveTime }}分钟</text>
|
<text class="text_13">{{ appointmentInfo.trainTime }}分钟</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="text-wrapper_6 flex-row justify-between" v-if="isTrain">
|
<view class="text-wrapper_6 flex-row justify-between" v-if="isTrain">
|
||||||
<text class="text_14">训练地址</text>
|
<text class="text_14">训练地址</text>
|
||||||
@ -56,7 +56,7 @@
|
|||||||
<view class="text-wrapper_9 flex-col" v-if="!isTrain">
|
<view class="text-wrapper_9 flex-col" v-if="!isTrain">
|
||||||
<text class="text_20">审核意见</text>
|
<text class="text_20">审核意见</text>
|
||||||
<text class="text_21">
|
<text class="text_21">
|
||||||
{{ appointmentInfo.remark == null ? '暂无' : appointmentInfo.remark }}
|
{{ appointmentInfo.refuseReason == null ? '暂无' : appointmentInfo.refuseReason }}
|
||||||
</text>
|
</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -112,11 +112,11 @@ export default {
|
|||||||
|
|
||||||
console.log("匹配的训练时间数据:", data);
|
console.log("匹配的训练时间数据:", data);
|
||||||
|
|
||||||
this.appointmentInfo.allDriveTime = data ? data.trainTime || "0" : "0";
|
this.appointmentInfo.trainTime = data ? data.trainTime || "0" : "0";
|
||||||
|
|
||||||
console.log(
|
console.log(
|
||||||
"this.appointmentInfo.allDriveTime",
|
"this.appointmentInfo.trainTime",
|
||||||
this.appointmentInfo.allDriveTime
|
this.appointmentInfo.trainTime
|
||||||
);
|
);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("获取训练时间失败:", error);
|
console.error("获取训练时间失败:", error);
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
background-color: rgba(242, 244, 248, 1);
|
background-color: rgba(242, 244, 248, 1);
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 750rpx;
|
width: 750rpx;
|
||||||
height: 4112rpx;
|
//height: 4112rpx;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
.group_1 {
|
.group_1 {
|
||||||
background-color: rgba(255, 255, 255, 1);
|
background-color: rgba(255, 255, 255, 1);
|
||||||
@ -247,7 +247,7 @@
|
|||||||
.group_5 {
|
.group_5 {
|
||||||
background-color: rgba(255, 255, 255, 1);
|
background-color: rgba(255, 255, 255, 1);
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
height: 2870rpx;
|
//height: 2870rpx;
|
||||||
width: 686rpx;
|
width: 686rpx;
|
||||||
position: relative;
|
position: relative;
|
||||||
margin: -30rpx 0 0 32rpx;
|
margin: -30rpx 0 0 32rpx;
|
||||||
|
@ -1,17 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="page flex-col">
|
<view class="page flex-col">
|
||||||
<view class="group_1 flex-row">
|
<view style="width: 100%;background: #f4f5f6;box-sizing: border-box;padding-top: 88px;">
|
||||||
|
<headers titles="课程详情">
|
||||||
</view>
|
<uni-icons type="left" color="#000000" size="22px"></uni-icons>
|
||||||
<view class="group_2 flex-row">
|
</headers>
|
||||||
<image
|
|
||||||
class="label_1"
|
|
||||||
referrerpolicy="no-referrer"
|
|
||||||
src="/static/lanhu_kechengxiangqing/FigmaDDSSlicePNG53ddee177d4f9800624b95a9ec941112.png"
|
|
||||||
@click="goBack()"
|
|
||||||
/>
|
|
||||||
<text class="text_2">课程详情</text>
|
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
<view class="group_3 flex-col">
|
<view class="group_3 flex-col">
|
||||||
<image
|
<image
|
||||||
@ -41,20 +33,11 @@
|
|||||||
<view class="group_5 flex-col">
|
<view class="group_5 flex-col">
|
||||||
<view class="section_4 flex-row justify-between">
|
<view class="section_4 flex-row justify-between">
|
||||||
<view class="block_3 flex-col"></view>
|
<view class="block_3 flex-col"></view>
|
||||||
<text class="text_10">报名类型</text>
|
<text class="text_10">课程介绍</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="image-wrapper_2 flex-row">
|
<view class="u-content">
|
||||||
<image
|
<u-parse :content="courseDetails.remark"></u-parse>
|
||||||
class="image_2"
|
|
||||||
referrerpolicy="no-referrer"
|
|
||||||
src="/static/lanhu_kechengxiangqing/FigmaDDSSlicePNG156254d307fe40d6e67828fbe5adb90f.png"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
<image
|
|
||||||
class="image_3"
|
|
||||||
referrerpolicy="no-referrer"
|
|
||||||
src="/static/lanhu_kechengxiangqing/FigmaDDSSlicePNG40a433e56593a25193fc18c2d385444f.png"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="group_6 flex-row">
|
<view class="group_6 flex-row">
|
||||||
<view class="image-text_1 flex-col justify-between" @click="zxkf()">
|
<view class="image-text_1 flex-col justify-between" @click="zxkf()">
|
||||||
@ -75,8 +58,10 @@
|
|||||||
import request from "@/utils/request";
|
import request from "@/utils/request";
|
||||||
import config from "@/config.js"
|
import config from "@/config.js"
|
||||||
import {getLocalUserInfo, getUserInfo} from "@/utils/auth";
|
import {getLocalUserInfo, getUserInfo} from "@/utils/auth";
|
||||||
|
import headers from "@/components/header/headers.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
components: {headers},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
courseId: undefined,
|
courseId: undefined,
|
||||||
@ -149,4 +134,8 @@ export default {
|
|||||||
<style lang='scss'>
|
<style lang='scss'>
|
||||||
@import '../common/common.scss';
|
@import '../common/common.scss';
|
||||||
@import './assets/style/index.rpx.scss';
|
@import './assets/style/index.rpx.scss';
|
||||||
|
.u-content{
|
||||||
|
margin-top: 20rpx;
|
||||||
|
padding: 10rpx;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
</headers>
|
</headers>
|
||||||
</view>
|
</view>
|
||||||
<view class="group_4 flex-col">
|
<view class="group_4 flex-col">
|
||||||
<view class="list_1 flex-col">
|
<view class="list_1 flex-col" v-if="evaluate.length > 0">
|
||||||
<scroll-view style="height: 1400rpx;" scroll-y="true" class="itemContent"
|
<scroll-view style="height: 1400rpx;" scroll-y="true" class="itemContent"
|
||||||
@scrolltolower="onReachBottomCus" refresher-enabled @refresherrefresh="onRefresherrefresh"
|
@scrolltolower="onReachBottomCus" refresher-enabled @refresherrefresh="onRefresherrefresh"
|
||||||
:refresher-triggered="isTriggered">
|
:refresher-triggered="isTriggered">
|
||||||
@ -38,6 +38,12 @@
|
|||||||
</view>
|
</view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="empty-container" v-else>
|
||||||
|
<u-empty
|
||||||
|
mode="data"
|
||||||
|
text="评价为空"
|
||||||
|
/>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
@ -148,4 +154,18 @@
|
|||||||
<style lang='scss'>
|
<style lang='scss'>
|
||||||
@import '../common/common.scss';
|
@import '../common/common.scss';
|
||||||
@import './assets/style/index.rpx.scss';
|
@import './assets/style/index.rpx.scss';
|
||||||
|
.empty-container {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center; /* 水平居中 */
|
||||||
|
align-items: center; /* 垂直居中 */
|
||||||
|
height: 100vh; /* 或者你需要撑满的高度 */
|
||||||
|
}
|
||||||
|
.text-group_1 {
|
||||||
|
display: inline-block;
|
||||||
|
max-width: 4em; /* 一个汉字大概占1em,3em就是三个字 */
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
@ -111,8 +111,13 @@
|
|||||||
} else if (options.type === 'kaoshi') {
|
} else if (options.type === 'kaoshi') {
|
||||||
this.title = '考试'
|
this.title = '考试'
|
||||||
//评价类型为考试
|
//评价类型为考试
|
||||||
this.info.evaluateType = 0
|
this.info.evaluateType = 1
|
||||||
|
this.info.busiId = data.batchItemId
|
||||||
}
|
}
|
||||||
|
this.info.createTime = undefined
|
||||||
|
this.info.updataTime = undefined
|
||||||
|
this.info.creator = undefined
|
||||||
|
this.info.updater = undefined
|
||||||
} else {
|
} else {
|
||||||
Object.assign(this.info, data);
|
Object.assign(this.info, data);
|
||||||
}
|
}
|
||||||
@ -171,4 +176,11 @@
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
/* 新增:水平居中 */
|
/* 新增:水平居中 */
|
||||||
}
|
}
|
||||||
|
.text-group_2 {
|
||||||
|
display: inline-block;
|
||||||
|
max-width: 4em; /* 一个汉字大概占1em,3em就是三个字 */
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,120 +1,124 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="page flex-col">
|
<view class="page flex-col">
|
||||||
<view class="block_1 flex-row">
|
<view class="block_1 flex-row">
|
||||||
|
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
<view class="block_2 flex-col">
|
<view class="block_2 flex-col">
|
||||||
<view class="box_3 flex-row">
|
<view class="box_3 flex-row">
|
||||||
<image
|
<image
|
||||||
class="label_1"
|
class="label_1"
|
||||||
referrerpolicy="no-referrer"
|
referrerpolicy="no-referrer"
|
||||||
src="/static/lanhu_kaoshijieguoluru/FigmaDDSSlicePNGacf527a62cbe7351c6472edd8f5b2814.png"
|
src="/static/lanhu_kaoshijieguoluru/FigmaDDSSlicePNGacf527a62cbe7351c6472edd8f5b2814.png"
|
||||||
@click="handleBack()"
|
@click="handleBack()"
|
||||||
/>
|
/>
|
||||||
<text class="text_1">考试结果录入</text>
|
<text class="text_1">考试结果录入</text>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
<scroll-view
|
<scroll-view
|
||||||
class="scroll-view"
|
class="scroll-view"
|
||||||
scroll-y
|
scroll-y
|
||||||
:style="{ height: scrollHeight + 'px' }"
|
:style="{ height: scrollHeight + 'px' }"
|
||||||
refresher-enabled @refresherrefresh="onRefresherrefresh" :refresher-triggered="isTriggered"
|
refresher-enabled @refresherrefresh="onRefresherrefresh" :refresher-triggered="isTriggered"
|
||||||
>
|
>
|
||||||
<view
|
<view
|
||||||
class="box_5 flex-col" v-for="(item, index) in examList"
|
class="box_5 flex-col" v-for="(item, index) in examList"
|
||||||
:key="index"
|
:key="index"
|
||||||
:style="{ height: (item.subject != 2 && item.subject != 3) ? '210rpx' : 'auto' }">
|
:style="{ height: ((item.subject != 2 && item.subject != 3) || getButtonInfo(item).text === '1') ? '230rpx' : 'auto' }">
|
||||||
<view class="block_3 flex-row justify-between">
|
<view class="block_3 flex-row justify-between">
|
||||||
<view class="text-group_1 flex-col justify-between">
|
<view class="text-group_1 flex-col justify-between">
|
||||||
|
|
||||||
<text class="text_2" v-if="item.subject == 1 || item.subject == 4">{{ formatDate(item.examTime) }}</text>
|
<text class="text_2" v-if="item.subject == 1 || item.subject == 4">{{
|
||||||
<text class="text_2" v-else>{{ formatDate(item.startTime) }}</text>
|
formatDate(item.examTime)
|
||||||
|
}}
|
||||||
<text class="text_3">{{ item.courseName }}</text>
|
</text>
|
||||||
</view>
|
<text class="text_2" v-else>{{ formatDate(item.startTime) }}</text>
|
||||||
<view class="text-group_2 flex-col justify-between">
|
|
||||||
<text class="text_4" v-if="item.examScore">{{ item.examScore }}</text>
|
<text class="text_3">{{ item.courseName }}</text>
|
||||||
<text class="text_4" v-else>{{ '--' }}</text>
|
</view>
|
||||||
<text class="text_5">{{ getStatusText(item.examStatus) }}</text>
|
<view class="text-group_2 flex-col justify-between">
|
||||||
</view>
|
<text class="text_4" v-if="item.examScore">{{ item.examScore }}</text>
|
||||||
</view>
|
<text class="text_4" v-else>{{ '--' }}</text>
|
||||||
<view class="block_4 flex-row justify-between">
|
<text class="text_5">{{ getStatusText(item.examStatus) }}</text>
|
||||||
<view class="text-wrapper_1 flex-col">
|
</view>
|
||||||
<text class="text_6">{{getCourseTypeText(item.subject)}}</text>
|
|
||||||
</view>
|
|
||||||
<view class="text-wrapper_2 flex-col">
|
|
||||||
<text class="text_7">{{ item.courseType }}</text>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="text-wrapper_3 flex-row justify-between" v-if="item.subject == 2 || item.subject == 3">
|
|
||||||
<text class="text_8">考试地址:</text>
|
|
||||||
<text class="text_9">{{ item.addr }}</text>
|
|
||||||
</view>
|
|
||||||
<view class="block_5 flex-row" v-if="item.subject == 2 || item.subject == 3">
|
|
||||||
<view class="text-wrapper_4 flex-col" @click="handleButtonClick(item)">
|
|
||||||
<!-- <text class="text_10" v-if="item.fraction != null && item.ifPass">开始评价</text>
|
|
||||||
<text class="text_10" v-else-if="item.fraction == null && (item.ifPass == null || item.ifPass == 0)">成绩录入</text>
|
|
||||||
<text class="text_10" v-else-if="!item.ifEvaluate">查看评价</text> -->
|
|
||||||
<text class="text_10">{{ getButtonInfo(item).text }}</text>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<!-- <view class="list_1 flex-col">
|
|
||||||
<view class="list-items_1 flex-col" v-for="(item, index) in examList" :key="index" >
|
|
||||||
<view class="block_6 flex-row justify-between">
|
|
||||||
<view class="text-group_3 flex-col justify-between">
|
|
||||||
<text class="text_11" >{{ formatDate(item.examTime) }}</text>
|
|
||||||
<text class="text_12" >{{item.courseName}}</text>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="text-group_4 flex-col justify-between">
|
<view class="block_4 flex-row justify-between">
|
||||||
<text
|
<view class="text-wrapper_1 flex-col">
|
||||||
class="text_13"
|
<text class="text_6">{{ getCourseTypeText(item.subject) }}</text>
|
||||||
:style="{ color: item.examScore }"
|
</view>
|
||||||
>{{item.examScore}}</text>
|
<view class="text-wrapper_2 flex-col">
|
||||||
<text
|
<text class="text_7">{{ item.courseType }}</text>
|
||||||
class="text_14"
|
</view>
|
||||||
:style="{ color: item.examStatus }"
|
</view>
|
||||||
>{{ getStatusText(item.examStatus) }}</text>
|
<view class="text-wrapper_3 flex-row justify-between" v-if="item.subject == 2 || item.subject == 3">
|
||||||
|
<text class="text_8">考试地址:</text>
|
||||||
|
<text class="text_9">{{ item.addr }}</text>
|
||||||
|
</view>
|
||||||
|
<view class="block_5 flex-row" v-if="(item.subject == 2 || item.subject == 3) && getButtonInfo(item).text !== '1'">
|
||||||
|
<view class="text-wrapper_4 flex-col" @click="handleButtonClick(item)" >
|
||||||
|
<!-- <text class="text_10" v-if="item.fraction != null && item.ifPass">开始评价</text>
|
||||||
|
<text class="text_10" v-else-if="item.fraction == null && (item.ifPass == null || item.ifPass == 0)">成绩录入</text>
|
||||||
|
<text class="text_10" v-else-if="!item.ifEvaluate">查看评价</text> -->
|
||||||
|
<text class="text_10">{{ getButtonInfo(item).text }}</text>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="block_7 flex-row justify-between">
|
<!-- <view class="list_1 flex-col">
|
||||||
<view class="text-wrapper_5 flex-col">
|
<view class="list-items_1 flex-col" v-for="(item, index) in examList" :key="index" >
|
||||||
<text class="text_15" >{{getCourseTypeText(item.subject)}}</text>
|
<view class="block_6 flex-row justify-between">
|
||||||
</view>
|
<view class="text-group_3 flex-col justify-between">
|
||||||
<view class="text-wrapper_6 flex-col">
|
<text class="text_11" >{{ formatDate(item.examTime) }}</text>
|
||||||
<text class="text_16" >{{item.courseType}}</text>
|
<text class="text_12" >{{item.courseName}}</text>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="text-group_4 flex-col justify-between">
|
||||||
|
<text
|
||||||
|
class="text_13"
|
||||||
|
:style="{ color: item.examScore }"
|
||||||
|
>{{item.examScore}}</text>
|
||||||
|
<text
|
||||||
|
class="text_14"
|
||||||
|
:style="{ color: item.examStatus }"
|
||||||
|
>{{ getStatusText(item.examStatus) }}</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="block_7 flex-row justify-between">
|
||||||
|
<view class="text-wrapper_5 flex-col">
|
||||||
|
<text class="text_15" >{{getCourseTypeText(item.subject)}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="text-wrapper_6 flex-col">
|
||||||
|
<text class="text_16" >{{item.courseType}}</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="text-wrapper_7 flex-row justify-between">
|
||||||
|
<text class="text_17" >考试地址:</text>
|
||||||
|
<text class="text_18" >山东省济南市历下区</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="text-wrapper_7 flex-row justify-between">
|
</view>
|
||||||
<text class="text_17" >考试地址:</text>
|
</view> -->
|
||||||
<text class="text_18" >山东省济南市历下区</text>
|
</scroll-view>
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view> -->
|
|
||||||
</scroll-view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="block_8 flex-col">
|
<view class="block_8 flex-col">
|
||||||
<view class="text-wrapper_8 flex-col" @click="onEnterScoreClick()">
|
<view class="text-wrapper_8 flex-col" @click="onEnterScoreClick()">
|
||||||
|
|
||||||
<text class="text_19">笔试成绩录入</text>
|
<text class="text_19">笔试成绩录入</text>
|
||||||
<u-picker
|
<u-picker
|
||||||
:show="pickerShow"
|
:show="pickerShow"
|
||||||
:columns="[pickerColumns]"
|
:columns="[pickerColumns]"
|
||||||
keyName="label"
|
keyName="label"
|
||||||
@confirm="onPickerConfirm"
|
@confirm="onPickerConfirm"
|
||||||
@cancel="pickerShow = false"
|
@cancel="pickerShow = false"
|
||||||
/>
|
/>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { getLocalUserInfo } from '../../utils/auth';
|
import {getLocalUserInfo} from '../../utils/auth';
|
||||||
import request from '@/utils/request.js'
|
import request from '@/utils/request.js'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -144,256 +148,260 @@ export default {
|
|||||||
lanhutext7: '山东省济南市历下区'
|
lanhutext7: '山东省济南市历下区'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
userInfo: {},
|
userInfo: {},
|
||||||
examList: {},
|
examList: {},
|
||||||
examTwoList: {},
|
examTwoList: {},
|
||||||
scrollHeight: 0,
|
scrollHeight: 0,
|
||||||
constants: {},
|
constants: {},
|
||||||
courseList: [],
|
courseList: [],
|
||||||
pickerShow: false,
|
pickerShow: false,
|
||||||
pickerColumns: [],
|
pickerColumns: [],
|
||||||
curNow: 0,
|
curNow: 0,
|
||||||
isTriggered: false,
|
isTriggered: false,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
onLoad(){
|
onLoad() {
|
||||||
this.userInfo = getLocalUserInfo()
|
this.userInfo = getLocalUserInfo()
|
||||||
this.getExamList()
|
this.getExamList()
|
||||||
this.getCourseList()
|
this.getCourseList()
|
||||||
},
|
},
|
||||||
onReady() {
|
onReady() {
|
||||||
// 动态计算滚动区域高度
|
// 动态计算滚动区域高度
|
||||||
this.calculateScrollHeight();
|
this.calculateScrollHeight();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
handleBack() {
|
handleBack() {
|
||||||
uni.navigateBack({
|
uni.navigateBack({
|
||||||
delta: 1
|
delta: 1
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 下拉刷新数据
|
* 下拉刷新数据
|
||||||
*/
|
*/
|
||||||
onRefresherrefresh() {
|
onRefresherrefresh() {
|
||||||
this.isTriggered = true
|
this.isTriggered = true
|
||||||
this.pageNo = 1
|
this.pageNo = 1
|
||||||
this.total = 0
|
this.total = 0
|
||||||
this.examList = []
|
this.examList = []
|
||||||
this.getExamList()
|
this.getExamList()
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
onEnterScoreClick() {
|
onEnterScoreClick() {
|
||||||
if (this.courseList.length > 0) {
|
if (this.courseList.length > 0) {
|
||||||
this.pickerColumns = this.courseList.map(item => ({
|
this.pickerColumns = this.courseList.map(item => ({
|
||||||
label: item.courseName,
|
label: item.courseName,
|
||||||
value: item.courseId
|
value: item.courseId
|
||||||
}));
|
}));
|
||||||
this.pickerShow = true;
|
this.pickerShow = true;
|
||||||
} else if (this.courseList.length === 1) {
|
} else if (this.courseList.length === 1) {
|
||||||
this.goToScoreEntry(this.courseList[0]);
|
this.goToScoreEntry(this.courseList[0]);
|
||||||
} else {
|
} else {
|
||||||
this.$u.toast("暂无课程信息");
|
this.$u.toast("暂无课程信息");
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
onPickerConfirm(e) {
|
onPickerConfirm(e) {
|
||||||
const selectedCourseId = e.value[0];
|
const selectedCourseId = e.value[0];
|
||||||
const selectedCourse = this.courseList.find(item => item.courseId === selectedCourseId.value);
|
const selectedCourse = this.courseList.find(item => item.courseId === selectedCourseId.value);
|
||||||
|
|
||||||
console.log('courseList', this.courseList);
|
console.log('courseList', this.courseList);
|
||||||
console.log('selectedCourseId', selectedCourseId);
|
console.log('selectedCourseId', selectedCourseId);
|
||||||
console.log('selectedCourse', selectedCourse);
|
console.log('selectedCourse', selectedCourse);
|
||||||
|
|
||||||
if (selectedCourse) {
|
if (selectedCourse) {
|
||||||
this.getProcess(selectedCourse.courseId).then(processData => {
|
this.getProcess(selectedCourse.courseId).then(processData => {
|
||||||
if (!processData || processData.length === 0) {
|
if (!processData || processData.length === 0) {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: '请联系驾校负责人',
|
title: '请联系驾校负责人',
|
||||||
icon: 'none'
|
icon: 'none'
|
||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 检查是否存在科目1或科目4的数据
|
// 检查是否存在科目1或科目4的数据
|
||||||
const hasSubject1Or4 = processData.some(item =>
|
const hasSubject1Or4 = processData.some(item =>
|
||||||
item.subject === 1 || item.subject === 4
|
item.subject === 1 || item.subject === 4
|
||||||
);
|
);
|
||||||
|
|
||||||
if (hasSubject1Or4) {
|
if (hasSubject1Or4) {
|
||||||
this.goToScoreEntry(selectedCourse);
|
this.goToScoreEntry(selectedCourse);
|
||||||
} else {
|
} else {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: '未找到考试信息',
|
title: '未找到考试信息',
|
||||||
icon: 'none'
|
icon: 'none'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
this.pickerShow = false;
|
this.pickerShow = false;
|
||||||
},
|
},
|
||||||
|
|
||||||
goToScoreEntry(course) {
|
goToScoreEntry(course) {
|
||||||
this.$u.route({
|
this.$u.route({
|
||||||
url: '/newPages/examinationAdd/index',
|
url: '/newPages/examinationAdd/index',
|
||||||
params: {
|
params: {
|
||||||
courseId: course.value,
|
courseId: course.value,
|
||||||
courseType: course.courseType,
|
courseType: course.courseType,
|
||||||
userId: course.userId,
|
userId: course.userId,
|
||||||
tenantId: course.tenantId,
|
tenantId: course.tenantId,
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getProcess(courseId) {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
request({
|
||||||
|
url: '/app-api/process/getAllByUserIdAndCourseId',
|
||||||
|
method: 'GET',
|
||||||
|
params: {
|
||||||
|
userId: this.userInfo.id,
|
||||||
|
courseId: courseId,
|
||||||
|
}
|
||||||
|
}).then(res => {
|
||||||
|
console.log('res123', res);
|
||||||
|
this.processList = res.data;
|
||||||
|
resolve(res.data);
|
||||||
|
}).catch(err => {
|
||||||
|
console.error('查询失败:', err);
|
||||||
|
reject(err);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
getExamList() {
|
||||||
|
request({
|
||||||
|
url: '/app-api/process/getExamListByUserId',
|
||||||
|
method: 'GET',
|
||||||
|
params: {
|
||||||
|
userId: this.userInfo.id,
|
||||||
|
}
|
||||||
|
}).then(res => {
|
||||||
|
this.examList = res.data
|
||||||
|
this.getExamTwoList()
|
||||||
|
console.log('examList', this.examList)
|
||||||
|
console.log('res', res)
|
||||||
|
this.isTriggered = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getExamTwoList() {
|
||||||
|
request({
|
||||||
|
url: '/app-api/examBatch/selectExamByUserIdAndCoachId',
|
||||||
|
method: 'GET',
|
||||||
|
params: {
|
||||||
|
userId: this.userInfo.id,
|
||||||
|
}
|
||||||
|
}).then(res => {
|
||||||
|
this.examTwoList = res.data
|
||||||
|
console.log('examTwoList', this.examTwoList)
|
||||||
|
console.log('resTwo', res)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getCourseList() {
|
||||||
|
request({
|
||||||
|
url: '/app-api/small/drive/school-course-order/getCourseByLoginUser',
|
||||||
|
method: 'GET'
|
||||||
|
}).then(res => {
|
||||||
|
this.courseList = res.data
|
||||||
|
console.log('res111', res)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getStatusText(status) {
|
||||||
|
const statusMap = {
|
||||||
|
0: '未通过',
|
||||||
|
1: '已通过',
|
||||||
|
9: '已送考',
|
||||||
|
'null': '未送考',
|
||||||
|
'true': '已通过',
|
||||||
|
'false': '未通过',
|
||||||
|
};
|
||||||
|
return statusMap[status] || '未知状态';
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
getCourseTypeText(status) {
|
||||||
|
const statusMap = {
|
||||||
|
'1': '科目一',
|
||||||
|
'2': '科目二',
|
||||||
|
'3': '科目三',
|
||||||
|
'4': '科目四',
|
||||||
|
};
|
||||||
|
return statusMap[status] || '未知状态';
|
||||||
|
},
|
||||||
|
formatDate(timestamp) {
|
||||||
|
const date = new Date(timestamp);
|
||||||
|
const year = date.getFullYear();
|
||||||
|
const month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从0开始,需要+1
|
||||||
|
const day = String(date.getDate()).padStart(2, '0');
|
||||||
|
return `${year}-${month}-${day}`;
|
||||||
|
},
|
||||||
|
|
||||||
|
calculateScrollHeight() {
|
||||||
|
// 获取屏幕高度
|
||||||
|
const screenHeight = uni.getSystemInfoSync().windowHeight;
|
||||||
|
// 获取顶部区域高度
|
||||||
|
const topHeight = 160;
|
||||||
|
// 计算滚动区域高度
|
||||||
|
this.scrollHeight = screenHeight - topHeight;
|
||||||
|
},
|
||||||
|
|
||||||
|
getButtonInfo(item) {
|
||||||
|
console.log('item', item)
|
||||||
|
if (item.fraction == null) {
|
||||||
|
return {text: '成绩录入', type: 'input'}
|
||||||
|
} else if (!item.ifPass) {
|
||||||
|
return {text: '考试未通过', type: 'failed'}
|
||||||
|
} else if (!item.ifEvaluate) {
|
||||||
|
return {text: '开始评价', type: 'evaluate'}
|
||||||
|
}else {
|
||||||
|
return {text: '1', type: 'evaluate'}
|
||||||
|
}
|
||||||
|
// else if (item.ifEvaluate) {
|
||||||
|
// return { text: '查看评价', type: 'view' }
|
||||||
|
// }
|
||||||
|
},
|
||||||
|
|
||||||
|
handleButtonClick(item) {
|
||||||
|
const buttonInfo = this.getButtonInfo(item)
|
||||||
|
|
||||||
|
switch (buttonInfo.type) {
|
||||||
|
case 'input':
|
||||||
|
this.goScoreInput(item)
|
||||||
|
break
|
||||||
|
case 'evaluate':
|
||||||
|
this.goEvaluate(item)
|
||||||
|
break
|
||||||
|
case 'view':
|
||||||
|
this.goViewEvaluation(item)
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 跳转到成绩录入页面
|
||||||
|
goScoreInput(item) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/newPages/examinationAdd/index?id=${item.batchItemId}&batchId=${item.batchId}&batchId=${item.batchId}&tenantId=${item.tenantId}&courseType=${item.courseType}&subject=${item.subject}&courseId=${item.courseId}&coachId=${item.coachId}`
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 跳转到开始评价页面
|
||||||
|
goEvaluate(item) {
|
||||||
|
item = JSON.stringify(item)
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/newPages/evaluateAdd/index?data=${item}&type=kaoshi&controls=add`
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 跳转到查看评价页面
|
||||||
|
goViewEvaluation(item) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/newPages/evaluationDetail/index?evaluateId=${item.evaluateId}`
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
getProcess(courseId) {
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
request({
|
|
||||||
url: '/app-api/process/getAllByUserIdAndCourseId',
|
|
||||||
method: 'GET',
|
|
||||||
params: {
|
|
||||||
userId: this.userInfo.id,
|
|
||||||
courseId: courseId,
|
|
||||||
}
|
|
||||||
}).then(res => {
|
|
||||||
console.log('res123', res);
|
|
||||||
this.processList = res.data;
|
|
||||||
resolve(res.data);
|
|
||||||
}).catch(err => {
|
|
||||||
console.error('查询失败:', err);
|
|
||||||
reject(err);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
getExamList(){
|
|
||||||
request({
|
|
||||||
url: '/app-api/process/getExamListByUserId',
|
|
||||||
method:'GET',
|
|
||||||
params: {
|
|
||||||
userId: this.userInfo.id,
|
|
||||||
}
|
|
||||||
}).then(res => {
|
|
||||||
this.examList = res.data
|
|
||||||
this.getExamTwoList()
|
|
||||||
console.log('examList', this.examList)
|
|
||||||
console.log('res',res)
|
|
||||||
this.isTriggered = false
|
|
||||||
})
|
|
||||||
},
|
|
||||||
getExamTwoList(){
|
|
||||||
request({
|
|
||||||
url: '/app-api/examBatch/selectExamByUserIdAndCoachId',
|
|
||||||
method: 'GET',
|
|
||||||
params: {
|
|
||||||
userId: this.userInfo.id,
|
|
||||||
}
|
|
||||||
}).then(res => {
|
|
||||||
this.examTwoList = res.data
|
|
||||||
console.log('examTwoList', this.examTwoList)
|
|
||||||
console.log('resTwo',res)
|
|
||||||
})
|
|
||||||
},
|
|
||||||
getCourseList(){
|
|
||||||
request({
|
|
||||||
url:'/app-api/small/drive/school-course-order/getCourseByLoginUser',
|
|
||||||
method: 'GET'
|
|
||||||
}).then(res => {
|
|
||||||
this.courseList = res.data
|
|
||||||
console.log('res111',res)
|
|
||||||
})
|
|
||||||
},
|
|
||||||
getStatusText(status) {
|
|
||||||
const statusMap = {
|
|
||||||
0: '未通过',
|
|
||||||
1: '已通过',
|
|
||||||
9: '已送考',
|
|
||||||
'null': '未送考',
|
|
||||||
'true': '已通过',
|
|
||||||
'false': '未通过',
|
|
||||||
};
|
|
||||||
return statusMap[status] || '未知状态';
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
getCourseTypeText(status) {
|
|
||||||
const statusMap = {
|
|
||||||
'1': '科目一',
|
|
||||||
'2': '科目二',
|
|
||||||
'3': '科目三',
|
|
||||||
'4': '科目四',
|
|
||||||
};
|
|
||||||
return statusMap[status] || '未知状态';
|
|
||||||
},
|
|
||||||
formatDate(timestamp) {
|
|
||||||
const date = new Date(timestamp);
|
|
||||||
const year = date.getFullYear();
|
|
||||||
const month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从0开始,需要+1
|
|
||||||
const day = String(date.getDate()).padStart(2, '0');
|
|
||||||
return `${year}-${month}-${day}`;
|
|
||||||
},
|
|
||||||
|
|
||||||
calculateScrollHeight() {
|
|
||||||
// 获取屏幕高度
|
|
||||||
const screenHeight = uni.getSystemInfoSync().windowHeight;
|
|
||||||
// 获取顶部区域高度
|
|
||||||
const topHeight = 160;
|
|
||||||
// 计算滚动区域高度
|
|
||||||
this.scrollHeight = screenHeight - topHeight;
|
|
||||||
},
|
|
||||||
|
|
||||||
getButtonInfo(item) {
|
|
||||||
console.log('item', item)
|
|
||||||
if (item.fraction == null ) {
|
|
||||||
return { text: '成绩录入', type: 'input' }
|
|
||||||
} else if (!item.ifPass) {
|
|
||||||
return { text: '成绩录入', type: 'input' }
|
|
||||||
} else if (item.ifEvaluate) {
|
|
||||||
return { text: '查看评价', type: 'view' }
|
|
||||||
} else {
|
|
||||||
return { text: '开始评价', type: 'evaluate' }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
handleButtonClick(item) {
|
|
||||||
const buttonInfo = this.getButtonInfo(item)
|
|
||||||
|
|
||||||
switch(buttonInfo.type) {
|
|
||||||
case 'input':
|
|
||||||
this.goScoreInput(item)
|
|
||||||
break
|
|
||||||
case 'evaluate':
|
|
||||||
this.goEvaluate(item)
|
|
||||||
break
|
|
||||||
case 'view':
|
|
||||||
this.goViewEvaluation(item)
|
|
||||||
break
|
|
||||||
default:
|
|
||||||
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
// 跳转到成绩录入页面
|
|
||||||
goScoreInput(item) {
|
|
||||||
uni.navigateTo({
|
|
||||||
url: `/newPages/examinationAdd/index?id=${item.batchItemId}&batchId=${item.batchId}&batchId=${item.batchId}&tenantId=${item.tenantId}&courseType=${item.courseType}&subject=${item.subject}&courseId=${item.courseId}&coachId=${item.coachId}`
|
|
||||||
});
|
|
||||||
},
|
|
||||||
// 跳转到开始评价页面
|
|
||||||
goEvaluate(item) {
|
|
||||||
uni.navigateTo({
|
|
||||||
url: `/newPages/evaluation/index?batchId=${item.batchId}&evaluateId=${item.evaluateId || ''}`
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
// 跳转到查看评价页面
|
|
||||||
goViewEvaluation(item) {
|
|
||||||
uni.navigateTo({
|
|
||||||
url: `/newPages/evaluationDetail/index?evaluateId=${item.evaluateId}`
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
@ -22,14 +22,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="box_4 flex-row justify-between">
|
<view class="box_4 flex-row justify-between">
|
||||||
<view class="image-text_2 flex-row justify-between">
|
<view class="image-text_2 flex-row justify-between">
|
||||||
<image
|
<u-notice-bar direction="column" duration="10000" bgColor="#e9f1ff" color="black" :text="announcement" icon="/static/lanhu_shouye2gai/FigmaDDSSlicePNGd2c17b5f24182e597acbfa50481040c1.png"></u-notice-bar>
|
||||||
class="label_2"
|
|
||||||
referrerpolicy="no-referrer"
|
|
||||||
src="/static/lanhu_shouye2gai/FigmaDDSSlicePNGd2c17b5f24182e597acbfa50481040c1.png"
|
|
||||||
/>
|
|
||||||
<text class="text-group_2">
|
|
||||||
“高科技”驾考作弊团伙被抓,驾校校长教练负责介绍学员
|
|
||||||
</text>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="group_3 flex-col justify-between">
|
<view class="group_3 flex-col justify-between">
|
||||||
<view class="block_5 flex-col"></view>
|
<view class="block_5 flex-col"></view>
|
||||||
@ -92,6 +85,7 @@ export default {
|
|||||||
],
|
],
|
||||||
swiperList: [],
|
swiperList: [],
|
||||||
msg: "1",
|
msg: "1",
|
||||||
|
announcement:['ceshi1111','测试111111111111111111111111111111111111111111'],
|
||||||
constants: {},
|
constants: {},
|
||||||
schoolList: [
|
schoolList: [
|
||||||
// {
|
// {
|
||||||
|
@ -104,7 +104,7 @@
|
|||||||
|
|
||||||
<view @click="changeStartPay(2)" class="dj-list">
|
<view @click="changeStartPay(2)" class="dj-list">
|
||||||
<view class="dj-list-left">
|
<view class="dj-list-left">
|
||||||
<image class="dj-list-left-img" src="../../static/imgs/yfk.png" mode=""></image>
|
<image class="dj-list-left-img" src="../../static/imgs/yfk2.png" mode=""></image>
|
||||||
<view class="dj-list-left-name">线下支付</view>
|
<view class="dj-list-left-name">线下支付</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="dj-list-right">
|
<view class="dj-list-right">
|
||||||
@ -116,7 +116,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view @click="changeStartPay(1)" class="dj-list">
|
<view @click="changeStartPay(1)" class="dj-list">
|
||||||
<view class="dj-list-left">
|
<view class="dj-list-left">
|
||||||
<image class="dj-list-left-img" src="../../static/imgs/qbdd.png" mode=""></image>
|
<image class="dj-list-left-img" src="../../static/imgs/qbdd2.png" mode=""></image>
|
||||||
<view class="dj-list-left-name">微信</view>
|
<view class="dj-list-left-name">微信</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="dj-list-right">
|
<view class="dj-list-right">
|
||||||
@ -753,7 +753,7 @@ export default {
|
|||||||
|
|
||||||
.bm-page-button-main {
|
.bm-page-button-main {
|
||||||
border-radius: 50rpx;
|
border-radius: 50rpx;
|
||||||
background-color: #4aa76f;
|
background-color: #2C78F5;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -866,7 +866,7 @@ export default {
|
|||||||
font-size: 22rpx;
|
font-size: 22rpx;
|
||||||
|
|
||||||
.bm-page-right-zd {
|
.bm-page-right-zd {
|
||||||
background-color: rgba(94, 255, 153, 0.2);
|
background-color: #dfebff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bm-page-right-c2 {
|
.bm-page-right-c2 {
|
||||||
@ -921,8 +921,8 @@ export default {
|
|||||||
height: 18px;
|
height: 18px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
border: 1px solid #4aa76f;
|
border: 1px solid #2C78F5;
|
||||||
background: #4aa76f;
|
background: #2C78F5;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@ -938,7 +938,7 @@ export default {
|
|||||||
width: 120px;
|
width: 120px;
|
||||||
height: 35px;
|
height: 35px;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
background: #4aa76f;
|
background: #2C78F5;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@ -961,7 +961,7 @@ export default {
|
|||||||
|
|
||||||
.clv {
|
.clv {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
background: #4aa76f;
|
background: #2C78F5;
|
||||||
width: 26px;
|
width: 26px;
|
||||||
height: 26px;
|
height: 26px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
|
BIN
static/imgs/qbdd2.png
Normal file
BIN
static/imgs/qbdd2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 660 B |
BIN
static/imgs/yfk2.png
Normal file
BIN
static/imgs/yfk2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 580 B |
Loading…
Reference in New Issue
Block a user