|
|
<!--#layout("/common/container.html"){ -->
|
|
|
<style>
|
|
|
.fsTab .layui-tab-item {
|
|
|
top: 0px;
|
|
|
}
|
|
|
|
|
|
/*.jsrc {
|
|
|
background: -webkit-linear-gradient(left, #fd9396, #fd7f8a, #ff7182, #fe6f80);
|
|
|
|
|
|
background: -o-linear-gradient(left, #fd9396, #fd7f8a, #ff7182, #fe6f80);
|
|
|
|
|
|
background: -moz-linear-gradient(left, #fd9396, #fd7f8a, #ff7182, #fe6f80);
|
|
|
|
|
|
background: -ms-linear-gradient(left, #fd9396, #fd7f8a, #ff7182, #fe6f80);
|
|
|
}
|
|
|
|
|
|
.jstd {
|
|
|
background: -webkit-linear-gradient(left, #11c5ff, #1fb3ff, #3695ff, #4483ff);
|
|
|
|
|
|
background: -o-linear-gradient(left, #11c5ff, #1fb3ff, #3695ff, #4483ff);
|
|
|
|
|
|
background: -moz-linear-gradient(left, #11c5ff, #1fb3ff, #3695ff, #4483ff);
|
|
|
|
|
|
background: -ms-linear-gradient(left, #11c5ff, #1fb3ff, #3695ff, #4483ff);
|
|
|
}*/
|
|
|
|
|
|
.jsrc, .jstd {
|
|
|
width: 12%;
|
|
|
float: left;
|
|
|
margin-left: 4%;
|
|
|
padding: 20px;
|
|
|
color: white;
|
|
|
border-radius: 5px;
|
|
|
}
|
|
|
|
|
|
.jsrc div.layui-col-md8 > p:nth-child(1), .jstd div.layui-col-md8 > p:nth-child(1) {
|
|
|
font-size: 1rem;
|
|
|
}
|
|
|
|
|
|
.jsrc div.layui-col-md8 > p:nth-child(2), .jstd div.layui-col-md8 > p:nth-child(2) {
|
|
|
font-size: 1.5rem;
|
|
|
}
|
|
|
|
|
|
@media screen and (min-width: 992px) {
|
|
|
.layui-col-md6 {
|
|
|
width: 44% !important;
|
|
|
margin-left: 4%;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
table th, table tr {
|
|
|
text-align: center !important;
|
|
|
}
|
|
|
|
|
|
.layui-nav-itemed > a {
|
|
|
font-size: 17px;
|
|
|
color: #0C0C0C !important;
|
|
|
}
|
|
|
</style>
|
|
|
<div class="layui-row"
|
|
|
style="margin: 1% 4%;padding: 5px 20px;text-align: right;line-height:40px;color: #7a7777;">
|
|
|
<span style="position: absolute;left: 4%;">
|
|
|
时间:
|
|
|
<div class="layui-input-inline">
|
|
|
<input type="text" name="" style="width: 340px" placeholder="开始时间 —— 结束时间" autocomplete="off" class="layui-input"
|
|
|
id="allDate">
|
|
|
</div>
|
|
|
</span>
|
|
|
<!--#if(isSignRole.get()!''== 2){ -->
|
|
|
<span class="iconfont" style="font-weight:bold;">校园动态授权码:<span id="universitiesCollegesAuthCode"></span></span>
|
|
|
<!--#} -->
|
|
|
</div>
|
|
|
|
|
|
<div class="layui-row" style="font-weight:bold;padding: 60px 4% 10px 4%;">今日数据</div>
|
|
|
<!--isSignRole :1:admin+管理员 2:uniAdmin学院管理员 3:teacher 4student-->
|
|
|
<!--#if(isSignRole.get()!''== 1){ -->
|
|
|
<div class="layui-row" id="admin_view" style="margin: 20px 0;">
|
|
|
<script id="admin_Demo" type="text/html">
|
|
|
<div class="layui-row">
|
|
|
<div class="jsrc" style="background-color: #ff7a70">
|
|
|
<div class="layui-col-md4">
|
|
|
<i class="iconfont" style="font-size: 4rem"></i>
|
|
|
</div>
|
|
|
<div class="layui-col-md8 jsrc1" style="text-align: right">
|
|
|
<p>注册用户数</p>
|
|
|
<p style="margin-top: 20px;">{{d.userNumber}}</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="jstd" style="background-color: #f5cb43">
|
|
|
<div class="layui-col-md4">
|
|
|
<i class="iconfont" style="font-size: 4rem"></i>
|
|
|
</div>
|
|
|
<div class="layui-col-md8" style="text-align: right">
|
|
|
<p>登录人数</p>
|
|
|
<p style="margin-top: 20px;">{{d.loginNumber}}</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="jsrc" style="background-color: #cba43f">
|
|
|
<div class="layui-col-md4">
|
|
|
<i class="iconfont" style="font-size: 4rem"></i>
|
|
|
</div>
|
|
|
<div class="layui-col-md8 jsrc1" style="text-align: right">
|
|
|
<p>登录人次</p>
|
|
|
<p style="margin-top: 20px;">{{d.studentPersonTime}}</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="jstd" style="background-color: #fd9e2d">
|
|
|
<div class="layui-col-md4">
|
|
|
<i class="iconfont" style="font-size: 4rem"></i>
|
|
|
</div>
|
|
|
<div class="layui-col-md8 jsrc1" style="text-align: right">
|
|
|
<p>案例数量</p>
|
|
|
<p style="margin-top: 20px;">{{d.caseNumber}}</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="jsrc" style="background-color: #648cff">
|
|
|
<div class="layui-col-md4">
|
|
|
<i class="iconfont" style="font-size: 4rem"></i>
|
|
|
</div>
|
|
|
<div class="layui-col-md8 jsrc1" style="text-align: right">
|
|
|
<p>视频数量</p>
|
|
|
<p style="margin-top: 20px;">{{d.videoNumber}}</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
<div class="layui-row" style="margin: 20px 0;" id="title_view1">
|
|
|
|
|
|
<div class="jsrc" style="background-color: #38b8ba">
|
|
|
<div class="layui-col-md4">
|
|
|
<i class="iconfont" style="font-size: 4rem"></i>
|
|
|
</div>
|
|
|
<div class="layui-col-md8 jsrc1" style="text-align: right">
|
|
|
<p>题库数量</p>
|
|
|
<p style="margin-top: 20px;">{{d.questionNumber}}</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="jstd" style="background-color: #7f83f7">
|
|
|
<div class="layui-col-md4">
|
|
|
<i class="iconfont" style="font-size: 4rem"></i>
|
|
|
</div>
|
|
|
<div class="layui-col-md8 jsrc1" style="text-align: right">
|
|
|
<p>院校数量</p>
|
|
|
<p style="margin-top: 20px;">{{d.schoolNumber}}</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="jsrc" style="background-color: #93cb3f">
|
|
|
<div class="layui-col-md4">
|
|
|
<i class="iconfont" style="font-size: 4rem"></i>
|
|
|
</div>
|
|
|
<div class="layui-col-md8 jsrc1" style="text-align: right">
|
|
|
<p>上线课程数</p>
|
|
|
<p style="margin-top: 20px;">{{d.courseNumber}}</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="jstd" style="background-color: #307db0">
|
|
|
<div class="layui-col-md4">
|
|
|
<i class="iconfont" style="font-size: 4rem"></i>
|
|
|
</div>
|
|
|
<div class="layui-col-md8 jsrc1" style="text-align: right">
|
|
|
<p>上线应用数</p>
|
|
|
<p style="margin-top: 20px;">{{d.applicationNumber}}</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</script>
|
|
|
</div>
|
|
|
|
|
|
<div class="layui-row" style="font-weight:bold;margin: 4% 0 0 4%;">院校省份数量分布</div>
|
|
|
<!-- 为 ECharts 准备一个定义了宽高的 DOM,必须定义宽高才可以显示 -->
|
|
|
<div style="width: 100%;height: 300px" id="monitor"></div>
|
|
|
<!--#}else if(isSignRole.get()!'' == 2){ -->
|
|
|
<div class="layui-row" id="uniAdmin_view" style="margin: 20px 0;">
|
|
|
<script id="uniAdmin_Demo" type="text/html">
|
|
|
<div class="layui-row" >
|
|
|
<div class="jsrc" style="background-color: #ff7a70">
|
|
|
<div class="layui-col-md4">
|
|
|
<i class="iconfont" style="font-size: 4rem"></i>
|
|
|
</div>
|
|
|
<div class="layui-col-md8 jsrc1" style="text-align: right">
|
|
|
<p>注册学生数</p>
|
|
|
<p style="margin-top: 20px;">{{d.studentNumber}}</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="jsrc" style="background-color: #d15b53">
|
|
|
<div class="layui-col-md4">
|
|
|
<i class="iconfont" style="font-size: 4rem"></i>
|
|
|
</div>
|
|
|
<div class="layui-col-md8 jsrc1" style="text-align: right">
|
|
|
<p>注册教师数</p>
|
|
|
<p style="margin-top: 20px;">{{d.teacherNumber}}</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="jstd" style="background-color: #f5cb43">
|
|
|
<div class="layui-col-md4">
|
|
|
<i class="iconfont" style="font-size: 4rem"></i>
|
|
|
</div>
|
|
|
<div class="layui-col-md8" style="text-align: right">
|
|
|
<p>登录人数</p>
|
|
|
<p style="margin-top: 20px;">{{d.loginNumber}}</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="jsrc" style="background-color: #cba43f">
|
|
|
<div class="layui-col-md4">
|
|
|
<i class="iconfont" style="font-size: 4rem"></i>
|
|
|
</div>
|
|
|
<div class="layui-col-md8 jsrc1" style="text-align: right">
|
|
|
<p>登录人次</p>
|
|
|
<p style="margin-top: 20px;">{{d.studentPersonTime}}</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="jsrc" style="background-color: #93cb3f">
|
|
|
<div class="layui-col-md4">
|
|
|
<i class="iconfont" style="font-size: 4rem"></i>
|
|
|
</div>
|
|
|
<div class="layui-col-md8 jsrc1" style="text-align: right">
|
|
|
<p>上线课程数</p>
|
|
|
<p style="margin-top: 20px;">{{d.courseNumber}}</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="layui-row" style="margin: 20px 0;">
|
|
|
<div class="jstd" style="background-color: #307db0">
|
|
|
<div class="layui-col-md4">
|
|
|
<i class="iconfont" style="font-size: 4rem"></i>
|
|
|
</div>
|
|
|
<div class="layui-col-md8 jsrc1" style="text-align: right">
|
|
|
<p>上线应用数</p>
|
|
|
<p style="margin-top: 20px;">{{d.applicationNumber}}</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="jstd" style="background-color: #fd9e2d">
|
|
|
<div class="layui-col-md4">
|
|
|
<i class="iconfont" style="font-size: 4rem"></i>
|
|
|
</div>
|
|
|
<div class="layui-col-md8 jsrc1" style="text-align: right">
|
|
|
<p style="font-size: 14px">批改作业(教师)</p>
|
|
|
<p style="margin-top: 20px;">{{d.homeWorkNumber}}</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="jsrc" style="background-color: #38b8ba">
|
|
|
<div class="layui-col-md4">
|
|
|
<i class="iconfont" style="font-size: 4rem"></i>
|
|
|
</div>
|
|
|
<div class="layui-col-md8 jsrc1" style="text-align: right">
|
|
|
<p>课件学习</p>
|
|
|
<p style="margin-top: 20px;">{{d.studyNumber}}</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="jsrc" style="background-color: #648cff">
|
|
|
<div class="layui-col-md4">
|
|
|
<i class="iconfont" style="font-size: 4rem"></i>
|
|
|
</div>
|
|
|
<div class="layui-col-md8 jsrc1" style="text-align: right">
|
|
|
<p>学生做题</p>
|
|
|
<p style="margin-top: 20px;">{{d.exerciseNumber}}</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</script>
|
|
|
</div>
|
|
|
<!--#} -->
|
|
|
|
|
|
<input type="hidden" name="isSignRole" value="${isSignRole.get()!''}"/>
|
|
|
<!--<div style="margin: 1% 4%;width: 92%;margin-bottom: 60px;">
|
|
|
<table id="rankingTable" lay-filter="rankingTable"></table>
|
|
|
</div>-->
|
|
|
<!--#if(subsystemBottomBar != null && subsystemBottomBar != ''){-->
|
|
|
<div style="position: fixed;bottom: 0;text-align: center;background-color: white;width: calc(100% - 220px);padding: 20px 0;">
|
|
|
${subsystemBottomBar}
|
|
|
</div>
|
|
|
<!--#}-->
|
|
|
<!--#} -->
|
|
|
<script type="text/javascript" src="${ctxPath}/plugins/echarts.min_4.8.0.js?v=${jsVer}"></script>
|
|
|
<script>
|
|
|
layui.define(['form', 'element', 'laytpl', 'table', 'laydate'], function (exports) {
|
|
|
var form = layui.form;
|
|
|
var laytpl = layui.laytpl;
|
|
|
var table = layui.table;
|
|
|
var element = layui.element;
|
|
|
var laydate = layui.laydate;
|
|
|
var getTpl;
|
|
|
var view;
|
|
|
var adminIndexDetailData = [];
|
|
|
var adminIndexBarchartData = [];
|
|
|
var isSignRole = $("input[name='isSignRole']").val();
|
|
|
//日期时间范围选择
|
|
|
laydate.render({
|
|
|
elem: '#allDate'
|
|
|
, type: 'date'
|
|
|
, range: true
|
|
|
, change: function (value, date) {
|
|
|
if ($.isEmpty(value)) {
|
|
|
Common.info("请选择时间!!");
|
|
|
return;
|
|
|
}
|
|
|
var sTime = value.split(" - ")[0];
|
|
|
var eTime = value.split(" - ")[1];
|
|
|
loadInfo(sTime, eTime)
|
|
|
}
|
|
|
});
|
|
|
|
|
|
if (isSignRole == 1) {
|
|
|
getTpl = admin_Demo.innerHTML;
|
|
|
view = document.getElementById('admin_view');
|
|
|
var chartDom = document.getElementById('monitor');
|
|
|
var myChart= echarts.init(chartDom);
|
|
|
var option = {
|
|
|
tooltip: {
|
|
|
trigger: 'axis',
|
|
|
axisPointer: {
|
|
|
type: 'shadow'
|
|
|
}
|
|
|
},
|
|
|
grid: {
|
|
|
left: '3%',
|
|
|
right: '4%',
|
|
|
bottom: '3%',
|
|
|
containLabel: true
|
|
|
},
|
|
|
xAxis: [
|
|
|
{
|
|
|
type: 'category',
|
|
|
data: adminIndexBarchartData.xList,
|
|
|
axisTick: {
|
|
|
alignWithLabel: true
|
|
|
}
|
|
|
}
|
|
|
],
|
|
|
yAxis: [
|
|
|
{
|
|
|
type: 'value'
|
|
|
}
|
|
|
],
|
|
|
color: ['#5470c6'],
|
|
|
series: [
|
|
|
{
|
|
|
name: 'Direct',
|
|
|
type: 'bar',
|
|
|
barWidth: '10%',
|
|
|
data: adminIndexBarchartData.yList,
|
|
|
label: {
|
|
|
normal: {
|
|
|
show: true,//开启显示
|
|
|
position: 'top',//柱形上方
|
|
|
textStyle: { //数值样式
|
|
|
color: '#000'
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
]
|
|
|
};
|
|
|
option && myChart.setOption(option);
|
|
|
} else {
|
|
|
getTpl = uniAdmin_Demo.innerHTML;
|
|
|
view = document.getElementById('uniAdmin_view');
|
|
|
|
|
|
}
|
|
|
|
|
|
loadInfo();
|
|
|
|
|
|
function loadInfo(sTime, eTime) {
|
|
|
var ret = Common.getAjax("/api/statisticalAnalysis/adminIndexDetail.do", {stime: sTime, etime: eTime});
|
|
|
var retChart = Common.getAjax("/api/statisticalAnalysis/adminIndexBarchart.do", {stime: sTime,etime: eTime});
|
|
|
if (retChart.code == 0) {
|
|
|
adminIndexBarchartData = retChart.data;
|
|
|
}
|
|
|
if (ret.code == 0) {
|
|
|
adminIndexDetailData = ret.data;
|
|
|
}
|
|
|
$("#universitiesCollegesAuthCode").text(adminIndexDetailData.universitiesCollegesAuthCode)
|
|
|
laytpl(getTpl).render(adminIndexDetailData, function (html) {
|
|
|
view.innerHTML = html;
|
|
|
});
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
$("select[name='competitionId'] option:eq(0)").prop("selected", "selected");
|
|
|
form.render();
|
|
|
loadInfo($("select[name='competitionId']").val());
|
|
|
//选择大赛查询大赛排名动态
|
|
|
form.on('select(select_competition)', function (obj) {
|
|
|
loadInfo(obj.value);
|
|
|
});
|
|
|
|
|
|
function loadInfo(competitionId){
|
|
|
var data = {
|
|
|
competitionStudentsList:[]
|
|
|
};
|
|
|
if(!$.isEmpty(competitionId)){
|
|
|
var data = Common.getAjax("/jlw/teacher/indexInfo.json",{competitionId:competitionId});
|
|
|
var competitionStudentNumber = data.competition.competitionStudentNumber;//竞赛人数
|
|
|
var competitionTeamNumber = data.competition.competitionTeamNumber;//竞赛团队数
|
|
|
$(".jsrc p:eq(0)").text(competitionStudentNumber || 0);
|
|
|
$(".jstd p:eq(0)").text(competitionTeamNumber || 0);
|
|
|
var competitionType = data.competition.competitionType; //competitionType = 1:个人 2:团队
|
|
|
if(competitionType == 1){
|
|
|
$(".jstd").hide(1000,function (){
|
|
|
$(".jsrc").animate({width:'92%'});
|
|
|
});
|
|
|
}else {
|
|
|
$(".jstd").show(1000);
|
|
|
$(".jsrc").animate({width:'44%'});
|
|
|
}
|
|
|
|
|
|
}
|
|
|
table.render({
|
|
|
elem: "#rankingTable",
|
|
|
cellMinWidth: 100,
|
|
|
even: true,
|
|
|
// skin: 'nob',
|
|
|
method: 'post',
|
|
|
size:"lg",
|
|
|
data:data.competitionStudentsList,
|
|
|
cols: [
|
|
|
[ // 表头
|
|
|
{
|
|
|
field: 'competitionStudentsRanking',
|
|
|
title: '排名',
|
|
|
width: 60,
|
|
|
align: "center", templet: function (d) {
|
|
|
return d.competitionStudentsRanking || '-';
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
field: 'arrow',
|
|
|
title: '排名变化',
|
|
|
align: "center", templet: function (d) {
|
|
|
return d.arrow || '-';
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
field: 'teamName',
|
|
|
title: '队伍名称',
|
|
|
align: "center",hide:competitionType == 1?true:competitionType ==2?false:'', templet: function (d) {
|
|
|
return d.teamName || '-';
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
field: 'studentName',
|
|
|
title: '姓名',
|
|
|
align: "center",hide:competitionType == 1?false:competitionType ==2?true:'', templet: function (d) {
|
|
|
return d.studentName || '-';
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
field: 'competitionTaskOneFraction',
|
|
|
title: '基础知识得分',
|
|
|
align: "center", templet: function (d) {
|
|
|
return d.competitionTaskOneFraction || '-';
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
field: 'competitionTaskSecondFraction',
|
|
|
title: '竞赛案例得分',
|
|
|
align: "center", templet: function (d) {
|
|
|
return d.competitionTaskSecondFraction || '-';
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
field: 'competitionTaskThreeFraction',
|
|
|
title: '汇报答辩得分',
|
|
|
align: "center", templet: function (d) {
|
|
|
return d.competitionTaskThreeFraction || '-';
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
field: 'competitionFraction',
|
|
|
title: '总分',
|
|
|
align: "center", templet: function (d) {
|
|
|
return d.competitionFraction || '-';
|
|
|
}
|
|
|
}
|
|
|
]
|
|
|
],
|
|
|
text: {
|
|
|
none: '暂无相关数据' //默认:无数据。
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
|
|
|
setInterval(function(){
|
|
|
loadInfo($("select[name='competitionId']").val());
|
|
|
},60000);*/
|
|
|
});
|
|
|
</script>
|