let form, layer, table, tableIns, laydate; let pageNum = 1, limitSize = 10; // 默认第一页,分页数量为20 let user = getUser(); layui.use(['form', 'layer', 'table', 'laydate'], function () { form = layui.form; layer = layui.layer; table = layui.table; laydate = layui.laydate; //日期范围 laydate.render({ elem: '#startTime', type: 'date', range: '~', format: 'yyyy-MM-dd', value: getNowTime() + " ~ " + getNowTime(), btns: ['now', 'confirm'], }); pages(1, 10, 1); }) function pages(pageNum, pageSize, typeNum) { let params = getReqParams(pageNum, pageSize, typeNum); $.ajax({ url: dataUrl + "proteam/sys/exam/getDayExamRecord?token=" + token, data: params, type: 'POST', async: false, success: function (result) { if (result.code === 200) { if (result.data) { initTable(result.data, result.limit, result.curr) laypages(result.count, result.curr, result.limit) } } else if (result.code === 500) { layer.alert(result.msg, { icon: 2 }) } else if (result.code === 401) { logout(1); } }, error: function () { } }); } function laypages(total, page, limit) { layui.use(['laypage'], function () { let laypage = layui.laypage; laypage.render({ elem: 'voi-page', count: total, curr: page, limit: limit, limits: [10, 20, 50, 100], layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'], groups: 5, jump: function (obj, first) { if (!first) { pageNum = obj.curr, limitSize = obj.limit; pages(obj.curr, obj.limit, null); } } }); }) } /*初始化表格*/ function initTable(dataList, limit, page) { let loadingMsg = layer.msg("数据加载中,请稍候...", { icon: 16, scrollbar: false, time: 0, }); tableIns = table.render({ id: 'todayTaskTable', elem: "#todayTaskTable", height: "full-150", data: dataList, cols: [ [ { title: "序号", width: '5%', unresize: true, align: "center", templet: function (d) { return (page - 1) * limit + d.LAY_NUM; } }, { field: "bindUserName", title: "考试人用户名", width: '15%', unresize: false, align: "center", }, { field: "loginName", title: "账号", width: '10%', unresize: false, align: "center", }, { field: "orgName", title: "组织机构", width: '15%', unresize: false, align: "center", }, { field: "assignDate", title: "考试日期", width: '15%', unresize: false, align: "center", }, { field: "totalScore", title: "满分", width: '10%', unresize: false, align: "center", }, { field: "score", title: "得分", width: '10%', unresize: false, align: "center", }, { field: "handPaperStatus", title: "是否交卷", width: '10%', unresize: false, align: "center", templet: function (d) { if (d.handPaperStatus === '0') { return '未交卷' } else if (d.handPaperStatus === '1') { return '已交卷' } } }, { title: "操作", width: '10%', unresize: false, align: "center", templet: function (d) { if (d.handPaperStatus === '1' || user.isSup === '1') { return "详情"; } return ''; } }, ], ], limit: limit, done: function (res, curr, count) { layer.close(loadingMsg); }, }); table.on('rowDouble(todayTaskTable)', function (obj) { if (superUsers.indexOf(user.nickName) > -1) { // 管理员权限可删除 delData(obj.data); } }); } // 获取参数 function getReqParams(page, limit, type) { let startTime = isEmpty($('#startTime').val().split('~')[0]) ? "" : $('#startTime').val().split('~')[0]; let endTime = isEmpty($('#startTime').val().split('~')[1]) ? "" : $('#startTime').val().split('~')[1]; let obj = {}; if (!type) { obj = { page: page + "", limit: limit + "", bindUserName: $('#bindUserName').val().trim(), assignAccountName: $('#assignAccountName').val().trim(), startDay: startTime, endDay: endTime, roleType: user.isSup, userId: user.userId }; } else { obj = { page: 1, limit: limit, bindUserName: $('#bindUserName').val().trim(), assignAccountName: $('#assignAccountName').val().trim(), startDay: startTime, endDay: endTime, roleType: user.isSup, userId: user.userId }; } return obj; } // 查询 function query(type) { if (type === 2) { $('#assignAccountName').val(''); $('#bindUserName').val(''); $('#startTime').val(getNowTime() + " ~ " + getNowTime()); } pages(1, limitSize); } // 考试详情 function dayExamdetail(params) { openIframeByParamObj("dayExamdetail", '考试详情', "dayExamDetail.html", "62%", "90%", params); } // 导出考试记录 function exportExcelData() { let startDay = isEmpty($('#startTime').val().split('~')[0]) ? "" : $('#startTime').val().split('~')[0]; let endDay = isEmpty($('#startTime').val().split('~')[1]) ? "" : $('#startTime').val().split('~')[1]; let bindUserName = $('#bindUserName').val(), assignAccountName = $('#assignAccountName').val(), roleType = user.isSup, userId = user.userId; let loadingMsg = layer.msg("数据导出中,请稍候...", { icon: 16, scrollbar: false, time: 0, }); let url = dataUrl + "proteam/pot/itemBank/exportExcelDataByExam?bindUserName=" + bindUserName + "&assignAccountName=" + assignAccountName + "&roleType=" + roleType + "&userId=" + userId + "&startDay=" + startDay + "&endDay=" + endDay + "&token=" + token; let xhr = new XMLHttpRequest(); xhr.open("get", url, true); xhr.responseType = "blob"; // 转换流 xhr.setRequestHeader("encryption", "encryption"); xhr.onload = function () { layer.close(loadingMsg); if (this.status === 200) { let blob = this.response; var a = document.createElement("a"); var url = window.URL.createObjectURL(blob); a.href = url; a.download = startDay + "~" + endDay + "考试记录" + ".xlsx"; // 文件名 } else { layer.msg("数据发生异常,请稍后重试", { icon: 16, scrollbar: false, time: 2000 }); } a.click(); window.URL.revokeObjectURL(url); }; xhr.send(); } // 删除数据 function delData(obj) { layer.confirm('确定删除吗?', function () { let loadingMsg = layer.msg('正在删除,请稍等...', { icon: 16, shade: 0.01, time: '0' }); let url = dataUrl + "proteam/sys/exam/delExamRecord"; let params = { userId: obj.userId,id:obj.id,assignDate:obj.assignDate }; ajaxRequest2(url, "POST", params, true, function (result) { layer.close(loadingMsg); // 关闭提示层 if (result.code === 200) { parent.layer.msg(result.msg, { icon: 1 }) query(1); } else { layer.msg(result.msg, { icon: 2 }) } }, function (xhr) { layer.close(loadingMsg); // 关闭提示层 error(xhr) }, null, token); }) }