Pārlūkot izejas kodu

有无组件弹窗

luolei 5 gadi atpakaļ
vecāks
revīzija
5adb640d0e
4 mainītis faili ar 147 papildinājumiem un 5 dzēšanām
  1. 2 2
      config/index.js
  2. 1 1
      src/common/RadioSelect.vue
  3. 142 0
      src/common/SymptomLis.vue
  4. 2 2
      src/utils/tools.js

+ 2 - 2
config/index.js

@@ -3,9 +3,9 @@
 // see http://vuejs-templates.github.io/webpack for documentation.
 
 const path = require('path')
-const proxy_path = 'http://192.168.2.236:80';
+// const proxy_path = 'http://192.168.2.236:80';
 // const proxy_path = 'http://192.168.2.236:5050';
-// const proxy_path = 'http://192.168.2.241:5050';
+const proxy_path = 'http://192.168.2.241:5050';
 
 module.exports = {
   dev: {

+ 1 - 1
src/common/RadioSelect.vue

@@ -49,7 +49,7 @@ import SymptomLis from '../common/SymptomLis.vue';
     created(){
       // this.datas = JSON.parse(JSON.stringify(this.item));
       this.datas = this.item;
-      console.log(this.item)
+      // console.log(this.item)
     },
     mounted(){
       this.setStr(this.datas&&this.datas.questionDetailList)

+ 142 - 0
src/common/SymptomLis.vue

@@ -0,0 +1,142 @@
+<template>
+    <portal to="notification-outlet">
+      <div class="toast-wrap" v-if="show">
+            <div class="content">
+              <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}}
+                </div>
+              </div>
+              <div class="makeSure" @click="makeSure">确定</div>
+            </div>
+            <div class="mask" @click="handleClose"></div>
+      </div>
+    </portal>
+</template>
+<script type="text/javascript">
+import BScroll from 'better-scroll';
+import {setScroll} from '@utils/tools.js';
+
+/**
+  提示性弹窗组件
+  接收参数:
+    show-布尔值,是否显示弹窗;
+    data-对象,包含title和text;
+    @close-关闭弹窗的方法(点击关闭按钮或者遮罩都关闭弹窗)
+**/
+  export default {
+    name:'SymptomLis',
+    props:{
+      show:{
+        default:false,
+        type:Boolean
+      },
+      flg:{
+        default:'',
+        type:String|Number
+      },
+      data:{
+        default:[],
+        type:Array
+      },
+    },
+    data(){
+      return {
+        selectLis:this.data
+      }
+    },
+    methods:{
+      handleClose(){
+        this.$emit("close")
+      },
+      makeSure(){
+        this.$emit("makeSure",this.selectLis)
+      },
+      select(idx){
+        let tmpArr = JSON.parse(JSON.stringify(this.selectLis));
+        for(let i = 0;i < tmpArr.length;i++){
+          if(i == idx){
+            if(tmpArr[i].select==1){
+              tmpArr[i].select = 0
+            }else{
+              tmpArr[i].select = 1
+            }
+            tmpArr[i].flg = this.flg
+          }
+        }
+        this.selectLis = tmpArr
+      }
+    },
+  }
+</script>
+<style lang="less" scoped>
+  @import '../less/base.less';
+  .toast-wrap{
+    .content{
+      width: 90%;
+      background: #fff;
+      z-index: 999;
+      position: fixed;
+      top:50%;
+      left: 50%;
+      transform: translate(-50%,-50%);
+      box-sizing: border-box;
+      border-radius: .20rem;
+      z-index: 1000;
+      padding-top: .6rem;
+      .contents {
+        height: 5rem;
+        padding: 0 0.2rem 0 0.27rem;
+        overflow: auto;
+      }
+      .tit{
+        font-family:PingFangSC;
+        color:#333333;
+        font-size: .32rem;
+        text-align: center;
+        font-weight: 700;
+      }
+      .text{
+        // color:#colors[quest];
+        font-size: .3rem;
+        display: inline-block;
+        min-width: 1.9rem;
+        height: 0.74rem;
+        line-height: 0.74rem;
+        border: 1px solid #DFE0E4;
+        border-radius: 0.08rem;
+        text-align: center;
+        color: #7C828E;
+        margin: 0 0.18rem 0.3rem 0;
+        padding: 0 0.05rem;
+        -webkit-box-sizing: border-box;
+        box-sizing: border-box;
+        float: left;
+      }
+      .select{
+        color: #4F50FF;
+        border-color: #4F50FF;
+      }
+      .close{
+        width:1rem;
+        position: absolute;
+        bottom: -1.5rem;
+        left: 50%;
+        margin-left: -.5rem;
+      }
+    }
+    .makeSure {
+      height: .9rem;
+      line-height: .9rem;
+      text-align: center;
+      color: #4F50FF;
+      font-size: .32rem;
+      margin-top: .2rem;
+      border-top: 1px solid #E6E6E6;
+    }
+    .mask{
+      .mask;
+      z-index: 999;
+    }
+  }
+</style>

+ 2 - 2
src/utils/tools.js

@@ -245,7 +245,7 @@ function fixedKeyboard() {
           activeElement.scrollIntoView(true);
           let top = $('.main').scrollTop();
           let tops = $('.detailBoxMain').css("transform").replace(/[^0-9\-,]/g,'').split(',')[5];
-          console.log(tops,4444)
+          // console.log(tops,4444)
           $('.main').scrollTop(top-30); //预留题目位置
           $('.detailBoxMain').css({"transform":'translate(0px, -'+tops+'"30") scale(1) translateZ("0px")'}); // translate(0px, -47px) scale(1) translateZ(0px);
 
@@ -299,7 +299,7 @@ function concatVal(data,flg){
       valN += tmpStrNo[k].name.replace(patt,'') + ',';
       valPN += (tmpStrNo[k].description || tmpStrNo[k].name).replace(patt,'') + ',';
     }
-    console.log(valN)
+    // console.log(valN)
     value = ((valH!='')?('有:'+valH):'')+((valN!='')?('无:'+valN):'');
     valueP = ((valPH!='')?('有:'+valPH):'')+((valPN!='')?('无:'+valPN):'');
   }else{