Explorar o código

医生端患者端数据处理

Luolei1992 %!s(int64=5) %!d(string=hai) anos
pai
achega
22498d3e10

+ 1 - 1
src/common/OptionInp.vue

@@ -16,7 +16,7 @@
   </div>
 </template>
 <script type="text/javascript">
-import { getExpStr,scrollToV} from '@utils/tools';
+import { getExpStr,scrollToV } from '@utils/tools';
   export default {
     name:'OptionInp',
     data(){

+ 1 - 1
src/common/Radio.vue

@@ -59,7 +59,7 @@ import OptionInp from '../common/OptionInp.vue';
               valueP = strP ;
             }else{
               value = data[i].name ;
-              valueP = data[i].name ;
+              valueP = data[i].description ||data[i].name ;
             }
           }
         }

+ 12 - 10
src/common/Submit.vue

@@ -23,21 +23,22 @@
 </template>
 <script>
 export default {
-  props: ['showType'],
+  props: {
+    showType:{
+      default:'',
+      type:String
+    },
+    fail:{
+      default:'提交失败请稍后再试',
+      type:String
+    }
+  },
   data() {
     return {
       msg: '提交成功',
-      tip: '您的病历信息已提交至医生问诊系统,点击完成按钮结束本次预问诊服务。',
-      fail: '提交失败请稍后再试'
+      tip: '您的病历信息已提交至医生问诊系统,点击完成按钮结束本次预问诊服务。'
     }
   },
-  // mounted(){
-  //   if(this.showType=='fail'){
-  //     setTimeout(() => {
-  //       this.$emit('showSubmit',false)
-  //     }, 2000);
-  //   }
-  // },
   methods: {
     goStart() {
       // this.$store.commit('initAllData') //已在患者页进行初始化
@@ -54,6 +55,7 @@ export default {
   top: 0;
   left: 0;
   width: 100%;
+  z-index: 999;
   height: 100%;
 }
 .submitSuccess {

+ 10 - 5
src/components/AddContent.vue

@@ -42,7 +42,7 @@
       </div>
       <div class="thanks">
         <p>感谢您的回答,您的病历已经自动生成。</p>
-        <p>您可以点击预览并提交病历按钮预览病历</p>
+        <p>您可以点击预览并提交病历按钮预览病历</p>
         <p>如果没有需要修改的内容,请点击提交,医生便能看到您的病历。</p>
       </div>
     </div>
@@ -96,10 +96,14 @@ export default {
     },
     updataData(data,idx,item){
       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:this.dataTrd,type:this.allMoudles&&this.allMoudles.type})
+        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){
@@ -107,7 +111,8 @@ export default {
           mapping.splice(i,1,data)
         }
       }
-      this.allStr=getAllStr({data:this.dataTrd,type:this.allMoudles&&this.allMoudles.type})
+      // 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});
     },
   },

+ 30 - 4
src/components/PathInfo.vue

@@ -70,10 +70,16 @@
         </div>
       </div>
     </div>
+    <Submit
+      v-if="submit"
+      :fail="message"
+      showType="fail"
+    ></Submit>
   </div>
 </template>
 <script type="text/javascript">
   import api from '@utils/api.js'
+  import Submit from '../common/Submit';
   import {getUrlArgObject} from '@utils/tools.js'
   export default {
     name:'PathInfo',
@@ -89,7 +95,9 @@
           "6":'您已完成过一次预问诊,是否再次录入',
         },
         isReady:false,
-        hideChild:true  //隐藏儿童
+        hideChild:true,  //隐藏儿童
+        submit:false,
+        message:''
       }
     },
     created(){
@@ -146,7 +154,6 @@
         })
       },
       getAll(){
-        this.isReady=false
         const param = {
           'age':this.pathInfo.patientAge,
           'relationId':this.pathInfo.selfDeptId,
@@ -158,12 +165,28 @@
           if(result.code==0){
             const datas = result.data;
             this.$store.commit('saveAll',datas)
-            this.isReady=true
+            let access = datas.filter(item=>item.type == 1).length>0
+            // console.log(datas.filter(item=>item.type == 1)>0)
+            this.isReady=access
+          }else{
+            this.defaultWaring(result.msg)
           }
         })
       },
       getStart(){
-        this.$router.push({path:'/tab'})
+        if(this.isReady){
+          this.$router.push({path:'/tab'})
+        }else{
+          this.defaultWaring('请先维护症状模块')
+        }
+      },
+      defaultWaring(msg){
+        this.submit = true
+        this.message = msg
+        let timer = setTimeout(() => {
+          this.submit = false
+          clearTimeout(timer)
+        }, 2000);
       },
       ifWX(){
         let us = navigator.userAgent.toLowerCase();
@@ -171,6 +194,9 @@
           console.log("非微信打开")
         }
       }
+    },
+    components:{
+      Submit
     }
   }
 </script>

+ 4 - 4
src/components/Preview.vue

@@ -169,12 +169,13 @@ export default {
       }
     },
     getStr(arr,flg){
-      let tmpStr = '',obg={};
+      let tmpStr = '',tmpStrDoc = '',obg={};
       for(let i = 0;i<arr.length;i++){
         tmpStr+=arr[i].text+';'
+        tmpStrDoc+=arr[i].textP+';'
       }
       obg.content=tmpStr
-      obg.contentValue=tmpStr
+      obg.contentValue=tmpStrDoc
       obg.type=flg
       return obg;
     },
@@ -193,7 +194,7 @@ export default {
       }
       if(addContent.txt){
         let obg = {}
-        obg.content=addContent.txt
+        obg.content=addContent.txtDoc
         obg.contentValue=addContent.txt
         obg.type=4
         detailList.push(obg)
@@ -224,7 +225,6 @@ export default {
       }
       // console.log(params)
       api.saveInquiry(params).then((res) => {
-        console.log(res)
         if (res.data.code == 0) {
           this.$store.commit('handleToggleShow', false);
           this.showType = 'success'

+ 2 - 1
src/store.js

@@ -229,7 +229,8 @@ const store = new Vuex.Store({
         case moduleCP['suplement']:
           let addText = state.addContent.txt
           state.addContent.origin = param.data
-          state.addContent.txt = getAllStr(param)
+          state.addContent.txt = getAllStr(param).allStr
+          state.addContent.txtDoc = getAllStr(param).allStrDoc
           break;
         default:
           break;

+ 13 - 6
src/utils/tools.js

@@ -40,7 +40,7 @@ const getExpStr = (str) =>{
   return result
 }
 // 多行输入 多个输入框
-const getModelExpStr = (str,txt) =>{
+const getModelExpStr = (str,txt,des) =>{
   let result = {}
   // console.log(str,txt,44444)
   if(str.match(/\${number_(.*})/)){//数字输入框
@@ -69,6 +69,7 @@ const getModelExpStr = (str,txt) =>{
       iptLis:iptLis,
       join:join,
       prefix:str.split(matchStr)[0]||'',
+      prefixDes:des&&des.split(matchStr)[0]||'',
       suffix:str.split(matchStr)[1]||'',
     }
   }else if(str.match(/\${input_(.*})/)){
@@ -97,6 +98,7 @@ const getModelExpStr = (str,txt) =>{
       iptLis:iptLis,
       join:join,
       prefix:str.split(matchStr)[0]||'',
+      prefixDes:des&&des.split(matchStr)[0]||'',
       suffix:str.split(matchStr)[1]||'',
     }
   }
@@ -107,25 +109,30 @@ const getModelExpStr = (str,txt) =>{
 const patt = /\$\{[^\]]+\}/g;
 
 const getAllStr = (allData) =>{//获取界面数据,拼接字符串
-  let allStr = '',data = allData.data;console.log(555,data)
+  // console.log(allData,777777)
+  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].value).replace('{','').replace('}','')+';'
         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 = '';
+      let tmpStr = '',tmpDoc='';
       for(let j = 0;j < data[i].questionDetailList.length;j++){
         let tmpName = data[i].questionDetailList[j]
         if(tmpName&&tmpName.value&&tmpName.value!='/'){
-          let obj = getModelExpStr(tmpName.name)
+          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)?';':',')
         }
       }
       allStr+=tmpStr
+      allStrDoc+=tmpDoc
     }
   }
-  return trimDots(allStr);
+  obj.allStr = trimDots(allStr)
+  obj.allStrDoc = trimDots(allStrDoc)
+  return obj;
 }
 
 const moduleCP = {