From d814a16200c9c32d295472d5e7cd8d81bf384665 Mon Sep 17 00:00:00 2001 From: renqiang <1278189251@qq.com> Date: Fri, 17 Jun 2022 10:24:54 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E5=A4=8D=E5=88=B6=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 48 +++++++++++++---------- package.json | 2 +- src/components/Process/FlowCard/index.vue | 9 ++--- src/components/Process/FlowCard/util.js | 34 +++++++++++++--- 4 files changed, 61 insertions(+), 32 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1afd5a6..dfce2cc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3863,8 +3863,8 @@ }, "css": { "version": "2.2.4", - "resolved": "https://registry.npm.taobao.org/css/download/css-2.2.4.tgz", - "integrity": "sha1-xkZ1XHOXHyu6amAeLPL9cbEpiSk=", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -3875,8 +3875,8 @@ "dependencies": { "source-map": { "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } @@ -3950,8 +3950,8 @@ }, "css-parse": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/css-parse/download/css-parse-2.0.0.tgz", - "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", + "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", + "integrity": "sha512-UNIFik2RgSbiTwIW1IsFwXWn6vs+bYdq83LKTSOsx7NJR7WII9dxewkHLltfTLVppoUApHV0118a4RZRI9FLwA==", "dev": true, "requires": { "css": "^2.0.0" @@ -10487,46 +10487,52 @@ } }, "stylus": { - "version": "0.54.7", - "resolved": "https://registry.npm.taobao.org/stylus/download/stylus-0.54.7.tgz", - "integrity": "sha1-xs5Hk5Ze5Ti86+UPMVN7/ATYjNI=", + "version": "0.54.8", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.8.tgz", + "integrity": "sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==", "dev": true, "requires": { "css-parse": "~2.0.0", "debug": "~3.1.0", - "glob": "^7.1.3", - "mkdirp": "~0.5.x", + "glob": "^7.1.6", + "mkdirp": "~1.0.4", "safer-buffer": "^2.1.2", "sax": "~1.2.4", - "semver": "^6.0.0", + "semver": "^6.3.0", "source-map": "^0.7.3" }, "dependencies": { "debug": { "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz", - "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { "ms": "2.0.0" } }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, "semver": { "version": "6.3.0", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.7.3.tgz", - "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=", + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true } } diff --git a/package.json b/package.json index 2357e7f..5672712 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "@vue/cli-plugin-babel": "~4.3.1", "@vue/cli-plugin-router": "~4.3.1", "@vue/cli-service": "~4.3.1", - "stylus": "^0.54.7", + "stylus": "^0.54.8", "stylus-loader": "^3.0.2", "svg-sprite-loader": "^4.1.6", "vue-template-compiler": "^2.6.11" diff --git a/src/components/Process/FlowCard/index.vue b/src/components/Process/FlowCard/index.vue index 8dc1684..d970e8e 100644 --- a/src/components/Process/FlowCard/index.vue +++ b/src/components/Process/FlowCard/index.vue @@ -47,10 +47,6 @@ let nodes = { copy: createFunc, empty: _ => '', condition: function(ctx, conf, h) { - // return (
优先级{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