|
@@ -42,19 +42,25 @@
|
|
<div class="mg-b-20">函数公式.</div>
|
|
<div class="mg-b-20">函数公式.</div>
|
|
<div class="edit-text">
|
|
<div class="edit-text">
|
|
<span>
|
|
<span>
|
|
- <formula-item
|
|
|
|
|
|
+
|
|
|
|
+ <formula-item
|
|
v-for="(item,index) in resultFormula" :key="index"
|
|
v-for="(item,index) in resultFormula" :key="index"
|
|
:item="item" @click="obj => equationClick(obj,index,'resultFormula')"
|
|
:item="item" @click="obj => equationClick(obj,index,'resultFormula')"
|
|
>
|
|
>
|
|
</formula-item>
|
|
</formula-item>
|
|
|
|
+
|
|
|
|
+
|
|
</span>
|
|
</span>
|
|
<span>=</span>
|
|
<span>=</span>
|
|
- <span>
|
|
|
|
- <formula-item
|
|
|
|
- v-for="(item,index) in processFormula" :key="index"
|
|
|
|
- :item="item" @click="obj => equationClick(obj,index,'processFormula')"
|
|
|
|
- >
|
|
|
|
- </formula-item>
|
|
|
|
|
|
+ <span v-for="(item,index) in processFormula" :key="index">
|
|
|
|
+ <el-tooltip class="item" effect="light" placement="top-start" :disabled="item.type!=='Element'">
|
|
|
|
+ <div slot="content">{{item.tableName }}</div>
|
|
|
|
+ <formula-item
|
|
|
|
+ :getname="getItemTableName(item)"
|
|
|
|
+ :item="item" @click="obj => equationClick(obj,index,'processFormula')"
|
|
|
|
+ >
|
|
|
|
+ </formula-item>
|
|
|
|
+ </el-tooltip>
|
|
</span>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="flex jc-sb">
|
|
<div class="flex jc-sb">
|
|
@@ -589,6 +595,7 @@ export default {
|
|
|
|
|
|
resultFormula:[],//=等号左边的数组
|
|
resultFormula:[],//=等号左边的数组
|
|
processFormula:[],//=等号右边的数组
|
|
processFormula:[],//=等号右边的数组
|
|
|
|
+ rightDict:[],//等号右边元素的字典
|
|
processType:'',//选中的元素在等号哪边
|
|
processType:'',//选中的元素在等号哪边
|
|
processSelectIndex:0,//选中的索引
|
|
processSelectIndex:0,//选中的索引
|
|
actiFunIndex:0,//元素下挂载的计算式的索引
|
|
actiFunIndex:0,//元素下挂载的计算式的索引
|
|
@@ -1250,6 +1257,7 @@ export default {
|
|
|
|
|
|
//点选等式中的元素
|
|
//点选等式中的元素
|
|
equationClick({selected,item},index,arrName){
|
|
equationClick({selected,item},index,arrName){
|
|
|
|
+
|
|
if(selected){
|
|
if(selected){
|
|
this.resultFormula.forEach((ele)=>{
|
|
this.resultFormula.forEach((ele)=>{
|
|
ele.selected = false;
|
|
ele.selected = false;
|
|
@@ -1269,6 +1277,16 @@ export default {
|
|
this.processType = '';
|
|
this.processType = '';
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ //获取当前元素的表名
|
|
|
|
+ getItemTableName(item){
|
|
|
|
+ if(item.type==="Element"){
|
|
|
|
+ this.rightDict.forEach((ele)=>{
|
|
|
|
+ if(ele.ekey===item.tableElementKey){
|
|
|
|
+ item.tableName= ele.tableName
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
|
|
//在等式模式下点选计算式
|
|
//在等式模式下点选计算式
|
|
equationSelect(index,indexPath){
|
|
equationSelect(index,indexPath){
|
|
@@ -1479,10 +1497,12 @@ export default {
|
|
projectId:this.curProjiect.id||this.pid,
|
|
projectId:this.curProjiect.id||this.pid,
|
|
dev:deviationRangeText
|
|
dev:deviationRangeText
|
|
}).then(()=>{
|
|
}).then(()=>{
|
|
|
|
+ this.formulaStringToArray();
|
|
this.$message({
|
|
this.$message({
|
|
type: "success",
|
|
type: "success",
|
|
message: "修改成功"
|
|
message: "修改成功"
|
|
});
|
|
});
|
|
|
|
+
|
|
})
|
|
})
|
|
}else{
|
|
}else{
|
|
saveFormula({
|
|
saveFormula({
|
|
@@ -1502,13 +1522,15 @@ export default {
|
|
if(res.data.data){
|
|
if(res.data.data){
|
|
this.formulaid = res.data.data;
|
|
this.formulaid = res.data.data;
|
|
}
|
|
}
|
|
|
|
+ this.formulaStringToArray();
|
|
this.$message({
|
|
this.$message({
|
|
type: "success",
|
|
type: "success",
|
|
message: "保存成功"
|
|
message: "保存成功"
|
|
});
|
|
});
|
|
|
|
+
|
|
})
|
|
})
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
},
|
|
},
|
|
|
|
|
|
//把公式文本还原数组
|
|
//把公式文本还原数组
|
|
@@ -1516,6 +1538,15 @@ export default {
|
|
let detail = (await formulaDetail({elementId:this.eleid,scope:this.globaltype,nodeId:this.nodeid,projectId:this.curProjiect.id||this.pid})).data.data;
|
|
let detail = (await formulaDetail({elementId:this.eleid,scope:this.globaltype,nodeId:this.nodeid,projectId:this.curProjiect.id||this.pid})).data.data;
|
|
console.log(detail);
|
|
console.log(detail);
|
|
if(detail&&detail.id){
|
|
if(detail&&detail.id){
|
|
|
|
+ //获取右边元素的字典
|
|
|
|
+ let dictMap=detail.dict
|
|
|
|
+ let dictArr=[]
|
|
|
|
+ //遍历:
|
|
|
|
+ for(let i in dictMap){
|
|
|
|
+ dictArr.push(dictMap[i])
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ this.rightDict=dictArr
|
|
this.formulaid = detail.id;
|
|
this.formulaid = detail.id;
|
|
//let formula = formulaStringToArray('FC.sum(FC.repeat(E[测试测试_222]))+FC.ifelse(3<E[测试测试_333]&&E[测试测试_333]<10,E[测试测试_222]+E[测试测试_333],E[测试测试_333])',detail.map,this.formulaMap);
|
|
//let formula = formulaStringToArray('FC.sum(FC.repeat(E[测试测试_222]))+FC.ifelse(3<E[测试测试_333]&&E[测试测试_333]<10,E[测试测试_222]+E[测试测试_333],E[测试测试_333])',detail.map,this.formulaMap);
|
|
let formula = formulaStringToArray(detail.formula,detail.map,this.formulaMap);
|
|
let formula = formulaStringToArray(detail.formula,detail.map,this.formulaMap);
|