|
@@ -651,7 +651,8 @@ export default {
|
|
|
rootNodeData: [],
|
|
|
nodeZero: null,
|
|
|
resolveZero: null,
|
|
|
- loading: false
|
|
|
+ loading: false,
|
|
|
+ itemList:[]
|
|
|
|
|
|
|
|
|
};
|
|
@@ -947,64 +948,55 @@ export default {
|
|
|
},
|
|
|
|
|
|
eleChang(value,item){
|
|
|
- console.log(value,'value');
|
|
|
- console.log(item,'item');
|
|
|
if(value){
|
|
|
//简单语法判断
|
|
|
- if(this.selectEleFormula.length != 0 && this.deleEleIndex < 0){
|
|
|
- let lastEle = this.selectEleFormula[this.selectEleFormula.length-1];
|
|
|
- if(lastEle.type == 'Element'){
|
|
|
- // this.$message({
|
|
|
- // type: "warning",
|
|
|
- // message: "元素无法连续出现在元素后面"
|
|
|
- // });
|
|
|
- // item.checked = false;
|
|
|
- // return;
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
- if(lastEle.type == 'Text'){
|
|
|
- this.$message({
|
|
|
- type: "warning",
|
|
|
- message: "元素无法连续出现在输入值后面"
|
|
|
- });
|
|
|
- item.checked = false;
|
|
|
- return;
|
|
|
- }
|
|
|
- if(lastEle.type == 'Brackets' && lastEle.name == ')'){
|
|
|
- this.$message({
|
|
|
- type: "warning",
|
|
|
- message: "元素无法连续出现在右括号后面"
|
|
|
- });
|
|
|
- item.checked = false;
|
|
|
- return;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- this.eleAddFormulaHandle(item);
|
|
|
+ this.itemList.push(item);
|
|
|
+ if(this.itemList.length != 0 && this.deleEleIndex < 0){
|
|
|
+ let lastEle = this.itemList[this.itemList.length-1];
|
|
|
+ if(lastEle.type == 'Text'){
|
|
|
+ this.$message({
|
|
|
+ type: "warning",
|
|
|
+ message: "元素无法连续出现在输入值后面"
|
|
|
+ });
|
|
|
+ item.checked = false;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(lastEle.type == 'Brackets' && lastEle.name == ')'){
|
|
|
+ this.$message({
|
|
|
+ type: "warning",
|
|
|
+ message: "元素无法连续出现在右括号后面"
|
|
|
+ });
|
|
|
+ item.checked = false;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
}else{
|
|
|
- let index = -1;
|
|
|
- for (let i = 0; i < this.selectEleFormula.length; i++) {
|
|
|
- if(this.selectEleFormula[i].id == item.id){
|
|
|
- index = i;
|
|
|
- break;
|
|
|
+ let index = -1;
|
|
|
+ for (let i = 0; i < this.itemList.length; i++) {
|
|
|
+ if(this.itemList[i].id == item.id){
|
|
|
+ index = i;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(index>-1){
|
|
|
+ this.itemList.splice(index,1);
|
|
|
}
|
|
|
- }
|
|
|
- if(index>-1){
|
|
|
- this.selectEleFormula.splice(index,1);
|
|
|
- }
|
|
|
}
|
|
|
},
|
|
|
//快捷添加运算符号
|
|
|
addOperator(operator){
|
|
|
- console.log('点击加号');
|
|
|
- console.log(this.selectEleFormula,'this.selectEleFormula11111111');
|
|
|
- this.eleAddFormulaHandle(this.formulaMap[operator]);
|
|
|
+ if (this.itemList.length <= 0) {
|
|
|
+ this.eleAddFormulaHandle(this.formulaMap[operator]);
|
|
|
+ }
|
|
|
+ this.itemList.forEach(e => {
|
|
|
+ this.eleAddFormulaHandle(this.formulaMap[operator]);
|
|
|
+ this.eleAddFormulaHandle(e);
|
|
|
+ })
|
|
|
+ this.itemList=[]
|
|
|
},
|
|
|
|
|
|
//把元素加到公式里
|
|
|
eleAddFormulaHandle(ele){
|
|
|
- console.log(ele,'ele.tableElementKey');
|
|
|
if(ele.tableElementKey){
|
|
|
//元素
|
|
|
if(this.deleEleIndex > -1 && this.selectEleFormula.length-1 >= this.deleEleIndex){
|