//部门id
var dpids = top.com.sinosoft.lz.system.user.LoginInfo.getDeptids();
// 取得用户真实姓名
var realname = top.com.sinosoft.lz.system.user.LoginInfo.getReal_name();
// 获取用户的Id
var userId = top.com.sinosoft.lz.system.user.LoginInfo.getUser_id();
// 部门名称
var deptName = top.com.sinosoft.lz.system.user.LoginInfo.getDeptnames();
// 父部门id
var parentId = top.com.sinosoft.lz.system.user.LoginInfo.getParent_ids();
// 部门Id
var sup_userInfo_deptId = top.com.sinosoft.lz.system.user.LoginInfo
.getDeptids();
var sup_roleIds = top.com.sinosoft.lz.system.user.LoginInfo.getRoleids();
//判定是否为超级管理员
var isSuperAdmin = false;
//alert(sup_roleIds);
var setting, setting2;
var sup_classId = "";
var sup_org_name = "";
var sup_fd_objectId = "";
var inParentNote = "";
var sup_org_isVirtual = "";
var inTreeNode = "";
var sup_orgType ="";
function ArrContains(arr, obj) {
var i = arr.length;
while (i--) {
if (arr[i] == obj) {
return true;
}
}
return false;
}
// 初始化函数
function initComplete() {
//处理登录用户权限
//var role = sup_roleIds.spilt(",");
isSuperAdmin = sup_roleIds.indexOf("R002105430200")>-1;
//isSuperAdmin = sup_roleIds=="R002105430200";
// 内部组织机构setting信息
setting = {
view : {
// 鼠标移入的事件
addHoverDom : addHoverDom,
// 鼠标移走的事件
removeHoverDom : removeHoverDom,
selectedMulti : false
},
async : {
enable : true,
dataType : 'JSON',
dataName : 'treeNodes',
url : $.pathname()
+ "/ws/orgInDeptService/OrgInDeptService/getDeptRootById",
autoParam : [ "id", "name" ],
otherParam : [ "deptId", sup_userInfo_deptId ]
},
edit : {
enable : true,
// renameTitle : "修改内部机构",
removeTitle : "删除内部机构",
// 显示删除按钮
showRemoveBtn : setRemoveBtn,
// 显示编辑按钮
showRenameBtn : setRenameBtn
},
data : {
simpleData : {
enable : true
}
},
callback : {
onClick : nodeClick,
// 不允许拖拽--内部机构
beforeDrag : beforeDrag,
// 修改前确认--内部机构
// beforeEditName: beforeEditName,
// 修改完时的处理--内部机构
// beforeRename: beforeRename,
// 修改成功后处理--内部机构
// onRename: onRename,
// 删除前确认--内部机构
beforeRemove : beforeRemove
}
};
// 外部组织机构树的setting信息
setting2 = {
view : {
addHoverDom : addHoverDom2,
removeHoverDom : removeHoverDom2,
selectedMulti : false
},
edit : {
enable : true,
// renameTitle:"修改外部机构",
removeTitle : "删除外部机构",
// 显示编辑按钮
showRenameBtn : setRenameBtn2,
// 显示删除按钮
showRemoveBtn : setRemoveBtn2
},
callback : {
// 不允许拖拽--外部机构
beforeDrag : beforeDrag,
// 修改前确认--外部机构
// beforeEditName: beforeEditName2,
// 修改完时的处理--外部机构
// beforeRename: beforeRename2,
// 修改成功后处理--外部机构
// onRename: onRename2,
// 删除前确认--外部机构
beforeRemove : beforeRemove2,
onClick : out_nodeClick
}
};
initTree();
initLayout();
initTree2(sup_userInfo_deptId);
}
// 鼠标移入树节点的操作--内部组织机构
function addHoverDom(treeId, treeNode) {
if (treeNode.editNameFlag || $("#addInBtn_" + treeNode.id).length > 0
|| $("#viewInBtn_" + treeNode.id).length > 0
|| $("#editInBtn_" + treeNode.id).length > 0) {
return;
}
;
var sObj = $("#" + treeNode.tId + "_span");
// 新增按钮
var addStr = "";
// 查看详情按钮
var detailStr = "";
// 修改按钮
var editInStr = "";
if(isSuperAdmin){
sObj.append(addStr);
};
if(isSuperAdmin){
if (treeNode.isV == "1") {
sObj.append(editInStr);
};
};
sObj.append(detailStr);
var addBtn = $("#addInBtn_" + treeNode.id);
var editBtn = $("#editInBtn_" + treeNode.id);
var viewBtn = $("#viewInBtn_" + treeNode.id);
// 绑定新增按钮
if (addBtn) {
addBtn.bind("click", function() {
addVirtualOrg(treeNode);
});
}
// 绑定查看详情按钮
if (viewBtn) {
// 点击查看详情界面
viewVirtualOrg(treeNode);
}
// 绑定修改按钮
if (editBtn) {
editBtn.bind("click", function() {
top.Dialog.confirm("确认修改" + treeNode.name + "信息吗?", function() {
editInOrg(treeNode);
});
});
}
};
// 查看虚拟机构详情--内部虚拟机构
function viewVirtualOrg(treeNode) {
var viewBtn = $("#viewInBtn_" + treeNode.id);
viewBtn.bind("click", function() {
// alert("调用查看详情界面");
// 判定iframe选项卡的情况-->跳转界面
// 判定当前的iframe选项卡的序号如果为人员切换tab,如果为组织机构不切换tab
var selectedTabIndex = getTabValue();
if (selectedTabIndex == 0) {
changeUrl("in-org-info.html" );
} else if (selectedTabIndex == 1) {
changeIdxHandler();
changeUrl("in-org-info.html");
}
});
}
// 修改内部机构
function editInOrg(treeNode) {
var selectedTabIndex = getTabValue();
if (selectedTabIndex == 0) {
// alert("跳转到modify+?");
changeUrl("in-org-modify.html?type=edit?fd_id=" + treeNode.id);
} else if (selectedTabIndex == 1) {
changeIdxHandler();
// alert("跳转到modify+?");
changeUrl("in-org-modify.html?type=edit?fd_id=" + treeNode.id);
}
}
// 新增虚拟机构按钮事件--内部机构
function addVirtualOrg(treeNode) {
top.Dialog.confirm("确认在" + treeNode.name + "下增加机构吗?", function() {
var selectedTabIndex = getTabValue();
if (selectedTabIndex == 0) {
// 跳转到新增外部组织机构界面
changeUrl("in-org-modify.html?type=add?fd_id=" + treeNode.id);
} else if (selectedTabIndex == 1) {
// 切换选项卡
changeIdxHandler();
// 跳转到新增外部组织机构界面
changeUrl("in-org-modify.html?type=add?fd_id=" + treeNode.id);
}
});
}
// 鼠标移入节点时,调用的事件--外部机构
function addHoverDom2(treeId, treeNode) {
if (treeNode.editNameFlag || $("#addoutBtn_" + treeNode.id).length > 0
|| $("#viewOutBtn_" + treeNode.id).length > 0
|| $("#editOutBtn_" + treeNode.id).length > 0) {
return;
}
var sObj = $("#" + treeNode.tId + "_span");
// 查看详情按钮
var detailStr = "";
// 给根子部门添加查看详情按钮
if (!treeNode.isParent || treeNode.id != sup_userInfo_deptId) {
sObj.append(detailStr);
}
// 新增按钮
var addStr = "";
// 给根部门添加新增按钮
if(isSuperAdmin){
if (treeNode.isParent || treeNode.id == sup_userInfo_deptId) {
sObj.append(addStr);
}
};
// 修改按钮
var editStr = "";
// 给部门添加修改按钮
if(isSuperAdmin){
if (!treeNode.isParent || treeNode.id != sup_userInfo_deptId) {
sObj.append(editStr);
}
};
var addBtn = $("#addoutBtn_" + treeNode.id);
var viewBtn = $("#viewOutBtn_" + treeNode.id);
var editBtn = $("#editOutBtn_" + treeNode.id);
// 绑定新增事件
if (addBtn) {
addBtn.bind("click", function() {
top.Dialog.confirm("确认在" + treeNode.name + "下增加机构吗?", function() {
addOutOrg(treeNode);
});
});
// 绑定修改事件
if (editBtn) {
editBtn.bind("click", function() {
top.Dialog.confirm("确认修改" + treeNode.name + "信息吗?", function() {
editOutOrg(treeNode);
});
});
}
if (viewBtn) {
// 点击查看详情界面
viewOutOrg(treeNode);
}
};
}
// 鼠标移出节点事件--内部机构
function removeHoverDom(treeId, treeNode) {
$("#addInBtn_" + treeNode.id).unbind().remove();
$("#viewInBtn_" + treeNode.id).unbind().remove();
$("#editInBtn_" + treeNode.id).unbind().remove();
};
// 鼠标移出节点事件--外部机构
function removeHoverDom2(treeId, treeNode) {
$("#addoutBtn_" + treeNode.id).unbind().remove();
$("#viewOutBtn_" + treeNode.id).unbind().remove();
$("#editOutBtn_" + treeNode.id).unbind().remove();
// $("#detailoutBtn_" + treeNode.id).unbind().remove();
};
// 单击组织机构树事件--内部机构树
function nodeClick(event, treeId, treeNode) {
/*sup_classId = treeNode.classId;
sup_org_name = treeNode.name;
sup_fd_objectId = treeNode.objectId;
inParentNote = treeNode.getParentNode() == null ? "" : treeNode
.getParentNode();
inTreeNode = treeNode;
sup_org_isVirtual = treeNode.isV;*/
// 封装的切换界面 inChangeIframeByClick()
inChangeIframeByClick(treeNode);
}
// 单击树事件-外部机构
function out_nodeClick(event, treeId, treeNode) {
if(treeNode.id!=sup_userInfo_deptId){
/*
sup_classId = treeNode.classId;
sup_org_name = treeNode.name;
sup_fd_objectId = treeNode.objectId;
sup_orgType= treeNode.orgType;
*/
// 封装的切换界面 outChangeIframeByClick()
outChangeIframeByClick(treeNode);
}
}
// 封装点击内部机构切换iframe--内部机构
function inChangeIframeByClick(treeNode) {
sup_classId = treeNode.classId;
sup_org_name = treeNode.name;
sup_fd_objectId = treeNode.objectId;
inParentNote = treeNode.getParentNode() == null ? "" : treeNode
.getParentNode();
inTreeNode = treeNode;
sup_org_isVirtual = treeNode.isV;
/*
* 先判定左边的iframe框是哪个部分 人员|机构 然后跳转界面
*/
if (getTabValue() == 0) {
// 在机构中,系查看机构信息
// 如果是外部机构那么先跳转到内部机构
var isInOrgInfo = false;
var isOutOrgInfo = false;
var iUrl = document.getElementsByName("frmrightChild")[0]
.getAttribute("src");
// 判定在内部和外部
if (iUrl == "in-org-info.html") {
// alert("判定在内部人员列表");
isInOrgInfo = true;
} else if (iUrl == "out-org-info.html") {
// alert("判定在外部人员列表");
isOutOrgInfo = true;
}
if (isOutOrgInfo) {
changeUrl("in-org-info.html");
} else if (isInOrgInfo) {
reload_inOrgInfo(treeNode);
}
//changeUrl("in-org-info.html?" + treeNode.id);
}
if (getTabValue() == 1) {
// 在人员中,系查看人员信息
// 如果是外部机构那么先跳转到内部机构
var isInlinklist = false;
var isOutlinklist = false;
var iUrl = document.getElementsByName("frmrightChild")[0]
.getAttribute("src");
// 判定在内部和外部
if (iUrl == "inlinklist.html") {
// alert("判定在内部人员列表");
isInlinklist = true;
} else if (iUrl == "outlinklist.html") {
// alert("判定在外部人员列表");
isOutlinklist = true;
}
if (isOutlinklist) {
changeUrl("inlinklist.html");
} else if (isInlinklist) {
reload_inlinklist(treeNode);
}
}
}
// 封装点击外部机构树的右边界面切换--外部机构
function outChangeIframeByClick(treeNode) {
sup_classId = treeNode.classId;
sup_org_name = treeNode.name;
sup_fd_objectId = treeNode.objectId;
sup_orgType= treeNode.orgType;
if (getTabValue() == 0) {
// 在机构中,系查看机构信息 调用reload_outOrgInfo(treeNode);
// 如果是内部机构那么先跳转到外部机构
var isInOrgInfo = false;
var isOutOrgInfo = false;
var iUrl = document.getElementsByName("frmrightChild")[0]
.getAttribute("src");
// 判定在内部和外部
if (iUrl == "in-org-info.html") {
// alert("判定在内部人员列表");
isInOrgInfo = true;
} else if (iUrl == "out-org-info.html") {
// alert("判定在外部人员列表");
isOutOrgInfo = true;
}
if (isInOrgInfo) {
changeUrl("out-org-info.html");
} else if (isOutOrgInfo) {
reload_outOrgInfo(treeNode);
}
}
if (getTabValue() == 1) {
// 在人员中,系查看人员信息
// 如果是内部机构那么先跳转到外部机构
var isInlinklist = false;
var isOutlinklist = false;
var iUrl = document.getElementsByName("frmrightChild")[0]
.getAttribute("src");
// 判定在内部和外部
if (iUrl == "inlinklist.html") {
// alert("判定在内部人员列表");
isInlinklist = true;
} else if (iUrl == "outlinklist.html") {
// alert("判定在外部人员列表");
isOutlinklist = true;
}
if (isInlinklist) {
changeUrl("outlinklist.html");
} else if (isOutlinklist) {
reload_outlinklist(treeNode);
}
}
}
// 显示节点的删除图标--内部机构
// 设置删除图标的显示状态--内部机构
function setRemoveBtn(treeId, treeNode) {
var show = false;
if(isSuperAdmin){
show = treeNode.isV == "1";
}else{
show =false;
}
return show;
}
// 设置编辑图标的显示状态--内部机构
function setRenameBtn(treeId, treeNode) {
// return treeNode.isV=="1";
return false;
}
// 设置删除图标的显示状态--外部机构
function setRemoveBtn2(treeId, treeNode) {
var show = false;
if(isSuperAdmin){
show = !treeNode.isParent || treeNode.id != sup_userInfo_deptId;
}else{
show =false;
}
return show;
}
// 设置编辑图标的显示状态--外部机构
function setRenameBtn2(treeId, treeNode) {
// return !treeNode.isParent||treeNode.id!=sup_userInfo_deptId;
return false;
}
// 重新加载机构信息--外部机构
function reload_outOrgInfo(treeNode) {
var frame = document.getElementsByName("frmrightChild")[0];
//frame.src = "out-orginfo.html";
frame.contentWindow.refreshOutOrgInfo(treeNode.id);
}
// 重新加载机构信息--内部机构
function reload_inOrgInfo(treeNode) {
var frame = document.getElementsByName("frmrightChild")[0];
//frame.src = "in-orginfo.html";
frame.contentWindow.refreshInOrgInfo(treeNode.id);
}
// 根据单击的机构重新加载表格数据-外部机构
function reload_outlinklist(treeNode) {
var frame = document.getElementsByName("frmrightChild")[0];
var params = "IS_DEL=0 AND ORG_DEPT_ID='" + treeNode.objectId + "'";
frame.contentWindow.reloadByOrgName(params, treeNode.name);
}
// 根据单击的机构重新加载人员表格数据-内部机构
function reload_inlinklist(treeNode) {
/**
* 先判定是虚拟机构还是实体机构 虚拟机构的话 params条件是以virtual_org_id 为条件 实体机构的则以 parent_org_id 为搜索条件
*/
var sqlLoadParams;
if(treeNode.isV=="1"){
sqlLoadParams = "IS_DEL=0 AND VIRTUAL_ORG_ID ='"+ treeNode.id+"'";
}else{
sqlLoadParams = "IS_DEL=0 AND PARENT_ORG_ID ='"+ treeNode.id+"'";
}
var frame = document.getElementsByName("frmrightChild")[0];
//sqlLoadParams = "IS_DEL=0 AND PARENT_DEPT_ID ='" + treeNode.id + "'";
frame.contentWindow.reloadByOrgDeptId(sqlLoadParams, treeNode.name, treeNode.id,treeNode.isV);
}
// 禁止拖拽
function beforeDrag(treeId, treeNodes) {
return false;
}
// 外部控制索引
function changeIdxHandler() {
var idx = getTabValue() + 1;
if (idx > 1) {
idx = 0;
}
$("#basicTabModern").basicTabModernSetIdx(idx);
}
// 获得选中索引
function getTabValue() {
return $("#basicTabModern").attr("selectedIdx");
}
// 封装切换iframe的地址方法
function changeUrl(url) {
var changedUrl = document.getElementsByName("frmrightChild")[0];
changedUrl.src = url;
return changedUrl;
}
// 移除部门判定ajax--内部机构
function beforeRemove(treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj("myTree");
// 选中该节点
zTree.selectNode(treeNode);
top.Dialog
.confirm(
"确认删除" + treeNode.name + "吗?",
function() {
// 此处进行ajax后台数据处理
var params = {
"deptId" : treeNode.id,
};
$
.ajax({
url : $.pathname()
+ "/ws/orgInDeptService/OrgInDeptService/shamDeleteOrgInDept",
type : "post",
data : params,
dataType : "json",
success : function(data) {
if (data.msg == "success") {
top.Dialog.alert("删除成功");
zTree.removeNode(treeNode);
// 删除成功后去掉右边的界面显示情况
/*
* 1先选中该节点的父节点
* 2再处理右边的界面,如果是机构就显示父节点结构信息,如果是人员就显示父节点的人员信息
*/
zTree.selectNode(zTree
.getNodesByParam("id",
treeNode.parentId,
null)[0]);
inChangeIframeByClick(treeNode
.getParentNode());
}
if (data.msg == "fail") {
top.Dialog
.alert("删除失败,"+treeNode.name+"下存在子机构或人员");
}
},
error : function() {
top.Dialog.alert("后台处理出错");
}
});
});
return false;
}
// 查看外部机构详情--外部机构
function viewOutOrg(treeNode) {
var viewBtn = $("#viewOutBtn_" + treeNode.id);
viewBtn.bind("click", function() {
// 判定iframe选项卡的情况-->跳转界面
// 判定当前的iframe选项卡的序号如果为人员切换tab,如果为组织机构不切换tab
var selectedTabIndex = getTabValue();
if (selectedTabIndex == 0) {
changeUrl("out-org-info.html");
} else if (selectedTabIndex == 1) {
changeIdxHandler();
changeUrl("out-org-info.html");
}
});
}
// 新增外部机构
function addOutOrg(treeNode) {
/*
* //先新增一个节点 var zTree = $.fn.zTree.getZTreeObj("myTree2"); var
* newNode={id:"1213", parentId:treeNode.id, name:"新增外部机构",
* objectId:"1213",classId:"210",
* icon:"/nwyj/scripts/qui/libs/icons/home.gif"};
* zTree.addNodes(treeNode,newNode);
*/
// 判定当前的iframe选项卡的序号如果为人员切换tab,如果为组织机构不切换tab
var selectedTabIndex = getTabValue();
if (selectedTabIndex == 0) {
// 跳转到新增外部组织机构界面
// alert("跳转到modify");
changeUrl("out-org-modify.html");
} else if (selectedTabIndex == 1) {
// 切换选项卡
changeIdxHandler();
// alert("跳转到modify");
// 跳转到新增外部组织机构界面
changeUrl("out-org-modify.html");
}
}
// 修改外部机构
function editOutOrg(treeNode) {
// 判定当前的iframe选项卡的序号如果为人员切换tab,如果为组织机构不切换tab
var selectedTabIndex = getTabValue();
if (selectedTabIndex == 0) {
// alert("跳转到modify+?");
changeUrl("out-org-modify.html?" + treeNode.id);
// 跳转到修改组织机构界面
} else if (selectedTabIndex == 1) {
changeIdxHandler();
// alert("跳转到modify+?");
changeUrl("out-org-modify.html?" + treeNode.id);
}
}
// 确认是否删除+删除处理--外部机构
function beforeRemove2(treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj("myTree2");
// 选中该节点
zTree.selectNode(treeNode);
top.Dialog.confirm("确认删除" + treeNode.name + "吗?", function() {
// 此处进行ajax后台数据处理
var params = {
"deptId" : treeNode.id,
};
$.ajax({
url : $.pathname()
+ "/ws/orgOutDeptService/OrgOutDeptService/deleteOutDept/",
type : "post",
data : params,
dataType : "json",
success : function(data) {
if (data.msg == "success") {
top.Dialog.alert("删除成功");
zTree.removeNode(treeNode);
// 删除成功后去掉右边的界面显示情况
/*
* 1先选中该节点的父节点 2再处理右边的界面,如果是机构就显示父节点结构信息,如果是人员就显示父节点的人员信息
*/
zTree.selectNode(zTree.getNodesByParam("id",
treeNode.parentId, null)[0]);
outChangeIframeByClick(treeNode.getParentNode());
}
if (data.msg == "fail") {
top.Dialog.alert("删除失败"+treeNode.name+"机构下存在联系人");
}
},
error : function() {
top.Dialog.alert("后台处理出错");
}
});
});
return false;
}
// 刷新外部机构组织树
function outOrgNodeRefresh(treeNode) {
var zTree = $.fn.zTree.getZTreeObj("myTree2");
//var node = zTree.getNodesByParam("id", treeNode.parentId, null);
//选定更新的外部机构
zTree.selectNode(zTree.getNodesByParam("id", treeNode.id, null)[0]);
var nodes = zTree.getSelectedNodes();
if (nodes.length > 0) {
nodes[0].name=treeNode.name;
nodes[0].classId=treeNode.classId;
nodes[0].orgType=treeNode.orgType;
nodes[0].objectId=treeNode.objectId;
zTree.updateNode(nodes[0]);
/* treeObj.reAsyncChildNodes(nodes[0], "refresh"); */
}
}
// 新增外部机构节点
function outOrgNodeAdd(treeNode) {
var zTree = $.fn.zTree.getZTreeObj("myTree2");
var node = zTree.getNodesByParam("id", treeNode.parentId, null);
zTree.addNodes(node[0], treeNode);
// 选定新增的节点
zTree.selectNode(zTree.getNodesByParam("id", treeNode.id, null)[0]);
}
// 新增内部机构节点
function inOrgNodeAdd(treeNode) {
var zTree = $.fn.zTree.getZTreeObj("myTree");
var node = zTree.getNodesByParam("id", treeNode.parentId, null);
zTree.addNodes(node[0], treeNode);
// 选定新增的节点
zTree.selectNode(zTree.getNodesByParam("id", treeNode.id, null)[0]);
}
// 强行异步刷新树的节点--内部机构
function refreshMytreeNode(treeNode) {
var treeObj = $.fn.zTree.getZTreeObj("myTree");
//选定更新的内部机构
treeObj.selectNode(treeObj.getNodesByParam("id", treeNode.id, null)[0]);
var nodes = treeObj.getSelectedNodes();
if (nodes.length > 0) {
nodes[0].isV = treeNode.isV;
nodes[0].name = treeNode.name;
nodes[0].classId=treeNode.classId;
nodes[0].objectId=treeNode.objectId;
nodes[0].icons=treeNode.objectId;
treeObj.updateNode(nodes[0]);
/* treeObj.reAsyncChildNodes(nodes[0], "refresh"); */
}
}
function initTree() {
$.fn.zTree.init($("#myTree"), setting);
}
function initTree2() {
var url = $.pathname()
+ "/ws/orgOutDeptService/OrgOutDeptService/getOutDeptList/";
var params = {
"id" : sup_userInfo_deptId
};
/*
* $.post(url,{"params":id},function(data){ $.fn.zTree.init($("#myTree2"),
* setting, data.treeNodes); },"json");
*/
$.ajax({
url : url,
dataType : "json",
data : params,
type : "post",
success : function(data) {
$.fn.zTree.init($("#myTree2"), setting2, data.treeNodes);
},
error : function() {
top.Dialog.alert("访问服务器失败,请检查网络");
}
});
}
// 布局组件初始化
function initLayout() {
var layout = $("#layout1").layout({
leftWidth : 320,
centerWidth : 760,
height : 630
});
layout.setRightCollapse(true);
};
// 重新设布局高度
function customHeightSet(contentHeight) {
$(".layout_content").height(contentHeight - 30);
}