数据统计

alioss
yujialong 3 years ago
parent ec3533c146
commit 1400a09eb2
  1. 1
      src/api/index.js
  2. BIN
      src/assets/img/screen/stat.png
  3. 59
      src/pages/screen/index.vue
  4. 48
      src/styles/page/screen.scss

@ -120,4 +120,5 @@ export default {
examStatistics: `occupationlab/occupationlab/data/kanban/examStatistics`,
studentGradeDistribution: `occupationlab/occupationlab/data/kanban/studentGradeDistribution`,
studentAssessSchievement: `occupationlab/occupationlab/data/kanban/studentAssessSchievement`,
overviewOfOurSchoolData: `occupationlab/occupationlab/data/kanban/overviewOfOurSchoolData`,
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 MiB

After

Width:  |  Height:  |  Size: 10 MiB

@ -40,7 +40,7 @@
<ul class="time-switch">
<li v-for="(item, i) in times" :key="i" :class="{active: item.id === time}" @click="switchTime(item.id)">{{ item.name }}</li>
</ul>
<div id="chart1" class="chart" style="height: 280px;"></div>
<div id="chart1" class="chart"></div>
</div>
<div class="item">
<div class="t_line_box">
@ -63,7 +63,30 @@
<img src="@/assets/img/screen/t_2.png" alt="">
学生成绩分布分析
</div>
<div id="chart2" class="chart t_btn9" style="height: 280px;"></div>
<div id="chart2" class="chart t_btn9"></div>
</div>
<div class="item">
<div class="t_line_box">
<i class="t_l_line"></i>
<i class="l_t_line"></i>
</div>
<div class="t_line_box">
<i class="t_r_line"></i>
<i class="r_t_line"></i>
</div>
<div class="t_line_box">
<i class="l_b_line"></i>
<i class="b_l_line"></i>
</div>
<div class="t_line_box">
<i class="r_b_line"></i>
<i class="b_r_line"></i>
</div>
<div class="main_title">
<img src="@/assets/img/screen/t_2.png" alt="">
月人均在线学习时长情况
</div>
<div id="chart3" class="chart t_btn9"></div>
</div>
<div class="item">
<div class="t_line_box">
@ -86,11 +109,11 @@
<img src="@/assets/img/screen/t_7.png" alt="">
平台登录人数
</div>
<div id="chart3" class="chart t_btn9" style="height: 280px;"></div>
<div id="chart3" class="chart t_btn9"></div>
</div>
</div>
<div class="middle">
<div class="item" style="height: 510px">
<div class="item" style="height: 620px">
<!--左上边框-->
<div class="t_line_box">
<i class="t_l_line"></i>
@ -117,14 +140,18 @@
</video>
<div class="stat-mask"></div>
<div class="stat-wrap">
<p class="num num1">{{ overview.numberOfPeopleStudy }}</p>
<p class="num num2">{{ overview.courseStudyFrequency }}</p>
<p class="num num3">{{ overview.courseStudyTime }}</p>
<p class="num num4">{{ overview.numberOfExperiments }}</p>
<p class="num num5">{{ overview.cumulativeExperimentTime }}</p>
</div>
<div class="active-number">
<p class="val">23124</p>
<p class="val">{{ overview.currentActivePeople }}</p>
<p class="name">当前活跃人数</p>
</div>
</div>
<div class="item" style="height: 360px;">
<div class="item" style="height: 440px;">
<!--左上边框-->
<div class="t_line_box">
<i class="t_l_line"></i>
@ -149,7 +176,7 @@
<img src="@/assets/img/screen/t_3.png" alt="">
学生实验课程考核成绩趋势图
</div>
<div class="chart" id="chart5" style="height: 350px"></div>
<div class="chart" id="chart5" style="height: 420px"></div>
</div>
</div>
<div class="right">
@ -182,7 +209,7 @@
<li v-for="(item, i) in courses" :key="i">{{ item.curriculumName }}</li>
</ul>
</div>
<div class="item" style="height: 200px">
<div class="item" style="height: 240px">
<!--左上边框-->
<div class="t_line_box">
<i class="t_l_line"></i>
@ -211,7 +238,7 @@
<li v-for="(item, i) in courses" :key="i">{{ item.curriculumName }}</li>
</ul> -->
</div>
<div class="item" style="height: 480px">
<div class="item" style="height: 630px">
<div class="t_line_box">
<i class="t_l_line"></i>
<i class="l_t_line"></i>
@ -281,8 +308,7 @@ export default {
name: '日'
}
],
stompClientMarket: null,
stompClient: null,
overview: {},
goodsSell: [],
cryptoList: [],
courses: [],
@ -318,6 +344,11 @@ export default {
},
//
getList() {
//
this.$post(this.api.overviewOfOurSchoolData).then(({ data }) => {
this.overview = data
}).catch(res => {})
//
this.$post(this.api.getTheMostUsedCoursesInOurSchool).then(({ data }) => {
this.courses = data
@ -612,8 +643,8 @@ export default {
data: courseData[i]
})
++index
if (index > 3) index = 0
}
console.log(33, courseData)
const option = {
tooltip: {
trigger: 'axis',
@ -633,7 +664,7 @@ export default {
},
grid: {
left: '30',
top: '25%',
top: '27%',
right: '10',
bottom: '5%',
containLabel: true

@ -7,7 +7,7 @@
top: 0;
left: 0;
width: 100%;
height: 100%;
height: 720px;
}
.wrap {
width: 100%;
@ -169,6 +169,7 @@
font-family: 'yjsz';
color: #00f3ff;
text-shadow: 0 0 25px #00d8ff;
text-align: center;
}
.name {
font-size: 16px;
@ -187,7 +188,37 @@
.stat-wrap {
position: relative;
height: 100%;
background: url(../../assets/img/screen/stat.png) 0 -10px/100% auto no-repeat;
background: url(../../assets/img/screen/stat.png) 0 0/100% auto no-repeat;
.num {
position: absolute;
width: 100px;
text-align: center;
font-size: 32px;
font-weight: bold;
color: #00d8ff;
}
.num1 {
top: 220px;
left: 10px;
}
.num2 {
top: 25px;
right: 160px;
}
.num3 {
top: 280px;
left: 185px;
}
.num4 {
top: 205px;
right: 270px;
}
.num5 {
bottom: 250px;
right: 40px;
width: 140px;
font-size: 20px;
}
}
.main_table {
width: 100%;
@ -226,13 +257,6 @@
}
}
}
.charts {
display: flex;
.chart {
width: 50%;
height: 220px;
}
}
.header{
z-index: 2;
position: relative;
@ -254,6 +278,7 @@
line-height: 80px;
color: #fff;
}
$height: 250px;
.content{
display: flex;
padding: 20px;
@ -266,13 +291,16 @@
}
.item {
position: relative;
height: 280px;
height: $height;
margin-bottom: 30px;
border: 1px solid #2C58A6;
box-shadow: 0 0 10px #2C58A6;
// background-color: #073a7d;
}
}
.chart {
height: $height;
}
.list {
padding: 0 15px;
margin-top: 25px;

Loading…
Cancel
Save