You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
227 lines
7.7 KiB
Plaintext
227 lines
7.7 KiB
Plaintext
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<title>选择部门</title>
|
|
<link href="../../../Comm/Style/CommStyle.css" rel="stylesheet" type="text/css" />
|
|
<link href="../../../../DataUser/Style/ccbpm.css" rel="stylesheet" type="text/css" />
|
|
<link href="../../../Scripts/easyUI/themes/default/easyui.css" rel="stylesheet" type="text/css" />
|
|
<link href="../../../Scripts/easyUI/themes/icon.css" rel="stylesheet" type="text/css" />
|
|
<script src="../../../Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
|
|
<script src="../../../Scripts/easyUI/jquery.easyui.min.js" type="text/javascript"></script>
|
|
<script src="../../../Scripts/QueryString.js" type="text/javascript"></script>
|
|
<script type="text/javascript" src="../../../Scripts/config.js"></script>
|
|
<script type="text/javascript" src="../../../Comm/Gener.js"></script>
|
|
<script src="../../../Scripts/EasyUIUtility.js" type="text/javascript"></script>
|
|
<base target="_self" />
|
|
<script type="text/javascript">
|
|
|
|
//页面启动函数.
|
|
$(function () {
|
|
$("#Msg").html("<img src=../../../Img/loading.gif /> 正在加载,请稍后......");
|
|
//求出来已经设置的延续子流程.
|
|
var nodeID = GetQueryString("FK_Node");
|
|
var orgNo = GetQueryString("OrgNo");
|
|
|
|
//global
|
|
var global = window;
|
|
global.selectedNodes = [];
|
|
global.selectedRows = [];
|
|
|
|
//跟节点编号.
|
|
var rootNo = "0";
|
|
|
|
var webUser = new WebUser();
|
|
if (orgNo == null)
|
|
orgNo = webUser.OrgNo;
|
|
|
|
rootNo = orgNo;
|
|
|
|
//多对多实体.
|
|
var nodeDepts = new Entities("BP.WF.Template.NodeDepts");
|
|
nodeDepts.Retrieve("FK_Node", nodeID);
|
|
|
|
var nodeDept = new Entity("BP.WF.Template.NodeDept");
|
|
|
|
$.each(nodeDepts, function (i, o) {
|
|
|
|
var enDot = new Entity(nodeDept, o);
|
|
|
|
var no = enDot.FK_Dept;
|
|
var name = enDot.FK_DeptText;
|
|
global.selectedNodes.push({
|
|
"No": no,
|
|
"Name": name
|
|
});
|
|
});
|
|
|
|
loadTree(rootNo, global, orgNo, nodeID);
|
|
|
|
$("#Msg").html("");
|
|
|
|
|
|
});
|
|
|
|
function loadTree(rootNo, global, orgNo, nodeID) {
|
|
|
|
|
|
var ens = new Entities("BP.Port.Depts");
|
|
ens.Retrieve("OrgNo", orgNo);
|
|
var jsonTree = createJsonToTree(ens, rootNo);
|
|
|
|
//查询出来数据.
|
|
$('#tree').tree({
|
|
data: jsonTree, // 数据源
|
|
checkbox: true, //是否显示复选框
|
|
highlightSelected: false, //是否高亮选中
|
|
animate: true,
|
|
onSelected: function (node) {
|
|
|
|
var tree = $('#tree');
|
|
if (node.state.open) {
|
|
//处于展开状态则折叠
|
|
tree.tree('collapseNode', node.nodeId);
|
|
} else {
|
|
//展开
|
|
tree.tree('expandNode', node.nodeId);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
//树形结构转换
|
|
var treeJson = [];
|
|
function createJsonToTree(jsonArray, parentNo) {
|
|
if (parentNo != "0") {
|
|
//增加当前用户所在的部门
|
|
var en = new Entity("BP.Port.Dept", parentNo);
|
|
var checked = false;
|
|
var selectedNodes = window.selectedNodes;
|
|
var sel = $.grep(selectedNodes, function (obj) {
|
|
return en.No == obj.No;
|
|
});
|
|
|
|
if (sel.length > 0) {
|
|
checked = true;
|
|
}
|
|
treeJson.push({
|
|
"id": en.No,
|
|
"text": en.Name,
|
|
"children": creatTreeChildern(jsonArray, en.No),
|
|
"checked": checked,
|
|
"state": 'closed'
|
|
});
|
|
} else {
|
|
for (var i = 0; i < jsonArray.length; i++) {
|
|
var data = jsonArray[i];
|
|
if (data.ParentNo == parentNo) {
|
|
var checked = false;
|
|
var selectedNodes = window.selectedNodes;
|
|
var sel = $.grep(selectedNodes, function (obj) {
|
|
return data.No == obj.No;
|
|
});
|
|
|
|
if (sel.length > 0) {
|
|
checked = true;
|
|
}
|
|
treeJson.push({
|
|
"id": data.No,
|
|
"text": data.Name,
|
|
"children": creatTreeChildern(jsonArray, data.No),
|
|
"checked": checked,
|
|
"state": 'closed'
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
function _(treeArray) {
|
|
$.each(treeArray, function (i, o) {
|
|
if ($.isArray(o.nodes)) {
|
|
if (o.nodes.length == 0) {
|
|
o.nodes = undefined;
|
|
} else {
|
|
_(o.nodes);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
_(treeJson);
|
|
return treeJson;
|
|
}
|
|
|
|
function creatTreeChildern(jsonArray, parentNo) {
|
|
var childList = []
|
|
for (var i = 0; i < jsonArray.length; i++) {
|
|
var data = jsonArray[i];
|
|
if (data.ParentNo == parentNo) {
|
|
var checked = false;
|
|
var selectedNodes = window.selectedNodes;
|
|
var sel = $.grep(selectedNodes, function (obj) {
|
|
return data.No == obj.No;
|
|
});
|
|
|
|
if (sel.length > 0) {
|
|
checked = true;
|
|
}
|
|
childList.push({
|
|
"id": data.No,
|
|
"text": data.Name,
|
|
"children": creatTreeChildern(jsonArray, data.No),
|
|
"checked": checked,
|
|
"state": 'closed'
|
|
});
|
|
}
|
|
}
|
|
|
|
return childList;
|
|
}
|
|
|
|
|
|
//保存.
|
|
function Save() {
|
|
|
|
var nodeID = GetQueryString("FK_Node");
|
|
var orgNo = GetQueryString("OrgNo");
|
|
|
|
//删除,该组织下已经保存的岗位.
|
|
//var sql = "DELETE FROM WF_NodeDept WHERE FK_Node=" + nodeID + " AND FK_Dept IN (SELECT No FROM Port_Dept WHERE OrgNo='" + orgNo + "')";
|
|
// DBAccess.RunSQL(sql);
|
|
var handler = new HttpHandler("BP.WF.HttpHandler.WF_Admin_AttrNode");
|
|
handler.AddPara("nodeID", nodeID);
|
|
handler.AddPara("orgNo", orgNo);
|
|
handler.DoMethodReturnString("NodeDeptGroup_Dele");
|
|
|
|
//获取复选框选中的节点
|
|
var nodes = $('#tree').tree('getChecked');
|
|
var s = '';
|
|
for (var i = 0; i < nodes.length; i++) {
|
|
var en = new Entity("BP.WF.Template.NodeDept");
|
|
en.FK_Node = nodeID;
|
|
en.FK_Dept = nodes[i].id;
|
|
en.Insert();
|
|
|
|
}
|
|
|
|
|
|
var node = new Entity("BP.WF.Template.NodeExt", nodeID);
|
|
node.DeliveryWay = 4;
|
|
node.Update();
|
|
|
|
parent.location.reload();
|
|
//self.opener.location.reload();
|
|
//window.opener.document.location.reload();
|
|
}
|
|
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<input type="button" value='保存' onclick='Save();' id='save' />
|
|
<div id="tree">
|
|
</div>
|
|
<div id="Msg">
|
|
</div>
|
|
</body>
|
|
</html>
|