Forráskód Böngészése

修改答案bug3307

zhouna 5 éve
szülő
commit
de12777909
2 módosított fájl, 16 hozzáadás és 20 törlés
  1. 7 15
      src/common/Dialog.vue
  2. 9 5
      src/components/MainPage.vue

+ 7 - 15
src/common/Dialog.vue

@@ -23,26 +23,18 @@
 <script>
   import {getNSum} from '@utils/tools';
 export default {
-  props:['item','idx','cancelNum','num','extNum','isLast','cancelTab'],
+  props:['item','idx','cancelNum','num','extNum','isLast','cancelTab'],   //num当前
   data() {
     return {};
   },
   computed:{
     showEdit(){
-      const {cancelNum,idx,num,extNum,cancelTab,isLast}=this;
-      let cancelExt=0,realExt=getNSum(extNum);
-      //const cancelN=extNum.length>0?cancelNum-1:cancelNum;
-      const extArr = [...extNum];
-      //extArr.splice(0,+cancelTab);
-      extArr.length=cancelTab!==-1?+cancelTab:0;
-      cancelExt=getNSum(extArr);
-      const  realCNum = ((cancelExt+1)||1)+cancelNum;   //第一个问题不在计数中,所以+1
-      const realNum = 1+num;
-      const realIdx = ((realExt+1)||1)+idx;
-      //console.log("cancelNum:",cancelNum,"idx:",idx,"num:",num,"extNum:",extNum,"cancelTab:",cancelTab,"isLast:",isLast);
-      //console.log(this.item," realCNum:",realCNum,"realNum:",realNum,"realIdx:",realIdx);
-      if((realCNum<realIdx&&realIdx===realNum-1)||(num===0&&isLast&&cancelNum!==idx)){
-        //console.log('true');
+      const {cancelNum,idx,num,extNum}=this;
+      let realExt=getNSum(extNum);
+      const realIdx = realExt+idx;
+      //console.log("cancelNum:",cancelNum,"idx:",idx,"num:",num,"extNum:",extNum,"realIdx:",realIdx);
+      //if((realCNum<realIdx&&realIdx===realNum-1)||(num===0&&isLast&&cancelNum!==idx)){
+      if(realIdx===num-1&&cancelNum<realIdx){
         return true;
       }
       return false;

+ 9 - 5
src/components/MainPage.vue

@@ -38,16 +38,16 @@
           <span v-if="!canceledSym&&num<1" class="edit" @click="cancelSymptom">修改</span>
         </div>
         <div v-for="(item,idx) in symptomQasList" :key="'0'+idx+item.id" v-if="activeTab">
-          <Dialog :idx="idx" v-if="item.show" :item="item" @cancel="cancelSelected" :num="activeNum" :cancelNum="canceledQa" :extNum ="[]" :cancelTab="cancelTab" :isLast="idx===symptomQasList.length-1"/>
+          <Dialog :idx="idx" v-if="item.show" :item="item" @cancel="cancelSelected" :num="activeNum" :cancelNum="cancelNum" :extNum ="[]"/>
         </div>
         <div v-for="(item,idx) in diagnoseQasList" :key="'1'+idx+item.id" v-if="activeTab==moduleKeys[1]||activeTab==moduleKeys[2]||activeTab==moduleKeys[3]">
-          <Dialog :idx="idx" v-if="item.show" :item="item" @cancel="cancelSelected" :num="activeNum" :extNum ="[symptomQasList.length]" :cancelNum="canceledQa" :cancelTab="cancelTab" :isLast="idx===diagnoseQasList.length-1"/>
+          <Dialog :idx="idx" v-if="item.show" :item="item" @cancel="cancelSelected" :num="activeNum" :extNum ="[symptomQasList.length]" :cancelNum="cancelNum"/>
         </div>
         <div v-for="(item,idx) in othersQasList" :key="'2'+idx+item.id" v-if="activeTab==moduleKeys[2]||activeTab==moduleKeys[3]">
-          <Dialog :idx="idx" v-if="item.show" :item="item" @cancel="cancelSelected" :num="activeNum" :extNum ="[symptomQasList.length,diagnoseQasList.length]" :cancelNum="canceledQa" :cancelTab="cancelTab" :isLast="idx===othersQasList.length-1"/>
+          <Dialog :idx="idx" v-if="item.show" :item="item" @cancel="cancelSelected" :num="activeNum" :extNum ="[symptomQasList.length,diagnoseQasList.length]" :cancelNum="cancelNum"/>
         </div>
         <div v-for="(item,idx) in addContentQasList" :key="'3'+idx+item.id" v-if="activeTab==moduleKeys[3]">
-          <Dialog :idx="idx" v-if="item.show" :item="item" @cancel="cancelSelected" :num="activeNum" :extNum ="[symptomQasList.length,diagnoseQasList.length,othersQasList.length]" :cancelNum="canceledQa" :cancelTab="cancelTab"/>
+          <Dialog :idx="idx" v-if="item.show" :item="item" @cancel="cancelSelected" :num="activeNum" :extNum ="[symptomQasList.length,diagnoseQasList.length,othersQasList.length]" :cancelNum="cancelNum"/>
         </div>
       </div>
     </div>
@@ -118,7 +118,8 @@ export default {
       activeNum:0,    //当前问题的index,整体顺序
       scroll:null,
       canceledSym:false,    //是否已修改过主症状
-      canceledQa:-1,
+      canceledQa:-1,    //在对应模块的排行
+      cancelNum:-1,     //整体排行
       cancelTab:-1,
       deledUpload:[],  //被删除的上传控件数据(记录用于修改时恢复)
       type :-1,       //当前显示的控件类型
@@ -195,7 +196,10 @@ export default {
         }
         return this[this.moduleMap[i]+'QasList'].length;
       });
+      let numArrCopy=[...numArr];
+      numArrCopy.length=this.cancelTab!==-1?this.cancelTab:0;
       numArr.length=n;
+      this.cancelNum = getNSum(numArrCopy)+this.canceledQa;
       this.activeNum = getNSum(numArr)+this.num;
     }
   },