/**
* 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();