This commit is contained in:
@fawn-nine
2024-09-10 17:24:13 +08:00
parent 13c656d9b5
commit 9dd7656c3c
12 changed files with 285 additions and 323 deletions

View File

@@ -1,226 +0,0 @@
<template>
<view>
<!-- 公共组件-每个页面必须引入 -->
<public-module></public-module>
<z-nav-bar title="课程说明"></z-nav-bar>
<view class="containerBg">
<view class="proTitle">
<text>点击课程名称即可查看对应的课程说明</text>
</view>
<uni-collapse accordion v-model="accordionVal" @change="change" v-if="treeList.length > 0">
<uni-collapse-item v-for="(item, index) in treeList" :key="index" :title="item.title"
:show-animation="true">
<view class="content">
<!-- <text class="text">{{item.title}}</text> -->
<view class="sub1List">
<view class="item leve2" v-for="(item1, index1) in item.children" :key="index1"
@click="courseInfo(item1)">
<text> --- {{item1.title}}</text>
<view class="sub2List" v-if="item1.children">
<view class="item leve3" v-for="(item2, index2) in item1.children" :key="index2"
@click="courseInfo(item2)">
--- --- {{item2.title}}
<view class="sub3List" v-if="item2.children">
<view class="item leve4" v-for="(item3, index3) in item2.children"
:key="index3" @click="courseInfo(item3)">
--- --- --- {{item3.title}}
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</uni-collapse-item>
</uni-collapse>
</view>
<u-popup :show="infopop" :round="10" @close="closePup">
<!-- {{pupContent}} -->
<view class="infoBox">
<text>超强树选择器树组件树插件无限级联树单选树多选树自定义样式树树形选择 </text>
<view class="audio">
<audio style="text-align: left" :src="current.src" :poster="current.poster" :name="current.name"
:author="current.author" :action="audioAction" controls></audio>
<!-- <view class="audiobox">
<view class="audioinfo">
<image class="audioimg" :src="bookInfo.images" mode="aspectFit"></image>
<image class="audioimgstart" v-if="!this.paused" mode="aspectFit"
src="../../static/audiostart.png" @click="start"></image>
<image class="audioimgstart" v-else mode="aspectFit" src="../../static/audiostop.png"
@click="start"></image>
<view>
<view class="audiotitle">talkBookDetail.title</view>
<view class="audioauthor">bookInfo.author.authorName</view>
<view class="audioauthor">currentTime+'/'+duration秒</view>
<slider class="audioslider" block-size="12" v-model="currentTime" :max="duration"
@change="changeTime"></slider>
<!-- <view @click="start">点击播放/暂停</view> -->
<!-- </view>
</view>
</view> -->
</view>
<view>
<video id="myVideo" src="https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/2minute-demo.mp4"
enable-danmu danmu-btn controls></video>
</view>
</view>
</u-popup>
<z-navigation></z-navigation>
<!-- <music-play :playData="playData"></music-play> -->
</view>
</template>
<script>
// import musicPlay from '@/components/music.vue'
import $http from '@/config/requestConfig.js';
var clear;
import {
mapState
} from 'vuex';
export default {
data() {
return {
playData: {},
value: ['0'],
accordionVal: '0',
// extraIcon:{
// color: '#4cd964',
// size: '100',
// }
treeList: [],
pid: null,
infopop: false,
pupContent: {},
current: {
poster: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/music-a.png',
name: '致爱丽丝',
author: '暂无',
src: 'https://web-ext-storage.dcloud.net.cn/uni-app/ForElise.mp3',
},
audioAction: {
method: 'pause'
}
};
},
//第一次加载
onLoad(e) {
// 隐藏原生的tabbar
uni.hideTabBar();
this.pid = e.pid
console.log(e, '------')
},
computed: {
...mapState(['userInfo'])
},
//页面显示
onShow() {
// 隐藏原生的tabbar
uni.hideTabBar();
this.getData()
},
components: {
// musicPlay
},
//方法
methods: {
change() {},
getData() {
this.$http
.post('medical/home/getCourseMedicalTree')
.then(res => {
if (res.code == 0 && res.labels.length > 0) {
this.treeList = res.labels
} else {
this.treeList = []
}
}).catch(e => {
console.log(e, '报错')
});
},
closePup() {
this.infopop = false
},
courseInfo(item) {
this.$http
.post('medical/home/getCourseMedicalDetail', {
"id": item.id
})
.then(res => {
if (res.code == 0 && res.course.id) {
this.pupContent = res.course
} else {
this.pupContent = {}
}
}).catch(e => {
console.log(e, '报错')
});
this.infopop = true
}
},
};
</script>
<style lang="scss" scoped>
@import '@/style/mixin.scss';
::v-deep .containerBg {
.uni-collapse-item__title-box {
background-color: transparent !important;
}
.uni-collapse-item__title {
background-image: linear-gradient(90deg, #258feb 0%, #00e1ec 100%) !important;
text {
color: #fff !important;
font-size: 28rpx !important;
}
}
}
.infoBox {
padding: 20rpx;
font-size: 26rpx;
}
// .leve2{background-color: #71a5ff; }
// .leve3{background-color: #9bbeff; }
// .leve4{background-color: #b6d0ff; }
.containerBg {
// background-color: $containerColor;
background-color: #fff;
padding: 0 20rpx;
min-height: calc(100vh - 270rpx);
}
.uni-collapse-item__title-text {
font-size: 30rpx;
}
.proTitle{text-align: center; padding:20rpx 0 ; margin-bottom: 20rpx; color: #666; font-size: 28rpx;}
.sub1List {
background-color: #f7f7f7;
padding-left: 20rpx;
}
.content {
.item {
line-height: 80rpx;
font-size: 28rpx;
color: #497387;
border-bottom: 1px solid #dae8f0;
}
}
#myVideo {
width: 100%;
}
audio {
width: 100% !important;
}
</style>

View File

@@ -92,7 +92,45 @@
</view>
</view>
<u-divider v-if="preClassList.length == 0 && learningClassList.length == 0" text="暂无数据"></u-divider>
<view class="" v-if="examingClassList.length > 0">
<uni-section class="mb-10 nobg" title="考试中" type="line"></uni-section>
<view class="learnBox">
<view class="newBox" v-if="examingClassList.length > 0">
<view class="item flexbox" v-for="(item, index) in examingClassList" :key="index"
@click="onPageJump('/pages/miniClass/classInfoMan',item)">
<!-- <view class="imgcontainer" :style="{backgroundImage:surl(item.image)}"> -->
<view class="imgcontainer" v-if="item.icon != ''">
<image :src="item.icon" mode="aspectFit"></image>
</view>
<view class="imgcontainer defaultImg" v-else>
<image src="@/static/my_04.png" mode="aspectFit"></image>
</view>
<view class="buyItems">
<view class="">
<text v-show="item.classModel.type == 0">普通班</text>
<text v-show="item.classModel.type == 1">联合班</text>
<text v-show="item.classModel.type == 2">精英班</text>
<text class="txt555" @click="onPageJump('/pages/miniClass/classInfoMan',item)">
{{item.title}}
</text>
</view>
<view class="jianjie">
目标学员人数{{item.number}}
</view>
<view class="jianjie">
班内职务{{item.roleName}}
</view>
<view class="btn_box">
<!-- <text @click="enterClass" v-show="item.state == '0'">一键加入</text> -->
<text class="seeInfo">进入班级</text>
</view>
</view>
</view>
</view>
</view>
</view>
<u-divider v-if="preClassList.length == 0 && learningClassList.length == 0 && examingClassList.length == 0" text="暂无数据"></u-divider>
</view>
<!-- 过期班级 -->
@@ -231,7 +269,8 @@
page: 1,
flag: true, // 函数是否执行完
roleObj:{},
roleCode:undefined
roleCode:undefined,
examingClassList:[]
};
},
//第一次加载
@@ -257,12 +296,12 @@
}
// console.log(this.scrollTop,'this.scrollTop')
},
onPullDownRefresh() {
async onPullDownRefresh() {
console.log('下拉刷新')
// this.status = 3
// this.page = 1
// this.classList = []
// this.getData()
this.classList = await this.getData('1','2')
this.learningClassList = await this.getData('1','1')
this.preClassList = await this.getData('1','0')
this.examingClassList = await this.getData('1','3')
uni.stopPullDownRefresh()
},
onReachBottom() {
@@ -280,10 +319,11 @@
// 隐藏原生的tabbar
// uni.hideTabBar();
this.roleCode = await this.getUserRole()
// console.log('this.roleCode----',this.roleCode);
console.log('this.roleCode----',this.roleCode);
this.classList = await this.getData('1','2')
this.learningClassList = await this.getData('1','1')
this.preClassList = await this.getData('1','0')
this.examingClassList = await this.getData('1','3')
// this.getLearingClassList()
},
components: {

View File

@@ -40,8 +40,7 @@
<view><text class="ciyao">管理成员</text><text class="mainTxt" @click="seeManager">点击查看</text></view>
</view>
<!-- v-if="thisClass.state == '2'" -->
<view class="pingfenBox testBox"
>
<view class="pingfenBox testBox" v-if="thisClass.state == '2'">
<view class="scoreTitle">
<view class="titles flex_box">
<text>总成绩</text>
@@ -50,22 +49,29 @@
</view>
</view>
<!-- v-if="thisClass.state == '3'" -->
<view class="optionsBox" >
<view class="optionsBox">
<!-- v-show="thisClass.state == '2'" -->
<view class="chengji">
<view style="margin-top: 20rpx;">总成绩<text class="scoreNumber greenScore">{{performanceScore.userScore}}</text> <text
class="c999">{{performanceScore.examScore}}分考试分+{{performanceScore.usualScore}}分平时表现分</text></view>
<view>恭喜您获得<text class="greenScore">A证</text><text
class="small_btn border_radius_10 zhengshu">查看证书</text></view>
<view style="margin-top: 20rpx;">总成绩
<text class="scoreNumber greenScore">{{performanceScore.userScore}}</text>
<text
class="c999">{{performanceScore.examScore}}分考试分+{{performanceScore.usualScore}}分平时表现分</text>
</view>
<!-- <view>
恭喜您获得
<text class="greenScore">A证</text>
<text class="small_btn border_radius_10 zhengshu">查看证书</text>
</view> -->
<view style="margin-top: 20rpx; text-align: center;">很遗憾您的成绩未达标</view>
<view class="" style="margin-top: 20rpx; text-align: center;">
<text class="small_btn chongxiu border_radius_10">加入新班级重修</text>
<view class="" style="margin-top: 20rpx; text-align: center;"
v-if="performanceScore.userScore <= 70 && newCLass && newCLass.id">
<text class="small_btn chongxiu border_radius_10"
@click="onPageJump('/pages/miniClass/classInfo',newCLass.id)">加入新班级重修</text>
</view>
</view>
</view>
</view>
<view class="pingfenBox testBox"
v-if="thisClass.state == '3' && classModel.isExam == 1">
<view class="pingfenBox testBox" v-if="thisClass.state == '3' && classModel.isExam == 1">
<view class="scoreTitle">
<view class="titles flex_box">
<text>笔试分</text><uni-icons type="help" size="18" color="#fff"
@@ -190,25 +196,25 @@
<!-- 班内同学 -->
<template v-if="tabId == '2'">
<template v-if="students.length> 0">
<view class="classMateBox" v-if="(thisClass.state == '0' || thisClass.state == '1')">
<view class="newBox flexbox">
<view :class="['item']" v-for="(item, index) in students" :key="index">
<!-- <view class="imgcontainer" :style="{backgroundImage:surl(item.image)}"> -->
<view class="flexbox">
<view class="classmateImg">
<image v-if="item.student.avatar != null && item.student.avatar != ''"
:src="item.student.avatar" mode="aspectFit"></image>
<image v-else src="/static/icon/morenAvavter.png" mode="aspectFit"></image>
<view class="classMateBox" v-if="(thisClass.state == '0' || thisClass.state == '1')">
<view class="newBox flexbox">
<view :class="['item']" v-for="(item, index) in students" :key="index">
<!-- <view class="imgcontainer" :style="{backgroundImage:surl(item.image)}"> -->
<view class="flexbox">
<view class="classmateImg">
<image v-if="item.student.avatar != null && item.student.avatar != ''"
:src="item.student.avatar" mode="aspectFit"></image>
<image v-else src="/static/icon/morenAvavter.png" mode="aspectFit"></image>
</view>
<view class="textItems flex_box">
<text class="txt555"
v-if="item.student.nickname != null && item.student.nickname != ''">
{{item.student.nickname}}
</text>
<text v-else>匿名用户</text>
</view>
</view>
<view class="textItems flex_box">
<text class="txt555"
v-if="item.student.nickname != null && item.student.nickname != ''">
{{item.student.nickname}}
</text>
<text v-else>匿名用户</text>
</view>
</view>
<!-- <view class="" v-if="thisClass.state == '3' || thisClass.state == '2'">
<!-- <view class="" v-if="thisClass.state == '3' || thisClass.state == '2'">
<view class="scoreBox flex_box ">
<view class="item1">
<view class="ciyao">
@@ -236,12 +242,12 @@
</template>
</view>
</view> -->
</view>
</view>
</view>
</view>
<sutdent-score-list :students="students" :classModel="classModel" :tabId="tabId" :thisClass="thisClass"
@chooseStudent="chooseStudent"
v-if="(thisClass.state == '3' || thisClass.state == '2')"></sutdent-score-list>
<sutdent-score-list :students="students" :classModel="classModel" :tabId="tabId"
:thisClass="thisClass" @chooseStudent="chooseStudent"
v-if="(thisClass.state == '3' || thisClass.state == '2')"></sutdent-score-list>
</template>
<view class="" v-else>
<u-divider text="暂无学员加入"></u-divider>
@@ -308,7 +314,7 @@
</view>
</view>
<text class="btn"
v-show="tijiaoTitleId == 2 && myExperience == 1 && item.scoreSuccess == 0"
v-show="tijiaoTitleId == 2 && myExperience == 1 && item.scoreSuccess == 0 && thisClass.state == '1'"
@click.stop="editMyXinde(item)">修改</text>
</view>
<template v-if="roleCode.includes('0') && isHave">
@@ -596,6 +602,7 @@
showPaperList: false,
examId: undefined,
ingPaper: undefined, // 正在进行中的试卷信息
newCLass: undefined, // 同模型的待开班班级
}
},
onLoad(e) {
@@ -623,7 +630,9 @@
}
},
onPullDownRefresh() {
this.curTagIndex = 0
this.getClassInfo()
this.getScore()
this.pPage = 0
this.taskList = []
this.getList()
@@ -653,7 +662,7 @@
// paperData = await this.getlocaltestInfo('paperEndTime')
var historyPaper = await this.getingPaper()
this.ingPaper = historyPaper
console.log('对比', historyPaper.classId, this.classId);
console.log('对比----------------', historyPaper.classId, this.classId);
if (historyPaper && historyPaper.classId == this.classId) {
paperEndTime = this.hourUp(historyPaper.startTime, 1) // 结束的时间戳
this.examId = historyPaper.id
@@ -751,9 +760,9 @@
},
methods: {
// 选中了学生
chooseStudent(data){
chooseStudent(data) {
return
console.log('xuesheng',data);
console.log('xuesheng', data);
},
// 获取服务器时间
async getServerTime() {
@@ -842,6 +851,7 @@
},
// 考试周和结班状态下,学员的信息
async getStudentScoreList() {
console.log('进来了码?');
var list = undefined
await $http.request({
url: "common/class/userScoreList",
@@ -854,19 +864,21 @@
},
})
.then(res => {
console.log('班状态下,学员的信息', res);
console.log('考试周班状态下,学员的信息',this.classId , res, );
// this.userMsg = res.user
// list = studentList
if(res.code == 0){
if (res.code == 0) {
res.result.forEach(item => {
item.task0Score ? '' : item.task0Score = 0 // 固定任务
item.questionScore ? '' : item.questionScore = 0 // 思考题
item.task1Score ? '' : item.task1Score = 0 /// 医案
item.experienceScore ? '' : item.experienceScore = 0 // 心得
item.pingshiScore = item.task0Score + item.questionScore + item.task1Score + item.experienceScore
item.experienceScore ? '' : item.experienceScore = 0 // 心得
item.pingshiScore = item.task0Score + item.questionScore + item
.task1Score + item.experienceScore
})
list = res.result
}else{
} else {
uni.showToast({
title: res.errMsg,
icon: 'none',
@@ -874,6 +886,7 @@
})
}
}).catch(e => {
console.log('走异常了吗?', e);
list = []
uni.showToast({
title: e.errMsg,
@@ -884,6 +897,7 @@
return list
},
goTest() {
console.log('this.ingPaper',this.ingPaper);
if (this.ingPaper) {
uni.showModal({
title: '提示',
@@ -943,7 +957,10 @@
.then((res) => {
if (res.code == 0) {
this.performanceScore = res.result
console.log('this.平时成绩e-------', this.performanceScore);
console.log('平时成绩e-------', this.performanceScore);
if (this.performanceScore.userScore <= 70) {
this.getNewCLassInfo()
}
} else {
uni.showToast({
title: '平时成绩获取失败',
@@ -957,6 +974,35 @@
})
});
},
// 可加入的同模型下待开班班级
getNewCLassInfo() {
$http.request({
url: "common/class/getNoOpenClassSameClass",
method: "POST",
data: {
"modelId": this.classModel.id
},
header: { //默认 无 说明:请求头
'Content-Type': 'application/json'
},
})
.then((res) => {
if (res.code == 0 && res.result != null) {
this.newCLass = res.result
console.log('同模型的待开班班级', this.newCLass);
} else {
this.newCLass = undefined
}
}).catch(e => {
this.newCLass = undefined
console.log('e', e);
// uni.showToast({
// title: '平时成绩获取失败',
// icon: 'none'
// })
});
},
editMyXinde(item) {
// var options = JSON.stringify(item)
uni.navigateTo({
@@ -1032,7 +1078,7 @@
}
})
},
async getingPaper() {
async getingPaper() {
var obj = undefined
await $http.request({
url: "common/classExam/examingPaper",
@@ -1043,15 +1089,21 @@
},
})
.then(async (res) => {
console.log('考试中', res);
if (res.code == 0 && res.classExamUser != null) {
obj = res.classExamUser
console.log('考试中999999999999999999', res);
if (res.code == 0) {
if (res.classExamUser != null) {
obj = res.classExamUser
} else {
obj = undefined
}
}
}).catch(e => {});
}).catch(e => {
console.log('考试中99999异常999', e);
});
return obj
},
// 获取本地试卷信息
getList() {
console.log('进入函数了吗');
this.status = 1;
@@ -1104,11 +1156,11 @@
this.loadFlag = false;
console.log('res', res);
uni.hideLoading()
}else{
} else {
console.log('数据获取失败.......', res);
}
}).catch(e => {
console.log( '数据报错', e)
console.log('数据报错', e)
uni.hideLoading()
this.loadFlag = false;
uni.showToast({
@@ -1224,6 +1276,7 @@
})
.then(res => {
if (res.code == 0) {
this.isHave = true
uni.showToast({
title: `加入成功!`,
@@ -1406,6 +1459,7 @@
},
})
.then(async res => {
console.log('班级信息', res);
this.refresh = false
if (res.code == 0) {
// res = classData // 测试数据

View File

@@ -416,7 +416,7 @@
<template v-if="classModel.isExam == 1">
<template v-if="thisStudentScore.classExamUsers.length == 0">
<view class="">
<view class="">
<view class="" style="color: #ff9496;">
未参加考试
</view>
</view>
@@ -978,14 +978,14 @@
url: "common/class/userScoreList",
method: "POST",
data: {
"classId":46
"classId": parseInt(this.classId)
},
header: { //默认 无 说明:请求头
'Content-Type': 'application/json'
},
})
.then(res => {
console.log('班状态下,学员的信息', res);
console.log('班状态下,学员的信息',this.classId, res);
// this.userMsg = res.user
// list = studentList
if(res.code == 0){
@@ -1135,9 +1135,7 @@
console.log('res--------', this.classId, res, );
this.refresh = false
if (res.code == 0) {
// res = classData // 测试数据
// res = classData // 测试数据
this.thisClass = res.result.class
if (!this.showAlert && this.thisClass.state == '3') {
uni.showModal({

View File

@@ -240,7 +240,7 @@
<template v-if="classModel.isExam == 1">
<template v-if="thisStudent.student.score.testScore.length == 0">
<view class="">
<view class="">
<view class="" style="color: #ff9496;">
未参加考试
</view>
</view>
@@ -753,14 +753,14 @@
url: "common/class/userScoreList",
method: "POST",
data: {
"classId":46
"classId": parseInt(this.classId)
},
header: { //默认 无 说明:请求头
'Content-Type': 'application/json'
},
})
.then(res => {
console.log('状态下,学员的信息', res);
console.log('考试周状态下,学员的信息',this.classId, res);
// this.userMsg = res.user
// list = studentList
if(res.code == 0){
@@ -769,7 +769,7 @@
item.questionScore ? '' : item.questionScore = 0 // 思考题
item.task1Score ? '' : item.task1Score = 0 /// 医案
item.experienceScore ? '' : item.experienceScore = 0 // 心得
item.pingshiScore = item.task0Score + item.questionScore + item.task1Score + item.experienceScore
item.pingshiScore = item.task0Score + item.questionScore + item.task1Score + item.experienceScore
})
list = res.result
}else{

View File

@@ -52,13 +52,13 @@
<text class="userType" v-if="item.student.vip == '3' ">国学VIP用户</text> -->
</view>
</view>
<view class="" v-if="thisClass.state == '3' || thisClass.state == '2'">
<view class="" v-if="thisClass.state == '3' || thisClass.state == '2'">
<view class="scoreBox flex_box flex_between border_radius_10 ">
<view class="">
<view class="ciyao">
平时成绩
</view>
<text class="score">{{item.pingshiScore}}</text>
<text class="score">{{item.usualScore}}</text>
</view>
<template v-if="classModel.isExam == 1">
<template v-if="item.classExamUsers.length == 0">

View File

@@ -101,6 +101,44 @@
</view>
</view>
<view class="" v-if="examingClassList.length > 0">
<uni-section class="mb-10 nobg" title="考试中" type="line"></uni-section>
<view class="learnBox">
<view class="newBox" v-if="examingClassList.length > 0">
<view class="item flexbox" v-for="(item, index) in examingClassList" :key="index"
@click="onPageJump('/pages/miniClass/classInfoMan',item.id)">
<!-- <view class="imgcontainer" :style="{backgroundImage:surl(item.image)}"> -->
<view class="imgcontainer" v-if="item.icon != ''">
<image :src="item.icon" mode="aspectFit"></image>
</view>
<view class="imgcontainer defaultImg" v-else>
<image src="@/static/my_04.png" mode="aspectFit"></image>
</view>
<view class="buyItems">
<view class="">
<!-- <text v-show="item.classModel.type == 0">普通班</text>
<text v-show="item.classModel.type == 1">联合班</text>
<text v-show="item.classModel.type == 2">精英班</text> -->
<text class="txt555" @click="onPageJump('/pages/miniClass/classInfoMan',item.id)">
{{item.title}}
</text>
</view>
<view class="jianjie">
目标学员人数{{item.number}}
</view>
<view class="jianjie" >
班内职务{{item.roleName}}
</view>
<view class="btn_box">
<!-- <text @click="enterClass" v-show="item.state == '0'">一键加入</text> -->
<text class="seeInfo">进入班级</text>
</view>
</view>
</view>
</view>
</view>
</view>
<!-- <u-divider v-if="preClassList.length == 0 && learningClassList.length == 0" text="暂无数据"></u-divider> -->
</view>
@@ -242,6 +280,7 @@
modelId:undefined,
modelType:undefined,
modelTitle:undefined,
examingClassList:[]
};
},
//第一次加载
@@ -269,12 +308,12 @@
}
// console.log(this.scrollTop,'this.scrollTop')
},
onPullDownRefresh() {
async onPullDownRefresh() {
console.log('下拉刷新')
// this.status = 3
// this.page = 1
// this.classList = []
// this.getData()
this.classList = await this.getData('2')
this.learningClassList = await this.getData('1')
this.preClassList = await this.getData('0')
this.examingClassList = await this.getData('3')
uni.stopPullDownRefresh()
},
onReachBottom() {
@@ -294,6 +333,7 @@
this.classList = await this.getData('2')
this.learningClassList = await this.getData('1')
this.preClassList = await this.getData('0')
this.examingClassList = await this.getData('3')
// this.getLearingClassList()
},
components: {

View File

@@ -55,7 +55,7 @@
</view>
<view class="" v-if="learningClassList.length > 0">
<uni-section class="mb-10 nobg" title="学习中" type="line"></uni-section>
<view class="learnBox box">
<view class="learnBox ">
<view class="newBox" v-if="learningClassList.length > 0">
<view class="item flexbox" v-for="(item, index) in learningClassList" :key="index"
@click="onPageJump('/pages/miniClass/classInfo',item.id)">
@@ -86,11 +86,46 @@
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<u-divider v-if="preClassList.length == 0 && learningClassList.length == 0" text="暂无数据"></u-divider>
<view class="" v-if="examingClassList.length > 0">
<uni-section class="mb-10 nobg" title="考试中" type="line"></uni-section>
<view class="learnBox ">
<view class="newBox" v-if="examingClassList.length > 0">
<view class="item flexbox" v-for="(item, index) in examingClassList" :key="index"
@click="onPageJump('/pages/miniClass/classInfo',item.id)">
<!-- <view class="imgcontainer" :style="{backgroundImage:surl(item.image)}"> -->
<view class="imgcontainer" v-if="item.icon != ''">
<image :src="item.icon" mode="aspectFit"></image>
</view>
<view class="imgcontainer defaultImg" v-else>
<image src="@/static/my_04.png" mode="aspectFit"></image>
</view>
<view class="buyItems">
<view class="">
<text v-show="item.classModel.type == 0">普通班</text>
<text v-show="item.classModel.type == 1">联合班</text>
<text v-show="item.classModel.type == 2">精英班</text>
<text class="txt555" @click="onPageJump('/pages/miniClass/classInfo',item.id)">
{{item.title}}
</text>
</view>
<view class="jianjie">
目标学员人数{{item.number}}
</view>
<!-- <view class="jianjie" v-html="item.content">
</view> -->
<view class="btn_box">
<!-- <text @click="enterClass" v-show="item.state == '0'">一键加入</text> -->
<text class="seeInfo">进入班级</text>
</view>
</view>
</view>
</view>
</view>
</view>
<u-divider v-if="preClassList.length == 0 && learningClassList.length == 0 && examingClassList.length == 0" text="暂无数据"></u-divider>
</view>
<!-- 过期班级 -->
@@ -224,6 +259,7 @@
classList: [], // 已结班
preClassList: [], // 待开班
learningClassList: [], // 在学习的班级
examingClassList:[], // 考试周班级
status: 3, // 0 不显示, 1 加载中2 加载全部完成3 暂无数据
page: 1,
flag: true, // 函数是否执行完
@@ -252,12 +288,16 @@
}
// console.log(this.scrollTop,'this.scrollTop')
},
onPullDownRefresh() {
async onPullDownRefresh() {
console.log('下拉刷新')
// this.status = 3
// this.page = 1
this.classList = []
this.getData()
// this.getData()
this.classList = await this.getData('0','2')
this.learningClassList = await this.getData('0','1')
this.preClassList = await this.getData('0','0')
this.examingClassList = await this.getData('0','3')
uni.stopPullDownRefresh()
},
onReachBottom() {
@@ -277,6 +317,7 @@
this.classList = await this.getData('0','2')
this.learningClassList = await this.getData('0','1')
this.preClassList = await this.getData('0','0')
this.examingClassList = await this.getData('0','3')
// this.getLearingClassList()
},
components: {
@@ -338,15 +379,17 @@
// uni.showLoading({
// title: '正在加载'
// })
var data = {
"isCommittee": role,
"state": state, //小班状态0待开班1已开班2完成
"type": '' // 班类型 0小班 1联合班 2精英班
}
console.log('----data', data);
await $http.request({
url: "common/class/MyClassList",
method: "POST", // POST、GET、PUT、DELETE具体说明查看官方文档
data: {
"isCommittee": role,
"state": state, //小班状态0待开班1已开班2完成
"type": '' // 班类型 0小班 1联合班 2精英班
},
data,
header: { //默认 无 说明:请求头
'Content-Type': 'application/json'
},
@@ -366,7 +409,7 @@
}).catch(e => {
// uni.hideLoading()
// this.flag = true
console.log(e, '数据报错')
console.log('数据报错',e)
// this.status = 3
uni.showToast({
title: `获取数据失败`,

View File

@@ -58,7 +58,7 @@
</view>
</view>
<!-- <view class="editBtn" v-if="listDisplay == '1' && item.scoreSuccess == 0"> -->
<view class="editBtn" v-if="listDisplay == '1' && item.scoreSuccess == 0 && item.scoreInfo == ''">
<view class="editBtn" v-if="listDisplay == '1' && item.scoreSuccess == 0 && item.scoreInfo == '' && classState == '1'">
<text @click="editOrAdd(item)">修改</text>
</view>
<template v-if="item.scoreInfo != '' && listDisplay == '1'">

View File

@@ -28,6 +28,7 @@
<view class="">
<text><i style="color: #00aaff; font-style: normal; margin-right: 10rpx;" class="">{{curIndex1+1}}
</i> / {{testPaper.length}}</text>
<text class="checkQuestBtn small_btn border_radius_10" @click="showQuestIndex = true">全部题目</text>
</view>
<view class="flex_box align-items_box" v-if="secondTimeDif > 0">
<view class="">
@@ -47,7 +48,7 @@
<view class="question border_radius_10" v-if="curQuestion.id">
<view class="">
<text class="questionType">{{curQuestion.type == 0 ? '单选题' : '多选题'}}</text>
<text class="checkQuestBtn small_btn border_radius_10" @click="showQuestIndex = true">检查</text>
<!-- <text class="checkQuestBtn small_btn border_radius_10" @click="showQuestIndex = true">检查</text> -->
<view class="questionItem" v-if="curQuestion.id">
<view class="">
<text>{{curQuestion.content}}</text>
@@ -626,14 +627,26 @@
border-radius: 0 50rpx 50rpx 0;
}
.checkQuestBtn {
position: absolute;
right: 20rpx;
top: 20rpx;
border: 1px solid $themeColor;
color: $themeColor;
margin-left: 10rpx;
// position: absolute;
// right: 20rpx;
// top: 20rpx;
font-size: 28rpx;
// border: 1px solid $themeColor;
background-color: #409eff;
color: #fff;
// padding: 10rpx 20rpx;
// border-radius: 0 50rpx 50rpx 0;
}
// .checkQuestBtn {
// position: absolute;
// right: 20rpx;
// top: 20rpx;
// border: 1px solid $themeColor;
// color: $themeColor;
// // padding: 10rpx 20rpx;
// // border-radius: 0 50rpx 50rpx 0;
// }
.scroll-Y {
height: 300rpx;
}