From 745b07217162d46f6db7a05e24823683557b053a Mon Sep 17 00:00:00 2001 From: zhal <15900249928@163.com> Date: Sat, 29 Jul 2023 13:37:10 +0800 Subject: [PATCH] =?UTF-8?q?pal=E5=8F=82=E6=95=B0=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=EF=BC=8C=E9=98=85=E8=A7=88=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extend/js/designer.extend.link.js | 8660 +++++++++-------- 1 file changed, 4421 insertions(+), 4239 deletions(-) diff --git a/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/js/designer.extend.link.js b/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/js/designer.extend.link.js index b81672e5..d974839e 100755 --- a/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/js/designer.extend.link.js +++ b/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/js/designer.extend.link.js @@ -3,52 +3,52 @@ */ var selectedShapes = []; var linkType; // 链接类型:custom:自定义链接;file:文件链接 -$(document).ready(function() { - showPainting(); - setDivHeight(); - // awsui.parse(); - $("#linkto_file").buttonedit({ - onClick : showLinkTree - }); +$(document).ready(function () { + showPainting(); + setDivHeight(); + // awsui.parse(); + $("#linkto_file").buttonedit({ + onClick: showLinkTree + }); - setTimeout(function() { - Designer.hotkey.init();// 解决快捷健绑定不成功 - // DesignerCopyPaste.checkHasUsedShape(); + setTimeout(function () { + Designer.hotkey.init();// 解决快捷健绑定不成功 + // DesignerCopyPaste.checkHasUsedShape(); // if (window.opener && window.opener.document.getElementById("teamId").value != "") { // //如果从“流程团队”中打开设计器,则不进行复制粘贴同步监听 // } else { // DesignerCopyPaste.changeTitleListen();// 复制粘贴形状内容同步的监听 // } - DesignerCopyPaste.changeTitleListen(); - if (selectedElementId && selectedElementId != "") { - Utils.selectShape(selectedElementId); - }// 复制粘贴形状内容同步的监听 - }, 1000); + DesignerCopyPaste.changeTitleListen(); + if (selectedElementId && selectedElementId != "") { + Utils.selectShape(selectedElementId); + }// 复制粘贴形状内容同步的监听 + }, 1000); - //初始化visio导入的fileUpload - initVisioImportFileUpload(); - //初始化更多特性按钮 - initMoreAttrRight(); - //初始化节点附件上传事件 - addShapeFile(); - //by bzp - addPolicyFile(); + //初始化visio导入的fileUpload + initVisioImportFileUpload(); + //初始化更多特性按钮 + initMoreAttrRight(); + //初始化节点附件上传事件 + addShapeFile(); + //by bzp + addPolicyFile(); }); function initMoreAttrRight() { - if($('#moreAttrRight').val() == "false") { - $("#showMoreAttrUL").remove(); - } + if ($('#moreAttrRight').val() == "false") { + $("#showMoreAttrUL").remove(); + } } /** * 判断是否正在保存 */ function isSavingFile() { - if ($("#saving_tip").text() == "已保存成功" || $("#saving_tip").text() == "保存成功" || $("#saving_tip").text() == "您的文件已经成功保存" || $("#saving_tip").text() == "") - return true; - else - return false; + if ($("#saving_tip").text() == "已保存成功" || $("#saving_tip").text() == "保存成功" || $("#saving_tip").text() == "您的文件已经成功保存" || $("#saving_tip").text() == "") + return true; + else + return false; } /** @@ -59,20 +59,20 @@ function isSavingFile() { */ function showPainting() { - var width = screen.width; - if (width == 1024) { - $("#toolbar_wfversion_info").addClass("showPainting"); - if (parent.getWidthToolbar() > 750) { - $(".toolbar").removeClass("heightCssToolbar") - .addClass("toolbarExtend"); - $("#bar_back").removeClass("cssToolbar"); + var width = screen.width; + if (width == 1024) { + $("#toolbar_wfversion_info").addClass("showPainting"); + if (parent.getWidthToolbar() > 750) { + $(".toolbar").removeClass("heightCssToolbar") + .addClass("toolbarExtend"); + $("#bar_back").removeClass("cssToolbar"); - } else { - $(".toolbar").addClass("heightCssToolbar") - .removeClass("toolbarExtend"); - $("#bar_back").addClass("cssToolbar"); - } - } + } else { + $(".toolbar").addClass("heightCssToolbar") + .removeClass("toolbarExtend"); + $("#bar_back").addClass("cssToolbar"); + } + } } /** @@ -82,78 +82,80 @@ function showPainting() { * * @returns {} */ -Designer.op.shapeSelectable = function(a) { - var b = $("#designer_canvas"); - b.bind("mousedown.select", function(d) { - Designer.op.changeState("seelcting_shapes"); - var e = a.id; - var c = []; - if (d.ctrlKey) { - var c = Utils.getSelectedIds(); - if (Utils.isSelected(e)) { - Utils.removeFromArray(c, e); - } else { - c.push(e); - } +Designer.op.shapeSelectable = function (a) { + var b = $("#designer_canvas"); + b.bind("mousedown.select", function (d) { + Designer.op.changeState("seelcting_shapes"); + var e = a.id; + var c = []; + if (d.ctrlKey) { + var c = Utils.getSelectedIds(); + if (Utils.isSelected(e)) { + Utils.removeFromArray(c, e); + } else { + c.push(e); + } - if ($("#dock_content_attribute").is(":visible")) { - $("#tagContent1 :focus").blur(); - } + if ($("#dock_content_attribute").is(":visible")) { + $("#tagContent1 :focus").blur(); + } - Utils.unselect(); - if (c.length > 0) { - Utils.selectShape(c); - } - } else { - if (Utils.selectIds.indexOf(e) < 0) { + Utils.unselect(); + if (c.length > 0) { + Utils.selectShape(c); + } + } else { + if (Utils.selectIds.indexOf(e) < 0) { - if ($("#dock_content_attribute").is(":visible")) { - $("#tagContent1 :focus").blur(); - } + if ($("#dock_content_attribute").is(":visible")) { + $("#tagContent1 :focus").blur(); + } - Utils.unselect(); - Utils.selectShape(e); - } - } - $(document).bind("mouseup.select", function() { - Designer.op.resetState(); - b.unbind("mousedown.select"); - $(document).unbind("mouseup.select"); - }); - // selectedShapes - DesignerCopyPaste.selectedShapeId = Utils.getSelected()[0].id; - if ($("div.dock_view_attribute").is(":visible")) { - showShapeRelationTab(null); - attributeShowTabContent(null); - shapeCopyAndPasteCount(null); - showRelevanceShapesContent(); - } - var tmpArray = getTmpArray(isLaneAttrConfig); - if (Utils.getSelected()[0].category == "basic") { - $("#showMoreAttrUL").hide(); - } else if ($.inArray(Utils.getSelected()[0].name, tmpArray) != -1) {// 泳池泳道隐藏 - $('#showMoreAttrUL').hide(); - } else { - if ($("#tabLiContainnerAttribute").hasClass("selectTag")) { - $("#dock_content_attribute #showMoreAttrUL").show(); - } else { - $("#dock_content_attribute #showMoreAttrUL").hide(); - } - } - }); + Utils.unselect(); + Utils.selectShape(e); + } + } + $(document).bind("mouseup.select", function () { + Designer.op.resetState(); + b.unbind("mousedown.select"); + $(document).unbind("mouseup.select"); + }); + // selectedShapes + DesignerCopyPaste.selectedShapeId = Utils.getSelected()[0].id; + if ($("div.dock_view_attribute").is(":visible")) { + showShapeRelationTab(null); + attributeShowTabContent(null); + shapeCopyAndPasteCount(null); + showRelevanceShapesContent(); + } + var tmpArray = getTmpArray(isLaneAttrConfig); + if (Utils.getSelected()[0].category == "basic") { + $("#showMoreAttrUL").hide(); + } else if ($.inArray(Utils.getSelected()[0].name, tmpArray) != -1) {// 泳池泳道隐藏 + $('#showMoreAttrUL').hide(); + } else { + if ($("#tabLiContainnerAttribute").hasClass("selectTag")) { + $("#dock_content_attribute #showMoreAttrUL").show(); + } else { + $("#dock_content_attribute #showMoreAttrUL").hide(); + } + } + }); }; + //根据isLaneAttrConfig来判断数组的数据 function getTmpArray(isLaneAttrConfig) { - var tmpArray1 = ['verticalPool', 'verticalLane', 'horizontalPool', 'horizontalLane']; - var tmpArray2 = ['verticalPool', 'horizontalPool']; - if (isLaneAttrConfig) { - return tmpArray2; - } else { - return tmpArray1; - } + var tmpArray1 = ['verticalPool', 'verticalLane', 'horizontalPool', 'horizontalLane']; + var tmpArray2 = ['verticalPool', 'horizontalPool']; + if (isLaneAttrConfig) { + return tmpArray2; + } else { + return tmpArray1; + } } + // 重写 -Designer.linkClickable = function(a, c) {/* +Designer.linkClickable = function (a, c) {/* * var b = $("#link_spot"); if * (b.length == 0) { b = $("' - + ele.name - + '' - + '' - + '
' - + ele.value - + '
' - + '
' - + '
' - + typeBlank - + '
' - + '删除'; - html += con; - } - $("#" + table_id).html(html); - setDivHeight(); + var html = ""; + // 列出所有的链接 + for (var k = 0; k < data.length; k++) { + var ele = data[k]; + var strTarget = "0"; + var name_qtip = ele.name; + var url_qtip = ele.value; + var typeBlank = "新窗口"; + if (ele.target == "_seft") { + typeBlank = "当前窗口"; + } else if (ele.target == "newTab") { + typeBlank = "新页签"; + } + var con = '' + + '
' + + ele.name + + '
' + + '' + + '
' + + ele.value + + '
' + + '
' + + '
' + + typeBlank + + '
' + + '删除'; + html += con; + } + $("#" + table_id).html(html); + setDivHeight(); } /** @@ -459,247 +477,247 @@ function writeLinksHistory(table_id, data) { * uuid */ function editLinkTargetType(obj) { - var target = $(obj).parent().siblings().find("a").attr("target"); - $(obj).hide().siblings().show().find("select option[value='" + target - + "']").attr("selected", "true"); + var target = $(obj).parent().siblings().find("a").attr("target"); + $(obj).hide().siblings().show().find("select option[value='" + target + + "']").attr("selected", "true"); } // 打开链接,如果是自定义链接,直接打开;如果是文件链接, function openLinkUrl(type, url, target, uuid, obj) { - if (target == "0") { - target = $(obj).attr("target"); - } - if (type == "custom") { - $("#link-dialog-normal_contextmenu").hide(); - window.open(url, target); - } else { - $.ajax({ - async : false, - url : encodeURI("./w?sid=" + sid - + "&cmd=com.actionsoft.apps.coe.pal_pl_using_plid_query&uuid=" + uuid), - success : function(data) { - if (data != "") { - url = "./w?sid=" - + sid - + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer&uuid=" - + data + "&openType=0&perms=" + perms + "&filePerms=" + filePerms; - $("#link-dialog-normal_contextmenu").hide(); - window.open(url, target); - } else { - $.simpleAlert("链接文件已被删除", "info"); - //$("#simplealert>.msg").css("top", "15px"); - } - } - }); - } + if (target == "0") { + target = $(obj).attr("target"); + } + if (type == "custom") { + $("#link-dialog-normal_contextmenu").hide(); + window.open(url, target); + } else { + $.ajax({ + async: false, + url: encodeURI("./w?sid=" + sid + + "&cmd=com.actionsoft.apps.coe.pal_pl_using_plid_query&uuid=" + uuid), + success: function (data) { + if (data != "") { + url = "./w?sid=" + + sid + + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer&uuid=" + + data + "&openType=0&perms=" + perms + "&filePerms=" + filePerms; + $("#link-dialog-normal_contextmenu").hide(); + window.open(url, target); + } else { + $.simpleAlert("链接文件已被删除", "info"); + //$("#simplealert>.msg").css("top", "15px"); + } + } + }); + } } function openLinkUrlRewrite(type, url, target, uuid, obj, fileName, inspected) { - var sid=$("#sid").val(); - if (target == "0") { - target = $(obj).attr("target"); - } - if (type == "custom") { - $("#link-dialog-normal_contextmenu").hide(); - if (target == "newTab" && parent.openTabCustom != undefined) { - parent.openTabCustom(uuid, url, fileName); - } else if (target == "_seft") { - if (parent.changeTabTitle) { - parent.changeTabTitle(chartId, fileName, uuid, "custom"); - } - window.location.href = url; - } else { - window.open(url+sid, target); - } - } else { - if (inspected) { //已经进行过权限判断,不需要再判断 - openFileLink(uuid, target, fileName); - } else { - var openerAppId = parent.window.$("#appId").val(); - var params = { - sid : $("#sid").val(), - cmd: "com.actionsoft.apps.coe.pal_pl_repository_designer_viewer_link_perm", - uuids: uuid, - filePerms: filePerms - } - if (window.opener) { - params.modelType = "used"; - } else if (openerAppId != undefined && openerAppId != "com.actionsoft.apps.coe.pal" && openerAppId != "") { - params.modelType = "published"; - } + var sid = $("#sid").val(); + if (target == "0") { + target = $(obj).attr("target"); + } + if (type == "custom") { + $("#link-dialog-normal_contextmenu").hide(); + if (target == "newTab" && parent.openTabCustom != undefined) { + parent.openTabCustom(uuid, url, fileName); + } else if (target == "_seft") { + if (parent.changeTabTitle) { + parent.changeTabTitle(chartId, fileName, uuid, "custom"); + } + window.location.href = url; + } else { + window.open(url + sid, target); + } + } else { + if (inspected) { //已经进行过权限判断,不需要再判断 + openFileLink(uuid, target, fileName); + } else { + var openerAppId = parent.window.$("#appId").val(); + var params = { + sid: $("#sid").val(), + cmd: "com.actionsoft.apps.coe.pal_pl_repository_designer_viewer_link_perm", + uuids: uuid, + filePerms: filePerms + } + if (window.opener) { + params.modelType = "used"; + } else if (openerAppId != undefined && openerAppId != "com.actionsoft.apps.coe.pal" && openerAppId != "") { + params.modelType = "published"; + } - awsui.ajax.request({ - url : "./jd", - method : "POST", - data : params, - success : function(msg) { - if (msg.result == "ok") { - var data = msg.data.uuids; - if (data.length > 0) { - openFileLink(data[0].uuid, target, fileName); - } else { - $.simpleAlert("链接文件已被删除", "info"); - //$("#simplealert>.msg").css("top", "15px"); - } - } + awsui.ajax.request({ + url: "./jd", + method: "POST", + data: params, + success: function (msg) { + if (msg.result == "ok") { + var data = msg.data.uuids; + if (data.length > 0) { + openFileLink(data[0].uuid, target, fileName); + } else { + $.simpleAlert("链接文件已被删除", "info"); + //$("#simplealert>.msg").css("top", "15px"); + } + } - } - }); - } - } + } + }); + } + } } function openFileLink(uuid, target, linkModelName) { - var cmd = "com.actionsoft.apps.coe.pal_pl_repository_designer"; - //如果从流程团队中只读打开,则只读打开链接文件 - if (role == "viewer") { - cmd = "com.actionsoft.apps.coe.pal_pl_repository_designer_viewer"; - } - var url = "./w?sid=" - + sid - + "&cmd=" + cmd + "&uuid=" - + uuid + "&openType=0" - + "&perms=" + encodeURIComponent(perms) - + "&openAppType=" + openAppType; + var cmd = "com.actionsoft.apps.coe.pal_pl_repository_designer"; + //如果从流程团队中只读打开,则只读打开链接文件 + if (role == "viewer") { + cmd = "com.actionsoft.apps.coe.pal_pl_repository_designer_viewer"; + } + var url = "./w?sid=" + + sid + + "&cmd=" + cmd + "&uuid=" + + uuid + "&openType=0" + + "&perms=" + encodeURIComponent(perms) + + "&openAppType=" + openAppType; - $("#link-dialog-normal_contextmenu").hide(); - if (target == "newTab" && parent.openDesginerFromAttr != undefined) { - parent.openDesginerFromAttr(uuid, 0, linkModelName, '', '', false, ''); - } else if (target == "_seft") { - $("#openNewModelForm").attr("action", url).attr("target", "_self"); - $("#openNewModelForm").submit(); - parent.changeTabTitle(chartId, linkModelName, uuid); - } else { - $("#openNewModelForm").attr("action", url); - $("#openNewModelForm").submit(); - } + $("#link-dialog-normal_contextmenu").hide(); + if (target == "newTab" && parent.openDesginerFromAttr != undefined) { + parent.openDesginerFromAttr(uuid, 0, linkModelName, '', '', false, ''); + } else if (target == "_seft") { + $("#openNewModelForm").attr("action", url).attr("target", "_self"); + $("#openNewModelForm").submit(); + parent.changeTabTitle(chartId, linkModelName, uuid); + } else { + $("#openNewModelForm").attr("action", url); + $("#openNewModelForm").submit(); + } } /** * 链接确定的鼠标单击事件 */ -UI.setLink = function() { - var addrName; - var addrLink; - var newLink;// 121 - // var linkto_addr_name =document.getElementById("linkto_addr_name").value; - var linkType = $("#link_dialog div.awsui-simple-tab").find("a.active").attr("tit"); - if (linkType == "custom") { - addrName = trimSpaces($("#linkto_addr_name")[0].value); - addrLink = trimSpaces($("#linkto_addr").val()); - if (addrName == "") { - $.simpleAlert("[链接名称]不允许为空", "info", 2000); - //$("#simplealert>.msg").css("top", "15px"); - return; - } - if (addrLink == "") { - $.simpleAlert("[链接地址]不允许为空", "info", 2000); - //$("#simplealert>.msg").css("top", "15px"); - return; - } - if (addrName.length > 30) { - $.simpleAlert("[链接名称]不允许超过30个字符", "info", 2000); - //$("#simplealert>.msg").css("top", "15px"); - return; - } - // 判断url是否合法 - /*********************************************************************** - * var strRegex = "^((https|http|ftp|rtsp|mms)?://)" + - * "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" // - * ftp的user@ + "(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- - * 199.194.52.184 + "|" // 允许IP和DOMAIN(域名) + "([0-9a-z_!~*'()-]+\.)*" // - * 域名- www. + "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名 + - * "[a-z]{2,6})" // first level domain- .com or .museum + - * "(:[0-9]{1,4})?" // 端口- :80 + "((/?)|" // a slash isn't required if - * there is no file name + "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$"; - **********************************************************************/ - var tomatch = /(http:\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{3})|([A-Za-z0-9\.-]{3,}\.[A-Za-z0-9]{3,})/; - // var re = new RegExp(strRegex); - newLink = $("#linkto_addr").val(); - if (addrLink.substring(0, 16) == "./w?sid=@sid&cmd" - || addrLink.substring(0, 17) == "./jd?sid=@sid&cmd" - || addrLink.substring(0, 17) == "./xd?sid=@sid&cmd" - || addrLink.substring(0, 17) == "./df?sid=@sid&cmd" - || addrLink.substring(0, 17) == "./uf?sid=@sid&cmd") { - if (newLink.indexOf("sid") > 0) { - newLink = newLink.replace("@sid", sid); - } - } else if (!tomatch.test(addrLink)) { - $.simpleAlert("链接地址不合法", "info", 2000); - //$("#simplealert>.msg").css("top", "15px"); - return; - } else if (newLink.indexOf("http") == -1 - && newLink.indexOf("sid") == -1) { - newLink = "http://" + newLink; - } - } else { - addrName = trimSpaces($("#linkto_file_name").val()); - addrLink = trimSpaces($("#linkto_file").val()); - if (addrName == "") { - $.simpleAlert("[链接名称]不允许为空", "info", 2000); - //$("#simplealert>.msg").css("top", "15px"); - return; - } - if (addrName.length > 30) { - $.simpleAlert("[链接名称]不允许超过30个字符", "info", 2000); - //$("#simplealert>.msg").css("top", "15px"); - return; - } - if (addrLink == "") { - $.simpleAlert("[链接文件]不允许为空", "info", 2000); - //$("#simplealert>.msg").css("top", "15px"); - return; - } - newLink = $("#linkto_file").val(); - } - var shape = Utils.getSelected()[0]; - if (linkType != "custom") { - //选择文件链接时,将节点名称改为所链接的文件名称 - //shape.text = trimSpaces($("#linkto_file_name").val()); - } - myshapeLink = shape; - var linkArr = []; - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.linksArray) { - linkArr = attr.linksArray; - break; - } - } - if (!isArray(linkArr)) { - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.linksArray) { - linkArr = []; - break; - } - } - // shape.linksArray = new Array(); - } - var uuid = new Date().getTime() + ""; - var url = linkType == "custom" - ? $("#linkto_addr").val() - : $("#linkto_file").attr("url"); +UI.setLink = function () { + var addrName; + var addrLink; + var newLink;// 121 + // var linkto_addr_name =document.getElementById("linkto_addr_name").value; + var linkType = $("#link_dialog div.awsui-simple-tab").find("a.active").attr("tit"); + if (linkType == "custom") { + addrName = trimSpaces($("#linkto_addr_name")[0].value); + addrLink = trimSpaces($("#linkto_addr").val()); + if (addrName == "") { + $.simpleAlert("[链接名称]不允许为空", "info", 2000); + //$("#simplealert>.msg").css("top", "15px"); + return; + } + if (addrLink == "") { + $.simpleAlert("[链接地址]不允许为空", "info", 2000); + //$("#simplealert>.msg").css("top", "15px"); + return; + } + if (addrName.length > 30) { + $.simpleAlert("[链接名称]不允许超过30个字符", "info", 2000); + //$("#simplealert>.msg").css("top", "15px"); + return; + } + // 判断url是否合法 + /*********************************************************************** + * var strRegex = "^((https|http|ftp|rtsp|mms)?://)" + + * "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" // + * ftp的user@ + "(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- + * 199.194.52.184 + "|" // 允许IP和DOMAIN(域名) + "([0-9a-z_!~*'()-]+\.)*" // + * 域名- www. + "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名 + + * "[a-z]{2,6})" // first level domain- .com or .museum + + * "(:[0-9]{1,4})?" // 端口- :80 + "((/?)|" // a slash isn't required if + * there is no file name + "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$"; + **********************************************************************/ + var tomatch = /(http:\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{3})|([A-Za-z0-9\.-]{3,}\.[A-Za-z0-9]{3,})/; + // var re = new RegExp(strRegex); + newLink = $("#linkto_addr").val(); + if (addrLink.substring(0, 16) == "./w?sid=@sid&cmd" + || addrLink.substring(0, 17) == "./jd?sid=@sid&cmd" + || addrLink.substring(0, 17) == "./xd?sid=@sid&cmd" + || addrLink.substring(0, 17) == "./df?sid=@sid&cmd" + || addrLink.substring(0, 17) == "./uf?sid=@sid&cmd") { + if (newLink.indexOf("sid") > 0) { + newLink = newLink.replace("@sid", sid); + } + } else if (!tomatch.test(addrLink)) { + $.simpleAlert("链接地址不合法", "info", 2000); + //$("#simplealert>.msg").css("top", "15px"); + return; + } else if (newLink.indexOf("http") == -1 + && newLink.indexOf("sid") == -1) { + newLink = "http://" + newLink; + } + } else { + addrName = trimSpaces($("#linkto_file_name").val()); + addrLink = trimSpaces($("#linkto_file").val()); + if (addrName == "") { + $.simpleAlert("[链接名称]不允许为空", "info", 2000); + //$("#simplealert>.msg").css("top", "15px"); + return; + } + if (addrName.length > 30) { + $.simpleAlert("[链接名称]不允许超过30个字符", "info", 2000); + //$("#simplealert>.msg").css("top", "15px"); + return; + } + if (addrLink == "") { + $.simpleAlert("[链接文件]不允许为空", "info", 2000); + //$("#simplealert>.msg").css("top", "15px"); + return; + } + newLink = $("#linkto_file").val(); + } + var shape = Utils.getSelected()[0]; + if (linkType != "custom") { + //选择文件链接时,将节点名称改为所链接的文件名称 + //shape.text = trimSpaces($("#linkto_file_name").val()); + } + myshapeLink = shape; + var linkArr = []; + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.linksArray) { + linkArr = attr.linksArray; + break; + } + } + if (!isArray(linkArr)) { + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.linksArray) { + linkArr = []; + break; + } + } + // shape.linksArray = new Array(); + } + var uuid = new Date().getTime() + ""; + var url = linkType == "custom" + ? $("#linkto_addr").val() + : $("#linkto_file").attr("url"); - if (!checkLink(url)) { - if (linkType == "custom") { - $("#linksHistoryDiv").show(); - shape.link = $("#linkto_addr").val(); - url = newLink; - } else { - $("#linksFileHistoryDiv").show(); - shape.link = $("#linkto_file").val(); - uuid = $("#linkto_file").attr("uuid"); - url = $("#linkto_file").attr("url"); - } - var divObj = $("div[tit='" + linkType + "']"); - var openType = divObj.find("select option:selected").val(); - linksHistoryShowAndAdd(shape, addrName, newLink, openType, uuid, url); - } else { - $.simpleAlert("链接已存在 ", "info", 2000); - //$("#simplealert>.msg").css("top", "15px"); - } - Designer.painter.renderShape(shape); + if (!checkLink(url)) { + if (linkType == "custom") { + $("#linksHistoryDiv").show(); + shape.link = $("#linkto_addr").val(); + url = newLink; + } else { + $("#linksFileHistoryDiv").show(); + shape.link = $("#linkto_file").val(); + uuid = $("#linkto_file").attr("uuid"); + url = $("#linkto_file").attr("url"); + } + var divObj = $("div[tit='" + linkType + "']"); + var openType = divObj.find("select option:selected").val(); + linksHistoryShowAndAdd(shape, addrName, newLink, openType, uuid, url); + } else { + $.simpleAlert("链接已存在 ", "info", 2000); + //$("#simplealert>.msg").css("top", "15px"); + } + Designer.painter.renderShape(shape); }; /** @@ -707,93 +725,93 @@ UI.setLink = function() { */ function linksHistoryShowAndAdd(shape, name, value, target, uuid, url) { - var linkType = $("#link_dialog div.awsui-simple-tab").find("a.active").attr("tit"); - var json = setCondVal(name, value, target, linkType, uuid, url); - if (!json) { - json = JSON.stringify({}) - } - json = JSON.stringify(json); - json = eval("(" + json + ")"); - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.linksArray) { - attr.linksArray.push(json); - break; - } - } - Model.update(shape); - var name_qtip = name; - var url_qtip = value; - var typeBlank = "新窗口"; - if (target == "_seft") { - typeBlank = "当前窗口"; - } else if (target == "newTab") { - typeBlank = "新页签"; - } - var strTarget = "0"; - var con = '' - + ' ' - + '
' - + name - + '
' - + ' ' - + ' ' - + ' ' - + ' ' - + '
' - + value - + '
' - + '
' - + '
' - + ' ' - + ' ' - + '
' + typeBlank + '
' - + ' ' - + ' ' - + ' 删除' - + ' ' - + ''; + var linkType = $("#link_dialog div.awsui-simple-tab").find("a.active").attr("tit"); + var json = setCondVal(name, value, target, linkType, uuid, url); + if (!json) { + json = JSON.stringify({}) + } + json = JSON.stringify(json); + json = eval("(" + json + ")"); + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.linksArray) { + attr.linksArray.push(json); + break; + } + } + Model.update(shape); + var name_qtip = name; + var url_qtip = value; + var typeBlank = "新窗口"; + if (target == "_seft") { + typeBlank = "当前窗口"; + } else if (target == "newTab") { + typeBlank = "新页签"; + } + var strTarget = "0"; + var con = '' + + ' ' + + '
' + + name + + '
' + + ' ' + + ' ' + + ' ' + + ' ' + + '
' + + value + + '
' + + '
' + + '
' + + ' ' + + ' ' + + '
' + typeBlank + '
' + + ' ' + + ' ' + + ' 删除' + + ' ' + + ''; - if (linkType == "custom") { - $("#linksHistory").append(con); - } else { - $("#linksFileHistory").append(con); - } - var hieghtH = $("#linksHistory").height(); - var hieghtHF = $("#linksFileHistory").height(); - if (hieghtH < 200 || hieghtHF < 200) { - $("#linksHistory").css({ - "overflow-y" : "hidden", - "overflow-x" : "hidden" - }); - $("#linksFileHistory").css({ - "overflow-y" : "hidden", - "overflow-x" : "hidden" - }); - } - if (myshapeLink.category == "process_bpmn2") { - $.simpleAlert("添加成功", "ok", 2000); - } else { - $.simpleAlert("添加成功", "ok", 2000); - } - //$("#simplealert>.msg").css("top", "15px"); - $("#linkto_addr_name").val(""); - $("#linkto_addr").val(""); - $("#linkto_file_name").val(""); - $("#linkto_file").val(""); - setDivHeight(); + if (linkType == "custom") { + $("#linksHistory").append(con); + } else { + $("#linksFileHistory").append(con); + } + var hieghtH = $("#linksHistory").height(); + var hieghtHF = $("#linksFileHistory").height(); + if (hieghtH < 200 || hieghtHF < 200) { + $("#linksHistory").css({ + "overflow-y": "hidden", + "overflow-x": "hidden" + }); + $("#linksFileHistory").css({ + "overflow-y": "hidden", + "overflow-x": "hidden" + }); + } + if (myshapeLink.category == "process_bpmn2") { + $.simpleAlert("添加成功", "ok", 2000); + } else { + $.simpleAlert("添加成功", "ok", 2000); + } + //$("#simplealert>.msg").css("top", "15px"); + $("#linkto_addr_name").val(""); + $("#linkto_addr").val(""); + $("#linkto_file_name").val(""); + $("#linkto_file").val(""); + setDivHeight(); } function setCondVal(name, value, target, linkType, uuid, url) { - var json = { - name : name, - value : value, - target : target, - type : linkType, - uuid : uuid, - url : url - }; - return json + var json = { + name: name, + value: value, + target: target, + type: linkType, + uuid: uuid, + url: url + }; + return json } /** @@ -801,43 +819,44 @@ function setCondVal(name, value, target, linkType, uuid, url) { */ function setLinkTargetType(obj) { - var url = $(obj).attr("vl"); - var value = $(obj).find("option:selected").val(); - var shape = Utils.getSelected()[0]; - var linksArray = []; - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.linksArray) { - linksArray = attr.linksArray; - break; - } - } - var arr = []; - for (var a = 0; a < linksArray.length; a++) { - var el = linksArray[a]; - if (el.url == url) - el.target = value; - arr.push(el); - } - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.linksArray) { - attr.linksArray = arr; - break; - } - } + var url = $(obj).attr("vl"); + var value = $(obj).find("option:selected").val(); + var shape = Utils.getSelected()[0]; + var linksArray = []; + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.linksArray) { + linksArray = attr.linksArray; + break; + } + } + var arr = []; + for (var a = 0; a < linksArray.length; a++) { + var el = linksArray[a]; + if (el.url == url) + el.target = value; + arr.push(el); + } + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.linksArray) { + attr.linksArray = arr; + break; + } + } - $(obj).parent().parent().prev().find("a").attr("target", value); - var els = $(obj).parent().find("a"); - Model.update(shape); - // $(obj).hide(); - $(obj).parent().hide().siblings().show().text($(obj) - .find("option:selected").text()); + $(obj).parent().parent().prev().find("a").attr("target", value); + var els = $(obj).parent().find("a"); + Model.update(shape); + // $(obj).hide(); + $(obj).parent().hide().siblings().show().text($(obj) + .find("option:selected").text()); } + // 判断给定的对象是不是数组 function isArray(o) { - return Object.prototype.toString.call(o) === '[object Array]'; + return Object.prototype.toString.call(o) === '[object Array]'; } /** @@ -849,83 +868,83 @@ function isArray(o) { */ function openLink(obj) { - var shape = Utils.getSelected()[0]; - myshapeLink = shape; - if (shape != undefined) { - var x = shape.props['x']; - var y = shape.props['y']; - var menu = $("#link-dialog-normal_contextmenu"); - menu.empty(); - var linksArr = []; - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.linksArray) { - linksArr = attr.linksArray; - break; - } - } - if (linksArr.length == 1) { - openLinkUrlRewrite(linksArr[0].type, linksArr[0].url, - linksArr[0].target, linksArr[0].uuid, '', linksArr[0].name); - } else { - var tempA = []; - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.linksArray) { - tempA = attr.linksArray; - break; - } - } - for (var index = 0; index < tempA.length; index++) { - linkIndex++; - var array_element = tempA[index]; - var content = '
  • ' - + array_element.name - + '
    删除
  • '; - menu.append(content); - } - } - var currentFocus = Utils.getShapeByPosition(x, y, false); - // menu.children().hide(); - var clipLen = Designer.clipboard.elements.length; - if (currentFocus == null) { - // 画布 - if (clipLen > 0) { - menu.children("li[ac=paste]").show(); - menu.children(".devi_clip").show(); - } - } else { - var shape = currentFocus.shape; - menu.children("li[ac=cut]").show(); - } - menu.css({ - display : "block", - "z-index" : Model.orderList.length + 3, - left : x, - top : y - }); - $(document) - .on( - "mousedown.link", - ":not(#link-dialog-normal_contextmenu li):not(#link-dialog-normal_contextmenu ul):not(#link-dialog-normal_contextmenu a):not(#link-dialog-normal_contextmenu div)", - function(e) { - if (this.id == "link-dialog-normal_contextmenu") { - // e.stoppropagation(); - return false; - } - menu.hide(); - }); - } + var shape = Utils.getSelected()[0]; + myshapeLink = shape; + if (shape != undefined) { + var x = shape.props['x']; + var y = shape.props['y']; + var menu = $("#link-dialog-normal_contextmenu"); + menu.empty(); + var linksArr = []; + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.linksArray) { + linksArr = attr.linksArray; + break; + } + } + if (linksArr.length == 1) { + openLinkUrlRewrite(linksArr[0].type, linksArr[0].url, + linksArr[0].target, linksArr[0].uuid, '', linksArr[0].name); + } else { + var tempA = []; + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.linksArray) { + tempA = attr.linksArray; + break; + } + } + for (var index = 0; index < tempA.length; index++) { + linkIndex++; + var array_element = tempA[index]; + var content = '
  • ' + + array_element.name + + '
    删除
  • '; + menu.append(content); + } + } + var currentFocus = Utils.getShapeByPosition(x, y, false); + // menu.children().hide(); + var clipLen = Designer.clipboard.elements.length; + if (currentFocus == null) { + // 画布 + if (clipLen > 0) { + menu.children("li[ac=paste]").show(); + menu.children(".devi_clip").show(); + } + } else { + var shape = currentFocus.shape; + menu.children("li[ac=cut]").show(); + } + menu.css({ + display: "block", + "z-index": Model.orderList.length + 3, + left: x, + top: y + }); + $(document) + .on( + "mousedown.link", + ":not(#link-dialog-normal_contextmenu li):not(#link-dialog-normal_contextmenu ul):not(#link-dialog-normal_contextmenu a):not(#link-dialog-normal_contextmenu div)", + function (e) { + if (this.id == "link-dialog-normal_contextmenu") { + // e.stoppropagation(); + return false; + } + menu.hide(); + }); + } } /** @@ -937,256 +956,260 @@ function openLink(obj) { */ function checkLink(str) { - var shape = Utils.getSelected()[0]; - var linkArr = []; - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.linksArray) { - linkArr = attr.linksArray; - break; - } - } - var flag = false; - for (var index = 0; index < linkArr.length; index++) { - var ele = linkArr[index]; - if (ele.url == str) { - flag = true; - break; - } - } - return flag; + var shape = Utils.getSelected()[0]; + var linkArr = []; + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.linksArray) { + linkArr = attr.linksArray; + break; + } + } + var flag = false; + for (var index = 0; index < linkArr.length; index++) { + var ele = linkArr[index]; + if (ele.url == str) { + flag = true; + break; + } + } + return flag; } + // 隐藏链接重复提示 function removerWarning() { - $("#warningContent").text(""); + $("#warningContent").text(""); } + // 删除所选 链接 function deleteTheLinkNode(str, index) { - window.top.$.mask(); - var options = { - title : "提示", - content : "确定删除所选链接吗?", - model : false, - onConfirm : function() { - var arr = myshapeLink.linksArray; - for (var i = 0; i < myshapeLink.dataAttributes.length; i++) { - var attr = myshapeLink.dataAttributes[i]; - if (attr.linksArray) { - arr = attr.linksArray; - break; - } - } - arr.remove(arr.getIndexByValue(str)); - for (var i = 0; i < myshapeLink.dataAttributes.length; i++) { - var attr = myshapeLink.dataAttributes[i]; - if (attr.linksArray) { - attr.linksArray = arr; - break; - } - } - if (arr.length == 0) { - myshapeLink.link = ""; - } - Designer.painter.renderShape(myshapeLink); - Model.update(myshapeLink); - $("#linkLi_" + index).remove(); - $.simpleAlert("删除成功", "ok", 2000); - //$("#simplealert>.msg").css("top", "15px"); - window.top.$.mask("close"); - }, - onCancel : function() { - window.top.$.mask("close"); - }, - onClose : function() { - window.top.$.mask("close"); - } - }; - window.top.$.confirm(options); + window.top.$.mask(); + var options = { + title: "提示", + content: "确定删除所选链接吗?", + model: false, + onConfirm: function () { + var arr = myshapeLink.linksArray; + for (var i = 0; i < myshapeLink.dataAttributes.length; i++) { + var attr = myshapeLink.dataAttributes[i]; + if (attr.linksArray) { + arr = attr.linksArray; + break; + } + } + arr.remove(arr.getIndexByValue(str)); + for (var i = 0; i < myshapeLink.dataAttributes.length; i++) { + var attr = myshapeLink.dataAttributes[i]; + if (attr.linksArray) { + attr.linksArray = arr; + break; + } + } + if (arr.length == 0) { + myshapeLink.link = ""; + } + Designer.painter.renderShape(myshapeLink); + Model.update(myshapeLink); + $("#linkLi_" + index).remove(); + $.simpleAlert("删除成功", "ok", 2000); + //$("#simplealert>.msg").css("top", "15px"); + window.top.$.mask("close"); + }, + onCancel: function () { + window.top.$.mask("close"); + }, + onClose: function () { + window.top.$.mask("close"); + } + }; + window.top.$.confirm(options); } function removeLinkHistoryByLink(obj) { - var linkType = $("#link_dialog div.awsui-simple-tab").find("a.active").attr("tit"); - window.top.$.mask(); - myshapeLink = Utils.getSelected()[0] - var options = { - title : "提示", - content : "确定删除所选链接吗?", - model : false, - onConfirm : function() { - var arr = myshapeLink.linksArray; - for (var i = 0; i < myshapeLink.dataAttributes.length; i++) { - var attr = myshapeLink.dataAttributes[i]; - if (attr.linksArray) { - arr = attr.linksArray; - break; - } - } - arr.remove(arr.getIndexByValue($(obj).attr("vl"))); - for (var i = 0; i < myshapeLink.dataAttributes.length; i++) { - var attr = myshapeLink.dataAttributes[i]; - if (attr.linksArray) { - attr.linksArray = arr; - break; - } - } - if (arr.length == 0) { - myshapeLink.link = ""; - } - Model.update(myshapeLink); - Designer.painter.renderShape(myshapeLink); - $(obj).parent().parent().remove(); - if (linkType == "custom") { - if ($.trim($("#linksHistoryDiv").text()).length == 0) - $("#linksHistoryDiv").hide(); - } else { - if ($.trim($("#linksFileHistoryDiv").text()).length == 0) - $("#linksFileHistoryDiv").hide(); - } - if (myshapeLink.category == "process_bpmn2") { - $.simpleAlert("删除成功", "ok", 2000); - } else { - $.simpleAlert("删除成功", "ok", 2000); - } - //$("#simplealert>.msg").css("top", "15px"); - window.top.$.mask("close"); - }, - onCancel : function() { - window.top.$.mask("close"); - }, - onClose : function() { - window.top.$.mask("close"); - } - }; - window.top.$.confirm(options); + var linkType = $("#link_dialog div.awsui-simple-tab").find("a.active").attr("tit"); + window.top.$.mask(); + myshapeLink = Utils.getSelected()[0] + var options = { + title: "提示", + content: "确定删除所选链接吗?", + model: false, + onConfirm: function () { + var arr = myshapeLink.linksArray; + for (var i = 0; i < myshapeLink.dataAttributes.length; i++) { + var attr = myshapeLink.dataAttributes[i]; + if (attr.linksArray) { + arr = attr.linksArray; + break; + } + } + arr.remove(arr.getIndexByValue($(obj).attr("vl"))); + for (var i = 0; i < myshapeLink.dataAttributes.length; i++) { + var attr = myshapeLink.dataAttributes[i]; + if (attr.linksArray) { + attr.linksArray = arr; + break; + } + } + if (arr.length == 0) { + myshapeLink.link = ""; + } + Model.update(myshapeLink); + Designer.painter.renderShape(myshapeLink); + $(obj).parent().parent().remove(); + if (linkType == "custom") { + if ($.trim($("#linksHistoryDiv").text()).length == 0) + $("#linksHistoryDiv").hide(); + } else { + if ($.trim($("#linksFileHistoryDiv").text()).length == 0) + $("#linksFileHistoryDiv").hide(); + } + if (myshapeLink.category == "process_bpmn2") { + $.simpleAlert("删除成功", "ok", 2000); + } else { + $.simpleAlert("删除成功", "ok", 2000); + } + //$("#simplealert>.msg").css("top", "15px"); + window.top.$.mask("close"); + }, + onCancel: function () { + window.top.$.mask("close"); + }, + onClose: function () { + window.top.$.mask("close"); + } + }; + window.top.$.confirm(options); } + // 显示链接历史的删除 function showRemoveTrLinkHistory(obj) { - $(obj).children("td").children("span::contains('删除')").show(); - $(obj).children("td").children("span").children("select").show(); + $(obj).children("td").children("span::contains('删除')").show(); + $(obj).children("td").children("span").children("select").show(); } + // 隐藏链接历史的删除按钮 function hideRemoveTrLinkHistory(obj) { - $(obj).children("td").children("span::contains('删除')").hide(); + $(obj).children("td").children("span::contains('删除')").hide(); } function showLinkTree() { - var dlg=FrmDialog.open({ - width:320, - height:380, - url:"./w?sid=" + $("#sid").val() - + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_link_tree&wsid=" - + $("#wsId").val() + "&palId=" + ruuid, - id:"link_tree_iframe", - buttons:[ - { - text:'确定', - cls:"blue", - handler:function(){ - var selectNode = window.frames[dlg.name()].getSelectTreeNode(); - if (selectNode) { - getLinkFileValue(selectNode); - dlg.close(); - } - } - }, - { - text:'取消', - handler:function(){ - dlg.close(); - } - } - ] - }); + var dlg = FrmDialog.open({ + width: 320, + height: 380, + url: "./w?sid=" + $("#sid").val() + + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_link_tree&wsid=" + + $("#wsId").val() + "&palId=" + ruuid, + id: "link_tree_iframe", + buttons: [ + { + text: '确定', + cls: "blue", + handler: function () { + var selectNode = window.frames[dlg.name()].getSelectTreeNode(); + if (selectNode) { + getLinkFileValue(selectNode); + dlg.close(); + } + } + }, + { + text: '取消', + handler: function () { + dlg.close(); + } + } + ] + }); } // 点击链接树后,为文件链接赋值 function getLinkFileValue(treeNode) { - if ($("#linkto_file_name").val() == "") { - $("#linkto_file_name").val(treeNode.name); - } - $("#linkto_file").val(treeNode.name); - $("#linkto_file").attr("uuid", treeNode.id); - var url = "./w?sid=" + sid + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer&uuid=" - + treeNode.id + "&openType=0&perms=" + encodeURIComponent(perms) + "&filePerms=" + encodeURIComponent(filePerms); - $("#linkto_file").attr("url", url); + if ($("#linkto_file_name").val() == "") { + $("#linkto_file_name").val(treeNode.name); + } + $("#linkto_file").val(treeNode.name); + $("#linkto_file").attr("uuid", treeNode.id); + var url = "./w?sid=" + sid + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer&uuid=" + + treeNode.id + "&openType=0&perms=" + encodeURIComponent(perms) + "&filePerms=" + encodeURIComponent(filePerms); + $("#linkto_file").attr("url", url); } // 数属性tab页面效果js function selectAttrTabTag2(showContent, selfObj) { - // 操作标签 - var tag = $("#tabUlContainer li"); - var taglength = tag.length; - for (var i = 0; i < taglength; i++) { - tag[i].className = ""; - } - selfObj.parentNode.className = "selectTag"; - // 操作内容 - for (i = 0; j = document.getElementById("tagContent" + i); i++) { - j.style.display = "none"; - } - document.getElementById(showContent).style.display = "block"; - // 操作选中的tab页的内容 - // 拿 到选中的model对象 - var shape = Utils.getSelected()[0]; - if (shape) { - showShapeRelationTab(null); - attributeShowTabContent(null); - shapeCopyAndPasteCount(shape); - showRelevanceShapesContent(); - } - if ($("#tagContent0").is(":visible") || $("#tagContent2").is(":visible") - || $("#tagContent3").is(":visible")) { - $("#showMoreAttrUL").hide(); - } else { - $("#showMoreAttrUL").show(); - $("#upfile").show(); - $("#relevanceShapes").hide(); - } - if (showContent != "tagContent1") { - $("#upfile").hide(); - $("#showMoreAttrUL").hide(); - } - if (showContent == "tagContent3") { - $("#relevanceShapes").show(); - } else { - $("#relevanceShapes").hide(); - } - if(role == "viewer") { - $("#dock_page_attribute table input").prop("disabled", true); - $("#tagContent1 table input, #tagContent1 table textarea").prop("disabled", true); - } + // 操作标签 + var tag = $("#tabUlContainer li"); + var taglength = tag.length; + for (var i = 0; i < taglength; i++) { + tag[i].className = ""; + } + selfObj.parentNode.className = "selectTag"; + // 操作内容 + for (i = 0; j = document.getElementById("tagContent" + i); i++) { + j.style.display = "none"; + } + document.getElementById(showContent).style.display = "block"; + // 操作选中的tab页的内容 + // 拿 到选中的model对象 + var shape = Utils.getSelected()[0]; + if (shape) { + showShapeRelationTab(null); + attributeShowTabContent(null); + shapeCopyAndPasteCount(shape); + showRelevanceShapesContent(); + } + if ($("#tagContent0").is(":visible") || $("#tagContent2").is(":visible") + || $("#tagContent3").is(":visible")) { + $("#showMoreAttrUL").hide(); + } else { + $("#showMoreAttrUL").show(); + $("#upfile").show(); + $("#relevanceShapes").hide(); + } + if (showContent != "tagContent1") { + $("#upfile").hide(); + $("#showMoreAttrUL").hide(); + } + if (showContent == "tagContent3") { + $("#relevanceShapes").show(); + } else { + $("#relevanceShapes").hide(); + } + if (role == "viewer") { + $("#dock_page_attribute table input").prop("disabled", true); + $("#tagContent1 table input, #tagContent1 table textarea").prop("disabled", true); + } } // 出现复制图形的统计 function shapeCopyAndPasteCount(shape) { - if (!$("#tagContent2").is(":visible")) { - return; - } - if (shape == null) - shape = Utils.getSelected()[0]; - $("#tagContentTableTitleContent2").empty(); - var shapeGroupId = ""; - var isCopy = ""; - var shapeId = shape.id; - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.shapeGroupId) { - shapeGroupId = attr.shapeGroupId; - isCopy = attr.isCopy; - break; - } - } - var data = "shapeGroupId=" + shapeGroupId + "&shapeId=" + shapeId - + "&isCopy=" + isCopy; - /*$.ajax({ + if (!$("#tagContent2").is(":visible")) { + return; + } + if (shape == null) + shape = Utils.getSelected()[0]; + $("#tagContentTableTitleContent2").empty(); + var shapeGroupId = ""; + var isCopy = ""; + var shapeId = shape.id; + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.shapeGroupId) { + shapeGroupId = attr.shapeGroupId; + isCopy = attr.isCopy; + break; + } + } + var data = "shapeGroupId=" + shapeGroupId + "&shapeId=" + shapeId + + "&isCopy=" + isCopy; + /*$.ajax({ type : "POST", url : "./w?sid=" + CLB.sid + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_relation_shape_count", @@ -1225,1543 +1248,1564 @@ function shapeCopyAndPasteCount(shape) { } function showRelevanceShapesContent() { - if (!$("#tagContent3").is(":visible")) { - return; - } - $.ajax({ - type : "POST", - url : "./jd?sid=" - + CLB.sid - + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_relation_shape_relevance_show", - data : { - shapeId : Utils.getSelected()[0].id, - fileId: ruuid - }, - success : function(msg) { - $("#tagContentTableTitleContent3").empty(); - if (msg.data.result == "ok") { - var shapesObj = msg.data.list; - var mouseover = "onmouseout=\"hideRemoveTrAttribute(this);\""; - var mouseout = "onmouseover=\"showRemoveTrAttribute(this);\""; - if (role == "viewer") { - mouseover = ""; - mouseout = ""; - } - for (var i = 0; i < shapesObj.length; i++) { - var style = ""; - var onclick = ""; - if (editable || filePerms == "-" || filePerms.indexOf(shapesObj[i].fileVersionId) > -1) { - style = "cursor:pointer;color:blue;"; - if (parent.openDesginerFromAttr) { - onclick = 'parent.openDesginerFromAttr(\'' - + shapesObj[i].fileId - + '\',0,\'' - + shapesObj[i].fileName - + '\',\'\',\'\',false,\'' - + shapesObj[i].shapeId - + '\')'; - } else if (window.opener.openDesginer) { - var obj = { - id: shapesObj[i].fileId, - processDefId: '' - } - onclick = 'window.opener.openDesginer({id:\'' + shapesObj[i].fileId + '\', processDefId:\'\'})'; - }else if (parent.openLinkUrl){ - if (shapesObj[i].url){ - onclick = 'parent.openLinkUrl(\'custom\',\'' - + shapesObj[i].url - + '\',0,\'' - + shapesObj[i].fileId - + '\',\'this\')'; - }else { - onclick = 'noPermissionMsg()'; - } + if (!$("#tagContent3").is(":visible")) { + return; + } + $.ajax({ + type: "POST", + url: "./jd?sid=" + + CLB.sid + + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_relation_shape_relevance_show", + data: { + shapeId: Utils.getSelected()[0].id, + fileId: ruuid + }, + success: function (msg) { + $("#tagContentTableTitleContent3").empty(); + if (msg.data.result == "ok") { + var shapesObj = msg.data.list; + var mouseover = "onmouseout=\"hideRemoveTrAttribute(this);\""; + var mouseout = "onmouseover=\"showRemoveTrAttribute(this);\""; + if (role == "viewer") { + mouseover = ""; + mouseout = ""; + } + for (var i = 0; i < shapesObj.length; i++) { + var style = ""; + var onclick = ""; + if (editable || filePerms == "-" || filePerms.indexOf(shapesObj[i].fileVersionId) > -1) { + style = "cursor:pointer;color:blue;"; + if (parent.openDesginerFromAttr) { + onclick = 'parent.openDesginerFromAttr(\'' + + shapesObj[i].fileId + + '\',0,\'' + + shapesObj[i].fileName + + '\',\'\',\'\',false,\'' + + shapesObj[i].shapeId + + '\')'; + } else if (window.opener.openDesginer) { + var obj = { + id: shapesObj[i].fileId, + processDefId: '' + } + onclick = 'window.opener.openDesginer({id:\'' + shapesObj[i].fileId + '\', processDefId:\'\'})'; + } else if (parent.openLinkUrl) { + if (shapesObj[i].url) { + onclick = 'parent.openLinkUrl(\'custom\',\'' + + shapesObj[i].url + + '\',0,\'' + + shapesObj[i].fileId + + '\',\'this\')'; + } else { + onclick = 'noPermissionMsg()'; + } - } + } - } - var content = '' - + '
    ' - + shapesObj[i].fileName - + '(V ' + shapesObj[i].fileVersion + '.0)' - + '
    ' - + '
    ' - + shapesObj[i].shapeText - + '
    '; + } + var content = '' + + '
    ' + + shapesObj[i].fileName + + '(V ' + shapesObj[i].fileVersion + '.0)' + + '
    ' + + '
    ' + + shapesObj[i].shapeText + + '
    '; - $("#tagContentTableTitleContent3").append(content); - } - } - } - }); + $("#tagContentTableTitleContent3").append(content); + } + } + } + }); } -function noPermissionMsg(){ - $.simpleAlert("暂无该模型权限","warning",1500); + +function noPermissionMsg() { + $.simpleAlert("暂无该模型权限", "warning", 1500); } // 属性的动态切换 function attributeShowTabContent(currentShape) { - // 属性弹出层显示的内容 - var shape = Utils.getSelected()[0]; - if (!shape) { - return; - } - if (currentShape) { - shape = currentShape - } - if (shape.name === "linker") { - $(".clearfix").hide(); - } else { - $(".clearfix").show(); - } - var attributesJsonArray = ""; - $("#tagContentTable0").empty(); - var currentAttributesJsonArray = []; - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.attributesJsonArray) { - currentAttributesJsonArray = attr.attributesJsonArray; - break; - } - } - if (shape && currentAttributesJsonArray) { + // 属性弹出层显示的内容 + var shape = Utils.getSelected()[0]; + if (!shape) { + return; + } + if (currentShape) { + shape = currentShape + } + if (shape.name === "linker") { + $(".clearfix").hide(); + } else { + $(".clearfix").show(); + } + var attributesJsonArray = ""; + $("#tagContentTable0").empty(); + var currentAttributesJsonArray = []; + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.attributesJsonArray) { + currentAttributesJsonArray = attr.attributesJsonArray; + break; + } + } + if (shape && currentAttributesJsonArray) { - selectShape = shape; - // 参见 这个js中的Designer.events.addEventListener("created", function(a) - // {}函数,改为图形创建时增加私有属性 - attributesJsonArray = currentAttributesJsonArray; - if (shape.name === "linker") { - $("#attribute_name_td_content").html("连线"); - } else { - $("#attribute_name_td_content").html(shape.title); - } - if (shape.text == "") { - $("span[name=attribute_desc_input]").text(shape.title); - } else { - if (shape.text.length > 15) { - var tempText = shape.text; - tempText = tempText.substring(0, 15) - $("span[name=attribute_desc_input]").text(shape.text).attr( - "awsui-qtip", shape.text); - } else { - $("span[name=attribute_desc_input]").text(shape.text); - } - } - // 此处遍历attributesJsonArray输入 内容 - if (attributesJsonArray.length != 0) { - getPrivateAttributeHtml(attributesJsonArray, "tagContentTable0", shape); - } - } else { - if (shape.name === "linker") { - $("#attribute_name_td_content").html("连线"); - } else { - $("#attribute_name_td_content").html(shape.title); - } - if (shape.text.length > 15) { - var tempText = shape.text; - tempText = tempText.substring(0, 15) - $("span[name=attribute_desc_input]").text(shape.text).attr( - "awsui-qtip", shape.text); - } else { - $("span[name=attribute_desc_input]").text(shape.text); - } - // $("#attribute_name_td_desc").val(shape.shapeDesc); - } - $("#dock_content_attribute").show(); - $("#attr_no_more_attribute_id").hide(); - $("#dock_view_header_title").html("数据属性"); + selectShape = shape; + // 参见 这个js中的Designer.events.addEventListener("created", function(a) + // {}函数,改为图形创建时增加私有属性 + attributesJsonArray = currentAttributesJsonArray; + if (shape.name === "linker") { + $("#attribute_name_td_content").html("连线"); + } else { + $("#attribute_name_td_content").html(shape.title); + } + if (shape.text == "") { + $("span[name=attribute_desc_input]").text(shape.title); + } else { + if (shape.text.length > 15) { + var tempText = shape.text; + tempText = tempText.substring(0, 15) + $("span[name=attribute_desc_input]").text(shape.text).attr( + "awsui-qtip", shape.text); + } else { + $("span[name=attribute_desc_input]").text(shape.text); + } + } + // 此处遍历attributesJsonArray输入 内容 + if (attributesJsonArray.length != 0) { + getPrivateAttributeHtml(attributesJsonArray, "tagContentTable0", shape); + } + } else { + if (shape.name === "linker") { + $("#attribute_name_td_content").html("连线"); + } else { + $("#attribute_name_td_content").html(shape.title); + } + if (shape.text.length > 15) { + var tempText = shape.text; + tempText = tempText.substring(0, 15) + $("span[name=attribute_desc_input]").text(shape.text).attr( + "awsui-qtip", shape.text); + } else { + $("span[name=attribute_desc_input]").text(shape.text); + } + // $("#attribute_name_td_desc").val(shape.shapeDesc); + } + $("#dock_content_attribute").show(); + $("#attr_no_more_attribute_id").hide(); + $("#dock_view_header_title").html("数据属性"); } // var dialogTableList = [] var tableObj = {} var curTableId = '' + function getPrivateAttributeHtml(attributesJsonArray, tbodyId, shape) { - // 属性排序 - var defaultMoreAttr = $('#defaultMoreAttrSort').val(); - if (shape.category != undefined) { - var category = shape.category.replace("_", "."); - if("bpmn"==category) { - category = "process.bpmn2"; - } - if (defaultMoreAttr.length == 0) { - attributesJsonArray = []; - } - if(methodId === category) { - var arr = defaultMoreAttr.split('|'); - var tempAttrArray = []; - for(var i = 0; i < arr.length; i++) { - for(var j = 0; j < attributesJsonArray.length; j++) { - if(attributesJsonArray[j] == undefined || attributesJsonArray[j] == null) { - continue; - } - if(arr[i] == attributesJsonArray[j].id) { - tempAttrArray.push(attributesJsonArray[j]); - } - } - } - attributesJsonArray = tempAttrArray; - } - } - var flag = false; - var awsOrg = false; - var awsObjIds = []; - var objIds = []; - var selectFlag = false; - var selectValues = []; - var booleanFlag = false; - var booleanValues = []; - var mouseover = "onmouseout=\"hideRemoveTrAttribute(this);\""; - var mouseout = "onmouseover=\"showRemoveTrAttribute(this);\""; - if (role == "viewer") { - mouseover = ""; - mouseout = ""; - } - $("#" + tbodyId).empty(); - for (var index = 0; index < attributesJsonArray.length; index++) { - var obj = attributesJsonArray[index]; - if (obj != null && obj != undefined && obj.value != undefined) { - var objName = obj.name; - var objType = obj.type; - var objReadonly = obj.readonly; - var objRequired = obj.required; - if (attrDefineObj[obj.id]) { - var attr = attrDefineObj[obj.id]; - objName = attr.name; - objType = attr.type; - objReadonly = attr.readonly; - objRequired = attr.readonly; - } - var requiredSpan = '' - if(obj.isRequired !== null && obj.isRequired) { - requiredSpan = '*' - } + // 属性排序 + var defaultMoreAttr = $('#defaultMoreAttrSort').val(); + if (shape.category != undefined) { + var category = shape.category.replace("_", "."); + if ("bpmn" == category) { + category = "process.bpmn2"; + } + if (defaultMoreAttr.length == 0) { + attributesJsonArray = []; + } + if (methodId === category) { + var arr = defaultMoreAttr.split('|'); + var tempAttrArray = []; + for (var i = 0; i < arr.length; i++) { + for (var j = 0; j < attributesJsonArray.length; j++) { + if (attributesJsonArray[j] == undefined || attributesJsonArray[j] == null) { + continue; + } + if (arr[i] == attributesJsonArray[j].id) { + tempAttrArray.push(attributesJsonArray[j]); + } + } + } + attributesJsonArray = tempAttrArray; + } + } + var flag = false; + var awsOrg = false; + var awsObjIds = []; + var objIds = []; + var selectFlag = false; + var selectValues = []; + var booleanFlag = false; + var booleanValues = []; + var mouseover = "onmouseout=\"hideRemoveTrAttribute(this);\""; + var mouseout = "onmouseover=\"showRemoveTrAttribute(this);\""; + if (role == "viewer") { + mouseover = ""; + mouseout = ""; + } + $("#" + tbodyId).empty(); + for (var index = 0; index < attributesJsonArray.length; index++) { + var obj = attributesJsonArray[index]; + if (obj != null && obj != undefined && obj.value != undefined) { + var objName = obj.name; + var objType = obj.type; + var objReadonly = obj.readonly; + var objRequired = obj.required; + if (attrDefineObj[obj.id]) { + var attr = attrDefineObj[obj.id]; + objName = attr.name; + objType = attr.type; + objReadonly = attr.readonly; + objRequired = attr.readonly; + } + var requiredSpan = '' + if (obj.isRequired !== null && obj.isRequired) { + requiredSpan = '*' + } - var isdesc=obj.desc==undefined?"":obj.desc; - var constr = '' - + ' ' + objName + requiredSpan + '' - + ' ' - + '
    ' + obj.value + '
    ' - + ' '; - if ((!objReadonly && objType == "string") || (!objReadonly && objType == "list") || (!objReadonly && objType == "link")) { - // 目前支持到文本的输入 ,需求定下了再改 - constr = '' - + ' ' + objName + requiredSpan + '' - + ' ' - + ' ' - + ' '; - } else if (!objReadonly && objType == "number") { - constr = '' - + ' ' + objName + requiredSpan + '' - + ' ' - + ' ' - //+ '
    ' - + ''; - } else if (!objReadonly && objType == "boolean") { - booleanFlag = true; - var booleanValue = { "objId" : obj.id, - "objValue" : obj.value, - "objOptions" : obj.ref, - "objType": objType}; - booleanValues.push(booleanValue); - constr = '' - + ' ' + objName + '' - + ' ' - + '' - /*+ ' ' + + ' ' + objName + requiredSpan + '' + + ' ' + + '
    ' + obj.value + '
    ' + + ' '; + if ((!objReadonly && objType == "string") || (!objReadonly && objType == "list") || (!objReadonly && objType == "link")) { + // 目前支持到文本的输入 ,需求定下了再改 + constr = '' + + ' ' + objName + requiredSpan + '' + + ' ' + + ' ' + + ' '; + } else if (!objReadonly && objType == "number") { + constr = '' + + ' ' + objName + requiredSpan + '' + + ' ' + + ' ' + //+ '
    ' + + ''; + } else if (!objReadonly && objType == "boolean") { + booleanFlag = true; + var booleanValue = { + "objId": obj.id, + "objValue": obj.value, + "objOptions": obj.ref, + "objType": objType + }; + booleanValues.push(booleanValue); + constr = '' + + ' ' + objName + '' + + ' ' + + '' + /*+ ' '*/ - //+ '
    ' - + ' ' - + ''; - } else if (!objReadonly && objType == "textarea") { - constr = '' - + '' + objName + requiredSpan + '' - + '' - + '' - //+ '
    ' - + '' - + ''; - } else if (objType == "relation") { - flag = true; - // 形状的关联 - objIds.push(obj.id); + //+ '
    ' + + ' ' + + ''; + } else if (!objReadonly && objType == "textarea") { + constr = '' + + '' + objName + requiredSpan + '' + + '' + + '' + //+ '
    ' + + '' + + ''; + } else if (objType == "relation") { + flag = true; + // 形状的关联 + objIds.push(obj.id); - constr = '' - + ' ' + objName + requiredSpan + '' - + ' ' - + ' ' - + ' ' - + ''; + constr = '' + + ' ' + objName + requiredSpan + '' + + ' ' + + ' ' + + ' ' + + ''; - } else if (objType == "select" || objType == "select_m") { - selectFlag = true; - var selectValue = { "objId" : obj.id, - "objValue" : obj.value, - "objType": objType}; - selectValues.push(selectValue); + } else if (objType == "select" || objType == "select_m") { + selectFlag = true; + var selectValue = { + "objId": obj.id, + "objValue": obj.value, + "objType": objType + }; + selectValues.push(selectValue); - constr = '' - + ' ' + objName + requiredSpan + '' - + ' ' - + '' - /*+ ' ' + + ' ' + objName + requiredSpan + '' + + ' ' + + '' + /*+ ' '*/ - //+ '
    ' - + ' ' - + ''; - } else if (objType == "awsorg") {// 平台组织架构(部门、岗位、人员、角色) - awsOrg = true; - awsObjIds.push(obj.id); - constr = '' - + ' ' + objName + requiredSpan + '' - + ' ' - + ' ' - + ' ' - + ''; - } else if (objReadonly && objType == "hidden") { - constr = '' - + ' ' + objName + requiredSpan + '' - + ' ' - + ' ' - //+ '
    ' - + ''; - } else if (!objReadonly && objType == "DateTimePicker") { - constr = '' - + ' ' + objName + requiredSpan + '' - + ' ' - + ' ' - + ' '; - } else if (!objReadonly && objType == "table") { - let objRef = JSON.parse(obj.ref) - let objTableInput = obj.value.table !== undefined && obj.value.table.length > 1 ? '请查看' : '请输入' - tableObj[obj.id] = obj.value.table == undefined ? [ { id: Utils.newId() ,name: objRef.firstColumn, desc: objRef.secondColumn} ] : obj.value.table; - // dialogTableList = obj.value.table == undefined ? [ { id: Utils.newId() ,name: objRef.firstColumn, desc: objRef.secondColumn} ] : obj.value.table; - constr = '' - + ' ' + objName + requiredSpan + '' - + ' ' - + '' - + ' ' - + ' ' - + ' ' - + ' ' - + '' - + ' '; - } - $("#" + tbodyId).append(constr); - $("#dateTimePicker_" + obj.id).datepicker({dateFmt:"yyyy-MM-dd"}); - } - } - if (flag) { - getRelevanceShapeNameByShapeId(objIds, shape.id); - } - if (selectFlag) { - getSelectOptions(shape.category, selectValues, shape.id); //处理select类型 - } - if (booleanFlag) { - getBooleanSelectOptions(booleanValues, shape.id); - } - // awsOrg - if (awsOrg) { - getRelevanceAwsOrgNameByShapeId(awsObjIds, shape.id); - } + //+ '
    ' + + ' ' + + ''; + } else if (objType == "awsorg") {// 平台组织架构(部门、岗位、人员、角色) + awsOrg = true; + awsObjIds.push(obj.id); + constr = '' + + ' ' + objName + requiredSpan + '' + + ' ' + + ' ' + + ' ' + + ''; + } else if (objReadonly && objType == "hidden") { + constr = '' + + ' ' + objName + requiredSpan + '' + + ' ' + + ' ' + //+ '
    ' + + ''; + } else if (!objReadonly && objType == "DateTimePicker") { + constr = '' + + ' ' + objName + requiredSpan + '' + + ' ' + + ' ' + + ' '; + } else if (!objReadonly && objType == "table") { + let objRef = JSON.parse(obj.ref) + let objTableInput = obj.value.table !== undefined && obj.value.table.length > 1 ? '请查看' : '请输入' + tableObj[obj.id] = obj.value.table == undefined ? [{ + id: Utils.newId(), + name: objRef.firstColumn, + desc: objRef.secondColumn + }] : obj.value.table; + // dialogTableList = obj.value.table == undefined ? [ { id: Utils.newId() ,name: objRef.firstColumn, desc: objRef.secondColumn} ] : obj.value.table; + constr = '' + + ' ' + objName + requiredSpan + '' + + ' ' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + ' '; + } + $("#" + tbodyId).append(constr); + $("#dateTimePicker_" + obj.id).datepicker({dateFmt: "yyyy-MM-dd"}); + } + } + if (flag) { + getRelevanceShapeNameByShapeId(objIds, shape.id); + } + if (selectFlag) { + getSelectOptions(shape.category, selectValues, shape.id); //处理select类型 + } + if (booleanFlag) { + getBooleanSelectOptions(booleanValues, shape.id); + } + // awsOrg + if (awsOrg) { + getRelevanceAwsOrgNameByShapeId(awsObjIds, shape.id); + } } // 得到关联形状 -function getRelevanceShapes(objId,attributeValue) { - $("#attr_dialog_normal_relevance_shapes_div").dialog('close'); - selectShape = Utils.getSelected()[0]; - var shape = selectShape; - if (!shape) { - return; - } - var relationShapes = attr_content_iframe_relevance_shapes.getRelationShapeInfos(); +function getRelevanceShapes(objId, attributeValue) { + $("#attr_dialog_normal_relevance_shapes_div").dialog('close'); + selectShape = Utils.getSelected()[0]; + var shape = selectShape; + if (!shape) { + return; + } + var relationShapes = attr_content_iframe_relevance_shapes.getRelationShapeInfos(); - var shapeGroupId = ""; - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.shapeGroupId != undefined && attr.shapeGroupId != "") { - shapeGroupId = attr.shapeGroupId; - break; - } - } - shape = getAttributeByAttrId(shape, objId, relationShapes); - saveRelevanceShapesTODB(relationShapes, shape.id, shape.text, $("title").text(), shapeGroupId, objId, shape,attributeValue); + var shapeGroupId = ""; + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.shapeGroupId != undefined && attr.shapeGroupId != "") { + shapeGroupId = attr.shapeGroupId; + break; + } + } + shape = getAttributeByAttrId(shape, objId, relationShapes); + saveRelevanceShapesTODB(relationShapes, shape.id, shape.text, $("title").text(), shapeGroupId, objId, shape, attributeValue); } -Array.prototype.unique = function(){ - var res = []; - var json = {}; - for(var i = 0; i < this.length; i++){ - if(!json[this[i]]){ - res.push(this[i]); - json[this[i]] = 1; - } - } - return res; +Array.prototype.unique = function () { + var res = []; + var json = {}; + for (var i = 0; i < this.length; i++) { + if (!json[this[i]]) { + res.push(this[i]); + json[this[i]] = 1; + } + } + return res; } // 得到不同属性值关联的形状 function getAttributeByAttrId(shape, objId, relationShapes) { - //objId 属性的key值 - var exitAttributesJsonArray = []; - var attrArr = []; //修改后的属性值 + //objId 属性的key值 + var exitAttributesJsonArray = []; + var attrArr = []; //修改后的属性值 - for (var i = 0; i < relationShapes.length; i++) { - var shapeObjT = relationShapes[i]; - attrArr.push(shapeObjT.relationShapeId); - } - attrArr = attrArr.unique(); //属性值去重 - if (attrArr.length > 0) { - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.attributesJsonArray) { - exitAttributesJsonArray = attr.attributesJsonArray; - break; - } - } - for (var c = 0; c < exitAttributesJsonArray.length; c++) { - var el = exitAttributesJsonArray[c]; - if(el == null) continue; - if (el.id == objId) { - el.value = attrArr.join(","); - break; - } - } - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.attributesJsonArray) { - attr.attributesJsonArray = exitAttributesJsonArray; - break; - } - } - for (var j = 0, len = attrArr.length; j < len; j++) { - var attrShapeId = attrArr[j]; - relationShapesObject[attrShapeId] = {"relationShapeId" : attrShapeId}; - } - $("input[objid_shapeId='" + objId + "']").val(attrArr.join(",")); - } else { - $("input[objid_shapeId='" + objId + "']").val(""); - } + for (var i = 0; i < relationShapes.length; i++) { + var shapeObjT = relationShapes[i]; + attrArr.push(shapeObjT.relationShapeId); + } + attrArr = attrArr.unique(); //属性值去重 + if (attrArr.length > 0) { + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.attributesJsonArray) { + exitAttributesJsonArray = attr.attributesJsonArray; + break; + } + } + for (var c = 0; c < exitAttributesJsonArray.length; c++) { + var el = exitAttributesJsonArray[c]; + if (el == null) continue; + if (el.id == objId) { + el.value = attrArr.join(","); + break; + } + } + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.attributesJsonArray) { + attr.attributesJsonArray = exitAttributesJsonArray; + break; + } + } + for (var j = 0, len = attrArr.length; j < len; j++) { + var attrShapeId = attrArr[j]; + relationShapesObject[attrShapeId] = {"relationShapeId": attrShapeId}; + } + $("input[objid_shapeId='" + objId + "']").val(attrArr.join(",")); + } else { + $("input[objid_shapeId='" + objId + "']").val(""); + } - return shape; + return shape; } -Array.prototype.notDistinct = function() { - var newArr = [], obj = {}; - for (var i = 0, len = this.length; i < len; i++) { - if (!obj[this[i]]) { - newArr.push(this[i]); - obj[this[i]] = 'new'; - } - } - return newArr; + +Array.prototype.notDistinct = function () { + var newArr = [], obj = {}; + for (var i = 0, len = this.length; i < len; i++) { + if (!obj[this[i]]) { + newArr.push(this[i]); + obj[this[i]] = 'new'; + } + } + return newArr; } // 删除掉关联形状 function removeTrRelevanceShapes(obj) { - var options = { - title : "提示", - content : "确定删除吗?", - model : false, - onConfirm : function() { - // 确定删除 - var shape = Utils.getSelected()[0]; - var tempArray = []; - var count = 0; - if (shape) { - var relevanceShapes = []; - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.relevanceShapes) { - relevanceShapes = attr.relevanceShapes; - break; - } - } - for (var index = 0; index < relevanceShapes.length; index++) { - var tempObj = relevanceShapes[index]; - if (tempObj.id == $(obj).attr("objid")) { - continue; - } - tempArray[count++] = tempObj; - } - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.relevanceShapes) { - attr.relevanceShapes = tempArray; - break; - } - } - Model.update(shape); - } - $(obj).hide(); - $(obj).parent().parent().remove(); - $.ajax({ - type : "POST", - url : "./jd?sid=" - + CLB.sid - + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_relation_shape_relevance_remove", - data : { - uuid : $(obj).attr("objid"), - }, - success : function(msg) { - } - }); - } - }; - window.top.$.confirm(options); + var options = { + title: "提示", + content: "确定删除吗?", + model: false, + onConfirm: function () { + // 确定删除 + var shape = Utils.getSelected()[0]; + var tempArray = []; + var count = 0; + if (shape) { + var relevanceShapes = []; + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.relevanceShapes) { + relevanceShapes = attr.relevanceShapes; + break; + } + } + for (var index = 0; index < relevanceShapes.length; index++) { + var tempObj = relevanceShapes[index]; + if (tempObj.id == $(obj).attr("objid")) { + continue; + } + tempArray[count++] = tempObj; + } + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.relevanceShapes) { + attr.relevanceShapes = tempArray; + break; + } + } + Model.update(shape); + } + $(obj).hide(); + $(obj).parent().parent().remove(); + $.ajax({ + type: "POST", + url: "./jd?sid=" + + CLB.sid + + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_relation_shape_relevance_remove", + data: { + uuid: $(obj).attr("objid"), + }, + success: function (msg) { + } + }); + } + }; + window.top.$.confirm(options); } // 过虑 掉重复的图形 function filterRepeatShapes(arr1, shape) { - var arr2 = []; - var arr = []; - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.relevanceShapes) { - arr2 = attr.relevanceShapes; - break; - } - } - var flag = false; - for (var a = 0; a < arr1.length; a++) { - var arrEle1 = arr1[a]; - for (var b = 0; b < arr2.length; b++) { - var arrEle2 = arr2[b]; - if (arrEle1.id == arrEle2.id) { - flag = true; - break; - } - } - if (flag) { - flag = false; - continue; - } - arr2.push(arrEle1); - } - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.relevanceShapes) { - attr.relevanceShapes = arr2; - break; - } - } + var arr2 = []; + var arr = []; + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.relevanceShapes) { + arr2 = attr.relevanceShapes; + break; + } + } + var flag = false; + for (var a = 0; a < arr1.length; a++) { + var arrEle1 = arr1[a]; + for (var b = 0; b < arr2.length; b++) { + var arrEle2 = arr2[b]; + if (arrEle1.id == arrEle2.id) { + flag = true; + break; + } + } + if (flag) { + flag = false; + continue; + } + arr2.push(arrEle1); + } + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.relevanceShapes) { + attr.relevanceShapes = arr2; + break; + } + } - return shape; + return shape; } function updateModelElementsAttribute(selectedShape, nodes) { - var shapes = Model.define.elements; - for (var shapeId in shapes) { - var obj = nodes; - var shape = shapes[shapeId]; - if(shape.name != "linker" && shape.id != selectedShape.id && shape.name == selectedShape.name){ - var exitAttributesJsonArray = []; - var attrIndex = 0; - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.attributesJsonArray) { - exitAttributesJsonArray = attr.attributesJsonArray; - attrIndex = i; - break; - } - } - var arrJsontemp = []; - for (var t = 0; t < exitAttributesJsonArray.length; t++) { - if(exitAttributesJsonArray[t] == null) { - continue; - } - arrJsontemp.push(exitAttributesJsonArray[t]); - } - obj = filterRepeatAttribute(obj, exitAttributesJsonArray, shape.dataAttributes[attrIndex].attributesJsonArray); - for (var a = 0; a < obj.length; a++) { - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.attributesJsonArray) { - attr.attributesJsonArray.push(obj[a]); - break; - } - } - } - if (arrJsontemp.length != 0) { - var tempArr = removeShepeAttributeAndReturnDifferent(arrJsontemp, filterNotCheckedAttribute(nodes, arrJsontemp)); - var tempArray = []; - for (var e = 0; e < tempArr.length; e++) { - if (tempArr[e] != 0 && tempArr[e] != "0") { - removeNotCheckedAttribute(shape, tempArr[e]); - } - } - if (tempArray.length != 0) { - shape.attributesJsonArray = tempArray; - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.attributesJsonArray) { - attr.attributesJsonArray = tempArray; - break; - } - } - } - } - Model.update(shape); - //修改属性时,后台查询是否有关联属性,如果删除的属性有关联属性,需要删除关联表中的数据 - var attrIds = ","; - if (nodes != undefined) { - for (var i = 0; i < nodes.length; i++) { - if (nodes[i].type) { - attrIds += nodes[i].id + ","; - } - } - awsui.ajax.request({ - url : "./jd", - method : "POST", - data : { - sid:sid, - cmd:"com.actionsoft.apps.coe.pal_pl_repository_designer_relation_shape_relevance_check", - fileId: ruuid, - shapeId: shape.id, - attrIds: attrIds - }, - ok : function(r) { - }, - err:function(r){ - } - }); - } - } - } + var shapes = Model.define.elements; + for (var shapeId in shapes) { + var obj = nodes; + var shape = shapes[shapeId]; + if (shape.name != "linker" && shape.id != selectedShape.id && shape.name == selectedShape.name) { + var exitAttributesJsonArray = []; + var attrIndex = 0; + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.attributesJsonArray) { + exitAttributesJsonArray = attr.attributesJsonArray; + attrIndex = i; + break; + } + } + var arrJsontemp = []; + for (var t = 0; t < exitAttributesJsonArray.length; t++) { + if (exitAttributesJsonArray[t] == null) { + continue; + } + arrJsontemp.push(exitAttributesJsonArray[t]); + } + obj = filterRepeatAttribute(obj, exitAttributesJsonArray, shape.dataAttributes[attrIndex].attributesJsonArray); + for (var a = 0; a < obj.length; a++) { + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.attributesJsonArray) { + attr.attributesJsonArray.push(obj[a]); + break; + } + } + } + if (arrJsontemp.length != 0) { + var tempArr = removeShepeAttributeAndReturnDifferent(arrJsontemp, filterNotCheckedAttribute(nodes, arrJsontemp)); + var tempArray = []; + for (var e = 0; e < tempArr.length; e++) { + if (tempArr[e] != 0 && tempArr[e] != "0") { + removeNotCheckedAttribute(shape, tempArr[e]); + } + } + if (tempArray.length != 0) { + shape.attributesJsonArray = tempArray; + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.attributesJsonArray) { + attr.attributesJsonArray = tempArray; + break; + } + } + } + } + Model.update(shape); + //修改属性时,后台查询是否有关联属性,如果删除的属性有关联属性,需要删除关联表中的数据 + var attrIds = ","; + if (nodes != undefined) { + for (var i = 0; i < nodes.length; i++) { + if (nodes[i].type) { + attrIds += nodes[i].id + ","; + } + } + awsui.ajax.request({ + url: "./jd", + method: "POST", + data: { + sid: sid, + cmd: "com.actionsoft.apps.coe.pal_pl_repository_designer_relation_shape_relevance_check", + fileId: ruuid, + shapeId: shape.id, + attrIds: attrIds + }, + ok: function (r) { + }, + err: function (r) { + } + }); + } + } + } } // 过虑出当在节点上不选中时的属性 function filterNotCheckedAttribute(checkedObj, exitObj) { - var result1 = []; - if (checkedObj.length == 0) { - return []; - } else { - var flag = false; - for (var b = 0; b < checkedObj.length; b++) { - var checkedArr1 = checkedObj[b]; - for (var a = 0; a < exitObj.length; a++) { - var exitArr1 = exitObj[a]; - if (exitArr1.id == checkedArr1.id) { - result1.push(checkedArr1); - break; - } - } - } - return result1; - } + var result1 = []; + if (checkedObj.length == 0) { + return []; + } else { + var flag = false; + for (var b = 0; b < checkedObj.length; b++) { + var checkedArr1 = checkedObj[b]; + for (var a = 0; a < exitObj.length; a++) { + var exitArr1 = exitObj[a]; + if (exitArr1.id == checkedArr1.id) { + result1.push(checkedArr1); + break; + } + } + } + return result1; + } } // 移除图形属性中部分已存在的元素并返回不同元素 function removeShepeAttributeAndReturnDifferent(exitObj, newObj1) { - var result1 = []; - for (var a = 0; a < newObj1.length; a++) { - var obj1 = newObj1[a]; - for (var i = 0, n = 0; i < exitObj.length; i++) { - if (exitObj[i].id == obj1.id) { - result1.push(i); - break; - } - } - } - for (var i = 0; i < result1.length; i++) { - exitObj[result1[i]] = 0; - } - return exitObj; + var result1 = []; + for (var a = 0; a < newObj1.length; a++) { + var obj1 = newObj1[a]; + for (var i = 0, n = 0; i < exitObj.length; i++) { + if (exitObj[i].id == obj1.id) { + result1.push(i); + break; + } + } + } + for (var i = 0; i < result1.length; i++) { + exitObj[result1[i]] = 0; + } + return exitObj; } + // 删除没有选中的元素 function removeNotCheckedAttribute(shape, obj1) { - var tempArray = []; - var attributesJsonArray1 = []; - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.attributesJsonArray) { - attributesJsonArray1 = attr.attributesJsonArray; - break; - } - } - for (var index = 0; index < attributesJsonArray1.length; index++) { - if(attributesJsonArray1[index] == null) { - continue; - } - var tempObj1 = attributesJsonArray1[index]; - if (tempObj1.id == obj1.id) { - continue; - } - tempArray.push(tempObj1); - } - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.attributesJsonArray) { - attr.attributesJsonArray = tempArray; - break; - } - } - // shape.attributesJsonArray = tempArray; - // Model.update(shape); - $("#tagContentTable0 tr[objid='" + obj1.id + "']").remove(); + var tempArray = []; + var attributesJsonArray1 = []; + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.attributesJsonArray) { + attributesJsonArray1 = attr.attributesJsonArray; + break; + } + } + for (var index = 0; index < attributesJsonArray1.length; index++) { + if (attributesJsonArray1[index] == null) { + continue; + } + var tempObj1 = attributesJsonArray1[index]; + if (tempObj1.id == obj1.id) { + continue; + } + tempArray.push(tempObj1); + } + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.attributesJsonArray) { + attr.attributesJsonArray = tempArray; + break; + } + } + // shape.attributesJsonArray = tempArray; + // Model.update(shape); + $("#tagContentTable0 tr[objid='" + obj1.id + "']").remove(); } + // 过滤掉重复的属性生成新的数组 function filterRepeatAttribute(arr1, arr2, shape) { - var result = []; - var flag = false; - for (var a = 0; a < arr1.length; a++) { - var arrEle1 = arr1[a]; - for (var b = 0; b < arr2.length; b++) { - var arrEle2 = arr2[b]; - if(arrEle2 == null) { - continue; - } - if (arrEle1.id == arrEle2.id) { - shape[b].name = arrEle1.name; - flag = true; - break; - } - } - if (flag) { - flag = false; - continue; - } - result.push(arrEle1); - } + var result = []; + var flag = false; + for (var a = 0; a < arr1.length; a++) { + var arrEle1 = arr1[a]; + for (var b = 0; b < arr2.length; b++) { + var arrEle2 = arr2[b]; + if (arrEle2 == null) { + continue; + } + if (arrEle1.id == arrEle2.id) { + shape[b].name = arrEle1.name; + flag = true; + break; + } + } + if (flag) { + flag = false; + continue; + } + result.push(arrEle1); + } - return result; + return result; } // 当属性为可编辑时,编辑时自动保存 function showEditButton(obj) { - // $(obj).siblings("span::contains('...')").show(); + // $(obj).siblings("span::contains('...')").show(); } var inputUpdate = false; -function saveInputContent(obj,value) { - // 按钮 - // $(obj).siblings("span::contains('...')").hide(); - inputUpdate = true; - var objValue = $(obj).val(); - if (objValue.indexOf("") > -1) { - $(obj).val(""); - $.simpleAlert("禁止输入js脚本!", "warning"); - return; - } - if(value !== undefined && value.isRequired && objValue == '') { - $(obj).attr('placeholder',value.name + '不能为空') - $(obj).addClass("required_input_css"); - return; - } - if ($(obj).attr("inputType") == "number") { - var val = $(obj).val(); - if (/\D/.test(val)) { - $.simpleAlert("此处只能输入数字", "warning", 2000); - //$("#simplealert>.msg").css("top", "15px"); - return; - } - } - updateAttributeById($(obj).attr("objid"), objValue, $(obj).attr('data-shapeId')); - inputUpdate = false; + +function saveInputContent(obj, value) { + // 按钮 + // $(obj).siblings("span::contains('...')").hide(); + inputUpdate = true; + var objValue = $(obj).val(); + if (objValue.indexOf("") > -1) { + $(obj).val(""); + $.simpleAlert("禁止输入js脚本!", "warning"); + return; + } + if (value !== undefined && value.isRequired && objValue == '') { + $(obj).attr('placeholder', value.name + '不能为空') + $(obj).addClass("required_input_css"); + return; + } + if ($(obj).attr("inputType") == "number") { + var val = $(obj).val(); + if (/\D/.test(val)) { + $.simpleAlert("此处只能输入数字", "warning", 2000); + //$("#simplealert>.msg").css("top", "15px"); + return; + } + } + updateAttributeById($(obj).attr("objid"), objValue, $(obj).attr('data-shapeId')); + inputUpdate = false; } -function saveSelectContent(objAttr,objValue, shapeId){ - updateAttributeById(objAttr, objValue, shapeId); +function saveSelectContent(objAttr, objValue, shapeId) { + updateAttributeById(objAttr, objValue, shapeId); } // 显示select下拉框 function showSelectOption(obj) { - var str = $(obj).attr("ty"); - if (str == "td") { - $(obj).children("select").show(); - $(obj).children("span").hide(); - } else { - updateAttributeById($(obj).attr("objid"), $(obj) - .find("option:selected").text()); - $(obj).hide(); - $(obj).siblings("span").text($(obj).find("option:selected").text()) - .show(); - } + var str = $(obj).attr("ty"); + if (str == "td") { + $(obj).children("select").show(); + $(obj).children("span").hide(); + } else { + updateAttributeById($(obj).attr("objid"), $(obj) + .find("option:selected").text()); + $(obj).hide(); + $(obj).siblings("span").text($(obj).find("option:selected").text()) + .show(); + } } // 属性编辑打开窗口 function showAttributedEditWindow(obj) { - var objId = $(obj).attr("objid"); - var shape = Utils.getSelected()[0]; - var windowTitle = '提示'; - let objValue = {} - if (shape) { - var attributesJsonArray = []; - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.attributesJsonArray) { - attributesJsonArray = attr.attributesJsonArray; - break; - } - } - for (var index = 0; index < attributesJsonArray.length; index++) { - var tempObj = attributesJsonArray[index]; - if (tempObj.id == objId) { - objValue = tempObj - windowTitle = tempObj.name; - // $("#attribute-edit-title").text(tempObj.name); - $("#attribute-edit-content").val(tempObj.value); - break; - } - } - } - $("#attribute-edit-window").dialog({ - title: windowTitle, - draggable: true, - buttons : [{ - text : '确定', - cls : "blue", - handler : function() { - var str = $("#attribute-edit-content").val(); - if (str.indexOf("") > -1) { - $("#attribute-edit-content").val(""); - $.simpleAlert("禁止输入js脚本!", "warning"); - return; - } - if(objValue.isRequired && str == '') { - $("#attribute-edit-content").attr('placeholder',objValue.name + '不能为空') - $("#attribute-edit-content").addClass("required_input_css"); - return - } - updateAttributeById($(obj).attr("objid"), str); - $(obj).val(str); - $("#attribute-edit-window").dialog('close'); - } - }, { - text : '取消', - handler : function() { - $("#attribute-edit-window").dialog('close'); - } - }] - }); - $("#attribute-edit-content").focus(); + var objId = $(obj).attr("objid"); + var shape = Utils.getSelected()[0]; + var windowTitle = '提示'; + let objValue = {} + if (shape) { + var attributesJsonArray = []; + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.attributesJsonArray) { + attributesJsonArray = attr.attributesJsonArray; + break; + } + } + for (var index = 0; index < attributesJsonArray.length; index++) { + var tempObj = attributesJsonArray[index]; + if (tempObj.id == objId) { + objValue = tempObj + windowTitle = tempObj.name; + // $("#attribute-edit-title").text(tempObj.name); + $("#attribute-edit-content").val(tempObj.value); + break; + } + } + } + $("#attribute-edit-window").dialog({ + title: windowTitle, + draggable: true, + buttons: [{ + text: '确定', + cls: "blue", + handler: function () { + var str = $("#attribute-edit-content").val(); + if (str.indexOf("") > -1) { + $("#attribute-edit-content").val(""); + $.simpleAlert("禁止输入js脚本!", "warning"); + return; + } + if (objValue.isRequired && str == '') { + $("#attribute-edit-content").attr('placeholder', objValue.name + '不能为空') + $("#attribute-edit-content").addClass("required_input_css"); + return + } + updateAttributeById($(obj).attr("objid"), str); + $(obj).val(str); + $("#attribute-edit-window").dialog('close'); + } + }, { + text: '取消', + handler: function () { + $("#attribute-edit-window").dialog('close'); + } + }] + }); + $("#attribute-edit-content").focus(); } // table表格 -function openTableDialog(obj,value) { - let tableName = '提示' - let objId = $(obj).attr("objid"); - curTableId = objId - let dialogTableList = tableObj[objId] - let shape = Utils.getSelected()[0]; - if (shape) { - let attributesJsonArray = []; - for (let i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.attributesJsonArray) { - attributesJsonArray = attr.attributesJsonArray; - break; - } - } - for (let index = 0; index < attributesJsonArray.length; index++) { - var tempObj = attributesJsonArray[index]; - if (tempObj.id == objId) { - tableName = tempObj.name; - break; - } - } - } - $('#attribute-table-content').empty() - $('#attribute-add-content').empty() - var thead = - '' - + '' - + dialogTableList[0].name - + '' - + '' - + dialogTableList[0].desc - + '' - + '操作' - + '' - $('#attribute-table-content').append(thead) - for ( let i = 1; i < dialogTableList.length; i++) { - let str = - '' - + '' - + '' - + '' - + '' - + '' - + '' - + '删除' - +'' - $('#attribute-table-content').append(str) - } - $('#attribute-add-content').append('') - // tableInputHeight() +function openTableDialog(obj, value) { + let tableName = '提示' + let objId = $(obj).attr("objid"); + curTableId = objId + let dialogTableList = tableObj[objId] + let shape = Utils.getSelected()[0]; + if (shape) { + let attributesJsonArray = []; + for (let i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.attributesJsonArray) { + attributesJsonArray = attr.attributesJsonArray; + break; + } + } + for (let index = 0; index < attributesJsonArray.length; index++) { + var tempObj = attributesJsonArray[index]; + if (tempObj.id == objId) { + tableName = tempObj.name; + break; + } + } + } + $('#attribute-table-content').empty() + $('#attribute-add-content').empty() + var thead = + '' + + '' + + dialogTableList[0].name + + '' + + '' + + dialogTableList[0].desc + + '' + + '操作' + + '' + $('#attribute-table-content').append(thead) + for (let i = 1; i < dialogTableList.length; i++) { + let str = + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '删除' + + '' + $('#attribute-table-content').append(str) + } + $('#attribute-add-content').append('') + // tableInputHeight() - $("#attribute-table-window").dialog({ - draggable: true, - title: tableName, - buttons : [{ - text : '确定', - cls : "blue", - handler : function() { - let inputs = $('#attribute-table-content').find('textarea') - for (let i = 1; i < dialogTableList.length; i++) { - dialogTableList[i].name = inputs[2*(i-1)].value - dialogTableList[i].desc = inputs[2*(i-1) +1].value - } - let tableObj = { - name: tableName, - table: dialogTableList - } - if(dialogTableList.some(item => item.name == '') || dialogTableList.some(item => item.desc == '')) { - $.simpleAlert("表格内容不能存在空值",'warning') - } else { - updateAttributeById($(obj).attr("objid"), tableObj); - $("#attribute-table-window").dialog('close'); - } - } - }, { - text : '取消', - handler : function() { - $("#attribute-table-window").dialog('close'); - } - }] - }) + $("#attribute-table-window").dialog({ + draggable: true, + title: tableName, + buttons: [{ + text: '确定', + cls: "blue", + handler: function () { + let inputs = $('#attribute-table-content').find('textarea') + for (let i = 1; i < dialogTableList.length; i++) { + dialogTableList[i].name = inputs[2 * (i - 1)].value + dialogTableList[i].desc = inputs[2 * (i - 1) + 1].value + } + let tableObj = { + name: tableName, + table: dialogTableList + } + if (dialogTableList.some(item => item.name == '') || dialogTableList.some(item => item.desc == '')) { + $.simpleAlert("表格内容不能存在空值", 'warning') + } else { + updateAttributeById($(obj).attr("objid"), tableObj); + $("#attribute-table-window").dialog('close'); + } + } + }, { + text: '取消', + handler: function () { + $("#attribute-table-window").dialog('close'); + } + }] + }) } function addTableTr(obj) { - let newTrId = Utils.newId() - let defaultStr = - ' ' - + '' - + '' - + '删除' - + '' - tableObj[curTableId].push({ id: newTrId ,name: '',desc: ''}) - $('#attribute-table-content').append(defaultStr) + let newTrId = Utils.newId() + let defaultStr = + ' ' + + '' + + '' + + '删除' + + '' + tableObj[curTableId].push({id: newTrId, name: '', desc: ''}) + $('#attribute-table-content').append(defaultStr) } function removeTableTr(obj) { - let removeId = obj.parentNode.getAttribute('id') - tableObj[curTableId].splice(tableObj[curTableId].findIndex(item => item.id == removeId), 1) - let tr = obj.parentNode - tr.remove() + let removeId = obj.parentNode.getAttribute('id') + tableObj[curTableId].splice(tableObj[curTableId].findIndex(item => item.id == removeId), 1) + let tr = obj.parentNode + tr.remove() } // 对单个属性的更新操作 function updateAttributeById(objId, va, shapeId) { - var shape = undefined; - if (shapeId) { - shape = Model.getShapeById(shapeId); - } else { - shape = Utils.getSelected()[0]; - selectShape = shape; - } - var tempArray = []; - var count = 0; - if (shape) { - /* + var shape = undefined; + if (shapeId) { + shape = Model.getShapeById(shapeId); + } else { + shape = Utils.getSelected()[0]; + selectShape = shape; + } + var tempArray = []; + var count = 0; + if (shape) { + /* * for (var i = 0; i < shape.dataAttributes.length; i++) { var attr = * shape.dataAttributes[i]; if (attr.attributesContent) { * attr.attributesContent = $("#tagContentTable0").html(); break; } } */ - var attributesJsonArray = shape.attributesJsonArray; - for (var i = 0; i < shape.dataAttributes.length; i++) { // 获取当前形状的属性 - var attr = shape.dataAttributes[i]; - if (attr.attributesJsonArray) { - attributesJsonArray = attr.attributesJsonArray; - break; - } - } - for (var index = 0; index < attributesJsonArray.length; index++) { - var tempObj = attributesJsonArray[index]; - if(tempObj == null) { - continue; - } - if (tempObj.id == objId) { - tempObj.value = va; - tempArray[count++] = tempObj; - continue; - } - tempArray[count++] = tempObj; - } - if (tempArray.length > 0) { - shape.attributesJsonArray = tempArray; - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.attributesJsonArray) { - attr.attributesJsonArray = tempArray; - break; - } - } - if ("isAutoSave" == 1) { - CLB.cmdList = [{ - "type" : "message", - "cmd" : "com.actionsoft.apps.coe.pal_pl_repository_designer_message" - }]; - } - Model.update(shape); - } - } + var attributesJsonArray = shape.attributesJsonArray; + for (var i = 0; i < shape.dataAttributes.length; i++) { // 获取当前形状的属性 + var attr = shape.dataAttributes[i]; + if (attr.attributesJsonArray) { + attributesJsonArray = attr.attributesJsonArray; + break; + } + } + for (var index = 0; index < attributesJsonArray.length; index++) { + var tempObj = attributesJsonArray[index]; + if (tempObj == null) { + continue; + } + if (tempObj.id == objId) { + tempObj.value = va; + tempArray[count++] = tempObj; + continue; + } + tempArray[count++] = tempObj; + } + if (tempArray.length > 0) { + shape.attributesJsonArray = tempArray; + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.attributesJsonArray) { + attr.attributesJsonArray = tempArray; + break; + } + } + if ("isAutoSave" == 1) { + CLB.cmdList = [{ + "type": "message", + "cmd": "com.actionsoft.apps.coe.pal_pl_repository_designer_message" + }]; + } + Model.update(shape); + } + } } // 删除行上的属性 function removeTrAttribute(obj) { - var options = { - title : "提示", - content : "确定删除吗?", - model : false, - onConfirm : function() { - // 确定删除 - var shape = Utils.getSelected()[0]; - var tempArray = []; - var count = 0; - if (shape) { - // shape.attributesContent = $("#tagContentTable0").html(); - var attributesJsonArray = []; - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.attributesJsonArray) { - attributesJsonArray = attr.attributesJsonArray; - break; - } - } - for (var index = 0; index < attributesJsonArray.length; index++) { - var tempObj = attributesJsonArray[index]; - if (tempObj.id == $(obj).attr("objid")) { - continue; - } - tempArray[count++] = tempObj; - } - // if (tempArray.length >= 0) { - shape.attributesJsonArray = tempArray; - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.attributesJsonArray) { - attr.attributesJsonArray = tempArray; - break; - } - } - Model.update(shape); - // } - } - $(obj).hide(); - $(obj).parent().parent().remove(); - $.ajax({ - type : "POST", - url : "./jd?sid=" - + CLB.sid - + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_relation_shape_relevance_remove", - data : { - uuid : $(obj).attr("objid"), - shapeId : Utils.getSelected()[0].id, - fileId : ruuid - }, - success : function(msg) { - } - }); - } - }; - window.top.$.confirm(options); + var options = { + title: "提示", + content: "确定删除吗?", + model: false, + onConfirm: function () { + // 确定删除 + var shape = Utils.getSelected()[0]; + var tempArray = []; + var count = 0; + if (shape) { + // shape.attributesContent = $("#tagContentTable0").html(); + var attributesJsonArray = []; + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.attributesJsonArray) { + attributesJsonArray = attr.attributesJsonArray; + break; + } + } + for (var index = 0; index < attributesJsonArray.length; index++) { + var tempObj = attributesJsonArray[index]; + if (tempObj.id == $(obj).attr("objid")) { + continue; + } + tempArray[count++] = tempObj; + } + // if (tempArray.length >= 0) { + shape.attributesJsonArray = tempArray; + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.attributesJsonArray) { + attr.attributesJsonArray = tempArray; + break; + } + } + Model.update(shape); + // } + } + $(obj).hide(); + $(obj).parent().parent().remove(); + $.ajax({ + type: "POST", + url: "./jd?sid=" + + CLB.sid + + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_relation_shape_relevance_remove", + data: { + uuid: $(obj).attr("objid"), + shapeId: Utils.getSelected()[0].id, + fileId: ruuid + }, + success: function (msg) { + } + }); + } + }; + window.top.$.confirm(options); } + // 显示删除按钮 function showRemoveTrAttribute(obj) { - $(obj).addClass("attr_bg_color_tr"); - $("input[name=attribute_name_input_" + $(obj).attr("objid") + "]") - .addClass("attr_bg_color_tr"); - $("input[name=attribute_name_input_" + $(obj).attr("objid") + "]").parent() - .addClass("attr_bg_color_tr"); - $(obj).children("td").children(".ico_attribute_delete").show(); - if ($(obj).attr("ty") == "sel") { - $(obj).children("td").children("select").show(); - $(obj).children("td").children("span").hide(); - } + $(obj).addClass("attr_bg_color_tr"); + $("input[name=attribute_name_input_" + $(obj).attr("objid") + "]") + .addClass("attr_bg_color_tr"); + $("input[name=attribute_name_input_" + $(obj).attr("objid") + "]").parent() + .addClass("attr_bg_color_tr"); + $(obj).children("td").children(".ico_attribute_delete").show(); + if ($(obj).attr("ty") == "sel") { + $(obj).children("td").children("select").show(); + $(obj).children("td").children("span").hide(); + } } + // 隐藏删除按钮 function hideRemoveTrAttribute(obj) { - $(obj).removeClass("attr_bg_color_tr"); - $("input[name=attribute_name_input_" + $(obj).attr("objid") + "]") - .removeClass("attr_bg_color_tr"); - $("input[name=attribute_name_input_" + $(obj).attr("objid") + "]").parent() - .removeClass("attr_bg_color_tr"); - $(obj).children("td").children(".ico_attribute_delete").hide(); - if ($(obj).attr("ty") == "sel") { - $(obj).children("td").children("select").hide(); - $(obj).children("td").children("span").show(); - } + $(obj).removeClass("attr_bg_color_tr"); + $("input[name=attribute_name_input_" + $(obj).attr("objid") + "]") + .removeClass("attr_bg_color_tr"); + $("input[name=attribute_name_input_" + $(obj).attr("objid") + "]").parent() + .removeClass("attr_bg_color_tr"); + $(obj).children("td").children(".ico_attribute_delete").hide(); + if ($(obj).attr("ty") == "sel") { + $(obj).children("td").children("select").hide(); + $(obj).children("td").children("span").show(); + } } + // 经常用的是通过遍历,重构数组. -Array.prototype.remove = function(dx) { - if (isNaN(dx) || dx > this.length) { - return false; - } - for (var i = 0, n = 0; i < this.length; i++) { - if (this[i] != this[dx]) { - this[n++] = this[i]; - } - } - this.length -= 1; +Array.prototype.remove = function (dx) { + if (isNaN(dx) || dx > this.length) { + return false; + } + for (var i = 0, n = 0; i < this.length; i++) { + if (this[i] != this[dx]) { + this[n++] = this[i]; + } + } + this.length -= 1; }; + function removeElementFromArr(dx, obj) { - if (isNaN(dx) || dx > obj.length) { - return false; - } - for (var i = 0, n = 0; i < obj.length; i++) { - if (obj[i] != obj[dx]) { - obj[n++] = obj[i]; - } - } - obj.length -= 1; - return obj; + if (isNaN(dx) || dx > obj.length) { + return false; + } + for (var i = 0, n = 0; i < obj.length; i++) { + if (obj[i] != obj[dx]) { + obj[n++] = obj[i]; + } + } + obj.length -= 1; + return obj; } // 在数组中获取指定值的元素索引 -Array.prototype.getIndexByValue = function(value) { - var index = -1; - for (var i = 0; i < this.length; i++) { - if (this[i].url == value) { - index = i; - break; - } - } - return index; +Array.prototype.getIndexByValue = function (value) { + var index = -1; + for (var i = 0; i < this.length; i++) { + if (this[i].url == value) { + index = i; + break; + } + } + return index; }; -Array.prototype.getIndexByValueById = function(value) { - var index = -1; - for (var i = 0; i < this.length; i++) { - if (this[i] == value) { - index = i; - break; - } - } - return index; +Array.prototype.getIndexByValueById = function (value) { + var index = -1; + for (var i = 0; i < this.length; i++) { + if (this[i] == value) { + index = i; + break; + } + } + return index; }; // 重写链接创建后的事件 -Designer.events.addEventListener("linkerCreated", function(linker) { - /** - * var toId = linker.to.id; //当前选中的图形 var fromShape = - * Utils.getSelected()[0]; //目标图形 var toShape = - * Model.getShapeById(toId); var toShapeTemp = []; for (var index = - * 0; index < linkerRelationship.length; index++) { var shapes = - * linkerRelationship[index]; var fromShapeId = shapes.fromShapeId; - * var toShapeIds = shapes.toShapeId; if (fromShape.name == - * fromShapeId) { if (toShapeIds != "*") { //判断是针对哪些图形有效 if - * (toShapeIds.indexOf(",") > 0) { toShapeTemp = - * toShapeIds.split(","); } else { toShapeTemp.push(toShapeIds); } } } } - * if (toShapeTemp.length != 0) { for (var index = 0; index < - * toShapeTemp.length; index++) { var tempShapeId = - * toShapeTemp[index]; //删除这条线 if (toShape.name != tempShapeId) { - * $.simpleAlert("不支持所选对象与目标对象的这种关系", "error", 2500); //待续未完 - * deleteLinkerSelected(linker); } } } // if (toShape.name == "xxx") { // - * linker.to.id = null; //} //获取选中的链接线 var outlinkers = - * Utils.getOutlinkers(fromShape); var l = linker; // - * consloe.log(l); - */ - // 判断是不是支持这种关系类型 - // isObjectRelationshipModel(linker, true); - // showShapeRelationTab(null); - // attributeShowTabContent(null); - // showRelevanceShapesContent(); - // shapeCopyAndPasteCount(null); +Designer.events.addEventListener("linkerCreated", function (linker) { + /** + * var toId = linker.to.id; //当前选中的图形 var fromShape = + * Utils.getSelected()[0]; //目标图形 var toShape = + * Model.getShapeById(toId); var toShapeTemp = []; for (var index = + * 0; index < linkerRelationship.length; index++) { var shapes = + * linkerRelationship[index]; var fromShapeId = shapes.fromShapeId; + * var toShapeIds = shapes.toShapeId; if (fromShape.name == + * fromShapeId) { if (toShapeIds != "*") { //判断是针对哪些图形有效 if + * (toShapeIds.indexOf(",") > 0) { toShapeTemp = + * toShapeIds.split(","); } else { toShapeTemp.push(toShapeIds); } } } } + * if (toShapeTemp.length != 0) { for (var index = 0; index < + * toShapeTemp.length; index++) { var tempShapeId = + * toShapeTemp[index]; //删除这条线 if (toShape.name != tempShapeId) { + * $.simpleAlert("不支持所选对象与目标对象的这种关系", "error", 2500); //待续未完 + * deleteLinkerSelected(linker); } } } // if (toShape.name == "xxx") { // + * linker.to.id = null; //} //获取选中的链接线 var outlinkers = + * Utils.getOutlinkers(fromShape); var l = linker; // + * consloe.log(l); + */ + // 判断是不是支持这种关系类型 + // isObjectRelationshipModel(linker, true); + // showShapeRelationTab(null); + // attributeShowTabContent(null); + // showRelevanceShapesContent(); + // shapeCopyAndPasteCount(null); }); /** * 图形创建后重写 */ -Designer.events.addEventListener("created", function(shape) { - let shapePosition = shape.props - let pageSize = Model.define.page - if (shapePosition.x + shapePosition.w > pageSize.width - pageSize.padding) { - Designer.setPageStyle({ - width: shapePosition.x + shapePosition.w + pageSize.padding + 30, - }); - $("#page_size_w").spinner('value',shapePosition.x + shapePosition.w + pageSize.padding + 30); - } - if (shapePosition.y + shapePosition.h > pageSize.height - pageSize.padding) { - Designer.setPageStyle({ - height: shapePosition.y + shapePosition.h + pageSize.padding + 30, - }); - $("#page_size_h").spinner('value',shapePosition.x + shapePosition.w + pageSize.padding + 30) - } +Designer.events.addEventListener("created", function (shape) { + let shapePosition = shape.props + let pageSize = Model.define.page + if (shapePosition.x + shapePosition.w > pageSize.width - pageSize.padding) { + Designer.setPageStyle({ + width: shapePosition.x + shapePosition.w + pageSize.padding + 30, + }); + $("#page_size_w").spinner('value', shapePosition.x + shapePosition.w + pageSize.padding + 30); + } + if (shapePosition.y + shapePosition.h > pageSize.height - pageSize.padding) { + Designer.setPageStyle({ + height: shapePosition.y + shapePosition.h + pageSize.padding + 30, + }); + $("#page_size_h").spinner('value', shapePosition.x + shapePosition.w + pageSize.padding + 30) + } - if (Designer.status == "demo" && !demoCreatedTiped) { - UI.showStartStep("created", $("#" + shape.id)); - demoCreatedTiped = true; - } - /*************************************************************************** - * var selectedShape = Utils.getSelected()[0]; var linkerIds = - * Model.getShapeLinkers(selectedShape.id); - * if(linkerIds&&linkerIds.length>0){ var linker = - * Model.getShapeById(linkerIds[0]); isObjectRelationshipModel(linker, - * true); } - **************************************************************************/ - showShapeRelationTab(shape); - if(shape.category == "control_risk") { - initPrivateAttribute(shape, "control_risk"); // 创建节点后编号提供默认值 - } - if(shape.category == "process_flowchart" || shape.category == "process_bpmn2") {// 流程flowchar编号初始化编号 - if (!IsGroupChild(shape)) {// 不在组内部或者新建立的节点为组节点 - // 获取最大编号 - initPrivateAttribute(shape, shape.category); - } - if(shape.name == "group") {// 组置于最底层 - // Designer.layerShapes("back"); - if (Model.orderList[0] != undefined) { - var start = Model.orderList[0].zindex; //取到最小的zindex - start -= 1; - shape.props.zindex = start; - } - } - } - attributeShowTabContent(shape); + if (Designer.status == "demo" && !demoCreatedTiped) { + UI.showStartStep("created", $("#" + shape.id)); + demoCreatedTiped = true; + } + /*************************************************************************** + * var selectedShape = Utils.getSelected()[0]; var linkerIds = + * Model.getShapeLinkers(selectedShape.id); + * if(linkerIds&&linkerIds.length>0){ var linker = + * Model.getShapeById(linkerIds[0]); isObjectRelationshipModel(linker, + * true); } + **************************************************************************/ + showShapeRelationTab(shape); + if (shape.category == "control_risk") { + initPrivateAttribute(shape, "control_risk"); // 创建节点后编号提供默认值 + } + if (shape.category == "process_flowchart" || shape.category == "process_bpmn2") {// 流程flowchar编号初始化编号 + if (!IsGroupChild(shape)) {// 不在组内部或者新建立的节点为组节点 + // 获取最大编号 + initPrivateAttribute(shape, shape.category); + } + if (shape.name == "group") {// 组置于最底层 + // Designer.layerShapes("back"); + if (Model.orderList[0] != undefined) { + var start = Model.orderList[0].zindex; //取到最小的zindex + start -= 1; + shape.props.zindex = start; + } + } + } + attributeShowTabContent(shape); - var tmpArray = getTmpArray(isLaneAttrConfig); - if ($.inArray(shape.name, tmpArray) != -1) {// 泳池泳道隐藏 - $('#showMoreAttrUL').hide(); - } - // shapeCopyAndPasteCount(shape); + var tmpArray = getTmpArray(isLaneAttrConfig); + if ($.inArray(shape.name, tmpArray) != -1) {// 泳池泳道隐藏 + $('#showMoreAttrUL').hide(); + } + // shapeCopyAndPasteCount(shape); }); // 设置编号属性默认值 function initPrivateAttribute(newShape, type) { - var shapes = Model.define.elements; - var max = 0; - for (var shapeId in shapes) { - var shape = shapes[shapeId]; - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attrArr = shape.dataAttributes[i]; - if (attrArr.attributesJsonArray && attrArr.attributesJsonArray.length > 0) { - for (var j = 0; j < attrArr.attributesJsonArray.length; j++) { - var attr = attrArr.attributesJsonArray[j]; - if (attr != null && attr.id && attr.id == 'number') { - var number = attr.value; - if(typeof number == 'string') number = number.replace(/^\s+|\s+$/g,""); - if(!isNaN(number)) if(number > max) max = number; - break; - } - } - break; - } - } - } - max = Math.floor(max) + 1; - for (var i = 0; i < newShape.dataAttributes.length; i++) { - var attrArr = newShape.dataAttributes[i]; - if (attrArr.attributesJsonArray && attrArr.attributesJsonArray.length > 0) { - for (var j = 0; j < attrArr.attributesJsonArray.length; j++) { - var attr = attrArr.attributesJsonArray[j]; - if (attr != null && attr.id && attr.id == 'number') { - attr.value = max; - break; - } - } - break; - } - } + var shapes = Model.define.elements; + var max = 0; + for (var shapeId in shapes) { + var shape = shapes[shapeId]; + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attrArr = shape.dataAttributes[i]; + if (attrArr.attributesJsonArray && attrArr.attributesJsonArray.length > 0) { + for (var j = 0; j < attrArr.attributesJsonArray.length; j++) { + var attr = attrArr.attributesJsonArray[j]; + if (attr != null && attr.id && attr.id == 'number') { + var number = attr.value; + if (typeof number == 'string') number = number.replace(/^\s+|\s+$/g, ""); + if (!isNaN(number)) if (number > max) max = number; + break; + } + } + break; + } + } + } + max = Math.floor(max) + 1; + for (var i = 0; i < newShape.dataAttributes.length; i++) { + var attrArr = newShape.dataAttributes[i]; + if (attrArr.attributesJsonArray && attrArr.attributesJsonArray.length > 0) { + for (var j = 0; j < attrArr.attributesJsonArray.length; j++) { + var attr = attrArr.attributesJsonArray[j]; + if (attr != null && attr.id && attr.id == 'number') { + attr.value = max; + break; + } + } + break; + } + } } //判断新建立的节点是否在shapeName为group的组内部 function IsGroupChild(newShape) { - var result = false; - var newObj = newShape.props; - var x2 = parseInt(newObj.x); - var y2 = parseInt(newObj.y); - var w2 = parseInt(newObj.w); - var h2 = parseInt(newObj.h); - if (newShape.name == "group") { - return false; - } else { // 是否在组内部 - var shapes = Model.define.elements; - for (var shapeId in shapes) { - if (newShape.id == shapeId) continue; - var shape = shapes[shapeId]; - if (shape.name == "group") {// 存在组节点 - var obj = shape.props; - var x1 = parseInt(obj.x); - var y1 = parseInt(obj.y); - var w1 = parseInt(obj.w); - var h1 = parseInt(obj.h); - if (x1y2+h2 && x1+w1>x2+w2 && x1+w1>x2+w2 && y1+h1>y2+h2) { // 新建立节点在组内部 - result = true; - break; - } - } - } - } - return result; + var result = false; + var newObj = newShape.props; + var x2 = parseInt(newObj.x); + var y2 = parseInt(newObj.y); + var w2 = parseInt(newObj.w); + var h2 = parseInt(newObj.h); + if (newShape.name == "group") { + return false; + } else { // 是否在组内部 + var shapes = Model.define.elements; + for (var shapeId in shapes) { + if (newShape.id == shapeId) continue; + var shape = shapes[shapeId]; + if (shape.name == "group") {// 存在组节点 + var obj = shape.props; + var x1 = parseInt(obj.x); + var y1 = parseInt(obj.y); + var w1 = parseInt(obj.w); + var h1 = parseInt(obj.h); + if (x1 < x2 && y1 < y2 && y1 + h1 > y2 + h2 && x1 + w1 > x2 + w2 && x1 + w1 > x2 + w2 && y1 + h1 > y2 + h2) { // 新建立节点在组内部 + result = true; + break; + } + } + } + } + return result; } // 对粘贴的图形进行编号重置 function initPasteShapesNumber(newJson) { - // 获取最大编号 - var shapes = Model.define.elements; - var max = 0; - for (var shapeId in shapes) { - var shape = shapes[shapeId]; - if (shape.dataAttributes != undefined) { - for (var i = 0; i < shape.dataAttributes.length; i++) { - if (shape.dataAttributes[i].privateAttributeContent != null) { - var privateAttributeContent = shape.dataAttributes[i].privateAttributeContent; - if (typeof(privateAttributeContent) == "string") { - privateAttributeContent = eval("(" + privateAttributeContent + ")"); - } - var number = privateAttributeContent.number; - if(number != undefined && number != null && number != "") { - if(typeof number == 'string') number = number.replace(/^\s+|\s+$/g,""); - if(!isNaN(number)) { - if (typeof number != 'number') { - number = parseInt(number); - } - if(number > max) max = number; - } - } - } - } - } - } + // 获取最大编号 + var shapes = Model.define.elements; + var max = 0; + for (var shapeId in shapes) { + var shape = shapes[shapeId]; + if (shape.dataAttributes != undefined) { + for (var i = 0; i < shape.dataAttributes.length; i++) { + if (shape.dataAttributes[i].privateAttributeContent != null) { + var privateAttributeContent = shape.dataAttributes[i].privateAttributeContent; + if (typeof (privateAttributeContent) == "string") { + privateAttributeContent = eval("(" + privateAttributeContent + ")"); + } + var number = privateAttributeContent.number; + if (number != undefined && number != null && number != "") { + if (typeof number == 'string') number = number.replace(/^\s+|\s+$/g, ""); + if (!isNaN(number)) { + if (typeof number != 'number') { + number = parseInt(number); + } + if (number > max) max = number; + } + } + } + } + } + } - var resultJson = []; - for (var m = 0; m < newJson.length; m++) { - var newShape = newJson[m]; - if(newShape.category == "process_flowchart" || newShape.category == "process_bpmn2") { - // 设置最大编号为max+1 - var json = "{'number':'编号'}"; - max = parseInt(max)+1; - var json2 = "{'number':'" + max + "'}"; - var shapeName = newShape.name; - if (shapeName.indexOf("_custom") > -1) { - shapeName = shapeName.substring(0, shapeName.indexOf("_")); - } - if (shapeName == "control" || shapeName == "risk" || shapeName == "item" - || shapeName == "regulation" || shapeName == "procedure" - || shapeName == "method" || shapeName == "manualOperation" - || shapeName == "predefinedProcess" - || shapeName == "callActivityCallingProcess" - || shapeName == "businessRuleTask" || shapeName == "scriptTask" - || shapeName == "sendTask" || shapeName == "userTask" - || shapeName == "serviceTask" || shapeName == "manualTask" - || shapeName == "receiveTask" || shapeName == "process" - || shapeName == "decision" || shapeName == "group") { - for (var i = 0; i < newShape.dataAttributes.length; i++) { - var attr = newShape.dataAttributes[i]; - if (attr.privateAttribute) { - attr.privateAttribute = json; - } - if(attr.privateAttributeContent) { - attr.privateAttributeContent = json2; - } - } - } - } - resultJson.push(newShape); - } - console.log('对粘贴的图形进行编号重置'); - return newJson; + var resultJson = []; + for (var m = 0; m < newJson.length; m++) { + var newShape = newJson[m]; + if (newShape.category == "process_flowchart" || newShape.category == "process_bpmn2") { + // 设置最大编号为max+1 + var json = "{'number':'编号'}"; + max = parseInt(max) + 1; + var json2 = "{'number':'" + max + "'}"; + var shapeName = newShape.name; + if (shapeName.indexOf("_custom") > -1) { + shapeName = shapeName.substring(0, shapeName.indexOf("_")); + } + if (shapeName == "control" || shapeName == "risk" || shapeName == "item" + || shapeName == "regulation" || shapeName == "procedure" + || shapeName == "method" || shapeName == "manualOperation" + || shapeName == "predefinedProcess" + || shapeName == "callActivityCallingProcess" + || shapeName == "businessRuleTask" || shapeName == "scriptTask" + || shapeName == "sendTask" || shapeName == "userTask" + || shapeName == "serviceTask" || shapeName == "manualTask" + || shapeName == "receiveTask" || shapeName == "process" + || shapeName == "decision" || shapeName == "group") { + for (var i = 0; i < newShape.dataAttributes.length; i++) { + var attr = newShape.dataAttributes[i]; + if (attr.privateAttribute) { + attr.privateAttribute = json; + } + if (attr.privateAttributeContent) { + attr.privateAttributeContent = json2; + } + } + } + } + resultJson.push(newShape); + } + console.log('对粘贴的图形进行编号重置'); + return newJson; } // 当不符合配置的关系时删除链接线 function deleteLinkerSelected(linker) { - // moveShape移除图片 moveLinker移除链线 shapeMultiSelectable图形选中事件 designer.core.js - var d = linker; - if (d.length > 0) { - Utils.unselect(); - var e = Utils.getAttachedShapes(d); - d = d.concat(e); - var c = []; - for (var b = 0; b < d.length; b++) { - var a = Utils.getChildrenShapes(d[b]); - c = c.concat(a) - } - d = d.concat(c); - Model.remove(d) - } + // moveShape移除图片 moveLinker移除链线 shapeMultiSelectable图形选中事件 designer.core.js + var d = linker; + if (d.length > 0) { + Utils.unselect(); + var e = Utils.getAttachedShapes(d); + d = d.concat(e); + var c = []; + for (var b = 0; b < d.length; b++) { + var a = Utils.getChildrenShapes(d[b]); + c = c.concat(a) + } + d = d.concat(c); + Model.remove(d) + } } + // 显示图形关系特性 function showShapeRelationTab(currentShape) { - if (!$("#tagContent0").is(":visible")) { - return; - } - // 拿到所选的图形 - var selectedShape = Utils.getSelected()[0]; - if (!selectedShape) - return; - if (currentShape) { - selectedShape = currentShape - } - var linkers = Model.getShapeLinkers(selectedShape.id); - var outlinkers = Utils.getOutlinkers(Utils.getSelected()); - var l = linkers; - $("#tagContentTable1").empty(); - if (linkers != undefined) { - for (var a = 0; a < linkers.length; a++) { - // 根据连线的id拿到连线图形这个对象,再根据这个对象来找到他所关联的图形 - var element = linkers[a]; - var linkerObjs = Model.getShapeById(element); - // 来自哪个图形 的id - var fromId = linkerObjs.from.id; - var toId = linkerObjs.to.id; - var fromShape = Model.getShapeById(fromId); - var toShape = Model.getShapeById(toId); - if (fromShape != undefined && toShape != undefined) { - // 此处判断的是从本图形出去的连线 - if (fromShape.id == selectedShape.id) { - for (var b = 0; b < linkerRelationship.length; b++) { - var shapes = linkerRelationship[b]; - var fromShapeId = shapes.fromShapeId; - var toShapeIds = shapes.toShapeId; - if (fromShape.name == fromShapeId) { - if (toShapeIds != "*") { - // 判断是针对哪些图形有效 - if (toShapeIds.indexOf(",") > 0) { - var toShapeTemp = toShapeIds.split(","); - for (var c = 0; c < toShapeTemp.length; c++) { - var josnShapeId = toShapeTemp[c]; - if (josnShapeId == toShape.name) { - addtagContentTableContent( - fromShape, - shapes.outcomingName, - toShape); - } - } - } else { - if (toShapeIds == toShape.name) { - addtagContentTableContent(fromShape, - shapes.outcomingName, toShape); - } - } - } else { - // 当没有限制的时候 - addtagContentTableContent(fromShape, - shapes.outcomingName, toShape); - } - } - } - } else if (toShape.id == selectedShape.id) { - // 此处需要完善当不扶持 对像关系类型时下面的代码 不执行 - // 判断进来的链线开始 - for (var b = 0; b < linkerRelationship.length; b++) { - var shapes = linkerRelationship[b]; - var fromShapeId = shapes.fromShapeId; - var toShapeIds = shapes.toShapeId; - // if (toShape.name == fromShapeId) { - // 判断这两种图形中是否有这种关系 - // if (isObjectRelationshipModel(linkerObjs, false)) - // addtagContentTableContent(fromShape, - // shapes.incomingName); - // } - if (fromShape.name == fromShapeId) { - if (toShapeIds != "*") { - // 判断是针对哪些图形有效 - if (toShapeIds.indexOf(",") > 0) { - var toShapeTemp = toShapeIds.split(","); - for (var c = 0; c < toShapeTemp.length; c++) { - var josnShapeId = toShapeTemp[c]; - if (josnShapeId == selectedShape.name) { - addtagContentTableContent(toShape, - shapes.incomingName, - fromShape); - } - } - } else { - if (toShapeIds == selectedShape.name) { - addtagContentTableContent(toShape, - shapes.incomingName, fromShape); - } - } - } else { - // 当没有限制的时候 - addtagContentTableContent(toShape, - shapes.incomingName, fromShape); - } + if (!$("#tagContent0").is(":visible")) { + return; + } + // 拿到所选的图形 + var selectedShape = Utils.getSelected()[0]; + if (!selectedShape) + return; + if (currentShape) { + selectedShape = currentShape + } + var linkers = Model.getShapeLinkers(selectedShape.id); + var outlinkers = Utils.getOutlinkers(Utils.getSelected()); + var l = linkers; + $("#tagContentTable1").empty(); + if (linkers != undefined) { + for (var a = 0; a < linkers.length; a++) { + // 根据连线的id拿到连线图形这个对象,再根据这个对象来找到他所关联的图形 + var element = linkers[a]; + var linkerObjs = Model.getShapeById(element); + // 来自哪个图形 的id + var fromId = linkerObjs.from.id; + var toId = linkerObjs.to.id; + var fromShape = Model.getShapeById(fromId); + var toShape = Model.getShapeById(toId); + if (fromShape != undefined && toShape != undefined) { + // 此处判断的是从本图形出去的连线 + if (fromShape.id == selectedShape.id) { + for (var b = 0; b < linkerRelationship.length; b++) { + var shapes = linkerRelationship[b]; + var fromShapeId = shapes.fromShapeId; + var toShapeIds = shapes.toShapeId; + if (fromShape.name == fromShapeId) { + if (toShapeIds != "*") { + // 判断是针对哪些图形有效 + if (toShapeIds.indexOf(",") > 0) { + var toShapeTemp = toShapeIds.split(","); + for (var c = 0; c < toShapeTemp.length; c++) { + var josnShapeId = toShapeTemp[c]; + if (josnShapeId == toShape.name) { + addtagContentTableContent( + fromShape, + shapes.outcomingName, + toShape); + } + } + } else { + if (toShapeIds == toShape.name) { + addtagContentTableContent(fromShape, + shapes.outcomingName, toShape); + } + } + } else { + // 当没有限制的时候 + addtagContentTableContent(fromShape, + shapes.outcomingName, toShape); + } + } + } + } else if (toShape.id == selectedShape.id) { + // 此处需要完善当不扶持 对像关系类型时下面的代码 不执行 + // 判断进来的链线开始 + for (var b = 0; b < linkerRelationship.length; b++) { + var shapes = linkerRelationship[b]; + var fromShapeId = shapes.fromShapeId; + var toShapeIds = shapes.toShapeId; + // if (toShape.name == fromShapeId) { + // 判断这两种图形中是否有这种关系 + // if (isObjectRelationshipModel(linkerObjs, false)) + // addtagContentTableContent(fromShape, + // shapes.incomingName); + // } + if (fromShape.name == fromShapeId) { + if (toShapeIds != "*") { + // 判断是针对哪些图形有效 + if (toShapeIds.indexOf(",") > 0) { + var toShapeTemp = toShapeIds.split(","); + for (var c = 0; c < toShapeTemp.length; c++) { + var josnShapeId = toShapeTemp[c]; + if (josnShapeId == selectedShape.name) { + addtagContentTableContent(toShape, + shapes.incomingName, + fromShape); + } + } + } else { + if (toShapeIds == selectedShape.name) { + addtagContentTableContent(toShape, + shapes.incomingName, fromShape); + } + } + } else { + // 当没有限制的时候 + addtagContentTableContent(toShape, + shapes.incomingName, fromShape); + } - } + } - } - // 判断进来的线结束 - } - } - var e = element; - } - } + } + // 判断进来的线结束 + } + } + var e = element; + } + } } + // 给关系类型增加内容 function addtagContentTableContent(shape1, str, obj) { - if (obj.text == "") { - obj.text = obj.title; - } - var constr = '' - // + shape1.text - + str - + '
    ' - + obj.text - + '
    '; - $("#tagContentTable1").append(constr); + if (obj.text == "") { + obj.text = obj.title; + } + var constr = '' + // + shape1.text + + str + + '
    ' + + obj.text + + '
    '; + $("#tagContentTable1").append(constr); } + // 判断是不是支持对象的关系类型 function isObjectRelationshipModel(linker, isAlert) { - var flag = false; - var toId = linker.to.id; - if (toId == null) - return false; - // 当前选中的图形 - var fromShape = Utils.getSelected()[0]; - // 目标图形 - var toShape = Model.getShapeById(toId); - var toShapeTemp = []; - for (var index = 0; index < linkerRelationship.length; index++) { - var shapes = linkerRelationship[index]; - var fromShapeId = shapes.fromShapeId; - var toShapeIds = shapes.toShapeId; - if (fromShape) { - if (fromShape.name == fromShapeId) { - if (toShapeIds != "*") { - // 判断是针对哪些图形有效 - if (toShapeIds.indexOf(",") > 0) { - toShapeTemp = toShapeIds.split(","); - } else { - toShapeTemp.push(toShapeIds); - } - } - } - } - } - if (toShapeTemp.length != 0) { - for (var index = 0; index < toShapeTemp.length; index++) { - var tempShapeId = toShapeTemp[index]; - // 删除这条线 - if (toShape && toShape.name == tempShapeId) { - // 画线时的操作 - // 显示关系类型里的操作 - flag = true; - break; - // 待续未完 - } - } - } else { - flag = true; - } - if (!flag) { - if (isAlert) { - // $.simpleAlert("不支持所选对象与目标对象的这种关系", "error", 2000); - // deleteLinkerSelected(linker); - } - } - return flag; + var flag = false; + var toId = linker.to.id; + if (toId == null) + return false; + // 当前选中的图形 + var fromShape = Utils.getSelected()[0]; + // 目标图形 + var toShape = Model.getShapeById(toId); + var toShapeTemp = []; + for (var index = 0; index < linkerRelationship.length; index++) { + var shapes = linkerRelationship[index]; + var fromShapeId = shapes.fromShapeId; + var toShapeIds = shapes.toShapeId; + if (fromShape) { + if (fromShape.name == fromShapeId) { + if (toShapeIds != "*") { + // 判断是针对哪些图形有效 + if (toShapeIds.indexOf(",") > 0) { + toShapeTemp = toShapeIds.split(","); + } else { + toShapeTemp.push(toShapeIds); + } + } + } + } + } + if (toShapeTemp.length != 0) { + for (var index = 0; index < toShapeTemp.length; index++) { + var tempShapeId = toShapeTemp[index]; + // 删除这条线 + if (toShape && toShape.name == tempShapeId) { + // 画线时的操作 + // 显示关系类型里的操作 + flag = true; + break; + // 待续未完 + } + } + } else { + flag = true; + } + if (!flag) { + if (isAlert) { + // $.simpleAlert("不支持所选对象与目标对象的这种关系", "error", 2000); + // deleteLinkerSelected(linker); + } + } + return flag; } // 设置链接的div的高度,当超过一定高度时才显示滚动条 @@ -2788,914 +2832,914 @@ function setDivHeight() {/* } function changeArributeByShape() { - if (Utils.getSelected()[0] == null) { - $("#dock_content_attribute").hide(); - // 重新请求 - $('#file_attribute').attr('src', './w?sid='+ sid +'&cmd=com.actionsoft.apps.coe.pal_processlevel_create&wsid='+ $('#wsId').val() +'&pid='+ pid +'&id='+ ruuid +'&editable='+ editable + '&number=' + Math.random()); - $("#attr_no_more_attribute_id").show(); - setTimeout(function() { - var iframeDocument=$("#file_attribute")[0].contentWindow.document; - var body = $(iframeDocument).find('body') - var pickerNum = $(body).find('input[name="dateTimePicker"]').length - if (pickerNum > 0) { - var height = $(body).find('#frmMain').height() + 300 - $("#file_attribute").height(height) - } - }, 500); - } else { - // 属性弹出层显示的内容 - var shape = Utils.getSelected()[0]; - if (shape.name === "linker") { - $(".clearfix").hide(); - } else { - $(".clearfix").show(); - } - var attributesJsonArray = ""; - var attributesJsonArrayT = []; - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.attributesJsonArray) { - attributesJsonArrayT = attr.attributesJsonArray; - break; - } - } - // 属性排序 - var defaultMoreAttr = $('#defaultMoreAttrSort').val(); - if (shape.category != undefined) { - var category = shape.category.replace("_", "."); - if(methodId === category && defaultMoreAttr.length > 0) { - var arr = defaultMoreAttr.split('|'); - var tempAttrArray = []; - for(var i = 0; i < arr.length; i++) { - for(var j = 0; j < attributesJsonArrayT.length; j++) { - if(attributesJsonArrayT[j] == undefined || attributesJsonArrayT[j] == null) { - continue; - } - if(arr[i] == attributesJsonArrayT[j].id) { - tempAttrArray.push(attributesJsonArrayT[j]); - } - } - } - //过滤无效属性 - for(var j = 0; j < attributesJsonArray.length; j++) { - var flag = true; - for(var i = 0; i < arr.length; i++) { - if (attributesJsonArray[j].id == arr[i]) { - flag = false; - } - } - if (flag) { - attributesJsonArray.splice(j,1); - } - } - //取新添加的属性 - if (tempAttrArray.length > 0) { - var newAttrArray = []; - newAttrArray = tempAttrArray.concat(attributesJsonArrayT).filter(function(v, i, arr) { - return arr.indexOf(v) === arr.lastIndexOf(v); - }); - attributesJsonArrayT = tempAttrArray.concat(newAttrArray); - } - } - } + if (Utils.getSelected()[0] == null) { + $("#dock_content_attribute").hide(); + // 重新请求 + $('#file_attribute').attr('src', './w?sid=' + sid + '&cmd=com.actionsoft.apps.coe.pal_processlevel_create&wsid=' + $('#wsId').val() + '&pid=' + pid + '&id=' + ruuid + '&editable=' + editable + '&number=' + Math.random()); + $("#attr_no_more_attribute_id").show(); + setTimeout(function () { + var iframeDocument = $("#file_attribute")[0].contentWindow.document; + var body = $(iframeDocument).find('body') + var pickerNum = $(body).find('input[name="dateTimePicker"]').length + if (pickerNum > 0) { + var height = $(body).find('#frmMain').height() + 300 + $("#file_attribute").height(height) + } + }, 500); + } else { + // 属性弹出层显示的内容 + var shape = Utils.getSelected()[0]; + if (shape.name === "linker") { + $(".clearfix").hide(); + } else { + $(".clearfix").show(); + } + var attributesJsonArray = ""; + var attributesJsonArrayT = []; + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.attributesJsonArray) { + attributesJsonArrayT = attr.attributesJsonArray; + break; + } + } + // 属性排序 + var defaultMoreAttr = $('#defaultMoreAttrSort').val(); + if (shape.category != undefined) { + var category = shape.category.replace("_", "."); + if (methodId === category && defaultMoreAttr.length > 0) { + var arr = defaultMoreAttr.split('|'); + var tempAttrArray = []; + for (var i = 0; i < arr.length; i++) { + for (var j = 0; j < attributesJsonArrayT.length; j++) { + if (attributesJsonArrayT[j] == undefined || attributesJsonArrayT[j] == null) { + continue; + } + if (arr[i] == attributesJsonArrayT[j].id) { + tempAttrArray.push(attributesJsonArrayT[j]); + } + } + } + //过滤无效属性 + for (var j = 0; j < attributesJsonArray.length; j++) { + var flag = true; + for (var i = 0; i < arr.length; i++) { + if (attributesJsonArray[j].id == arr[i]) { + flag = false; + } + } + if (flag) { + attributesJsonArray.splice(j, 1); + } + } + //取新添加的属性 + if (tempAttrArray.length > 0) { + var newAttrArray = []; + newAttrArray = tempAttrArray.concat(attributesJsonArrayT).filter(function (v, i, arr) { + return arr.indexOf(v) === arr.lastIndexOf(v); + }); + attributesJsonArrayT = tempAttrArray.concat(newAttrArray); + } + } + } - if (shape && attributesJsonArrayT) { - // 参见 这个js中的Designer.events.addEventListener("created", function(a) - // {}函数,改为图形创建时增加私有属性 - $("#tagContentTable0").empty(); - attributesJsonArray = attributesJsonArrayT; - // $("#attribute_name_td_content").html(shape.title); - // $("input[name=attribute_desc_input]").val(shape.text); - var shapeTitle = shape.title == undefined ? "" : shape.title; - if (shape.name === "linker") { - $("#attribute_name_td_content").html("连线"); - } else { - $("#attribute_name_td_content").html(shapeTitle); - } - if (shape.text == "") { - $("span[name=attribute_desc_input]").text(shapeTitle); - } else { - if (shape.text.length > 15) { - var tempText = shape.text; - tempText = tempText.substring(0, 15) - $("span[name=attribute_desc_input]").text(shape.text).attr( - "awsui-qtip", shape.text); - } else { - $("span[name=attribute_desc_input]").text(shape.text); - } - } - // $("input[name=attribute_desc_input]").val(shape.text); - // $("#attribute_name_td_desc").val(shape.shapeDesc); - // 此处遍历attributesJsonArray输入 内容 - if (attributesJsonArray.length != 0) { - getPrivateAttributeHtml(attributesJsonArray, "tagContentTable0", shape); - } - } - $("#dock_content_attribute").show(); - $("#attr_no_more_attribute_id").hide(); - } + if (shape && attributesJsonArrayT) { + // 参见 这个js中的Designer.events.addEventListener("created", function(a) + // {}函数,改为图形创建时增加私有属性 + $("#tagContentTable0").empty(); + attributesJsonArray = attributesJsonArrayT; + // $("#attribute_name_td_content").html(shape.title); + // $("input[name=attribute_desc_input]").val(shape.text); + var shapeTitle = shape.title == undefined ? "" : shape.title; + if (shape.name === "linker") { + $("#attribute_name_td_content").html("连线"); + } else { + $("#attribute_name_td_content").html(shapeTitle); + } + if (shape.text == "") { + $("span[name=attribute_desc_input]").text(shapeTitle); + } else { + if (shape.text.length > 15) { + var tempText = shape.text; + tempText = tempText.substring(0, 15) + $("span[name=attribute_desc_input]").text(shape.text).attr( + "awsui-qtip", shape.text); + } else { + $("span[name=attribute_desc_input]").text(shape.text); + } + } + // $("input[name=attribute_desc_input]").val(shape.text); + // $("#attribute_name_td_desc").val(shape.shapeDesc); + // 此处遍历attributesJsonArray输入 内容 + if (attributesJsonArray.length != 0) { + getPrivateAttributeHtml(attributesJsonArray, "tagContentTable0", shape); + } + } + $("#dock_content_attribute").show(); + $("#attr_no_more_attribute_id").hide(); + } } + function initUserAddressForShape(objIds, shapeId, shapeName) { - $.each(objIds, function(key, value){ - var objId = value; - var inputId = "attribute_name_input_"+objId; - var option = { - callback: function(){ - var inputValue = $("#" + inputId).val(); - updateAttributeById(objId, inputValue); - // 保存数据库 - saveAddressShapeData(shapeId, objId, 'userAddress', inputValue, shapeName); - // 绑定单个删除事件 - deleteAddress(inputId); - }, - clearCallback: function(){ - var inputValue = $("#" + inputId).val(); - updateAttributeById(objId, inputValue); - // 保存数据库 - saveAddressShapeData(shapeId, objId, 'userAddress', inputValue, shapeName); - }, - filter : { - "addressSetting" : { - "delimiter" : " ", - "filterClass" : "", - "isDisplayMap" : false, - "isDisplayOtherMap" : false, - "layerFrom" : "", - "layerTo" : "", - "leafType" : "user", - "choiceType": "multiple", - "range" : "department|role|team", - "rootDetpId" : "" - }, - "addressType" : "user", - "isAdvMode" : true, - "sourceField" : "UID", - "targetField" : inputId - }, - inDialog : true - }; - $("#" + inputId).address(option); - // 单个元素删除事件 - deleteAddress(inputId); - }); + $.each(objIds, function (key, value) { + var objId = value; + var inputId = "attribute_name_input_" + objId; + var option = { + callback: function () { + var inputValue = $("#" + inputId).val(); + updateAttributeById(objId, inputValue); + // 保存数据库 + saveAddressShapeData(shapeId, objId, 'userAddress', inputValue, shapeName); + // 绑定单个删除事件 + deleteAddress(inputId); + }, + clearCallback: function () { + var inputValue = $("#" + inputId).val(); + updateAttributeById(objId, inputValue); + // 保存数据库 + saveAddressShapeData(shapeId, objId, 'userAddress', inputValue, shapeName); + }, + filter: { + "addressSetting": { + "delimiter": " ", + "filterClass": "", + "isDisplayMap": false, + "isDisplayOtherMap": false, + "layerFrom": "", + "layerTo": "", + "leafType": "user", + "choiceType": "multiple", + "range": "department|role|team", + "rootDetpId": "" + }, + "addressType": "user", + "isAdvMode": true, + "sourceField": "UID", + "targetField": inputId + }, + inDialog: true + }; + $("#" + inputId).address(option); + // 单个元素删除事件 + deleteAddress(inputId); + }); } function getRelationAddress(userObjIds, shapeId) { - // 查询关联数据 - $.ajax({ - type : 'POST', - url:"./jd", - async:false, - data:{ - sid : CLB.sid, - cmd : "com.actionsoft.apps.coe.pal_pl_repository_designer_address_shape_query", - uuid : ruuid, - objIds : JSON.stringify(userObjIds), - shapeId : shapeId - }, - success : function(r) { - $.each(userObjIds, function(key, value) { - var objId = value; - var inputId = "attribute_name_input_"+objId; - $("#" + inputId).val(r.data.data[objId]).trigger("change"); - deleteAddress(inputId); - }); - } - }); + // 查询关联数据 + $.ajax({ + type: 'POST', + url: "./jd", + async: false, + data: { + sid: CLB.sid, + cmd: "com.actionsoft.apps.coe.pal_pl_repository_designer_address_shape_query", + uuid: ruuid, + objIds: JSON.stringify(userObjIds), + shapeId: shapeId + }, + success: function (r) { + $.each(userObjIds, function (key, value) { + var objId = value; + var inputId = "attribute_name_input_" + objId; + $("#" + inputId).val(r.data.data[objId]).trigger("change"); + deleteAddress(inputId); + }); + } + }); } function getRelationAddressNames(objIds, shapeId, type) { - // 查询关联数据 - $.ajax({ - type : 'POST', - url:"./jd", - async:false, - data:{ - sid : CLB.sid, - cmd : "com.actionsoft.apps.coe.pal_pl_repository_designer_address_names_shape_query", - uuid : ruuid, - objIds : JSON.stringify(objIds), - shapeId : shapeId, - type : type - }, - success : function(r) { - $.each(objIds, function(key, value) { - var objId = value; - var inputId = "attribute_name_input_"+objId; - $("#" + inputId).val(r.data.data[objId]); - }); - } - }); + // 查询关联数据 + $.ajax({ + type: 'POST', + url: "./jd", + async: false, + data: { + sid: CLB.sid, + cmd: "com.actionsoft.apps.coe.pal_pl_repository_designer_address_names_shape_query", + uuid: ruuid, + objIds: JSON.stringify(objIds), + shapeId: shapeId, + type: type + }, + success: function (r) { + $.each(objIds, function (key, value) { + var objId = value; + var inputId = "attribute_name_input_" + objId; + $("#" + inputId).val(r.data.data[objId]); + }); + } + }); } function initDeptAddressForShape(objIds, shapeId, shapeName) { - $.each(objIds, function(key, value) { - var objId = value; - var inputId = "attribute_name_input_"+objId; - var inputHiddenId = "attribute_name_input_"+objId+"_hidden"; - var targetField = inputId + "," + inputHiddenId; + $.each(objIds, function (key, value) { + var objId = value; + var inputId = "attribute_name_input_" + objId; + var inputHiddenId = "attribute_name_input_" + objId + "_hidden"; + var targetField = inputId + "," + inputHiddenId; - var options = { - callback : function() { - var inputValue = $('#' + inputId).val(); - updateAttributeById(objId, inputValue); - // 保存数据库 - saveAddressShapeData(shapeId, objId, 'deptAddress', inputValue, shapeName); - // 单个删除删除 - deleteAddress(inputId); - }, - clearCallback : function() { - var inputValue = $('#' + inputId).val(); - updateAttributeById(objId, inputValue); - // 保存数据库 - saveAddressShapeData(shapeId, objId, 'deptAddress', inputValue, shapeName); - }, - filter : { - addressType: "dept",//地址簿类型 - addressSetting: { - range: "department",//department:部门,role:角色,team:团队 - delimiter: " ", - choiceType: "multiple",//single:单选; multiple:多选 - leafType: "dept"//叶子节点类型,user:用户;dept:部门 - }, - //字典的数据源字段,通常是orguser表中的字段 ,多个用逗号隔开;回填值选择: - deptSourceField : "DEPTID", - deptTargetField : inputId - }, - valueType : 0, //0:aliasname; 1:uid; 2:username - separator : " "//逗号 空格……分隔符 - }; - $("#" + inputId).address(options); - }); + var options = { + callback: function () { + var inputValue = $('#' + inputId).val(); + updateAttributeById(objId, inputValue); + // 保存数据库 + saveAddressShapeData(shapeId, objId, 'deptAddress', inputValue, shapeName); + // 单个删除删除 + deleteAddress(inputId); + }, + clearCallback: function () { + var inputValue = $('#' + inputId).val(); + updateAttributeById(objId, inputValue); + // 保存数据库 + saveAddressShapeData(shapeId, objId, 'deptAddress', inputValue, shapeName); + }, + filter: { + addressType: "dept",//地址簿类型 + addressSetting: { + range: "department",//department:部门,role:角色,team:团队 + delimiter: " ", + choiceType: "multiple",//single:单选; multiple:多选 + leafType: "dept"//叶子节点类型,user:用户;dept:部门 + }, + //字典的数据源字段,通常是orguser表中的字段 ,多个用逗号隔开;回填值选择: + deptSourceField: "DEPTID", + deptTargetField: inputId + }, + valueType: 0, //0:aliasname; 1:uid; 2:username + separator: " "//逗号 空格……分隔符 + }; + $("#" + inputId).address(options); + }); } // 地址簿单个元素删除 function deleteAddress(inputId) { - // 单个删除删除 - var id = 'awsui-address-' + inputId; - $('#' + id+ ' .awsui-item-del').off('mousedown').mousedown(function(){ - var div = $(this).parent(); - var deleteValue = div.attr("value") || div.attr("id"); - // 保存数据库 - var $input = div.parent().find('input:first'); - var inputValue = $input.val(); - var shapeId = $input.attr('shapeId'); - var shapeName = ''; - var inputType = $input.attr('inputtype'); - var objId = $input.attr('objid'); - // 获取节点名称 - var elements = Model.define.elements; - for (var i in elements) { - if (i == shapeId) { - shapeName = elements[i].text; - break; - } - } - var tempArr = inputValue.split(' '); - var value = ''; - for (var i = 0; i < tempArr.length; i++) { - if (tempArr[i] == deleteValue) continue; - value += tempArr[i]; - if (i < tempArr.length - 1) { - value += ' '; - } - } - saveAddressShapeData(shapeId, objId, inputType, value, shapeName); - }); + // 单个删除删除 + var id = 'awsui-address-' + inputId; + $('#' + id + ' .awsui-item-del').off('mousedown').mousedown(function () { + var div = $(this).parent(); + var deleteValue = div.attr("value") || div.attr("id"); + // 保存数据库 + var $input = div.parent().find('input:first'); + var inputValue = $input.val(); + var shapeId = $input.attr('shapeId'); + var shapeName = ''; + var inputType = $input.attr('inputtype'); + var objId = $input.attr('objid'); + // 获取节点名称 + var elements = Model.define.elements; + for (var i in elements) { + if (i == shapeId) { + shapeName = elements[i].text; + break; + } + } + var tempArr = inputValue.split(' '); + var value = ''; + for (var i = 0; i < tempArr.length; i++) { + if (tempArr[i] == deleteValue) continue; + value += tempArr[i]; + if (i < tempArr.length - 1) { + value += ' '; + } + } + saveAddressShapeData(shapeId, objId, inputType, value, shapeName); + }); } // 保存地址簿选中的数据 function saveAddressShapeData(shapeId, objId, addressType, value, shapeText) { - $.ajax({ - url : "./jd?sid=" - + CLB.sid - + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_address_shape_data_save", - type : 'POST', - async : false, - data : { - data : JSON.stringify({ - uuid : ruuid, - shapeId : shapeId, - attrId : objId, - addressType : addressType, - value : value, - shapeText : shapeText - }) - }, - success : function(r) { - var inputId = "attribute_name_input_"+objId; - $("#" + inputId).val(value).trigger("change"); - deleteAddress(inputId); - } - }) + $.ajax({ + url: "./jd?sid=" + + CLB.sid + + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_address_shape_data_save", + type: 'POST', + async: false, + data: { + data: JSON.stringify({ + uuid: ruuid, + shapeId: shapeId, + attrId: objId, + addressType: addressType, + value: value, + shapeText: shapeText + }) + }, + success: function (r) { + var inputId = "attribute_name_input_" + objId; + $("#" + inputId).val(value).trigger("change"); + deleteAddress(inputId); + } + }) } //获取关联形状文本 function getRelevanceShapeNameByShapeId(objIds, shapeId) { - var elements = Model.define.elements; - var shapeName = ''; - var shapeCategory = ''; - for (var i in elements) { - if (i == shapeId) { - shapeName = elements[i].name; - shapeCategory = elements[i].category; - break; - } - } - if (shapeName == '') { - return; - } - $.ajax({ - type : "POST", - url : "./jd?sid=" - + CLB.sid - + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_relation_shape_relevance_name", - data : { - fileId : ruuid, - shapeId : shapeId, - shapeName: shapeName, - shapeCategory: shapeCategory == 'lane' ? methodId : shapeCategory - }, - success : function(msg) { - if (msg.result == "ok") { - var list = msg.data.relationModelList; - var shapeRefObj = msg.data.shapeRefObj; - for (var i = 0; i < objIds.length; i++) { - var objId = objIds[i]; - var shapeNames = []; - var shapeRelationValue = []; - var ref = shapeRefObj[objId]; - var relationType = ref.type - for (var j = 0; j < list.length; j++) { - if (list[j].attrId == objId) { - shapeNames.push(list[j].relationShapeText); - if (relationType == 'file') { - shapeRelationValue.push(list[j].relationFileId); - } else { - shapeRelationValue.push(list[j].relationShapeId); - } - } - } - //判断如果为岗位/角色/相关文件/支持文件 鼠标悬浮显示 - if(objId=="post"){ - $("input[objid='" + objId + "']").attr('title', shapeNames.join(",")); - } - if(objId=="role"){ - $("input[objid='" + objId + "']").attr('title', shapeNames.join(",")); - } - if(objId=="R_relevant_flies"){ - $("input[objid='" + objId + "']").attr('title', shapeNames.join(",")); - } - if(objId=="support_files"){ - $("input[objid='" + objId + "']").attr('title', shapeNames.join(",")); - } + var elements = Model.define.elements; + var shapeName = ''; + var shapeCategory = ''; + for (var i in elements) { + if (i == shapeId) { + shapeName = elements[i].name; + shapeCategory = elements[i].category; + break; + } + } + if (shapeName == '') { + return; + } + $.ajax({ + type: "POST", + url: "./jd?sid=" + + CLB.sid + + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_relation_shape_relevance_name", + data: { + fileId: ruuid, + shapeId: shapeId, + shapeName: shapeName, + shapeCategory: shapeCategory == 'lane' ? methodId : shapeCategory + }, + success: function (msg) { + if (msg.result == "ok") { + var list = msg.data.relationModelList; + var shapeRefObj = msg.data.shapeRefObj; + for (var i = 0; i < objIds.length; i++) { + var objId = objIds[i]; + var shapeNames = []; + var shapeRelationValue = []; + var ref = shapeRefObj[objId]; + var relationType = ref.type + for (var j = 0; j < list.length; j++) { + if (list[j].attrId == objId) { + shapeNames.push(list[j].relationShapeText); + if (relationType == 'file') { + shapeRelationValue.push(list[j].relationFileId); + } else { + shapeRelationValue.push(list[j].relationShapeId); + } + } + } + //判断如果为岗位/角色/相关文件/支持文件 鼠标悬浮显示 + if (objId == "post") { + $("input[objid='" + objId + "']").attr('title', shapeNames.join(",")); + } + if (objId == "role") { + $("input[objid='" + objId + "']").attr('title', shapeNames.join(",")); + } + if (objId == "R_relevant_flies") { + $("input[objid='" + objId + "']").attr('title', shapeNames.join(",")); + } + if (objId == "support_files") { + $("input[objid='" + objId + "']").attr('title', shapeNames.join(",")); + } - $("input[objid='" + objId + "']").val(shapeNames.join(",")); - $("input[objid_shapeId='" + objId + "']").val(shapeRelationValue.join(",")); - $("input[objid_shapeId='" + objId + "']").attr('ref', JSON.stringify(ref)); - } - } - } - }); + $("input[objid='" + objId + "']").val(shapeNames.join(",")); + $("input[objid_shapeId='" + objId + "']").val(shapeRelationValue.join(",")); + $("input[objid_shapeId='" + objId + "']").attr('ref', JSON.stringify(ref)); + } + } + } + }); } // 关联aws组织 -function openOrganizationRelationDig(obj,value) { - var shapeAwsOrgValue = $("input[objid_shapeId='" + $(obj).attr("objid") + "']").val(); - var ref = $("input[objid_shapeId='" + $(obj).attr("objid") + "']").attr("ref"); - var id = sid; - var wsId = $("#wsId").val(); - selectShape = Utils.getSelected()[0]; - var shape = selectShape; - var title = "添加AWS PaaS平台组织"; - var conObj = $("#attr_dialog_normal_relevance_aws_div").empty(); - var str = ''; - conObj.append(str); - $("#attr_dialog_normal_relevance_aws_div").attr("title", title); - $('#attr_content_iframe_relevance_aws').attr( - 'src', "./w?sid=" + id - + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_aws_org_page" - + "&wsId=" + wsId - + "&ref=" + encodeURI(ref) - + "&fileId=" + ruuid - + "&shapeId=" + shape.id - + "&attrId=" + $(obj).attr("objid")); - $("#attr_dialog_normal_relevance_aws_div").dialog({ - buttons : [{ - text : '确定', - cls : "blue", - handler : function() { - //getRelevanceAwsOrgData($(obj).attr("objid")); - var tmpObjId = $(obj).attr("objid"); - getRelevanceAwsOrgData(tmpObjId,value); - var tmpShape = Utils.getSelected()[0]; - var tmpTitle = tmpShape.title; - if (tmpShape.name == "linker") { - return; - } - if (tmpTitle.indexOf("泳道") > -1 || tmpTitle.indexOf("泳池") > -1 || tmpTitle.indexOf("分隔") > -1) { - return; - } - if (isForceShowError && tmpAttrIdValue.indexOf(tmpObjId) > -1) { - $.simpleAlert("已设置不允许修改,请在应用参数中设置", 'error'); - isForceShowError = false; - } - tmpAttrIdValue = []; - } - }, { - text : '关闭', - handler : function() { - $("#attr_dialog_normal_relevance_aws_div").dialog('close'); - } - }] - }); +function openOrganizationRelationDig(obj, value) { + var shapeAwsOrgValue = $("input[objid_shapeId='" + $(obj).attr("objid") + "']").val(); + var ref = $("input[objid_shapeId='" + $(obj).attr("objid") + "']").attr("ref"); + var id = sid; + var wsId = $("#wsId").val(); + selectShape = Utils.getSelected()[0]; + var shape = selectShape; + var title = "添加AWS PaaS平台组织"; + var conObj = $("#attr_dialog_normal_relevance_aws_div").empty(); + var str = ''; + conObj.append(str); + $("#attr_dialog_normal_relevance_aws_div").attr("title", title); + $('#attr_content_iframe_relevance_aws').attr( + 'src', "./w?sid=" + id + + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_aws_org_page" + + "&wsId=" + wsId + + "&ref=" + encodeURI(ref) + + "&fileId=" + ruuid + + "&shapeId=" + shape.id + + "&attrId=" + $(obj).attr("objid")); + $("#attr_dialog_normal_relevance_aws_div").dialog({ + buttons: [{ + text: '确定', + cls: "blue", + handler: function () { + //getRelevanceAwsOrgData($(obj).attr("objid")); + var tmpObjId = $(obj).attr("objid"); + getRelevanceAwsOrgData(tmpObjId, value); + var tmpShape = Utils.getSelected()[0]; + var tmpTitle = tmpShape.title; + if (tmpShape.name == "linker") { + return; + } + if (tmpTitle.indexOf("泳道") > -1 || tmpTitle.indexOf("泳池") > -1 || tmpTitle.indexOf("分隔") > -1) { + return; + } + if (isForceShowError && tmpAttrIdValue.indexOf(tmpObjId) > -1) { + $.simpleAlert("已设置不允许修改,请在应用参数中设置", 'error'); + isForceShowError = false; + } + tmpAttrIdValue = []; + } + }, { + text: '关闭', + handler: function () { + $("#attr_dialog_normal_relevance_aws_div").dialog('close'); + } + }] + }); } //得到关联的平台组织 -function getRelevanceAwsOrgData(objId,attributeValue) { - $("#attr_dialog_normal_relevance_aws_div").dialog('close'); - selectShape = Utils.getSelected()[0]; - var shape = selectShape; - if (!shape) { - return; - } - var obj = attr_content_iframe_relevance_aws.getRelevanceAwsData(); - var checkedOrgList = []; - for (var i in obj) { - checkedOrgList.push(obj[i]); - } +function getRelevanceAwsOrgData(objId, attributeValue) { + $("#attr_dialog_normal_relevance_aws_div").dialog('close'); + selectShape = Utils.getSelected()[0]; + var shape = selectShape; + if (!shape) { + return; + } + var obj = attr_content_iframe_relevance_aws.getRelevanceAwsData(); + var checkedOrgList = []; + for (var i in obj) { + checkedOrgList.push(obj[i]); + } - var shapesObj = []; - var relevanceShapes = []; + var shapesObj = []; + var relevanceShapes = []; - var shapeGroupId = ""; - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.shapeGroupId != undefined && attr.shapeGroupId != "") { - shapeGroupId = attr.shapeGroupId; - break; - } - } - shape = getAwsOrgAttributeByAttrId(shape, objId, checkedOrgList); - // 更新数据库 - saveRelevanceAwsOrgShapesTODB1(checkedOrgList, shape.id, shape.text, $("title").text(), shapeGroupId, objId, shape,attributeValue); + var shapeGroupId = ""; + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.shapeGroupId != undefined && attr.shapeGroupId != "") { + shapeGroupId = attr.shapeGroupId; + break; + } + } + shape = getAwsOrgAttributeByAttrId(shape, objId, checkedOrgList); + // 更新数据库 + saveRelevanceAwsOrgShapesTODB1(checkedOrgList, shape.id, shape.text, $("title").text(), shapeGroupId, objId, shape, attributeValue); } //得到不同属性值关联的形状 function getAwsOrgAttributeByAttrId(shape, objId, checkedOrgList) { - //objId 属性的key值 - var exitAttributesJsonArray = []; - var attrArr = []; //修改后的属性值 + //objId 属性的key值 + var exitAttributesJsonArray = []; + var attrArr = []; //修改后的属性值 - for (var i = 0; i < checkedOrgList.length; i++) { - var shapeObjT = checkedOrgList[i]; - attrArr.push(shapeObjT.id); - } - attrArr = attrArr.unique(); //属性值去重 - if (attrArr.length > 0) { - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.attributesJsonArray) { - exitAttributesJsonArray = attr.attributesJsonArray; - break; - } - } - for (var c = 0; c < exitAttributesJsonArray.length; c++) { - var el = exitAttributesJsonArray[c]; - if(el == null) continue; - if (el.id == objId) { - el.value = attrArr.join(","); - break; - } - } - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.attributesJsonArray) { - attr.attributesJsonArray = exitAttributesJsonArray; - break; - } - } - for (var j = 0, len = attrArr.length; j < len; j++) { - var attrShapeId = attrArr[j]; - relationShapesObject[attrShapeId] = {"relationAwsOrg" : attrShapeId}; - } - $("input[objid_shapeId='" + objId + "']").val(attrArr.join(",")); - } else { - $("input[objid_shapeId='" + objId + "']").val(""); - } - return shape; + for (var i = 0; i < checkedOrgList.length; i++) { + var shapeObjT = checkedOrgList[i]; + attrArr.push(shapeObjT.id); + } + attrArr = attrArr.unique(); //属性值去重 + if (attrArr.length > 0) { + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.attributesJsonArray) { + exitAttributesJsonArray = attr.attributesJsonArray; + break; + } + } + for (var c = 0; c < exitAttributesJsonArray.length; c++) { + var el = exitAttributesJsonArray[c]; + if (el == null) continue; + if (el.id == objId) { + el.value = attrArr.join(","); + break; + } + } + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.attributesJsonArray) { + attr.attributesJsonArray = exitAttributesJsonArray; + break; + } + } + for (var j = 0, len = attrArr.length; j < len; j++) { + var attrShapeId = attrArr[j]; + relationShapesObject[attrShapeId] = {"relationAwsOrg": attrShapeId}; + } + $("input[objid_shapeId='" + objId + "']").val(attrArr.join(",")); + } else { + $("input[objid_shapeId='" + objId + "']").val(""); + } + return shape; } //将关联关系保存到数据库(AWS org) -function saveRelevanceAwsOrgShapesTODB1(shapesObj, shapeId, shapeName, fileName, shapeGroupId, objId, shape,attributeValue) { - if (attributeValue.isRequired && shapesObj.length == 0) { - $("input[objid='" + objId + "']").val(''); - $("input[objid='" + objId + "']").attr('placeholder',attributeValue.name + '不能为空') - $("input[objid='" + objId + "']").addClass("required_input_css"); - return; - } - $.ajax({ - type : "POST", - url : "./jd?sid=" - + CLB.sid - + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_aws_org_relevance_save", - data : { - relationAwsOrg : json2String(shapesObj), - shapeId : shapeId, - fileId : ruuid, - shapeGroupId : shapeGroupId, - attrId : objId, - shapeText : shapeName - }, - success : function(msg) { - if (msg.result == "ok") { - var name = []; - var name1 = []; - var name2 = []; - var name3 = []; - var name4 = []; - for (var i = 0; i < shapesObj.length; i++) { - if (shapesObj[i].type == 'department') { - name1.push(shapesObj[i].name); - } - if (shapesObj[i].type == 'user') { - name2.push(shapesObj[i].name); - } - if (shapesObj[i].type == 'position') { - name3.push(shapesObj[i].name); - } - if (shapesObj[i].type == 'role') { - name4.push(shapesObj[i].name); - } - } - if (name1.length > 0) { - name = name.concat(name1); - } - if (name2.length > 0) { - name = name.concat(name2); - } - if (name3.length > 0) { - name = name.concat(name3); - } - if (name4.length > 0) { - name = name.concat(name4); - } - $("input[objid='" + objId + "']").val(name.join(",")); - var relationShapeIds = $("input[objid_shapeId='" + objId + "']").val(); - if (relationShapeIds.indexOf(",")) { - relationShapeIds = relationShapeIds.split(","); - } - //修改文件中保存的属性值 - var tempArray = []; - var count = 0; - var attributesJsonArray = []; - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.attributesJsonArray) { - attributesJsonArray = attr.attributesJsonArray; - break; - } - } - for (var index = 0; index < attributesJsonArray.length; index++) { - var tempObj = attributesJsonArray[index]; - if(tempObj == null) continue; - if (tempObj.id == objId) { - tempObj.value = relationShapeIds; - } - tempArray[count++] = tempObj; - } +function saveRelevanceAwsOrgShapesTODB1(shapesObj, shapeId, shapeName, fileName, shapeGroupId, objId, shape, attributeValue) { + if (attributeValue.isRequired && shapesObj.length == 0) { + $("input[objid='" + objId + "']").val(''); + $("input[objid='" + objId + "']").attr('placeholder', attributeValue.name + '不能为空') + $("input[objid='" + objId + "']").addClass("required_input_css"); + return; + } + $.ajax({ + type: "POST", + url: "./jd?sid=" + + CLB.sid + + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_aws_org_relevance_save", + data: { + relationAwsOrg: json2String(shapesObj), + shapeId: shapeId, + fileId: ruuid, + shapeGroupId: shapeGroupId, + attrId: objId, + shapeText: shapeName + }, + success: function (msg) { + if (msg.result == "ok") { + var name = []; + var name1 = []; + var name2 = []; + var name3 = []; + var name4 = []; + for (var i = 0; i < shapesObj.length; i++) { + if (shapesObj[i].type == 'department') { + name1.push(shapesObj[i].name); + } + if (shapesObj[i].type == 'user') { + name2.push(shapesObj[i].name); + } + if (shapesObj[i].type == 'position') { + name3.push(shapesObj[i].name); + } + if (shapesObj[i].type == 'role') { + name4.push(shapesObj[i].name); + } + } + if (name1.length > 0) { + name = name.concat(name1); + } + if (name2.length > 0) { + name = name.concat(name2); + } + if (name3.length > 0) { + name = name.concat(name3); + } + if (name4.length > 0) { + name = name.concat(name4); + } + $("input[objid='" + objId + "']").val(name.join(",")); + var relationShapeIds = $("input[objid_shapeId='" + objId + "']").val(); + if (relationShapeIds.indexOf(",")) { + relationShapeIds = relationShapeIds.split(","); + } + //修改文件中保存的属性值 + var tempArray = []; + var count = 0; + var attributesJsonArray = []; + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.attributesJsonArray) { + attributesJsonArray = attr.attributesJsonArray; + break; + } + } + for (var index = 0; index < attributesJsonArray.length; index++) { + var tempObj = attributesJsonArray[index]; + if (tempObj == null) continue; + if (tempObj.id == objId) { + tempObj.value = relationShapeIds; + } + tempArray[count++] = tempObj; + } - shape.attributesJsonArray = tempArray; - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.attributesJsonArray) { - attr.attributesJsonArray = tempArray; - break; - } - } - relationShapeModelObject[shapeId + "_" + objId] = name; - } - Model.update(shape); - } - }); + shape.attributesJsonArray = tempArray; + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.attributesJsonArray) { + attr.attributesJsonArray = tempArray; + break; + } + } + relationShapeModelObject[shapeId + "_" + objId] = name; + } + Model.update(shape); + } + }); } //获取关联形状文本 function getRelevanceAwsOrgNameByShapeId(objIds, shapeId) { - var elements = Model.define.elements; - var shapeName = ''; - var shapeCategory = ''; - for (var i in elements) { - if (i == shapeId) { - shapeName = elements[i].name; - shapeCategory = elements[i].category; - break; - } - } - if (shapeName == '') { - return; - } - $.ajax({ - type : "POST", - url : "./jd?sid=" - + CLB.sid - + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_aws_org_relevance_name_query", - data : { - fileId : ruuid, - shapeId : shapeId, - shapeName: shapeName, - shapeCategory: shapeCategory == 'lane' ? methodId : shapeCategory - }, - success : function(msg) { - if (msg.result == 'ok') { - var data = msg.data.attrData; - var shapeRefObj = msg.data.shapeRefObj; - for (var i = 0; i < objIds.length; i++) { - var objId = objIds[i]; - var ref = shapeRefObj[objId]; - if (data[objId] != undefined) { - // 按照部门人员角色排序 - var tempArr = data[objId]; - var name = []; - var name1 = []; - var name2 = []; - var name3 = []; - var name4 = []; - for (var j = 0; j < tempArr.length; j++) { - if (tempArr[j].type == 'department') { - name1.push(tempArr[j].name); - } - if (tempArr[j].type == 'user') { - name2.push(tempArr[j].name); - } - if (tempArr[j].type == 'position') { - name3.push(tempArr[j].name); - } - if (tempArr[j].type == 'role') { - name4.push(tempArr[j].name); - } - } - if (name1.length > 0) { - name = name.concat(name1); - } - if (name2.length > 0) { - name = name.concat(name2); - } - if (name3.length > 0) { - name = name.concat(name3); - } - if (name4.length > 0) { - name = name.concat(name4); - } - $("input[objid='" + objId + "']").val(name.join(",")); - } - $("input[objid_shapeId='" + objId + "']").attr('ref', JSON.stringify(ref)); - } - } - } - }); + var elements = Model.define.elements; + var shapeName = ''; + var shapeCategory = ''; + for (var i in elements) { + if (i == shapeId) { + shapeName = elements[i].name; + shapeCategory = elements[i].category; + break; + } + } + if (shapeName == '') { + return; + } + $.ajax({ + type: "POST", + url: "./jd?sid=" + + CLB.sid + + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_aws_org_relevance_name_query", + data: { + fileId: ruuid, + shapeId: shapeId, + shapeName: shapeName, + shapeCategory: shapeCategory == 'lane' ? methodId : shapeCategory + }, + success: function (msg) { + if (msg.result == 'ok') { + var data = msg.data.attrData; + var shapeRefObj = msg.data.shapeRefObj; + for (var i = 0; i < objIds.length; i++) { + var objId = objIds[i]; + var ref = shapeRefObj[objId]; + if (data[objId] != undefined) { + // 按照部门人员角色排序 + var tempArr = data[objId]; + var name = []; + var name1 = []; + var name2 = []; + var name3 = []; + var name4 = []; + for (var j = 0; j < tempArr.length; j++) { + if (tempArr[j].type == 'department') { + name1.push(tempArr[j].name); + } + if (tempArr[j].type == 'user') { + name2.push(tempArr[j].name); + } + if (tempArr[j].type == 'position') { + name3.push(tempArr[j].name); + } + if (tempArr[j].type == 'role') { + name4.push(tempArr[j].name); + } + } + if (name1.length > 0) { + name = name.concat(name1); + } + if (name2.length > 0) { + name = name.concat(name2); + } + if (name3.length > 0) { + name = name.concat(name3); + } + if (name4.length > 0) { + name = name.concat(name4); + } + $("input[objid='" + objId + "']").val(name.join(",")); + } + $("input[objid_shapeId='" + objId + "']").attr('ref', JSON.stringify(ref)); + } + } + } + }); } - // 形状关联弹窗 -function openRelationDig(obj,value) { - var shapeRelationValue = $("input[objid_shapeId='" + $(obj).attr("objid") + "']").val(); - var ref = $("input[objid_shapeId='" + $(obj).attr("objid") + "']").attr("ref"); // shape file shapeAndFile - var relationShapeIds = ''; - var relationFileIds = ''; - if (JSON.parse(ref).type == 'file') { - relationFileIds = shapeRelationValue; - } else { - relationShapeIds = shapeRelationValue; - } - var methodId=JSON.parse(ref).method; - var id = sid; - var wsId = $("#wsId").val(); - var shape = Utils.getSelected()[0]; - var title = $(obj).closest('tr').find('td:first').text().replace('*',''); - if (title == undefined || title == '') { - title = "添加关联形状"; - } - var conObj = $("#attr_dialog_normal_relevance_shapes_div").empty(); - var str = ''; - conObj.append(str); +function openRelationDig(obj, value) { + var shapeRelationValue = $("input[objid_shapeId='" + $(obj).attr("objid") + "']").val(); + var ref = $("input[objid_shapeId='" + $(obj).attr("objid") + "']").attr("ref"); // shape file shapeAndFile + var relationShapeIds = ''; + var relationFileIds = ''; + if (JSON.parse(ref).type == 'file') { + relationFileIds = shapeRelationValue; + } else { + relationShapeIds = shapeRelationValue; + } + var methodId = JSON.parse(ref).method; + var id = sid; + var wsId = $("#wsId").val(); + var shape = Utils.getSelected()[0]; + var title = $(obj).closest('tr').find('td:first').text().replace('*', ''); + if (title == undefined || title == '') { + title = "添加关联形状"; + } + var conObj = $("#attr_dialog_normal_relevance_shapes_div").empty(); + var str = ''; + conObj.append(str); - var getteamId=parent.$('#teamId').val()==undefined?"":parent.$('#teamId').val(); + var getteamId = parent.$('#teamId').val() == undefined ? "" : parent.$('#teamId').val(); - $("#attr_dialog_normal_relevance_shapes_div").attr("title", title); - $('#attr_content_iframe_relevance_shapes').attr( - 'src', "./w?sid=" + id - + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_shapes_tree" - + "&wsId=" + wsId - + "&ref=" + ref - + "&shapeId=" + shape.id - + "&attrId=" + $(obj).attr("objid") - + "&relationShapeIds=" + relationShapeIds - + "&relationFileIds=" + relationFileIds - + "&teamId=" + teamId - + "&ruuid=" + ruuid); - if(methodId=="org.role"){ - //根据角色 - $.ajax({ - type : "POST", - url : "./jd?sid=" - + CLB.sid - + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_relation_find_same_role", - data : { - uuid:ruuid, - methodId:methodId - }, - success : function(msg) { - if (msg.data.result == "ok" ) { - $("#attr_dialog_normal_relevance_shapes_div").dialog({ - buttons : [ - { - text : '跳转模型', - cls : "blue", - handler : function() { - var clickNodeId=document.getElementById("attr_content_iframe_relevance_shapes").contentWindow.getClickNodeId(); - if(clickNodeId==''){ - $.simpleAlert("请选择需要打开的流程!", 'warning'); - }else{ - var url="./w?uuid=" +clickNodeId+"&teamId="+getteamId - + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer&sid=" + encodeURIComponent($('#sid').val()); - window.open(url); - } + $("#attr_dialog_normal_relevance_shapes_div").attr("title", title); + $('#attr_content_iframe_relevance_shapes').attr( + 'src', "./w?sid=" + id + + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_shapes_tree" + + "&wsId=" + wsId + + "&ref=" + ref + + "&shapeId=" + shape.id + + "&attrId=" + $(obj).attr("objid") + + "&relationShapeIds=" + relationShapeIds + + "&relationFileIds=" + relationFileIds + + "&teamId=" + teamId + + "&ruuid=" + ruuid); + if (methodId == "org.role") { + //根据角色 + $.ajax({ + type: "POST", + url: "./jd?sid=" + + CLB.sid + + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_relation_find_same_role", + data: { + uuid: ruuid, + methodId: methodId + }, + success: function (msg) { + if (msg.data.result == "ok") { + $("#attr_dialog_normal_relevance_shapes_div").dialog({ + buttons: [ + { + text: '跳转模型', + cls: "blue", + handler: function () { + var clickNodeId = document.getElementById("attr_content_iframe_relevance_shapes").contentWindow.getClickNodeId(); + if (clickNodeId == '') { + $.simpleAlert("请选择需要打开的流程!", 'warning'); + } else { + var url = "./w?uuid=" + clickNodeId + "&teamId=" + getteamId + + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer&sid=" + encodeURIComponent($('#sid').val()); + window.open(url); + } - } - }, - { - text : '确定', - cls : "blue", - handler : function() { - var tmpObjId = $(obj).attr("objid"); - getRelevanceShapes(tmpObjId,value); - var tmpShape = Utils.getSelected()[0]; - var tmpTitle = tmpShape.title; - if (tmpShape.name == "linker") { - return; - } - if (tmpTitle.indexOf("泳道") > -1 || tmpTitle.indexOf("泳池") > -1 || tmpTitle.indexOf("分隔") > -1) { - return; - } - if (isForceShowError && tmpAttrIdValue.indexOf(tmpObjId) > -1) { - $.simpleAlert("已设置不允许修改,请在应用参数中设置", 'error'); - isForceShowError = false; - } - tmpAttrIdValue = []; - } - }, { - text : '关闭', - handler : function() { - $("#attr_dialog_normal_relevance_shapes_div").dialog('close'); - } - }] - }); - }else{ - $("#attr_dialog_normal_relevance_shapes_div").dialog({ - buttons : [ - { - text : '刷新', - cls : "yellow", - handler : function() { - // 刷新页面 - document.getElementById("attr_content_iframe_relevance_shapes").contentWindow.location.reload(true); - } - },{ - text : '跳转模型', - cls : "blue", - handler : function() { - var clickNodeId=document.getElementById("attr_content_iframe_relevance_shapes").contentWindow.getClickNodeId(); - if(clickNodeId==''){ - $.simpleAlert("请选择需要打开的流程", 'warning'); - }else{ - var url="./w?uuid=" +clickNodeId+"&teamId="+getteamId - + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer&sid=" + encodeURIComponent($('#sid').val()); - window.open(url); - } + } + }, + { + text: '确定', + cls: "blue", + handler: function () { + var tmpObjId = $(obj).attr("objid"); + getRelevanceShapes(tmpObjId, value); + var tmpShape = Utils.getSelected()[0]; + var tmpTitle = tmpShape.title; + if (tmpShape.name == "linker") { + return; + } + if (tmpTitle.indexOf("泳道") > -1 || tmpTitle.indexOf("泳池") > -1 || tmpTitle.indexOf("分隔") > -1) { + return; + } + if (isForceShowError && tmpAttrIdValue.indexOf(tmpObjId) > -1) { + $.simpleAlert("已设置不允许修改,请在应用参数中设置", 'error'); + isForceShowError = false; + } + tmpAttrIdValue = []; + } + }, { + text: '关闭', + handler: function () { + $("#attr_dialog_normal_relevance_shapes_div").dialog('close'); + } + }] + }); + } else { + $("#attr_dialog_normal_relevance_shapes_div").dialog({ + buttons: [ + { + text: '刷新', + cls: "yellow", + handler: function () { + // 刷新页面 + document.getElementById("attr_content_iframe_relevance_shapes").contentWindow.location.reload(true); + } + }, { + text: '跳转模型', + cls: "blue", + handler: function () { + var clickNodeId = document.getElementById("attr_content_iframe_relevance_shapes").contentWindow.getClickNodeId(); + if (clickNodeId == '') { + $.simpleAlert("请选择需要打开的流程", 'warning'); + } else { + var url = "./w?uuid=" + clickNodeId + "&teamId=" + getteamId + + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer&sid=" + encodeURIComponent($('#sid').val()); + window.open(url); + } - } - } - ,{ - text : "新建角色模型", - cls : "green", - handler : function() { - $(".dlg-button button").eq(3).attr('disabled',true); - //根据角色 - $.ajax({ - type : "POST", - url : "./jd?sid=" - + CLB.sid - + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_relation_find_same_role", - data : { - uuid:ruuid, - methodId:methodId - }, - success : function(msg) { - $(".dlg-button button").eq(3).removeAttr("disabled"); - if (msg.data.result == "ok") { - window.top.$.simpleAlert("请勿重复新建角色模型!!!"); - }else{ - //跳转角色 - $.ajax({ - type : "POST", - url : "./jd?sid=" - + CLB.sid - + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_relation_shape_createDialogModel", - data : { - uuid:ruuid, - methodId:methodId, - wsId:wsId, - teamId : parent.$('#teamId').val() - }, - async:false, - success : function(msg) { - if (msg.result == "ok") { - //关闭新建按钮 - $(".dlg-button button").eq(2).hide(); - window.open("./w?uuid=" + msg.data.uuid+"&teamId="+getteamId - + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer&sid=" + encodeURIComponent($('#sid').val())); - } + } + } + , { + text: "新建角色模型", + cls: "green", + handler: function () { + $(".dlg-button button").eq(3).attr('disabled', true); + //根据角色 + $.ajax({ + type: "POST", + url: "./jd?sid=" + + CLB.sid + + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_relation_find_same_role", + data: { + uuid: ruuid, + methodId: methodId + }, + success: function (msg) { + $(".dlg-button button").eq(3).removeAttr("disabled"); + if (msg.data.result == "ok") { + window.top.$.simpleAlert("请勿重复新建角色模型!!!"); + } else { + //跳转角色 + $.ajax({ + type: "POST", + url: "./jd?sid=" + + CLB.sid + + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_relation_shape_createDialogModel", + data: { + uuid: ruuid, + methodId: methodId, + wsId: wsId, + teamId: parent.$('#teamId').val() + }, + async: false, + success: function (msg) { + if (msg.result == "ok") { + //关闭新建按钮 + $(".dlg-button button").eq(2).hide(); + window.open("./w?uuid=" + msg.data.uuid + "&teamId=" + getteamId + + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer&sid=" + encodeURIComponent($('#sid').val())); + } - } - }); - } - } - }); + } + }); + } + } + }); - } - }, { - text : '确定', - cls : "blue", - handler : function() { - var tmpObjId = $(obj).attr("objid"); - getRelevanceShapes(tmpObjId,value); - var tmpShape = Utils.getSelected()[0]; - var tmpTitle = tmpShape.title; - if (tmpShape.name == "linker") { - return; - } - if (tmpTitle.indexOf("泳道") > -1 || tmpTitle.indexOf("泳池") > -1 || tmpTitle.indexOf("分隔") > -1) { - return; - } - if (isForceShowError && tmpAttrIdValue.indexOf(tmpObjId) > -1) { - $.simpleAlert("已设置不允许修改,请在应用参数中设置", 'error'); - isForceShowError = false; - } - tmpAttrIdValue = []; - } - }, { - text : '关闭', - handler : function() { - $("#attr_dialog_normal_relevance_shapes_div").dialog('close'); - } - }] - }); - } - } - }); - }else{ - $("#attr_dialog_normal_relevance_shapes_div").dialog({ - buttons : [ - { - text : '确定', - cls : "blue", - handler : function() { - var tmpObjId = $(obj).attr("objid"); - getRelevanceShapes(tmpObjId,value); - var tmpShape = Utils.getSelected()[0]; - var tmpTitle = tmpShape.title; - if (tmpShape.name == "linker") { - return; - } - if (tmpTitle.indexOf("泳道") > -1 || tmpTitle.indexOf("泳池") > -1 || tmpTitle.indexOf("分隔") > -1) { - return; - } - if (isForceShowError && tmpAttrIdValue.indexOf(tmpObjId) > -1) { - $.simpleAlert("已设置不允许修改,请在应用参数中设置", 'error'); - isForceShowError = false; - } - tmpAttrIdValue = []; - } - }, { - text : '关闭', - handler : function() { - $("#attr_dialog_normal_relevance_shapes_div").dialog('close'); - } - }] - }); - } + } + }, { + text: '确定', + cls: "blue", + handler: function () { + var tmpObjId = $(obj).attr("objid"); + getRelevanceShapes(tmpObjId, value); + var tmpShape = Utils.getSelected()[0]; + var tmpTitle = tmpShape.title; + if (tmpShape.name == "linker") { + return; + } + if (tmpTitle.indexOf("泳道") > -1 || tmpTitle.indexOf("泳池") > -1 || tmpTitle.indexOf("分隔") > -1) { + return; + } + if (isForceShowError && tmpAttrIdValue.indexOf(tmpObjId) > -1) { + $.simpleAlert("已设置不允许修改,请在应用参数中设置", 'error'); + isForceShowError = false; + } + tmpAttrIdValue = []; + } + }, { + text: '关闭', + handler: function () { + $("#attr_dialog_normal_relevance_shapes_div").dialog('close'); + } + }] + }); + } + } + }); + } else { + $("#attr_dialog_normal_relevance_shapes_div").dialog({ + buttons: [ + { + text: '确定', + cls: "blue", + handler: function () { + var tmpObjId = $(obj).attr("objid"); + getRelevanceShapes(tmpObjId, value); + var tmpShape = Utils.getSelected()[0]; + var tmpTitle = tmpShape.title; + if (tmpShape.name == "linker") { + return; + } + if (tmpTitle.indexOf("泳道") > -1 || tmpTitle.indexOf("泳池") > -1 || tmpTitle.indexOf("分隔") > -1) { + return; + } + if (isForceShowError && tmpAttrIdValue.indexOf(tmpObjId) > -1) { + $.simpleAlert("已设置不允许修改,请在应用参数中设置", 'error'); + isForceShowError = false; + } + tmpAttrIdValue = []; + } + }, { + text: '关闭', + handler: function () { + $("#attr_dialog_normal_relevance_shapes_div").dialog('close'); + } + }] + }); + } } // 将关联关系保存到数据库 function saveRelevanceShapesTODB(shapesObj, shapeId, shapeName, fileName, - shapeGroupId, objId, shape,attributeValue) { - //itsystem(it系统)加新建的角标(SAP OA ERP HR等分类) - /*if("itsystem" == objId) { + shapeGroupId, objId, shape, attributeValue) { + //itsystem(it系统)加新建的角标(SAP OA ERP HR等分类) + /*if("itsystem" == objId) { var itsystemFlag = { "w":30, "h":30, @@ -3768,240 +3812,242 @@ function saveRelevanceShapesTODB(shapesObj, shapeId, shapeName, fileName, } }*/ - //添加关联属性时,更新relationShapeModelObject的值 - if (attributeValue.isRequired && shapesObj.length == 0) { - $("input[objid='" + objId + "']").val(''); - $("input[objid='" + objId + "']").attr('placeholder',attributeValue.name + '不能为空') - $("input[objid='" + objId + "']").addClass("required_input_css"); - return; - } - var tmp = shapeId + '_' + objId; - relationShapeModelObject[tmp] = []; - if (shapesObj.length > 0) { - for (var i = 0; i < shapesObj.length; i++) { - var temp = shapesObj[i]; - relationShapeModelObject[tmp].push(temp.relationShapeText); - } - } - //by bzp 校验角色和岗位不能同时选择 - if(shape.category!="org_role"){ - if(objId == 'role' || objId == 'post'){ - if(objId == 'role'){ - //判断岗位 - var tmp = $("input[objid='post']").val(); - if(tmp != undefined && tmp.length > 0){ - $.simpleAlert("不能同时选择岗位和角色"); - return; - } - } - if(objId == 'post'){ - //判断角色 - var tmp = $("input[objid='role']").val(); - if(tmp != undefined && tmp.length > 0){ - $.simpleAlert("不能同时选择岗位和角色"); - return; - } - } - } - } + //添加关联属性时,更新relationShapeModelObject的值 + if (attributeValue.isRequired && shapesObj.length == 0) { + $("input[objid='" + objId + "']").val(''); + $("input[objid='" + objId + "']").attr('placeholder', attributeValue.name + '不能为空') + $("input[objid='" + objId + "']").addClass("required_input_css"); + return; + } + var tmp = shapeId + '_' + objId; + relationShapeModelObject[tmp] = []; + if (shapesObj.length > 0) { + for (var i = 0; i < shapesObj.length; i++) { + var temp = shapesObj[i]; + relationShapeModelObject[tmp].push(temp.relationShapeText); + } + } + //by bzp 校验角色和岗位不能同时选择 + if (shape.category != "org_role") { + if (objId == 'role' || objId == 'post') { + if (objId == 'role') { + //判断岗位 + var tmp = $("input[objid='post']").val(); + if (tmp != undefined && tmp.length > 0) { + $.simpleAlert("不能同时选择岗位和角色"); + return; + } + } + if (objId == 'post') { + //判断角色 + var tmp = $("input[objid='role']").val(); + if (tmp != undefined && tmp.length > 0) { + $.simpleAlert("不能同时选择岗位和角色"); + return; + } + } + } + } - //by bzp end - var ref = $("input[objid_shapeId='" + objId + "']").attr("ref"); - $.ajax({ - type : "POST", - url : "./jd?sid=" - + CLB.sid - + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_relation_shape_relevance_save", - data : { - relationShapes : json2String(shapesObj), - shapeId : shapeId, - fileUUID : ruuid, - shapeGroupId : shapeGroupId, - attrId : objId, - ref : ref - }, - success : function(msg) { - if (msg.result == "ok") { - var list = msg.data.list; - var shapeNames = []; - var shapeRelationValue = []; - var relationType = JSON.parse(ref).type; - for (var j = 0; j < list.length; j++) { - if (list[j].attrId == objId) { - shapeNames.push(list[j].relationShapeText); - if (relationType == 'file') { - shapeRelationValue.push(list[j].relationFileId); - } else { - shapeRelationValue.push(list[j].relationShapeId); - } - } - } - $("input[objid='" + objId + "']").val(shapeNames.join(",")); - $("input[objid_shapeId='" + objId + "']").val(shapeRelationValue.join(",")); + //by bzp end + var ref = $("input[objid_shapeId='" + objId + "']").attr("ref"); + $.ajax({ + type: "POST", + url: "./jd?sid=" + + CLB.sid + + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_relation_shape_relevance_save", + data: { + relationShapes: json2String(shapesObj), + shapeId: shapeId, + fileUUID: ruuid, + shapeGroupId: shapeGroupId, + attrId: objId, + ref: ref + }, + success: function (msg) { + if (msg.result == "ok") { + var list = msg.data.list; + var shapeNames = []; + var shapeRelationValue = []; + var relationType = JSON.parse(ref).type; + for (var j = 0; j < list.length; j++) { + if (list[j].attrId == objId) { + shapeNames.push(list[j].relationShapeText); + if (relationType == 'file') { + shapeRelationValue.push(list[j].relationFileId); + } else { + shapeRelationValue.push(list[j].relationShapeId); + } + } + } + $("input[objid='" + objId + "']").val(shapeNames.join(",")); + $("input[objid_shapeId='" + objId + "']").val(shapeRelationValue.join(",")); - // var relationShapeIds = $("input[objid_shapeId='" + objId + "']").val(); - // var shapeNames = []; - // if (relationShapeIds.indexOf(",")) { - // relationShapeIds = relationShapeIds.split(","); - // for (var k = 0; k < msg.data.list.length; k++) { - // var list = msg.data.list[k]; - // for (var p = 0; p < relationShapeIds.length; p++) { - // if (list.relationShapeId == relationShapeIds[p]) { - // shapeNames.push(list.relationShapeText); - // } - // } - // } - // $("input[objid='" + objId + "']").val(shapeNames.join(",")); - // } - //修改文件中保存的属性值 - var tempArray = []; - var count = 0; - var attributesJsonArray = []; - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.attributesJsonArray) { - attributesJsonArray = attr.attributesJsonArray; - break; - } - } - for (var index = 0; index < attributesJsonArray.length; index++) { - var tempObj = attributesJsonArray[index]; - if(tempObj == null) continue; - if (tempObj.id == objId) { - tempObj.value = shapeRelationValue; - } - tempArray[count++] = tempObj; - } + // var relationShapeIds = $("input[objid_shapeId='" + objId + "']").val(); + // var shapeNames = []; + // if (relationShapeIds.indexOf(",")) { + // relationShapeIds = relationShapeIds.split(","); + // for (var k = 0; k < msg.data.list.length; k++) { + // var list = msg.data.list[k]; + // for (var p = 0; p < relationShapeIds.length; p++) { + // if (list.relationShapeId == relationShapeIds[p]) { + // shapeNames.push(list.relationShapeText); + // } + // } + // } + // $("input[objid='" + objId + "']").val(shapeNames.join(",")); + // } + //修改文件中保存的属性值 + var tempArray = []; + var count = 0; + var attributesJsonArray = []; + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.attributesJsonArray) { + attributesJsonArray = attr.attributesJsonArray; + break; + } + } + for (var index = 0; index < attributesJsonArray.length; index++) { + var tempObj = attributesJsonArray[index]; + if (tempObj == null) continue; + if (tempObj.id == objId) { + tempObj.value = shapeRelationValue; + } + tempArray[count++] = tempObj; + } - shape.attributesJsonArray = tempArray; - for (var i = 0; i < shape.dataAttributes.length; i++) { - var attr = shape.dataAttributes[i]; - if (attr.attributesJsonArray) { - attr.attributesJsonArray = tempArray; - break; - } - } - } + shape.attributesJsonArray = tempArray; + for (var i = 0; i < shape.dataAttributes.length; i++) { + var attr = shape.dataAttributes[i]; + if (attr.attributesJsonArray) { + attr.attributesJsonArray = tempArray; + break; + } + } + } - if (methodId == "process.subprocess"){ - let ele = Model.getShapeById(shapeId); - let relationFileId = list[0].relationFileId; - let relationShapeText = list[0].relationShapeText; - if (ele.extendAttr){ - ele.extendAttr.id = relationFileId; - ele.extendAttr.name = relationShapeText; - }else { - let extendAttr = { - id: relationFileId, - name: relationShapeText - } - ele.extendAttr = extendAttr; - } - ele.text = relationShapeText; - } + if (methodId == "process.subprocess") { + let ele = Model.getShapeById(shapeId); + let relationFileId = list[0].relationFileId; + let relationShapeText = list[0].relationShapeText; + if (ele.extendAttr) { + ele.extendAttr.id = relationFileId; + ele.extendAttr.name = relationShapeText; + } else { + let extendAttr = { + id: relationFileId, + name: relationShapeText + } + ele.extendAttr = extendAttr; + } + ele.text = relationShapeText; + } - Model.update(shape); - } - }); + Model.update(shape); + } + }); } // 获取boolean类型属性的option var booleanComboboxs = []; + function getBooleanSelectOptions(booleanValues, shapeId) { - for (var i = 0; i < booleanValues.length; i++) { - var objId = booleanValues[i].objId; - var objValue = booleanValues[i].objValue; - var objType = booleanValues[i].objType; - var objOptions = booleanValues[i].objOptions; - var multiple = false; - var closeSelect = true; - var optionsData = objOptions; - if (optionsData) { - optionsData = optionsData.split(","); - var selectData = []; - var selectedData = []; - if(objValue != null && objValue != ''){ - var selectedArr = objValue.split(','); - } - var y = 0; - selectData.push({id: '', text: '请选择'});// 默认一个空值 - if (optionsData.length > 0) { - for (var j = 0, len = optionsData.length; j < len; j++) { - var dataObj = { - id : j, - text : optionsData[j] - }; - selectData.push(dataObj); - if(objValue != null && objValue != ''){ - for(var x = 0; x < selectedArr.length; x++){ - if(selectedArr[x] == optionsData[j]){ - selectedData[y] = j; - y++; - } - } - } - } - } - $.fn.select2.defaults.set("language", "zh-CN"); - var opt1 = { - width : 244, - multiple:multiple, - closeOnSelect:closeSelect, - placeholder:'请选择...', - minimumResultsForSearch: -1 - }; - opt1.data = selectData; - $("#attribute_name_input_" + objId).parent().css("padding-left", "0px"); - var $obj = $("#attribute_name_input_" + objId).select2(opt1); - if(selectedData != null && selectedData != ''){ - $("#attribute_name_input_" + objId).val(selectedData[0]).trigger("change"); - } - $obj.off("select2:close").on("select2:close", function(e){ - // var type = this.id.substring(this.id.lastIndexOf('_')+1); - var type = this.id.substr('attribute_name_input_'.length); - var selectValue = []; - var selected = $('#' + this.id).select2('data'); - for(var j = 0; j < selected.length; j++){ - selectValue[j] = selected[j].text; - } - booleanComboboxs[type] = selectValue.join(','); - saveSelectContent(type,booleanComboboxs[type], shapeId); - }); - $("#attribute_name_input_" + objId + "_Tip").css({"float" : "left", "border" : "0"}); - } - } + for (var i = 0; i < booleanValues.length; i++) { + var objId = booleanValues[i].objId; + var objValue = booleanValues[i].objValue; + var objType = booleanValues[i].objType; + var objOptions = booleanValues[i].objOptions; + var multiple = false; + var closeSelect = true; + var optionsData = objOptions; + if (optionsData) { + optionsData = optionsData.split(","); + var selectData = []; + var selectedData = []; + if (objValue != null && objValue != '') { + var selectedArr = objValue.split(','); + } + var y = 0; + selectData.push({id: '', text: '请选择'});// 默认一个空值 + if (optionsData.length > 0) { + for (var j = 0, len = optionsData.length; j < len; j++) { + var dataObj = { + id: j, + text: optionsData[j] + }; + selectData.push(dataObj); + if (objValue != null && objValue != '') { + for (var x = 0; x < selectedArr.length; x++) { + if (selectedArr[x] == optionsData[j]) { + selectedData[y] = j; + y++; + } + } + } + } + } + $.fn.select2.defaults.set("language", "zh-CN"); + var opt1 = { + width: 244, + multiple: multiple, + closeOnSelect: closeSelect, + placeholder: '请选择...', + minimumResultsForSearch: -1 + }; + opt1.data = selectData; + $("#attribute_name_input_" + objId).parent().css("padding-left", "0px"); + var $obj = $("#attribute_name_input_" + objId).select2(opt1); + if (selectedData != null && selectedData != '') { + $("#attribute_name_input_" + objId).val(selectedData[0]).trigger("change"); + } + $obj.off("select2:close").on("select2:close", function (e) { + // var type = this.id.substring(this.id.lastIndexOf('_')+1); + var type = this.id.substr('attribute_name_input_'.length); + var selectValue = []; + var selected = $('#' + this.id).select2('data'); + for (var j = 0; j < selected.length; j++) { + selectValue[j] = selected[j].text; + } + booleanComboboxs[type] = selectValue.join(','); + saveSelectContent(type, booleanComboboxs[type], shapeId); + }); + $("#attribute_name_input_" + objId + "_Tip").css({"float": "left", "border": "0"}); + } + } } //获取select类型属性的option var comboboxs = []; -function getSelectOptions(category, selectValues, shapeId) { - $.ajax({ - type : "POST", - url : "./jd?sid=" - + CLB.sid - + "&cmd=com.actionsoft.apps.coe.pal_pl_attribute_option", - data : { - category : category - }, - success : function(msg) { - if (msg.result == "ok") { - var data = msg.data.data; - for (var i = 0; i < selectValues.length; i++) { - var objId = selectValues[i].objId; - var objValue = selectValues[i].objValue; - var objType = selectValues[i].objType; - var multiple = false; - var closeSelect = true; - if (objType == "select_m") { - multiple = true; - // closeSelect = false; - } - var optionsData = data[objId]; - if (optionsData) { - optionsData = optionsData.split(","); - /*var options = { +function getSelectOptions(category, selectValues, shapeId) { + $.ajax({ + type: "POST", + url: "./jd?sid=" + + CLB.sid + + "&cmd=com.actionsoft.apps.coe.pal_pl_attribute_option", + data: { + category: category + }, + success: function (msg) { + if (msg.result == "ok") { + var data = msg.data.data; + for (var i = 0; i < selectValues.length; i++) { + var objId = selectValues[i].objId; + var objValue = selectValues[i].objValue; + var objType = selectValues[i].objType; + var multiple = false; + var closeSelect = true; + if (objType == "select_m") { + multiple = true; + // closeSelect = false; + } + var optionsData = data[objId]; + if (optionsData) { + optionsData = optionsData.split(","); + + /*var options = { arrow:true, width:239, height:22, @@ -4022,102 +4068,103 @@ function getSelectOptions(category, selectValues, shapeId) { comboboxs[objId] = $("#attribute_name_input_" + objId).combobox(options); $("#attribute_name_input_" + objId + "_Tip").css({"float" : "left", "border" : "0"});*/ - var selectData = []; - var selectedData = []; - if(objValue != null && objValue != ''){ - var selectedArr = objValue.split(','); - } - var y = 0; - if (objType == "select") {// 单选默认为空 - selectData.push({id: '', text: '请选择'}); - } - if (optionsData.length > 0) { - for (var j = 0, len = optionsData.length; j < len; j++) { - var dataObj = { - id : j, - text : optionsData[j] - }; - selectData.push(dataObj); - if(objValue != null && objValue != ''){ - for(var x = 0; x < selectedArr.length; x++){ - if(selectedArr[x] == optionsData[j]){ - selectedData[y] = j; - y++; - } - } - } - } - } - $.fn.select2.defaults.set("language", "zh-CN"); - var opt1 = { - width : 244, - multiple:multiple, - closeOnSelect:closeSelect, - /*templateResult:formatState, + var selectData = []; + var selectedData = []; + if (objValue != null && objValue != '') { + var selectedArr = objValue.split(','); + } + var y = 0; + if (objType == "select") {// 单选默认为空 + selectData.push({id: '', text: '请选择'}); + } + if (optionsData.length > 0) { + for (var j = 0, len = optionsData.length; j < len; j++) { + var dataObj = { + id: j, + text: optionsData[j] + }; + selectData.push(dataObj); + if (objValue != null && objValue != '') { + for (var x = 0; x < selectedArr.length; x++) { + if (selectedArr[x] == optionsData[j]) { + selectedData[y] = j; + y++; + } + } + } + } + } + $.fn.select2.defaults.set("language", "zh-CN"); + var opt1 = { + width: 244, + multiple: multiple, + closeOnSelect: closeSelect, + /*templateResult:formatState, templateSelection:formatRepoSelection,*/ - placeholder:'请选择...' - }; - opt1.data = selectData; - $("#attribute_name_input_" + objId).parent().css("padding-left", "0px"); - var $obj = $("#attribute_name_input_" + objId).select2(opt1); - if(multiple){//多选 - $("#attribute_name_input_" + objId).val(selectedData).trigger("change"); - } else {//单选 - if(selectedData != null && selectedData != ''){ - $("#attribute_name_input_" + objId).val(selectedData[0]).trigger("change"); - } - } - // $obj.off("select2:close").on("select2:close", function(e){//只能在关闭多选框时触发事件,close与unselect事件冲突,待完善 - // // var type = this.id.substring(this.id.lastIndexOf('_')+1); - // var type = this.id.substr('attribute_name_input_'.length); - // var selectValue = []; - // var selected = $('#' + this.id).select2('data'); - // for(var j = 0; j < selected.length; j++){ - // selectValue[j] = selected[j].text; - // } - // comboboxs[type] = selectValue.join(','); - // saveSelectContent(type,comboboxs[type], shapeId); - // }); - /* + placeholder: '请选择...' + }; + opt1.data = selectData; + $("#attribute_name_input_" + objId).parent().css("padding-left", "0px"); + var $obj = $("#attribute_name_input_" + objId).select2(opt1); + if (multiple) {//多选 + $("#attribute_name_input_" + objId).val(selectedData).trigger("change"); + } else {//单选 + if (selectedData != null && selectedData != '') { + $("#attribute_name_input_" + objId).val(selectedData[0]).trigger("change"); + } + } + // $obj.off("select2:close").on("select2:close", function(e){//只能在关闭多选框时触发事件,close与unselect事件冲突,待完善 + // // var type = this.id.substring(this.id.lastIndexOf('_')+1); + // var type = this.id.substr('attribute_name_input_'.length); + // var selectValue = []; + // var selected = $('#' + this.id).select2('data'); + // for(var j = 0; j < selected.length; j++){ + // selectValue[j] = selected[j].text; + // } + // comboboxs[type] = selectValue.join(','); + // saveSelectContent(type,comboboxs[type], shapeId); + // }); + /* 下拉框方案: 1.select+unselect:选中与取消选中结合,每次选中值和取消选中值时都会刷新当前属性,导致多选框下拉框关闭,优势是可以在未展开下拉框的情况下监听点击"x"进行某项内容的取消 2.close+unselect:结合closeOnSelect(false),可以实现在下拉框关闭时才更新属性存储,可以实现在未展开下拉框的情况下监听点击"x"进行某项内容的取消,但是在展开下拉框时进行取消选中,会导致unselect事件被触发导致下拉框关闭 3.close:结合closeOnSelect(false),可以实现在下拉框关闭时才更新属性存储,选中与取消选中某项时都正常,但是在未展开下拉框的情况下进行某项内容的取消操作无效,因为没有unselect事件监听 */ - // 只能使用选中和取消选中事件,并且选中一项后因为内容要刷新会导致下拉框窗口关闭,如果使用下拉框close事件,如果是close+unselect结合,则则不支持在未展开下拉框的情况下取消选中 - $obj.off("select2:select").on("select2:select",function(e){ - var type = this.id.substr('attribute_name_input_'.length); - var selectValue = []; - var selected = $('#' + this.id).select2('data'); - for(var j = 0; j < selected.length; j++){ - selectValue[j] = selected[j].text; - } - comboboxs[type] = selectValue.join(','); - saveSelectContent(type,comboboxs[type], shapeId); - }); - $obj.off("select2:unselect").on("select2:unselect", function (e) { - var type = this.id.substr('attribute_name_input_'.length); - var selectValue = []; - var selected = $('#' + this.id).select2('data'); - for(var j = 0; j < selected.length; j++){ - selectValue[j] = selected[j].text; - } - comboboxs[type] = selectValue.join(','); - saveSelectContent(type,comboboxs[type], shapeId); - }); - $("#attribute_name_input_" + objId + "_Tip").css({"float" : "left", "border" : "0"}); - } - } - } - } - }); + // 只能使用选中和取消选中事件,并且选中一项后因为内容要刷新会导致下拉框窗口关闭,如果使用下拉框close事件,如果是close+unselect结合,则则不支持在未展开下拉框的情况下取消选中 + $obj.off("select2:select").on("select2:select", function (e) { + var type = this.id.substr('attribute_name_input_'.length); + var selectValue = []; + var selected = $('#' + this.id).select2('data'); + for (var j = 0; j < selected.length; j++) { + selectValue[j] = selected[j].text; + } + comboboxs[type] = selectValue.join(','); + saveSelectContent(type, comboboxs[type], shapeId); + }); + $obj.off("select2:unselect").on("select2:unselect", function (e) { + var type = this.id.substr('attribute_name_input_'.length); + var selectValue = []; + var selected = $('#' + this.id).select2('data'); + for (var j = 0; j < selected.length; j++) { + selectValue[j] = selected[j].text; + } + comboboxs[type] = selectValue.join(','); + saveSelectContent(type, comboboxs[type], shapeId); + }); + $("#attribute_name_input_" + objId + "_Tip").css({"float": "left", "border": "0"}); + } + } + } + } + }); } function getScreenResolution() { - if (screen.width == 1024) { + if (screen.width == 1024) { - } + } } + /** * 图形创建后事件 */ @@ -4129,442 +4176,576 @@ function getScreenResolution() { */ // 重新流程手册导出并预览事件 -UI.doOutputProcess = function() { - $.ajax({ - type : "POST", - url : "./jd?sid=" - + CLB.sid - + "&cmd=com.actionsoft.apps.coe.pal_outputreport_output_process_check", - data : { - fileId : ruuid - }, - success : function(r) { - if (r.result == "ok") { - var data = r.data.data; - if (data.length == 0) { - $.simpleAlert('无相关应用', 'error'); - } else { - outputReport(); - } - } else { - $.simpleAlert('流程不存在', 'error'); - } - } - }); +UI.doOutputProcess = function () { + $.ajax({ + type: "POST", + url: "./jd?sid=" + + CLB.sid + + "&cmd=com.actionsoft.apps.coe.pal_outputreport_output_process_check", + data: { + fileId: ruuid + }, + success: function (r) { + if (r.result == "ok") { + var data = r.data.data; + if (data.length == 0) { + $.simpleAlert('无相关应用', 'error'); + } else { + outputReport(); + } + } else { + $.simpleAlert('流程不存在', 'error'); + } + } + }); } //导出流程手册 function outputReport() { - var msg = '正在创建流程手册'; - if (methodId == 'data.form') { - msg = '正在创建表单手册'; - } else if (methodId == 'control.policy') { - msg = '正在创建制度手册'; - } - $.simpleAlert(msg, 'loading'); - $.ajax({ - type : "POST", - url : "./jd?sid=" - + CLB.sid - + "&cmd=com.actionsoft.apps.coe.pal_outputreport_output_process_create", - data : { - wsId : $('#wsId').val(), - teamId : $('#teamId').val(), - fileId : ruuid - }, - success : function(r) { - if(r.result == "ok") { - $.simpleAlert('正在打开', 'loading'); - setTimeout(function(){ - $.ajax({ - type : "POST", - url : "./jd?sid=" - + CLB.sid - + "&cmd=com.actionsoft.apps.coe.pal_outputreport_output_process_preview", - data : { - taskId : r.data.taskId - }, - success : function(msg) { - if (msg.result == "ok") { - $.simpleAlert("close"); - if (msg['data']) { - var url = msg['data']['url']; - window.open(url); - } - } else { - $.simpleAlert("close"); - $.simpleAlert(msg['msg'], 'info'); - } - } - }); - },2000); - } else { - if (methodId == 'data.form') { - $.simpleAlert('表单手册创建失败', 'error'); - } else if (methodId == 'control.policy') { - $.simpleAlert('制度手册创建失败,请检查正文文件格式是否正确!', 'error'); - }else{ - $.simpleAlert('流程手册创建失败', 'error'); - } - } - } - }); + var msg = '正在创建流程手册'; + if (methodId == 'data.form') { + msg = '正在创建表单手册'; + } else if (methodId == 'control.policy') { + msg = '正在创建制度手册'; + } + $.simpleAlert(msg, 'loading'); + $.ajax({ + type: "POST", + url: "./jd?sid=" + + CLB.sid + + "&cmd=com.actionsoft.apps.coe.pal_outputreport_output_process_create", + data: { + wsId: $('#wsId').val(), + teamId: $('#teamId').val(), + fileId: ruuid + }, + success: function (r) { + debugger; + if (r.result == "ok") { + if (methodId == "data.form") { + $.ajax({ + type: "POST", + url: "./jd?sid=" + + CLB.sid + + "&cmd=com.actionsoft.apps.coe.pal.publisher_output_pr_estimateFile", + data: { + fileId: ruuid + }, + success: function (rep) { + if (rep.data.result == "existExcel") { + $.ajax({ + type: "POST", + url: "./jd?sid=" + + CLB.sid + + "&cmd=com.actionsoft.apps.coe.pal.publisher_output_pr_downloadExcelFile", + data: { + taskIds: r.data.taskId + }, + success: function (msg) { + if (msg.result == "ok") { + window.open(msg.data.url); + $.simpleAlert("close"); + } else { + $.simpleAlert("close"); + } + } + }); + } else { + $.simpleAlert('正在打开', 'loading'); + setTimeout(function () { + $.ajax({ + type: "POST", + url: "./jd?sid=" + + CLB.sid + + "&cmd=com.actionsoft.apps.coe.pal_outputreport_output_process_preview", + data: { + taskId: r.data.taskId + }, + success: function (msg) { + if (msg.result == "ok") { + $.simpleAlert("close"); + if (msg['data']) { + var url = msg['data']['url']; + window.open(url); + } + } else { + $.simpleAlert("close"); + $.simpleAlert(msg['msg'], 'info'); + } + } + }); + }, 2000); + } + } + }); + } else if (methodId == 'control.policy') { + $.ajax({ + type: "POST", + url: "./jd?sid=" + + CLB.sid + + "&cmd=com.actionsoft.apps.coe.pal.publisher_output_pr_estimatePPTFile", + data: { + fileId: ruuid + }, + success: function (rep) { + debugger; + if (rep.data.result == "existPPT") { + setTimeout(function () { + $.ajax({ + type: "POST", + url: "./jd?sid=" + + CLB.sid + + "&cmd=com.actionsoft.apps.coe.pal_outputreport_output_process_ppt_preview", + data: { + taskId: r.data.taskId + }, + success: function (msg) { + if (msg.result == "ok") { + $.simpleAlert("close"); + if (msg['data']) { + var url = msg['data']['url']; + window.open(url); + } + } else { + $.simpleAlert("close"); + $.simpleAlert(msg['msg'], 'info'); + } + } + }); + }, 2000); + } else { + $.simpleAlert('正在打开', 'loading'); + setTimeout(function () { + $.ajax({ + type: "POST", + url: "./jd?sid=" + + CLB.sid + + "&cmd=com.actionsoft.apps.coe.pal_outputreport_output_process_preview", + data: { + taskId: r.data.taskId + }, + success: function (msg) { + if (msg.result == "ok") { + $.simpleAlert("close"); + if (msg['data']) { + var url = msg['data']['url']; + window.open(url); + } + } else { + $.simpleAlert("close"); + $.simpleAlert(msg['msg'], 'info'); + } + } + }); + }, 2000); + } + } + }); + } else { + $.simpleAlert('正在打开', 'loading'); + setTimeout(function () { + $.ajax({ + type: "POST", + url: "./jd?sid=" + + CLB.sid + + "&cmd=com.actionsoft.apps.coe.pal_outputreport_output_process_preview", + data: { + taskId: r.data.taskId + }, + success: function (msg) { + if (msg.result == "ok") { + $.simpleAlert("close"); + if (msg['data']) { + var url = msg['data']['url']; + window.open(url); + } + } else { + $.simpleAlert("close"); + $.simpleAlert(msg['msg'], 'info'); + } + } + }); + }, 2000); + } + } else { + if (methodId == 'data.form') { + $.simpleAlert('表单手册创建失败', 'error'); + } else if (methodId == 'control.policy') { + $.simpleAlert('制度手册创建失败,请检查正文文件格式是否正确!', 'error'); + } else { + $.simpleAlert('流程手册创建失败', 'error'); + } + } + } + }); } //根据附件创建节点-打开dialog -UI.showImportShapeDlg = function() { - // 判断是否保存 - if ($("#saving_tip").text() != "已保存成功" && $("#saving_tip").text() != "保存成功" && $("#saving_tip").text() != "您的文件已经成功保存" && $("#saving_tip").text() != "") { - $.simpleAlert('页面中有未保存的内容,请先保存'); - return; - } - $("#shape_import_dlg").dialog({ - width: 570, - height: 380, - buttons:[ - {text:'确定',cls:"blue",handler:function(){ - importShapeFile(); - }}, - {text:'取消',handler:function(){$("#shape_import_dlg").dialog("close");}} - ], - onClose:delShapeFiles - }); +UI.showImportShapeDlg = function () { + // 判断是否保存 + if ($("#saving_tip").text() != "已保存成功" && $("#saving_tip").text() != "保存成功" && $("#saving_tip").text() != "您的文件已经成功保存" && $("#saving_tip").text() != "") { + $.simpleAlert('页面中有未保存的内容,请先保存'); + return; + } + $("#shape_import_dlg").dialog({ + width: 570, + height: 380, + buttons: [ + { + text: '确定', cls: "blue", handler: function () { + importShapeFile(); + } + }, + { + text: '取消', handler: function () { + $("#shape_import_dlg").dialog("close"); + } + } + ], + onClose: delShapeFiles + }); } var updatedShapeFileList = [];// 已上传的附件列表名称 // 保存附件 function importShapeFile() { - if(updatedShapeFileList.length == 0) { - $.simpleAlert('没有上传的附件,请点击取消或直接关闭'); - return; - } + if (updatedShapeFileList.length == 0) { + $.simpleAlert('没有上传的附件,请点击取消或直接关闭'); + return; + } - $.simpleAlert('正在保存', 'loading'); - if (methodId == "data.form") { - type = "form"; - } else if (methodId == "control.policy") { - type = "regulation"; - } else { - $.simpleAlert('获取所需参数失败,请联系系统管理员', 'error'); - } + $.simpleAlert('正在保存', 'loading'); + if (methodId == "data.form") { + type = "form"; + } else if (methodId == "control.policy") { + type = "regulation"; + } else { + $.simpleAlert('获取所需参数失败,请联系系统管理员', 'error'); + } - $.ajax({ - type : "POST", - url : "./jd?sid=" - + CLB.sid - + "&cmd=com.actionsoft.apps.coe.pal_processlevel_shape_upfile_save", - data : { - sid: sid, - appId: "com.actionsoft.apps.coe.pal", - repositoryName: "tmp", - groupValue:"shapeFile", - ruuid:ruuid, - fileNames:JSON.stringify(updatedShapeFileList), - type:type - }, - success : function(r) { - if(r.result == "ok") { - delShapeFiles();//清空界面数据 - $.simpleAlert("close"); - $.simpleAlert("保存成功", 'ok'); - // 刷新页面 - location.reload(); - // if (parent.document.getElementById("main") != null) {// 流程资产库中刷新tab - // $.simpleAlert("保存成功,正在加载...","ok",1000,{callback:function() { - // parent.openDesginer(ruuid, 0, r.data.name, "", ""); - // parent.closeTabById(ruuid); - // }}); - // - // } else {// 流程团队中 - // $.simpleAlert("保存成功,正在加载...","ok",1000,{callback:function() { - // var obj = {}; - // obj.id = ruuid; - // obj.processDefId = ""; - // parent.opener.openDesginer(obj); - // parent.close(); - // }}); - // } - } else { - $.simpleAlert("close"); - console.log(r); - $.simpleAlert('保存失败', 'error'); - } - } - }); + $.ajax({ + type: "POST", + url: "./jd?sid=" + + CLB.sid + + "&cmd=com.actionsoft.apps.coe.pal_processlevel_shape_upfile_save", + data: { + sid: sid, + appId: "com.actionsoft.apps.coe.pal", + repositoryName: "tmp", + groupValue: "shapeFile", + ruuid: ruuid, + fileNames: JSON.stringify(updatedShapeFileList), + type: type + }, + success: function (r) { + if (r.result == "ok") { + delShapeFiles();//清空界面数据 + $.simpleAlert("close"); + $.simpleAlert("保存成功", 'ok'); + // 刷新页面 + location.reload(); + // if (parent.document.getElementById("main") != null) {// 流程资产库中刷新tab + // $.simpleAlert("保存成功,正在加载...","ok",1000,{callback:function() { + // parent.openDesginer(ruuid, 0, r.data.name, "", ""); + // parent.closeTabById(ruuid); + // }}); + // + // } else {// 流程团队中 + // $.simpleAlert("保存成功,正在加载...","ok",1000,{callback:function() { + // var obj = {}; + // obj.id = ruuid; + // obj.processDefId = ""; + // parent.opener.openDesginer(obj); + // parent.close(); + // }}); + // } + } else { + $.simpleAlert("close"); + console.log(r); + $.simpleAlert('保存失败', 'error'); + } + } + }); } function delShapeFiles() { - $('#shapeFileTbody').empty(); - updatedShapeFileList = []; - $.simpleAlert("close") + $('#shapeFileTbody').empty(); + updatedShapeFileList = []; + $.simpleAlert("close") } // 删除附件 function delShapeFile(obj) { - var $tr = $(obj).closest('tr'); - var name = $tr.find('div[name="shapeFileName"]').text(); - var options = { - title: "提示", - content: "删除 [" + name + "] ?", - onConfirm: function() { - $.simpleAlert('正在删除', 'loading'); - $.ajax({ - type : "POST", - url : "./jd?sid=" - + CLB.sid - + "&cmd=com.actionsoft.apps.coe.pal_processlevel_shape_upfile_del", - data : { - sid: sid, - appId: "com.actionsoft.apps.coe.pal", - repositoryName: "tmp", - groupValue:"shapeFile", - ruuid:ruuid, - fileName:name - }, - success : function(r) { - if(r.result == "ok") { - // 列表中删除 - $tr.remove(); - // 记录数组删除 - var index = updatedShapeFileList.indexOf(name); - if (index > -1) { - updatedShapeFileList.splice(index, 1); - } - $.simpleAlert("close"); - $.simpleAlert("删除成功", 'ok'); - } else { - $.simpleAlert("close"); - $.simpleAlert('删除失败', 'error'); - } - } - }); - } - }; - $.confirm(options); + var $tr = $(obj).closest('tr'); + var name = $tr.find('div[name="shapeFileName"]').text(); + var options = { + title: "提示", + content: "删除 [" + name + "] ?", + onConfirm: function () { + $.simpleAlert('正在删除', 'loading'); + $.ajax({ + type: "POST", + url: "./jd?sid=" + + CLB.sid + + "&cmd=com.actionsoft.apps.coe.pal_processlevel_shape_upfile_del", + data: { + sid: sid, + appId: "com.actionsoft.apps.coe.pal", + repositoryName: "tmp", + groupValue: "shapeFile", + ruuid: ruuid, + fileName: name + }, + success: function (r) { + if (r.result == "ok") { + // 列表中删除 + $tr.remove(); + // 记录数组删除 + var index = updatedShapeFileList.indexOf(name); + if (index > -1) { + updatedShapeFileList.splice(index, 1); + } + $.simpleAlert("close"); + $.simpleAlert("删除成功", 'ok'); + } else { + $.simpleAlert("close"); + $.simpleAlert('删除失败', 'error'); + } + } + }); + } + }; + $.confirm(options); } // 新增上传附件 function addShapeFile() { - //初始化上传button - $("#upShapeFile").upfile({ - sid: sid, - appId: "com.actionsoft.apps.coe.pal", - groupValue:"shapeFile", - fileValue:ruuid, - filesToFilter: [["Images (*.jpg; *.jpeg; *.gif; *.png; *.bmp)","*.jpg; *.jpeg; *.gif; *.png; *.bmp; *.pdf; *.doc; *.docx; *.xls; *.xlsx; *.ppt; *.pptx; *.txt"]], - repositoryName: "tmp", - numLimit : 0, - sizeLimit : 10 * 1024 * 1024, - complete:function(){ - //事件回调函数 - $.simpleAlert('close'); - $.mask(); - }, - add: function(e, data) { //附件被添加到上传列表时触发,当返回false时,可阻止上传 - if (data.files.length == 0) { - return false; - } else if (data.files[0].size > 10 * 1024 * 1024) { - $.simpleAlert("文件过大"); - return false; - } - // 不能添加名称相同的附件 - var fileName = data.files[0].name; - if (jQuery.inArray(fileName, updatedShapeFileList) == -1) { - updatedShapeFileList.push(fileName); - } else { - $.simpleAlert("不允许添加重名文件"); - return false; - } - return true; - }, - done: function(e, data) { //单个附件上传完毕后触发 - var output = data; - if (output.textStatus == "warning") { - $.simpleAlert(output.message, output.type, 2000); - return false; - } else if (output.result.data.result == "error") { - $.simpleAlert(data.files[0].name + "上传错误", "error", 2000); - return false; - } else if (output.result.data.result == "ok") { - // 加载到列表 - var html = ''; - html += ''; - html += ''; - html += '
    ' + data.files[0].name + '
    '; - html += ''; - html += ''; - html += ''; - html += ''; - html += ''; - $('#shapeFileTbody').append(html); - } - } - }); + //初始化上传button + $("#upShapeFile").upfile({ + sid: sid, + appId: "com.actionsoft.apps.coe.pal", + groupValue: "shapeFile", + fileValue: ruuid, + filesToFilter: [["Images (*.jpg; *.jpeg; *.gif; *.png; *.bmp)", "*.jpg; *.jpeg; *.gif; *.png; *.bmp; *.pdf; *.doc; *.docx; *.xls; *.xlsx; *.ppt; *.pptx; *.txt"]], + repositoryName: "tmp", + numLimit: 0, + sizeLimit: 10 * 1024 * 1024, + complete: function () { + //事件回调函数 + $.simpleAlert('close'); + $.mask(); + }, + add: function (e, data) { //附件被添加到上传列表时触发,当返回false时,可阻止上传 + if (data.files.length == 0) { + return false; + } else if (data.files[0].size > 10 * 1024 * 1024) { + $.simpleAlert("文件过大"); + return false; + } + // 不能添加名称相同的附件 + var fileName = data.files[0].name; + if (jQuery.inArray(fileName, updatedShapeFileList) == -1) { + updatedShapeFileList.push(fileName); + } else { + $.simpleAlert("不允许添加重名文件"); + return false; + } + return true; + }, + done: function (e, data) { //单个附件上传完毕后触发 + var output = data; + if (output.textStatus == "warning") { + $.simpleAlert(output.message, output.type, 2000); + return false; + } else if (output.result.data.result == "error") { + $.simpleAlert(data.files[0].name + "上传错误", "error", 2000); + return false; + } else if (output.result.data.result == "ok") { + // 加载到列表 + var html = ''; + html += ''; + html += ''; + html += '
    ' + data.files[0].name + '
    '; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + $('#shapeFileTbody').append(html); + } + } + }); } //by bzp 导入制度附件 -UI.showImportPolicyFileDlg = function() { - // 判断是否保存 - if ($("#saving_tip").text() != "已保存成功" && $("#saving_tip").text() != "保存成功" && $("#saving_tip").text() != "您的文件已经成功保存" && $("#saving_tip").text() != "") { - $.simpleAlert('页面中有未保存的内容,请先保存'); - return; - } - $("#policyfile_import_dlg").dialog({ - width: 570, - height: 380, - buttons:[ - {text:'确定',cls:"blue",handler:function(){ - importPolicyFile(); - }}, - {text:'取消',handler:function(){$("#policyfile_import_dlg").dialog("close");}} - ], - onClose:delPolicyFiles - }); +UI.showImportPolicyFileDlg = function () { + // 判断是否保存 + if ($("#saving_tip").text() != "已保存成功" && $("#saving_tip").text() != "保存成功" && $("#saving_tip").text() != "您的文件已经成功保存" && $("#saving_tip").text() != "") { + $.simpleAlert('页面中有未保存的内容,请先保存'); + return; + } + $("#policyfile_import_dlg").dialog({ + width: 570, + height: 380, + buttons: [ + { + text: '确定', cls: "blue", handler: function () { + importPolicyFile(); + } + }, + { + text: '取消', handler: function () { + $("#policyfile_import_dlg").dialog("close"); + } + } + ], + onClose: delPolicyFiles + }); } var updatedPolicyFileList = "";// 已上传的附件列表名称 // 保存附件 function importPolicyFile() { - if(updatedPolicyFileList.length == 0) { - $.simpleAlert('没有上传的附件,请点击取消或直接关闭'); - return; - } + if (updatedPolicyFileList.length == 0) { + $.simpleAlert('没有上传的附件,请点击取消或直接关闭'); + return; + } - $.simpleAlert('正在保存', 'loading'); - type = "regulation"; + $.simpleAlert('正在保存', 'loading'); + type = "regulation"; - $.ajax({ - type : "POST", - url : "./jd?sid=" - + CLB.sid - + "&cmd=com.actionsoft.apps.coe.pal.policy_file_upfile_save", - data : { - sid: sid, - appId: "com.actionsoft.apps.coe.pal.datamigration", - repositoryName: "migration", - groupValue:"policyFile", - ruuid:ruuid, - fileNames:updatedPolicyFileList, - type:type - }, - success : function(r) { - if(r.result == "ok") { - delPolicyFiles();//清空界面数据 - $.simpleAlert("close"); - $.simpleAlert("保存成功", 'ok'); - // 刷新页面 - location.reload(); - } else { - $.simpleAlert("close"); - console.log(r); - $.simpleAlert('保存失败', 'error'); - } - } - }); + $.ajax({ + type: "POST", + url: "./jd?sid=" + + CLB.sid + + "&cmd=com.actionsoft.apps.coe.pal.policy_file_upfile_save", + data: { + sid: sid, + appId: "com.actionsoft.apps.coe.pal.datamigration", + repositoryName: "migration", + groupValue: "policyFile", + ruuid: ruuid, + fileNames: updatedPolicyFileList, + type: type + }, + success: function (r) { + if (r.result == "ok") { + delPolicyFiles();//清空界面数据 + $.simpleAlert("close"); + $.simpleAlert("保存成功", 'ok'); + // 刷新页面 + location.reload(); + } else { + $.simpleAlert("close"); + console.log(r); + $.simpleAlert('保存失败', 'error'); + } + } + }); } function delPolicyFiles() { - $('#shapeFileTbody').empty(); - updatedPolicyFileList = ""; - $.simpleAlert("close") + $('#shapeFileTbody').empty(); + updatedPolicyFileList = ""; + $.simpleAlert("close") } // 删除附件 function delPolicyFile(obj) { - var $tr = $(obj).closest('tr'); - var name = $tr.find('div[name="shapeFileName"]').text(); - var options = { - title: "提示", - content: "删除 [" + name + "] ?", - onConfirm: function() { - $.simpleAlert('正在删除', 'loading'); - $.ajax({ - type : "POST", - url : "./jd?sid=" - + CLB.sid - + "&cmd=com.actionsoft.apps.coe.pal_processlevel_shape_upfile_del", - data : { - sid: sid, - appId: "com.actionsoft.apps.coe.pal.datamigration", + var $tr = $(obj).closest('tr'); + var name = $tr.find('div[name="shapeFileName"]').text(); + var options = { + title: "提示", + content: "删除 [" + name + "] ?", + onConfirm: function () { + $.simpleAlert('正在删除', 'loading'); + $.ajax({ + type: "POST", + url: "./jd?sid=" + + CLB.sid + + "&cmd=com.actionsoft.apps.coe.pal_processlevel_shape_upfile_del", + data: { + sid: sid, + appId: "com.actionsoft.apps.coe.pal.datamigration", repositoryName: "migration", - groupValue:"policyFile", - ruuid:ruuid, - fileName:name - }, - success : function(r) { - if(r.result == "ok") { - // 列表中删除 - $tr.remove(); - // 记录数组删除 - updatedPolicyFileList = ""; + groupValue: "policyFile", + ruuid: ruuid, + fileName: name + }, + success: function (r) { + if (r.result == "ok") { + // 列表中删除 + $tr.remove(); + // 记录数组删除 + updatedPolicyFileList = ""; - $.simpleAlert("close"); - $.simpleAlert("删除成功", 'ok'); - } else { - $.simpleAlert("close"); - $.simpleAlert('删除失败', 'error'); - } - } - }); - } - }; - $.confirm(options); + $.simpleAlert("close"); + $.simpleAlert("删除成功", 'ok'); + } else { + $.simpleAlert("close"); + $.simpleAlert('删除失败', 'error'); + } + } + }); + } + }; + $.confirm(options); } // 新增上传附件 function addPolicyFile() { - //初始化上传button - $("#pupShapeFile").upfile({ - sid: sid, - appId: "com.actionsoft.apps.coe.pal.datamigration", - groupValue:"policyFile", - fileValue:ruuid, - filesToFilter : [["Document(*.xml;*.doc;*.docx;)","*.xml;*.doc;*.docx;"]], - repositoryName: "migration", - numLimit : 1, - sizeLimit : 50 * 1024 * 1024, - complete:function(){ - //事件回调函数 - $.simpleAlert('close'); - $.mask(); - }, - add: function(e, data) { //附件被添加到上传列表时触发,当返回false时,可阻止上传 - if (data.files.length == 0) { - return false; - } else if (data.files[0].size > 50 * 1024 * 1024) { - $.simpleAlert("文件过大"); - return false; - } - // 不能添加名称相同的附件 - var fileName = data.files[0].name; - updatedPolicyFileList = fileName; - return true; - }, - done: function(e, data) { //单个附件上传完毕后触发 - var output = data; - if (output.textStatus == "warning") { - $.simpleAlert(output.message, output.type, 2000); - return false; - } else if (output.result.data.result == "error") { - $.simpleAlert(data.files[0].name + "上传错误", "error", 2000); - return false; - } else if (output.result.data.result == "ok") { - // 加载到列表 - var html = ''; - html += ''; - html += ''; - html += '
    ' + data.files[0].name + '
    '; - html += ''; - html += ''; - html += ''; - html += ''; - html += ''; - $('#pshapeFileTbody').append(html); - } - } - }); + //初始化上传button + $("#pupShapeFile").upfile({ + sid: sid, + appId: "com.actionsoft.apps.coe.pal.datamigration", + groupValue: "policyFile", + fileValue: ruuid, + filesToFilter: [["Document(*.xml;*.doc;*.docx;)", "*.xml;*.doc;*.docx;"]], + repositoryName: "migration", + numLimit: 1, + sizeLimit: 50 * 1024 * 1024, + complete: function () { + //事件回调函数 + $.simpleAlert('close'); + $.mask(); + }, + add: function (e, data) { //附件被添加到上传列表时触发,当返回false时,可阻止上传 + if (data.files.length == 0) { + return false; + } else if (data.files[0].size > 50 * 1024 * 1024) { + $.simpleAlert("文件过大"); + return false; + } + // 不能添加名称相同的附件 + var fileName = data.files[0].name; + updatedPolicyFileList = fileName; + return true; + }, + done: function (e, data) { //单个附件上传完毕后触发 + var output = data; + if (output.textStatus == "warning") { + $.simpleAlert(output.message, output.type, 2000); + return false; + } else if (output.result.data.result == "error") { + $.simpleAlert(data.files[0].name + "上传错误", "error", 2000); + return false; + } else if (output.result.data.result == "ok") { + // 加载到列表 + var html = ''; + html += ''; + html += ''; + html += '
    ' + data.files[0].name + '
    '; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + $('#pshapeFileTbody').append(html); + } + } + }); } /************************处理前后置流程***************************/ @@ -4577,19 +4758,19 @@ function addPolicyFile() { * @param newFileNames 更新后的属性名称 */ function handleLeadAndRearProcessShapeDesigner(attrId, oldFileIds, oldFileNames, newFileIds, newFileNames) { - // EPC限定处理 - if (!methodId == 'process.epc') { - return; - } - // 前后置流程限定 - if (attrId != 'lead_process' && attrId != 'rear_process') { - return; - } - var position = 'top';// 前置 - if (attrId == 'rear_process') { - position = 'bottom';// 后置 - } - /* + // EPC限定处理 + if (!methodId == 'process.epc') { + return; + } + // 前后置流程限定 + if (attrId != 'lead_process' && attrId != 'rear_process') { + return; + } + var position = 'top';// 前置 + if (attrId == 'rear_process') { + position = 'bottom';// 后置 + } + /* 1.获取所有流程接口形状 2.获取新增、修改、删除的流程接口 @@ -4602,409 +4783,410 @@ function handleLeadAndRearProcessShapeDesigner(attrId, oldFileIds, oldFileNames, 修改:建立唯一关联标识,修改名称 删除:删除匹配形状及对应的所有出入线 */ - // 获取所有流程接口形状 - var interfaceObj = getInterfaceShape(); - // 将结果按照新增的、修改的、删除的进行分类 - // console.log(interfaceObj); - var updateInterface = {}; - var addInterface = {}; - var delInterface = {}; - // console.log(addInterface); - // console.log(updateInterface); - // console.log(delInterface); - handleRelationData(addInterface, updateInterface, delInterface, oldFileIds, oldFileNames, newFileIds, newFileNames); - // 根据匹配规则进行匹配 - // 匹配修改的 - var updateShapes = getUpdateShapes(interfaceObj, updateInterface, position, addInterface); - // 匹配需要删除的 - var delShapes = getRemoveShapes(interfaceObj, delInterface, position); - // 执行修改 - if (updateShapes.length > 0) { - Model.updateMulti(updateShapes); - } - // 执行删除 - if (delShapes.length > 0) { - Model.remove(delShapes); - } - // 创建新增形状 - var addShapes = getAddShapes(addInterface); - if (addShapes.length > 0) { - // 移动画布所有内容(若需要)(泳池泳道不处理,只处理形状) - if (position == 'top') { - moveDownAllShape(); - } - // 将新增形状放入合适位置 - moveAddShapeToElements(addShapes, position); - // 执行画布自适应刷新 - $('#bar_resize').click(); - } + // 获取所有流程接口形状 + var interfaceObj = getInterfaceShape(); + // 将结果按照新增的、修改的、删除的进行分类 + // console.log(interfaceObj); + var updateInterface = {}; + var addInterface = {}; + var delInterface = {}; + // console.log(addInterface); + // console.log(updateInterface); + // console.log(delInterface); + handleRelationData(addInterface, updateInterface, delInterface, oldFileIds, oldFileNames, newFileIds, newFileNames); + // 根据匹配规则进行匹配 + // 匹配修改的 + var updateShapes = getUpdateShapes(interfaceObj, updateInterface, position, addInterface); + // 匹配需要删除的 + var delShapes = getRemoveShapes(interfaceObj, delInterface, position); + // 执行修改 + if (updateShapes.length > 0) { + Model.updateMulti(updateShapes); + } + // 执行删除 + if (delShapes.length > 0) { + Model.remove(delShapes); + } + // 创建新增形状 + var addShapes = getAddShapes(addInterface); + if (addShapes.length > 0) { + // 移动画布所有内容(若需要)(泳池泳道不处理,只处理形状) + if (position == 'top') { + moveDownAllShape(); + } + // 将新增形状放入合适位置 + moveAddShapeToElements(addShapes, position); + // 执行画布自适应刷新 + $('#bar_resize').click(); + } } // 将新加的形状放入到合适位置 function moveAddShapeToElements(addShapes, position) { - if (position == 'top') {// 顶端 - for (var i = 0; i < addShapes.length; i++) { - addShapes[i].props.y = 100; - Designer.painter.renderShape(addShapes[i]); - } - Model.addMulti(addShapes); - } else { - // 底端 - var maxY = -99999; - var elements = Model.define.elements; - for (var shapeId in elements) { - var shape = elements[shapeId]; - if (shape.category != 'lane' && shape.name != 'linker') { - maxY = (shape.props.y + shape.props.h) < maxY ? maxY : (shape.props.y + shape.props.h); - } - } - if (maxY == -99999) { - maxY = 100; - } else { - maxY = maxY + 40; - } - for (var i = 0; i < addShapes.length; i++) { - addShapes[i].props.y = maxY; - Designer.painter.renderShape(addShapes[i]); - } - Model.addMulti(addShapes); - } + if (position == 'top') {// 顶端 + for (var i = 0; i < addShapes.length; i++) { + addShapes[i].props.y = 100; + Designer.painter.renderShape(addShapes[i]); + } + Model.addMulti(addShapes); + } else { + // 底端 + var maxY = -99999; + var elements = Model.define.elements; + for (var shapeId in elements) { + var shape = elements[shapeId]; + if (shape.category != 'lane' && shape.name != 'linker') { + maxY = (shape.props.y + shape.props.h) < maxY ? maxY : (shape.props.y + shape.props.h); + } + } + if (maxY == -99999) { + maxY = 100; + } else { + maxY = maxY + 40; + } + for (var i = 0; i < addShapes.length; i++) { + addShapes[i].props.y = maxY; + Designer.painter.renderShape(addShapes[i]); + } + Model.addMulti(addShapes); + } } // 所有形状向下偏移 function moveDownAllShape() { - // 获取最上方的形状y - var minY = 99999; - var elements = Model.define.elements; - for (var shapeId in elements) { - var shape = elements[shapeId]; - if (shape.category != 'lane' && shape.name != 'linker') { - minY = shape.props.y > minY ? minY : shape.props.y; - } - } - var result = []; - if (minY < (60 + 40 + 66 + 40)) {// 60:上方空白边距,40:余留空白,66:接口高度,40:余留空白 - // 高度不够添加一行的,进行移动 - var offset = 208 - minY; - for (var shapeId in elements) { - var shape = elements[shapeId]; - if (shape.name == 'linker') { - shape.from.y += offset; - shape.to.y += offset; - var points = shape.points; - for (var i = 0; i < points.length; i++) { - points[i].y += offset; - } - shape.points = points; - } else {// 形状 - shape.props.y += offset; - } - result.push(shape); - Designer.painter.renderShape(shape); - } - } - if (result.length > 0) { - Model.updateMulti(result); - } + // 获取最上方的形状y + var minY = 99999; + var elements = Model.define.elements; + for (var shapeId in elements) { + var shape = elements[shapeId]; + if (shape.category != 'lane' && shape.name != 'linker') { + minY = shape.props.y > minY ? minY : shape.props.y; + } + } + var result = []; + if (minY < (60 + 40 + 66 + 40)) {// 60:上方空白边距,40:余留空白,66:接口高度,40:余留空白 + // 高度不够添加一行的,进行移动 + var offset = 208 - minY; + for (var shapeId in elements) { + var shape = elements[shapeId]; + if (shape.name == 'linker') { + shape.from.y += offset; + shape.to.y += offset; + var points = shape.points; + for (var i = 0; i < points.length; i++) { + points[i].y += offset; + } + shape.points = points; + } else {// 形状 + shape.props.y += offset; + } + result.push(shape); + Designer.painter.renderShape(shape); + } + } + if (result.length > 0) { + Model.updateMulti(result); + } } // 创建新增的形状定义,默认坐标为(0,0)开始,一字排列 function getAddShapes(addInterface) { - var result = []; - var x = 100;// 距离画布左侧默认100 - for (var markId in addInterface) { - var newShape = Model.create('procedure', x, 0); - x += (150 + 80); - newShape.attrMark = addInterface[markId]; - newShape.text = addInterface[markId].name; - result.push(newShape); - } - return result; + var result = []; + var x = 100;// 距离画布左侧默认100 + for (var markId in addInterface) { + var newShape = Model.create('procedure', x, 0); + x += (150 + 80); + newShape.attrMark = addInterface[markId]; + newShape.text = addInterface[markId].name; + result.push(newShape); + } + return result; } // 处理删除的形状 function getRemoveShapes(interfaceObj, delInterface, position) { - var result = []; - var elements = Model.define.elements; - for (var markId in delInterface) { - var shapeId = getMatchInterfaceObj(interfaceObj, delInterface[markId], position); - if (shapeId != '') { - // 增加到删除的形状中 - result.push(elements[shapeId]); - // 相关的连线也增加到删除的形状中 - var obj = interfaceObj[shapeId]; - for (var i = 0; i < obj.fromLinkerArr.length; i++) { - result.push(elements[obj.fromLinkerArr[i]]); - } - for (var i = 0; i < obj.toLinkerArr.length; i++) { - result.push(elements[obj.toLinkerArr[i]]); - } - } - } - return result; + var result = []; + var elements = Model.define.elements; + for (var markId in delInterface) { + var shapeId = getMatchInterfaceObj(interfaceObj, delInterface[markId], position); + if (shapeId != '') { + // 增加到删除的形状中 + result.push(elements[shapeId]); + // 相关的连线也增加到删除的形状中 + var obj = interfaceObj[shapeId]; + for (var i = 0; i < obj.fromLinkerArr.length; i++) { + result.push(elements[obj.fromLinkerArr[i]]); + } + for (var i = 0; i < obj.toLinkerArr.length; i++) { + result.push(elements[obj.toLinkerArr[i]]); + } + } + } + return result; } // 处理需要新增的匹配 function getUpdateShapes(interfaceObj, updateInterface, position, addInterface) { - var result = []; - for (var markId in updateInterface) { - var shapeId = getMatchInterfaceObj(interfaceObj, updateInterface[markId], position); - if (shapeId == '') {// 未找到,从属性上来说属于更新,但是画布上未找到,从新设置归属于新增一类 - addInterface[markId] = updateInterface[markId]; - continue; - } - var shape = Model.define.elements[shapeId]; - shape.attrMark = updateInterface[markId]; - shape.text = updateInterface[markId].name; - result.push(shape); - } - return result; + var result = []; + for (var markId in updateInterface) { + var shapeId = getMatchInterfaceObj(interfaceObj, updateInterface[markId], position); + if (shapeId == '') {// 未找到,从属性上来说属于更新,但是画布上未找到,从新设置归属于新增一类 + addInterface[markId] = updateInterface[markId]; + continue; + } + var shape = Model.define.elements[shapeId]; + shape.attrMark = updateInterface[markId]; + shape.text = updateInterface[markId].name; + result.push(shape); + } + return result; } // 根据匹配规则进行匹配,返回匹配的shapeId function getMatchInterfaceObj(interfaceObj, markObj, markName, position) { - var matchShapeId = ''; - // 根据标识匹配 - for (var shapeId in interfaceObj) { - var obj = interfaceObj[shapeId]; - var attrMark = obj.attrMark; - if (attrMark != undefined && attrMark.versionId == markObj.versionId) { - matchShapeId = shapeId; - break; - } - } - // 没匹配上,根据出入线+名称匹配 - if (matchShapeId == '') { - for (var shapeId in interfaceObj) { - var obj = interfaceObj[shapeId]; - if (position == 'top') {// 前置 - if (obj.fromLinkerArr.length > 0 && obj.toLinkerArr.length == 0 && obj.text == markName) {// 多出线,零入线且名称匹配 - matchShapeId = shapeId; - break; - } - } else {// 后置 - if (obj.toLinkerArr.length > 0 && obj.fromLinkerArr.length == 0 && obj.text == markName) {// 多入线,零出线且名称匹配 - matchShapeId = shapeId; - break; - } - } - } + var matchShapeId = ''; + // 根据标识匹配 + for (var shapeId in interfaceObj) { + var obj = interfaceObj[shapeId]; + var attrMark = obj.attrMark; + if (attrMark != undefined && attrMark.versionId == markObj.versionId) { + matchShapeId = shapeId; + break; + } + } + // 没匹配上,根据出入线+名称匹配 + if (matchShapeId == '') { + for (var shapeId in interfaceObj) { + var obj = interfaceObj[shapeId]; + if (position == 'top') {// 前置 + if (obj.fromLinkerArr.length > 0 && obj.toLinkerArr.length == 0 && obj.text == markName) {// 多出线,零入线且名称匹配 + matchShapeId = shapeId; + break; + } + } else {// 后置 + if (obj.toLinkerArr.length > 0 && obj.fromLinkerArr.length == 0 && obj.text == markName) {// 多入线,零出线且名称匹配 + matchShapeId = shapeId; + break; + } + } + } - } - return matchShapeId; + } + return matchShapeId; } // 处理关联的结果数据,按照新增的、修改的、删除的进行分类 function handleRelationData(addInterface, updateInterface, delInterface, oldFileIds, oldFileNames, newFileIds, newFileNames) { - // 查询关联结果相关的version信息 - // 统计新增、修改、删除的流程接口 - $.ajax({ - type : 'POST', - url:"./jd", - async:false, - data:{ - sid : CLB.sid, - cmd : "com.actionsoft.apps.coe.pal_pl_repository_designer_relation_info_query", - oldFileIds: JSON.stringify(oldFileIds.split(",")), - newFileIds: JSON.stringify(newFileIds) - }, - success : function(ro) { - var data = ro.data; - var oldFiles = data.old; - var newFiles = data.new; - // 找到新增的 oldFiles没有,newFiles有 - for (var id in newFiles) { - if (oldFiles[id] == undefined) { - addInterface[id] = newFiles[id]; - } - } - // 找到修改的 oldFiles有,newFiles有 - for (var id in newFiles) { - if (oldFiles[id] != undefined) { - updateInterface[id] = newFiles[id]; - } - } - // 找到删除的 oldFiles有,newFiles没有 - for (var id in oldFiles) { - if (newFiles[id] == undefined) { - delInterface[id] = oldFiles[id]; - } - } - } - }); + // 查询关联结果相关的version信息 + // 统计新增、修改、删除的流程接口 + $.ajax({ + type: 'POST', + url: "./jd", + async: false, + data: { + sid: CLB.sid, + cmd: "com.actionsoft.apps.coe.pal_pl_repository_designer_relation_info_query", + oldFileIds: JSON.stringify(oldFileIds.split(",")), + newFileIds: JSON.stringify(newFileIds) + }, + success: function (ro) { + var data = ro.data; + var oldFiles = data.old; + var newFiles = data.new; + // 找到新增的 oldFiles没有,newFiles有 + for (var id in newFiles) { + if (oldFiles[id] == undefined) { + addInterface[id] = newFiles[id]; + } + } + // 找到修改的 oldFiles有,newFiles有 + for (var id in newFiles) { + if (oldFiles[id] != undefined) { + updateInterface[id] = newFiles[id]; + } + } + // 找到删除的 oldFiles有,newFiles没有 + for (var id in oldFiles) { + if (newFiles[id] == undefined) { + delInterface[id] = oldFiles[id]; + } + } + } + }); } // 获取接口形状s function getInterfaceShape() { - var result = {}; - var elements = Model.define.elements; - for (var shapeId in elements) { - var shape = elements[shapeId]; - var name = shape.name; - if (name == 'procedure') { - var obj = {}; - obj.id = shapeId; - obj.text = shape.text; - obj.fromLinkerArr = []; - obj.toLinkerArr = []; - obj.attrMark = shape.attrMark; - getInterfaceShapeLink(obj, elements); - result[shapeId] = obj; - } - } - return result; + var result = {}; + var elements = Model.define.elements; + for (var shapeId in elements) { + var shape = elements[shapeId]; + var name = shape.name; + if (name == 'procedure') { + var obj = {}; + obj.id = shapeId; + obj.text = shape.text; + obj.fromLinkerArr = []; + obj.toLinkerArr = []; + obj.attrMark = shape.attrMark; + getInterfaceShapeLink(obj, elements); + result[shapeId] = obj; + } + } + return result; } // 获取接口的入线与出线 function getInterfaceShapeLink(obj, elements) { - for (var shapeId in elements) { - var shape = elements[shapeId]; - var name = shape.name; - if (name == 'linker') { - // 出线 - var from = shape.from; - var fromId = from.id; - if (obj.id == fromId) { - obj.fromLinkerArr.push(shapeId); - } - // 入线 - var to = shape.to; - var toId = to.id; - if (obj.id == toId) { - obj.toLinkerArr.push(shapeId); - } - } - } + for (var shapeId in elements) { + var shape = elements[shapeId]; + var name = shape.name; + if (name == 'linker') { + // 出线 + var from = shape.from; + var fromId = from.id; + if (obj.id == fromId) { + obj.fromLinkerArr.push(shapeId); + } + // 入线 + var to = shape.to; + var toId = to.id; + if (obj.id == toId) { + obj.toLinkerArr.push(shapeId); + } + } + } } var checkObj = undefined; + // 画布鼠标右键-添加至前置流程、后置流程功能 function showLeadAndRearProcessDlg(type) { - checkObj = undefined; - $('#leadAndRearProcessSearchKey').unbind('keydown').bind('keydown',function(event){ - if(event.keyCode == "13") { - queryLeadAndRearProcessData(); - } - }); - var shape = Designer.contextMenu.menuPos.shape; - var title = '匹配前置流程'; - if (type == 'rear') { - title = '匹配后置流程'; - } - $('#leadAndRearProcessSearchKey').val(shape.text); - $('#attrMark').val(JSON.stringify(shape.attrMark)); - $("#addLeadAndRearProcessDlg").dialog({ - height:400, - width: 700, - title: title, - buttons:[ - { - text:'确定',cls:"blue",handler:function(){ - // todo 验证 - // 获取选中 - if (checkObj == undefined) { - alert('请选择'); - } else { - // 形状名称和关联关系更新 - shape.text = checkObj.name; - shape.attrMark = checkObj; - Model.update(shape); - // 关联关系db存储 - $.ajax({ - type : 'POST', - url:"./jd", - async:false, - data:{ - sid : CLB.sid, - cmd : "com.actionsoft.apps.coe.pal_pl_repository_designer_shape_relation_rear_lead_save", - uuid: ruuid, - relationFileId: checkObj.versionId, - relationShapeText: checkObj.name, - type: type - }, - success : function(ro) { + checkObj = undefined; + $('#leadAndRearProcessSearchKey').unbind('keydown').bind('keydown', function (event) { + if (event.keyCode == "13") { + queryLeadAndRearProcessData(); + } + }); + var shape = Designer.contextMenu.menuPos.shape; + var title = '匹配前置流程'; + if (type == 'rear') { + title = '匹配后置流程'; + } + $('#leadAndRearProcessSearchKey').val(shape.text); + $('#attrMark').val(JSON.stringify(shape.attrMark)); + $("#addLeadAndRearProcessDlg").dialog({ + height: 400, + width: 700, + title: title, + buttons: [ + { + text: '确定', cls: "blue", handler: function () { + // todo 验证 + // 获取选中 + if (checkObj == undefined) { + alert('请选择'); + } else { + // 形状名称和关联关系更新 + shape.text = checkObj.name; + shape.attrMark = checkObj; + Model.update(shape); + // 关联关系db存储 + $.ajax({ + type: 'POST', + url: "./jd", + async: false, + data: { + sid: CLB.sid, + cmd: "com.actionsoft.apps.coe.pal_pl_repository_designer_shape_relation_rear_lead_save", + uuid: ruuid, + relationFileId: checkObj.versionId, + relationShapeText: checkObj.name, + type: type + }, + success: function (ro) { - } - }); - } - $("#addLeadAndRearProcessDlg").dialog("close"); - } - }, - { - text:'取消',handler:function(){ - //alert('取消'); - this.disabled = true; - $("#addLeadAndRearProcessDlg").dialog("close"); - } - } - ] - }); - // 执行查询 - queryLeadAndRearProcessData(); - // alert(Designer.contextMenu.menuPos.shape.text) + } + }); + } + $("#addLeadAndRearProcessDlg").dialog("close"); + } + }, + { + text: '取消', handler: function () { + //alert('取消'); + this.disabled = true; + $("#addLeadAndRearProcessDlg").dialog("close"); + } + } + ] + }); + // 执行查询 + queryLeadAndRearProcessData(); + // alert(Designer.contextMenu.menuPos.shape.text) } function queryLeadAndRearProcessData() { - var inputKey = $('#leadAndRearProcessSearchKey').val().trim(); - if (inputKey == '') { - alert('请输入流程名称之后查询') - return; - } - // 开始查询 - // 隐藏表格 - $('#leadAndRearProcessDataTableTbody').empty(); - // $('#leadAndRearProcessDataTable').hide(); - // 开启loading - // $("#leadAndRearProcessDataLoading").loading({ - // description:"正在查询", - // color:'#3983de' - // }); - $.ajax({ - type : 'POST', - url:"./jd", - async:false, - data:{ - sid : CLB.sid, - cmd : "com.actionsoft.apps.coe.pal_pl_repository_designer_shapes_tree_query", - wsId: $('#wsId').val(), - category: 'process', - autoContent: inputKey - }, - success : function(ro) { - // 关闭loading提示 - // $("#leadAndRearProcessDataLoading").loading({ - // hidden:true - // }); - // $('#leadAndRearProcessDataTable').show(); - var msg = ro.data.result; - if (msg == ""){ - return; - } - var tHtml = ''; - var uuidArr = []; - for(var i = 0; i < msg.length; i++) { - var uuid = msg[i].ext1; - var versionId = msg[i].ext2; - uuidArr.push(uuid); - tHtml += ''; - tHtml += ''; - tHtml += '' + msg[i].ui + ''; - tHtml += ''; - } - $('#leadAndRearProcessDataTableTbody').html(tHtml); - $("#leadAndRearProcessDataTableTbody .awsui-radio").check();// 初始化单选框样式 - $("#leadAndRearProcessDataTableTbody input[name='fileRadio']").on("ifChanged",function(){ - var id = $(this).attr("data-id"); - var name = $(this).attr("data-name"); - var versionId = $(this).attr("data-versionId"); - checkObj = {id: id, name: name, versionId: versionId}; - }); - // 设置选中状态 - var obj = $('#attrMark').val(); - if (obj != '') { - $('#data_' + JSON.parse(obj).versionId).check("check"); - } - } - }); + var inputKey = $('#leadAndRearProcessSearchKey').val().trim(); + if (inputKey == '') { + alert('请输入流程名称之后查询') + return; + } + // 开始查询 + // 隐藏表格 + $('#leadAndRearProcessDataTableTbody').empty(); + // $('#leadAndRearProcessDataTable').hide(); + // 开启loading + // $("#leadAndRearProcessDataLoading").loading({ + // description:"正在查询", + // color:'#3983de' + // }); + $.ajax({ + type: 'POST', + url: "./jd", + async: false, + data: { + sid: CLB.sid, + cmd: "com.actionsoft.apps.coe.pal_pl_repository_designer_shapes_tree_query", + wsId: $('#wsId').val(), + category: 'process', + autoContent: inputKey + }, + success: function (ro) { + // 关闭loading提示 + // $("#leadAndRearProcessDataLoading").loading({ + // hidden:true + // }); + // $('#leadAndRearProcessDataTable').show(); + var msg = ro.data.result; + if (msg == "") { + return; + } + var tHtml = ''; + var uuidArr = []; + for (var i = 0; i < msg.length; i++) { + var uuid = msg[i].ext1; + var versionId = msg[i].ext2; + uuidArr.push(uuid); + tHtml += ''; + tHtml += ''; + tHtml += '' + msg[i].ui + ''; + tHtml += ''; + } + $('#leadAndRearProcessDataTableTbody').html(tHtml); + $("#leadAndRearProcessDataTableTbody .awsui-radio").check();// 初始化单选框样式 + $("#leadAndRearProcessDataTableTbody input[name='fileRadio']").on("ifChanged", function () { + var id = $(this).attr("data-id"); + var name = $(this).attr("data-name"); + var versionId = $(this).attr("data-versionId"); + checkObj = {id: id, name: name, versionId: versionId}; + }); + // 设置选中状态 + var obj = $('#attrMark').val(); + if (obj != '') { + $('#data_' + JSON.parse(obj).versionId).check("check"); + } + } + }); } \ No newline at end of file