ZaiZai il y a 8 mois
Parent
commit
f91e7c5c4d
1 fichiers modifiés avec 31 ajouts et 4 suppressions
  1. 31 4
      src/views/project/list/edit-formula.vue

+ 31 - 4
src/views/project/list/edit-formula.vue

@@ -660,12 +660,41 @@ const isSelectEle = async () => {
 
 //移除挂载的函数
 const delEquationSelect = (name) => {
-    console.log(name)
+    equationSelectEle.value?.children?.splice(Number(name), 1)
 }
 
 //切换公式tab标签
 const leaveEquationSelect = (name, oldName) => {
-    console.log(name, oldName)
+    if (isNullES(oldName)) return false
+    let formula = equationSelectEle.value?.children[Number(oldName)]
+    if (isNullES(formula)) return false
+    return checkFormulaLegal(formula)
+}
+
+//检测公式合法
+const checkFormulaLegal = (formula) => {
+    if (!formula.arguments) return false
+    //当前选中的元素
+    let curEle = equationSelectEle.value, isIn = false
+    for (let i = 0; i < formula.arguments.length; i++) {
+        if (Array.isArray(formula.arguments[i])) {
+            for (let j = 0;j < formula.arguments[i].length;j++) {
+                if (formula.arguments[i][j] && formula.arguments[i][j].id == curEle.id) {
+                    isIn = true
+                    break
+                }
+            }
+            if (isIn) break
+        } else if (formula.arguments[i] && formula.arguments[i].id == curEle.id) {
+            isIn = true
+            break
+        }
+    }
+    if (!isIn) {
+        window?.$message.warning('参数必须有一个值是当前元素')
+        return false
+    }
+    return true
 }
 
 //获取数据
@@ -1342,8 +1371,6 @@ const getTemplateFt = (item) => {
     item.template.args.forEach(obj => {
         template = template.replace(obj.key, obj.m)
     })
-    const key = item.arguments[0].tableElementKey.replace('_key', ':key')
-    item.arguments[0].tableElementKey = key
     return template
 }