Commit 7d21f9fe authored by liudong1993's avatar liudong1993

1

parents 4f2dd5ec 34783ecf
......@@ -3,33 +3,38 @@
<view class="JobComponents activeOne flex">
<view class="JobComponents-time-box flex">
<view class="JobComponents-time">
<view>05/25 17:13</view>
<view>{{jobData.CreateTime}}</view>
</view>
<view class="JobComponents-line">
<view class="JobComponents-point"></view>
<view class="JobComponents-year" v-if="jobData.TimeTile&&jobData.TimeTile!=''">
{{jobData.TimeTile}}
</view>
</view>
</view>
<view class="JobComponents-center-box" @click="JobDetails">
<view class="JobComponents-center-line"></view>
<view class="JobComponents-center flex">
<view class="JobComponents-left">
<view class="operation-name">作业名称作业名称作业名称作业名称</view>
<view class="operation-name">{{jobData.Title}}</view>
<view class="operation-state flex">
<view class="operation-state-img"></view>
<view class="operation-state-text">批阅</view>
<view class="operation-state-text">{{jobData.DataObj.HomeWorkStatusStr}}</view>
</view>
</view>
<view class="JobComponents-right flex">
<view class="homework-score">
<view class="homework-score-title">得分</view>
<view class="homework-score-num flex">
<view>86</view><view></view>
<view>{{jobData.DataObj.Score}}</view>
<view></view>
</view>
</view>
<view class="homework-score">
<view class="homework-score-title">得分率</view>
<view class="homework-score-num flex">
<view>86</view><view>%</view>
<view>{{jobData.DataObj.Score_p}}</view>
<view>%</view>
</view>
</view>
</view>
......@@ -48,12 +53,9 @@
} from "vue";
export default {
props: {
},
props: ["jobData"],
components: {},
setup() {
let data = reactive({
obj: {
Name: '',
......@@ -63,7 +65,7 @@
showLogin: true, //多次点击
});
let methods = {
JobDetails(){
JobDetails() {
uni.reLaunch({
url: '/pages/index/workSituation'
});
......@@ -77,29 +79,34 @@
};
</script>
<style scoped>
.homework-score-num view:last-child{
.homework-score-num view:last-child {
font-size: 23rpx;
margin-top: 25rpx;
}
.homework-score-num view:first-child{
.homework-score-num view:first-child {
margin-right: 10rpx;
font-size: 46rpx;
font-weight: 800;
}
.homework-score-num{
.homework-score-num {
color: #3E3D3D;
}
.homework-score-title{
.homework-score-title {
color: #484646;
font-size: 20rpx;
margin-bottom: 23rpx;
font-weight: 400;
letter-spacing: 1px;
}
.homework-score:first-child{
.homework-score:first-child {
margin-right: 16rpx;
}
.JobComponents-right{
.JobComponents-right {
height: 122rpx;
background: #FFFFFF;
padding: 22rpx 26rpx 15rpx 26rpx;
......@@ -108,51 +115,78 @@
flex-shrink: 0;
margin-left: 11rpx;
}
.JobComponents.activeThree .operation-state-text{
.JobComponents-year {
width: 127rpx;
line-height: 111rpx;
text-align: center;
position: absolute;
left: -125rpx;
top: -110rpx;
background: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1653476346000_445.png')no-repeat;
background-size: 100% 100%;
color: #FFFFFF;
font-size: 30rpx;
font-weight: bold;
}
.JobComponents.activeThree .operation-state-text {
color: #CD3D47;
}
.JobComponents.activeTwo .operation-state-text{
.JobComponents.activeTwo .operation-state-text {
color: #4E4A4A;
}
.JobComponents.activeOne .operation-state-text{
.JobComponents.activeOne .operation-state-text {
color: #FFFFFF;
}
.operation-state-text{
.operation-state-text {
font-size: 20rpx;
letter-spacing: 2px;
}
.JobComponents.activeThree .operation-state-img{
.JobComponents.activeThree .operation-state-img {
background: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1653464014000_480.png')no-repeat;
background-size: 22rpx 22rpx;
}
.JobComponents.activeTwo .operation-state-img{
.JobComponents.activeTwo .operation-state-img {
background: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1653464014000_781.png')no-repeat;
background-size: 22rpx 22rpx;
}
.JobComponents.activeOne .operation-state-img{
.JobComponents.activeOne .operation-state-img {
background: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1653464014000_44.png')no-repeat;
background-size: 22rpx 22rpx;
}
.operation-state-img{
.operation-state-img {
width: 22rpx;
height: 22rpx;
margin-right: 9rpx;
margin-top: 4rpx;
}
.operation-state{
.operation-state {
margin-top: 35rpx;
font-size: 20rpx;
}
.JobComponents.activeThree .operation-name{
.JobComponents.activeThree .operation-name {
color: #282828;
}
.JobComponents.activeTwo .operation-name{
.JobComponents.activeTwo .operation-name {
color: #282828;
}
.JobComponents.activeOne .operation-name{
.JobComponents.activeOne .operation-name {
color: #FFFFFF;
}
.operation-name{
.operation-name {
font-size: 26rpx;
word-break: break-all;
text-overflow: ellipsis;
......@@ -164,14 +198,17 @@
letter-spacing: 1px;
font-weight: 500;
}
.JobComponents-left{
.JobComponents-left {
flex: 1;
flex-grow: 1;
}
.JobComponents-center{
.JobComponents-center {
justify-content: space-between;
}
.JobComponents-center-line{
.JobComponents-center-line {
width: 4rpx;
height: 23px;
background: #FEFEFE;
......@@ -179,34 +216,42 @@
left: 0;
top: 33rpx;
}
.JobComponents.activeThree .JobComponents-center-box{
.JobComponents.activeThree .JobComponents-center-box {
background: #EEEEEE;
}
.JobComponents.activeTwo .JobComponents-center-box{
.JobComponents.activeTwo .JobComponents-center-box {
background: #F9E0E2;
}
.JobComponents.activeOne .JobComponents-center-box{
.JobComponents.activeOne .JobComponents-center-box {
background: #E64150;
}
.JobComponents-center-box{
.JobComponents-center-box {
flex-grow: 1;
position: relative;
border-radius: 30rpx;
padding: 21rpx 18rpx 21rpx 24rpx;
margin-bottom: 50rpx;
}
.JobComponents.activeThree .JobComponents-point{
.JobComponents.activeThree .JobComponents-point {
background: #C1C1C1;
}
.JobComponents.activeTwo .JobComponents-point{
.JobComponents.activeTwo .JobComponents-point {
background: #282828;
}
.JobComponents.activeOne .JobComponents-point{
.JobComponents.activeOne .JobComponents-point {
background: #C81727;
box-shadow: 0px 0px 12px 0px rgba(200, 23, 39, 0.46);
}
.JobComponents .JobComponents-point{
.JobComponents .JobComponents-point {
width: 19rpx;
height: 19rpx;
position: absolute;
......@@ -216,7 +261,8 @@
border: 3px solid #FFFFFF;
box-shadow: 0px 0px 12px 0px rgba(255, 255, 255, 0.46);
}
.JobComponents-line{
.JobComponents-line {
width: 4rpx;
height: 100%;
background: #F1F1F1;
......@@ -224,7 +270,8 @@
margin-right: 46rpx;
position: relative;
}
.JobComponents-time{
.JobComponents-time {
width: 61rpx;
height: 55rpx;
color: #CCC8C6;
......@@ -233,14 +280,15 @@
padding: 14rpx 13rpx;
background: #F6F6F6;
}
.JobComponents-time-box{
}
.JobComponents{
.JobComponents-time-box {}
.JobComponents {
justify-content: space-between;
padding: 0 50rpx;
}
.JobComponents-box{
.JobComponents-box {
/* background: #FFFFFF; */
}
</style>
<template>
<view class="CommentsComponents-box">
<view class="CommentsComponents activeOne flex">
<view class="CommentsComponents-time-box flex">
<view class="CommentsComponents-time">
<view>05/25 17:13</view>
<view>{{jobData.CreateTime}}</view>
</view>
<view class="CommentsComponents-line">
<view class="CommentsComponents-point"></view>
......@@ -14,16 +13,11 @@
<view class="CommentsComponents-center-line"></view>
<view class="CommentsComponents-center flex">
<view class="CommentsComponents-left flex">
<van-image width="38rpx" height="38rpx" fit="cover" class="operation-img"
src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1653464014000_713.png"/>
<view class="operation-name">周老师的评语</view>
<van-image width="38rpx" height="38rpx" fit="cover" class="operation-img" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1653464014000_713.png" />
<view class="operation-name">{{jobData.Title}}</view>
</view>
<view class="CommentsComponents-right">
你是个做事小心翼翼,感情细腻丰富的女孩
,每次看你认真的样子老师都很感动。你也是幸运的,周
边有很多人都在关爱着你,所以,对他们,尤其是父母,记得不要
太莽撞,不要太任性,要学着体谅,学着换位思考
,学着懂事。另外,今后要多运动、多锻炼,有健康才能成就美好未来!
{{jobData.DataObj.Comment}}
</view>
</view>
</view>
......@@ -40,12 +34,9 @@
} from "vue";
export default {
props: {
},
props: ["jobData"],
components: {},
setup() {
let data = reactive({
obj: {
Name: '',
......@@ -61,42 +52,50 @@
};
</script>
<style scoped>
.CommentsComponents-right{
.CommentsComponents-right {
color: #FFFFFF;
font-size: 20rpx;
line-height: 35rpx;
letter-spacing: 1rpx;
}
.CommentsComponents.activeThree .operation-name{
.CommentsComponents.activeThree .operation-name {
color: #282828;
}
.CommentsComponents.activeTwo .operation-name{
.CommentsComponents.activeTwo .operation-name {
color: #282828;
}
.CommentsComponents.activeOne .operation-name{
.CommentsComponents.activeOne .operation-name {
color: #FFFFFF;
}
.operation-name{
.operation-name {
font-size: 26rpx;
letter-spacing: 1px;
font-weight: 500;
flex-grow: 1;
}
.operation-img{
.operation-img {
margin-right: 12rpx;
border-radius: 50%;
flex-shrink: 0;
}
.CommentsComponents-left{
.CommentsComponents-left {
flex: 1;
flex-grow: 1;
margin-top: -5rpx;
margin-bottom: 10rpx;
}
.CommentsComponents-center{
.CommentsComponents-center {
flex-direction: column;
}
.CommentsComponents-center-line{
.CommentsComponents-center-line {
width: 4rpx;
height: 23rpx;
background: #FEFEFE;
......@@ -104,21 +103,25 @@
left: 0;
top: 33rpx;
}
.CommentsComponents.activeOne .CommentsComponents-center-box{
.CommentsComponents.activeOne .CommentsComponents-center-box {
background: #52C1CA;
}
.CommentsComponents-center-box{
.CommentsComponents-center-box {
flex-grow: 1;
position: relative;
border-radius: 30rpx;
padding: 31rpx 18rpx 21rpx 24rpx;
margin-bottom: 50rpx;
}
.CommentsComponents.activeOne .CommentsComponents-point{
.CommentsComponents.activeOne .CommentsComponents-point {
background: #1E7BF5;
box-shadow: 0px 0px 12px 0px rgba(30, 123, 245, 0.46);
}
.CommentsComponents-point{
.CommentsComponents-point {
width: 19rpx;
height: 19rpx;
position: absolute;
......@@ -128,7 +131,8 @@
border: 3px solid #FFFFFF;
box-shadow: 0px 0px 12px 0px rgba(255, 255, 255, 0.46);
}
.CommentsComponents-line{
.CommentsComponents-line {
width: 4rpx;
height: 100%;
background: #F1F1F1;
......@@ -136,7 +140,8 @@
margin-right: 46rpx;
position: relative;
}
.CommentsComponents-time{
.CommentsComponents-time {
width: 61rpx;
height: 55rpx;
color: #CCC8C6;
......@@ -145,11 +150,13 @@
padding: 14rpx 13rpx;
background: #F6F6F6;
}
.CommentsComponents{
.CommentsComponents {
justify-content: space-between;
padding: 0 50rpx;
}
.CommentsComponents-box{
.CommentsComponents-box {
background: #FFFFFF;
}
</style>
......@@ -3,9 +3,10 @@
<view class="course-item">
<view style="width:287rpx;">
<view class="course-name">
{{stuCourseList[0].CourseName}}
{{ stuCourseList[0].CourseName}}
</view>
<van-progress percentage="75" :show-pivot="false" track-color="#EFEFEF" color="#282828" stroke-width="5" />
<van-progress :percentage="calcPercentage(stuCourseList[0])" :show-pivot="false" track-color="#EFEFEF" color="#282828"
stroke-width="5" />
<view class="course-progress">
上课进度 {{stuCourseList[0].CompleteNum}}/{{stuCourseList[0].TotalClassNum}}
</view>
......@@ -44,12 +45,13 @@
<view class="one_line course-name">
{{item.CourseName}}
</view>
<van-progress percentage="46" :show-pivot="false" track-color="#EFEFEF" color="#282828" stroke-width="5" />
<van-progress :percentage="calcPercentage(item)" :show-pivot="false" track-color="#EFEFEF" color="#282828"
stroke-width="5" />
<view class="course-progress">
上课进度 {{item.CompleteNum}}/{{item.TotalClassNum}}
</view>
<view style="text-align: right;">
<van-button @click="hideExchangeBoxHandler" color="#C91727" round size="mini" custom-style="color:#FFF;font-size: 24rpx;padding-left:16rpx;padding-right:10px;">
<van-button @click="hideExchangeBoxHandler(item)" color="#C91727" round size="mini" custom-style="color:#FFF;font-size: 24rpx;padding-left:16rpx;padding-right:10px;">
选择课程
</van-button>
</view>
......@@ -80,14 +82,28 @@
setup(props, context) {
let data = reactive({
statusBarHeight: 24,
showItems: false
showItems: false,
currentCourse:{}
});
let methods = {
exchangeItemHandler() {
data.showItems = true
},
hideExchangeBoxHandler() {
//点击切换课程
hideExchangeBoxHandler(item) {
//调用父页面方法
this.$parent.getStuHomeWorkAndExam(item.courseId);
data.showItems = false
},
//计算完成百分比
calcPercentage(item) {
let percent = 0;
if (item) {
if (item.TotalClassNum > 0) {
percent = Number(item.CompleteNum / item.TotalClassNum) * 100
}
}
return percent;
}
}
return {
......
<template>
<view class="examComponents-box">
<view class="examComponents activeOne flex">
<view class="examComponents-time-box flex">
<view class="examComponents-time">
<view>05/25 17:13</view>
<view>{{jobData.CreateTime}}</view>
</view>
<view class="examComponents-line">
<view class="examComponents-point"></view>
<view class="examComponents-year">
2021
<view class="examComponents-year" v-if="jobData.TimeTile&&jobData.TimeTile!=''">
{{jobData.TimeTile}}
</view>
</view>
</view>
......@@ -17,31 +16,35 @@
<view class="examComponents-center-line"></view>
<view class="examComponents-center flex">
<view class="examComponents-left">
<view class="operation-name">考试名称</view>
<view class="operation-name">{{jobData.Title}}</view>
</view>
<view class="examComponents-right flex">
<view class="homework-score">
<view class="homework-score-title">总分</view>
<view class="homework-score-num flex">
<view>86</view><view></view>
<view>{{jobData.DataObj.Score}}</view>
<view></view>
</view>
</view>
<view class="homework-score">
<view class="homework-score-title">得分率</view>
<view class="homework-score-num flex">
<view>86</view><view>%</view>
<view>{{jobData.DataObj.Score_p}}</view>
<view>%</view>
</view>
</view>
<view class="homework-score">
<view class="homework-score-title">排名</view>
<view class="homework-score-num flex">
<view>15</view><view></view>
<view>{{jobData.DataObj.ExamRank}}</view>
<view></view>
</view>
</view>
<view class="homework-score">
<view class="homework-score-title">领先度</view>
<view class="homework-score-num flex">
<view>86</view><view>%</view>
<view>{{jobData.DataObj.ExamRankRate}}</view>
<view>%</view>
</view>
</view>
</view>
......@@ -60,20 +63,17 @@
} from "vue";
export default {
props: {
},
props: ["jobData"],
components: {},
setup() {
let data = reactive({
showPhone: false,
showLogin: true, //多次点击
});
let methods={
scoreDetails(){
let methods = {
scoreDetails() {
uni.reLaunch({
url: '/pages/index/scoreDetails?examId=6&stuUId=14135454'
url: '/pages/index/scoreDetails'
});
}
}
......@@ -85,61 +85,74 @@
};
</script>
<style scoped>
.homework-score-num view:last-child{
.homework-score-num view:last-child {
font-size: 23rpx;
margin-top: 25rpx;
}
.homework-score-num view:first-child{
.homework-score-num view:first-child {
margin-right: 10rpx;
font-size: 46rpx;
font-weight: 800;
}
.homework-score-num{
.homework-score-num {
color: #3E3D3D;
}
.homework-score-title{
.homework-score-title {
color: #484646;
font-size: 20rpx;
margin-bottom: 23rpx;
font-weight: 400;
letter-spacing: 1px;
}
.homework-score{
.homework-score {
margin-right: 16rpx;
}
.homework-score:last-child{
.homework-score:last-child {
margin-right: 0;
}
.examComponents-right{
.examComponents-right {
height: 122rpx;
background: #FFFFFF;
padding: 22rpx 26rpx 15rpx 26rpx;
border-radius: 30rpx;
justify-content: space-between;
}
.examComponents.activeThree .operation-name{
.examComponents.activeThree .operation-name {
color: #282828;
}
.examComponents.activeTwo .operation-name{
.examComponents.activeTwo .operation-name {
color: #282828;
}
.examComponents.activeOne .operation-name{
.examComponents.activeOne .operation-name {
color: #FFFFFF;
}
.operation-name{
.operation-name {
font-size: 26rpx;
letter-spacing: 1px;
font-weight: 500;
margin-bottom: 20rpx;
}
.examComponents-left{
.examComponents-left {
flex: 1;
flex-grow: 1;
}
.examComponents-center{
.examComponents-center {
flex-direction: column;
}
.examComponents-center-line{
.examComponents-center-line {
width: 4rpx;
height: 23px;
background: #FEFEFE;
......@@ -147,23 +160,28 @@
left: 0;
top: 33rpx;
}
.examComponents.activeThree .examComponents-center-box{
.examComponents.activeThree .examComponents-center-box {
background: #EEEEEE;
}
.examComponents.activeTwo .examComponents-center-box{
.examComponents.activeTwo .examComponents-center-box {
background: #DBE9FB;
}
.examComponents.activeOne .examComponents-center-box{
.examComponents.activeOne .examComponents-center-box {
background: #1E7BF5;
}
.examComponents-center-box{
.examComponents-center-box {
flex-grow: 1;
position: relative;
border-radius: 30rpx;
padding: 31rpx 18rpx 21rpx 24rpx;
margin-bottom: 50rpx;
}
.examComponents-year{
.examComponents-year {
width: 127rpx;
line-height: 111rpx;
text-align: center;
......@@ -177,18 +195,22 @@
font-weight: bold;
}
.examComponents.activeThree .examComponents-point{
.examComponents.activeThree .examComponents-point {
background: #C1C1C1;
}
.examComponents.activeTwo .examComponents-point{
.examComponents.activeTwo .examComponents-point {
background: #282828;
}
.examComponents.activeOne .examComponents-point{
.examComponents.activeOne .examComponents-point {
background: #1E7BF5;
box-shadow: 0px 0px 12px 0px rgba(30, 123, 245, 0.46);
}
.examComponents-point{
.examComponents-point {
width: 19rpx;
height: 19rpx;
position: absolute;
......@@ -198,7 +220,8 @@
border: 3px solid #FFFFFF;
box-shadow: 0px 0px 12px 0px rgba(255, 255, 255, 0.46);
}
.examComponents-line{
.examComponents-line {
width: 4rpx;
height: 100%;
background: #F1F1F1;
......@@ -206,7 +229,8 @@
margin-right: 46rpx;
position: relative;
}
.examComponents-time{
.examComponents-time {
width: 61rpx;
height: 55rpx;
color: #CCC8C6;
......@@ -215,11 +239,13 @@
padding: 14rpx 13rpx;
background: #F6F6F6;
}
.examComponents{
.examComponents {
justify-content: space-between;
padding: 0 50rpx;
}
.examComponents-box{
.examComponents-box {
background: #FFFFFF;
margin-top: 30rpx;
}
......
<template>
<view class="course-card">
<view class="course-item">
<view style="width:287rpx;">
<view class="course-name">
成都2022科学益智L4-05乐思会
</view>
<van-progress percentage="75" :show-pivot="false" track-color="#EFEFEF" color="#282828"
stroke-width="5" />
<view class="course-progress">
上课进度 5/12
</view>
<view class="course-opera">
<van-button @click="exchangeItemHandler" class-prefix="iconfont" icon=" icon-qiehuan1" round type="default" size="mini"
custom-style="color:#E23B4A;font-size: 24rpx;padding-left:10rpx;padding-right:10px;">切换课程
</van-button>
</view>
</view>
<image class="illustration"
src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1653464014000_494.png"
mode="widthFix"></image>
</view>
<image class="end"
src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1653464014000_413.png"
mode="widthFix"></image>
<van-popup
:show="showItems"
round
position="bottom"
@click-overlay="hideExchangeBoxHandler"
custom-style="height: 75%"
>
<view class="exchange-items">
<view class="title-box">
<text class="main-title">课程选择</text>
<text class="sub-title">(共有3门课程)</text>
</view>
<view class="courseCard-search">
<van-search
v-model="Keywords"
shape="round"
style="border-radius: 20rpx;"
input-align="center"
background="#F6F6F6"
placeholder="请输入搜索关键词"
/>
<!-- <input v-model="Keywords" placeholder="请输入搜索关键词"/> -->
</view>
<view class="courseCard-title">
<view class="workSituation-title-box flex">
<view class="workSituation-title flex"
:class="tabNme==t.name?'active':''"
v-for="(t,index) in titleList" :key="index"
@click="toggleTitle(t.name)">
<text class="name">{{t.name}}</text>
<view class="num">({{t.num}})</view>
<view class="current-title-box flex" v-show="tabNme==t.name">
<text class="name">{{t.name}}</text>
<view class="num">({{t.num}})</view>
</view>
</view>
</view>
</view>
<view class="items">
<view class="item-course">
<view class="course-pic">
<image src="https://www.kfzimg.com/G06/M00/B5/48/p4YBAFsJY12AK0n7AAEM2KDUHRw535_n.jpg" mode="aspectFill"></image>
</view>
<view class="content">
<view class="one_line course-name">
高中物理鸿志班(二期周五下午上课)
</view>
<van-progress percentage="46" :show-pivot="false" track-color="#EFEFEF" color="#282828"
stroke-width="5" />
<view class="course-progress">
上课进度 5/12
</view>
<view style="text-align: right;">
<van-button @click="hideExchangeBoxHandler" color="#C91727" round size="mini"
custom-style="color:#FFF;font-size: 24rpx;padding-left:16rpx;padding-right:10px;">
选择课程
</van-button>
</view>
</view>
</view>
<view class="item-course">
<view class="course-pic">
<image src="https://www.kfzimg.com/G06/M00/B5/48/p4YBAFsJY12AK0n7AAEM2KDUHRw535_n.jpg" mode="aspectFill"></image>
</view>
<view class="content">
<view class="one_line course-name">
高中物理鸿志班(二期周五下午上课)
</view>
<van-progress percentage="46" :show-pivot="false" track-color="#EFEFEF" color="#282828"
stroke-width="5" />
<view class="course-progress">
上课进度 5/12
</view>
<view style="text-align: right;">
<van-button @click="hideExchangeBoxHandler" color="#C91727" round size="mini"
custom-style="color:#FFF;font-size: 24rpx;padding-left:16rpx;padding-right:10px;">
选择课程
</van-button>
</view>
</view>
</view>
<view class="item-course">
<view class="course-pic">
<image src="https://www.kfzimg.com/G06/M00/B5/48/p4YBAFsJY12AK0n7AAEM2KDUHRw535_n.jpg" mode="aspectFill"></image>
</view>
<view class="content">
<view class="one_line course-name">
高中物理鸿志班(二期周五下午上课)
</view>
<van-progress percentage="46" :show-pivot="false" track-color="#EFEFEF" color="#282828"
stroke-width="5" />
<view class="course-progress">
上课进度 5/12
</view>
<view style="text-align: right;">
<van-button @click="hideExchangeBoxHandler" color="#C91727" round size="mini"
custom-style="color:#FFF;font-size: 24rpx;padding-left:16rpx;padding-right:10px;">
选择课程
</van-button>
</view>
</view>
</view>
<view class="item-course">
<view class="course-pic">
<image src="https://www.kfzimg.com/G06/M00/B5/48/p4YBAFsJY12AK0n7AAEM2KDUHRw535_n.jpg" mode="aspectFill"></image>
</view>
<view class="content">
<view class="one_line course-name">
高中物理鸿志班(二期周五下午上课)
</view>
<van-progress percentage="46" :show-pivot="false" track-color="#EFEFEF" color="#282828"
stroke-width="5" />
<view class="course-progress">
上课进度 5/12
</view>
<view style="text-align: right;">
<van-button @click="hideExchangeBoxHandler" color="#C91727" round size="mini"
custom-style="color:#FFF;font-size: 24rpx;padding-left:16rpx;padding-right:10px;">
选择课程
</van-button>
</view>
</view>
</view>
</view>
</view>
</van-popup>
</view>
</template>
<script>
import {
ref,
reactive,
toRefs,
toRef,
getCurrentInstance,
watch,
computed,
onMounted,
} from "vue";
export default {
props: {},
setup() {
let data = reactive({
statusBarHeight: 24,
showItems:false,
Keywords:'',
titleList:[
{name:'全部课程',num:18},
{name:'进行中',num:5},
{name:'已完成',num:18},
],
tabNme:'进行中'
});
let methods={
toggleTitle(t) {
data.tabNme = t
},
exchangeItemHandler(){
data.showItems=true
},
hideExchangeBoxHandler(){
data.showItems=false
}
}
return {
...toRefs(data),
...methods
};
},
};
</script>
<style scoped>
.num{
font-size: 20rpx;
display: inline-block;
margin-top: 5rpx;
}
.current-title-box{
color: #FFFFFF;
background: #282828;
padding: 26rpx 36rpx;
width: 80%;
position: absolute;
left: -18%;
right: 0;
top: -28rpx;
border-radius: 39rpx;
justify-content: center;
}
.workSituation-title.active{
position: relative;
}
.workSituation-title{
flex: 1;
color: #282828;
font-size: 26rpx;
font-weight: bold;
align-items: center;
letter-spacing: 1px;
}
.workSituation-title-box{
margin: 0 50rpx;
padding: 17rpx 0 17rpx 28rpx;
background: #F0F0F0;
border-radius: 30rpx;
}
.courseCard-search{
margin: 40rpx 0;
padding: 0 30rpx;
overflow: hidden;
/* background: #FFFFFF; */
}
.course-card {
padding: 70rpx 50rpx 0 50rpx;
}
.course-card .course-item {
height: 294rpx;
background: linear-gradient(37deg, #C91727, #E64150);
padding: 40rpx 35rpx;
border-radius: 50rpx;
position: relative;
box-sizing: border-box;
}
.course-card .course-item .illustration {
position: absolute;
left: 350rpx;
top: -11rpx;
width: 340rpx;
}
.course-card .end {
width: 550rpx;
margin: 0 auto;
display: block;
}
.course-card .course-item .course-name {
font-size: 30rpx;
font-weight: bold;
color: #FFFFFF;
line-height: 42rpx;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
margin-bottom: 20rpx;
}
.course-card .course-item .course-progress {
font-size: 20rpx;
font-weight: 400;
color: #FDC4CA;
line-height: 45rpx;
}
.course-card .course-item .course-opera {
margin-top: 20rpx;
}
.course-card .exchange-items{
padding:50rpx 0;
padding-bottom: 0;
height: 100%;
box-sizing: border-box;
display: flex;
flex-direction: column;
background: #F6F6F6;
}
.course-card .exchange-items .title-box{
padding:0 50rpx;
}
.course-card .exchange-items .title-box .main-title{
font-size: 36rpx;
font-weight: 800;
color:#282828;
}
.course-card .exchange-items .title-box .sub-title{
font-size: 26rpx;
font-weight: normal;
color:#6F6F6F;
margin-left: 10rpx;
}
.course-card .exchange-items .items{
width: 100%;
flex:1;
overflow-y:auto;
margin-top:40rpx;
padding:0 50rpx;
box-sizing: border-box;
}
.course-card .exchange-items .items .item-course{
margin-bottom: 50rpx;
padding:40rpx 36rpx;
display: flex;
align-items: flex-start;
background-color: #FFF;
border-radius: 30rpx;
}
.course-card .exchange-items .items .item-course .course-pic{
width: 100rpx;
height: 140rpx;
margin-right: 36rpx;
overflow: hidden;
}
.course-card .exchange-items .items .item-course .course-pic image{
width:100%;
height: 100%;
}
.course-card .exchange-items .items .item-course .content{
flex:1;
width: 1px;
}
.course-card .exchange-items .items .item-course .content .course-name{
font-size: 30rpx;
font-weight: bold;
color: #282828;
line-height: 42rpx;
margin-bottom: 20rpx;
}
.course-card .exchange-items .items .item-course .content .course-progress{
color: #282828;
font-weight: 400;
font-size: 20rpx;
margin-top: 4rpx;
margin-bottom: 10rpx;
}
</style>
<template>
<view class="examList-box">
<view class="examList-import">
<view class="examList-import" @click="ImportInformation">
<van-icon name="plus" />
<text>导入考试信息</text>
</view>
......@@ -33,6 +33,20 @@
</view>
<!-- <view class="noData">暂无数据</view> -->
</view>
<van-popup :show="show" :round="true">
<view class="examList-popup-box">
<van-icon class="examList-popup-closure" name="cross" @click="show=false"/>
<view class="examList-popup-title">导入考试信息</view>
<view class="examList-popup-content">
<input v-model="obj.name" class="examList-popup-name" placeholder="请输入考试名称">
<view class="examList-popup-fil" @click="uploadFiles">
<van-image class="img" width="32rpx" height="32rpx" fit="cover"
src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1653639041000_305.png" />
选择文件
</view>
</view>
</view>
</van-popup>
</view>
</template>
<script>
......@@ -58,12 +72,19 @@
},
showPhone: false,
showLogin: true, //多次点击
show:false,
});
let methods = {
JobDetails(){
uni.reLaunch({
url: '/pages/index/workSituation'
});
},
ImportInformation(){
this.show = true
},
uploadFiles(){
}
}
return {
......@@ -74,6 +95,52 @@
};
</script>
<style scoped>
.img {
display: inline-block;
position: relative;
top: 6rpx;
margin-right: 10rpx;
}
.examList-popup-fil{
line-height: 88rpx;
padding: 0 10rpx;
border-radius: 44rpx;
font-size: 30rpx;
color: #FFFFFF;
background: #C91727;
margin-top: 27rpx;
text-align: center;
}
.examList-popup-name{
background-color: #FFFFFF;
text-align: center;
border: 1px solid #AAAAAA;
height: 86rpx;
line-height: 86rpx;
padding: 0 10rpx;
border-radius: 44rpx;
font-size: 30rpx;
}
.examList-popup-title{
width: 100%;
text-align: center;
font-size: 30rpx;
font-weight: 500;
margin-bottom: 73rpx;
letter-spacing: 1rpx;
}
.examList-popup-closure{
position: absolute;
right: 31rpx;
top: 31rpx;
color: #282828;
font-size: 38rpx;
}
.examList-popup-box{
position: relative;
width: 548rpx;
padding: 48rpx 55rpx 98rpx 55rpx;
}
.homework-score-num view:last-child{
font-size: 23rpx;
margin-top: 25rpx;
......
......@@ -3,8 +3,7 @@
<navbar class="navbarSticky" bg="#F6F6F6">
<view class="index-header-box">
<view class="index-header-img">
<van-image width="100%" height="100%" fit="cover" class="img"
src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1653464014000_713.png" />
<van-image width="100%" height="100%" fit="cover" class="img" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1653464014000_713.png" />
</view>
<view class="index-header-tetx">
<view class="index-header-title">
......@@ -23,12 +22,15 @@
<course-card :stuCourseList="stuCourseList"></course-card>
<view class="index-student-title flex">
<text>考情详情</text>
<view>(共53条)</view>
<view>(共{{workList!=null&&workList.length>0?workList.length:0}}条)</view>
</view>
<view class="index-student-information">
<JobComponents></JobComponents>
<examComponents></examComponents>
<commentsComponents></commentsComponents>
<template v-for="(item,index) in workList">
<JobComponents v-if="item.ResultType==1" :jobData="item"></JobComponents>
<examComponents v-if="item.ResultType==2" :jobData="item"></examComponents>
<commentsComponents v-if="item.ResultType==3" :jobData="item"></commentsComponents>
</template>
</view>
</view>
</template>
......@@ -75,8 +77,13 @@
proxy
} = getCurrentInstance();
let data = reactive({
stuCourseList: [],//学员课程列表
userData: {},//用户信息
stuCourseList: [], //学员课程列表
userData: {}, //用户信息
//学员作业和考试查询参数
workMsg: {
courseId: 0,
},
workList: [],//学员作业、考试、评语数据
});
let methods = {
......@@ -127,14 +134,24 @@
}
} while (i < data.length);
dec = tmp_arr.join("");
return dec;
},
//获取学员课程列表
getStuCourse() {
proxy.$request("/Stu/GetStuCourse", {}).then(res => {
data.stuCourseList = res.Data;
//console.log("data.stuCourseList",this.stuCourseList)
let tempArray = res.Data;
data.stuCourseList = tempArray;
if (tempArray && tempArray.length > 0) {
this.getStuHomeWorkAndExam(tempArray[0].courseId)
}
})
},
//获取学员作业、考试、评语
getStuHomeWorkAndExam(courseId) {
this.workMsg.courseId = courseId;
data.workList = [];
proxy.$request("/Stu/GetStuWork", this.workMsg).then(res => {
data.workList = res.Data;
})
},
async getColor(src, index, y) {
......@@ -179,35 +196,41 @@
</script>
<style scoped>
.index-student-title view{
.index-student-title view {
font-size: 25rpx;
color: #ABABAB;
margin-left: 20rpx;
padding: 13rpx 0 0 0;
}
.index-student-title text{
.index-student-title text {
font-size: 36rpx;
font-weight: 800;
color: #282828;
}
.index-student-title{
.index-student-title {
padding: 0 50rpx 45rpx;
}
.index-student-information{
.index-student-information {
min-height: 500rpx;
background: rgba(255,255,255,.7);
background: rgba(255, 255, 255, .7);
border-radius: 50rpx 50rpx 0 0;
padding: 71rpx 0 0 0;
}
.index-header-name{
.index-header-name {
font-size: 30rpx;
color: #474747;
}
.index-header-tetx{
.index-header-tetx {
color: #D0D0D0;
font-size: 24rpx;
}
.index-header-img .img{
.index-header-img .img {
display: block;
border: 2rpx solid rgba(164, 164, 164, 0.32);
border-radius: 50%;
......@@ -217,7 +240,8 @@
box-sizing: border-box;
margin: 4rpx;
}
.index-header-img{
.index-header-img {
width: 68rpx;
height: 68rpx;
border-radius: 50%;
......@@ -226,6 +250,7 @@
margin-right: 20rpx;
background: #FFFFFF;
}
.indexpage {
min-height: 100vh;
background-color: #f6f6f6;
......@@ -235,26 +260,29 @@
background-repeat: no-repeat;
background-size: 100% auto;
}
.index-header-box{
.index-header-box {
display: flex;
flex-direction: row;
align-items: center;
padding:0rpx 42rpx ;
padding: 0rpx 42rpx;
}
.index-header-box .index-header-title{
.index-header-box .index-header-title {
font-size: 24rpx;
font-weight: 400;
color: #B8B8B8;
}
.index-header-box .index-header-name{
.index-header-box .index-header-name {
font-size: 30rpx;
font-weight: 800;
color: #282828;
}
.navbarSticky {
display: sticky;
top: 0;
z-index: 9;
}
</style>
......@@ -20,7 +20,7 @@
<view style="font-size: 50rpx;">李老师</view>
</view>
</view>
<course-card></course-card>
<courseCard></courseCard>
<view class="index-student-information">
<view class="workSituation-title-box flex">
<view class="workSituation-title flex"
......@@ -43,7 +43,7 @@
</template>
<script>
import courseCard from '../../components/index/course-card'
import courseCard from '@/components/index/workSituation/courseCard'
import operation from '@/components/index/workSituation/operation'
import studentList from '@/components/index/workSituation/studentList'
import examList from '@/components/index/workSituation/examList'
......@@ -87,7 +87,7 @@
{name:'作业情况',num:5},
{name:'考试信息',num:18},
],
tabNme:'作业情况'
tabNme:'考试信息'
});
let methods = {
......@@ -166,7 +166,7 @@
border-radius: 30rpx;
}
.index-student-information{
min-height: 500rpx;
min-height: 800rpx;
background: rgba(255,255,255,.7);
border-radius: 50rpx 50rpx 0 0;
padding: 50rpx 0 30rpx 0;
......
......@@ -63,8 +63,8 @@
} = getCurrentInstance();
let Toast = inject("$toast");
let msg = reactive({
Account: "13880093563",
Password: "093563",
Account: "13802557508",
Password: "557508",
});
let data = reactive({
phoneNum: "",
......
......@@ -126,8 +126,8 @@ export default global['__wxComponents']['vant/search/index']
padding-left: var(--padding-sm,24rpx);
border-radius: 4rpx;
border-radius: var(--border-radius-sm,4rpx);
background-color: #f7f8fa;
background-color: var(--search-background-color,#f7f8fa);
background-color: #FFFFFF;
background-color: var(--search-background-color,#FFFFFF);
}
.van-search__content--round {
......
......@@ -21,8 +21,8 @@
padding-left: var(--padding-sm,24rpx);
border-radius: 4rpx;
border-radius: var(--border-radius-sm,4rpx);
background-color: #f7f8fa;
background-color: var(--search-background-color,#f7f8fa);
background-color: #FFFFFF;
background-color: var(--search-background-color,#FFFFFF);
}
.van-search__content--round {
......
......@@ -126,8 +126,8 @@ export default global['__wxComponents']['vant/search/index']
padding-left: var(--padding-sm,24rpx);
border-radius: 4rpx;
border-radius: var(--border-radius-sm,4rpx);
background-color: #f7f8fa;
background-color: var(--search-background-color,#f7f8fa);
background-color: #FFFFFF;
background-color: var(--search-background-color,#FFFFFF);
}
.van-search__content--round {
......
......@@ -21,8 +21,8 @@
padding-left: var(--padding-sm,24rpx);
border-radius: 4rpx;
border-radius: var(--border-radius-sm,4rpx);
background-color: #f7f8fa;
background-color: var(--search-background-color,#f7f8fa);
background-color: #FFFFFF;
background-color: var(--search-background-color,#FFFFFF);
}
.van-search__content--round {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment