Bladeren bron

有无组件修改

luolei 5 jaren geleden
bovenliggende
commit
b40f5233bd
6 gewijzigde bestanden met toevoegingen van 113 en 24 verwijderingen
  1. 1 1
      build/webpack.dev.conf.js
  2. 2 2
      config/index.js
  3. 93 11
      src/common/RadioSelect.vue
  4. 1 1
      src/components/AddContent.vue
  5. 2 2
      src/components/Login.vue
  6. 14 7
      src/utils/tools.js

+ 1 - 1
build/webpack.dev.conf.js

@@ -34,7 +34,7 @@ const devWebpackConfig = merge(baseWebpackConfig, {
     compress: true,
     // host: HOST || config.dev.host,
     // host: '192.168.3.6',
-    host: '192.168.1.102',
+    host: '192.168.162.1',
     port: PORT || config.dev.port,
     open: config.dev.autoOpenBrowser,
     overlay: config.dev.errorOverlay

+ 2 - 2
config/index.js

@@ -3,8 +3,8 @@
 // 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:5050';
+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';
 
 module.exports = {

+ 93 - 11
src/common/RadioSelect.vue

@@ -1,18 +1,35 @@
 <template>
   <div class="radio-wrap radioSelect" v-if="item">
-    <p v-for="(it,index) in datas.questionDetailList" :key="it.id" class="list">
+    <p class="please">请尽量选择其他不适症状</p>
+    <div class="list" @click="handleClickShow(1)" :class="[{'setColor':!!hasStr}]">
+      <span>有:<i>{{hasStr?hasStr:'点击选择症状'}}</i></span>
+    </div>
+    <div class="list" @click="handleClickShow(2)" :class="[{'setColor':!!noStr}]">
+      <span>无:<i>{{noStr?noStr:'点击选择症状'}}</i></span>
+    </div>
+    <SymptomLis 
+      v-if="show"
+      :data="SymptomLis" 
+      :show="show" 
+      :flg="flg" 
+      @close="close"
+      @makeSure="makeSure"
+    ></SymptomLis>
+    <!-- <p v-for="(it,index) in datas.questionDetailList" :key="it.id" class="check">
+      <span>{{it.description||it.name}}</span>
+    </p> -->
+    <!-- <p v-for="(it,index) in datas.questionDetailList" :key="it.id" class="list">
       <img @click="handleClick(it,index,true,1)" :src="it.select==1?check:defaultPic"> <i @click="handleClick(it,index,true,1)">有</i>&nbsp;&nbsp;&nbsp;&nbsp;
       <img @click="handleClick(it,index,true,2)" :src="it.select==2?check:defaultPic"> <i @click="handleClick(it,index,true,2)">无</i>
       <span v-if="((it.description||it.name).indexOf('${'))==-1" :class="{'check':it.select==1||it.select==2}">{{it.description||it.name}}</span>
-    </p>
+    </p> -->
   </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 MultiLineInput from '../common/MultiLineInput.vue';
-import OptionInp from '../common/OptionInp.vue';
+import SymptomLis from '../common/SymptomLis.vue';
   export default{
     name:'RadioSelect',
     data(){
@@ -21,24 +38,79 @@ import OptionInp from '../common/OptionInp.vue';
         check:checkIcon,
         datas:{},
         imgUrl:imageUrlPrefix,
+        show:false,
+        SymptomLis:[],
+        flg:'', //是有还是无
+        noStr:'',
+        hasStr:''
       }
     },
     props:['item'],
     created(){
       // this.datas = JSON.parse(JSON.stringify(this.item));
       this.datas = this.item;
+      console.log(this.item)
+    },
+    mounted(){
+      this.setStr(this.datas&&this.datas.questionDetailList)
     },
     methods:{
+      setStr(lis){
+        let noTmp = '',hasTmp = '';
+        for(let i = 0;i < lis.length;i++){
+          if(lis[i].flg == 1&&lis[i].select){
+            hasTmp += (lis[i].description||lis[i].name)+','
+          }else if(lis[i].flg == 2&&lis[i].select){
+            noTmp += (lis[i].description||lis[i].name)+','
+          }
+        }
+        noTmp = noTmp.slice(0,noTmp.length-1)
+        hasTmp = hasTmp.slice(0,hasTmp.length-1)
+        this.noStr = noTmp
+        this.hasStr = hasTmp
+
+      },
+      makeSure(lis){
+        this.show = false;
+        this.SymptomLis=lis
+        this.datas.questionDetailList = lis
+        // let noTmp = '',hasTmp = '';
+        // for(let i = 0;i < lis.length;i++){
+        //   if(lis[i].flg == 1&&lis[i].select){
+        //     hasTmp += (lis[i].description||lis[i].name)+','
+        //   }else if(lis[i].flg == 2&&lis[i].select){
+        //     noTmp += (lis[i].description||lis[i].name)+','
+        //   }
+        // }
+        // noTmp = noTmp.slice(0,noTmp.length-1)
+        // hasTmp = hasTmp.slice(0,hasTmp.length-1)
+        // this.noStr = noTmp
+        // this.hasStr = hasTmp
+
+        this.setStr(lis)
+        
+        let temp = concatVal(lis,true);
+        const newData = Object.assign({},this.datas,{questionDetailList:lis,value:temp.value,valueP:temp.valueP});
+        this.$emit("updata",newData);
+      },
+      handleClickShow(idx){
+        this.flg = idx
+        this.show = true
+        this.SymptomLis = this.datas&&this.datas.questionDetailList
+      },
+      close(){
+        this.show = false
+      },
       handleClick(it,index,flg,isHas){
         if(flg){
-          document.activeElement.blur();      
+          document.activeElement.blur();
           document.activeElement.scrollIntoViewIfNeeded(true);
           setTimeout(()=>{
             document.activeElement.scrollIntoViewIfNeeded(true);
           },300)
         }
         const list = this.datas;
-        let data = list.questionDetailList&&list.questionDetailList.slice(0); //数组深拷贝?
+        let data = list.questionDetailList&&list.questionDetailList.slice(0); //数组深拷贝
         for(let i=0;i<data.length; i++){
         //   data[i].select = 0
           if(i==index){
@@ -48,7 +120,7 @@ import OptionInp from '../common/OptionInp.vue';
         }
         let temp = concatVal(data,true);
 
-        const newData = Object.assign({},this.datas,{questionDetailList:data,value:temp.value,valueP:temp.valueP})
+        const newData = Object.assign({},this.datas,{questionDetailList:data,value:temp.value,valueP:temp.valueP});
         this.$emit("updata",newData);
       },
       inpVal(val,index){//输入框失焦处理  
@@ -76,25 +148,30 @@ import OptionInp from '../common/OptionInp.vue';
       }
     },
     components:{
-      MultiLineInput,
-      OptionInp
+      SymptomLis
     }
   }
 </script>
 <style lang="less" scoped>
 @import '../less/base.less';
   .radio-wrap{
+    .setColor {
+      color: #4F50FF!important;
+    }
     img{
       width:100%;
     }
     .list{
       color: #colors[text];
-      margin:0 .1rem .1rem 0;
+      margin:0 .1rem .2rem 0;
       padding: .12rem .1rem;
+      background-color: #f5f5f5;
       white-space: nowrap;
       -webkit-white-space: nowrap;
+      height: .44rem;
+      border-radius: 5px;
       span {
-          margin-left:1.2rem;
+          margin-left:.2rem;
       }
       img{
         width: .38rem;
@@ -104,5 +181,10 @@ import OptionInp from '../common/OptionInp.vue';
         color: #colors[theme];
       }
     }
+    .please {
+      padding-bottom: .15rem;
+      font-size: 12px;
+      color: #777777;
+    }
   }
 </style>

+ 1 - 1
src/components/AddContent.vue

@@ -159,7 +159,7 @@ export default {
   .content {
     // padding-right: .3rem;
   }
-  // .btscroll;  
+  // .btscroll;
   h3 {
     color: #colors[quest];
     margin-bottom: 0.36rem;

+ 2 - 2
src/components/Login.vue

@@ -68,8 +68,8 @@ export default {
       failMsg: "",
       submit: false,
       show: false,
-      type: "101",
-      name: "身份证号",
+      type: "102",
+      name: "病历号",
       patName:'',
       value: "",
       message:{

+ 14 - 7
src/utils/tools.js

@@ -287,14 +287,21 @@ function concatVal(data,flg){
   let valueP = ""; //患者
   let tmpStrHas = [],tmpStrNo = [],tmpAll=[];
   if(flg){
-    tmpStrHas = data.filter((item)=>item.select == 1)
-    tmpStrNo = data.filter((item)=>item.select == 2)
-    tmpAll = tmpStrHas.concat(tmpStrNo)
-    for(let k in tmpAll){
-      let tmpStr = tmpAll[k].select==1?'有':'无';
-      value += tmpStr+tmpAll[k].name.replace(patt,'') + ',';
-      valueP += tmpStr+(tmpAll[k].description || tmpAll[k].name).replace(patt,'') + ',';
+    tmpStrHas = data.filter((item)=>(item.select == 1&&item.flg==1))
+    tmpStrNo = data.filter((item)=>(item.select == 1&&item.flg == 2))
+    // tmpAll = tmpStrHas.concat(tmpStrNo)
+    let valH='',valN='',valPH='',valPN='';
+    for(let k in tmpStrHas){
+      valH += tmpStrHas[k].name.replace(patt,'') + ',';
+      valPH += (tmpStrHas[k].description || tmpStrHas[k].name).replace(patt,'') + ',';
     }
+    for(let k in tmpStrNo){
+      valN += tmpStrNo[k].name.replace(patt,'') + ',';
+      valPN += (tmpStrNo[k].description || tmpStrNo[k].name).replace(patt,'') + ',';
+    }
+    console.log(valN)
+    value = ((valH!='')?('有:'+valH):'')+((valN!='')?('无:'+valN):'');
+    valueP = ((valPH!='')?('有:'+valPH):'')+((valPN!='')?('无:'+valPN):'');
   }else{
     for(let k in data){
       if(data[k].select){