|
@@ -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
|
|
|
}
|
|
|
|