diff --git a/src/main/webapp/WEB-INF/views/overtimeSet/overtimeSet.jsp b/src/main/webapp/WEB-INF/views/overtimeSet/overtimeSet.jsp index 97f6da2..b21b573 100644 --- a/src/main/webapp/WEB-INF/views/overtimeSet/overtimeSet.jsp +++ b/src/main/webapp/WEB-INF/views/overtimeSet/overtimeSet.jsp @@ -146,307 +146,6 @@ - - + \ No newline at end of file diff --git a/src/main/webapp/static/js/overtimeSet/overtimeSet.js b/src/main/webapp/static/js/overtimeSet/overtimeSet.js new file mode 100644 index 0000000..b8d3aa8 --- /dev/null +++ b/src/main/webapp/static/js/overtimeSet/overtimeSet.js @@ -0,0 +1,299 @@ +$(function () { + var key1 = $("#key1"); + key1.bind("focus", focusKey1) + .bind("blur", blurKey1) + .bind("input", searchNode1); + var key2 = $("#key2"); + key2.bind("focus", focusKey2) + .bind("blur", blurKey2) + .bind("input", searchNode2); + + var url = window.location.href; + var index = url.substring(url.lastIndexOf('?') + 1).replace("num=", ""); + if (index != null && index != "" && index.indexOf("update") != -1) { + $("#overtimeSetBtn").show(); + $("#remindCancleDeptBtn").show(); + $("#remindDeptUserBtn").show(); + } else { + $("#overtimeSetBtn").hide(); + $("#remindCancleDeptBtn").hide(); + $("#remindDeptUserBtn").hide(); + } + initTree(path+"/overtime/selectRemindDeptTree",'科室列表',1); + initTree(path+"/overtime/selectRemindDeptUserTree",'用户列表',2); +}); + +/** + * 保存基础信息设置 + */ +$("#overtimeSetBtn").click(function(){ + $.ajax({ + type:'post', + url:path+'/overtime/updateOverTimeSet', + data:$('#form1').serialize(), + dateType:'json', + success:function(data){ + if(data.code == 100){ + toastr.success("保存成功"); + }else{ + toastr.error(data.msg); + } + } + }) +}); + +/** + * 保存取消提醒科室设置 + */ +$("#remindCancleDeptBtn").click(function(){ + //获取取消提醒科室设置树选中 + var deptIds = ''; + var zTree = $.fn.zTree.getZTreeObj("ztree1"); + var nodes=zTree.getCheckedNodes(true); + for (var i = 0; i < nodes.length; i++) { + if(nodes[i].level == 1){ + if(deptIds != ''){ + deptIds += ","; + } + deptIds += nodes[i].code; + } + } + $.ajax({ + type:'post', + url:path+'/overtime/updateRemindCancleSet', + data:{deptIds:deptIds}, + dateType:'json', + success:function(data){ + if(data.code == 100){ + toastr.success("保存成功"); + }else{ + toastr.error(data.msg); + } + } + }) +}); + +/** + * 保存取消提醒科室单独提醒个别用户设置 + */ +$("#remindDeptUserBtn").click(function(){ + //获取取消提醒科室单独提醒个别用户设置树选中 + var saveNodes = []; + var zTree = $.fn.zTree.getZTreeObj("ztree2"); + var nodes=zTree.getCheckedNodes(true); + for (var i = 0; i < nodes.length; i++) { + if(nodes[i].level == 3){ + var obj = new Map(); + obj['deptCode'] = nodes[i].code; + obj['userName'] = nodes[i].realName; + obj['roleId'] = nodes[i].realParentId; + saveNodes.push(obj); + } + } + $.ajax({ + type:'post', + url:path+'/overtime/updateRemindDeptUserSet', + data:{jsonStr:JSON.stringify(saveNodes)}, + dateType:'json', + success:function(data){ + if(data.code == 100){ + toastr.success("保存成功"); + }else{ + toastr.error(data.msg); + } + } + }) +}); + +var zNodes = []; +var opts = { + lines: 13, // The number of lines to draw |小长条的数量 + length: 20, // The length of each line |小长条的长度 + width: 5, // The line thickness |小长条的宽度 + radius: 15, // The radius of the inner circle |内环的半径长 + corners: 1, // Corner roundness (0..1) + rotate: 0, // The rotation offset |旋转角度 + direction: 1, // 1: clockwise, -1: counterclockwise |1:顺时针方向 -1:逆时针方向 + color: '#000', // #rgb or #rrggbb or array of colors |颜色 + speed: 1, // Rounds per second |每秒转多少圈 + trail: 60, // Afterglow percentage |余晖效果百分比 + shadow: false, // Whether to render a shadow |渲染阴影 + hwaccel: false, // Whether to use hardware acceleration |加速 + className: 'spinner', // The CSS class to assign to the spinner |类名spinner + zIndex: 2e9, // The z-index (defaults to 2000000000) |显示在最顶层 + top: '150px' // Top position relative to parent in px |相对父元素的top +}; +var spinner = new Spinner(opts); +function initTree(url,treeName,num) { + var target = document.getElementById('treediv'); + spinner.spin(target);//给id为foo的div 中绑上spinner + zNodes = []; + //获取所有缺陷类别列表 + $.ajax({ + url: url, + type: "POST", + async:false, + success: function (result) { + //定义根节点是否选中 + var rootChecked = true; + if (result != null) { + for(var ele in result){ + zNodes.push(result[ele]); + if(result[ele].checked == null){ + rootChecked = false; + } + } + } + //判断是否根节点选中 + if(rootChecked && result != null){ + zNodes.push({id: 0, parentId: 0, name: treeName, open: true,checked:"true"}); + }else{ + zNodes.push({id: 0, parentId: 0, name: treeName, open: true}); + } + $.fn.zTree.init($("#ztree"+num), setting, zNodes); + spinner.spin(); + }, error: function () { + spinner.spin(); + } + }); +} + +var setting = { + view: { + addHoverDom: false, + removeHoverDom: false, + selectedMulti: false, + autoCancelSelected: false, + fontCss: getFontCss + }, + check: { + enable: true + }, + data: { + simpleData: { + chkStyle: "checkbox", + enable: true, + idKey: "id", + pIdKey: "parentId", + rootPId: "0" + } + }, + edit: { + enable: false + } +}; + +function focusKey1() { + var key = $("#key1"); + if (key.hasClass("empty")) { + key.removeClass("empty"); + } +} + +function blurKey1() { + var key = $("#key1"); + if (key.get(0).value === "") { + key.addClass("empty"); + } +} +function focusKey2() { + var key = $("#key2"); + if (key.hasClass("empty")) { + key.removeClass("empty"); + } +} + +function blurKey2() { + var key = $("#key2"); + if (key.get(0).value === "") { + key.addClass("empty"); + } +} +function getFontCss(treeId, treeNode) { + return (!!treeNode.highlight) ? {color: "#A60000", "font-weight": "bold"} : { + color: "#333", + "font-weight": "normal" + }; +} + +/** + * 遍历树节点,将 + * 1.自身不满足搜索条件 + * 且 + * 2.其子节点不包含有满足条件的节点 + * 的节点加入到filterResult中 + * + * @param node 查询的节点 + * @param inputStr 搜索条件 + * @param filterResult 过滤的结果集 + * @return 该节点是否满足条件 + */ +function filterNodes(node, inputStr, filterResult) { + if (node != null) { + //自身是否符合搜索条件 + var selfMatch = node.name.indexOf(inputStr) > -1; + //子节点是否有满足的条件的节点 + var childMatch = false; + var children = node.children; + if (children != undefined) { + for (index in children) { + childMatch = filterNodes(children[index], inputStr, filterResult) || childMatch; + } + } + //自身不满足搜索条件 且其子节点不包含有满足条件的节点 + if (!selfMatch && !childMatch) { + filterResult.push(node); + } + return selfMatch || childMatch; + } else { + return true; + } +} + +function searchNode1() { + var zTree = $.fn.zTree.getZTreeObj("ztree1"); + var value = $("#key1").val(); + if (value == "") { + //显示隐藏的节点 + var nodes = zTree.getNodesByParam("isHidden", true); + zTree.showNodes(nodes); + } else { + //显示隐藏的节点 + nodes = zTree.getNodesByParam("isHidden", true); + zTree.showNodes(nodes); + var root = zTree.getNodeByParam("level", "0"); + var hiddenNodes = new Array(); + filterNodes(root, value, hiddenNodes); + zTree.hideNodes(hiddenNodes); + } + zTree.expandAll(true); +} +function searchNode2() { + var zTree = $.fn.zTree.getZTreeObj("ztree2"); + var value = $("#key2").val(); + if (value == "") { + //显示隐藏的节点 + var nodes = zTree.getNodesByParam("isHidden", true); + zTree.showNodes(nodes); + } else { + //显示隐藏的节点 + nodes = zTree.getNodesByParam("isHidden", true); + zTree.showNodes(nodes); + var root = zTree.getNodeByParam("level", "0"); + var hiddenNodes = new Array(); + filterNodes(root, value, hiddenNodes); + zTree.hideNodes(hiddenNodes); + } + zTree.expandAll(true); +} +//展开 +function expandAll(num) { + var treeObj = $.fn.zTree.getZTreeObj("ztree"+num); + treeObj.expandAll(true); +} + +//收缩 +function collapseAll(num) { + var treeObj = $.fn.zTree.getZTreeObj("ztree"+num); + treeObj.expandAll(false); +} \ No newline at end of file