|
@@ -1,68 +1,74 @@
|
|
|
-<template>
|
|
|
- <view class="content">
|
|
|
- <view class="patient-cont">
|
|
|
- <view class="chose-patient">
|
|
|
- <view class="patient-box" @click="addPatient()" v-if="patient==null">
|
|
|
- <view class="patient-item">
|
|
|
- <view class="patient-tip">*</view>
|
|
|
- <view class="patient-title">选择就诊人</view>
|
|
|
+<template>
|
|
|
+ <view>
|
|
|
+ <view class="content">
|
|
|
+ <choosePatient class="patient" :patient="patient" @addPatient="addPatient"></choosePatient>
|
|
|
+ <!-- <view class="patient-cont">
|
|
|
+ <view class="chose-patient">
|
|
|
+ <view class="patient-box" @click="addPatient()" v-if="patient==null">
|
|
|
+ <view class="patient-item">
|
|
|
+ <view class="patient-tip">*</view>
|
|
|
+ <view class="patient-title">选择就诊人</view>
|
|
|
+ </view>
|
|
|
+ <view class="right" >
|
|
|
+ <image src="/static/images/arrow_gray.png" mode=""></image>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- <view class="right" >
|
|
|
- <image src="/static/images/arrow_gray.png" mode=""></image>
|
|
|
+ <view class="patient" @click="addPatient()" v-if="patient!=null">
|
|
|
+ <view class="left">
|
|
|
+ <view class="name">{{patient.patientName}}</view>
|
|
|
+ <view class="info">
|
|
|
+ <text class="text" v-if="patient.sex==1">男</text>
|
|
|
+ <text class="text" v-if="patient.sex==2">女</text>
|
|
|
+ <text class="text">{{$getAge(patient.birthday)}}岁</text>
|
|
|
+ <text class="text">{{$parseIdCard(patient.idCard)}}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="right" >
|
|
|
+ <image src="/static/images/arrow_gray.png" mode=""></image>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view class="patient" @click="addPatient()" v-if="patient!=null">
|
|
|
- <view class="left">
|
|
|
- <view class="name">{{patient.patientName}}</view>
|
|
|
- <view class="info">
|
|
|
- <text class="text" v-if="patient.sex==1">男</text>
|
|
|
- <text class="text" v-if="patient.sex==2">女</text>
|
|
|
- <text class="text">{{$getAge(patient.birthday)}}岁</text>
|
|
|
- <text class="text">{{$parseIdCard(patient.idCard)}}</text>
|
|
|
+ </view> -->
|
|
|
+ <view class="msg-cont">
|
|
|
+ <scroll-view
|
|
|
+ class="msg-scroll"
|
|
|
+ :scroll-top="scrollTop"
|
|
|
+ scroll-y="true"
|
|
|
+ :scroll-with-animation="true"
|
|
|
+ >
|
|
|
+ <view class="msgs">
|
|
|
+ <view class="msg-item" v-for="(item,index) in msgs" >
|
|
|
+ <view class="left" v-if="item.type==1">
|
|
|
+ <!-- <image class="img" src="https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/be32b8d2ae9f497297d10327656bb43c.png"></image> -->
|
|
|
+ <image class="img" :src="agreement.avatar?agreement.avatar:'https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/1d7eb0607a074892964dd32e8735e540.jpg'"></image>
|
|
|
+ <view class="msg-content">{{item.content}}</view>
|
|
|
+ </view>
|
|
|
+ <view class="right" v-if="item.type==2">
|
|
|
+ <view class="msg-content">{{item.content}}</view>
|
|
|
+ <image class="img" :src="avatar?avatar:'https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/1d7eb0607a074892964dd32e8735e540.jpg'"></image>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <view class="right" >
|
|
|
- <image src="/static/images/arrow_gray.png" mode=""></image>
|
|
|
</view>
|
|
|
</view>
|
|
|
+ </scroll-view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <view class="msg-cont">
|
|
|
- <scroll-view
|
|
|
- class="msg-scroll"
|
|
|
- :scroll-top="scrollTop"
|
|
|
- scroll-y="true"
|
|
|
- :scroll-with-animation="true"
|
|
|
- >
|
|
|
- <view class="msgs">
|
|
|
- <view class="msg-item" v-for="(item,index) in msgs" >
|
|
|
- <view class="left" v-if="item.type==1">
|
|
|
- <image class="img" src="https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/be32b8d2ae9f497297d10327656bb43c.png"></image>
|
|
|
- <view class="msg-content">{{item.content}}</view>
|
|
|
- </view>
|
|
|
- <view class="right" v-if="item.type==2">
|
|
|
- <view class="msg-content">{{item.content}}</view>
|
|
|
- <image class="img" src="https://fs-1319721001.cos.ap-chongqing.myqcloud.com/fs/20240229/1d7eb0607a074892964dd32e8735e540.jpg"></image>
|
|
|
- </view>
|
|
|
-
|
|
|
+ <view class="option-cont" v-if="item!=null">
|
|
|
+ <view class="option-title" >{{item.title}}</view>
|
|
|
+ <view class="options" >
|
|
|
+ <view :class="option.color=='red'?'option-item red':'option-item green'" @click="optionClick(item,option)" v-for="(option,opIndex) in item.options" >{{option.name}}</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </scroll-view>
|
|
|
- </view>
|
|
|
- <view class="option-cont" v-if="item!=null">
|
|
|
- <view class="option-title" >{{item.title}}</view>
|
|
|
- <view class="options" >
|
|
|
- <view :class="option.color=='red'?'option-item red':'option-item green'" @click="optionClick(item,option)" v-for="(option,opIndex) in item.options" >{{option.name}}</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
+ </view>
|
|
|
<u-modal @cancel="close()" @confirm="confirm()" :show="show" title="温馨提示" :content='content'></u-modal>
|
|
|
- </view>
|
|
|
+ </view>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-
|
|
|
- import {create,giftCreate} from '@/api/packageOrder.js'
|
|
|
- export default {
|
|
|
+ import choosePatient from "./components/choosePatient/choosePatient.vue"
|
|
|
+ import {create,giftCreate,getAgreement} from '@/api/packageOrder.js'
|
|
|
+ export default {
|
|
|
+ components: {
|
|
|
+ choosePatient
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
content:null,
|
|
@@ -83,9 +89,29 @@
|
|
|
{name:"是,我已充分了解",value:1,color:'green'},
|
|
|
{name:"否,未阅读",value:0,color:'red'},
|
|
|
]
|
|
|
+ },{
|
|
|
+ title:"您之前因以下哪种情况去线下就医,接受过哪些检查?",
|
|
|
+ options:[
|
|
|
+ {name:"慢性病复查,复查了基本指标",value:1,color:'green'},
|
|
|
+ {name:"头晕、头痛,查过血压",value:2,color:'green'},
|
|
|
+ {name:"失眠、记忆力下降,常规检查",value:3,color:'green'},
|
|
|
+ {name:"心悸、胸痛,查过心电图",value:4,color:'green'},
|
|
|
+ {name:"关节疼痛,查过X光片",value:5,color:'green'},
|
|
|
+ {name:"突发不适,常规检查",value:6,color:'green'}
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title:"您目前已确诊的慢性疾病有哪些?",
|
|
|
+ options:[
|
|
|
+ {name:"高血压",value:1,color:'green'},
|
|
|
+ {name:"糖尿病",value:2,color:'green'},
|
|
|
+ {name:"心脑血管疾病",value:3,color:'green'},
|
|
|
+ {name:"呼吸系统疾病",value:4,color:'green'},
|
|
|
+ {name:"骨关节病",value:5,color:'green'},
|
|
|
+ {name:"肠胃疾病",value:6,color:'green'},
|
|
|
+ {name:"其他",value:7,color:'green'},
|
|
|
+ ]
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
],
|
|
|
msgs:[],
|
|
|
index:0,
|
|
@@ -101,6 +127,10 @@
|
|
|
companyUserId:null,
|
|
|
companyId:null,
|
|
|
choose: 0, // 1:付邮费领取 2:加粉领取
|
|
|
+ docAvatar:'',
|
|
|
+ avatar: '',
|
|
|
+ paddingTop: 130,
|
|
|
+ agreement: {}
|
|
|
};
|
|
|
},
|
|
|
onLoad(option) {
|
|
@@ -117,15 +147,39 @@
|
|
|
var that=this;
|
|
|
uni.$on('refreshOrderPatient', (res) => {
|
|
|
that.patient=res
|
|
|
+ setTimeout(()=>{
|
|
|
+ this.getpaddingTop()
|
|
|
+ },100)
|
|
|
})
|
|
|
this.item=this.items[0];
|
|
|
- this.addMsg(1,this.item.title);
|
|
|
-
|
|
|
+ setTimeout(()=>{
|
|
|
+ this.addMsg(1,this.item.title);
|
|
|
+ },100)
|
|
|
+ this.getAgreement()
|
|
|
},
|
|
|
onShow() {
|
|
|
|
|
|
},
|
|
|
methods:{
|
|
|
+ getpaddingTop() {
|
|
|
+ uni
|
|
|
+ .createSelectorQuery().in(this)
|
|
|
+ .select(".patient")
|
|
|
+ .boundingClientRect((res) => {
|
|
|
+ this.paddingTop = res&&res.height;
|
|
|
+ })
|
|
|
+ .exec();
|
|
|
+ },
|
|
|
+ getAgreement() {
|
|
|
+ getAgreement().then(res=>{
|
|
|
+ if(res.code==200) {
|
|
|
+ this.agreement = res.doctor || {}
|
|
|
+ uni.setNavigationBarTitle({
|
|
|
+ title: this.agreement.doctorName || '问答'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
close(){
|
|
|
this.show=false;
|
|
|
},
|
|
@@ -194,6 +248,11 @@
|
|
|
uni.showLoading({
|
|
|
title:"处理中..."
|
|
|
})
|
|
|
+ const num = Math.floor(Math.random() * 6);
|
|
|
+ this.items = this.items.map(item=>({
|
|
|
+ ...item,
|
|
|
+ option: item.title == "您目前已确诊的慢性疾病有哪些?"&&item.option =='其他' ? item.options[num].name:item.option
|
|
|
+ }))
|
|
|
var data={
|
|
|
companyId:this.companyId,
|
|
|
companyUserId:this.companyUserId,
|
|
@@ -282,19 +341,28 @@
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss">
|
|
|
- page{
|
|
|
- height: 100%;
|
|
|
+ .patient {
|
|
|
+ position: absolute;
|
|
|
+ width: 100%;
|
|
|
+ z-index: 999;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
}
|
|
|
.content{
|
|
|
+ flex: 1;
|
|
|
+ width: 100%;
|
|
|
height: 100vh;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ overflow: hidden;
|
|
|
+ position: relative;
|
|
|
.msg-cont{
|
|
|
- padding-bottom: 550rpx;
|
|
|
width: 100%;
|
|
|
- height: calc(100vh - 760rpx);
|
|
|
+ flex: 1;
|
|
|
+ overflow: hidden;
|
|
|
.msg-scroll{
|
|
|
- height: calc(100vh - 760rpx);
|
|
|
+ height: 100%;
|
|
|
.msgs{
|
|
|
- overflow: hidden;
|
|
|
width: 100%;
|
|
|
.msg-item{
|
|
|
padding: 10rpx 15rpx;
|
|
@@ -362,9 +430,16 @@
|
|
|
|
|
|
}
|
|
|
.option-cont{
|
|
|
- position: fixed;
|
|
|
- bottom: 0rpx;
|
|
|
+ flex-shrink: 0;
|
|
|
+ // position: fixed;
|
|
|
+ // bottom: 0rpx;
|
|
|
+ // #ifndef APP-PLUS
|
|
|
+ max-height: 380rpx;
|
|
|
+ overflow-y: auto;
|
|
|
+ // #endif
|
|
|
+ // #ifdef APP-PLUS
|
|
|
height: 380rpx;
|
|
|
+ // #endif
|
|
|
width: 100%;
|
|
|
background-color: #fff;
|
|
|
border-radius: 60rpx 60rpx 0rpx 0rpx;
|