Selaa lähdekoodia

Merge branch 'new' of http://192.168.2.236:10080/zhouna/preliminary into new

# Conflicts:
#	src/components/PathInfo.vue
liucf 5 vuotta sitten
vanhempi
commit
dc0aaf24db

+ 7 - 10
src/components/AddContent.vue

@@ -61,7 +61,7 @@ import Input from '../common/Input.vue';
 import Radio from '../common/Radio.vue';
 import CheckBox from '../common/CheckBox.vue';
 import {imageUrlPrefix,getAllStr,setScroll} from '@utils/tools.js';
-  import BScroll from 'better-scroll';
+import BScroll from 'better-scroll';
 export default {
   name: 'AddContent',
   props: ['allMoudles','preName'],
@@ -111,21 +111,18 @@ export default {
       let mapping = this.dataTrd;
       let allData = this.$store.state.allMoudles;
       let tmpTrdData = allData.filter((item) => item.type == 52);
-
-      // console.log(data,mapping,this.$store.state,999999)
       if(data.controlType == 3){//多行输入,多了一层需单独处理
         let tmpLis = item.questionDetailList;
         tmpLis.splice(idx,1,data);
         this.allStr=getAllStr({data:tmpTrdData&&tmpTrdData[0].moduleDetailDTOList,type:this.allMoudles&&this.allMoudles.type}).allStr;
-        return;
-      }
-      for(let i in mapping){
-        if(mapping[i].id==data.id){
-          mapping.splice(i,1,data)
+      }else{
+        for(let i in mapping){
+          if(mapping[i].id==data.id){
+            mapping.splice(i,1,data)
+          }
         }
+        this.allStr=getAllStr({data:tmpTrdData&&tmpTrdData[0].moduleDetailDTOList,type:this.allMoudles&&this.allMoudles.type}).allStr
       }
-      // console.log(allData.filter((item) => item.type == 52))
-      this.allStr=getAllStr({data:tmpTrdData&&tmpTrdData[0].moduleDetailDTOList,type:this.allMoudles&&this.allMoudles.type}).allStr
       this.$store.commit('setDataAll',{data:data,idx:idx});
       this.$nextTick(()=>{
         this.scroll.refresh()

+ 3 - 0
src/components/Login.vue

@@ -204,6 +204,8 @@ export default {
       height: 1.6rem;
       background-color: #fff;
       margin: 1rem auto 0 auto;
+      border-radius: 50%;
+      overflow: hidden;
       img {
         width: 100%;
       }
@@ -276,6 +278,7 @@ export default {
         height: 0.42rem;
         line-height: 0.42rem;
         width: 100%;
+        font-size: .3rem;
         background-color: transparent;
       }
     }

+ 49 - 52
src/components/PathInfo.vue

@@ -1,51 +1,44 @@
 <template>
   <div class="path-wrap">
-    <p class="info">挂号用户信息查询如下:</p>
-    <div class="con">
-      <p class="name">
-        <span>{{pathInfo.patientName}}</span>|
-        <span>{{pathInfo.patientSex}}</span>|
-        <span>{{pathInfo.patientAge}}岁</span>
-      </p>
-      <p>
-        <span>挂号科室:</span>
-        <span>{{pathInfo.hospitalDeptName}}</span>
-      </p>
-      <div class="dept">
-        <p>
-          <span>门诊号:</span>
-          <span>{{pathInfo.recordId}}</span>
+    <div class="content">
+      <p class="info">挂号用户信息查询如下:</p>
+      <div class="con">
+        <p class="name">
+          <span>{{pathInfo.patientName}}</span>|
+          <span>{{pathInfo.patientSex}}</span>|
+          <span>{{pathInfo.patientAge}}岁</span>
         </p>
         <p>
           <span>预约医生:</span>
           <span>{{pathInfo.doctorName}}</span>
         </p>
+        <p>
+          <span>预约时间:</span>
+          <span>{{pathInfo.systemTime}}</span>
+        </p>
+        <p class="already" v-if="type !== 1">{{text[type]}}</p>
       </div>
-      <p>
-        <span>预约时间:</span>
-        <span>{{pathInfo.systemTime}}</span>
-      </p>
-      <p class="already" v-if="type !== 1">{{text[type]}}</p>
-    </div>
-    <div class="out-box">
-      <div class="emery">
-        <div class="baner">
-          <p>{{pathInfo.hospitalName}}</p>
-          <p class="big">智能预问诊</p>
-        </div>
-        <div class="inner">
-          <p>该系统通过智能引导式问诊,帮助医生规范、全面的采集患者的症状、体征、病史等信息,从而实现诊疗流程的优化和配置。</p>
-          <button @click="getStart">开始</button>
-        </div>
-      </div>
-      <div class="child" v-if="child.length>0&&child[0].value==1 && !hideChild">
-        <div class="baner">
-          <p>{{pathInfo.hospitalName}}</p>
-          <p class="big">儿童体质检测</p>
+      <div class="out-box">
+        <div class="emery">
+          <div class="baner">
+            <p>{{pathInfo.hospitalName}}</p>
+            <p class="big">智能预问诊</p>
+          </div>
+          <div class="inner">
+            <p>该系统通过智能引导式问诊,帮助医生规范、全面的采集患者的症状、体征、病史等信息,从而实现诊疗流程的优化和配置。</p>
+            <button @click="getStart">开始</button>
+          </div>
+          <!-- <p v-if="type==3">您已完成过一次预问诊,是否再次录入</p> -->
         </div>
-        <div class="inner">
-          <p>该标准将为0-12岁儿童在为体质辨识及与中医体质相关疾病的预防、养生保健、健康管理提供依据,使体质分类科学化、规范化。</p>
-          <button>开始</button>
+        <div class="child" v-if="child.length>0&&child[0].value==1 && !hideChild">
+          <div class="baner">
+            <p>{{pathInfo.hospitalName}}</p>
+            <p class="big">儿童体质检测</p>
+          </div>
+          <div class="inner">
+            <p>该标准将为0-12岁儿童在为体质辨识及与中医体质相关疾病的预防、养生保健、健康管理提供依据,使体质分类科学化、规范化。</p>
+            <button>开始</button>
+          </div>
         </div>
       </div>
     </div>
@@ -59,7 +52,8 @@
 <script type="text/javascript">
   import api from '@utils/api.js'
   import Submit from '../common/Submit';
-  import {getUrlArgObject} from '@utils/tools.js';
+  import {getUrlArgObject,setScroll} from '@utils/tools.js'
+  import BScroll from 'better-scroll';
   export default {
     name:'PathInfo',
     data(){
@@ -76,29 +70,26 @@
         isReady:false,
         hideChild:true,  //隐藏儿童
         submit:false,
+        scroll:null,
         message:''
       }
     },
     created(){
-      // this.getPathInfo();
-      // this.getSysConfig();
-      // this.$store.commit('initAllData');//初始化store数据
-    },
-    mounted(){
       this.getPathInfo();
       this.getSysConfig();
       this.$store.commit('initAllData');//初始化store数据
     },
+    mounted(){
+      this.$nextTick(()=>{
+        let scroll = setScroll(BScroll,true,'.path-wrap')
+        this.scroll = scroll
+      })
+    },
     methods:{
       getPathInfo(){
         let query = this.$route.query
         let hasQuery = JSON.stringify(query) == '{}'
         const params = {
-          // 'hospitalCode':getUrlArgObject('hospitalCode'),
-          // 'hospitalDeptCode':getUrlArgObject('hospitalDeptCode'),
-          // 'doctorCode':getUrlArgObject('doctorCode'),
-          // 'patientCode':getUrlArgObject('patientCode'),
-          // 'recordId':getUrlArgObject('recordId')
           'hospitalCode':!hasQuery&&query.hospitalCode||'',
           'hospitalDeptCode':!hasQuery&&query.hospitalDeptCode||'',
           'doctorCode':!hasQuery&&query.doctorCode||'',
@@ -204,9 +195,15 @@
 </script>
 <style lang="less" scoped>
   .path-wrap{
-    padding-top: .5rem;
     font-size: .28rem;
-    box-sizing: border-box;
+    position: absolute;
+    width: 100%;
+    height: 100%;
+    .content {
+      padding-top: .5rem;
+      padding-bottom: .2rem;
+      box-sizing: border-box;
+    }
     .info{
       font-size: .32rem;
       font-weight: 700;

+ 46 - 73
src/components/Preview.vue

@@ -17,8 +17,8 @@
               <td colspan="2">就诊时间:{{pathInfo.systemTime}}</td>
             </tr>
           </table>
-          <div class="line"></div>
-          <p>采集时间:{{pathInfo.systemTime}}</p>
+          <!-- <div class="line"></div>
+          <p>采集时间:{{pathInfo.systemTime}}</p> -->
         </div>
         <div class="personMsg personMsg2">
           <ul class="previewParts">
@@ -34,18 +34,15 @@
             <!-- <li v-if="diagnose.text.length>0||symptom.choose.length>0"> -->
             <li>
               <h4><i :style="{'background': '#3D69D9'}"></i> 现病史:</h4>
-              <!-- <p>
-                <span>{{getText(symptom.text,false)}}</span>
-              </p> -->
               <p v-for="item in symptom.text">{{item.textP}}</p>
               <p>
-                <span>{{getText(diagnose.text,false)}}</span>
+                <span>{{getDetailText(diagnose.text,false).view}}</span>
               </p>
             </li>
             <li v-if="showLis[moduleCP['other']]==1">
               <h4><i></i> 其他史:</h4>
               <p>
-                <span>{{getText(others.text,false)}}</span>
+                <span>{{getDetailText(others.text,false).view}}</span>
               </p>
             </li>
             <li v-if="showLis[moduleCP['suplement']]==1">
@@ -85,28 +82,23 @@
           <img class="close" src="../images/small-close.png" alt="" @click="handleClick(false)">
           <div class="personMsg personMsg2">
             <ul class="previewParts">
-              <!-- <li v-if="symptom.choose.length>0"> -->
               <li>
                 <h4><i :style="{'background': '#FF9A9A'}"></i> 主诉:</h4>
                 <p>
                   <span v-for="(item,idx) in symptom.choose" :key="item.name+idx">{{item.special?item.name+item.special+(idx == symptom.choose.length-1?'':'、'):item.name+(idx == symptom.choose.length-1?'':'、')}}</span>
                 </p>
               </li>
-              <!-- <li v-if="diagnose.text.length>0||symptom.choose.length>0"> -->
               <li>
                 <h4><i :style="{'background': '#3D69D9'}"></i> 现病史:</h4>
-                <!-- <p>
-                  <span>{{getText(symptom.text,true)}}</span>
-                </p> -->
                 <p v-for="item in symptom.text">{{item.text}}</p>
                 <p>
-                  <span>{{getText(diagnose.text,true)}}</span>
+                  <span>{{getDetailText(diagnose.text,false).content}}</span>
                 </p>
               </li>
               <li v-if="showLis[moduleCP['other']]==1">
                 <h4><i></i> 其他史:</h4>
                 <p>
-                  <span>{{getText(others.text,true)}}</span>
+                  <span>{{getDetailText(others.text,false).content}}</span>
                 </p>
               </li>
               <li v-if="showLis[moduleCP['suplement']]==1">
@@ -149,7 +141,6 @@ export default {
       submit: false,
       showType: 'fail',
       imgList:[],
-      // show:loadingShow,//提交等待的动画loading
       tmpNum:0,
       moduleCP:moduleCP,
       showDoc:false,
@@ -163,31 +154,6 @@ export default {
     })
   },
   methods: {
-    getText(textArr,flag){//拼接文本,flag=true为医生
-      let msg = "";
-      for(let k in textArr){
-        if(textArr[k] && Array.isArray(textArr[k])){
-          let temp = textArr[k];
-          for(let j in temp){
-            if(temp[j]){
-              if(flag){//医生
-                msg += temp[j].text + ','
-              }else if(temp[j].textP){
-                msg += temp[j].textP + ','
-              } 
-            }
-          }
-        }else if(textArr[k]){
-          if(flag){
-            msg += textArr[k].text + ','
-          }else if(textArr[k].textP){
-            msg += textArr[k].textP + ','
-          }
-        }
-      }
-      // 去掉最后一个逗号
-      return trimDots(msg.substring(0,msg.length-1));
-    },
     handleClick(flg){
       this.showDoc = flg
     },
@@ -223,12 +189,9 @@ export default {
           //   }
           // })
         }
-        // return
         api.uploadImageThums(formData).then((res) => {//获取图片
           let data = res.data;
           if (data.code == 0) {//图片提交成功再保存数据
-            // this.showType = 'success'
-            // this.submit = true
             let reportList = [];
             let result = data.data;
             for(let i = 0;i < result.length;i++){
@@ -259,15 +222,40 @@ export default {
         this.saveAllDate();
       }
     },
-    getStr(arr,flg){
-      let tmpStr = '',tmpStrDoc = '',obg={};
-      for(let i = 0;i<arr.length;i++){
-        tmpStr+=arr[i].text+';'
-        tmpStrDoc+=arr[i].textP+';'
+    getDetailText(textArr,flg){
+      let msg = "",obg={},msgP = "";
+      if(flg == 1){
+        for(let k in textArr){
+          let item = textArr[k]
+          if(item.special){
+            msg+=item.name+item.special+(k == textArr.length-1?'':'、')
+            msgP+=item.name+item.specialP+(k == textArr.length-1?'':'、')
+          }else{
+            msg+=item.name+(k == textArr.length-1?'':'、')
+            msgP+=item.name+(k == textArr.length-1?'':'、')
+          }
+        }
+      }else{
+        for(let k in textArr){
+          if(textArr[k] && Array.isArray(textArr[k])){
+            let temp = textArr[k];
+            for(let j in temp){
+              if(temp[j]){
+                msg += temp[j].text + ','
+                msgP += temp[j].textP + ','
+              }
+            }
+          }else if(textArr[k]){
+            msg += textArr[k].text + ','
+            msgP += textArr[k].textP + ','
+          }
+        }
       }
-      obg.content=tmpStr
-      obg.contentJson=tmpStr
-      obg.contentValue=tmpStrDoc
+      
+      obg.view=trimDots(msgP.replace(/,$/,''))
+      obg.content=trimDots(msg.replace(/,$/,''))
+      obg.contentJson=trimDots(msg.replace(/,$/,''))
+      obg.contentValue=trimDots(msg.replace(/,$/,''))
       obg.type=flg
       return obg;
     },
@@ -276,40 +264,25 @@ export default {
       let detailList = [{type:1},{type:2},{type:3},{type:4}]
       for(let i = 0;i < detailList.length;i++){
         if(i == 0){
-          detailList[0]=this.getStr(symptom.text,1)
+          detailList[0]=this.getDetailText(symptom.choose,1)
         }else if(i == 1){
           let tmpArr = []
+          let tmpStr = this.getDetailText(diagnose.text,2).content
           for(let j = 0;j < symptom.text.length;j++){
-            tmpArr.push(symptom.text[j].textP)
+            tmpArr.push(symptom.text[j].text)
           }
-          detailList[1].content=JSON.stringify(tmpArr)
+          tmpStr.length>0?tmpArr.push(tmpStr):null
+          detailList[1].content=tmpArr.join()+tmpStr
           detailList[1].contentJson=JSON.stringify(tmpArr)
-          detailList[1].contentValue=tmpArr.join()
+          detailList[1].contentValue=tmpArr.join()+tmpStr
         }else if(i == 2){
-          detailList[2] = this.getStr(others.text,3)
+          detailList[2] = this.getDetailText(others.text,3)
         }else if(i == 3){
           detailList[3].content=addContent.txtDoc
           detailList[3].contentJson=addContent.txtDoc
           detailList[3].contentValue=addContent.txt
         }
       }
-      // // if(symptom.text.length>0){
-      //   detailList[0]=this.getStr(symptom.text,1)
-      // // }
-      // if(diagnose.text.length>0){
-      //   detailList.push(this.getStr(diagnose.text,2))
-      // }
-      // if(others.text.length>0){
-      //   let obg = {}
-      //   detailList[2] = this.getStr(others.text,3)
-      // }
-      // if(addContent.txt){
-      //   let obg = {}
-      //   obg.content=addContent.txtDoc
-      //   obg.contentValue=addContent.txt
-      //   obg.type=4
-      //   detailList.push(obg)
-      // }
       let params = {
         "dataJson": "1",
         "detailList": detailList,

+ 6 - 6
src/utils/tools.js

@@ -119,8 +119,8 @@ const getAllStr = (allData) =>{//获取界面数据,拼接字符串
   let allStr = '',data = allData.data,allStrDoc = '',obj={};
   for(let i = 0;i < data.length;i++){
     if(data[i].controlType != 3&&data[i].value){
-        allStr += (data[i].valueP).replace(patt,'').replace(/\#\{/g,'').replace(/\}/g,'')+';'
-        allStrDoc += (data[i].value).replace(patt,'').replace(/\#\{/g,'').replace(/\}/g,'')+';'
+        allStr += (data[i].valueP).replace(patt,'').replace(/\#\{/g,'').replace(/\}/g,'')+''
+        allStrDoc += (data[i].value).replace(patt,'').replace(/\#\{/g,'').replace(/\}/g,'')+''
     }
     if(data[i].controlType == 3){//多列选择
       let tmpStr = '',tmpDoc='';
@@ -128,16 +128,16 @@ const getAllStr = (allData) =>{//获取界面数据,拼接字符串
         let tmpName = data[i].questionDetailList[j]
         if(tmpName&&tmpName.value&&tmpName.value!='/'){
           let obj = getModelExpStr(tmpName.name,'',tmpName.description)
-          tmpStr+=obj.prefix+tmpName.valueP+obj.suffix+(j ==(data[i].questionDetailList.length-1)?';':',')
-          tmpDoc+=obj.prefix+tmpName.value+obj.suffix+(j ==(data[i].questionDetailList.length-1)?';':',')
+          tmpStr+=obj.prefix+tmpName.valueP+obj.suffix+','
+          tmpDoc+=obj.prefix+tmpName.value+obj.suffix+','
         }
       }
       allStr+=tmpStr
       allStrDoc+=tmpDoc
     }
   }
-  obj.allStr = trimDots(allStr)
-  obj.allStrDoc = trimDots(allStrDoc)
+  obj.allStr = trimDots(allStr.replace(/,$/,''))
+  obj.allStrDoc = trimDots(allStrDoc.replace(/,$/,''))
   return obj;
 }