|
@@ -67,13 +67,6 @@ import OptionInp from '../common/OptionInp.vue';
|
|
|
}else{
|
|
|
data[index].select = 1;
|
|
|
this.exclusion = it.exclusion;
|
|
|
- // 填写后取消 再次选中 要获取输入框的值
|
|
|
- if(data[index].name.indexOf("${") != -1){
|
|
|
- console.log("该选项有输入框",data[index])
|
|
|
- if(data[index].value){
|
|
|
- this.inpVal(data[index].value,index);
|
|
|
- }
|
|
|
- }
|
|
|
}
|
|
|
// 处理取消-互斥
|
|
|
const filArr1 = data.filter(it=>it.select==1);
|
|
@@ -87,18 +80,33 @@ import OptionInp from '../common/OptionInp.vue';
|
|
|
let value = "";
|
|
|
for(let k in data){
|
|
|
if(data[k].select==1){
|
|
|
- value += data[k].name + ','
|
|
|
+ // 选中该项时,带的输入框内有值则加上
|
|
|
+ if(data[k].value){
|
|
|
+ let newVal = '#{' + data[k].value + '}';
|
|
|
+ let str = data[k].name.replace(patt,newVal);
|
|
|
+ value += str + ','
|
|
|
+ }else{
|
|
|
+ value += data[k].name + ','
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
- const newData = Object.assign({},this.datas,{questionDetailList:data},{value:value?value.substring(0,value.length-1):''})
|
|
|
+ const newData = Object.assign({},this.datas,{questionDetailList:data},{value:value?value.substring(0,value.length-1):''});
|
|
|
this.$emit("updata",newData);
|
|
|
},
|
|
|
inpVal(val,index){//输入框失焦处理
|
|
|
let valueStr = this.datas.value;
|
|
|
if(valueStr){
|
|
|
// let patt = /\$\{[^\]]+\}/g;
|
|
|
- let newVal = val;
|
|
|
- const str = valueStr.replace(patt,newVal);
|
|
|
+ let rePatt = /\#\{[^\]]+\}/g;
|
|
|
+ let newVal = '#{' +val+'}';
|
|
|
+ let str = "";
|
|
|
+ // 区分第一次输入还是修改
|
|
|
+ if(valueStr.indexOf("${") !== -1){
|
|
|
+ str = valueStr.replace(patt,newVal);
|
|
|
+ }else{//修改
|
|
|
+ str = valueStr.replace(rePatt,newVal);
|
|
|
+ }
|
|
|
this.datas.value = str;
|
|
|
}
|
|
|
|