luolei 5 роки тому
батько
коміт
c9a957848a

+ 5 - 4
src/common/CheckBox.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="check-wrap bgques" v-if="item" :style="getStyle(detail,slide)">
+  <div class="check-wrap bgques clearfix" v-if="item" :style="getStyle(detail,slide)">
       <p v-for="(it,index) in datas.questionDetailList" 
           :key="it.id" 
           :class="['list',{'block':((it.description||it.name).indexOf('${'))!=-1}]" >
@@ -185,11 +185,12 @@ import OptionInp from '../common/OptionInp.vue';
     }
     .list{
       color: #colors[text];
-      margin:0 .1rem .07rem 0;
-      padding: .1rem .1rem .1rem 0;
+      margin:0 .05rem;
+      padding: .05rem;
       display: inline-block;
       white-space: nowrap;
-      overflow-x: hidden;
+      // overflow-x: hidden;
+      float: left;
       img{
         width: .38rem;
         vertical-align: middle;

+ 2 - 0
src/common/ComTextArea.vue

@@ -86,6 +86,8 @@ export default {
 @import '../less/base.less';
   .comArea {
     .bgques;
+    padding-top: 0;
+    padding-bottom: 0;
     textarea {
       color: #4F50FF;
       resize: none;

+ 1 - 1
src/common/MultiLineInput.vue

@@ -1,5 +1,5 @@
 <template>
-  <div :style="{'margin-bottom':isLast?'0':'.3rem'}" :class="['multipIpt',{'border':border,'inline':inline,'check':select}]">
+  <div :style="{'margin-bottom':isLast?'0':'.2rem'}" :class="['multipIpt',{'border':border,'inline':inline,'check':select}]">
     <span class="prefix" v-if="content.prefix">{{content.prefix}}</span>
     <div class="sticP" :style="{paddingRight:content.suffix?'1rem':'0'}">
         <div class="iptWrap">

+ 4 - 2
src/common/OptionInp.vue

@@ -97,6 +97,7 @@ import $ from 'jquery';
     vertical-align: middle;
     height: .42rem;
     line-height: .42rem;
+    margin-bottom:.08rem;
     .prefix,.suffix{
       display: inline-block;
       vertical-align: middle;
@@ -112,14 +113,15 @@ import $ from 'jquery';
       height: .42rem;
       color: #4F50FF;
       font-size: .3rem;
-      border-bottom: 1px solid #DFE0E4 !important;
+      border-bottom: 1px solid #CCCCCC !important;
       border-radius: 0;
       padding-left: .05rem;
       background-color: transparent;
       height: 0.38rem;
       line-height: 0.38rem;
       position: relative;
-      top: 2px;
+      top: 1px;
+      box-sizing: border-box;
     }
     .check{//选中
       color: #colors[theme];

+ 10 - 9
src/common/Radio.vue

@@ -1,17 +1,17 @@
 <template>
-  <div v-if="item" class="radio-wrap bgques" :style="getStyle(detail,slide)">
+  <div v-if="item" class="radio-wrap bgques clearfix" :style="getStyle(detail,slide)">
     <!-- <p v-for="(it,index) in datas.questionDetailList" :key="it.id" class="list" @click="handleClick(it,index,true)"> -->
-    <p v-for="(it,index) in datas.questionDetailList" :key="it.id" :class="['list',{'block':((it.description||it.name).indexOf('${'))!=-1}]">
+    <div v-for="(it,index) in datas.questionDetailList" :key="it.id" :class="['list',{'block':((it.description||it.name).indexOf('${'))!=-1}]">
       <!-- <img :src="it.select==1?check:defaultPic"> -->
       <span v-if="((it.description||it.name).indexOf('${'))==-1" :class="['radioCheck',{'check':it.select==1}]" @click="handleClick(it,index,true)">{{it.description||it.name}}</span>
       <OptionInp v-else :item="it" @handleInp="inpVal($event,index)" @handleSelec="handleClick(it,index,false,true)"/>
-    </p>
+    </div>
   </div>
 </template>
 <script type="text/javascript">
-import icon from '../images/radio-default.png'
-import checkIcon from '../images/radio-check.png'
-import {patt,imageUrlPrefix,concatVal} from '@utils/tools.js'
+import icon from '../images/radio-default.png';
+import checkIcon from '../images/radio-check.png';
+import {patt,imageUrlPrefix,concatVal} from '@utils/tools.js';
 import MultiLineInput from '../common/MultiLineInput.vue';
 import OptionInp from '../common/OptionInp.vue';
   export default{
@@ -122,11 +122,12 @@ import OptionInp from '../common/OptionInp.vue';
     }
     .list{
       color: #colors[text];
-      margin:0 .1rem .07rem 0;
-      padding: .1rem .1rem .1rem 0;
+      margin:0 .05rem;
+      padding: .05rem;
       display: inline-block;
       white-space: nowrap;
-      overflow-x: hidden;
+      // overflow-x: hidden;
+      float: left;
       // -webkit-white-space: nowrap;
       // -webkit-box-orient: vertical;
       img{

+ 10 - 2
src/components/Detail.vue

@@ -85,7 +85,7 @@ import ComTextArea from '../common/ComTextArea.vue';
 import RadioSelect from '../common/RadioSelect.vue';
 import MultiLineInput from '../common/MultiLineInput.vue';
 import PickTime from '../common/PickTime.vue';
-import {patt,trimDots,imageUrlPrefix,setScroll} from '@utils/tools.js';
+import {patt,trimDots,imageUrlPrefix,setScroll,configer} from '@utils/tools.js';
 import $ from 'jquery';
 // 将获取到的数据源转换成私有数据,处理选择事件。点击完成后统一存到store中,便于回读
   export default {
@@ -103,6 +103,14 @@ import $ from 'jquery';
     props:['datas','data','checkF','tips','sex','flags'],
     created(){
       let tmpData = JSON.parse(JSON.stringify(this.datas));
+      if(tmpData.questionMapping&&tmpData.questionMapping.length>0){
+        for(let i = 0;i < tmpData.questionMapping.length;i++){
+          let tmpMap = tmpData.questionMapping[i]
+          if(configer.slide){
+            tmpMap.slide = 1
+          }
+        }
+      }
       this.checkDatas = tmpData
     },
     mounted(){
@@ -418,7 +426,7 @@ import $ from 'jquery';
         display: inline-block;
         position: absolute;
         left: 0.22rem;
-        top: 0.55rem;
+        top: 0.38rem;
         width: 0.14rem;
         height: .14rem;
         border-radius: 50%;

+ 6 - 6
src/components/DetailBox.vue

@@ -99,15 +99,15 @@
         $(".foot").css({'display':'block'})
         if(type == moduleCP['symp'] && !select){//只处理主诉症状
           const list = this.privateData.questionMapping;
-          if(list){
-            for(let i in list){
+          // if(list){
+            // for(let i in list){
               // if(list[i].required==1 && !list[i].value){
-              if(list[i].required==1){
+              // if(list[i].required==1){
                 // this.$store.commit('delChoose', {id: this.privateData.id })
                 // this.$store.commit('delText', { type: moduleCP['symp'], pId: this.privateData.id })
-              }
-            }
-          }
+              // }
+            // }
+          // }
         }
         this.$store.commit('setDetail',{detail:{}})
       },

+ 0 - 1
src/components/Symptom.vue

@@ -285,7 +285,6 @@ export default {
               let signNum = 1;//第一个打标的,保存为伴随
               for(let i = 0;i < mapping.length;i++){
                 let tmpMap = mapping[i]
-                tmpMap.slide = 1
                 if(tmpMap.flag == 3 && signNum == 1){
                   ++signNum
                   for(let j = 0;j < tmpMap.questionDetailList.length;j++){

+ 2 - 2
src/less/base.less

@@ -158,13 +158,13 @@
   background-color: #colors[quest];
 }
 .bgques {//问题内容
-  padding: .24rem .3rem .2rem .3rem;
+  padding: .12rem .3rem .12rem .3rem;
   // display: none;
 }
 .pubques {//问题题目
   font-size: .32rem;
   // font-weight: 800;
-  padding: .4rem 0.5rem .4rem .3rem;
+  padding: .24rem 0.5rem .24rem .3rem;
   word-break: break-all;
   background-color: #fff;
   box-shadow:0px 2px 8px 0px rgba(0,0,0,0.07);

+ 6 - 1
src/utils/tools.js

@@ -5,6 +5,10 @@ const $ = require('jquery');
 const imageUrlPrefix = 'http://192.168.2.241:82' //后台图片地址
 // const imageUrlPrefix = 'http://192.168.2.236:82' //后台图片地址
 
+const configer = {
+  slide:true,//默认展开
+}
+
 const getUrlArgObject = (parm) => {
     let query = window.location.search;
     let args = qs.parse(query.substr(1));
@@ -405,7 +409,8 @@ module.exports =  {
   dateParser,
   name,
   isQQ,
-  getNum
+  getNum,
+  configer
 }