/** * 系统管理--用户管理的单例对象 */ let ClassRecord = { id: "managerTable",//表格id seItem: null, //选中的条目 table: null, layerIndex: -1, courseList: null }; /** * 初始化表格的列 */ ClassRecord.initColumn = function () { let columns = [ {field: 'selectItem', radio: true}, {title: '序号', field: 'id', visible: true, align: 'center', valign: 'middle'}, {title: '日期', field: 'classDate', align: 'center', valign: 'middle'}, {title: '请假学员', field: 'registered', align: 'center', valign: 'middle'}, {title: '实到学员', field: 'actualArrival', align: 'center', valign: 'middle', formatter: function (v, row) { if (row.absencesNumber === undefined) { return 0; } else { return v; } } }, {title: '未到学员', field: 'nonArrival', align: 'center', valign: 'middle', formatter: function (v, row) { if (row.absencesNumber === undefined) { return 0; } else { return v; } } }, {title: '课后练习', field: 'courseId', align: 'center', valign: 'middle', formatter: function (v) { if (typeof v === "undefined") { return '未布置'; } else { return '已布置'; } } }, {title: '状态', field: 'status', align: 'center', valign: 'middle', formatter: function (v) { switch (v) { case 1: return '未开始'; case 2: return '已开始'; case 3: return '已结束'; case 4: return '已取消'; } } }, {title: '扣除课时', field: 'deductClassHour', align: 'center', valign: 'middle'}, {title: '消课凭证', field: 'cancelClasses', align: 'center', valign: 'middle', formatter: function (v) { if (typeof v === "undefined") { return '未上传'; } else { return '已上传'; } } }, ]; return columns; }; /** * 检查是否选中 */ ClassRecord.check = function () { let selected = $('#' + this.id).bootstrapTable('getSelections'); if (selected.length == 0) { Feng.info("请先选中表格中的某一记录!"); return false; } else { ClassRecord.seItem = selected[0]; return true; } }; /** * 点击修改按钮时 * @param userId 管理员id */ ClassRecord.classRecord = function () { if (this.check()) { let index = layer.open({ type: 2, title: '查看学员', area: ['100%', '100%'], //宽高 fix: false, //不固定 maxmin: true, content: Feng.ctxPath + '/coursePackage/openCoursePackageStudent?id=' + this.seItem.id }); this.layerIndex = index; } }; /** * 删除用户 */ ClassRecord.cancelClassSchedule = function () { if (this.check()) { let operation = function(){ let ajax = new $ax(Feng.ctxPath + "/coursePackage/cancelClassSchedule", function (res) { if(res.code == 200){ Feng.success("取消成功!"); ClassRecord.table.refresh(); }else{ Feng.error(res.msg); } }, function (data) { Feng.error("取消失败!" + data.responseJSON.message + "!"); }); ajax.set("id", ClassRecord.seItem.id); ajax.start(); }; Feng.confirm("确定取消本次",operation); } }; ClassRecord.afterClassExercises = function () { if (this.check()) { var ajax = new $ax(Feng.ctxPath + "/course/queryCourseByType", function (data) { ClassRecord.courseList = data; let htmlStr = '
' + '
' + '
\n' + ' \n' + '
\n' + ' 课后练习' + '
\n' + '
' + '
\n' + ' \n' + '
\n' + ' ' + '
\n' + '
' + '
\n' + ' \n' + '
\n' + ' ' + '
\n' + '
' + '
\n' + ' \n' + '
\n' + ' ' + '
\n' + '
' + '
\n' + ' \n' + '
\n' + ' ' + '
\n' + '
' + '
' + '
'; layer.open({ type: 1 , title: '选择课程' , area: ['50%', '90%'] , offset: 'auto' //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset , id: 'layerDemo' //防止重复弹出cge , content: htmlStr , btn: ['保存', '关闭'] , btnAlign: 'c' //按钮居中 , shade: 0.5 //不显示遮罩 , yes: function () { let courseId = $('#courseId').val(); let integral = $('#integral').val(); let packId = $('#id').val(); if(null == courseId || '' == courseId){ Feng.error("请选择有效的课程"); return } if(null == integral || '' == integral){ Feng.error("请输入有效的积分"); return } let ajax = new $ax(Feng.ctxPath + "/coursePackage/afterClassExercises", function (res) { if(res.code == 200){ Feng.success("保存成功!"); layer.closeAll(); RegistrationRecord.table.refresh(); }else{ Feng.error(res.msg); } }, function (data) { Feng.error("保存失败!" + data.responseJSON.message + "!"); }); ajax.set("id", ClassRecord.seItem.id); ajax.set("courseId", courseId); ajax.set("packId", packId); ajax.set("integral", integral); ajax.start(); }, }); $('#courseId').change(function () { let id = $(this).val(); for (let i = 0; i < ClassRecord.courseList.length; i++) { if(ClassRecord.courseList[i].id == id){ $('#coverDrawing').attr("src", ClassRecord.courseList[i].coverDrawing); $('#introduce').text(ClassRecord.courseList[i].introduce); } } }) $('#courseId').val(ClassRecord.seItem.courseId); $('#integral').val(ClassRecord.seItem.integral); }, function (data) { Feng.error("获取失败!" + data.responseJSON.message + "!"); }); ajax.set('type', 1); ajax.start(); } }; ClassRecord.cancellationRecord = function(i){ if(this.check()){ let htmlStr = '
' + '
' + '
\n' + ' '+ ' \n' + '
' + '
\n' + ' '+ ' \n' + '
' + '
\n' + ' '+ '
\n' + '
' + ' ' + ' ' + '
\n' + '
' + '
' + '
'; layer.open({ type: 1 , title: '上传消课记录' , area: ['80%', '90%'] , offset: 'auto' //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset , id: 'layerDemo' //防止重复弹出cge , content: htmlStr , btn: ['保存', '关闭'] , btnAlign: 'c' //按钮居中 , shade: 0.5 //不显示遮罩 , yes: function () { let cancelClasses = $('#cancelClasses').html(); let deductClassHour = $('#deductClassHour').val(); if(null == cancelClasses || '' == cancelClasses){ Feng.error("请上传凭证图片"); return } // if(null == deductClassHour || '' == deductClassHour){ // Feng.error("请输入有效的扣除课时数"); // return // } let div_array = $('#cancelClasses').find('div'); let str = ''; for (let i = 0; i < div_array.length; i++) { let v = $($(div_array[i]).find('img')[0]).attr('src'); str += v + ";"; } let ajax = new $ax(Feng.ctxPath + "/coursePackage/cancellationRecord", function (res) { if(res.code == 200){ Feng.success("保存成功!"); layer.closeAll(); RegistrationRecord.table.refresh(); }else{ Feng.error(res.msg); } }, function (data) { Feng.error("保存失败!" + data.responseJSON.message + "!"); }); ajax.set("id", ClassRecord.seItem.id); ajax.set("cancelClasses", str.substring(0, str.length - 1)); ajax.set("deductClassHour", deductClassHour); ajax.start(); }, }); $('#file').on('change', function () { var formData = new FormData() //创建一个forData formData.append('file', $('#file')[0].files[0]) //把file添加进去 name命名为img layer.load(); //上传loading $.ajax({ url: Feng.ctxPath + '/mgr/uploadImg', data: formData, type: "POST", async: true, cache: false, contentType: false, processData: false, success: function(res) { layer.closeAll('loading'); //关闭loading $('#file').val(''); $('#cancelClasses').append('' + '
' + ' ' + '
' + '
') } }) }) } } ClassRecord.lookCancellationRecord = function(){ if(this.check()){ if(ClassRecord.seItem.cancelClasses == '' || ClassRecord.seItem.cancelClasses == null){ Feng.error("请先上传消课凭证"); return } let imgs = ClassRecord.seItem.cancelClasses.split(";"); let htmlStr = '
' + '
' + '
\n' + ' \n' + '
' + '
\n' + ' \n' + '
' + '
\n' + '
\n' + '
'; for (let i = 0; i < imgs.length; i++) { htmlStr += '
    '; } htmlStr += '
' + '
\n' + '
' + '
\n' + ' \n' + '
\n' + ' ' + '
\n' + '
' + '
' + '
'; layer.open({ type: 1 , title: '查看消课记录' , area: ['50%', '90%'] , offset: 'auto' //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset , id: 'layerDemo' //防止重复弹出cge , content: htmlStr , btnAlign: 'c' //按钮居中 , shade: 0.5 //不显示遮罩 , yes: function () { }, }); } } ClassRecord.manualReservation = function(){ if(this.check()){ let index = layer.open({ type: 2, title: '手动预约', area: ['100%', '100%'], //宽高 fix: false, //不固定 maxmin: true, content: Feng.ctxPath + '/coursePackage/openManualReservation?id=' + this.seItem.id }); this.layerIndex = index; } } function uploadImgs(){ let num = $('#cancelClasses>div').length; if(num >= 5){ Feng.error("最多只能上传5张图片"); return; } $('#file').click(); } function removeImg(e){ $(e).parent('div').remove(); } ClassRecord.resetSearch = function () { ClassRecord.search(); } ClassRecord.search = function () { let queryData = {}; queryData['id'] = $('#id').val(); ClassRecord.table.refresh({query: queryData}); } $(function () { let defaultColunms = ClassRecord.initColumn(); let table = new BSTable(ClassRecord.id, "/coursePackage/queryClassRecord", defaultColunms); // 设置物理分页server(逻辑分页client) table.setPaginationType("server"); table.setQueryParams({ id: $('#id').val() }) ClassRecord.table = table.init(); });