var example = null; var pers = null; var selected = []; var proId = "-1";//工程id var layer; var isSelected = []; var arr = []; var type = 1; var count = 0; $(function () { layui.use(['layer'], function () { layer = layui.layer; }); pers = checkPermission(); init(); getMenuTreePro(""); $("#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(); }); $("#treeSearchBt").click(function () { var pattern = new RegExp("[%_<>]"); var treeKeyWord = $("#treeKeyWord").val(); if (pattern.test(treeKeyWord)) { return top.layer.msg('输入的内容包含特殊字符,请重新输入', { icon: 2, time: 2000 //2秒关闭(如果不配置,默认是3秒) }); } getMenuTreePro(treeKeyWord); }); }) function getMenuTreePro(treeKeyWord) { $.ajax({ type : 'POST', url : smz_ht_url + '/UserRelation/listParentProRelationPro', data:{ "treeKeyWord":treeKeyWord }, // contentType : "application/json; charset=utf-8", async : false, success : function(data) { console.log(data) if(data){ proId= "-1"; } $.fn.zTree.init($("#treeDemo"),{ view:{ dblClickExpand:false, selectedMulti:false, nameIsHTML:true }, data:{ simpleData:{ enable: true } }, callback:{ onClick:zTreeOnCheck } }, data.obj); } }); } function zTreeOnCheck(event, treeId, treeNode) { proId=treeNode.id; reloadList(); var zTree = $.fn.zTree.getZTreeObj("treeDemo"); //获得选中的节点 var nodes = zTree.getSelectedNodes(), v = ""; //根据id排序 nodes.sort(function compare(a, b) { return a.id - b.id; }); for(var i = 0, l = nodes.length; i < l; i++) { if(i !== 0) { v += "," + nodes[i].name; } v += nodes[i].name; } //将选中节点的名称显示在文本框内 $("#treeKeyWord").val(v); //隐藏zTree return false; } function init() { example = $('#dt-table').DataTable({ "sort": false, "searching": false, "processing": true, //加载数据时显示进度状态 "serverSide": true, 'scrollY': "620px", 'scroller': true, 'scrollCollapse':true, "pagingType": "full_numbers", //首页|尾页 "language": { "url": "../../../js/plugin/datatables/Chinese.lang" }, "ajax": { "url": smz_ht_url + "/UserRelation", "type": "get", "data": function (d) { d.keyWord = $("#keyWord").val(); d.proId = proId; }, "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 = smz_ht_url + '/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] ], // 设置每页显示数据量选项 "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渲染复选框) { "data": null, "bSortable": false, render: function (data, type, full, meta) { var node = ''; for (var i = 0; i < isSelected.length; i++) { if (full.id == isSelected[i]) { full.isSelected = 1; } } node = ''; if (full.isSelected == 1) { isSelected.push(full.id); node = ''; } return node; } }, { width: '60px', data: function (row, type, set, meta) { var c = meta.settings._iDisplayStart + meta.row + 1; return c; } }, {"data": "subName", "defaultContent": ""}, {"data": "represent", "defaultContent": ""}, ], "order": [] //在栏目列上显示排序功能 }); } /** * 保存分包商和工程之间的关系 */ function doSave() { if (proId == '-1' || proId == '0') { layer.msg("请选择工程") return; } save(proId, isSelected.toString()) } /** * 保存 */ function save(proId, userId) { $.ajax({ type: 'get', url: smz_ht_url + '/UserRelation/replaceSubAndPro', async: false, data: { proId: proId, proIds: userId }, success: function (data) { layer.msg(data.resMsg); } }); } 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() { isSelected.length =0; example.ajax.reload(); }