Commit 90be3484 authored by 黄奎's avatar 黄奎

Merge branch 'master' of http://gitlab.oytour.com/youjie/thinkapp

parents 05d2fffe 24b90cb5
...@@ -17,8 +17,10 @@ ...@@ -17,8 +17,10 @@
onMounted, onMounted,
} from "vue"; } from "vue";
export default { export default {
props: {}, props: {
setup() { DifficultyList:[]
},
setup(props) {
let data = reactive({ let data = reactive({
chartData: {}, chartData: {},
opts: { opts: {
...@@ -70,11 +72,19 @@ ...@@ -70,11 +72,19 @@
//模拟从服务器获取数据时的延时 //模拟从服务器获取数据时的延时
setTimeout(() => { setTimeout(() => {
//模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接 //模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接
let cate =[];
let serNum =[];
let serScore=[];
props.DifficultyList.forEach(item=>{
cate.push(item.Difficulty);
serNum.push(item.Count);
serScore.push(item.Score);
});
let res = { let res = {
categories: ["简单", "中档题", "难题"], categories: cate,
series: [{ series: [{
name: "题目数量", name: "题目数量",
data: [4, 16, 5], data: serNum,
textColor:"#CE8086", textColor:"#CE8086",
type: "column", type: "column",
index:0, index:0,
...@@ -86,7 +96,7 @@ ...@@ -86,7 +96,7 @@
color: "#282828", color: "#282828",
textColor:"#282828", textColor:"#282828",
index:1, index:1,
data: [8,62,30], data: serScore,
textOffset:-20 textOffset:-20
} }
] ]
......
...@@ -18,8 +18,8 @@ ...@@ -18,8 +18,8 @@
onMounted, onMounted,
} from "vue"; } from "vue";
export default { export default {
props: {}, props: ["ModuleList"],
setup() { setup(props) {
let data = reactive({ let data = reactive({
chartData: {}, chartData: {},
...@@ -52,8 +52,16 @@ ...@@ -52,8 +52,16 @@
//模拟从服务器获取数据时的延时 //模拟从服务器获取数据时的延时
setTimeout(() => { setTimeout(() => {
//模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接 //模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接
let cate = [];//模块名称
let grRate =[];//个人得分率
let avgRate =[];//平均得分率
props.ModuleList.forEach(item=>{
cate.push(item.Module);
grRate.push(item.ScoreRate * 100);
avgRate.push(item.AvgScoreRate * 100);
});
let res = { let res = {
categories: ["化学与生活", "物质分类", "物质的量综合", "离子反应", "氧还原反应", "化学实验","元素及其化合物"], categories: cate,
series: [ series: [
{ {
name: "", name: "",
...@@ -62,11 +70,11 @@ ...@@ -62,11 +70,11 @@
}, },
{ {
name: "平均得分率", name: "平均得分率",
data: [80,66,50,90,53,60,20] data: avgRate
}, },
{ {
name: "个人得分率", name: "个人得分率",
data: [74, 87, 69, 97, 16, 16,88] data: grRate
}, },
] ]
......
...@@ -18,8 +18,10 @@ ...@@ -18,8 +18,10 @@
onMounted, onMounted,
} from "vue"; } from "vue";
export default { export default {
props: {}, props: {
setup() { DifficultyRateList:[]
},
setup(props) {
let data = reactive({ let data = reactive({
chartData: {}, chartData: {},
...@@ -52,8 +54,16 @@ ...@@ -52,8 +54,16 @@
//模拟从服务器获取数据时的延时 //模拟从服务器获取数据时的延时
setTimeout(() => { setTimeout(() => {
//模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接 //模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接
let cate =[];
let grScore=[];
let avgScore=[];
props.DifficultyRateList.forEach(item=>{
cate.push(item.Difficulty);
grScore.push(item.ScoreRate * 100);
avgScore.push(item.AvgScoreRate * 100);
});
let res = { let res = {
categories: ["简单题", "中档题", "难题"], categories: cate,
series: [ series: [
{ {
name: "", name: "",
...@@ -62,11 +72,11 @@ ...@@ -62,11 +72,11 @@
}, },
{ {
name: "平均得分率", name: "平均得分率",
data: [80,66,50] data: avgScore
}, },
{ {
name: "个人得分率", name: "个人得分率",
data: [25, 87, 69] data: grScore
}, },
] ]
......
...@@ -4,39 +4,12 @@ ...@@ -4,39 +4,12 @@
<view v-for="(T,index) in TitleList" :key="index">{{T}}</view> <view v-for="(T,index) in TitleList" :key="index">{{T}}</view>
</view> </view>
<view class="allGraspTheSituation-content flex"> <view class="allGraspTheSituation-content flex">
<view class="allGraspTheSituation-left flex">
<view v-for="(l,index) in letftTitleList" :key="index">{{l}}</view>
</view>
<view class="allGraspTheSituation-right flex"> <view class="allGraspTheSituation-right flex">
<view class="allGraspTheSituation-num flex"> <view class="allGraspTheSituation-num flex" v-for="(item,index) in ModuleList" :key="index">
<text>2</text> <text>{{item.Module}}</text>
<text class="fullScore">100<text>%</text></text> <text>{{item.Score}}</text>
<text>12<text>.5</text></text> <text class="fullScore">{{item.ScoreRate * 100}}<text>%</text></text>
</view> <text class="fullScore">{{item.AvgScoreRate * 100}}<text>%</text></text>
<view class="allGraspTheSituation-num flex">
<text>2</text>
<text>62<text>%</text></text>
<text>3<text>.5</text></text>
</view>
<view class="allGraspTheSituation-num flex">
<text>2</text>
<text>62<text>%</text></text>
<text>3<text>.5</text></text>
</view>
<view class="allGraspTheSituation-num flex">
<text>2</text>
<text>62<text>%</text></text>
<text>3<text>.5</text></text>
</view>
<view class="allGraspTheSituation-num flex">
<text>2</text>
<text>62<text>%</text></text>
<text>3<text>.5</text></text>
</view>
<view class="allGraspTheSituation-num flex">
<text>2</text>
<text class="failed">45<text>%</text></text>
<text>12<text>.5</text></text>
</view> </view>
</view> </view>
...@@ -55,7 +28,7 @@ ...@@ -55,7 +28,7 @@
export default { export default {
props: { props: {
ModuleList:[]
}, },
components: {}, components: {},
setup() { setup() {
...@@ -67,8 +40,7 @@ ...@@ -67,8 +40,7 @@
}, },
showPhone: false, showPhone: false,
showLogin: true, //多次点击 showLogin: true, //多次点击
TitleList:['考点','分数','个人得分率','平均得分'], TitleList:['考点','分数','个人得分率','平均得分']
letftTitleList:['化学与生活','物质分类','物质的量综合','离子反应','氧化还原反应','化学实验','元素及其化合物']
}); });
return { return {
...toRefs(data), ...toRefs(data),
......
...@@ -13,41 +13,19 @@ ...@@ -13,41 +13,19 @@
width="200">{{item}}</th> width="200">{{item}}</th>
</tr> </tr>
<tr class="analysisTest-content-right flex"> <tr class="analysisTest-content-right flex">
<td class="analysisTest-td"> <td class="analysisTest-td" v-for="(item,index) in ScoreList" :key="index">
<view class="analysisTest-number">1</view> <view class="analysisTest-number">{{item.Sort}}</view>
<view class="analysisTest-difficulty"> <view class="analysisTest-difficulty">
<van-icon name="star" v-for="(s,index) in 3" :key="index"/> <view v-if="item.Difficulty == '易'"><van-icon name="star" v-for="(s,i) in 1" :key="i"/></view>
<view v-else-if="item.Difficulty == '中'"><van-icon name="star" v-for="(s,i) in 2" :key="i"/></view>
<view v-else-if="item.Difficulty == '难'"><van-icon name="star" v-for="(s,i) in 3" :key="i"/></view>
</view> </view>
<view class="analysisTest-KnowledgePoint">化学与生活</view> <view class="analysisTest-KnowledgePoint">{{item.KnowledgePoint}}</view>
<view class="analysisTest-ScoreOne">1</view> <view class="analysisTest-ScoreOne">{{item.QScore}}</view>
<view class="analysisTest-ScoreTwo">2</view> <view class="analysisTest-ScoreTwo">{{item.Score}}</view>
<view class="analysisTest-scoringRate">75%</view> <view class="analysisTest-scoringRate">{{item.ScoreRate * 100}}%</view>
<view class="analysisTest-TheAverageAcore">1.7555555555555555555555</view> <view class="analysisTest-TheAverageAcore">{{item.AvgScore}}</view>
<view class="analysisTest-averageScoringRate">88%</view> <view class="analysisTest-averageScoringRate">{{item.AvgScoreRate * 100}}%</view>
</td>
<td class="analysisTest-td">
<view class="analysisTest-number">1</view>
<view class="analysisTest-difficulty">
<van-icon name="star" v-for="(s,index) in 1" :key="index"/>
</view>
<view class="analysisTest-KnowledgePoint">化学与生活</view>
<view class="analysisTest-ScoreOne">1</view>
<view class="analysisTest-ScoreTwo">2</view>
<view class="analysisTest-scoringRate">75%</view>
<view class="analysisTest-TheAverageAcore">1.7555555555555555555555</view>
<view class="analysisTest-averageScoringRate">88%</view>
</td>
<td class="analysisTest-td">
<view class="analysisTest-number">1</view>
<view class="analysisTest-difficulty">
<van-icon name="star" v-for="(s,index) in 1" :key="index"/>
</view>
<view class="analysisTest-KnowledgePoint">化学与生活</view>
<view class="analysisTest-ScoreOne">1</view>
<view class="analysisTest-ScoreTwo">2</view>
<view class="analysisTest-scoringRate">75%</view>
<view class="analysisTest-TheAverageAcore">1.7555555555555555555555</view>
<view class="analysisTest-averageScoringRate">88%</view>
</td> </td>
</tr> </tr>
...@@ -68,9 +46,7 @@ ...@@ -68,9 +46,7 @@
} from "vue"; } from "vue";
export default { export default {
props: { props: ["ScoreList"],
},
components: {}, components: {},
setup() { setup() {
......
...@@ -4,21 +4,11 @@ ...@@ -4,21 +4,11 @@
<view v-for="(T,index) in TitleList" :key="index">{{T}}</view> <view v-for="(T,index) in TitleList" :key="index">{{T}}</view>
</view> </view>
<view class="dfficultyAnalysis-content flex"> <view class="dfficultyAnalysis-content flex">
<view class="dfficultyAnalysis-left flex">
<view v-for="(l,index) in letftTitleList" :key="index">{{l}}</view>
</view>
<view class="dfficultyAnalysis-right flex"> <view class="dfficultyAnalysis-right flex">
<view class="dfficultyAnalysis-num flex"> <view class="dfficultyAnalysis-num flex" v-for="(item,index) in DifficultyList" :key="index">
<text>2</text> <text>{{item.Difficulty}}</text>
<text>53<text>.5</text></text> <text>{{item.Count}}</text>
</view> <text>{{item.Score}}</text>
<view class="dfficultyAnalysis-num flex">
<text>2</text>
<text>62<text>.5</text></text>
</view>
<view class="dfficultyAnalysis-num flex">
<text>2</text>
<text>12<text>.5</text></text>
</view> </view>
</view> </view>
...@@ -37,7 +27,7 @@ ...@@ -37,7 +27,7 @@
export default { export default {
props: { props: {
DifficultyList:[]
}, },
components: {}, components: {},
setup() { setup() {
...@@ -49,8 +39,7 @@ ...@@ -49,8 +39,7 @@
}, },
showPhone: false, showPhone: false,
showLogin: true, //多次点击 showLogin: true, //多次点击
TitleList:['题目难度','题目数量','题目分数'], TitleList:['题目难度','题目数量','题目分数']
letftTitleList:['简单题','中档题','难题']
}); });
return { return {
...toRefs(data), ...toRefs(data),
......
<template>
<view class="examDetailsComponents-box">
<view class="examDetailsComponents activeTwo mismatchActive flex">
<view class="examDetailsComponents-time-box flex">
<view class="examDetailsComponents-time flex">
<view></view>
<text>潇潇</text>
</view>
<view class="examDetailsComponents-line">
<view class="examDetailsComponents-point"></view>
</view>
</view>
<view class="examDetailsComponents-center-box">
<view class="Mismatch-box">
<view class="Mismatch-title flex">
<van-icon name="warning" />
<text>学员不匹配</text>
</view>
</view>
<view class="examDetailsComponents-center flex">
<view class="examDetailsComponents-left flex">
<view class="operation-state flex">
<view class="operation-state-img"></view>
<view class="operation-state-text">未批阅</view>
</view>
<view class="operation-name">2022-05-22</view>
</view>
<view class="examDetailsComponents-right flex">
<view class="homework-score flex">
<view class="homework-score-title">
得分 <text>86</text>
</view>
</view>
<view class="homework-score flex">
<view class="homework-score-title">
得分率 <text>86</text>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="examDetailsComponents activeOne flex">
<view class="examDetailsComponents-time-box flex">
<view class="examDetailsComponents-time flex">
<view></view>
<text>潇潇</text>
</view>
<view class="examDetailsComponents-line">
<view class="examDetailsComponents-point"></view>
</view>
</view>
<view class="examDetailsComponents-center-box">
<view class="examDetailsComponents-center flex">
<view class="examDetailsComponents-left flex">
<view class="operation-state flex">
<view class="operation-state-img"></view>
<view class="operation-state-text">批阅</view>
</view>
<view class="operation-name">2022-05-22</view>
</view>
<view class="examDetailsComponents-right flex">
<view class="homework-score flex">
<view class="homework-score-title">
得分 <text>86</text>
</view>
</view>
<view class="homework-score flex">
<view class="homework-score-title">
得分率 <text>86</text>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import {
reactive,
toRefs,
onMounted,
getCurrentInstance,
inject
} from "vue";
export default {
props: {
},
components: {},
setup() {
let data = reactive({
obj: {
Name: '',
Photo: '',
},
showPhone: false,
showLogin: true, //多次点击
});
let methods = {
}
return {
...toRefs(data),
...methods
};
},
};
</script>
<style scoped>
.homework-score-title text{
font-size: 46rpx;
font-weight: 800;
font-style: italic;
padding: 0 10rpx 0 17rpx;
}
.homework-score-title{
color: #282828;
font-size: 20rpx;
font-weight: 400;
letter-spacing: 1px;
}
.homework-score:first-child{
margin-right: 16rpx;
}
.homework-score{
align-items: center;
justify-content: space-between;
}
.examDetailsComponents-right{
height: 88rpx;
background: #FCEEEF;
padding: 0 22rpx;
border-radius: 25rpx;
justify-content: space-between;
flex-shrink: 0;
}
.operation-state-text{
font-size: 20rpx;
letter-spacing: 2px;
}
.examDetailsComponents.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;
}
.examDetailsComponents.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;
}
.examDetailsComponents.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{
width: 22rpx;
height: 22rpx;
margin-right: 9rpx;
margin-top: 4rpx;
}
.operation-state{
font-size: 20rpx;
white-space: nowrap;
color: #282828;
}
.operation-name{
font-size: 16rpx;
letter-spacing: 1px;
font-weight: 500;
color: #C2BCBA;
}
.examDetailsComponents-left{
justify-content: space-between;
align-items: center;
margin-bottom: 17rpx;
}
.examDetailsComponents-center{
flex-direction: column;
}
.examDetailsComponents.mismatchActive .Mismatch-box{
display: block;
}
.Mismatch-title van-icon{
font-size: 42rpx;
margin-right: 8rpx;
}
.Mismatch-title{
height: 100%;
align-items: center;
justify-content: center;
font-size: 36rpx;
font-weight: bold;
color: #C91727;
letter-spacing: 1rpx;
}
.Mismatch-box{
position: absolute;
left: 0;
top: 0;
bottom: 0;
right: 0;
display: none;
}
.examDetailsComponents.mismatchActive .examDetailsComponents-center-box{
background: rgba(200, 23, 39, 0.1);
border: 2px solid #FD3869;
position: relative;
}
.examDetailsComponents .examDetailsComponents-center-box{
background: #FFFFFF;
}
.examDetailsComponents-center-box{
flex-grow: 1;
border-radius: 30rpx;
padding: 17rpx 26rpx 23rpx 21rpx;
margin-bottom: 40rpx;
box-shadow: 0px 6px 29px 0px rgba(76, 76, 76, 0.09);
border-radius: 20px;
}
.examDetailsComponents.activeThree .examDetailsComponents-point{
background: #C1C1C1;
}
.examDetailsComponents.activeTwo .examDetailsComponents-point{
background: #282828;
}
.examDetailsComponents.activeOne .examDetailsComponents-point{
background: #C81727;
box-shadow: 0px 0px 12px 0px rgba(200, 23, 39, 0.46);
}
.examDetailsComponents .examDetailsComponents-point{
width: 19rpx;
height: 19rpx;
position: absolute;
top: 20rpx;
left: -13rpx;
border-radius: 50%;
border: 3px solid #FFFFFF;
box-shadow: 0px 0px 12px 0px rgba(255, 255, 255, 0.46);
}
.examDetailsComponents-line{
width: 4rpx;
height: 100%;
background: #F1F1F1;
margin-left: 46rpx;
margin-right: 46rpx;
position: relative;
}
.examDetailsComponents-time text{
font-size: 20rpx;
font-weight: bold;
white-space: nowrap;
margin-top: 18rpx;
margin-left: 4rpx;
}
.examDetailsComponents-time{
color: #282828;
font-size: 36rpx;
font-weight: bold;
letter-spacing: 1rpx;
}
.examDetailsComponents-time-box{
}
.examDetailsComponents{
justify-content: space-between;
padding: 0 50rpx;
}
</style>
...@@ -4,21 +4,11 @@ ...@@ -4,21 +4,11 @@
<view v-for="(T,index) in TitleList" :key="index">{{T}}</view> <view v-for="(T,index) in TitleList" :key="index">{{T}}</view>
</view> </view>
<view class="graspTheSituation-content flex"> <view class="graspTheSituation-content flex">
<view class="graspTheSituation-left flex">
<view v-for="(l,index) in letftTitleList" :key="index">{{l}}</view>
</view>
<view class="graspTheSituation-right flex"> <view class="graspTheSituation-right flex">
<view class="graspTheSituation-num flex"> <view class="graspTheSituation-num flex" v-for="(item,index) in DifficultyRateList" :key="index">
<text>2<text>%</text></text> <text>{{item.Difficulty}}</text>
<text>53<text>%</text></text> <text>{{item.ScoreRate}}<text>%</text></text>
</view> <text>{{item.AvgScoreRate}}<text>%</text></text>
<view class="graspTheSituation-num flex">
<text>2<text>%</text></text>
<text>62<text>%</text></text>
</view>
<view class="graspTheSituation-num flex">
<text>2<text>%</text></text>
<text>12<text>%</text></text>
</view> </view>
</view> </view>
...@@ -37,7 +27,7 @@ ...@@ -37,7 +27,7 @@
export default { export default {
props: { props: {
DifficultyRateList:[]
}, },
components: {}, components: {},
setup() { setup() {
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<text>导入考试信息</text> <text>导入考试信息</text>
</view> </view>
<view class="examList activeOne"> <view class="examList activeOne">
<view class="examList-center-box" @click="JobDetails"> <view class="examList-center-box" @click="examDetails">
<view class="examList-center-line"></view> <view class="examList-center-line"></view>
<view class="examList-center flex"> <view class="examList-center flex">
<view class="examList-left"> <view class="examList-left">
...@@ -35,10 +35,15 @@ ...@@ -35,10 +35,15 @@
</view> </view>
<van-popup :show="show" :round="true"> <van-popup :show="show" :round="true">
<view class="examList-popup-box"> <view class="examList-popup-box">
<van-icon class="examList-popup-closure" name="cross" /> <van-icon class="examList-popup-closure" name="cross" @click="show=false"/>
<view class="examList-popup-title">导入考试信息</view> <view class="examList-popup-title">导入考试信息</view>
<view class="examList-popup-content"> <view class="examList-popup-content">
<input class="examList-popup-name" placeholder="请输入用户名" /> <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>
</view> </view>
</van-popup> </van-popup>
...@@ -70,13 +75,16 @@ ...@@ -70,13 +75,16 @@
show:false, show:false,
}); });
let methods = { let methods = {
JobDetails(){ examDetails(){
uni.reLaunch({ uni.reLaunch({
url: '/pages/index/workSituation' url: '/pages/index/examDetails'
}); });
}, },
ImportInformation(){ ImportInformation(){
this.show = true this.show = true
},
uploadFiles(){
} }
} }
return { return {
...@@ -87,6 +95,32 @@ ...@@ -87,6 +95,32 @@
}; };
</script> </script>
<style scoped> <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{ .examList-popup-title{
width: 100%; width: 100%;
text-align: center; text-align: center;
......
...@@ -20,6 +20,12 @@ ...@@ -20,6 +20,12 @@
"style": { "style": {
"navigationStyle": "custom" "navigationStyle": "custom"
} }
},
{
"path": "pages/index/examDetails",
"style": {
"navigationStyle": "custom"
}
},{ },{
"path": "pages/index/workSituation", "path": "pages/index/workSituation",
"style": { "style": {
......
<template>
<view class="jobDetails-box">
<navbar class="navbarSticky" bg="#F6F6F6">
<view class="jobDetails-header-box">
<van-icon class="jobDetails-header-left" name="arrow-left" @click="back"/>
<text class="jobDetails-header-title">考试详情</text>
</view>
</navbar>
<view class="jobDetails-content">
<view class="jobDetails-content-header">
<view class="jobDetails-conten-title flex">
<text>2022年5月28日</text>
<view>化学第一次测试</view>
</view>
<view class="jobDetails-num-box flex">
<view class="jobDetails-num flex">
<text>人数</text>
<view>15</view>
</view>
<view class="jobDetails-num flex">
<text>平均得分</text>
<view>12</view>
</view>
</view>
</view>
<view class="index-student-information">
<examDetailsComponents></examDetailsComponents>
</view>
</view>
</view>
</template>
<script>
import examDetailsComponents from '@/components/index/scoreDetails/examDetailsComponents'
import {
reactive,
toRefs,
onMounted,
getCurrentInstance,
inject
} from "vue";
export default {
props: {
},
components: {
examDetailsComponents
},
setup() {
let data = reactive({
obj: {
Name: '',
Photo: '',
},
showPhone: false,
showLogin: true, //多次点击
});
let methods = {
back(){
uni.reLaunch({
url: '/pages/index/workSituation?tabNme=' + '考试信息'
});
}
}
return {
...toRefs(data),
...methods
};
}
};
</script>
<style scoped>
.index-student-information{
min-height: 800rpx;
background: #FFFFFF;
border-radius: 50rpx 50rpx 0 0;
padding: 71rpx 0 30rpx 0;
}
.jobDetails-num view{
font-size: 36rpx;
font-weight: 800;
font-style: italic;
margin-top: 15rpx;
}
.jobDetails-num text{
font-size: 20rpx;
font-weight: 400;
}
.jobDetails-num{
flex-direction: column;
color: #CE8086;
}
.jobDetails-num-box{
justify-content: space-between;
padding: 70rpx 185rpx 35rpx 185rpx;
}
.jobDetails-conten-title view{
font-size: 50rpx;
font-weight: 800;
}
.jobDetails-conten-title text{
font-size: 36rpx;
font-weight: 400;
margin-bottom: 10rpx;
}
.jobDetails-conten-title{
padding: 50rpx 50rpx 0 50rpx;
flex-direction: column;
color: #282828;
letter-spacing: 1rpx;
}
.jobDetails-content-header{
}
.jobDetails-content{
position: relative;
z-index: 2;
}
.jobDetails-box{
background: #FCEEEF;
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
z-index: 0;
}
.jobDetails-header-title{
position: absolute;
left: 0;
right: 0;
top: 0;
padding: 37rpx 31rpx;
text-align: center;
letter-spacing: 1rpx;
font-size: 32rpx;
font-weight: 500;
color: #282828;
}
.jobDetails-header{
margin: 50rpx 50rpx 0 50rpx;
align-items: center;
}
.jobDetails-header-left{
font-size: 40rpx;
position: relative;
z-index: 3;
}
.jobDetails-header-box{
padding: 37rpx 31rpx;
position: relative;
}
.navbarSticky {
display: sticky;
top: 0;
z-index: 9;
}
</style>
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
let methods = { let methods = {
back(){ back(){
uni.reLaunch({ uni.reLaunch({
url: '/pages/index/workSituation' url: '/pages/index/workSituation?tabNme=' + '作业情况'
}); });
} }
} }
......
...@@ -12,13 +12,13 @@ ...@@ -12,13 +12,13 @@
</view> </view>
<view class="scoreDetails-header-tetx"> <view class="scoreDetails-header-tetx">
<view class="scoreDetails-header-name"> <view class="scoreDetails-header-name">
周一围 {{ExamScore.StuName}}
</view> </view>
<view class="scoreDetails-header-title">化学成绩详情</view> <view class="scoreDetails-header-title">{{ExamScore.ExamName}}</view>
</view> </view>
<view class="scoreDetails-header-num flex"> <view class="scoreDetails-header-num flex">
<view>总分</view> <view>总分</view>
<text>92</text> <text>{{ExamScore.TScore}}</text>
</view> </view>
</view> </view>
<view class="scoreDetails-Fraction flex"> <view class="scoreDetails-Fraction flex">
...@@ -26,8 +26,7 @@ ...@@ -26,8 +26,7 @@
<view class="scoreDetails-Fraction-img activeOne"></view> <view class="scoreDetails-Fraction-img activeOne"></view>
<view class="scoreDetails-Fraction-num"> <view class="scoreDetails-Fraction-num">
<view> <view>
<text>45</text> <text>{{ExamScore.Rank}}</text>
</view> </view>
<view>排名</view> <view>排名</view>
</view> </view>
...@@ -36,8 +35,7 @@ ...@@ -36,8 +35,7 @@
<view class="scoreDetails-Fraction-img activeTwo"></view> <view class="scoreDetails-Fraction-img activeTwo"></view>
<view class="scoreDetails-Fraction-num"> <view class="scoreDetails-Fraction-num">
<view> <view>
<text>45</text> <text>{{ExamScore.ScoreRate * 100}}</text>%
%
</view> </view>
<view>得分率</view> <view>得分率</view>
</view> </view>
...@@ -46,7 +44,7 @@ ...@@ -46,7 +44,7 @@
<view class="scoreDetails-Fraction-img activeThree"></view> <view class="scoreDetails-Fraction-img activeThree"></view>
<view class="scoreDetails-Fraction-num"> <view class="scoreDetails-Fraction-num">
<view> <view>
<text>45</text> <text>{{ExamScore.RankRate * 100}}</text>%
</view> </view>
<view>领先度</view> <view>领先度</view>
</view> </view>
...@@ -54,29 +52,29 @@ ...@@ -54,29 +52,29 @@
</view> </view>
<view class="scoreDetails-title flex"> <view class="scoreDetails-title flex">
<text>各小题得分分析考</text> <text>各小题得分分析考</text>
<view>(共53条)</view> <view>(共{{ExamScore.ScoreList.length}}小题)</view>
</view> </view>
<analysisTest></analysisTest> <analysisTest :ScoreList="ExamScore.ScoreList"></analysisTest>
<view class="scoreDetails-title flex"> <view class="scoreDetails-title flex">
<text>各板块掌握情况</text> <text>各板块掌握情况</text>
</view> </view>
<view class="index-student-information"> <view class="index-student-information">
<penta></penta> <penta :ModuleList="ExamScore.ModuleList"></penta>
<allGraspTheSituation></allGraspTheSituation> <allGraspTheSituation :ModuleList="ExamScore.ModuleList"></allGraspTheSituation>
</view> </view>
<view class="scoreDetails-title flex"> <view class="scoreDetails-title flex">
<text>试卷难度分析</text> <text>试卷难度分析</text>
</view> </view>
<view class="index-student-information"> <view class="index-student-information">
<line></line> <line :DifficultyList="ExamScore.DifficultyList"></line>
<dfficultyAnalysis></dfficultyAnalysis> <dfficultyAnalysis :DifficultyList="ExamScore.DifficultyList"></dfficultyAnalysis>
</view> </view>
<view class="scoreDetails-title flex"> <view class="scoreDetails-title flex">
<text>难度掌握情况</text> <text>难度掌握情况</text>
</view> </view>
<view class="index-student-information"> <view class="index-student-information">
<triangle></triangle> <triangle :DifficultyRateList="ExamScore.DifficultyRateList"></triangle>
<graspTheSituation></graspTheSituation> <graspTheSituation :DifficultyRateList="ExamScore.DifficultyRateList"></graspTheSituation>
</view> </view>
</view> </view>
</template> </template>
...@@ -127,24 +125,22 @@ ...@@ -127,24 +125,22 @@
proxy proxy
} = getCurrentInstance(); } = getCurrentInstance();
let data = reactive({ let data = reactive({
ActiveMsg: { userData: {},
pageIndex: 1, Msg:{
pageSize: 10, ExamId:0,
ActivityType: 0, StuUId:0
SelectIsEnd: 0,
}, },
ActivityList: [], ExamScore:{},
pageData: {
LearningGardenList: []
},
SurveyObj:{
ActivitySurveyId:0,
ActivitySurveyGuestId:0,
},
userData: {}
}); });
let methods = { let methods = {
//获取学生成绩
getExamStuScore(){
proxy.$request("/Exam/GetExamStuScoreInfo", data.Msg).then(res => {
data.ExamScore = res.Data;
})
},
back() { back() {
uni.navigateTo({ uni.navigateTo({
url: '/pages/index/index' url: '/pages/index/index'
...@@ -160,8 +156,13 @@ ...@@ -160,8 +156,13 @@
...methods, ...methods,
}; };
}, },
onLoad(options){
this.Msg.ExamId = options.examId;
this.Msg.StuUId = options.stuUId;
},
onShow() { onShow() {
this.userData = uni.getStorageSync('userInfo'); this.userData = uni.getStorageSync('userInfo');
this.getExamStuScore();
}, },
onShareAppMessage() { onShareAppMessage() {
return { return {
......
...@@ -109,6 +109,9 @@ ...@@ -109,6 +109,9 @@
...methods, ...methods,
}; };
}, },
onLoad(option) {
this.tabNme = option.tabNme
},
onShow() { onShow() {
this.userData = uni.getStorageSync('userInfo'); this.userData = uni.getStorageSync('userInfo');
}, },
......
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