|
@@ -1,108 +1,53 @@
|
|
|
<template>
|
|
|
- <div class="preview" ref="preview">
|
|
|
- <div class="personMsg">
|
|
|
- <p class="baseMsg">{{pathInfo.patientName}} {{pathInfo.patientSex}} {{pathInfo.patientAge}}岁</p>
|
|
|
- <table>
|
|
|
- <tr>
|
|
|
- <td colspan="2">挂号科室:{{pathInfo.selfDeptName}}</td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td>门诊号:{{pathInfo.recordId}}</td>
|
|
|
- <td>预约医生:{{pathInfo.doctorName}}</td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td colspan="2">就诊时间:{{pathInfo.systemTime}}</td>
|
|
|
- </tr>
|
|
|
- </table>
|
|
|
- <div class="line"></div>
|
|
|
- <p>采集时间:{{pathInfo.systemTime}}</p>
|
|
|
- </div>
|
|
|
- <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.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 v-for="(item,idx) in symptom.text" :key="item.text+idx">{{trimDots&&trimDots(item.textP+(idx!=0 && idx == symptom.choose.length-1?'。':';'))}}</span>
|
|
|
- </p>
|
|
|
- <p>
|
|
|
- <span v-for="(item,idx) in diagnose.text" :key="item.text+idx">{{trimDots&&trimDots(item.textP+(idx!=0 && idx == diagnose.text.length-1?'。':';'))}}</span>
|
|
|
- </p>
|
|
|
- </li>
|
|
|
- <li v-if="showLis[moduleCP['other']]==1">
|
|
|
- <h4><i></i> 其他史:</h4>
|
|
|
- <p>
|
|
|
- <span v-for="(item,idx) in others.text" :key="item.text+idx">{{trimDots&&trimDots(item.textP+(idx!=0 && idx == others.text.length-1?'。':';'))}}</span>
|
|
|
- </p>
|
|
|
- </li>
|
|
|
- <li v-if="showLis[moduleCP['suplement']]==1">
|
|
|
- <h4><i></i> 补充内容:</h4>
|
|
|
- <p>{{addContent.txt}}</p>
|
|
|
- </li>
|
|
|
- <li v-if="JSON.stringify(diagnose.imgSrc) !='{}'" class="imgLis">
|
|
|
- <h4 class="imgTitle"><i></i> 最近一次治疗报告:</h4>
|
|
|
- <div v-for="(value,key,idx) in diagnose.imgSrc" class="imgView">
|
|
|
- <img :src="value" alt="">
|
|
|
- </div>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
- </div>
|
|
|
- <div class="foot">
|
|
|
- <span
|
|
|
- class="back"
|
|
|
- @click="back"
|
|
|
- >{{'返回'+ preName}}</span>
|
|
|
- <span
|
|
|
- class="next"
|
|
|
- @click="saveAllImage"
|
|
|
- >提 交</span>
|
|
|
- </div>
|
|
|
- <Submit
|
|
|
- v-if="submit"
|
|
|
- :showType="showType"
|
|
|
- @showSubmit="showSubmit"
|
|
|
- ></Submit>
|
|
|
- <Loading v-if="loadingShow"></Loading>
|
|
|
- <div class="doctorData" @click="handleClick(true)">医生端数据展示</div>
|
|
|
- <div class="personMsgDoc" v-if="showDoc">
|
|
|
- <div class="personMsgDocModal" @click.prevent="handleClick(false)"></div>
|
|
|
- <div class="personMsgDocDetail">
|
|
|
- <img class="close" src="../images/small-close.png" alt="" @click="handleClick(false)">
|
|
|
+ <div class="wrapper">
|
|
|
+ <div class="preview previewper">
|
|
|
+ <div class="content">
|
|
|
+ <div class="tmpDiv"></div>
|
|
|
+ <div class="personMsg personMsg1">
|
|
|
+ <p class="baseMsg">{{pathInfo.patientName}} {{pathInfo.patientSex}} {{pathInfo.patientAge}}岁</p>
|
|
|
+ <table>
|
|
|
+ <tr>
|
|
|
+ <td colspan="2">挂号科室:{{pathInfo.selfDeptName}}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>门诊号:{{pathInfo.recordId}}</td>
|
|
|
+ <td>预约医生:{{pathInfo.doctorName}}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td colspan="2">就诊时间:{{time}}</td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
+ <!-- <div class="line"></div>
|
|
|
+ <p>采集时间:{{pathInfo.systemTime}}</p> -->
|
|
|
+ </div>
|
|
|
<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.name+(idx == symptom.choose.length-1?'':'、')}}</span>
|
|
|
+ <span v-for="(item,idx) in symptom.choose" :key="item.name+idx">
|
|
|
+ {{item.specialP?(item.description||item.name)+item.specialP+(idx == symptom.choose.length-1?'':','):(item.description||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 v-for="item in symptom.text">{{item.textP}}</p>
|
|
|
<p>
|
|
|
- <span v-for="(item,idx) in symptom.text" :key="item.text+idx">{{trimDots&&trimDots(item.text+(idx == symptom.choose.length-1?'。':';'))}}</span>
|
|
|
- </p>
|
|
|
- <p>
|
|
|
- <span v-for="(item,idx) in diagnose.text" :key="item.text+idx">{{trimDots&&trimDots(item.text+(idx == diagnose.text.length-1?'。':';'))}}</span>
|
|
|
+ <span>{{getDetailText(diagnose.text,false).view}}</span>
|
|
|
</p>
|
|
|
</li>
|
|
|
<li v-if="showLis[moduleCP['other']]==1">
|
|
|
<h4><i></i> 其他史:</h4>
|
|
|
<p>
|
|
|
- <span v-for="(item,idx) in others.text" :key="item.text+idx">{{trimDots&&trimDots(item.text+(idx == others.text.length-1?'。':';'))}}</span>
|
|
|
+ <span>{{getDetailText(others.text,false).view}}</span>
|
|
|
</p>
|
|
|
</li>
|
|
|
<li v-if="showLis[moduleCP['suplement']]==1">
|
|
|
<h4><i></i> 补充内容:</h4>
|
|
|
- <p>{{addContent.txtDoc}}</p>
|
|
|
+ <p>{{addContent.txt}}</p>
|
|
|
</li>
|
|
|
<li v-if="JSON.stringify(diagnose.imgSrc) !='{}'" class="imgLis">
|
|
|
<h4 class="imgTitle"><i></i> 最近一次治疗报告:</h4>
|
|
@@ -112,15 +57,72 @@
|
|
|
</li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
+ <div class="doctorData" @click="handleClick(true)">医生端数据展示</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <div class="foot">
|
|
|
+ <span
|
|
|
+ class="back"
|
|
|
+ @click="back"
|
|
|
+ >{{'返回'+ preName}}</span>
|
|
|
+ <span
|
|
|
+ class="next"
|
|
|
+ @click="saveAllImage"
|
|
|
+ >提 交</span>
|
|
|
+ </div>
|
|
|
+ <Submit
|
|
|
+ v-if="submit"
|
|
|
+ :showType="showType"
|
|
|
+ @showSubmit="showSubmit"
|
|
|
+ ></Submit>
|
|
|
+ <Loading v-if="loadingShow"></Loading>
|
|
|
+ <div class="personMsgDoc" v-if="showDoc">
|
|
|
+ <div class="personMsgDocModal" @click="handleClick(false)"></div>
|
|
|
+ <div class="personMsgDocDetail">
|
|
|
+ <img class="close" src="../images/small-close.png" alt="" @click="handleClick(false)">
|
|
|
+ <div class="personMsg personMsg2">
|
|
|
+ <ul class="previewParts">
|
|
|
+ <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>
|
|
|
+ <h4><i :style="{'background': '#3D69D9'}"></i> 现病史:</h4>
|
|
|
+ <p v-for="item in symptom.text">{{item.text}}</p>
|
|
|
+ <p>
|
|
|
+ <span>{{getDetailText(diagnose.text,false).content}}</span>
|
|
|
+ </p>
|
|
|
+ </li>
|
|
|
+ <li v-if="showLis[moduleCP['other']]==1">
|
|
|
+ <h4><i></i> 其他史:</h4>
|
|
|
+ <p>
|
|
|
+ <span>{{getDetailText(others.text,false).content}}</span>
|
|
|
+ </p>
|
|
|
+ </li>
|
|
|
+ <li v-if="showLis[moduleCP['suplement']]==1">
|
|
|
+ <h4><i></i> 补充内容:</h4>
|
|
|
+ <p>{{addContent.txtDoc}}</p>
|
|
|
+ </li>
|
|
|
+ <li v-if="JSON.stringify(diagnose.imgSrc) !='{}'" class="imgLis">
|
|
|
+ <h4 class="imgTitle"><i></i> 最近一次治疗报告:</h4>
|
|
|
+ <div v-for="(value,key,idx) in diagnose.imgSrc" class="imgView">
|
|
|
+ <img :src="value" alt="">
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
import api from '@utils/api.js';
|
|
|
import Submit from '../common/Submit';
|
|
|
import Loading from '../common/Loading';
|
|
|
-import {moduleCP,trimDots} from '@utils/tools.js'
|
|
|
+import BScroll from 'better-scroll';
|
|
|
+import {moduleCP,trimDots,setScroll,dateParser} from '@utils/tools.js'
|
|
|
export default {
|
|
|
props: ['preName','showLis','loadingShow'],
|
|
|
data() {
|
|
@@ -139,20 +141,36 @@ export default {
|
|
|
submit: false,
|
|
|
showType: 'fail',
|
|
|
imgList:[],
|
|
|
- // show:loadingShow,//提交等待的动画loading
|
|
|
tmpNum:0,
|
|
|
moduleCP:moduleCP,
|
|
|
showDoc:false,
|
|
|
- trimDots:trimDots
|
|
|
+ trimDots:trimDots,
|
|
|
+ time:''
|
|
|
}
|
|
|
},
|
|
|
+ created(){
|
|
|
+ this.getTime();
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.$nextTick(()=>{
|
|
|
+ let scroll = setScroll(BScroll,true,'.previewper')
|
|
|
+ this.scroll = scroll
|
|
|
+ })
|
|
|
+ },
|
|
|
methods: {
|
|
|
- handleClick(flg){
|
|
|
- if(flg){
|
|
|
- this.$refs.preview.style.overflow = 'hidden'
|
|
|
+ getTime() {
|
|
|
+ let scan = localStorage.getItem('scan');
|
|
|
+ let params = JSON.parse(localStorage.getItem('infoParam'));
|
|
|
+ let param = JSON.parse(localStorage.getItem('loginParam'));
|
|
|
+ let tmpArr = localStorage.getItem('recordTime')
|
|
|
+ let tmpTime = tmpArr&&Array.isArray(JSON.parse(tmpArr))?JSON.parse(tmpArr):[];
|
|
|
+ if(!scan){
|
|
|
+ this.time = dateParser(param.time)
|
|
|
}else{
|
|
|
- this.$refs.preview.style.overflow = 'auto'
|
|
|
+ this.time = dateParser(params.recordTime)
|
|
|
}
|
|
|
+ },
|
|
|
+ handleClick(flg){
|
|
|
this.showDoc = flg
|
|
|
},
|
|
|
showSubmit(flg) {
|
|
@@ -187,13 +205,11 @@ export default {
|
|
|
// }
|
|
|
// })
|
|
|
}
|
|
|
- // return
|
|
|
api.uploadImageThums(formData).then((res) => {//获取图片
|
|
|
- let result = res.data;
|
|
|
- if (result.code == 0) {//图片提交成功再保存数据
|
|
|
- // this.showType = 'success'
|
|
|
- // this.submit = true
|
|
|
- let reportList = []
|
|
|
+ let data = res.data;
|
|
|
+ if (data.code == 0) {//图片提交成功再保存数据
|
|
|
+ let reportList = [];
|
|
|
+ let result = data.data;
|
|
|
for(let i = 0;i < result.length;i++){
|
|
|
let obg = {}
|
|
|
obg.narrowImage = result[i].thumbnail.url
|
|
@@ -219,39 +235,69 @@ export default {
|
|
|
return;
|
|
|
} else {//没有图片直接保存数据
|
|
|
this.$store.commit('handleToggleShow', true);
|
|
|
- this.saveAllDate()
|
|
|
+ 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.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;
|
|
|
},
|
|
|
saveAllDate() {
|
|
|
const {pathInfo,symptom,diagnose,others,addContent} = this
|
|
|
- let detailList = []
|
|
|
- if(symptom.text.length>0){
|
|
|
- detailList.push(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.push(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 detailList = [{type:1},{type:2},{type:3},{type:4}]
|
|
|
+ for(let i = 0;i < detailList.length;i++){
|
|
|
+ if(i == 0){
|
|
|
+ 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].text)
|
|
|
+ }
|
|
|
+ tmpStr.length>0?tmpArr.push(tmpStr):null
|
|
|
+ detailList[1].content=tmpArr.join()+tmpStr
|
|
|
+ detailList[1].contentJson=JSON.stringify(tmpArr)
|
|
|
+ detailList[1].contentValue=tmpArr.join()+tmpStr
|
|
|
+ }else if(i == 2){
|
|
|
+ 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
|
|
|
+ }
|
|
|
}
|
|
|
let params = {
|
|
|
"dataJson": "1",
|
|
@@ -310,6 +356,7 @@ export default {
|
|
|
@import "../less/base.less";
|
|
|
.foot {
|
|
|
.dbfooter;
|
|
|
+ z-index: 998;
|
|
|
}
|
|
|
.doctorData {
|
|
|
float: right;
|
|
@@ -325,10 +372,15 @@ export default {
|
|
|
top: 0;
|
|
|
left: 0;
|
|
|
box-sizing: border-box;
|
|
|
- padding: 0.3rem 0.4rem 1rem .4rem;
|
|
|
- overflow: auto;
|
|
|
+ padding: 0 0.4rem 1rem .4rem;
|
|
|
+ overflow: hidden;
|
|
|
-webkit-overflow-scrolling:touch;
|
|
|
+ .btscroll;
|
|
|
+}
|
|
|
+.tmpDiv {
|
|
|
+ height: .3rem;
|
|
|
}
|
|
|
+
|
|
|
.imgView {
|
|
|
width: 1.86rem;
|
|
|
height: 1.9rem;
|
|
@@ -338,6 +390,7 @@ export default {
|
|
|
box-sizing: border-box;
|
|
|
position: relative;
|
|
|
overflow: hidden;
|
|
|
+ border-radius: 0.08rem;
|
|
|
img {
|
|
|
position: absolute;
|
|
|
left: 50%;
|
|
@@ -415,6 +468,7 @@ export default {
|
|
|
height: 1px;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.personMsg2 {
|
|
|
padding-right: 0;
|
|
|
}
|