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.

299 lines
12 KiB
Plaintext

11 months ago
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>选择流程</title>
<!--
1, 退回界面。
2需要 FK_Flow, FK_Node,WorkID, FID.
3, 调用方法 ReturnWork.htm?FK_Flow=001&FK_Node=103&WorkID=232&FID=23
-->
<link href="../Scripts/bootstrap/css/bootstrap.css" rel="stylesheet" />
<link href="../Scripts/bootstrap/css/components-rounded.css" rel="stylesheet" />
<link href="../Scripts/bootstrap/css/font-awesome.css" rel="stylesheet" />
<link href="../Scripts/bootstrap/css/themes/default/style.min.css" rel="stylesheet" />
<link href="../../DataUser/Style/ccbpm.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../Scripts/bootstrap/js/jquery.min.js"></script>
<script type="text/javascript" src="../Scripts/bootstrap/js/bootstrap.min.js"></script>
<script type="text/javascript" src="../Scripts/commonYangYH.js"></script>
<script src="../Scripts/QueryString.js" type="text/javascript"></script>
<script type="text/javascript" src="../Scripts/bootstrap/js/jquery.cokie.min.js"></script>
<script type="text/javascript" src="../Scripts/bootstrap/js/jstree.js"></script>
<script type="text/javascript" src="../Scripts/bootstrap/js/jsTree.ddl.js"></script>
<!-- 导入配置文件. -->
<script type="text/javascript" src="../Scripts/config.js"></script>
<script type="text/javascript" src="../Comm/Gener.js"></script>
<style type="text/css">
#TB_Doc
{
height: 132px;
width: 433px;
}
</style>
<script type="text/javascript">
$(function () {
InitTreeData();
bindTest();
});
//确定 流程选择
function SelectFlows() {
GetSelectedFlowsReturnVal();
//No 是返回到别的页面的值
if (returnVal.No == undefined || returnVal.No == '') {
alert("未选择流程");
} else {
window.parent.selectFlowsWindowClose("确定");
}
}
//取消流程选择
function Close() {
if (window.parent != null && window.parent.selectFlowsWindowClose != null) {
window.parent.selectFlowsWindowClose("取消");
}
}
var pageData = { IsSelectMore: GetQueryString('IsSelectMore') != undefined && GetQueryString('IsSelectMore') == "1" ? true : false, FK_FlowSort: GetQueryString('FK_FlowSort') || '', ParentFlowSort: '' };
var returnVal = {};
//初始化树
function InitTreeData() {
$('#OrgJSTree').css('display', 'block');
var url = '';
//初始化Tree
var plugins = [];
if (pageData.IsSelectMore == true) { //多选
plugins = [
"checkbox",
//"state",
//"conditionalselect"
];
}
//返回节点数组
var initNodeData = function (data, fk_flowsort2) {
data = cceval('(' + data + ')');
var fk_flowsort = fk_flowsort2; //pageData.FK_FlowSort;
var parentNo = undefined;
var fkDeptObj = $.grep(data.FlowSorts, function (value) {
return value.No == fk_flowsort;
});
if (fkDeptObj != undefined && fkDeptObj.length == 1) {
parentNo = fkDeptObj[0].ParentNo;
}
pageData.FK_FlowSort = parentNo;
//本节点
var instance = $('#OrgJSTree').jstree(true);
var flowSorts = $.grep(data.FlowSorts, function (value) {
return value.ParentNo == parentNo;
})
//if (instance.)
//子流程
var childFlowSorts = $.grep(data.FlowSorts, function (value) {
return value.ParentNo == fk_flowsort;
})
//流程
var flows = data.Flows;
var itemArr = [];
$.each(flowSorts, function (i, flowSort) {
var flowSortNode = {
"text": flowSort.Name,
"state" : {"opened" : true },
"id": flowSort.No,
"children": true,
"data": flowSort
};
if (flowSort.No == fk_flowsort) { //是本部门时加载子部门和流程
var children = [];
if (childFlowSorts.length > 0) {
$.each(childFlowSorts, function (i, childFlowSort) {
var childFlowSortNode = {
"text": childFlowSort.Name,
"state" : {"opened" : true },
"id": childFlowSort.No,
"children": true,
"data": childFlowSort
};
children.push(childFlowSortNode);
});
}
if (flows.length > 0) {
$.each(flows, function (i, flow) {
var flowNode = {
"text": flow.Name,
"state" : {"opened" : true },//打开文件夹的
"id": flow.No,
"children": false,
"data": flow,
"icon": "jstree-file"
};
children.push(flowNode);
});
}
flowSortNode.data.childrenData = children;
}
itemArr.push(flowSortNode);
});
if (instance == false || instance.get_node(fk_flowsort) == false) {
pageData.ParentFlowSort = parentNo;
}
else {
itemArr = itemArr[0].data.childrenData;
}
return itemArr;
};
$('#OrgJSTree').jstree({
'core': {
'data': function (node, cb) {
//初始化根节点
if (node.id == "#") {
var handler = new HttpHandler("BP.WF.HttpHandler.WF_Admin_CCBPMDesigner");
//handler.AddPara("FK_Node", GetQueryString("FK_Node"));
if (pageData.FK_FlowSort != undefined)
handler.AddPara("FK_FlowSort", pageData.FK_FlowSort);
var data = handler.DoMethodReturnString("SelectFlows_Init");
if (data.indexOf('err@') == 0) {
alert(data);
return;
}
var fk_flowsort2 = pageData.FK_FlowSort;
cb(initNodeData(data, fk_flowsort2));
}
else {
if (node.data != undefined && node.data.childrenData != undefined && node.data.childrenData.length > 0) {
var fk_flowsort2 = node.id;
cb(node.data.childrenData, fk_flowsort2);
}
else {
pageData.FK_FlowSort = node.id;
var handler = new HttpHandler("BP.WF.HttpHandler.WF_Admin_CCBPMDesigner");
//handler.AddPara("FK_Node", GetQueryString("FK_Node"));
handler.AddPara("FK_FlowSort", pageData.FK_FlowSort);
var data = handler.DoMethodReturnString("SelectFlows_Init");
if (data.indexOf('err@') == 0) {
alert(data);
return;
}
var fk_flowsort2 = node.id;
cb(initNodeData(data, fk_flowsort2));
}
}
}
},
"plugins": plugins
}).on('changed.jstree', function (node, cb) {
GetSelectedFlowsReturnVal();
})
}
//弹出树
function bindTest() {
$('#test').bind('click', function () {
if ($('#OrgJSTree').css('display') == "none") {
$('#OrgJSTree').css('display', 'block');
var instance = $('#OrgJSTree').jstree(true);
if ($('#orgTxt').val() != undefined && $('#orgTxt').val() != '') {
instance.select_node($('#orgTxt').val());
}
}
else {
$('#OrgJSTree').css('display', 'none');
}
});
$('#toPrevDept').bind('click', function () {
//判断最高级别.
var user = new WebUser();
if (pageData.ParentFlowSort == 'null' || pageData.ParentFlowSort == 'F0' || (user.CCBPMRunModel == 2 && pageData.ParentFlowSort == 'F100')) {
alert("已到第一级机构");
return;
}
if (user.CustomerNo == 'TianYe') {
if (user.FK_Dept.indexOf('18099') == 0) {
if (pageData.ParentFlowSort.indexOf('18099') != 0) {
alert('已经是最高级别了.');
return;
}
}
}
pageData.FK_FlowSort = pageData.ParentFlowSort;
$('#OrgJSTree').jstree(true).refresh();
});
}
//获取树选中的值
function GetSelectedFlowsReturnVal() {
var instance = $('#OrgJSTree').jstree(true);
var selectedIdArr = instance.get_selected();
var selectedNodes = [];
var nameArrs = [];
var noArr = [];
var nameArr = [];
$.each(selectedIdArr, function (i, selectedId) {
selectedNodes.push(instance.get_node(selectedId));
});
$.each(selectedNodes, function (i, selectedNode) {
if (selectedNodes[i].icon != true) {
nameArrs.push(selectedNode.data);
}
});
if (nameArrs.length > 0) {
for (var property in nameArrs[0]) {
returnVal[property] = [];
}
}
$.each(nameArrs, function (i, selected) {
for (var property in returnVal) {
returnVal[property].push(selected[property]);
}
});
for (var property in nameArrs[0]) {
returnVal[property] = returnVal[property].join(",");
}
}
</script>
</head>
<body>
<input type="button" onclick="Close()" value="取消" /><input type="button" value="上一级"
id="toPrevDept" />
<input type="button" onclick="SelectFlows()" value="确定" />
<div id="OrgJSTree" class="tree-demo jstree jstree-1 jstree-default">
</div>
<input type="button" onclick="Close()" value="取消" /><input type="button" onclick="SelectFlows()"
value="确定" />
</body>
</html>