/**
* 系统管理--用户管理的单例对象
*/
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 =
'
';
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 =
'';
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 =
'';
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();
});