From f087279d5ea91145fc92128274345870442950ef Mon Sep 17 00:00:00 2001 From: qinoy Date: Thu, 25 May 2023 17:52:10 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AB=AF=E5=88=B0=E7=AB=AF=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=20=E8=8A=82=E7=82=B9=E5=B1=95=E5=BC=80=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=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 --- ...oft.apps.coe.method.process.subprocess.jar | Bin 42555 -> 45688 bytes .../process.subprocess/diagram.schema.tpl | 2 +- .../subprocess/SubProcessController.java | 20 ++--- .../graph/GraphNodeExpandHandle.java | 59 +++++++++++++ .../process/subprocess/web/SubProcessWeb.java | 59 ++++++++++++- .../action.xml | 4 + .../extend/css/subprocess/iconfont.css | 35 ++++++++ .../extend/css/subprocess/iconfont.js | 1 + .../extend/css/subprocess/iconfont.json | 44 ++++++++++ .../extend/css/subprocess/iconfont.ttf | Bin 0 -> 2732 bytes .../extend/css/subprocess/iconfont.woff | Bin 0 -> 1676 bytes .../extend/css/subprocess/iconfont.woff2 | Bin 0 -> 1192 bytes .../diagraming/designer.method.subprocess.js | 79 ++++++++++++++++++ 13 files changed, 286 insertions(+), 17 deletions(-) create mode 100644 com.actionsoft.apps.coe.method.process.subprocess/src/com/actionsoft/apps/coe/method/process/subprocess/graph/GraphNodeExpandHandle.java create mode 100644 com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/css/subprocess/iconfont.css create mode 100644 com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/css/subprocess/iconfont.js create mode 100644 com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/css/subprocess/iconfont.json create mode 100644 com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/css/subprocess/iconfont.ttf create mode 100644 com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/css/subprocess/iconfont.woff create mode 100644 com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/css/subprocess/iconfont.woff2 create mode 100644 com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/scripts/diagraming/designer.method.subprocess.js diff --git a/com.actionsoft.apps.coe.method.process.subprocess/lib/com.actionsoft.apps.coe.method.process.subprocess.jar b/com.actionsoft.apps.coe.method.process.subprocess/lib/com.actionsoft.apps.coe.method.process.subprocess.jar index 75f32ca81b0b7de5066cc54da629bdb0479514da..72c830fe5caea16db3db67e389992bc930313b40 100644 GIT binary patch delta 12458 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 z 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 diff --git a/com.actionsoft.apps.coe.method.process.subprocess/method/process.subprocess/diagram.schema.tpl b/com.actionsoft.apps.coe.method.process.subprocess/method/process.subprocess/diagram.schema.tpl index 67a1fa03..7c15a6fa 100644 --- a/com.actionsoft.apps.coe.method.process.subprocess/method/process.subprocess/diagram.schema.tpl +++ b/com.actionsoft.apps.coe.method.process.subprocess/method/process.subprocess/diagram.schema.tpl @@ -546,7 +546,7 @@ path:[ {lineStyle:{lineWidth:0}, fillStyle:{type:"none"}, actions:{ref:"roundRectangle"}} ]}); -Schema.addShape({name:"scopeLimitation", title:"", text:"", category:"process_subprocess", groupName:"", props:{w:100, h:70}, +Schema.addShape({name:"scopeLimitation", title:"展开范围标注", text:"", category:"process_subprocess", groupName:"", props:{w:100, h:70}, fillStyle:{type:"none"}, path:[ {lineStyle:{lineWidth:1, lineStyle:"dashed",lineColor:"184,184,184"}, actions:{ref:"roundRectangle"}}, diff --git a/com.actionsoft.apps.coe.method.process.subprocess/src/com/actionsoft/apps/coe/method/process/subprocess/SubProcessController.java b/com.actionsoft.apps.coe.method.process.subprocess/src/com/actionsoft/apps/coe/method/process/subprocess/SubProcessController.java index 107ceb96..ca4a35d2 100644 --- a/com.actionsoft.apps.coe.method.process.subprocess/src/com/actionsoft/apps/coe/method/process/subprocess/SubProcessController.java +++ b/com.actionsoft.apps.coe.method.process.subprocess/src/com/actionsoft/apps/coe/method/process/subprocess/SubProcessController.java @@ -113,20 +113,6 @@ public class SubProcessController { } } - /** - * 生成图->前置处理 - * 前置流程或后置流程是否在所选的范围内 - * @param uc - * @param processIdJsonArr - * @param excludeProcessIdJsonArr - * @return - */ - @Mapping("com.actionsoft.apps.coe.method.process.subprocess.lead_rear_node_pre_handle") - public String vertexPreHandle2(UserContext uc, String processIdJsonArr, String excludeProcessIdJsonArr){ - - return null; - } - /** * 功能->生成图 * @param uc @@ -143,4 +129,10 @@ public class SubProcessController { return ResponseObject.newOkResponse().toString(); } + @Mapping("com.actionsoft.apps.coe.method.process.subprocess.shape_expand") + public String shapeExpand(UserContext uc, String repositoryId, String shapeId){ + + return ResponseObject.newOkResponse("展开成功").toString(); + } + } diff --git a/com.actionsoft.apps.coe.method.process.subprocess/src/com/actionsoft/apps/coe/method/process/subprocess/graph/GraphNodeExpandHandle.java b/com.actionsoft.apps.coe.method.process.subprocess/src/com/actionsoft/apps/coe/method/process/subprocess/graph/GraphNodeExpandHandle.java new file mode 100644 index 00000000..be455b1c --- /dev/null +++ b/com.actionsoft.apps.coe.method.process.subprocess/src/com/actionsoft/apps/coe/method/process/subprocess/graph/GraphNodeExpandHandle.java @@ -0,0 +1,59 @@ +package com.actionsoft.apps.coe.method.process.subprocess.graph; + +import com.actionsoft.apps.coe.method.process.subprocess.constant.SubProcessConst; +import com.actionsoft.apps.coe.pal.pal.repository.designer.manage.CoeDesignerAPIManager; +import com.actionsoft.apps.coe.pal.pal.repository.designer.model.BaseModel; +import com.actionsoft.apps.coe.pal.pal.repository.designer.relation.cache.DesignerShapeRelationCache; +import com.actionsoft.apps.coe.pal.pal.repository.designer.relation.model.DesignerShapeRelationModel; +import com.actionsoft.apps.coe.pal.pal.repository.designer.util.ShapeUtil; +import com.actionsoft.bpms.util.UtilString; +import com.actionsoft.exception.AWSException; +import com.alibaba.fastjson.JSONObject; + +import java.util.List; + +/** + * 图节点展开处理 + */ +public class GraphNodeExpandHandle { + + private String repositoryId; + private String shapeId; + private CoeDesignerAPIManager apiManager; + private String childProcessDefine; + + public GraphNodeExpandHandle(String repositoryId, String shapeId) { + this.repositoryId = repositoryId; + this.shapeId = shapeId; + + apiManager = CoeDesignerAPIManager.getInstance(); + } + + public void readChildProcessDefine() throws AWSException{ + List childProcessModelList = DesignerShapeRelationCache.getListByAttrId(repositoryId, shapeId, SubProcessConst.CHILD_PROCESS); + DesignerShapeRelationModel relationModel = childProcessModelList.stream().findFirst().orElse(null); + if (relationModel == null) + throw new AWSException("未找到当前节点所标识的子流程文件信息"); + String relationFileId = relationModel.getRelationFileId(); + childProcessDefine = apiManager.getChildProcessDefine(repositoryId, 0, relationFileId); + if (UtilString.isEmpty(childProcessDefine)){ // 初次展开 去源文件目录读取 + BaseModel childProcessBaseModel = apiManager.getDefinition(relationFileId, 0); + childProcessDefine = childProcessBaseModel.getDefinition(); + } + } + + /** + * 组装范围限制框 + * @return 范围限制框 + */ + public JSONObject toAssembleScopeLimitationShape(){ + JSONObject scopeLimitationShape = ShapeUtil.getProcessShapeDefinition(SubProcessConst.SUB_PROCESS_METHOD_ID, "展开范围标注"); + JSONObject childProcessDefineObj = JSONObject.parseObject(childProcessDefine); + JSONObject childProcessPage = childProcessDefineObj.getJSONObject("page"); + // 当前节点所标识的子流程文件的 画布宽度与高度 减去边距 + double childProcessPageWidth = childProcessPage.getDoubleValue("width") - childProcessPage.getDoubleValue("padding") * 2; + double childProcessPageHeight = childProcessPage.getDoubleValue("height") - childProcessPage.getDoubleValue("padding") * 2; + + return scopeLimitationShape; + } +} diff --git a/com.actionsoft.apps.coe.method.process.subprocess/src/com/actionsoft/apps/coe/method/process/subprocess/web/SubProcessWeb.java b/com.actionsoft.apps.coe.method.process.subprocess/src/com/actionsoft/apps/coe/method/process/subprocess/web/SubProcessWeb.java index d8bb5c4a..d98d09ae 100644 --- a/com.actionsoft.apps.coe.method.process.subprocess/src/com/actionsoft/apps/coe/method/process/subprocess/web/SubProcessWeb.java +++ b/com.actionsoft.apps.coe.method.process.subprocess/src/com/actionsoft/apps/coe/method/process/subprocess/web/SubProcessWeb.java @@ -243,6 +243,15 @@ public class SubProcessWeb extends ActionWeb { return (JSONObject) JSON.toJSON(vertexPreHandle.collectIndependentNode(processIdList)); } + /** + * 生成图 + * @param processIdJsonArr 选择的子流程 + * @param locationId 位置 + * @param direction 排布方向 + * @param modelName 总图名称 + * @param excludeProcessIdArr 过滤的子流程 + * @throws AWSException + */ public void generatorEndToEndModel(String processIdJsonArr, String locationId, String direction, String modelName, String excludeProcessIdArr) throws AWSException{ // 忽略独立的节点 @@ -285,12 +294,58 @@ public class SubProcessWeb extends ActionWeb { CoeProcessLevelDaoFacotory.createCoeProcessLevel().insert(model); GraphRender graphRender = new GraphRender(model, nodeList, graphLayout.getCanvasWidth(), graphLayout.getCanvasHeight()); - // 连线渲染 - graphRender.handShapeLinkerRender(linkers); + // 节点渲染 graphRender.handleShapeNodeRender(position); + // 连线渲染 + graphRender.handShapeLinkerRender(linkers); + + } + public void shapeNodeExpand(String repositoryId, String shapeId){ + + /* + * 以当前节点展开涉及到动作拆分: + * + * 0、判断当前节点是否展开过了,初次展开的话去源文件中找,否则去备份的文件中找 + * + * 1、准备范围限制框元素,该元素坐标与当前被展开的节点坐标一致,宽度与高度与子流程标识的模型画布-边距的宽度、高度一致 + * 同时,子流程标识的模型内的所有元素 以当前被展开的节点坐标为准,下移、右移 被展开节点坐标距离原点的距离 + * + * 2、找到x大于等于、y大于等于当前被展开节点的所有子流程节点,将这些节点下移、右移到范围框之外 + * + * 3、根据与当前节点的连线,找到总图中所有与当前被展开节点的相连的前置节点与后置节点 + * + * 4、将子流程模型备份一份,为后续对展开后的节点做删除等操作 + * + * */ + + // 获取子流程标识的文件存储信息 + List childProcessModelList = DesignerShapeRelationCache.getListByAttrId(repositoryId, shapeId, SubProcessConst.CHILD_PROCESS); + DesignerShapeRelationModel relationModel = childProcessModelList.stream().findFirst().orElse(null); + if (relationModel == null) + throw new AWSException("未找到当前节点所标识的子流程文件信息"); + String relationFileId = relationModel.getRelationFileId(); + CoeDesignerAPIManager apiManager = CoeDesignerAPIManager.getInstance(); + BaseModel childProcessBaseModel = apiManager.getDefinition(relationFileId, 0); + String childProcessDefinition = childProcessBaseModel.getDefinition(); + JSONObject childProcessDefineObj = JSONObject.parseObject(childProcessDefinition); + JSONObject childProcessPage = childProcessDefineObj.getJSONObject("page"); + // 当前节点所标识的子流程文件的 画布宽度与高度 减去边距 + double childProcessPageWidth = childProcessPage.getDoubleValue("width") - childProcessPage.getDoubleValue("padding") * 2; + double childProcessPageHeight = childProcessPage.getDoubleValue("height") - childProcessPage.getDoubleValue("padding") * 2; + + // 获取总图的存储数据 + BaseModel baseModel = CoeDesignerAPIManager.getInstance().getDefinition(repositoryId, 0); + String definition = baseModel.getDefinition(); + JSONObject defineJsonObj = JSONObject.parseObject(definition); + JSONObject elements = defineJsonObj.getJSONObject("elements"); + JSONObject shapeObj = elements.getJSONObject(shapeId); + JSONObject shapeProps = shapeObj.getJSONObject("props"); + // 当前节点的坐标 + double x = shapeProps.getDoubleValue("x"); + double y = shapeProps.getDoubleValue("y"); } diff --git a/com.actionsoft.apps.coe.method.process.subprocess/web/com.actionsoft.apps.coe.method.process.subprocess/action.xml b/com.actionsoft.apps.coe.method.process.subprocess/web/com.actionsoft.apps.coe.method.process.subprocess/action.xml index 5afc1f7f..fd2d64bd 100644 --- a/com.actionsoft.apps.coe.method.process.subprocess/web/com.actionsoft.apps.coe.method.process.subprocess/action.xml +++ b/com.actionsoft.apps.coe.method.process.subprocess/web/com.actionsoft.apps.coe.method.process.subprocess/action.xml @@ -27,4 +27,8 @@ + + + + \ No newline at end of file diff --git a/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/css/subprocess/iconfont.css b/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/css/subprocess/iconfont.css new file mode 100644 index 00000000..e899c001 --- /dev/null +++ b/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/css/subprocess/iconfont.css @@ -0,0 +1,35 @@ +@font-face { + font-family: "iconfont"; /* Project id 3589612 */ + src: url('iconfont.woff2?t=1684980356184') format('woff2'), + url('iconfont.woff?t=1684980356184') format('woff'), + url('iconfont.ttf?t=1684980356184') format('truetype'); +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-zhankaishousuo:before { + content: "\e6cb"; +} + +.icon-ICON-:before { + content: "\e664"; +} + +.icon-icon_list_shouqi:before { + content: "\e61c"; +} + +.icon-quanpingshouqi:before { + content: "\e66f"; +} + +.icon-shuzhuangtu_o:before { + content: "\ebb3"; +} + diff --git a/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/css/subprocess/iconfont.js b/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/css/subprocess/iconfont.js new file mode 100644 index 00000000..e3fe5b58 --- /dev/null +++ b/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/css/subprocess/iconfont.js @@ -0,0 +1 @@ +window._iconfont_svg_string_3589612='',function(l){var t=(t=document.getElementsByTagName("script"))[t.length-1],e=t.getAttribute("data-injectcss"),t=t.getAttribute("data-disable-injectsvg");if(!t){var a,i,n,o,c,h=function(t,e){e.parentNode.insertBefore(t,e)};if(e&&!l.__iconfont__svg__cssinject__){l.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(t){console&&console.log(t)}}a=function(){var t,e=document.createElement("div");e.innerHTML=l._iconfont_svg_string_3589612,(e=e.getElementsByTagName("svg")[0])&&(e.setAttribute("aria-hidden","true"),e.style.position="absolute",e.style.width=0,e.style.height=0,e.style.overflow="hidden",e=e,(t=document.body).firstChild?h(e,t.firstChild):t.appendChild(e))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(a,0):(i=function(){document.removeEventListener("DOMContentLoaded",i,!1),a()},document.addEventListener("DOMContentLoaded",i,!1)):document.attachEvent&&(n=a,o=l.document,c=!1,s(),o.onreadystatechange=function(){"complete"==o.readyState&&(o.onreadystatechange=null,d())})}function d(){c||(c=!0,n())}function s(){try{o.documentElement.doScroll("left")}catch(t){return void setTimeout(s,50)}d()}}(window); \ No newline at end of file diff --git a/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/css/subprocess/iconfont.json b/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/css/subprocess/iconfont.json new file mode 100644 index 00000000..5969f973 --- /dev/null +++ b/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/css/subprocess/iconfont.json @@ -0,0 +1,44 @@ +{ + "id": "3589612", + "name": "炎黄", + "font_family": "iconfont", + "css_prefix_text": "icon-", + "description": "", + "glyphs": [ + { + "icon_id": "1057312", + "name": "展开收缩", + "font_class": "zhankaishousuo", + "unicode": "e6cb", + "unicode_decimal": 59083 + }, + { + "icon_id": "1760316", + "name": "收起", + "font_class": "ICON-", + "unicode": "e664", + "unicode_decimal": 58980 + }, + { + "icon_id": "14197982", + "name": "收起", + "font_class": "icon_list_shouqi", + "unicode": "e61c", + "unicode_decimal": 58908 + }, + { + "icon_id": "29519761", + "name": "全屏收起", + "font_class": "quanpingshouqi", + "unicode": "e66f", + "unicode_decimal": 58991 + }, + { + "icon_id": "5388006", + "name": "树状图_o", + "font_class": "shuzhuangtu_o", + "unicode": "ebb3", + "unicode_decimal": 60339 + } + ] +} diff --git a/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/css/subprocess/iconfont.ttf b/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/css/subprocess/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..bb97297b93fb179dd175616b0ff00cab84af2a8f GIT binary patch literal 2732 zcmd^BZ)j6j6hG&^m!x@3)Ar>xZES2~ViIUwV$(Do&Oc+$x((5xwx2e-G|fMkT7dF^3FL{)T7WZ+nI|h82fI!) zu1F6+L#K_EL|6}-fqQXm$6jz2l4=Q7u^{xu>>tHg$Y+z}->^iIF)0!UX&r+r2!O|d z^2fc$v5XuuW}Jr@k|hTgp14nFuV%JQ!))CAF(CHh-Z(d09@8meG*3n-5!sBOl0CM7Hn$ zdvoXs*kPuDvQqaNozx$7?3G3I4&T2D%!RUGo0mk41EaT_+H+j_0GOv-N zZaS&p8jdC6p+U5D$?jNU6Lz~}qeF>!*y6XY#&F1Q8?ws%81P$V_j5Qp5)a)w;glrj zJ(uK_ZrfMcMG;RqO?0a%;$}(ey2lhx+!94nyRw9Cnp8+tKO|#lwkMKe}bBKZ>Ea>k$FLhXVZdvfV3-Ux{A%qUg0>7G*CHIxRBERguv$ zlW;SaM7dYIB)Ys;M4G%V8hRJLV+=xaug>k2nTW+l@40ykw1Jv2QSEKC2P?VAt3XjASqr;X6I0E<(yT`@b_?s;r zmtYeR9TL~+krCe^(C)C{>1Fc8#tQl3>&xW-*?!@^01JTKE!gf6EjR4g;Sq)VwD3o5 z64&84(%}$j#lEMDFFsxTFV^_k0xKCi-;L}1r+maX-@&kXz}b0TI^u~qn&~m5N zlQ<-bh25aQpW`&>hX90O5TXFV;jX~Q@W`4ja~>h8E6}w>y8>OqNIhtFZgBj@cmrra zhHzlw=0pPqG;Q&wrg7sm-_SJrv39OGAPg*OgRHR-03^6$-rn@e6K#A2*q6p-Vh(K3 zYhs@GeiI9X2TW|C_cUf=EAcm(Sfrh8GjS_`e0st2+$Rn7P^6{YAKBY){aLGhI<%D!|;jpS6dydfH8 z>o9&Kr4(T+R3HsW`umZFY4E`m9HKD~DNvvU8GTeAqj!^b7HUu+%gSTYmDUraU4bg; zF`quVEF*L!t<>61S|wd`Wi(Z~xUy6}m7WaQXULlZMM7g{d})fLK-fnGWU_taCq>#3 zy7ZV;88*-XjxOz|sUOkzSv0>bRCV^B=t<3r9P%ij1+8cU=S(hHdNY}?=9F5srdVFy rx@+e%9jqdgg?v?=Wc>Yk=l)u-uXvwz5l;XoC!Dv05A>6b%O9W`EqZv_Zb@k{gbx{E^*6zpzeIrpCbW#JaA2PkiU@3dOD2;FKAPeDg~8bKj~9XS=ig?%UT-K5C1a!;khk@EF(zz$7iZn)Cl?vVUeAeGmTlwyu`B3WW?CbtNzIv#IQ@f*I zKaGFc)8+V;{s6k&A}(wo8Bf>WU;i$(J+b21YMkZw7@~40My1}wE?cBI>q&=~^Sg$S z^mWIqm0tgIO4SeG*cl{NSSUGRwD7ouBf-bHd#TFYq9uxiGbzz1<)eQAXmbSCn z9l5_)-rP+uY;arlz46Gjd!fqhY)PntAI-VP9{ivrBd(GULXk6u-RI-PO=?wTur>5E~&2@E_2${LwOB6Xz0 zU<|+zO7B*A0yki>ux8l$*1!CBj!D!45L5v0)2@A}OblkTBSj6^*$Zoi=DC6+(Q;QE zZfOS}DctW>X%`-7v0qoQAtcuL-1_F0y5!dr%|D;BAr3o!e4Vd1tMP&npG{v>}D%RB1IcqOsL>$R~6n;y)Uz31B?# zsa#09zCzLSep%!E$UdadKOtklch?L5G3w2fwmHY0H9bWh+N|1{(dxdUChU1J(|W#T zOfcuh(8Z9-@La0MoqT1_jOGUzKab-~`dYyP%Kqx7;hPEGbIm<9#uvHPaOS{grmc_V ztivB)w+fl}O<*33?k&o+6Q1ioNokng<~;sgP3ADd^2={A?8dw0dZ|8r{0-P>UQE!| z{Zi5ZYqj6ft_gU8LIGEhFSsTs=6rv^6mR2%mmD(vu~BMQ`qR)8rFW2tt>aM}7juc! p%*gEX0!7f-qJkiP;n&!yr5$u(U>LxCe9CKP+0Xze!0gfi{sQs2&shKf literal 0 HcmV?d00001 diff --git a/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/css/subprocess/iconfont.woff2 b/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/extend/css/subprocess/iconfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..bafda04365f2359655a99df57f3244dc292db285 GIT binary patch literal 1192 zcmV;Z1XufaPew8T0RR9100gK23jhEB01B)C00dkB0RR9100000000000000000000 z0000SR0d!GgGdU8bcRR)HUcCA7z+*n1Rw>3X9si}FbPpqPcmdb4sx=S6;7iHDZG6a ziUk`Qr|A(yYi0GoKBEefB*&nlqnOqO&BrBOYXtEYPLp{~{>FKu^SaCt&S z#+Heh;z_aNo-tpx#Z~l@e!{q;K)-HDS(slaT&P)i^ku)(Atup0pjY%&XlY!VAKYzhmH*aZLgJ5R(TYJf=I53E`NhtpHpc*X+qCI>$=359#DgFJ>Snxir<>M}W0hLVZp#VPyg3ro{ZP6hg+13|)>)D8D5r4I7Jm&%a%zj6=MPD2OushrI{Ct&LyV&qw7R0Oq7i)`^v-2)z zmWzK|IJe;|=V!GMd3PCtjdL|85c)*Mr-%)JE`B{M8$;I>e1>o~g#5=)3~9kIltL|Z zs1qtdo0-uNK<7NYGR(%SALmWONC5J>0e-^Y1D~1(^K-1y|8+AP1^gSmU0_28i`?=F zDpeMIu*ypn5sMt8DWv}93W3H)J&)5yuRg>V>KXOhm1?ZA!aqVa7DCcx4zg~mPzARM zsy@4*(QO~}+U($TpE1UmC_Px`13(z|3CW=EkPZ7r72FS0lm4JF>>qkvjDhR=tc!Bb zQqELi@rJ6@y)e}5PI^nyx4F%VK9Y3`hA|1_WcrADvTf{e&oX5eD6H=AkbWGstwv+@ zkV+0~X0sYag7hL`sXN$XksKoxRCt4wlGYP8GRME(Eh2fXoUMp@v{?@G(c~x*iYuUw z6n&+>6PfKilTwTcyh^aN4my-=q}3A|GUP==q{KpXgP5@@LP(;jA{<`To#HX*r9Dd% zDRPvk(L|TQM|IvexpKAk&g+RIdsmmi@^0h}TIF~^TK1$CZ~DA9s+Upef@AaVbuwSF GA7}u8A|%ED literal 0 HcmV?d00001 diff --git a/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/scripts/diagraming/designer.method.subprocess.js b/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/scripts/diagraming/designer.method.subprocess.js new file mode 100644 index 00000000..fc7fc945 --- /dev/null +++ b/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/scripts/diagraming/designer.method.subprocess.js @@ -0,0 +1,79 @@ +$(function(){ + // 1. 子流程展开 事件:获取当前子流程所代表的模型文件 + (function (Model, ruuid, sid) { + const subProcess = new SubProcess(Model, ruuid, sid); + subProcess.shapeIconRender(); + + $('.shape_box.linker_box').css({ + 'pointer-events': 'none' + }); + + })(Model, ruuid, sid); +}); + +class SubProcess { + // 构造函数 + constructor(Model, ruuid, sid){ + this.Model = Model; + this.repositoryId = ruuid; + this.sid = sid; + } + + // 图形图标渲染 并绑定节点展开或者关闭事件 + shapeIconRender(){ + let elements = this.Model.define.elements; + for (let shapeId in elements) { + let shape = elements[shapeId]; + if (shape.name == 'linker') continue; // 当前元素为连线的话 直接略过 + if (shape.name == 'subProcess') { // 当前元素为子流程节点 渲染展开图标 并绑定展开事件 + let expandIcon = ""; + $('#'+shapeId).append(expandIcon); + $('#icon_'+shapeId).on('click', '', {shapeId: shapeId, Model: this.Model, repositoryId: this.repositoryId, sid: this.sid}, this.shapeExpand); + }else { // 当前元素为虚线范围限制框的话 渲染关闭图标 并绑定关闭事件 + let closeIcon = ""; + $('#'+shapeId).append(closeIcon); + $('#icon_'+shapeId).on('click', '', {shapeId: shapeId, Model: this.Model, repositoryId: this.repositoryId, sid: this.sid}, this.shapeClose); + } + } + } + + // 节点展开事件 + shapeExpand(event){ + let param = event.data; + alert('节点展开事件 ' + param.Model.define.elements[event.data.shapeId].text); + // 1、同时只能支持一个子流程节点展开 + let elements = param.Model.define.elements; + for (let key in elements) { + let shape = elements[key]; + if (shape.name == 'linker') continue; + if (shape.name == 'scopeLimitation') { + $.simpleAlert("同一时间仅支持一个子流程节点展开", "warning"); + return; + } + } + // 2、传递当前模型文件ID、子流程节点ID + awsui.ajax.request({ + url: './jd', + method: 'POST', + data: { + cmd: 'com.actionsoft.apps.coe.method.process.subprocess.shape_expand', + sid: param.sid, + repositoryId: param.repositoryId, + shapeId: param.shapeId + }, + ok: function(r){ + console.log(r); + }, + err: function(r){ + $.simpleAlert(r.msg); + } + }); + // 3、刷新当前画布 + } + + // 节点关闭事件 + shapeClose(event){ + console.log('sss') + } +} +