From 6a72e9e44dc7278e18d55ccd5637b81a1cb2f047 Mon Sep 17 00:00:00 2001
From: zhangyanpeng <bob.zhang@highdatas.com>
Date: 星期一, 04 三月 2024 18:16:36 +0800
Subject: [PATCH] Merge branch 'dev' of http://highdatas.com:9000/r/foundation/designer.approve.2 into dev

---
 src/views/admin/layout/process/ProcessTree.vue |  112 ++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 100 insertions(+), 12 deletions(-)

diff --git a/src/views/admin/layout/process/ProcessTree.vue b/src/views/admin/layout/process/ProcessTree.vue
index 2a05685..d3ee177 100644
--- a/src/views/admin/layout/process/ProcessTree.vue
+++ b/src/views/admin/layout/process/ProcessTree.vue
@@ -14,7 +14,6 @@
 import Subprocess from '@/views/common/process/nodes/SubprocessNode.vue'
 
 import DefaultProps from "./DefaultNodeProps"
-
 export default {
   name: "ProcessTree",
   components: {Node, Root, Approval, Task, Cc, Trigger, Concurrent, Condition, Inclusive, Delay, Empty, Subprocess},
@@ -40,6 +39,7 @@
     ]))
     return h('div', {class:{'_root': true}, ref:'_root'}, processTrees)
   },
+
   methods: {
     getDomTree(h, node) {
       this.toMapping(node);
@@ -88,6 +88,7 @@
     //瑙g爜娓叉煋鐨勬椂鍊欐彃鍏om鍒板悓绾�
     decodeAppendDom(h, node, dom, props = {}){
       props.config = node
+      console.log("decodeAppendDom",props)
       dom.unshift(h(node.type.toLowerCase(), {
         props: props,
         ref: node.id,
@@ -106,7 +107,6 @@
     //id鏄犲皠鍒癿ap锛岀敤鏉ュ悜涓婇亶鍘�
     toMapping(node){
       if (node && node.id){
-        //console.log("node=> " + node.id + " name:" + node.name + " type:" + node.type)
         this.nodeMap.set(node.id, node)
       }
     },
@@ -170,28 +170,30 @@
       return node.type === 'CONCURRENTS'
     },
     getRandomId(){
-      console.log("tree鐢熸垚鑺傜偣id")
-      return '';
+      return ' ';
       //return `HighDatas_${new Date().getTime().toString().substring(5)}${Math.round(Math.random()*9000+1000)}`
     },
     //閫変腑涓�涓妭鐐�
     selectNode(node){
-      this.$store.commit('selectedNode', node)
+      this.$store.commit('selectedNode', node);
       this.$emit('selectedNode', node)
     },
     //澶勭悊鑺傜偣鎻掑叆閫昏緫
     insertNode(type, parentNode){
+
       this.$refs['_root'].click()
-      //缂撳瓨涓�涓嬪悗闈㈢殑鑺傜偣
       let afterNode = parentNode.children
       //鎻掑叆鏂拌妭鐐�
       parentNode.children = {
+
         id: this.getRandomId(),
         parentId: parentNode.id,
         props: {},
-        type: type,
+        type: type
+
       }
       switch (type){
+
         case 'APPROVAL': this.insertApprovalNode(parentNode, afterNode); break;
         case 'SUBPROCESS' : this.insertApprovalNode(parentNode, afterNode); break;
         case 'TASK': this.insertTaskNode(parentNode); break;
@@ -213,15 +215,17 @@
         if (afterNode && afterNode.id){
           afterNode.parentId = parentNode.children.id
         }
-        this.$set(parentNode.children, 'children', afterNode)
+        this.$set(parentNode.children, 'children', Object)
+
       }
       this.$forceUpdate()
     },
     insertApprovalNode(parentNode){
-      console.log("tree 娣诲姞閫氳繃鑺傜偣",parentNode.children)
       this.$set(parentNode.children, "name", "瀹℃壒浜�")
-      console.log("tree-DefaultProps.APPROVAL_PROPS)",DefaultProps.APPROVAL_PROPS)
+
       this.$set(parentNode.children, "props", this.$deepCopy(DefaultProps.APPROVAL_PROPS))
+
+
     },
     insertTaskNode(parentNode){
       this.$set(parentNode.children, "name", "鍔炵悊浜�")
@@ -255,6 +259,7 @@
           name: "鏉′欢1",
           children:{}
         },{
+
           id: this.getRandomId(),
           parentId: parentNode.children.id,
           type: "CONDITION",
@@ -336,7 +341,7 @@
     },
     //鍒犻櫎褰撳墠鑺傜偣
     delNode(node){
-      console.log("ProcessTree鍒犻櫎鑺傜偣", node)
+
       //鑾峰彇璇ヨ妭鐐圭殑鐖惰妭鐐�
       let parentNode = this.nodeMap.get(node.parentId)
       if (parentNode){
@@ -435,6 +440,89 @@
 }
 </script>
 
-<style lang="scss"  :src="$cssSrc"  >
 
+<style lang="less" scoped>
+._root{
+  margin: 0 auto;
+}
+.process-end{
+  width: 60px;
+  margin: 0 auto;
+  margin-bottom: 20px;
+  border-radius: 15px;
+  padding: 5px 10px;
+  font-size: small;
+  color: #747474;
+  background-color: #f2f2f2;
+  box-shadow: 0 0 10px 0 #bcbcbc;
+}
+.primary-node{
+  display: flex;
+  align-items: center;
+  flex-direction: column;
+}
+.branch-node{
+  display: flex;
+  justify-content: center;
+  /*border-top: 2px solid #cccccc;
+  border-bottom: 2px solid #cccccc;*/
+}
+.branch-node-item{
+  position: relative;
+  display: flex;
+  background: #f5f6f6;
+  flex-direction: column;
+  align-items: center;
+  border-top: 2px solid #cccccc;
+  border-bottom: 2px solid #cccccc;
+  &:before{
+    content: "";
+    position: absolute;
+    top: 0;
+    left: calc(50% - 1px);
+    margin: auto;
+    width: 2px;
+    height: 100%;
+    background-color: #CACACA;
+  }
+  .line-top-left, .line-top-right, .line-bot-left, .line-bot-right{
+    position: absolute;
+    width: 50%;
+    height: 4px;
+    background-color: #f5f6f6;
+  }
+  .line-top-left{
+    top: -2px;
+    left: -1px;
+  }
+  .line-top-right{
+    top: -2px;
+    right: -1px;
+  }
+  .line-bot-left{
+    bottom: -2px;
+    left: -1px;
+  }
+  .line-bot-right{
+    bottom: -2px;
+    right: -1px;
+  }
+}
+.add-branch-btn{
+  position: absolute;
+  width: 80px;
+  .add-branch-btn-el{
+    z-index: 999;
+    position: absolute;
+    top: -15px;
+  }
+}
+
+.empty-node{
+  display: flex;
+  justify-content: center;
+  flex-direction: column;
+  align-items: center;
+}
 </style>
+

--
Gitblit v1.8.0