|
@@ -57,7 +57,7 @@
|
|
<span>{{scoreJun}}</span>
|
|
<span>{{scoreJun}}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <studentInfo style="height: calc(100% - 70px)"></studentInfo>
|
|
|
|
|
|
+ <studentInfo style="height: calc(100% - 70px)" :EscoreArray2="EscoreArray2" @openDataClass="openDataClass"></studentInfo>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="bottom">
|
|
<div class="bottom">
|
|
@@ -72,7 +72,7 @@
|
|
<el-progress
|
|
<el-progress
|
|
:width="90"
|
|
:width="90"
|
|
type="circle"
|
|
type="circle"
|
|
- :percentage="36"
|
|
|
|
|
|
+ :percentage="lightJson.course ? ((lightJson.course / count) * 100).toFixed(0) : 0"
|
|
:stroke-width="15"
|
|
:stroke-width="15"
|
|
:format="format"
|
|
:format="format"
|
|
color="#106BFF"
|
|
color="#106BFF"
|
|
@@ -85,7 +85,7 @@
|
|
<el-progress
|
|
<el-progress
|
|
:width="90"
|
|
:width="90"
|
|
type="circle"
|
|
type="circle"
|
|
- :percentage="76"
|
|
|
|
|
|
+ :percentage="lightJson.scourse ? ((lightJson.scourse / count) * 100).toFixed(0) : 0"
|
|
:stroke-width="15"
|
|
:stroke-width="15"
|
|
:format="format"
|
|
:format="format"
|
|
color="#106BFF"
|
|
color="#106BFF"
|
|
@@ -98,7 +98,7 @@
|
|
<el-progress
|
|
<el-progress
|
|
:width="90"
|
|
:width="90"
|
|
type="circle"
|
|
type="circle"
|
|
- :percentage="76"
|
|
|
|
|
|
+ :percentage="lightJson.tools ? ((lightJson.tools / count) * 100).toFixed(0) : 0"
|
|
:stroke-width="15"
|
|
:stroke-width="15"
|
|
:format="format"
|
|
:format="format"
|
|
color="#106BFF"
|
|
color="#106BFF"
|
|
@@ -111,7 +111,7 @@
|
|
<el-progress
|
|
<el-progress
|
|
:width="90"
|
|
:width="90"
|
|
type="circle"
|
|
type="circle"
|
|
- :percentage="76"
|
|
|
|
|
|
+ :percentage="lightJson.xcourse ? ((lightJson.xcourse / count) * 100).toFixed(0) : 0"
|
|
:stroke-width="15"
|
|
:stroke-width="15"
|
|
:format="format"
|
|
:format="format"
|
|
color="#106BFF"
|
|
color="#106BFF"
|
|
@@ -124,7 +124,7 @@
|
|
<el-progress
|
|
<el-progress
|
|
:width="90"
|
|
:width="90"
|
|
type="circle"
|
|
type="circle"
|
|
- :percentage="76"
|
|
|
|
|
|
+ :percentage="lightJson.exchange ? ((lightJson.exchange / count) * 100).toFixed(0) : 0"
|
|
:stroke-width="15"
|
|
:stroke-width="15"
|
|
:format="format"
|
|
:format="format"
|
|
color="#106BFF"
|
|
color="#106BFF"
|
|
@@ -139,7 +139,7 @@
|
|
<div class="top">
|
|
<div class="top">
|
|
<div class="titleBox">
|
|
<div class="titleBox">
|
|
<div class="title">学生综合评价</div>
|
|
<div class="title">学生综合评价</div>
|
|
- <el-select v-model="eva" @change="typeChange2" @focus="setMinWidth" class="selectBox" style="width: 150px;">
|
|
|
|
|
|
+ <el-select v-model="eva" @focus="setMinWidth" class="selectBox" style="width: 150px;">
|
|
<el-option v-for="item in evArray" :key="item.id" :label="item.title" :value="item.id" :style="{'width': minWidth + 2 + 'px'}"></el-option>
|
|
<el-option v-for="item in evArray" :key="item.id" :label="item.title" :value="item.id" :style="{'width': minWidth + 2 + 'px'}"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</div>
|
|
</div>
|
|
@@ -162,7 +162,7 @@
|
|
<span>{{ (loginTime / count).toFixed(0) }}小时</span>
|
|
<span>{{ (loginTime / count).toFixed(0) }}小时</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <loginTime style="height: calc(100% - 70px)"></loginTime>
|
|
|
|
|
|
+ <loginTime style="height: calc(100% - 70px)" :EloginTimeArray="EloginTimeArray"></loginTime>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -205,13 +205,33 @@ export default {
|
|
eva:'',
|
|
eva:'',
|
|
evCourseArray:[],
|
|
evCourseArray:[],
|
|
minWidth:0,
|
|
minWidth:0,
|
|
- courseClass:[]
|
|
|
|
|
|
+ courseClass:[],
|
|
|
|
+ lightJson: {
|
|
|
|
+ course:0,
|
|
|
|
+ scourse:0,
|
|
|
|
+ tools:0,
|
|
|
|
+ xcourse:0,
|
|
|
|
+ exchange:0,
|
|
|
|
+ },
|
|
|
|
+ EloginTimeArray:[],
|
|
|
|
+ EscoreArray2:[],
|
|
};
|
|
};
|
|
},
|
|
},
|
|
mounted() {
|
|
mounted() {
|
|
this.getData();
|
|
this.getData();
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
|
|
+ openDataClass(classIndex){
|
|
|
|
+ console.log(classIndex);
|
|
|
|
+ console.log(this.EscoreArray2[classIndex]);
|
|
|
|
+ window.parent.postMessage(
|
|
|
|
+ {
|
|
|
|
+ tools: "openDataClass",
|
|
|
|
+ classid: this.EscoreArray2[classIndex].id,
|
|
|
|
+ },
|
|
|
|
+ "*"
|
|
|
|
+ );
|
|
|
|
+ },
|
|
setMinWidth (val) {
|
|
setMinWidth (val) {
|
|
this.minWidth = val.srcElement.clientWidth
|
|
this.minWidth = val.srcElement.clientWidth
|
|
},
|
|
},
|
|
@@ -367,6 +387,65 @@ export default {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
this.courseClass = _courseClass
|
|
this.courseClass = _courseClass
|
|
|
|
+
|
|
|
|
+ let _lcourse = res.data[10][0].num //参与课程数量
|
|
|
|
+ let _lscourse = res.data[11][0].num //参与项目
|
|
|
|
+ let _ltools = res.data[12][0].num //使用工具
|
|
|
|
+ let _lxcourse = res.data[13][0].num //协同合作
|
|
|
|
+ let _lexchange = res.data[14][0].num //互动交流
|
|
|
|
+
|
|
|
|
+ this.lightJson = {
|
|
|
|
+ course:_lcourse,
|
|
|
|
+ scourse:_lscourse,
|
|
|
|
+ tools:_ltools,
|
|
|
|
+ xcourse:_lxcourse,
|
|
|
|
+ exchange:_lexchange,
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ let _loginTimeArray = res.data[15] //在线时间
|
|
|
|
+ let _scoreArray2 = res.data[16] //得分
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ let _EloginTimeArray = []
|
|
|
|
+ for (let i = 0; i < _classList.length; i++) {
|
|
|
|
+ _EloginTimeArray.push({
|
|
|
|
+ id:_classList[i].id,
|
|
|
|
+ name:_classList[i].name,
|
|
|
|
+ loginTime:0
|
|
|
|
+ })
|
|
|
|
+ for (let j = 0; j < _loginTimeArray.length; j++) {
|
|
|
|
+ const _user = _loginTimeArray[j];
|
|
|
|
+ if(_user.classid.indexOf(_classList[i].id) != -1){
|
|
|
|
+ _EloginTimeArray[i].loginTime += _user.time
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ _EloginTimeArray[i].loginTime = (_EloginTimeArray[i].loginTime / 60).toFixed(2) //换算成小时
|
|
|
|
+ }
|
|
|
|
+ this.EloginTimeArray = _EloginTimeArray
|
|
|
|
+ let _EscoreArray2 = []
|
|
|
|
+ for (let i = 0; i < _classList.length; i++) {
|
|
|
|
+ _EscoreArray2.push({
|
|
|
|
+ id:_classList[i].id,
|
|
|
|
+ name:_classList[i].name,
|
|
|
|
+ max:0,
|
|
|
|
+ min:0,
|
|
|
|
+ score:[]
|
|
|
|
+ })
|
|
|
|
+ for (let j = 0; j < _scoreArray2.length; j++) {
|
|
|
|
+ const _user = _scoreArray2[j];
|
|
|
|
+ if(_user.classid.indexOf(_classList[i].id) != -1){
|
|
|
|
+ _EscoreArray2[i].score.push(_user.score)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(_EscoreArray2[i].score.length){
|
|
|
|
+ _EscoreArray2[i].score = _EscoreArray2[i].score.sort((i, j) => {
|
|
|
|
+ return i-j;
|
|
|
|
+ })
|
|
|
|
+ _EscoreArray2[i].max = _EscoreArray2[i].score[_EscoreArray2[i].score.length-1]
|
|
|
|
+ _EscoreArray2[i].min = _EscoreArray2[i].score[0]
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ this.EscoreArray2 = _EscoreArray2
|
|
})
|
|
})
|
|
.catch((err) => {
|
|
.catch((err) => {
|
|
this.isLoading = false;
|
|
this.isLoading = false;
|
|
@@ -374,7 +453,7 @@ export default {
|
|
});
|
|
});
|
|
},
|
|
},
|
|
format(percentage) {
|
|
format(percentage) {
|
|
- return percentage;
|
|
|
|
|
|
+ return percentage + '%';
|
|
},
|
|
},
|
|
},
|
|
},
|
|
};
|
|
};
|