HnRealNameBmwWeb/js/work/train/trainList.js

537 lines
20 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var example = null;
var pers = null;
layui.use(['layer'], function () {
var layer = layui.layer;
pers = checkPermission();
$("#searchBt").click(function () {
example.ajax.reload();
});
$("#saveZipButton").click(function(){
importExcel();
});
init();
$("#exportBt").click(function () {
var token = localStorage.getItem("token");
var loadingMsg = layer.msg('下载中,请稍候...', {icon: 16, scrollbar: false, time: 0});
var url = ctxPath + "/workerPost/exportCommonProblem?keyWord=" + $("#keyWord").val().trim()+ "&token=" + token;
var xhr = new XMLHttpRequest();
xhr.open("get", url, true);
xhr.responseType = "blob"; // 转换流
xhr.onload = function () {
layer.close(loadingMsg);
if (this.status === 200) {
var blob = this.response;
var a = document.createElement("a");
var url = window.URL.createObjectURL(blob);
a.href = url;
a.download = "考试培训统计.xlsx"; // 文件名
}else {
layer.msg('导出发生异常,请稍后重试', {icon: 16, scrollbar: false, time: 2000});
}
a.click()
window.URL.revokeObjectURL(url)
};
xhr.send();
});
});
function init() {
example =
$('#dt-table').DataTable({
"searching": false,
"processing": true, //加载数据时显示进度状态
"serverSide": true,
"pagingType": "full_numbers", //首页|尾页saveZipButton
"language": {
"url": ctxPath + "/js/plugin/datatables/Chinese.lang"
},
"ajax": {
"url": ctxPath + "/workerPost",
"type": "get",
"data": function (d) {
d.keyWord = $("#keyWord").val();
},
"error": function (xhr, textStatus, errorThrown) {
var msg = xhr.responseText;
var response = JSON.parse(msg);
var code = response.code;
var message = response.message;
if (code == 400) {
layer.msg(message);
} else if (code == 401) {
localStorage.removeItem("token");
layer.msg("token过期请先登录", {shift: -1, time: 1000}, function () {
location.href = ctxPath + '/login.html';
});
} else if (code == 403) {
console.log("未授权:" + message);
layer.msg('未授权');
} else if (code == 500) {
console.log('系统错误:' + message);
}
}
},
"lengthMenu": [ [10, 20, 50], [10, 20, 50] ], // 设置每页显示数据量选项
"drawCallback": function() {
// alert( '表格重绘了' );
var thisDataTable = $('#dt-table').DataTable();
$(".pagination").append("<li>" +
"<a class='paginate_button' style='padding:4px;' href='#' tabindex='0'>到 <input style='margin:0px;width:40px;' id='changePage'> 页</a>" +
"<a class='paginate_button' style='margin-bottom:1px' href='#' tabindex='0' id='dataTable-btn'>确认</a></li>");
//点击按钮跳转指定页数
$('#dataTable-btn').click(function (e) {
if ($("#changePage").val() && $("#changePage").val() > 0) {
var redirectpage = $("#changePage").val() - 1;
} else {
var redirectpage = 0;
}
thisDataTable.page(redirectpage).draw( 'page' );
});
//敲击回车键跳转指定页数
$("#changePage").keypress(function (e) {
if(event.keyCode==13){
if ($("#changePage").val() && $("#changePage").val() > 0) {
var redirectpage = $("#changePage").val() - 1;
} else {
var redirectpage = 0;
}
thisDataTable.page(redirectpage).draw( 'page' );
}
});
},
"dom": "<'dt-toolbar'r>t<'dt-toolbar-footer'<'col-sm-4 col-xs-4 hidden-xs'i><'col-xs-8 col-sm-8' p v>><'dt-table-length'l>",
"columns": [
{
width: '40px',
"orderable": false,
data: function (row, type, set, meta) {
var c = meta.settings._iDisplayStart + meta.row + 1;
return c;
}
},
{"data": "unit","defaultContent": ""},//所属单位
{"data": "name", "defaultContent": ""},//姓名
{"data": "idNumber", "orderable": false, "defaultContent": ""},//身份证号码
{"data": "postName","orderable": false,"defaultContent": ""},//岗位
{"data": "phone","orderable": false,"defaultContent": ""},//手机号
{"data": "trainName","orderable": false,"defaultContent": ""},//培训班名称
{"data": "totalStudytime","orderable": false,"defaultContent": ""},//已修总学时
{"data": "trainStudytime","orderable": false,"defaultContent": ""},//培训学时
{"data": "examScore","orderable": false,"defaultContent": ""},//考试成绩
{
"data": "",
"defaultContent": "",
"orderable": false,
"render": function (data, type, row) {
var id = row['id'];
var html = '';
html += buttonEdits(id, "sys:Sub:update", pers); //修改
html += buttonDel(id,"", pers); // 删除
return html;
}
},
],
"order": [[1, "desc"],[2, "desc"]] //在栏目列上显示排序功能
});
}
/**
* 新增页面
* */
function addCommonProblem() {
var height = '525px';
var width = '925px';
var index = layer.open({
title: ['新增','color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'trainForm.html',
area: [width, height],
maxmin: false,
btn: ['确定', '关闭'],
success:function(layero,index){
var myIframe = window[layero.find('iframe')[0]['name']];
/*myIframe.getCompanys(); //aaa()为子页面的方法*/
},
yes: function (index, layero) {
// 获取弹出层中的form表单元素
var formSubmit = layer.getChildFrame('form', index);
var submited = formSubmit.find('button')[0];
// 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息
submited.click();
// example.ajax.reload(); // 刷新页面
},
btn2: function (index, layero) {
}
});
}
// 编辑按钮
function buttonEdits(id, permission, pers) {
if (permission != "") {
if ($.inArray(permission, pers) < 0) {
return "";
}
}
var btn = $("<button class='layui-btn layui-btn-xs' title='编辑' onclick='edit(\"" + id + "\")'><i class='layui-icon'>&#xe642;</i></button>");
return btn.prop("outerHTML");
}
/**
* 编辑页面
*/
function edit(id) {
$.ajax({
type: 'POST',
contentType: "application/x-www-form-urlencoded",
url: ctxPath + '/workerPost/getWorkerPostById',
data: {"id": id},
dataType: 'json',
success: function (data) {
var height = '85%';
var width = '85%';
var index = layer.open({
title: ['修改', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'trainForm.html',
area: [width, height],
maxmin: false,
btn: ['确定', '关闭'],
success: function (layero, index) {
var myIframe = window[layero.find('iframe')[0]['name']];
var fnc = myIframe.setData(data); //aaa()为子页面的方法
},
yes: function (index, layero) {
// 获取弹出层中的form表单元素
var formSubmit = layer.getChildFrame('form', index);
var submited = formSubmit.find('button')[0];
// 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息
submited.click();
// example.ajax.reload(); // 刷新页面
},
btn2: function (index, layero) {
}
});
}
})
}
// 删除按钮
function buttonDel(id,permission, pers) {
if (permission != "") {
if ($.inArray(permission, pers) < 0) {
return "";
}
}
var btn = $("<button class='layui-btn layui-btn-xs' title='删除' onclick='del(\"" + id + "\")'><i class='layui-icon'>&#xe640;</i></button>");
return btn.prop("outerHTML");
}
//删除
function del(id){
layer.confirm("您确定要删除此条数据吗?", function () {
var form = {"id" : id};
$.ajax({
type: 'post',
url: ctxPath + '/workerPost/delWorkerPostById',
contentType: "application/json; charset=utf-8",
data: JSON.stringify(form),
dataType: 'json',
success: function (data) {
if (data.resMsg == "删除成功") {
layer.msg('删除成功', {icon: 1, time: 3000});
example.ajax.reload(null, false); // 刷新页面
} else {
layer.msg(data.resMsg, {icon: 2, time: 3000});
example.ajax.reload(null, false); // 刷新页面
}
}
})
})
}
//导入excel文件
function importExcel(){
var formData = new FormData($('form')[0]);
var name = $("#articleImageFile").val();
if(name==null|| name == "") {
return;
}
if(!(name.endsWith(".xls") || name.endsWith(".xlsx") || name.endsWith(".xlsm"))) {
layer.msg("请上传正确的Excel表格!");
$("#articleImageFile").val("");
return;
}
formData.append("file", $("#articleImageFile")[0].files[0]);
var idx = layer.msg('正在提交数据,请稍等...', {
icon: 16
,shade: 0.01
,time:'-1'
});
$.ajax({
url : ctxPath + "/workerPost/importExcel",
type : 'POST',
async : false,
data : formData,
timeout:20000,
// 告诉jQuery不要去处理发送的数据
processData : false,
// 告诉jQuery不要去设置Content-Type请求头
contentType : false,
success : function(data) {
layer.close(idx);
if(data.indexOf("导入成功") !=-1){
layer.alert(data, {icon: 1});
}else if(data.indexOf("导入失败") !=-1){
console.log(data)
layer.alert(data, {icon: 2});
}
example.ajax.reload(null, false); // 刷新页面
},
error:function(XMLHttpRequest, textStatus, errorThrown) {
console.log(JSON.stringify(errorThrown));
layer.close(idx);
}
});
$("#articleImageFile").val("");
}
function downCommonProblem(){
window.location.href = ctxPath + "/download/download?filename=考试培训统计.xlsx";
}
/*
var example = null;
var pers = null;
var form = null;
var remarkShowLength = 30;//默认的字符串长度
layui.use(['layer', 'laydate', 'form'], function () {
var layer = layui.layer;
form = layui.form;
form.render();
form.verify();
getProject(form);
pers = checkPermission();
init();
$("#searchBt").click(function () {
example.ajax.reload();
});
});
/!**
* 获取分公司
* *!/
function getCompanys(orgId) {
$("#orgId").empty();
$.ajax({
type: 'POST',
url: ctxPath + '/WorkRecord/getCompanys',
data: {},
dataType: 'json',
success: function (data) {
if(data.length>0){
var str = '<option selected value="">请选择分公司</option>';
for(var i = 0; i < data.length; i++) {
if(orgId == data[i].id) {
str += '<option selected value=\'' + data[i].id + '\'>' + data[i].name + '</option>';
} else {
str += '<option value=\'' + data[i].id + '\'>' + data[i].name + '</option>';
}
}
$("#orgId").append(str);
layui.form.render('select'); //这里就是我们要渲染的地方了
}
}
})
}
function init() {
example =
$('#dt-table').DataTable({
"searching": false,
"processing": true, //加载数据时显示进度状态
"serverSide": true,
"pagingType": "full_numbers", //首页|尾页
"language": {
"url": ctxPath + "/js/plugin/datatables/Chinese.lang"
},
"ajax": {
"url": ctxPath + "/workerPost/getWorkerTrainList",
"type": "post",
"data": function (d) {
d.trainStatus = $("#trainStatus").val();
d.examStatus = $("#examStatus").val();
d.keyWord = $("#keyWord").val();
},
"error": function (xhr, textStatus, errorThrown) {
var msg = xhr.responseText;
console.log(msg);
var response = JSON.parse(msg);
var code = response.code;
var message = response.message;
if (code == 400) {
layer.msg(message);
} else if (code == 401) {
localStorage.removeItem("token");
layer.msg("token过期请先登录", {shift: -1, time: 1000}, function () {
location.href = ctxPath + '/login.html';
});
} else if (code == 403) {
console.log("未授权:" + message);
layer.msg('未授权');
} else if (code == 500) {
console.log('系统错误:' + message);
}
}
},
"drawCallback": function() {
// alert( '表格重绘了' );
var thisDataTable = $('#dt-table').DataTable();
$(".pagination").append("<li>" +
"<a class='paginate_button' style='padding:4px;' href='#' tabindex='0'>到 <input style='margin:0px;width:40px;' id='changePage'> 页</a>" +
"<a class='paginate_button' style='margin-bottom:1px' href='#' tabindex='0' id='dataTable-btn'>确认</a></li>");
//点击按钮跳转指定页数
$('#dataTable-btn').click(function (e) {
if ($("#changePage").val() && $("#changePage").val() > 0) {
var redirectpage = $("#changePage").val() - 1;
} else {
var redirectpage = 0;
}
thisDataTable.page(redirectpage).draw( 'page' );
});
//敲击回车键跳转指定页数
$("#changePage").keypress(function (e) {
if(event.keyCode==13){
if ($("#changePage").val() && $("#changePage").val() > 0) {
var redirectpage = $("#changePage").val() - 1;
} else {
var redirectpage = 0;
}
thisDataTable.page(redirectpage).draw( 'page' );
}
});
},
"dom": "<'dt-toolbar'r>t<'dt-toolbar-footer'<'col-sm-4 col-xs-4 hidden-xs'i><'col-xs-8 col-sm-8' p v>>",
"columns": [
{
width: '40px',
"orderable": false,
data: function (row, type, set, meta) {
var c = meta.settings._iDisplayStart + meta.row + 1;
return c;
}
},
{"data": "projectName",'width': '430px'},
{"data": "userName",'width': '100px'},
{"data": "userId",'width': '40px'},
{"data": "postId",'width': '90px'},
{
// "data": "trainStatus",
'width': '70px',
"render": function (data, type, row) {
var trainStatus = row['trainStatus'];
if (trainStatus == '1') {
trainStatus = '未完成';
} else if (trainStatus == '2') {
trainStatus = '已完成';
}else{
trainStatus = '异常';
}
return trainStatus;
}
},
{"data": "trainType",'width': '80px'},
{"data": "totalStudytime",'width': '110px'},
{"data": "trainStudytime",'width': '110px'},
{
// "data": "examStatus",
'width': '80px',
"orderable": false,
"render": function (data, type, row) {
var examStatus = row['examStatus'];
if (examStatus == '1') {
examStatus = '未考试';
} else if (examStatus == '2') {
examStatus = '合格';
} else {
examStatus = '不合格';
}
return examStatus;
}
},
{"data": "examScore",'width': '80px'},
{
"data": "",
'width': '90px',
"defaultContent": "",
"orderable": false,
"render": function (data, type, row) {
var id = row['userId'];
var html = '';
html += buttonView(id, "", pers);
return html;
}
},
],
"order": [[1, "desc"],[2, "desc"],[3, "desc"],[4, "desc"],[5, "desc"],[6, "desc"],[7, "desc"],[8, "desc"],[10, "desc"]] //在栏目列上显示排序功能
});
}
/!**
* 查看详情
* @param id
*!/
function view(id) {
localStorage.setItem("pageType", "查看");
$.ajax({
type: 'POST',
contentType: "application/x-www-form-urlencoded",
url: ctxPath + '/workerPost/getWorkerTrainById',
data:{
"id":id
// "id": '130125200112268051'
},
dataType: 'json',
success: function (data) {
var height = '80%';
var width = '60%';
var index = layer.open({
title: ['查看','color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'trainInfo.html',
area: [width, height],
maxmin: false,
btn: ['关闭'],
success:function(layero,index){
var myIframe = window[layero.find('iframe')[0]['name']];
var fnc = myIframe.setData(data); //aaa()为子页面的方法
},
});
}
})
}
// 详情按钮
function buttonView(id, permission, pers) {
if (permission != "") {
if ($.inArray(permission, pers) < 0) {
return "";
}
}
var btn = $("<button class='layui-btn layui-btn-xs' title='详情' onclick='view(\""+id+"\")'><i class='layui-icon'>&#xe63c;</i></button>");
return btn.prop("outerHTML");
}
*/