|
@@ -9,25 +9,25 @@
|
|
|
<div class="dataBox">
|
|
|
<div class="teafre">
|
|
|
<div class="teaLeft">
|
|
|
- <div>活跃总数</div>
|
|
|
- <div>156203</div>
|
|
|
+ <div>用户总数</div>
|
|
|
+ <div>{{ count }}</div>
|
|
|
</div>
|
|
|
<div class="teaLeft teaRigth">
|
|
|
<div>活跃频次</div>
|
|
|
<div>20.3%</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="teafre" style="margin: 10px 0">
|
|
|
+ <div class="teafre" style="margin: 10px auto">
|
|
|
<div class="teaLeft">
|
|
|
<div>登录频次</div>
|
|
|
- <div>155784</div>
|
|
|
+ <div>{{ loginCount }}</div>
|
|
|
</div>
|
|
|
<div class="teaLeft teaRigth">
|
|
|
<div>人均使用频次</div>
|
|
|
- <div>156</div>
|
|
|
+ <div>{{ (loginCount / count).toFixed(0) }}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <TeaFre style="height:calc(100% - 150px)"></TeaFre>
|
|
|
+ <TeaFre style="height: calc(100% - 150px)"></TeaFre>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="bottom">
|
|
@@ -35,7 +35,7 @@
|
|
|
<div class="title">教师活跃度</div>
|
|
|
</div>
|
|
|
<div class="dataBox">
|
|
|
- <TeaAct style="height:calc(100% - 40px)"></TeaAct>
|
|
|
+ <TeaAct style="height: calc(100% - 40px)"></TeaAct>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -45,21 +45,30 @@
|
|
|
<div class="title">教师行为数据</div>
|
|
|
</div>
|
|
|
<div class="dataBox">
|
|
|
- <div class="teafre">
|
|
|
- <div class="teaLeft" style="align-items: flex-end">
|
|
|
+ <div class="teafre" style="justify-content: flex-start">
|
|
|
+ <div
|
|
|
+ class="teaLeft"
|
|
|
+ style="align-items: flex-end; width: calc(100% / 4 - 10px)"
|
|
|
+ >
|
|
|
<div>上传课程总数</div>
|
|
|
<div>12546</div>
|
|
|
</div>
|
|
|
- <div class="teaLeft teaRigth" style="align-items: flex-end">
|
|
|
+ <div
|
|
|
+ class="teaLeft teaRigth"
|
|
|
+ style="align-items: flex-end; width: calc(100% / 4 - 10px)"
|
|
|
+ >
|
|
|
<div>各年级课程上传平均数</div>
|
|
|
<div>40</div>
|
|
|
</div>
|
|
|
- <div class="teaLeft" style="align-items: flex-end">
|
|
|
+ <div
|
|
|
+ class="teaLeft"
|
|
|
+ style="align-items: flex-end; width: calc(100% / 4 - 10px)"
|
|
|
+ >
|
|
|
<div>各学科课程上传平均数</div>
|
|
|
<div>20</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <TeaData style="height:calc(100% - 62px)"></TeaData>
|
|
|
+ <TeaData style="height: calc(100% - 62px)"></TeaData>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="bottom">
|
|
@@ -177,7 +186,7 @@
|
|
|
<div class="title">教学活动</div>
|
|
|
</div>
|
|
|
<div class="dataBox">
|
|
|
- <WorkNum style="height:calc(100% - 40px)"></WorkNum>
|
|
|
+ <WorkNum style="height: calc(100% - 40px)"></WorkNum>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="bottom">
|
|
@@ -188,14 +197,14 @@
|
|
|
<div class="teafre">
|
|
|
<div class="teaLeft">
|
|
|
<div>累计在线时长</div>
|
|
|
- <div>26517</div>
|
|
|
+ <div>{{ loginTime.toFixed(0) }}小时</div>
|
|
|
</div>
|
|
|
<div class="teaLeft teaRigth">
|
|
|
<div>师均时长</div>
|
|
|
- <div>268</div>
|
|
|
+ <div>{{ (loginTime / count).toFixed(0) }}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <WorkTime style="height:calc(100% - 62px)"></WorkTime>
|
|
|
+ <WorkTime style="height: calc(100% - 62px)"></WorkTime>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -207,8 +216,8 @@ import TeaFre from "./chartList/teaFre.vue";
|
|
|
import TeaAct from "./chartList/teaAct.vue";
|
|
|
import TeaData from "./chartList/teaData.vue";
|
|
|
import FunPlot from "./chartList/funPlot.vue";
|
|
|
-import WorkNum from "./chartList/workNum.vue"
|
|
|
-import WorkTime from "./chartList/workTime.vue"
|
|
|
+import WorkNum from "./chartList/workNum.vue";
|
|
|
+import WorkTime from "./chartList/workTime.vue";
|
|
|
export default {
|
|
|
components: {
|
|
|
TeaFre,
|
|
@@ -218,6 +227,51 @@ export default {
|
|
|
WorkNum,
|
|
|
WorkTime,
|
|
|
},
|
|
|
+ props: {
|
|
|
+ oid: {
|
|
|
+ type: String,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ isLoading: false,
|
|
|
+ count: 0,
|
|
|
+ loginCount: 0,
|
|
|
+ loginTime: 0,
|
|
|
+ courseCount: 0,
|
|
|
+ teacherCount: 0,
|
|
|
+ };
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.getData();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ getData() {
|
|
|
+ this.isLoading = true;
|
|
|
+ let params = [
|
|
|
+ {
|
|
|
+ oid: this.oid,
|
|
|
+ },
|
|
|
+ ];
|
|
|
+ this.ajax
|
|
|
+ .post(this.$store.state.api + "selectDataBoardSchool", params)
|
|
|
+ .then((res) => {
|
|
|
+ this.isLoading = false;
|
|
|
+ this.count = res.data[0][0].count;
|
|
|
+ this.loginCount = res.data[1][0].loginCount;
|
|
|
+ this.loginTime = parseInt(res.data[3][0].time) / 60 / 60;
|
|
|
+ this.courseCount = res.data[5][0].courseCount;
|
|
|
+ this.teacherCount = res.data[6][0].count;
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ this.isLoading = false;
|
|
|
+ console.error(err);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ format(percentage) {
|
|
|
+ return percentage;
|
|
|
+ },
|
|
|
+ },
|
|
|
};
|
|
|
</script>
|
|
|
|
|
@@ -323,7 +377,8 @@ export default {
|
|
|
flex-direction: row;
|
|
|
flex-wrap: nowrap;
|
|
|
align-items: center;
|
|
|
- width: 100%;
|
|
|
+ width: 95%;
|
|
|
+ margin: 0 auto;
|
|
|
justify-content: space-evenly;
|
|
|
}
|
|
|
|
|
@@ -338,13 +393,13 @@ export default {
|
|
|
align-items: flex-start;
|
|
|
justify-content: center;
|
|
|
padding: 0 10px;
|
|
|
- margin: 0 10px;
|
|
|
+ margin-right: 10px;
|
|
|
}
|
|
|
.teaMiddle {
|
|
|
width: calc(100% / 3 - 10px);
|
|
|
}
|
|
|
.teaLeft {
|
|
|
- width: calc(100% / 2 - 10px);
|
|
|
+ width: 95%;
|
|
|
background: linear-gradient(
|
|
|
180deg,
|
|
|
rgba(224, 234, 251, 0.2) 0%,
|
|
@@ -423,7 +478,7 @@ export default {
|
|
|
}
|
|
|
|
|
|
.depth {
|
|
|
- width: calc(100% / 5 - 10px);
|
|
|
+ width: calc(100% / 4 - 10px);
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
align-items: center;
|