var osModel = 1;
var runOnPlant = "BP";
var initData = null;
var runModelType = 0; // 0=完整版 1=简洁版.
$(function () {
//定义等待界面的位置
$(".mymaskContainer").offset({ left: ($(document).innerWidth() - 120) / 2, top: ($(document).innerHeight() - 50) / 2 });
$(".mymask").show();
var handler = new HttpHandler("BP.Cloud.HttpHandler.Admin_Portal");
var data = handler.DoMethodReturnString("Default_Init");
if (data.indexOf('err@') == 0) {
alert(data);
return;
}
if (data.indexOf('url@') == 0) {
var url = data.replace('url@', '');
window.location.href = filterXSS(url);
return;
}
/*data = JSON.parse(data);
initData = data;
var msg = data.Msg;*/
var content = null;
content = createFrame('../../DataUser/AppCoder/FlowDesignerWelcomeSimple.htm');
$('#tabs').tabs('add', {
title: '首页',
id: 'WelCome',
content: content,
iconCls: '',
closable: false
});
});
function closeTab(title) {
$('#tabs').tabs('close', title);
}
function addTab(id, title, url, iconCls, refresh) {
//此处为适应原有GPM中的编辑系统菜单页面的打开新tab,那个只传了2个参数addTab(title,url),edited by liuxc,2015-11-05
if (arguments.length < 3) {
url = title;
title = id;
id = Math.random().toString();
url = '../../GPM/' + url;
}
if ($('#tabs').tabs('exists', title)) {
$('#tabs').tabs('select', title);
var currTab = $('#tabs').tabs('getSelected').panel('options');
if (currTab.id != id) {
$('#tabs').tabs('update', {
tab: $('#tabs').tabs('getSelected'),
options: {
id: id,
content: createFrame(url)
}
});
}
//此处暂时屏掉刷新当前已经打开的页,发现如果切换非当前的已经打开的流程设计图时,会导致IE崩溃
// else {
// var iwin = $("#tabs div[id='" + id + "']").find("iframe")[0].contentWindow;
// if (iwin.location.href != url) {
// iwin.location.href = url;
// }
// else {
// iwin.location.reload(); //此处重新刷新当前页面
// }
// }
} else {
var content = createFrame(url);
$('#tabs').tabs('add', {
title: title,
id: id,
content: content,
iconCls: iconCls,
closable: true
});
}
tabClose();
}
//判断标签页是否存在
function TabFormExists() {
var currTab = $('#tabs').tabs('getSelected');
if (currTab) return true;
return false;
}
//修改标题
function ChangTabFormTitle() {
var tabText = "";
var p = $(document.getElementById("tabs")).find("li");
$.each(p, function (i, val) {
if (val.className.indexOf("tabs-selected") > -1) {
tabText = $($(val).find("span")[0]).text();
}
});
var lastChar = tabText.substring(tabText.length - 1, tabText.length);
if (lastChar != "*") {
$.each(p, function (i, val) {
if (val.className.indexOf("tabs-selected") > -1) {
tabText = $($(val).find("span")[0]).text(tabText + ' *');
}
});
}
}
//修改标题
function ChangTabFormTitleRemove() {
var tabText = "";
var p = $(parent.document.getElementById("tabs")).find("li");
$.each(p, function (i, val) {
// debugger
if (val.className.indexOf("tabs-selected") > -1) {
tabText = $($(val).find("span")[0]).text();
}
});
// debugger
var lastChar = tabText.substring(tabText.length - 1, tabText.length);
if (lastChar == "*") {
$.each(p, function (i, val) {
if (val.className.indexOf("tabs-selected") > -1) {
$($(val).find("span")[0]).text(tabText.substring(0, tabText.length - 1));
}
});
}
}
function createFrame(url) {
var s = '';
return s;
}
//tab切换事件
function OnTabChange(scope) {
var p = $(parent.document.getElementById("tabs")).find("li");
var tabText = "";
$.each(p, function (i, val) {
if (val.className == "tabs-selected") {
tabText = $($(val).find("span")[0]).text();
}
});
var lastChar = tabText.substring(tabText.length - 1, tabText.length);
if (lastChar == "*") {
var contentWidow = scope.contentWindow;
if (contentWidow && contentWidow.SaveDtlData) {
contentWidow.SaveDtlData();
}
$.each(p, function (i, val) {
if (val.className == "tabs-selected") {
$($(val).find("span")[0]).text(tabText.substring(0, tabText.length - 1));
}
});
}
}
var arrayCloseObj = new Array();
//标签关闭前事件
function EventListener_TabClose(title, index) {
var disTab = $('#tabs').tabs('getTab', index);
var curTab_Id = disTab.panel('options').id;
//curTab_Id = Number(curTab_Id);
//curTab_Id = String(curTab_Id);
var tabs = $('#tabs').tabs('tabs');
for (var i = 0, j = tabs.length; i < j; i++) {
var othTab_Id = tabs[i].panel('options').id;
var othTab_Title = tabs[i].panel('options').title;
if (othTab_Id.length > curTab_Id.length && othTab_Id.substring(0, curTab_Id.length) == curTab_Id) {
arrayCloseObj.push(othTab_Title);
}
}
}
function EventListener_TabCloseed() {
for (var k = 0; k < arrayCloseObj.length; k++) {
$('#tabs').tabs('close', arrayCloseObj[k]);
}
var tabs = $('#tabs').tabs('tabs');
if (tabs.length == 0) {
addTab("welcome", "首页", "Welcome.htm", "");
}
}
function tabClose() {
/*双击关闭TAB选项卡*/
$(".tabs-inner").dblclick(function () {
var currTab = $('#tabs').tabs('getSelected');
if (currTab) {
var currtab_title = currTab.panel('options').title;
$('#tabs').tabs('close', currtab_title);
}
})
/*为选项卡绑定右键*/
$(".tabs-inner").bind('contextmenu', function (e) {
$('#mm').menu('show', {
left: e.pageX,
top: e.pageY
});
var subtitle = "";
var currTab = $('#tabs').tabs('getSelected');
if (currTab) {
subtitle = currTab.panel('options').title;
}
$('#mm').data("currtab", subtitle);
$('#tabs').tabs('select', subtitle);
return false;
});
arrayCloseObj.length = 0;
tabCloseEven();
}
// 获取当前选中的tab
function currentSelection() {
var currentTab = $('#tabs').tabs('getSelected').panel('options');
return currentTab;
}
//绑定右键菜单事件
function tabCloseEven() {
//刷新
$('#mm-tabupdate').click(function () {
var currTab = $('#tabs').tabs('getSelected');
var url = $(currTab.panel('options').content).attr('src');
if (url != undefined) {
$('#tabs').tabs('update', {
tab: currTab,
options: {
content: createFrame(url)
}
})
}
})
//关闭当前
$('#mm-tabclose').click(function () {
var currtab_title = $('#mm').data("currtab");
$('#tabs').tabs('close', currtab_title);
})
//全部关闭
$('#mm-tabcloseall').click(function () {
$('.tabs-inner span').each(function (i, n) {
var t = $(n).text();
if (t != '首页') {
$('#tabs').tabs('close', t);
}
});
});
//关闭除当前之外的TAB
$('#mm-tabcloseother').click(function () {
var prevall = $('.tabs-selected').prevAll();
var nextall = $('.tabs-selected').nextAll();
if (prevall.length > 0) {
prevall.each(function (i, n) {
var t = $('a:eq(0) span', $(n)).text();
if (t != '首页') {
$('#tabs').tabs('close', t);
}
});
}
if (nextall.length > 0) {
nextall.each(function (i, n) {
var t = $('a:eq(0) span', $(n)).text();
if (t != '首页') {
$('#tabs').tabs('close', t);
}
});
}
return false;
});
//关闭当前右侧的TAB
$('#mm-tabcloseright').click(function () {
var nextall = $('.tabs-selected').nextAll();
if (nextall.length == 0) {
return false;
}
nextall.each(function (i, n) {
var t = $('a:eq(0) span', $(n)).text();
$('#tabs').tabs('close', t);
});
return false;
});
//关闭当前左侧的TAB
$('#mm-tabcloseleft').click(function () {
var prevall = $('.tabs-selected').prevAll();
if (prevall.length == 0) {
return false;
}
prevall.each(function (i, n) {
var t = $('a:eq(0) span', $(n)).text();
$('#tabs').tabs('close', t);
});
return false;
});
}
function LoginApp() {
//var userno = GetQueryString("UserNo");
//var en = new Entity("BP.Cloud.Emp", userno);
// var orgno = en.OrgNo;
window.location.href = "/App/Portal/Home.htm";
}
//登录,判断为天业BPM,转向到天业新版界面
function Login2App() {
if (initData.RunOnPlant == "jeesite") {
window.location.href = getContextPath() + "/a/logout";
return;
}
//表单引擎.
var url = window.location.href;
if (url.indexOf("DefaultFrm.htm") != -1) {
window.location.href = "../../WF/CCBill/Portal/Login.htm?DoType=Logout";
return;
}
//简洁版.
if (url.indexOf("DefaultSimple.htm") != -1) {
window.location.href = "../../WF/AppClassic/Login.htm?DoType=Logout";
return;
}
//完整版.
window.location.href = "../../WF/AppClassic/Login.htm?DoType=Logout";
return;
}
//退出
//function LoginOut() {
// if (confirm("提示确定需要退出?") == false)
// return;
// window.location.href = "Login.htm?DoType=Logout";
//}
function LoginOut() {
debugger;
if (confirm("提示确定需要退出?") == false)
return;
var handler = new HttpHandler("BP.Cloud.HttpHandler.Root");
var data = handler.DoMethodReturnString("Login_Exit");
if (data.indexOf("err@") == 0) {
alert(data);
return;
}
window.location.href = "/index.html";
}
var FLOW_TREE = "flowTree";
var FORM_TREE = "formTree";
var ORG_TREE = "OrgTree";
//设计器加载完毕隐藏等待页面
function DesignerLoaded() {
$(".mymask").hide();
}
//右键打开流程
function showFlow() {
var node = $('#flowTree').tree('getSelected');
if (!node || node.attributes.ISPARENT != '0') return;
OpenFlowToCanvas(node, node.id, node.text);
}
//重新装载流程图
function RefreshFlowJson() {
var node = $('#flowTree').tree('getSelected');
if (!node || node.attributes.ISPARENT != '0')
return;
//首先关闭tab
closeTab(node.text);
$(".mymask").show();
addTab(node.id, node.text, "../../WF/Admin/CCBPMDesigner/Designer.htm?FK_Flow=" + node.id + "&UserNo=" + webUser.No + "&SID=" + webUser.SID + "&Flow_V=0&RunModel=2", node.iconCls);
//延时3秒, 为什么要延迟?
setTimeout(DesignerLoaded, 1000);
}
//打开流程到流程图
function OpenFlowToCanvas(node, id, text) {
$(".mymask").show();
if (node.attributes.DTYPE == "2") {//BPMN模式
addTab(id, text, "../../WF/Admin/CCBPMDesigner/Designer.htm?FK_Flow=" + node.id + "&UserNo=" + webUser.No + "&SID=" + webUser.SID + "&Flow_V=2&RunModel=2", node.iconCls);
} else if (node.attributes.DTYPE == "1") {//CCBPM
addTab(id, text, "../../WF/Admin/CCBPMDesigner/Designer.htm?FK_Flow=" + node.id + "&UserNo=" + webUser.No + "&SID=" + webUser.SID + "&Flow_V=1&RunModel=2", node.iconCls);
} else {
//if (confirm("此流程版本为V1.0,是否执行升级为V2.0 ?")) {
var attrs = node.attributes; //这样写,是为了不将attributes里面原有的属性丢失,edited by liuxc,2015-11-05
attrs.DTYPE = "1";
attrs.Url = "../../WF/Admin/CCBPMDesigner/Designer.htm?FK_Flow=" + node.id + "&UserNo=" + webUser.No + "&SID=" + webUser.SID + "&Flow_V=1&RunModel=2";
$('#flowTree').tree('update', {
target: node.target,
attributes: attrs
});
addTab(id, text, "../../WF/Admin/CCBPMDesigner/Designer.htm?FK_Flow=" + id + "&UserNo=" + webUser.No + "&SID=" + webUser.SID + "&Flow_V=0&RunModel=2", node.iconCls);
addTab(id, text, "../../WF/Admin/CCBPMDesigner/Designer.htm?FK_Flow=" + id + "&UserNo=" + webUser.No + "&SID=" + webUser.SID + "&Flow_V=0&RunModel=2", node.iconCls);
// } else {
// addTab(id, text, "DesignerSL.htm?FK_Flow=" + id + "&UserNo=" + WebUser.No + "&SID=" + WebUser.SID + "&Flow_V=0", node.iconCls);
// }
}
//延时3秒
setTimeout(DesignerLoaded, 1000);
}
var currSortId = "";
/// 新建流程
function newFlow() {
var currSort = $('#flowTree').tree('getSelected');
var currSortId = "99";
if (currSort && currSort.attributes["ISPARENT"] != 0) { //edit by qin 2016/2/16
currSortId = $('#flowTree').tree('getSelected').id; //liuxc,20150323
}
var flowSort = currSortId.replace("F", "");
var url = "../FlowDesigner/NewFlow/Default.htm?sort=" + flowSort + "&RunModel=2&s=" +Math.random();
//如果右侧有打开该表单,则关闭
var currTab = $('#tabs').tabs('getTab', "新建流程");
if (currTab) {
$('#tabs').tabs('close', "新建流程");
}
addTab("NewFlow", "新建流程", url);
//var dgId = "iframDg";
//if (runModelType == 0)
// url = "../../WF/Admin/CCBPMDesigner/NewFlow.htm?sort=" + flowSort + "&s=" + Math.random();
//else
// url = "../../WF/Admin/CCBPMDesigner/NewFlow.htm?sort=" + flowSort + "&RunModel=1&s=" + Math.random();
//OpenEasyUiDialog(url, dgId, '新建流程', 650, 350, 'icon-new', true, function () {
// var win = document.getElementById(dgId).contentWindow;
// var newFlowInfo = win.getNewFlowInfo();
// if (newFlowInfo.FlowName == null || newFlowInfo.FlowName.length == 0
// || newFlowInfo.TreeFlowSort == null || newFlowInfo.TreeFlowSort.length == 0) {
// alert('信息填写不完整:' + newFlowInfo.FlowName + newFlowInfo.FlowSort);
// //$.messager.alert('错误', '信息填写不完整', 'error');
// return false;
// }
// var flowFrmType = newFlowInfo.FlowFrmType;
// if (newFlowInfo.RunModel == 1) {
// if (flowFrmType == 3 || flowFrmType == 4) {
// if (newFlowInfo.FrmUrl == "" || newFlowInfo.FrmUrl == null
// || newFlowInfo.FrmUrl == undefined) {
// alert('请输入url');
// return false;
// }
// }
// }
// //判断流程标记是否存在 19.10.22 by sly
// if (newFlowInfo.FlowMark != "") {
// var flows = new Entities("BP.WF.Flows");
// flows.Retrieve("FlowMark", newFlowInfo.FlowMark);
// if (flows.length > 0) {
// alert('该流程标记[' + newFlowInfo.FlowMark + ']已经存在系统中');
// return false;
// }
// }
// var html = $("#ShowMsg").html();
// $("#ShowMsg").html(html + " ccbpm 正在创建流程请稍后....");
// $("#ShowMsg").css({ "width": "320px" });
// $(".mymask").show();
// newFlowInfo.FlowSort = flowSort;
// var handler = new HttpHandler("BP.WF.HttpHandler.WF_Admin_CCBPMDesigner");
// handler.AddJson(newFlowInfo);
// var data = handler.DoMethodReturnString("Defualt_NewFlow");
// $(".mymask").hide();
// $("#ShowMsg").html(html);
// $("#ShowMsg").css({ "width": "32px" });
// if (data.indexOf('err@') == 0) {
// alert(data);
// return;
// }
// var flowNo = data;
// var flowName = newFlowInfo.FlowName;
// //在左侧流程树上增加新建的流程,并选中
// //获取新建流程所属的类别节点
// //todo:此处还有问题,类别id与流程id可能重复,重复就会出问题,解决方案有待进一步确定
// var sort = "F" + newFlowInfo.FlowSort;
// var parentNode = $('#flowTree').tree('find', sort);
// var node = $('#flowTree').tree('append', {
// parent: parentNode.target,
// data: [{
// id: flowNo,
// text: flowNo + '.' + flowName,
// attributes: { ISPARENT: '0', TTYPE: 'FLOW', DTYPE: newFlowInfo.FlowVersion, MenuId: "mFlow", Url: "../../WF/Admin/CCBPMDesigner/Designer.htm?FK_Flow=@@id&UserNo=@@WebUser.No&SID=@@WebUser.SID" },
// iconCls: 'icon-flow1',
// checked: false
// }]
// });
// var nodeData = {
// id: flowNo,
// text: flowNo + '.' + flowName,
// attributes: { ISPARENT: '0', TTYPE: 'FLOW', DTYPE: newFlowInfo.FlowVersion, MenuId: "mFlow", Url: "../../WF/Admin/CCBPMDesigner/Designer.htm?FK_Flow=@@id&UserNo=@@WebUser.No&SID=@@WebUser.SID" },
// iconCls: 'icon-flow1',
// checked: false
// };
// //展开到指定节点
// $('#flowTree').tree('expandTo', $('#flowTree').tree('find', flowNo).target);
// $('#flowTree').tree('select', $('#flowTree').tree('find', flowNo).target);
// //在右侧流程设计区域打开新建的流程
// RefreshFlowJson();
// //打开流程.
// //OpenFlowToCanvas(nodeData, flowNo, nodeData.text);
//}, null);
}
/// 新建流程类别子级
/// 是否是新建子级流程类别
function newFlowSort(isSub) {
var currSort = $('#flowTree').tree('getSelected');
if (currSort == null || undefined == currSort.attributes.ISPARENT ||
currSort.attributes.ISPARENT != '1' || (currSort.attributes.IsRoot == '1' && isSub == false))
return;
var propName = (isSub ? '子级' : '同级') + '流程类别';
var val = window.prompt(propName, '');
if (val == null || val.length == 0) {
alert('必须输入名称.');
return false;
}
//传入参数
var doWhat = isSub ? 'NewSubFlowSort' : 'NewSameLevelFlowSort';
//创建目录.
var handler = new HttpHandler("BP.WF.HttpHandler.WF_Admin_CCBPMDesigner");
handler.AddPara("No", currSort.id);
handler.AddPara("Name", val);
var data = handler.DoMethodReturnString(doWhat);
var parentNode = isSub ? currSort : $('#flowTree').tree('getParent', currSort.target);
if (parentNode) {
$('#flowTree').tree('append', {
parent: parentNode.target,
data: [{
id: data,
text: val,
attributes: { ISPARENT: '1', MenuId: "mFlowSort", TType: "FLOWTYPE" },
checked: false,
iconCls: 'icon-tree_folder',
state: 'open',
children: []
}]
});
} else {
$('#flowTree').tree('append', {
parent: null,
data: [{
id: data,
text: val,
attributes: { ISPARENT: '1', MenuId: "mFlowSort", TType: "FLOWTYPE" },
checked: false,
iconCls: 'icon-tree_folder',
state: 'open',
children: []
}]
});
}
$('#flowTree').tree('select', $('#flowTree').tree('find', data).target);
}
//修改流程类别
function editFlowSort() {
/// 编辑流程类别
var currSort = $('#flowTree').tree('getSelected');
if (currSort == null)
return;
var val = prompt("请输入类别名称", currSort.text);
if (val == null || val == '')
return;
var sortNo = currSort.id;
sortNo = sortNo.substring(1);
var en = new Entity("BP.WF.Template.FlowSort", sortNo);
en.Name = val;
en.Update();
$('#flowTree').tree('update', {
target: currSort.target,
text: val
});
}
//删除流程类别.
function deleteFlowSort() {
/// 删除流程类别
var currSort = $('#flowTree').tree('getSelected');
if (currSort == null || currSort.attributes.ISPARENT == undefined)
return;
if (window.confirm("你确定要删除名称为“" + currSort.text + "”的流程类别吗?") == false)
return;
var handler = new HttpHandler("BP.WF.HttpHandler.WF_Admin_CCBPMDesigner");
handler.AddPara("FK_FlowSort", currSort.id);
var data = handler.DoMethodReturnString("DelFlowSort");
alert(data);
if (data.indexOf("err@") == 0)
return "";
//删除节点
$('#flowTree').tree('remove', currSort.target);
}
/// 流程树节点属性
function viewFlowSort() {
var currSort = $('#flowTree').tree('getSelected');
var currSortId = "99";
if (currSort && currSort.attributes["ISPARENT"] != 0) {
currSortId = $('#flowTree').tree('getSelected').id;
}
var dgId = "iframDgView";
currSortId = currSortId.replace(/'F'/, '');
currSortId = currSortId.replace("F", "");
// var url = "viewFlowShort.htm?sort=" + currSortId + "&s=" + Math.random();
var url = "../../WF/Comm/EnOnly.htm?EnName=BP.WF.Template.FlowSort&No=" + currSortId + "&s=" + Math.random();
OpenEasyUiDialog(url, dgId, '流程树节点属性', 420, 300, 'icon-flow', false, function () {
var win = document.getElementById(dgId).contentWindow;
//var newFlowInfo = win.getNewFlowInfo();
}, null);
}
//上移流程类别
function moveUpFlowSort() {
var currSort = $('#flowTree').tree('getSelected');
if (currSort == null) return;
var handler = new HttpHandler("BP.WF.HttpHandler.WF_Admin_CCBPMDesigner");
handler.AddPara("FK_FlowSort", currSort.id);
var data = handler.DoMethodReturnString("MoveUpFlowSort");
var before = $(currSort.target).parent().prev();
if (before.length == 0 || $('#flowTree').tree('getData', before.children()[0]).attributes.TTYPE != "FLOWTYPE") {
return;
}
$(currSort.target).parent().insertBefore(before);
}
//下移流程类别
function moveDownFlowSort() {
var currSort = $('#flowTree').tree('getSelected');
if (currSort == null) return;
var handler = new HttpHandler("BP.WF.HttpHandler.WF_Admin_CCBPMDesigner");
handler.AddPara("FK_FlowSort", currSort.id);
var data = handler.DoMethodReturnString("MoveDownFlowSort");
var next = $(currSort.target).parent().next();
if (next.length == 0 || $('#flowTree').tree('getData', next.children()[0]).attributes.TTYPE != "FLOWTYPE") {
return;
}
$(currSort.target).parent().insertAfter(next);
}
function CloseAllTabs() {
$('.tabs-inner span').each(function (i, n) {
var t = $(n).text();
if (t != '首页') {
$('#tabs').tabs('close', t);
}
});
}
//导入流程
function ImpFlow() {
var currFlow = $('#flowTree').tree('getSelected');
if (currFlow == null || currFlow.attributes.ISPARENT != '0') {
alert('没有获得当前的流程编号.');
return;
}
var fk_flow = currFlow.id;
url = "../../WF/Admin/AttrFlow/Imp.htm?FK_Flow=" + fk_flow + "&Lang=CH";
addTab(fk_flow + "PO", "导入流程模版", url);
}
//导入流程
function ImpFlowBySort() {
var currFlow = $('#flowTree').tree('getSelected');
var fk_flowSort = currFlow.id;
fk_flowSort = fk_flowSort.replace("F", "");
url = "../../WF/Admin/AttrFlow/Imp.htm?FK_FlowSort=" + fk_flowSort + "&Lang=CH";
addTab(fk_flowSort + "PO", "导入流程模版", url);
}
//添加流程到流程树
function AppendFlowToFlowSortTree(FK_FlowSort, FK_Flow, FlowName) {
var flowSortNode = $('#flowTree').tree('find', "F" + FK_FlowSort);
$('#flowTree').tree('append', {
parent: flowSortNode.target,
data: [{
id: FK_Flow,
text: FK_Flow + "." + FlowName,
attributes: { ISPARENT: '0', MenuId: "mFlow", TType: "FLOW" },
checked: false,
iconCls: 'icon-flow1',
state: 'open',
children: []
}]
});
$("#flowTree").tree("expand", flowSortNode.target);
$('#flowTree').tree('select', $('#flowTree').tree('find', FK_Flow).target);
//在右侧流程设计区域打开新建的流程
RefreshFlowJson();
}
//导出流程
function ExpFlow() {
var currFlow = $('#flowTree').tree('getSelected');
if (currFlow == null || currFlow.attributes.ISPARENT != '0') {
alert('没有获得当前的流程编号.');
return;
}
var fk_flow = currFlow.id;
url = "../../WF/Admin/AttrFlow/Exp.htm?FK_Flow=" + fk_flow + "&Lang=CH";
addTab(fk_flow + "PO", "导出流程模版", url);
}
//删除流程
function DeleteFlow() {
/// 删除流程
var currFlow = $('#flowTree').tree('getSelected');
if (currFlow == null || currFlow.attributes.ISPARENT != '0')
return;
if (window.confirm("你确定要删除名称为“" + currFlow.text + "”的流程吗?") == false)
return;
//执行删除流程.
var en = new Entity("BP.WF.Flow", currFlow.id);
var data = en.DoMethodReturnString("DoDelete");
alert(data);
if (data.indexOf('err@') == 0) {
alert(data);
return;
}
//如果右侧有打开该流程,则关闭
var currFlowTab = $('#tabs').tabs('getTab', currFlow.text);
if (currFlowTab) {
//todo:此处因为有关闭前事件,直接这样用会弹出提示关闭框,怎么解决有待进一步确认
$('#tabs').tabs('close', currFlow.text);
}
$('#flowTree').tree('remove', currFlow.target);
}
//流程属性,树上的.
function FlowProperty() {
var currFlow = $('#flowTree').tree('getSelected');
if (currFlow == null || currFlow.attributes.ISPARENT != '0')
return;
var userNo = GetQueryString("UserNo");
var fk_flow = currFlow.id;
url = "../../WF/Comm/En.htm?DoType=En&EnName=BP.WF.Template.FlowExt&PKVal=" + fk_flow + "&Lang=CH&UserNo=" + WebUser.No;
addTab(currFlow + "PO", "流程属性" + fk_flow, url);
//WinOpen(url);
}
//上移流程
function moveUpFlow() {
var currFlow = $('#flowTree').tree('getSelected');
if (currFlow == null || currFlow.attributes.ISPARENT != '0')
return;
var handler = new HttpHandler("BP.WF.HttpHandler.WF_Admin_CCBPMDesigner");
handler.AddPara("FK_Flow", currFlow.id);
var data = handler.DoMethodReturnString("MoveUpFlow");
if (data.indexOf('err@') == 0) {
alert(data);
return;
}
var before = $(currFlow.target).parent().prev();
if (before.length == 0 || $('#flowTree').tree('getData', before.children()[0]).attributes.TTYPE != "FLOW") {
return;
}
$(currFlow.target).parent().insertBefore(before);
}
//下移流程
function moveDownFlow() {
var currFlow = $('#flowTree').tree('getSelected');
if (currFlow == null || currFlow.attributes.ISPARENT != '0')
return;
var handler = new HttpHandler("BP.WF.HttpHandler.WF_Admin_CCBPMDesigner");
handler.AddPara("FK_Flow", currFlow.id);
var data = handler.DoMethodReturnString("MoveDownFlow");
if (data.indexOf('err@') == 0) {
alert(data);
return;
}
var next = $(currFlow.target).parent().next();
if (next.length == 0 || $('#flowTree').tree('getData', next.children()[0]).attributes.TTYPE != "FLOW") {
return;
}
$(currFlow.target).parent().insertAfter(next);
}
//新建表单树类别
function newCCFormSort(isSub) {
var currCCFormSort = $('#formTree').tree('getSelected');
if (currCCFormSort == null || currCCFormSort.attributes.TType != "FORMTYPE")
return;
var propName = (isSub ? '子级' : '同级') + '表单类别';
var val = window.prompt(propName, "我的目录");
if (val == null || val == undefined)
return;
var en = new Entity("BP.WF.Template.SysFormTree", currCCFormSort.id);
var data = "";
if (isSub)
data = en.DoMethodReturnString("DoCreateSubNodeIt", val);
else
data = en.DoMethodReturnString("DoCreateSameLevelNodeIt", val);
var parentNode = isSub ? currCCFormSort : $('#formTree').tree('getParent', currCCFormSort.target);
$('#formTree').tree('append', {
parent: parentNode == null ? null : parentNode.target,
data: [{
id: data,
text: val,
attributes: { MenuId: "mFormSort", TType: "FORMTYPE" },
checked: false,
iconCls: 'icon-tree_folder',
state: 'open',
children: []
}]
});
$('#formTree').tree('select', $('#formTree').tree('find', data).target);
}
//编辑表单树类别
function EditCCFormSort() {
var currCCFormSort = $('#formTree').tree('getSelected');
if (currCCFormSort == null
|| currCCFormSort.attributes.TType != "FORMTYPE")
return;
var val = prompt("请输入表单类别名称", currCCFormSort.text);
if (val == null || val == '')
return;
var sortNo = currCCFormSort.id;
var en = new Entity("BP.WF.Template.SysFormTree", sortNo);
en.Name = val;
en.Update();
$('#formTree').tree('update', {
target: currCCFormSort.target,
text: val
});
$('#formTree').tree('select', currCCFormSort.target);
}
//删除表单树类别
function DeleteCCFormSort() {
var currFormSort = $('#formTree').tree('getSelected');
if (currFormSort == null || currFormSort.attributes.TType != 'FORMTYPE')
return;
if (window.confirm("你确定要删除名称为“" + currFormSort.text + "”的类别吗?") == false)
return;
//删除表单树类别.
var handler = new HttpHandler("BP.WF.HttpHandler.WF_Admin_CCBPMDesigner");
handler.AddPara("No", currFormSort.id);
var data = handler.DoMethodReturnString("CCForm_DelFormSort");
if (data.indexOf('err@') == 0) {
alert(data);
return;
}
alert(data);
$('#flowTree').tree('remove', currFormSort.target);
}
//上移表单类别
function moveUpCCFormSort() {
var currFormSort = $('#formTree').tree('getSelected');
if (currFormSort == null)
return;
var no = currFormSort.id;
var en = new Entity("BP.WF.Template.SysFormTree", no);
en.DoMethodReturnString("DoUp");
var before = $(currFormSort.target).parent().prev();
if (before.length == 0 || $('#formTree').tree('getData', before.children()[0]).attributes.TType != "FORMTYPE") {
return;
}
$(currFormSort.target).parent().insertBefore(before);
}
//下移表单类别
function moveDownCCFormSort() {
var currFormSort = $('#formTree').tree('getSelected');
if (currFormSort == null)
return;
var no = currFormSort.id;
var en = new Entity("BP.WF.Template.SysFormTree", no);
en.DoMethodReturnString("DoDown");
var next = $(currFormSort.target).parent().next();
if (next.length == 0 || $('#formTree').tree('getData', next.children()[0]).attributes.TType != "FORMTYPE") {
return;
}
$(currFormSort.target).parent().insertAfter(next);
}
//新建表单
function newFrm(frmType) {
var node = $('#formTree').tree('getSelected');
if (!node) {
return;
}
var url = "../CCFormDesigner/NewFrmGuide.htm?Step=0&EntityType=" + frmType;
if (node.attributes) {
if (node.attributes.TType == "SRC") {
url += "&Src=" + node.id;
} else if (node.attributes.TType == "FORMTYPE") {
//在表单类别上单击,则传递表单类别
var pnode = $('#formTree').tree('getParent', node.target);
//if (pnode != null) {
url += "&FK_FrmSort=" + node.id;
while (pnode && pnode.attributes) {
if (pnode.attributes.TType == "SRC") {
url += "&Src=" + pnode.id;
break;
}
pnode = $('#formTree').tree('getParent', pnode.target);
}
//}
}
}
//如果右侧有打开该表单,则关闭
var currTab = $('#tabs').tabs('getTab', "新建表单");
if (currTab) {
$('#tabs').tabs('close', "新建表单");
}
addTab("NewFrm", "新建表单", url);
}
///表单树添加表单项
///FK_FormTree:表单类别编号,No:表单编号,Name:表单名称
function AppendFrmToFormTree(FK_FormTree, No, Name) {
var sortNode = $('#formTree').tree('find', FK_FormTree);
$('#formTree').tree('append', {
parent: sortNode.target,
data: [{
id: No,
text: Name,
attributes: { MenuId: "mForm", TType: "FORM", Url: "../../WF/Admin/CCFormDesigner/GoToFrmDesigner.htm?FK_MapData=" + No },
checked: false,
iconCls: 'icon-form',
state: 'open',
children: []
}]
});
$("#formTree").tree("expand", sortNode.target);
$('#formTree').tree('select', $('#formTree').tree('find', No).target);
//打开表单
addTab("DesignerFreeFrm" + No, Name, "../../WF/Admin/CCFormDesigner/GoToFrmDesigner.htm?FK_MapData=" + No);
}
/**
* 流程树增加流程项
* @param {any} flowSort 所属流程分组
* @param {any} flowNo 流程编码
* @param {any} flowName 流程名称
*/
function AppendFlowToFlowTree(flowSort, flowNo, flowName) {
var parentNode = $('#flowTree').tree('find', flowSort);
$('#flowTree').tree('append', {
parent: parentNode.target,
data: [{
id: flowNo,
text: flowNo + '.' + flowName,
attributes: { ISPARENT: '0', TTYPE: 'FLOW', DTYPE: 1, MenuId: "mFlow", Url: "../../../WF/Admin/CCBPMDesigner/Designer.htm?FK_Flow=@@id&RunModel=2&UserNo=@@WebUser.No&SID=@@WebUser.SID" },
iconCls: 'icon-flow1',
checked: false
}]
});
$("#flowTree").tree("expand", parentNode.target);
$('#flowTree').tree('select', $('#flowTree').tree('find', flowNo).target);
}
//表单属性
function CCForm_Attr() {
var node = $('#formTree').tree('getSelected');
if (!node) {
alert('请选择表单.');
return;
}
var url = '../../WF/Comm/En.htm?EnName=BP.WF.Template.MapFrmFree&PKVal=' + node.id;
OpenEasyUiDialog(url, "CCForm_Attr", '表单属性', 900, 560, "icon-window");
}
//单据属性
function Bill_CCForm() {
// if (plant != 'CCFlow') {
// alert('功能尚未同步到该版本上.');
// return;
// }
var node = $('#formTree').tree('getSelected');
if (!node) {
alert('请选择一个表单.');
return;
}
// alert('sss');
var en = new Entity("BP.Frm.FrmBill", node.id);
//流程单据.
if (en.EntityType == 0)
url = '../../WF/Comm/En.htm?EnName=BP.WF.Template.MapFrmFree&PKVal=' + node.id;
if (en.EntityType == 1)
url = '../../WF/Comm/En.htm?EnName=BP.Frm.FrmBill&PKVal=' + node.id;
if (en.EntityType == 2 || en.EntityType == 3)
url = '../../WF/Comm/En.htm?EnName=BP.Frm.FrmDict&PKVal=' + node.id;
// alert(en.EntityType);
// http: //localhost:2207/WF/Comm/RefFunc/EnOnly.htm?EnName=BP.WF.Template.MapFrmFree&PKVal=CCFrm_GDZC&s=0.635120123659069
OpenEasyUiDialog(url, "CCForm_Attr", '表单属性', 900, 560, "icon-window");
}
//打开单据
function Bill_Open() {
// if (plant != 'CCFlow') {
// alert('功能尚未同步到该版本上.');
// return;
// }
var node = $('#formTree').tree('getSelected');
if (!node) {
alert('请选择一个表单.');
return;
}
var en = new Entity("BP.Frm.FrmTemplate", node.id);
if (en.EntityType == 0) {
alert('独立表单暂不支持列表打开...');
return;
}
var url = "";
//检查单据的数据库表字段是否完整
var handler = new HttpHandler("BP.WF.HttpHandler.WF_Admin_CCBPMDesigner2018")
handler.AddPara("EnsName", node.id);
handler.DoMethodReturnString("CheckBillFrm");
//单据模式.
if (en.EntityType == 1) {
url = '../../WF/CCBill/SearchBill.htm?FrmID=' + node.id;
if (en.EntityShowModel == 1)
url = '../../WF/CCBill/BillTree.htm?FrmID=' + node.id;
}
//如果是实体就判断他的编辑模式.
if (en.EntityType == 2) {
if (en.EntityShowModel == 0) {
if (en.EntityEditModel == 0)
url = '../../WF/CCBill/SearchDict.htm?FrmID=' + node.id;
else
url = '../../WF/CCBill/SearchEditer.htm?FrmID=' + node.id;
}
if (en.EntityShowModel == 1) {
url = '../../WF/CCBill/DictTree.htm?FrmID=' + node.id;
}
}
//树状结构
if (en.EntityType == 3) {
url = '../../WF/CCBill/MyEntityTree.htm?FrmID=' + node.id;
}
window.open(url);
return;
//WinOpen(url);
OpenEasyUiDialog(url, "CCForm_Attr", '我的单据', 1100, 560, "icon-window");
}
//设计自由表单
function designFreeFrm() {
var node = $('#formTree').tree('getSelected');
if (!node) {
alert('请选择表单.');
return;
}
addTab("DesignerFreeFrm" + node.id, node.text, "../../WF/Admin/CCFormDesigner/GoToFrmDesigner.htm?FK_MapData=" + node.id);
}
//设计傻瓜表单
function designFoolFrm() {
var node = $('#formTree').tree('getSelected');
if (!node) {
alert('请选择表单.');
return;
}
addTab("DesignerFoolFrm" + node.id, node.text, "../../WF/Admin/FoolFormDesigner/Designer.htm?FK_MapData=" + node.id + "&IsFirst=1&MyPK=" + node.id + "&IsEditMapData=True");
}
//上移表单
function moveUpCCFormTree() {
var currForm = $('#formTree').tree('getSelected');
if (currForm == null)
return;
var en = new Entity("BP.Sys.MapData", currForm.id);
en.DoMethodReturnString("DoUp");
var before = $(currForm.target).parent().prev();
if (before.length == 0 || $('#formTree').tree('getData', before.children()[0]).attributes.TType != "FORM") {
return;
}
$(currForm.target).parent().insertBefore(before);
}
//下移表单
function moveDownCCFormTree() {
var currForm = $('#formTree').tree('getSelected');
if (currForm == null)
return;
var en = new Entity("BP.Sys.MapData", currForm.id);
en.DoMethodReturnString("DoOrderDown");
var next = $(currForm.target).parent().next();
if (next.length == 0 || $('#formTree').tree('getData', next.children()[0]).attributes.TType != "FORM") {
return;
}
$(currForm.target).parent().insertAfter(next);
}
//删除流程树表单
function deleteCCFormTreeMapData() {
var currForm = $('#formTree').tree('getSelected');
if (currForm == null)
return;
if (confirm('您确认要删除吗?') == false)
return;
var en = new Entity("BP.Sys.MapData", currForm.id);
en.Delete();
//如果右侧有打开该表单,则关闭
var currTab = $('#tabs').tabs('getTab', currForm.text);
if (currTab) {
$('#tabs').tabs('close', currForm.text);
}
//删除节点
$('#formTree').tree('remove', currForm.target);
}
function CopyFrm() {
var node = $('#formTree').tree('getSelected');
if (!node) {
alert('请选择表单.');
return;
}
var frmID = window.prompt('新的表单ID', node.id);
var frmName = window.prompt('新的表单名称', node.text);
if (frmID == null || frmID == "") {
alert("表单ID不能为空");
return;
}
var handler = new HttpHandler("BP.WF.HttpHandler.WF_Admin_CCFormDesigner");
handler.AddPara("FromFrmID", node.id);
handler.AddPara("ToFrmID", frmID)
handler.AddPara("ToFrmName", frmName)
var data = handler.DoMethodReturnString("DoCopyFrm", frmID, frmName);
if (data.indexOf('err@') != -1) {
alert(data);
return;
}
//表单库增加表单节点
AppendFrmToFormTree(node.attributes.Node.ParentId, frmID, frmName);
//设计表单.
addTab("DesignerFrm" + frmID, "设计表单-" + frmName, "../../WF/Admin/CCFormDesigner/GoToFrmDesigner.htm?FK_MapData=" + frmID);
}
/*组织结构树操作结束*/
//打开窗体
function WinOpen(url) {
var winWidth = 850;
var winHeight = 680;
if (screen && screen.availWidth) {
winWidth = screen.availWidth;
winHeight = screen.availHeight - 36;
}
window.open(url, "_blank", "height=" + winHeight + ",width=" + winWidth + ",top=0,left=0,toolbar=no,menubar=no,scrollbars=yes, resizable=yes,location=no, status=no");
}
var treesObj; //保存功能区处理对象
var webUser = new WebUser();
//测试,临时隐掉
if (webUser.No == "") {
alert("登录信息丢失, 请重新登录.");
window.location.href = "/index.html";
}
$(function () {
var handler = new HttpHandler("BP.WF.HttpHandler.WF_Admin_CCBPMDesigner");
var data = handler.DoMethodReturnString("GetWebUserInfo");
if (data.indexOf('err@') == 0) {
alert(data);
window.location.href = "Login.htm?DoType=Logout";
return;
}
var jdata = $.parseJSON(data);
//WebUser.No = jdata.No;
//WebUser.Name = jdata.Name;
//WebUser.FK_Dept = jdata.FK_Dept;
//WebUser.SID = jdata.SID;
// SetTreeRoot(jdata);
treesObj = new FuncTrees("menuTab");
treesObj.loadTrees();
$(".mymask").hide();
//修改流程类别
$(".icon-tree_folder").prev().filter(".tree-indent").addClass("tree-hit").removeClass("tree-indent");
});
//通过标题删除标签
function TabCloseByTitle(TabTitle) {
//如果右侧有打开该表单,则关闭
var currTab = $('#tabs').tabs('getTab', TabTitle);
if (currTab) {
$('#tabs').tabs('close', TabTitle);
}
}