/** * Created by mac on 17/5/10. */ //声明全局变量 var sysCode=null; var sysName=null; var fun = { getSysCodeAndSysName:function(){ sysCode=sessionStorage.getItem("sysCode"); sysName=sessionStorage.getItem("sysName"); //alert(sysCode+sysName); if(sysCode == undefined || sysName ==undefined){ swal({title:"提示",text:"获取权限失败",type:"warning",timer:3000,allowOutsideClick:true}); } $("#sysName").val(sysName); //如果是企业云平台 显示添加组织按钮 if(sysCode==sysComm.sysCode){ $(".user_operate_s").css('display','block'); } }, initSelect:function(){ var selectedNodes = Tree.getSelectedNodes(); //父节点名称 var selectedNode = selectedNodes[0]; $('#parentOrgName').html(selectedNode.name); $('#parentOrgId').val(selectedNode.id); //给全局的组织ID赋值 //orgId=selectedNode.id; //alert(orgId); //初始化等级下拉框 //获取选中当前节点的层数 var getNodes=Tree.getLever(); var level=getNodes+1; /** if(getNodes==0){ //隐藏组织旁边的添加按钮 document.getElementById("addOrgname").style.display="none"; }else{ //显示组织旁边的添加按钮 document.getElementById("addOrgname").style.display="block"; }*/ $("#orgLevel").empty(); //alert(level); $('#orgLevel').append(''); for(var i=level;i<=level;i++){ $('#orgLevel').append(''); } //初始化序号下拉框 $('#orgLevel').val(level); //获取选中当前节点的子节点 var childNodes= selectedNode.children; $("#sortNum").empty(); var childNodesLength=1; if(undefined != childNodes){ childNodesLength=1+childNodes.length; } $('#oldSortNum').val(childNodesLength); $('#sortNum').append(''); for(var i=0;i<=childNodesLength;i++){ $('#sortNum').append(''); } }, initTable:function(){ $('#orgTable').bootstrapTable('destroy').bootstrapTable({ striped:true,//表格显示条纹 pagination: true, //启动分页 pageNumber:1, //当前第几页 pageSize: 10, //每页显示的记录数 pageList: [10,15,20], //记录数可选列表 sidePagination: 'server',//表示服务端分页 queryParamsType: 'limit', method:'POST',//请求方法 paginationPreText: '<', paginationNextText: '>', ajax:tableLoadRequest,//自定义ajax加载数据 uniqueId:'id', columns: [ {field: 'id', title: 'ID', visible: false, align: 'left'}, {field: 'parentOrgId', title: 'parentOrgId', visible: false, align: 'left',cellStyle:fun.formatTableUnit}, {field: 'orgName', title: '组织名称', width: '25%', align: 'left',cellStyle:fun.formatTableUnit,formatter:commonObj.replacenull}, {field: 'parentOrgName', title: '上级组织名称', width: '25%', align: 'left',cellStyle:fun.formatTableUnit,formatter:commonObj.replacenull}, {field: 'sortNum', title: '排序', width: '5%', align: 'left',cellStyle:fun.formatTableUnit,formatter:commonObj.replacenull}, {field: 'orgDesc', title: '说明', width: '15%', align: 'left',cellStyle:fun.formatTableUnit,formatter:commonObj.replacenull}, {field: 'oper', title: '操作', width: '25%', align: 'left',formatter:fun.operFormatter,cellStyle:fun.formatTableUnit} ], formatTableUnit:function(value,row,index){ return { css: { "white-space":"nowrap" } } }, formatLoadingMessage:function(){ return "数据正在加载中..."; }, }); }, initPersonTable:function(){ $('#personTable').bootstrapTable('destroy').bootstrapTable({ striped:true,//表格显示条纹 pagination: true, //启动分页 pageNumber:1, //当前第几页 pageSize: 10, //每页显示的记录数 pageList: [10,15,20], //记录数可选列表 sidePagination: 'server',//表示服务端分页 queryParamsType: 'limit', method:'POST',//请求方法 paginationPreText: '<', paginationNextText: '>', ajax:personTableLoadRequest,//自定义ajax加载数据 uniqueId:'id', columns: [ {field: 'id', title: 'ID', visible: false, align: 'left',cellStyle:commonObj.formatTableUnit,formatter:commonObj.replacenull}, {field: 'remark', title: '用户描述', visible: false, align: 'left',cellStyle:commonObj.formatTableUnit,formatter:commonObj.replacenull}, {field: 'loginCode', title: '账号', width: '10%', align: 'left',cellStyle:commonObj.formatTableUnit,formatter:commonObj.replacenull}, {field: 'opName', title: '姓名', width: '8%', align: 'left',cellStyle:commonObj.formatTableUnit,formatter:commonObj.replacenull}, {field: 'sex', title: '性别', width: '5%', align: 'left',formatter:commonObj.sexFormatter,cellStyle:commonObj.formatTableUnit,}, {field: 'age', title: '年龄', width: '5%', align: 'left',formatter:commonObj.replacenull,cellStyle:commonObj.formatTableUnit,}, {field: 'telephone', title: '手机号', width: '10%', align: 'left',cellStyle:commonObj.formatTableUnit,formatter:commonObj.replacenull}, {field: 'sysCode', title: '系统名称', width: '2%', align: 'left',formatter:fun.sysCodeFormatter,cellStyle:commonObj.formatTableUnit,} ], formatTableUnit:function(value,row,index){ return { css: { "white-space":"nowrap" } } }, formatLoadingMessage:function(){ return "数据正在加载中..."; }, }); }, //操作显示 operFormatter:function(value,row,index){ var operStr ='修改'+ '删除'; return operStr; }, //添加组织 addOrg:function(){ $('.popMask').remove(); $('#role_alert_error').text(''); // $('input').val(''); $('textarea').val(''); $('select').val(''); //判断是否有节点 var nodes = Tree.getNodes(); if(nodes.length==0){ //无根节点,则添加为根节点 $('#parentOrgId').val(0); $('#parentOrg').hide(); }else{ $('#parentOrg').show(); //父节点赋值 var selectedNodes = Tree.getSelectedNodes(); if(selectedNodes.length==0){ var pop = new Pop({ header:'信息提示', content:$('请先在左侧选中父级组织!'), buttons:[{ type:'popOk', text:'确定', callback:function(){ pop.close(); } }] }); return false; } fun.initSelect(); } $('#alert_over').append($('#role_alert_con')); $('#role_alert_title').html('添加组织'); $('#alert_ok').attr('oper','save'); $('#alert_over,#role_alert_con').show(); }, //checkbox 处理 checkedFormatter:function (value,row,index) { var checkStr=""; return checkStr; }, //系统名 sysCodeFormatter:function(value,row,index){ return sysName; }, //关闭二级弹窗 cancelPark:function () { $('#addOrg_over,#addOrg_alert_con').hide(); $('#role_alert_con,#alert_over').show(); }, //修改组织 modifyOrg:function(element){ $('.popMask').remove(); $('#role_alert_error').text(''); fun.initSelect(); //设置值 var id = $(element).attr('data-value'); //根据唯一值获取行数据 var modifyRow = $('#orgTable').bootstrapTable('getRowByUniqueId', id); $('#id').val(id); $('#orgName').val(modifyRow.orgName); $('#orgDesc').val(modifyRow.orgDesc); $('#sortNum').val(modifyRow.sortNum); $('#oldSortNum').val(modifyRow.sortNum); //父节点名称 $('#parentOrg').show(); if(modifyRow.parentOrgId==null || modifyRow.parentOrgId==0){ $('#parentOrg').hide(); $('#parentOrgId').val(0); }else{ $('#parentOrgId').val(modifyRow.parentOrgId); var node = Tree.getNodeById(modifyRow.parentOrgId); $('#parentOrgName').html(node==null?'':node.name); } $('#alert_over').append($('#role_alert_con')); $('#role_alert_title').html('修改组织'); $('#alert_ok').attr('oper','update'); $('#alert_over,#role_alert_con').show(); }, //删除角色 deleteOrg:function(element){ $('.popMask').remove(); var orgName = $(element).attr('orgName'); var id= $(element).attr('data-value'); var node = Tree.getNodeById(id); if(node.isParent){ var pop = new Pop({ header:'错误提示', content:$('组织('+orgName+')下面有组织,不允许删除'), buttons:[{ type:'popOk', text:'确定', callback:function(){ pop.close(); } }] }); return false; } var isUsed = ''; var content = $('确定要删除组织('+orgName+')吗?'); var popAlert = new Pop({ header:'信息提示', content:content, buttons:[{ type:'popCancle', text:'取消' },{ type:'popOk', text:'确定', callback:function(){ //判断该组织是否已经被占用 isUsedForOrgByOrgId(); if(isUsed=='true'){ popAlert.close(); //*******************已被占用,是否强制删除**************** var isUsedpopAlert = new Pop({ header:'信息提示', content:$('组织('+orgName+')已经被使用,是否强制删除?'), buttons:[{ type:'popCancle', text:'取消' },{ type:'popOk', text:'确定', callback:function(){ //删除组织 realDeleteOrg(); isUsedpopAlert.close(); } }] }); }else if(isUsed=='false'){ //删除组织 realDeleteOrg(); popAlert.close(); }else{ console.error('无法判断该组织是否被占用,请检查入参'); } } }] }); //正式删除组织 function realDeleteOrg(){ //删除组织 var req= { sysCode:sysCode, ids:[id] }; var easyUIOps = { method: "post", url: dataUrl.util.deleteOrg, data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType:'json', success: function(res){ if(isError(res)){ return false; } //删除树节点 Tree.removeNode(id); //刷新table $('#orgTable').bootstrapTable('refresh', {silent: true}); //isUsedpopAlert.close(); } }; sysAjax(easyUIOps); //刷新table $('#orgTable').bootstrapTable('refresh', {silent: true}); } //判断该组织是否已经被占用 function isUsedForOrgByOrgId(){ var req= { sysCode:sysCode, id:id }; sysAjax({ method: 'post', url: dataUrl.util.isUsedForOrgByOrgId, data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType:'json', async:false, success: function (res) { if(isError(res)){ return false; } isUsed = res.data+''; } }); } }, //show show_alert:function () { $('#alert_over').append($('#role_alert_con')); $('#alert_over,#role_alert_con').show(); }, //clsoe close_alert:function () { $('#alert_over,#role_alert_con').hide(); }, //cancel alert_cancel:function () { $('#alert_over,#role_alert_con').hide(); }, //alert_ok alert_ok:function () { //验证参数 fun.validateOrg(); var errmsg = $('#role_alert_error').text(); if(errmsg !=''){ return false; } //拼接请求参数 var url = ''; if($('#alert_ok').attr("oper")=='save'){ url = dataUrl.util.saveOrg; }else if($('#alert_ok').attr("oper")=='update'){ url = dataUrl.util.updateOrg; } //var jobfuncIds = $('#jobfuncIds').val(); var empid=StrUtil.isEmpty(fn.getUserId()) ? '-1' : fn.getUserId(); //获取等级下拉框的值 var orgLeveloptions = $("#orgLevel option:selected"); //获取序号下拉框的值 var sortNumoptions = $("#sortNum option:selected"); var req= { "id": $('#id').val(), "orgDesc": $('#orgDesc').val(), "orgName": $('#orgName').val(), "orgCode": $("#parkId").val(), "shortName":$('#orgName').val(), "empid":empid, "orgLevel":orgLeveloptions.val(), "sortNum":sortNumoptions.val(), "parentOrgId":$('#parentOrgId').val(), "oldSortNum":$('#oldSortNum').val(), "sysCode":sysCode }; //console.log(req); var easyUIOps = { method:'POST', url: url, data: JSON.stringify(req), success: function(res){ if(isError(res)){ return false; } $('#alert_over,#role_alert_con').hide(); if($('#alert_ok').attr("oper")=='save'){//添加节点 var node = { name:$('#orgName').val(), id:res.data, pid:$('#parentOrgId').val() }; Tree.addNodes($('#parentOrgId').val(),node); }else{//修改节点名称 var node = Tree.getNodeById($('#id').val()) node.name = $('#orgName').val(); Tree.updateNodes(node); } $('#id').val(''); $('#parentOrgId').val(''); $('#parentOrgName').val(''); $("#parkId").val(''); //刷新table $('#orgTable').bootstrapTable('refresh', {silent: true}); } }; sysAjax(easyUIOps); }, //验证参数 validateOrg:function(){ var errorIfo = $('#role_alert_error'); errorIfo.text(''); var orgName = $('#orgName').val(); var orgDesc = $('#orgDesc').val(); var orgLevel = $('#org_level').val(); //部门名称 if(StrUtil.isEmpty(orgName)){ errorIfo.text('请添加组织名称'); $('#orgName').focus() return false; }else{ errorIfo.text(''); } //角色描述 if(StrUtil.isEmpty(orgDesc)){ errorIfo.text('请输入组织概述'); $('#orgDesc').focus(); return false; }else{ errorIfo.text(''); }; } }; var treeId=10001; var Tree = { //初始化树 initTree:function(){ $.fn.zTree.init($("#tree"), Tree.setting, Tree.getTreeData()); //展开全部 var treeObj = $.fn.zTree.getZTreeObj("tree"); treeObj.expandAll(true); var node = treeObj.getNodeByParam('id', treeId);//获取pId为0的点 treeObj.selectNode(node);//选择点 treeObj.setting.callback.onClick(null, treeObj.setting.treeId, node);//调用事件 Tree.getNodesAndSelected(); }, setting:{ callback: { onClick: function(event, treeId, treeNode){ //重新初始化table fun.initTable(); fun.initPersonTable(); } }, view: { selectedMulti: false }, check: { enable: false, chkStyle: "radio" }, data: { simpleData: { enable: true, idKey: "id", pIdKey: "pId", rootPId: 0 } }, edit: { enable: false } }, //获取跟节点并选中 getNodesAndSelected:function(){ var treeObj = $.fn.zTree.getZTreeObj("tree"); var nodes = treeObj.getNodes(); if (nodes.length>0) { for(var i=0;i 0) { var level = sNodes[0].orgLevel; return level; } }, //获取树 getTreeData:function() { var zNodes = []; var req= { baseRequest:{ pageNum:1, pageSize:0 }, sysCode:sysCode }; sysAjax({ method:'POST', url: dataUrl.util.getOrgTreeBySysCode(), data: JSON.stringify(req), dataType:'json', async:false, success: function(res){ if(isError(res)){ return false; } zNodes =res.data; console.log(zNodes); for(index in zNodes){ if(0==zNodes[index].pId){ treeId=zNodes[index].id; } } // var zTree = $.fn.zTree.getZTreeObj("tree"); // $.fn.zTree.getZTreeObj("tree");//获取ztree对象 } }); //增加一个公告根节点 // zNodes[zNodes.length] = {name:'根节点',id:0,checked:true}; return zNodes; } } /** * 处理错误信息 * @param {Object} res */ function isError(res){ if(res == null || res == undefined){ return true; } if(res.code!='8888'){ var errorPop = new Pop({ header:'错误提示', content:$(''+res.msg+''), buttons:[{ type:'popOk', text:'确定', callback:function(){ errorPop.close(); } }] }); return true; }else{ return false; } } /** * 自定义table AJAX请求 * @param {Object} params */ function tableLoadRequest(params){ //获取选中的树节点 var nodes = Tree.getSelectedNodes(); var id = ''; var parentOrgId = ''; if(nodes.length>0){ var nodeId = nodes[0].id; if(nodes[0].isParent){//如果是父节点则按照父节点查询 parentOrgId = nodeId; }else{ //id = nodeId; params.success({"total":0,"rows":[]}) return false; } }else{//没有选中,默认查询第一级节点 //var a=Tree.getNodes; parentOrgId = 0; } //设置请求参数 var pageNum = (params.data.offset/params.data.limit)+1; var req= { baseRequest:{ pageNum:pageNum, pageSize:params.data.limit }, sysCode:sysCode, id:id, parentOrgId:parentOrgId }; var easyUIOps = { method: params.type, url: dataUrl.util.getQueryOrgsPageList, data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType:'json', success: function(res){ if(res.code == '8888'){ params.success(res.data); }else{ } } }; sysAjax(easyUIOps); } /** * 停车场table AJAX请求 * @param {Object} params */ function parkTableLoadRequest(params){ var plProvinceId=null; var plCityId=null; var plName=null; var province = $("#province option:selected"); var city = $("#city option:selected"); if(province.val()!=undefined){ plProvinceId=province.val(); } if(city.val()!=undefined){ plCityId=city.val(); } var parkName=$("#selectpark_page_role_ame").val(); if(undefined != parkName){ plName=parkName; } //设置请求参数 var pageNum = (params.data.offset/params.data.limit)+1; var req= { baseRequest:{ pageNum:pageNum, pageSize:params.data.limit }, sysCode:sysCode, plName:plName, plProvinceId:plProvinceId, plCityId:plCityId }; var easyUIOps = { method: params.type, url: dataUrl.util.queryParkingLotByPark(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType:'json', success: function(res){ if(res.code == '8888'){ params.success(res.data); console.log(res.data); }else{ } } }; sysAjax(easyUIOps); } /** * 用户table AJAX请求 * @param {Object} params */ function personTableLoadRequest(params){ //获取选中的树节点 var nodes = Tree.getSelectedNodes(); var id = ''; var orgId = ''; if(nodes.length>0){ var nodeId = nodes[0].id; //if(nodes[0].isParent){//如果是父节点则按照父节点查询 orgId = nodeId; //}else{ //id = nodeId; //params.success({"total":0,"rows":[]}) //return false; //} }else{//没有选中,默认查询第一级节点 orgId = 0; } //设置请求参数 var pageNum = (params.data.offset/params.data.limit)+1; var req= { baseRequest:{ pageNum:pageNum, pageSize:params.data.limit }, sysCode:sysCode, id:orgId }; var easyUIOps = { method: params.type, url: dataUrl.util.queryOpByorgIdForPage(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType:'json', success: function(res){ if(res.code == '8888'){ params.success(res.data); console.log(res.data); }else{ } } }; sysAjax(easyUIOps); } //全局变量 var orgId=0; var sysName=""; function init(){ fun.getSysCodeAndSysName(); //初始化树 Tree.initTree(); //close弹窗 $('.close_alert').on('click',function () { fun.close_alert(); }); //cancel弹窗 $('#alert_cancel').on('click',function () { fun.close_alert(); }); //alert_ok弹窗 $('#alert_ok').on('click',function () { fun.alert_ok(); }); //初始化table fun.initTable(); //初始化员工table fun.initPersonTable(); //删除角色 documentBindFunc.on('click','[delete]',function(){ fun.deleteOrg(this); }); //修改角色 documentBindFunc.on('click','[modify]',function(){ fun.modifyOrg(this); }); //添加组织 documentBindFunc.on('click','#frameOrddevreload',function(){ $('#orgName').val(''); fun.addOrg(); }); //下拉框变化 documentBindFunc.on('change','#province',function(){ //获取省下拉框的值 var orgLeveloptions = $("#province option:selected"); }); //关闭二级弹窗 /*documentBindFunc.on('click','.user_close_alert,.cancelPark',function(){ fun.cancelPark(); });*/ //tab切换 /*$('#operateList').on('click',function () { $('#user_operate_list #operPerson').removeClass('liactive'); $('.person-cont').css('display','none'); $('#user_operate_list #operateList').addClass('liactive'); $('.org-cont').css('display','block'); $('.user_operate_s').css('display','block'); });*/ $('#operPerson').on('click',function () { //判断是否有节点 var nodes = Tree.getNodes(); if(nodes.length==0){ //无根节点,则添加为根节点 //需求 /*$('#parentOrgId').val(0); $('#parentOrg').hide();*/ }else { $('#parentOrg').show(); //父节点赋值 var selectedNodes = Tree.getSelectedNodes(); if (selectedNodes.length == 0) { var pop = new Pop({ header: '信息提示', content: $('请先在左侧选中组织!'), buttons: [{ type: 'popOk', text: '确定', callback: function () { pop.close(); } }] }); return false; } } $('#user_operate_list #operateList').removeClass('liactive'); $('.org-cont').css('display','none'); $('.user_operate_s').css('display','none'); $('#user_operate_list #operPerson').addClass('liactive'); $('.person-cont').css('display','block'); fun.initPersonTable(); }); var TTDiy_select = new diy_select({ //参数可选 TTContainer: 'diy_select', //控件的class TTDiy_select_input: 'diy_select_input', //用于提交表单的class TTDiy_select_txt: 'diy_select_txt', //diy_select用于显示当前选中内容的容器class TTDiy_select_btn: 'diy_select_btn', //diy_select的打开按钮 TTDiv_select_list: 'diy_select_list', //要显示的下拉框内容列表class TTFcous: 'focus' //得到焦点时的class }); //如同时使用多个时请保持各class一致. } //初始执行 init();