优先级{conf.properties.priority + 1}
-
+
c.nodeId === nodeData.nodeId )
+
+
+ /**
+ * 复制条件节点
+ */
+ static copyNode ( nodeData, processData ) {
+ let prevNode = processData
+ let index = prevNode.conditionNodes.findIndex( c => c.nodeId === nodeData.nodeId )
+ // idGenerator
+ let cons = prevNode.conditionNodes
+ let copy = JSON.parse(JSON.stringify(prevNode.conditionNodes[index]))
+ copy.nodeId = this.idGenerator();
+ copy.properties.title += '(复制)';
+ let nodeIdFun = (childNode,prevId) =>{
+ childNode.nodeId = this.idGenerator();
+ if(prevId){
+ childNode.prevId = prevId;
+ }
+ if(childNode.childNode){
+ nodeIdFun(childNode.childNode,childNode.nodeId)
+ }
+ }
+ nodeIdFun(copy);
+ prevNode.conditionNodes.splice(index+1,0,copy);
+ // 重新编排优先级
+ cons.forEach( ( c, i ) => c.properties.priority = i )
+ }
+
+
- // }
/**
* 添加审计节点(普通节点 approver)
* @param { Object } data - 目标节点数据,在该数据节点之后添加审计节点
From 5734df6dc5d4679aaea31b71c088df3356735fbe Mon Sep 17 00:00:00 2001
From: ren <65333960+ren15934101904@users.noreply.github.com>
Date: Fri, 17 Jun 2022 10:27:24 +0800
Subject: [PATCH 2/4] Update README.md
---
README.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/README.md b/README.md
index 4695d02..f72289b 100644
--- a/README.md
+++ b/README.md
@@ -16,6 +16,7 @@
- 生成JSON数据并生成预览页面
2. 流程节点配置(仿钉钉界面)
- 创建审批流程(发起人,审批人,条件节点,抄送人)
+ - 条件节点复制且复制旗下分支(防钉钉条件复制)
- 配置节点详细数据,包括条件节点表达式及期望值等
- 配置节点对表单得权限(目前并未在预览页面中做控制)
- 必填节点校验
From 4a038ad261c37004d44125a3bf39ddc37ee8bdda Mon Sep 17 00:00:00 2001
From: renqiang <1278189251@qq.com>
Date: Fri, 17 Jun 2022 11:01:58 +0800
Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9D=A1=E4=BB=B6?=
=?UTF-8?q?=E5=A5=97=E6=9D=A1=E4=BB=B6=E6=97=B6=E5=A4=8D=E5=88=B6=E7=9A=84?=
=?UTF-8?q?nodeId=E9=87=8D=E5=A4=8D=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/Process/FlowCard/util.js | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/components/Process/FlowCard/util.js b/src/components/Process/FlowCard/util.js
index 6201627..bd90ee2 100644
--- a/src/components/Process/FlowCard/util.js
+++ b/src/components/Process/FlowCard/util.js
@@ -135,7 +135,7 @@ export class NodeUtils {
}
concatChild( prevNode, nodeData )
}
-
+
/**
* 复制条件节点
@@ -156,6 +156,11 @@ export class NodeUtils {
if(childNode.childNode){
nodeIdFun(childNode.childNode,childNode.nodeId)
}
+ if(childNode.conditionNodes && childNode.conditionNodes.length>0){
+ for (let item of childNode.conditionNodes) {
+ nodeIdFun(item,childNode.nodeId)
+ }
+ }
}
nodeIdFun(copy);
prevNode.conditionNodes.splice(index+1,0,copy);
From 325c2e9343dfe6e9f0443b7c3b6b30ce38170755 Mon Sep 17 00:00:00 2001
From: renqiang <1278189251@qq.com>
Date: Fri, 17 Jun 2022 14:51:41 +0800
Subject: [PATCH 4/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20=E5=AE=A1=E6=89=B9/?=
=?UTF-8?q?=E6=8A=84=E9=80=81=20=E8=8A=82=E7=82=B9=E4=B8=8B=E7=9A=84?=
=?UTF-8?q?=E6=9D=A1=E4=BB=B6=E5=A4=8D=E5=88=B6=E7=9A=84findIndex=E6=8A=A5?=
=?UTF-8?q?=E9=94=99=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/Process/FlowCard/util.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/components/Process/FlowCard/util.js b/src/components/Process/FlowCard/util.js
index bd90ee2..9c18c43 100644
--- a/src/components/Process/FlowCard/util.js
+++ b/src/components/Process/FlowCard/util.js
@@ -141,7 +141,7 @@ export class NodeUtils {
* 复制条件节点
*/
static copyNode ( nodeData, processData ) {
- let prevNode = processData
+ let prevNode = this.getPreviousNode( nodeData.prevId, processData );
let index = prevNode.conditionNodes.findIndex( c => c.nodeId === nodeData.nodeId )
// idGenerator
let cons = prevNode.conditionNodes