|
@@ -185,7 +185,7 @@
|
|
|
<template v-else>
|
|
|
<div class="flex">
|
|
|
<div class="flex flex-d-c">
|
|
|
- <component ref="dynamiccomponent" v-bind:is="componentMap[item.name]" :formulainfo="item" :curele="equationSelectEle" :formulamap="formulaMap" class="flex1"></component>
|
|
|
+ <component ref="dynamiccomponent" v-bind:is="componentMap[item.name]" :formulainfo="item" :curele="equationSelectEle" :formulamap="formulaMap" @uncheck="unCheckEleComp" class="flex1"></component>
|
|
|
<div v-show="item.showSelectEle">
|
|
|
<el-select v-model="eleTableIdComp" @change="getTableEleComp" placeholder="请选择元素表" style="width:100%">
|
|
|
<el-option v-for="item in eleTableListComp" :key="item.id" :label="item.tableName" :value="item.id"></el-option>
|
|
@@ -196,7 +196,7 @@
|
|
|
<el-col :span="6" v-for="item in eleListComp" :key="item.id">
|
|
|
<div class="ele-box">
|
|
|
<span>{{item.eName}}</span>
|
|
|
- <el-checkbox @change="value => setComponentEle(value,item,index)"></el-checkbox>
|
|
|
+ <el-checkbox v-model="item.checked" @change="value => setComponentEle(value,item,index)"></el-checkbox>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -374,6 +374,7 @@ export default {
|
|
|
curSeleEleIndex:-1,//公式文字里面选中的元素索引
|
|
|
inputVisible:false,//输入弹窗
|
|
|
inputText:"",//输入值
|
|
|
+ deleEleIndex:-1,//删除元素的位置,如果下次添加元素,先加到这个位置
|
|
|
|
|
|
resultFormula:[],//=等号左边的数组
|
|
|
processFormula:[],//=等号右边的数组
|
|
@@ -546,7 +547,7 @@ export default {
|
|
|
//console.log(item)
|
|
|
if(value){
|
|
|
//简单语法判断
|
|
|
- if(this.selectEleFormula.length != 0){
|
|
|
+ if(this.selectEleFormula.length != 0 && this.deleEleIndex < 0){
|
|
|
let lastEle = this.selectEleFormula[this.selectEleFormula.length-1];
|
|
|
if(lastEle.type == 'Element'){
|
|
|
this.$message({
|
|
@@ -598,14 +599,29 @@ export default {
|
|
|
eleAddFormulaHandle(ele){
|
|
|
if(ele.tableElementKey){
|
|
|
//元素
|
|
|
- this.selectEleFormula.push({
|
|
|
- type:'Element',
|
|
|
- name:ele.eName,
|
|
|
- id:ele.id,
|
|
|
- selected:false,
|
|
|
- tableElementKey:ele.tableElementKey,
|
|
|
- children:[],
|
|
|
- })
|
|
|
+ if(this.deleEleIndex > -1 && this.selectEleFormula.length-1 >= this.deleEleIndex){
|
|
|
+ //删除元素的位置,如果下次添加元素,先加到这个位置
|
|
|
+ this.selectEleFormula.splice(this.deleEleIndex,0,{
|
|
|
+ type:'Element',
|
|
|
+ name:ele.eName,
|
|
|
+ id:ele.id,
|
|
|
+ selected:false,
|
|
|
+ tableElementKey:ele.tableElementKey,
|
|
|
+ children:[],
|
|
|
+ })
|
|
|
+ this.deleEleIndex = -1;
|
|
|
+ }else{
|
|
|
+ this.selectEleFormula.push({
|
|
|
+ type:'Element',
|
|
|
+ name:ele.eName,
|
|
|
+ id:ele.id,
|
|
|
+ selected:false,
|
|
|
+ tableElementKey:ele.tableElementKey,
|
|
|
+ children:[],
|
|
|
+ })
|
|
|
+ this.deleEleIndex = -1;
|
|
|
+ }
|
|
|
+
|
|
|
}else if(ele.template && ele.example){
|
|
|
|
|
|
//简单语法判断
|
|
@@ -736,11 +752,25 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
|
|
|
+ //取消勾选
|
|
|
+ unCheckEleFormulac(eleId){
|
|
|
+ for (let i = 0; i < this.eleList.length; i++) {
|
|
|
+ if(this.eleList[i].id == eleId){
|
|
|
+ this.eleList[i].checked = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
//删除点选公式中的元素
|
|
|
removeSelect(){
|
|
|
- if(this.curSeleEleIndex > -1){
|
|
|
+ if(this.curSeleEleIndex > -1 && this.curSeleEleIndex <= this.selectEleFormula.length-1){
|
|
|
+ if(this.selectEleFormula[this.curSeleEleIndex].type == 'Element'){
|
|
|
+ //删除元素的位置,如果下次添加元素,先加到这个位置
|
|
|
+ this.deleEleIndex = this.curSeleEleIndex;
|
|
|
+ this.unCheckEleFormulac(this.selectEleFormula[this.curSeleEleIndex].id)
|
|
|
+ }
|
|
|
this.selectEleFormula.splice(this.curSeleEleIndex,1);
|
|
|
- this.curSeleEleIndex = -1;
|
|
|
+ //this.curSeleEleIndex = -1;
|
|
|
}
|
|
|
},
|
|
|
|
|
@@ -783,6 +813,11 @@ export default {
|
|
|
this.processSelectIndex = index;
|
|
|
this.processType = arrName;
|
|
|
item.selected = true;
|
|
|
+
|
|
|
+ if(this.showFunDetail){
|
|
|
+ //切到第一个
|
|
|
+ this.actiFunIndex = '0';
|
|
|
+ }
|
|
|
}else{
|
|
|
this.processType = '';
|
|
|
}
|
|
@@ -815,6 +850,8 @@ export default {
|
|
|
type:"Element",
|
|
|
};
|
|
|
this.equationSelectEle.children.push(obj);
|
|
|
+ //跳转到最新的标签
|
|
|
+ this.actiFunIndex = (this.equationSelectEle.children.length-1).toString();
|
|
|
},
|
|
|
|
|
|
//选择元素
|
|
@@ -1048,6 +1085,16 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
|
|
|
+ //取消方法下面 元素勾选
|
|
|
+ unCheckEleComp(eleId){
|
|
|
+ //console.log(eleId)
|
|
|
+ for (let i = 0; i < this.eleListComp.length; i++) {
|
|
|
+ if(this.eleListComp[i].id == eleId){
|
|
|
+ this.eleListComp[i].checked = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
//手写模式
|
|
|
handwrit(){
|
|
|
try {
|