HnRealNameBmwWeb/js/work/person/freelist.js

340 lines
13 KiB
JavaScript
Raw 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();
});
$("#checkall").change(function () {
if ($(this).is(':checked')) {
$('input[name="checked"]').each(function () {
$(this).prop("checked", true);
});
} else {
$('input[name="checked"]').each(function () {
$(this).prop("checked", false);
});
}
});
init();
});
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 + "/Blacklist/getFreelist",
"type": "get",
"data": function (d) {
d.name = $("#name").val();
d.idNumber = $("#idNumber").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": [
{
"data": null,
"width": "3%",
"bSortable": false,
render: function (data, type, full, meta) {
var node = '';
var checkedStatus = data['checkedStatus'];
node = '<input class="checkall" name="checked" value=\"' + full.idNumber + '\" type="checkbox"/>';
if (checkedStatus == 1) {
node = '<input class="checkall" name="checked" checked="checked" value=\"' + full.idNumber + '\" type="checkbox"/>';
}
return node;
}
},
{
width: '40px',
"orderable": false,
data: function (row, type, set, meta) {
var c = meta.settings._iDisplayStart + meta.row + 1;
return c;
}
},
{"data": "name","defaultContent": ""},//姓名
{"data": "idNumber", "defaultContent": ""},//身份证
{"data": "remark","defaultContent": ""},//岗位
{"data": "dept","defaultContent": ""},
{"data": "event","orderable": false,"defaultContent": ""},
{
"data": "",
"defaultContent": "",
"orderable": false,
"render": function (data, type, row) {
var status = row['status'];
var html = '';
if (status == 1 || status == '1') {
html += '<span style="color: #00B83F">已生效</span>'
} else if (status == 2 || status == '2') {
html += '<span style="color: #ff0000">未生效</span>'
}
return html;
},
},
{
"data": "",
"defaultContent": "",
"orderable": false,
"render": function (data, type, row) {
var id = row['idNumber'];
var status = row['status'];
var html = '';
if(status == 1 || status == '1'){
html += buttonDel(id,status, "", pers); // 移除
}else if(status == 2 || status == '2'){
html += buttonPutIn(id,status, "", pers); // 加入
}
return html;
}
},
],
"order": [[2, "desc"],[3, "desc"],[4, "desc"],[5, "desc"]] //在栏目列上显示排序功能
});
}
/**
* 新增页面
* */
function addBlacklist() {
var height = '525px';
var width = '925px';
var index = layer.open({
title: ['新增','color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'freelistForm.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 delBatch() {
var id = null;
var selected = []; // 选中删除的数据
var oTable = $('#dt-table').dataTable();
var rowcollection = oTable.$(".checkall:checked", {"page": "all"});
rowcollection.each(function (index, elem) {
var checkbox_value = $(elem).val();
selected.push(checkbox_value);
});
if (selected.length == 0) {
return layer.msg("请勾选要删除的数据", {icon: 2, time: 2000});
}
id = selected.toString();
layer.confirm("您确定要删除选中的数据吗?", function () {
var form = {"idNumber" : id};
$.ajax({
type: 'post',
url: ctxPath + '/Blacklist/deleteWorkerBlackFree',
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(); // 刷新页面
} else {
layer.msg(data.resMsg, {icon: 2, time: 3000});
example.ajax.reload(); // 刷新页面
}
}
})
})
}
/**
* 移除黑名单
* */
function del(id,status) {
layer.confirm("确定移除吗?",function () {
var form = {"idNumber":id,"status":'2'};
$.ajax({
type: 'post',
url: ctxPath + '/Blacklist/updateBlackFreeStatus',
contentType: "application/json; charset=utf-8",
data: JSON.stringify(form),
dataType: 'json',
success: function (data) {
if (data.resMsg == "修改成功") {
layer.alert('移除成功', {icon: 1});
example.ajax.reload(); // 刷新页面
} else {
layer.msg('移除失败', {icon: 2});
example.ajax.reload(); // 刷新页面
}
}
})
})
}
function putIn(id,status) {
var form = {"idNumber":id,"status":'1'};
layer.confirm("确定要加入吗?",function () {
$.ajax({
type: 'post',
url: ctxPath + '/Blacklist/updateBlackFreeStatus',
contentType: "application/json; charset=utf-8",
data: JSON.stringify(form),
dataType: 'json',
success: function (data) {
if (data.resMsg == "修改成功") {
layer.alert('加入成功', {icon: 1});
example.ajax.reload(); // 刷新页面
} else {
layer.msg('加入失败', {icon: 2});
example.ajax.reload(); // 刷新页面
}
}
})
})
}
// 加入按钮
function buttonPutIn(data,status, permission, pers){
if(permission != ""){
if ($.inArray(permission, pers) < 0) {
return "";
}
}
var btn = $("<button class='layui-btn layui-btn-xs ' title='加入' onclick='putIn(\"" + data +"\",\"" + status +"\")'>加入</button>");
return btn.prop("outerHTML");
}
// 移除按钮
function buttonDel(data,status, permission, pers){
if(permission != ""){
if ($.inArray(permission, pers) < 0) {
return "";
}
}
var btn = $("<button class='layui-btn layui-btn-xs' title='移除' onclick='del(\"" + data +"\",\"" + status +"\")'>移除</button>");
return btn.prop("outerHTML");
}
//导入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 + "/Blacklist/importFreeExcel",
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){
layer.alert(data, {icon: 2});
}
example.ajax.reload(); // 刷新页面
},
error:function(XMLHttpRequest, textStatus, errorThrown) {
console.log(JSON.stringify(errorThrown));
layer.close(idx);
}
});
$("#articleImageFile").val("");
}
function down(){
window.location.href = ctxPath + "/download/download?filename=自有人员管理导入模板.xlsx";
}