|
@@ -159,7 +159,7 @@
|
|
</el-row>
|
|
</el-row>
|
|
<div class="text-align-c">
|
|
<div class="text-align-c">
|
|
<el-button size="small" @click="operationHandle" type="primary">保存</el-button>
|
|
<el-button size="small" @click="operationHandle" type="primary">保存</el-button>
|
|
- <el-button size="small" @click="operationVisible = false">取消</el-button>
|
|
|
|
|
|
+ <el-button size="small" @click="canceloperationVisible ">取消</el-button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -507,7 +507,7 @@ export default {
|
|
formulaList:{},
|
|
formulaList:{},
|
|
formulaMap:{},
|
|
formulaMap:{},
|
|
activeIndex: "1-1", //当前选择的公式
|
|
activeIndex: "1-1", //当前选择的公式
|
|
-
|
|
|
|
|
|
+ itemList:[],
|
|
projectList: [], //项目备选列表
|
|
projectList: [], //项目备选列表
|
|
projectId: "", //溯源的项目ID
|
|
projectId: "", //溯源的项目ID
|
|
curProjiect: {}, //当前项目对象
|
|
curProjiect: {}, //当前项目对象
|
|
@@ -743,59 +743,130 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
|
|
|
|
+ // eleChang(value,item){
|
|
|
|
+ // //console.log(value)
|
|
|
|
+ // //console.log(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);
|
|
|
|
+ // }else{
|
|
|
|
+ // let index = -1;
|
|
|
|
+ // for (let i = 0; i < this.selectEleFormula.length; i++) {
|
|
|
|
+ // if(this.selectEleFormula[i].id == item.id){
|
|
|
|
+ // index = i;
|
|
|
|
+ // break;
|
|
|
|
+ // }
|
|
|
|
+ // }
|
|
|
|
+ // if(index>-1){
|
|
|
|
+ // this.selectEleFormula.splice(index,1);
|
|
|
|
+ // }
|
|
|
|
+ // }
|
|
|
|
+ // },
|
|
eleChang(value,item){
|
|
eleChang(value,item){
|
|
- //console.log(value)
|
|
|
|
- //console.log(item)
|
|
|
|
if(value){
|
|
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;
|
|
|
|
- }
|
|
|
|
|
|
+ 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;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ let lastEle = this.selectEleFormula[this.selectEleFormula.length-1];
|
|
|
|
+ if(this.selectEleFormula.length == 0 || lastEle.type == 'Operator' || lastEle.type == 'Brackets' || lastEle.name == '('){ /* 存在运算符 */
|
|
|
|
+ this.eleAddFormulaHandle(item);
|
|
|
|
+ } else {
|
|
|
|
+ this.itemList.push(item);
|
|
}
|
|
}
|
|
|
|
|
|
- this.eleAddFormulaHandle(item);
|
|
|
|
}else{
|
|
}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){
|
|
|
|
+ // this.eleAddFormulaHandle(this.formulaMap[operator]);
|
|
|
|
+ // },
|
|
addOperator(operator){
|
|
addOperator(operator){
|
|
- this.eleAddFormulaHandle(this.formulaMap[operator]);
|
|
|
|
- },
|
|
|
|
|
|
+ if( this.itemList.length>0){
|
|
|
|
+ this.itemList.forEach(e => {
|
|
|
|
+ let lastEle = this.selectEleFormula[this.selectEleFormula.length-1];
|
|
|
|
+ if(this.selectEleFormula.length != 0 && lastEle.type != 'Operator' && lastEle.type != 'Brackets' && lastEle.name != '('){ /* 不存在运算符 */
|
|
|
|
+ this.eleAddFormulaHandle(this.formulaMap[operator]);
|
|
|
|
+ }
|
|
|
|
+ this.eleAddFormulaHandle(e);
|
|
|
|
+ })
|
|
|
|
+ }else{
|
|
|
|
|
|
|
|
+ if(this.curSeleEleIndex===-1 || this.curSeleEleIndex === this.selectEleFormula.length - 1){ /* 没选择值或者选择最后一个的时候直接添加符号 */
|
|
|
|
+ this.eleAddFormulaHandle(this.formulaMap[operator]);
|
|
|
|
+ }else{ /* 选择中间的值,如果下一个是符号这替换,反之则在指定的位置添加 */
|
|
|
|
+ this.randomaddOperator(this.formulaMap[operator])
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ this.itemList=[];
|
|
|
|
+ },
|
|
|
|
+ canceloperationVisible(){
|
|
|
|
+ this.operationVisible=false;
|
|
|
|
+ this.allTreeShow=false;
|
|
|
|
+ this.filterText=''
|
|
|
|
+ this.treeId=''
|
|
|
|
+ this.itemList=[];
|
|
|
|
+ this.eleList.forEach((ele)=>{
|
|
|
|
+ this.$set(ele,'checked',false);
|
|
|
|
+ //ele.checked = false;
|
|
|
|
+ })
|
|
|
|
+ console.log('取消');
|
|
|
|
+ },
|
|
//把元素加到公式里
|
|
//把元素加到公式里
|
|
eleAddFormulaHandle(ele){
|
|
eleAddFormulaHandle(ele){
|
|
if(ele.tableElementKey){
|
|
if(ele.tableElementKey){
|