Browse Source

bug2561,2556

luolei 5 năm trước cách đây
mục cha
commit
b009863188

+ 2 - 1
src/common/RadioSelect.vue

@@ -4,7 +4,7 @@
     <div class="list" @click="handleClickShow(1)" :class="[{'setColor':!!hasStr}]">
       <p><span>有:</span><i :style="{'color':hasStr?'#6678FF':null}">{{hasStr?hasStr:'点击选择症状'}}</i></p>
     </div>
-    <p class="please pleaseS">为确保诊断准确性,请充分选择您存在的不适症状</p>
+    <p class="please pleaseS">为确保诊断准确性,请充分选择您未表现的不适症状</p>
     <div class="list" @click="handleClickShow(2)" :class="[{'setColor':!!noStr}]">
       <p><span>无:</span><i :style="{'color':noStr?'#6678FF':null}">{{noStr?noStr:'点击选择症状'}}</i></p>
     </div>
@@ -17,6 +17,7 @@
       @makeSure="makeSure"
     ></SymptomLis>
     <Submit v-if="submit" :showType="showType" :fail="failMsg" @showSubmit="showSubmit"></Submit>
+    
     <!-- <p v-for="(it,index) in datas.questionDetailList" :key="it.id" class="check">
       <span>{{it.description||it.name}}</span>
     </p> -->

+ 12 - 2
src/common/SymptomLis.vue

@@ -2,6 +2,7 @@
     <portal to="notification-outlet">
       <div class="toast-wrap" v-if="show">
             <div class="content">
+            <p class="tips">{{flg==1?'存在的不适症状:':'未表现的不适症状:'}}</p>
               <div class="contents">
                 <div v-for="(it,index) in selectLis" :key="it.id" :class="['text', {'select':it.select==1}]" v-if="it.flg==undefined||it.flg==flg" @click="select(index)">
                   {{it.description||it.name}}
@@ -9,6 +10,7 @@
                 <p class="noData" v-if="false">暂无数据</p>
               </div>
               <div class="makeSure" @click="makeSure">确定</div>
+              <img src="../images/icon_close@2x.png"  class="close" @click="handleClose">
             </div>
             <div class="mask" @click="handleClose"></div>
       </div>
@@ -74,6 +76,14 @@ import {setScroll} from '@utils/tools.js';
 <style lang="less" scoped>
   @import '../less/base.less';
   .toast-wrap{
+    .tips {
+      font-size: .28rem;
+      color: #777777;
+      padding-bottom: .5rem;
+      padding-left: .27rem;
+      position: relative;
+      top: -.1rem;
+    }
     .content{
       width: 90%;
       background: #fff;
@@ -120,9 +130,9 @@ import {setScroll} from '@utils/tools.js';
         border-color: #4F50FF;
       }
       .close{
-        width:1rem;
+        width:.72rem;
         position: absolute;
-        bottom: -1.5rem;
+        bottom: -1.2rem;
         left: 50%;
         margin-left: -.5rem;
       }

+ 2 - 2
src/common/Tiptoast.vue

@@ -76,9 +76,9 @@
         font-size: .3rem;
       }
       .close{
-        width:1rem;
+        width:.72rem;
         position: absolute;
-        bottom: -1.5rem;
+        bottom: -1.2rem;
         left: 50%;
         margin-left: -.5rem;
       }

+ 16 - 8
src/components/Detail.vue

@@ -9,7 +9,7 @@
       <span @click="handleClear" :class="{'check':checkF}">清空</span>
       <i>{{tips}}</i>
     </div>
-    <div class="preDetail">
+    <div class="viewPrew">
       <div class="content">
         <div class="preQuestion" v-for="(item,index) in checkDatas.questionMapping">
           <div class="quest" @click="slideToggle(index)">
@@ -98,9 +98,21 @@ import {patt,trimDots,imageUrlPrefix,setScroll} from '@utils/tools.js';
     },
     mounted(){
       this.$nextTick(()=>{
-          let scroll = setScroll(BScroll,true,'.preDetail')
+          let scroll = setScroll(BScroll,true,'.viewPrew')
           this.scroll = scroll
           scroll.on('scroll', this.onScroll)
+          let mapping = this.checkDatas.questionMapping;
+          let num = 0;
+          for(let i in mapping){
+            if(mapping[i].slide != 1){
+              ++num
+            }
+          }
+          if(num == mapping.length){//没有任何展开项
+            this.$emit('setBtnTxt','展开全部')
+          }else{//有已经展开的了,就折叠已展开的
+            this.$emit('setBtnTxt','折叠全部')
+          }
       })
     },
     components:{
@@ -324,7 +336,6 @@ import {patt,trimDots,imageUrlPrefix,setScroll} from '@utils/tools.js';
             }
           }
         }
-
         if(checkArr.length>0){
           return true;
         }
@@ -345,21 +356,18 @@ import {patt,trimDots,imageUrlPrefix,setScroll} from '@utils/tools.js';
 <style lang="less" scoped>
 @import '../less/base.less';
   .detail-wrap{
-    // padding: .3rem .5rem 1.2rem .6rem;
-    padding: 0 0 1.5rem;
     font-size: .3rem;
-    .preDetail {
+    .viewPrew {
       position: absolute;
       width: 100%;
       height: 100%;
       .content {
-        padding-bottom: 4.6rem;
+        padding-bottom: 3.88rem;
       }
     }
     .quest{
       color:#colors[quest];
       position: relative;
-      // margin-bottom: .2rem;
       .pubques;
       .sign {
         display: inline-block;

+ 5 - 23
src/components/DetailBox.vue

@@ -1,7 +1,7 @@
 <template>
   <portal to="notification-detail">
     <div class="detailBoxMask"></div>
-    <div class="detailBox-wrap viewPrew">
+    <div class="detailBox-wrap">
       <div class="content detailBoxMain" ref="detailBox">
         <!-- <div class="tmpDom"></div> -->
         <div class="main">
@@ -35,8 +35,7 @@
   import Detail from './Detail.vue';
   import Toast from '../common/Toast.vue';
   import Picker from '../common/Picker.vue';
-  import {fixedKeyboard,setScroll,moduleCP} from '@utils/tools.js';
-  import BScroll from 'better-scroll';
+  import {fixedKeyboard,moduleCP} from '@utils/tools.js';
   import $ from 'jquery';
   export default {
     name:'DetailBox', //点开详情的盒子
@@ -68,11 +67,6 @@
         if(checkReq && hasCheck){
           this.reqFinish = true;
         }
-        setTimeout(() => {
-          // let scroll = setScroll(BScroll,true,'.viewPrew')
-          // this.scroll = scroll
-          // scroll.on('scroll', this.onScroll)
-        }, 400);
       })
     },
     methods:{
@@ -82,10 +76,6 @@
       slideAll(){
         this.$refs.detail.slideAll();
       },
-      onScroll(data) {
-        this.$store.commit('setScroll', data)
-        document.activeElement.scrollIntoViewIfNeeded(true);        
-      },
       close(){
         // 有必填项但没值则将choose移除 8-19
         // 没点过完成,点关闭时校验是否有必填项--有直接移除
@@ -182,23 +172,22 @@
     height: 1.5rem;
   }
   .detailBox-wrap{
-    width: 100%;
     position: absolute;
+    width: 100%;
+    height: 100%;
     top:1rem;
     bottom: 0;
     left: 0;
     z-index: 666;
     background: #fff;
-    border-radius: .08rem .08rem 0 0;
     font-size: .3rem;
     animation: wave .4s linear;
-    height: 100%;
     overflow: hidden;
     border-radius:.2rem .2rem 0px 0px;
     .main{
       height: 100%;
       width:100%;
-      padding-bottom: 1rem;
+      // padding-bottom: 1rem;
     }
   }
   .foot{
@@ -214,13 +203,6 @@
     }
     animation-delay:.6s;
     animation: foo .4s linear;
-    /* width:100%;
-    height: .88rem;
-    line-height: .88rem;
-    text-align: center;
-    color:#fff;
-    font-size: .32rem;
-    background: linear-gradient(-270deg, #4F4FFF,#4F8BFF); */
   }
   .check{
     color: #1A1A1A;

+ 0 - 1
src/components/DiagTreat.vue

@@ -199,7 +199,6 @@
 @import '../less/base.less';
   .treat-wrap{
     font-size: .3rem;
-    // .btscroll;    
     .quest{
       color: #colors[quest];
       margin-bottom: .36rem;

+ 1 - 1
src/components/Login.vue

@@ -103,8 +103,8 @@ export default {
       this.show = !show;
     },
     blur() {
-      document.activeElement.scrollIntoView({behavior: "smooth"})
       if(MobileDevice.getModels().join(' or ').indexOf('6') == -1){
+        document.activeElement.scrollIntoView({behavior: "smooth"})
         document.activeElement.scrollIntoViewIfNeeded(true);      
         setTimeout(() => {
           document.activeElement.scrollIntoViewIfNeeded(true);

+ 15 - 15
src/components/Symptom.vue

@@ -136,6 +136,21 @@ export default {
       scroll.on('scroll', this.onScroll)
     })
   },
+  watch:{
+    checkText:{//更新推送
+      handler(newVal,oldVal){
+        const sympText = this.getSympText();
+        if(sympText){
+          this.getPush(sympText);
+          this.quesText = "请问您还有其他不适吗?";
+        }else{
+          this.getSympList();
+          this.quesText = "请问您这次哪里最不舒服?";
+        } 
+      },
+      deep:true
+    }
+  },
   methods: {
     slideToggle(){
       let flg = this.slideTxt
@@ -336,21 +351,6 @@ export default {
     Toast,
     Search,
     Tiptoast
-  },
-  watch:{
-    checkText:{//更新推送
-      handler(newVal,oldVal){
-        const sympText = this.getSympText();
-        if(sympText){
-          this.getPush(sympText);
-          this.quesText = "请问您还有其他不适吗?";
-        }else{
-          this.getSympList();
-          this.quesText = "请问您这次哪里最不舒服?";
-        } 
-      },
-      deep:true
-    }
   }
 }
 </script>

+ 1 - 2
src/components/TabPage.vue

@@ -222,7 +222,7 @@ export default {
   padding-bottom: 0.88rem;
   padding-top: 0.82rem;
   .tab {
-    position: fixed;
+    position: absolute;
     top: 0;
     left: 0;
     width: 100%;
@@ -259,7 +259,6 @@ export default {
 }
   .content {
     font-size: 0.3rem;
-    padding: 0.45rem 0 0.45rem 0.3rem;
   }
 }
 </style>

+ 3 - 1
src/less/base.less

@@ -133,13 +133,15 @@
   height: 100%;
   width: 100%;
   left: 0;
+  top: 0;
   padding-left: .3rem;
   padding-right: .3rem;
   z-index: 99;
   box-sizing: border-box;
   .content {
-    padding-bottom: 3rem;
+    padding-bottom: 1.5rem;
     box-sizing: border-box;
+    padding-top:1rem;
   }
 }