Преглед на файлове

修改时删除关联3306

zhouna преди 5 години
родител
ревизия
8645891a3b
променени са 4 файла, в които са добавени 21 реда и са изтрити 9 реда
  1. 1 1
      src/common/Dialog.vue
  2. 3 2
      src/common/Radio.vue
  3. 3 2
      src/common/Select.vue
  4. 14 4
      src/components/MainPage.vue

+ 1 - 1
src/common/Dialog.vue

@@ -100,7 +100,7 @@ export default {
     margin-right: .24rem;
   }
   .content {
-    max-width: 5rem;
+    max-width: 4rem;
     background-color: #colors[theme];
     border-radius: 0.24rem 0 0.24rem 0.24rem;
     margin-top: 0.3rem;

+ 3 - 2
src/common/Radio.vue

@@ -98,9 +98,10 @@ export default {
           const msgp = getExpStr(textp);
           if(result[i].select){
             const subQ=result[i].subQuestion;
+            const subQs=subQ.split(",");
             if(subQ){
-              await this.getExtQa(subQ.split(",")).then((res)=>{
-                this.$emit("getExtQa",res.data.data,this.num);
+              await this.getExtQa(subQs).then((res)=>{
+                this.$emit("getExtQa",res.data.data,this.num,subQs.length);
               });
             }
             if(result[i].name.indexOf("${")!==-1){

+ 3 - 2
src/common/Select.vue

@@ -117,9 +117,10 @@ export default {
           }
         }
         subQas=subQas.replace(/^,|,$/g,'').replace(/,+/g,',');
+        const subQs=subQas.split(",");
         if(subQas){
-          await this.getExtQa(subQas.split(",")).then((res)=>{
-            this.$emit("getExtQa",res.data.data,this.num);
+          await this.getExtQa(subQs).then((res)=>{
+            this.$emit("getExtQa",res.data.data,this.num,subQs.length);
           });
         }
         //tmpIds=tmpIds.concat(staticArr)

+ 14 - 4
src/components/MainPage.vue

@@ -268,6 +268,7 @@ export default {
         tmpPreItem = tmpArr[this.num-1];
         this.num=this.num-1;
       }
+      this.delExtQa(tmpPreItem,this.num);     //修改时已关联的问题先删除
       +tmpPreItem.controlType===5?'':tmpPreItem.content='';
       this.symptomResult = tmpPreItem;
       const timer = setTimeout(()=>{
@@ -276,20 +277,29 @@ export default {
       });
       this.canceledQa=this.num;     //记录被修改过的题目,只可修改一次
     },
-    formatQaArr(obj){
+    formatQaArr(obj,n){
       let arr = [],nobj=JSON.parse(JSON.stringify(obj));
       for(let i in nobj){
-        arr.push(nobj[i]);
+        arr.push(Object.assign({selectedNum:n},nobj[i]));
       }
       return arr;
     },
-    addExtQa(obj,i){
+    addExtQa(obj,i,selectedN){
       const mName=this.moduleMap[this.activeTab];
       let moduleName = mName+'QasList';
-      const dataArr = this.formatQaArr(obj);
+      const dataArr = this.formatQaArr(obj,selectedN);
       this[moduleName].splice(i+1,0,...dataArr);
       this.$store.commit("setModuleDatas",{data:this[moduleName],mName});
     },
+    delExtQa(obj,i){//修改时已关联的问题先删除
+      const mName=this.moduleMap[this.activeTab];
+      let moduleName = mName+'QasList';
+      let n = obj.selectedNum;
+      if(n){
+        this[moduleName].splice(i+1,n);
+      }
+      this.$store.commit("setModuleDatas",{data:this[moduleName],mName});
+    },
     updataResultSingle(result,contentResult,num){
       this.num = num;
       this.type = -1;