Explorar o código

编辑元素跳转到配置元素公式

gangyj %!s(int64=3) %!d(string=hai) anos
pai
achega
2c8a6938e4

+ 45 - 3
src/views/manager/projectinfo/editElement/editElement.vue

@@ -8,7 +8,7 @@
         class="header"
         style="padding-bottom:20px;"
       >
-        提示:鼠标右键功能:更换匹配元素字段、新增元素字段、删除匹配元素字段、公式配置&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 红色:代表匹配不成功、蓝色代表推荐匹配元素字段、绿色代表匹配成功
+        提示:鼠标右键功能:更换匹配元素字段、新增元素字段、删除匹配元素字段、公式配置       红色:代表匹配不成功、蓝色代表推荐匹配元素字段、绿色代表匹配成功
       </div>
       <el-row
         :gutter="20"
@@ -221,6 +221,8 @@ export default {
         value: '公式配置',
         label: '公式配置',
       }],
+
+      ekeyReg:/(key_\d+)/,
     }
   },
   mounted () {
@@ -251,6 +253,8 @@ export default {
       } else if (value[value.length - 1] == '公式配置') {
         this.cascaderPanel = false
         clearTimeout(this.setTimeout)
+
+        this.toFormulaEdit();
       }
     },
     mouseout22 () {//鼠标移出事件
@@ -266,9 +270,16 @@ export default {
       }, 500)
     },
     RightClick2 (tr, td, x1, x2, y1, y2) {
+      //console.log(event.target.id)
+      let targetId = event.target.id;
+      let ekey = null;
+      if(this.ekeyReg.test(targetId)){
+        ekey = targetId.match(this.ekeyReg)[1]
+      }
       this.table = {
         tr,
-        td
+        td,
+        ekey
       }
 
       this.left = window.event.clientX - 300
@@ -472,8 +483,39 @@ export default {
         })
         this.AddNewElementField = ''
       }
-    }
+    },
     //#endregion
+
+    //跳转到公式配置页面
+    toFormulaEdit () {
+      let eleid = null;
+      if(this.table.ekey){
+        for (let i = 0; i < this.options.length; i++) {
+          if(this.options[i].ekey == this.table.ekey){
+            eleid = this.options[i].id;
+            break;
+          }
+        }
+      }
+
+      if(eleid == null){
+        this.$message({
+          type: "warning",
+          message: "找不到元素id"
+        })
+        return;
+      }
+
+      this.$router.push({
+        path: '/formula/edit',
+        query: {
+          wbsid: this.$route.query.wbsid,
+          eleid: eleid,
+          nodeid:this.$route.query.nodeid,
+          projectid:this.$route.query.pid
+        }
+      });
+    },
   },
   watch: {
     'options' () {

+ 1 - 0
src/views/manager/projectinfo/tree.vue

@@ -2384,6 +2384,7 @@ export default {
           initTableName,
           pid: this.$route.query.pid,
           wbsid: this.$route.query.wbsid,
+          nodeid:this.curTreeData.id,
         }
       })
     },