|
|
|
@ -9,64 +9,80 @@
|
|
|
|
|
color: white!important;
|
|
|
|
|
}
|
|
|
|
|
.xxmc{
|
|
|
|
|
white-space: nowrap;text-overflow:ellipsis;line-height: 37px;font-size: 16px;padding-left: 10px;width: auto !important;min-width: 200px;max-width: 300px;overflow: hidden;height: 37px;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
line-height: 37px;
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
padding-left: 10px;
|
|
|
|
|
width: auto !important;
|
|
|
|
|
min-width: 200px;
|
|
|
|
|
max-width: 300px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
height: 37px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.layui-form-item .layui-input-inline, .layui-form-item .layui-inline {
|
|
|
|
|
margin-right: 0px;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
<div class="layui-row" style="margin-bottom:10px;"><h2>登录日志</h2></div>
|
|
|
|
|
<div class="layui-inline">
|
|
|
|
|
<form id="searchForm" class="layui-form" style="background-color: #fdfdfd;padding: 10px 0;margin-bottom: 10px;">
|
|
|
|
|
<div class="layui-form-item" style="margin-bottom: 0;">
|
|
|
|
|
<!--beTeacher :1是院校老师 2:不是-->
|
|
|
|
|
<!--#if(beTeacher == 1){ -->
|
|
|
|
|
<div class="layui-input-inline xxmc">
|
|
|
|
|
学校名称:${universitiesCollegesName}
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-input-inline xxmc">
|
|
|
|
|
所属平台:${resourcesApplicationList[0].applicationName}
|
|
|
|
|
<div class="layui-inline">
|
|
|
|
|
<label class="layui-form-label">用户名:</label>
|
|
|
|
|
<div class="layui-input-inline">
|
|
|
|
|
<input type="text" name="codeOrName" placeholder="请输入检索条件" autocomplete="off" class="layui-input">
|
|
|
|
|
</div>
|
|
|
|
|
<label class="layui-form-label">班级</label>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!--isSignRole.get()!'' :1:admin+管理员 2:uniAdmin学院管理员 3:teacher 4student-->
|
|
|
|
|
<!--#if(isSignRole.get()!''== 2){ -->
|
|
|
|
|
<div class="layui-inline">
|
|
|
|
|
<label class="layui-form-label">所属班级:</label>
|
|
|
|
|
<div class="layui-input-inline">
|
|
|
|
|
<layui:simpleDictSelect style='layui-input-inline' type="school_class.class_name.class_status=1,org_id=${orgId}"
|
|
|
|
|
<layui:simpleDictSelect style='layui-input-inline' type="school_class.class_name.class_status=1"
|
|
|
|
|
id="classId" name="classId"/>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<!--#}else{ -->
|
|
|
|
|
<div class="layui-inline" style="float: left;">
|
|
|
|
|
<label class="layui-form-label">所属院校</label>
|
|
|
|
|
<div class="layui-input-inline">
|
|
|
|
|
<layui:simpleDictSelect style='layui-input-inline' type="universities_colleges.universities_colleges_name.universities_colleges_status=1"
|
|
|
|
|
id="universitiesCollegesId" name="universitiesCollegesId" layFilter="select_universitiesColleges"/>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<label class="layui-form-label">班级名称:</label>
|
|
|
|
|
<div class="layui-inline">
|
|
|
|
|
<label class="layui-form-label">所属院校</label>
|
|
|
|
|
<div class="layui-input-inline">
|
|
|
|
|
<select name="classId">
|
|
|
|
|
<option value="">全部</option>
|
|
|
|
|
</select>
|
|
|
|
|
<layui:simpleDictSelect style='layui-input-inline'
|
|
|
|
|
type="universities_colleges.universities_colleges_name.universities_colleges_status=1"
|
|
|
|
|
id="universitiesCollegesId" name="universitiesCollegesId"
|
|
|
|
|
layFilter="select_universitiesColleges"/>
|
|
|
|
|
</div>
|
|
|
|
|
<label class="layui-form-label">所属平台:</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-inline" style="float: right;margin-right: 30px;">
|
|
|
|
|
<label class="layui-form-label">是否在线</label>
|
|
|
|
|
<div class="layui-input-inline">
|
|
|
|
|
<select name="resourcesApplicationId">
|
|
|
|
|
<option value="">全部</option>
|
|
|
|
|
<!--#for(item in resourcesApplicationList){ -->
|
|
|
|
|
<option value="${item.resourcesApplicationId}">${item.applicationName}</option>
|
|
|
|
|
<!--#} -->
|
|
|
|
|
<select name="isOnLine" lay-verify="">
|
|
|
|
|
<option value="">全选</option>
|
|
|
|
|
<option value="true">是</option>
|
|
|
|
|
<option value="false">否</option>
|
|
|
|
|
</select>
|
|
|
|
|
</div>
|
|
|
|
|
<!--#} -->
|
|
|
|
|
<label class="layui-form-label">学生姓名:</label>
|
|
|
|
|
<div class="layui-input-inline">
|
|
|
|
|
<input type="text" name="studentName" placeholder="请输入学生姓名" autocomplete="off" class="layui-input">
|
|
|
|
|
</div>
|
|
|
|
|
<div class="layui-input-inline">
|
|
|
|
|
<input type="text" name="studentSn" placeholder="请输入学生学号" autocomplete="off" class="layui-input">
|
|
|
|
|
<!--#} -->
|
|
|
|
|
|
|
|
|
|
<div class="layui-inline">
|
|
|
|
|
<label class="layui-form-label">登录时间</label>
|
|
|
|
|
<div class="layui-input-inline">
|
|
|
|
|
<input type="text" class="layui-input" id="test5" name="loginTime"
|
|
|
|
|
placeholder="请输入登录时间">
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</form>
|
|
|
|
|
<div class="layui-btn-group">
|
|
|
|
|
<layui:accessButton function="teacher.query" id="searchFormSearch" action="search"><i class="layui-icon"></i>搜索</layui:accessButton>
|
|
|
|
|
<!-- <layui:accessButton function="teacher.add" action="export">导出</layui:accessButton>-->
|
|
|
|
|
<layui:accessButton function="teacher.query" action="refresh"><i class="layui-icon"></i>刷新</layui:accessButton>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="layui-btn-group" style="margin-bottom:16px;margin-left: 20px;">
|
|
|
|
|
<layui:accessButton function="teacher.query" id="searchFormSearch" action="search"><i
|
|
|
|
|
class="layui-icon"></i>搜索
|
|
|
|
|
</layui:accessButton>
|
|
|
|
|
<layui:accessButton function="teacher.add" action="export">导出</layui:accessButton>
|
|
|
|
|
<!--<layui:accessButton function="teacher.query" action="refresh"><i class="layui-icon"></i>刷新</layui:accessButton>-->
|
|
|
|
|
</div>
|
|
|
|
|
<table id="teacherTable" lay-filter="teacherTable"></table>
|
|
|
|
|
<!--#} -->
|
|
|
|
|
<script>
|
|
|
|
@ -76,6 +92,34 @@
|
|
|
|
|
var laydate = layui.laydate;
|
|
|
|
|
var table = layui.table;
|
|
|
|
|
var teacherTable = null;
|
|
|
|
|
laydate.render({
|
|
|
|
|
elem: '#test5'
|
|
|
|
|
, type: 'datetime'
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
function getDate() {
|
|
|
|
|
window.setTimeout(function () {
|
|
|
|
|
window.requestAnimationFrame(getDate)
|
|
|
|
|
}, 1000 / 2);
|
|
|
|
|
var d = new Date();
|
|
|
|
|
var year = d.getFullYear(); //获取年
|
|
|
|
|
var month = d.getMonth() + 1; //获取月,从 Date 对象返回月份 (0 ~ 11),故在此处+1
|
|
|
|
|
var day = d.getDay(); //获取日
|
|
|
|
|
var days = d.getDate(); //获取日期
|
|
|
|
|
var hour = d.getHours(); //获取小时
|
|
|
|
|
var minute = d.getMinutes(); //获取分钟
|
|
|
|
|
var second = d.getSeconds(); //获取秒
|
|
|
|
|
if (month < 10) month = "0" + month;
|
|
|
|
|
if (days < 10) days = "0" + days;
|
|
|
|
|
if (hour < 10) hour = "0" + hour;
|
|
|
|
|
if (minute < 10) minute = "0" + minute;
|
|
|
|
|
if (second < 10) second = "0" + second;
|
|
|
|
|
var week = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六")
|
|
|
|
|
var Tools = document.getElementById("Main");
|
|
|
|
|
var da = year + "-" + (month - 1) + "-" + days + " " + "00:00:00";
|
|
|
|
|
//var da=year+" 年 "+month+" 月 "+days+" 日 "+week[day]+" "+hour+" : "+minute+" :"+second
|
|
|
|
|
return da;
|
|
|
|
|
}
|
|
|
|
|
teacherTable = table.render({
|
|
|
|
|
elem : '#teacherTable',
|
|
|
|
|
height : Lib.getTableHeight(),
|
|
|
|
@ -83,31 +127,54 @@
|
|
|
|
|
even:true,
|
|
|
|
|
// skin:'nob',
|
|
|
|
|
size:"lg",
|
|
|
|
|
method : 'get',
|
|
|
|
|
url : Common.ctxPath + '/jlw/student/studentLogList.json' // 数据接口
|
|
|
|
|
method : 'post',
|
|
|
|
|
url: Common.ctxPath + '/jlw/student/studentLoginLogList.json' // 数据接口
|
|
|
|
|
, where: {'loginStartTime': getDate(),'loginEndTime':Common.getNowDate()}
|
|
|
|
|
,page : Lib.tablePage // 开启分页
|
|
|
|
|
,limit : 10,
|
|
|
|
|
cols : [ [ // 表头
|
|
|
|
|
{
|
|
|
|
|
field : 'universitiesCollegesName', title : '所属院校',align: "center",hide:'${beTeacher}' != 1?false:true
|
|
|
|
|
field: 'code', title: '用户名', align: "center",
|
|
|
|
|
hide: "${isSignRole.get()!''}" != 1 ? false : true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'codeOrName', title: '姓名', align: "center",
|
|
|
|
|
hide: "${isSignRole.get()!''}" != 1 ? false : true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'codeOrName', title: '用户名', align: "center",
|
|
|
|
|
hide: "${isSignRole.get()!''}" != 2 ? false : true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'code', title: '用户编号', align: "center",
|
|
|
|
|
hide: "${isSignRole.get()!''}" != 2 ? false : true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'universitiesCollegesName', title: '所属院校', align: "center",
|
|
|
|
|
hide: "${isSignRole.get()!''}" != 2 ? false : true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field : 'className', title : '班级名称',align: "center"
|
|
|
|
|
field: 'universitiesCollegesProvince', title: '所属省份', align: "center",
|
|
|
|
|
hide: "${isSignRole.get()!''}" != 2 ? false : true,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field : 'studentName', title : '学生姓名',align: "center"
|
|
|
|
|
field: 'className', title: '所属班级', align: "center",
|
|
|
|
|
hide: "${isSignRole.get()!''}" != 2 ? true : false
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field : 'studentSn', title : '学号',align: "center"
|
|
|
|
|
field: 'loginTime', title: '登入时间', align: "center",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field : 'platform', title : '平台',align: "center"
|
|
|
|
|
field: 'logoutTime', title: '登出时间', align: "center",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field : 'lastLoginTime', title : '登录时间',align: "center"
|
|
|
|
|
field: 'onlineDuration', title: '登录时长', align: "center",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field : 'onlineDuration', title : '在线时长',align: "center"
|
|
|
|
|
field: 'isOnLine', title: '是否在线', align: "center",
|
|
|
|
|
templet: function (d) {
|
|
|
|
|
return d.isOnLine ? "是" : "否"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field : 'ip', title : '登录IP',align: "center"
|
|
|
|
@ -132,6 +199,11 @@
|
|
|
|
|
},import:function (){
|
|
|
|
|
var url = "/jlw/teacher/importPage.do";
|
|
|
|
|
Common.openDlg(url,"");
|
|
|
|
|
}, export: function () {//导出 /jlw/student/studentLogListExport.json
|
|
|
|
|
layer.confirm('是否确定导出登录日志吗?', function (index) {
|
|
|
|
|
window.open(Common.ctxPath + "/jlw/student/studentLoginLogListExport.json");
|
|
|
|
|
layer.close(index);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
$('.ext-toolbar').on('click', function() {
|
|
|
|
|