HnRealNameBmwWeb/js/work/person/certificateManage/workCertificateSetting.js

242 lines
8.6 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;
var selected = [];
var postId = "0";//工人岗位id
var layer;
var isSelected = [];
var arr = [];
var type = 1;
var count = 0;
$(function () {
layui.use(['layer'], function () {
layer = layui.layer;
});
pers = checkPermission();
init();
$("#searchBt").click(function () {
var pattern = new RegExp("[%_<>]");
var keyWord = $("#keyWord").val();
if (pattern.test(keyWord)) {
return top.layer.msg('输入的内容包含特殊字符,请重新输入', {
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
}
example.ajax.reload();
});
$("#save").click(function () {
doSave();
});
})
function init() {
example =
$('#dt-table').DataTable({
"sort": false,
"searching": false,
"processing": true, //加载数据时显示进度状态
"serverSide": true,
"pagingType": "full_numbers", //首页|尾页
"language": {
"url": ctxPath + "/js/plugin/datatables/Chinese.lang"
},
"ajax": {
"url": ctxPath + "/certificate/getWorkCertificateSettingList",
"type": "post",
"data": function (d) {
d.keyWord = $("#keyWord").val();
d.postId = postId;
},
"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);
}
}
},
"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": [
//复选框通过render渲染复选框
{
"width": "10%",
"data": null,
"bSortable": false,
"render": function (data, type, row) {
var id = row['id'];
var isCheck = row['isCheck'];
var node = '';
for (var i = 0; i < isSelected.length; i++) {
if (id == isSelected[i]) {
isCheck = "1";
}
}
node = '<input class="checkall" name="checked" onclick="showCheck(this)" value=\"' + id + '\" type="checkbox"/>';
if (isCheck === "1") {
isSelected.push(id);
node = '<input class="checkall" name="checked" checked="checked" onclick="showCheck(this)" value=\"' + id + '\" type="checkbox"/>';
}
return node;
}
},
{
"width": "10%",
data: function (row, type, set, meta) {
var c = meta.settings._iDisplayStart + meta.row + 1;
return c;
}
},
{"data": "name", "defaultContent": "", "width": "40%"},
{
"width": "40%",
"data": "",
"defaultContent": "",
"orderable": false,
"render": function (data, type, row) {
var isUpload = row['isUpload'];
var html = '';
if (isUpload == 1 || isUpload == '1') {
html += '<span style="color: #00B83F">是</span>'
} else {
html += '<span style="color: #ff0000">否</span>'
}
return html;
}
},
],
"order": [[0, "desc"], [1, "asc"]] //在栏目列上显示排序功能
});
}
/**
* 保存分包商和工程之间的关系
*/
function doSave() {
if (postId == '-1' || postId == '0') {
layer.msg("请选择配置的工种")
return;
}
save(postId, isSelected.toString())
}
/**
* 保存
*/
function save(postId, certificateId) {
$.ajax({
type: 'post',
async: false, // 默认异步true,false表示同步
url: ctxPath + '/certificate/bindingPostAndCertificate',
contentType: "application/json; charset=utf-8",
data: JSON.stringify(
{
certificateId: certificateId,
postId: postId
}
),
dataType: "json",
success: function (data) {
layer.msg(data.resMsg);
// refreshParentNode();
// window.parent.location.reload();
},
error: function (XMLHttpRequest, textStatus, e) {
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
}
});
}
function refreshParentNode() {
var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
type = "refresh",
silent = true,
nodes = zTree.getSelectedNodes();
/*根据 zTree 的唯⼀标识 tId 快速获取节点 JSON 数据对象*/
var parentNode = zTree.getNodeByTId(nodes[0].parentTId);
/*选中指定节点*/
zTree.selectNode(parentNode);
zTree.reAsyncChildNodes(parentNode, type, silent);
}
function showCheck(data) {
if (data.checked) {
isSelected.push(data.value);
} else {
var checkPro = [];
for (var i = 0; i < isSelected.length; i++) {
if (isSelected[i] != data.value) {
checkPro.push(isSelected[i]);
}
}
isSelected = checkPro;
}
/**
* 对数组去重
* @returns {Array}
*/
Array.prototype.distinct = function () {
var arr = this,
i,
j,
len = arr.length;
for (i = 0; i < len; i++) {
for (j = i + 1; j < len; j++) {
if (arr[i] == arr[j]) {
arr.splice(j, 1);
len--;
j--;
}
}
}
return arr;
}
isSelected.distinct();
}
function reloadList(id) {
postId = id;
isSelected.length = 0;
example.ajax.reload();
}