|
|
<template>
|
|
|
<u-sticky>
|
|
|
<u-navbar title="问诊中" :autoBack="true" bgColor="#fff" placeholder safeAreaInsetTop :titleStyle="{ color: '#000' }" leftIconColor="#000"></u-navbar>
|
|
|
<view class="imtopinfo flexJ">
|
|
|
<view class="flexA">
|
|
|
<image :src="proxy.$h.downFile(detailData?.doctor?.avatar)" @click="proxy.$h.previewImage(proxy.$h.downFile(detailData?.doctor?.avatar))" class="imtopinfo-avatar" mode="aspectFill" />
|
|
|
<view class="imtopinfo-username">{{ detailData?.doctor?.nickname }}</view>
|
|
|
<u-count-down :time="countdownTime * 1000" format="HH:mm:ss" @finish="finishCountDownHandler"></u-count-down>
|
|
|
<view class="graytext">后结束问诊</view>
|
|
|
<view class="imtopinfo">
|
|
|
<view class="flexJ">
|
|
|
<view class="flexA">
|
|
|
<image :src="proxy.$h.downFile(detailData?.doctor?.avatar)" @click="proxy.$h.previewImage(proxy.$h.downFile(detailData?.doctor?.avatar))" class="imtopinfo-avatar" mode="aspectFill" />
|
|
|
<view class="imtopinfo-username">{{ detailData?.doctor?.nickname }}</view>
|
|
|
<u-count-down :time="countdownTime * 1000" format="HH:mm:ss" @finish="finishCountDownHandler"></u-count-down>
|
|
|
<view class="graytext">后结束问诊</view>
|
|
|
</view>
|
|
|
<!-- <view class="righttext">已结束</view> -->
|
|
|
<up-button type="info" shape="circle" text="结束问诊" throttleTime="1500" @click="getEndInformationHandler" :customStyle="{ width: '146rpx', height: '66rpx', marginRight: '0rpx' }"></up-button>
|
|
|
</view>
|
|
|
<view class="infocard" style="padding: 0; width: 100%">
|
|
|
<view class="flexJ">
|
|
|
<view>
|
|
|
<view class="flexA" style="margin-bottom: 20rpx">
|
|
|
<view class="infocard-username">问诊信息</view>
|
|
|
<view class="blueTag1">{{ proxy.$h.optObjectValue('consultationWay', detailData.consultationWay) || '未设置' }}</view>
|
|
|
</view>
|
|
|
<view class="infocard-infoitem Zindex">
|
|
|
<text class="gray">宠物信息:</text>
|
|
|
{{ detailData?.petName }}/{{ detailData?.petClass || '品种未知' }}/{{ detailData?.age || '年龄未知' }}/ {{ proxy.$h.optObjectValue('petSex', detailData?.petSex) || '性别未知' }}
|
|
|
</view>
|
|
|
</view>
|
|
|
<up-button color="#05B8D2" shape="circle" text="查看详情" throttleTime="1500" plain @click="showUserCardDetailState = true" :customStyle="{ width: '146rpx', height: '66rpx', marginRight: '0rpx' }"></up-button>
|
|
|
</view>
|
|
|
</view>
|
|
|
<!-- <view class="righttext">已结束</view> -->
|
|
|
<up-button type="info" shape="circle" text="结束问诊" throttleTime="1500" @click="getEndInformationHandler" :customStyle="{ width: '146rpx', height: '66rpx', marginRight: '0rpx' }"></up-button>
|
|
|
</view>
|
|
|
</u-sticky>
|
|
|
<!-- #ifdef MP-WEIXIN -->
|
...
|
...
|
@@ -22,7 +39,8 @@ |
|
|
<scroll-view class="TUIChat-main" scroll-y="true" :scroll-with-animation="true" :refresher-triggered="triggered" :refresher-enabled="true" @refresherrefresh="handleRefresher" :scroll-top="scrollTop">
|
|
|
<view class="TUI-message-list" @touchstart="handleTouchStart" @click="dialogID = ''">
|
|
|
<!-- 用户信息卡片 -->
|
|
|
<UserInfoCard :detailData="detailData" />
|
|
|
<!-- <UserInfoCard :detailData="detailData" /> -->
|
|
|
<view style="height: 240rpx"></view>
|
|
|
<view class="loading-text" v-if="isCompleted">没有更多</view>
|
|
|
<view v-for="(item, index) in messages" :key="item.ID" :id="'view' + item.ID">
|
|
|
<view class="time-container" v-if="item.showTime">{{ caculateTimeago(item.time * 1000) }}</view>
|
...
|
...
|
@@ -78,6 +96,32 @@ |
|
|
<u-modal :show="showPrescriptionDetailState" :title="`处方单详情`" @confirm="showPrescriptionDetailState = false">
|
|
|
<ViewPrescription :orderId="Event.orderId" @click="showPrescriptionDetailState = false" />
|
|
|
</u-modal>
|
|
|
<u-modal :show="showUserCardDetailState" :title="``" :showConfirmButton="false" closeOnClickOverlay @close="showUserCardDetailState = false">
|
|
|
<view class="slot-content" @click="showUserCardDetailState = false">
|
|
|
<view class="text mb24">问诊类型:{{ proxy.$h.optObjectValue('consultationWay', detailData.consultationWay) || '未设置' }}</view>
|
|
|
<view class="text mb24">宠物品种:{{ detailData?.petClass }}</view>
|
|
|
<view class="text mb24">年龄:{{ detailData?.age }}</view>
|
|
|
<view class="text mb24">性别:{{ proxy.$h.optObjectValue('petSex', detailData?.petSex) || '性别未知' }}</view>
|
|
|
<view class="text mb24">是否绝育:{{ proxy.$h.optObjectValue('isSterilization', detailData?.isSterilization) || '未知' }}</view>
|
|
|
<view class="text mb24">体重:{{ detailData?.weight ? detailData?.weight + 'kg' : '体重未知' }}</view>
|
|
|
<view class="text mb24">免疫情况:{{ proxy.$h.optObjectValue('immuneStatus', detailData?.immuneStatus, 4) }}</view>
|
|
|
<view class="text mb24">洗澡频率:{{ proxy.$h.optObjectValue('batheFrequency', detailData?.batheFrequency, 2) }}</view>
|
|
|
<view class="text mb24">饲料类型:{{ proxy.$h.optObjectValue('feedType', detailData?.feedType, 1) }}</view>
|
|
|
<view class="text mb24">
|
|
|
症状类型:
|
|
|
<template v-if="![null, '', undefined].includes(detailData?.symptom)">
|
|
|
<template v-for="(_, index) in detailData?.symptom.split(',')">{{ proxy.$h.optObjectValue('symptom', _) || '' }}{{ index !== (detailData?.symptom.split(',').length as number) - 1 ? ',' : '' }}</template>
|
|
|
</template>
|
|
|
</view>
|
|
|
<view class="text mb24">症状描述: {{ detailData.supplement }}</view>
|
|
|
<view class="text mb24">
|
|
|
症状照片:
|
|
|
<view class="flexW" v-if="detailData?.image?.length">
|
|
|
<image v-for="_ in detailData.image?.split(',')" :src="proxy.$h.downFile(_)" class="infocard-itemimg" mode="aspectFill" @click.stop="proxy.$h.previewImage(proxy.$h.downFile(_))" />
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
</u-modal>
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts">
|
...
|
...
|
@@ -158,7 +202,8 @@ export default defineComponent({ |
|
|
Event: {} as DiaLogEventType,
|
|
|
detailData: {} as Consultation_information_detailType,
|
|
|
countdownTime: 300,
|
|
|
end: false
|
|
|
end: false,
|
|
|
showUserCardDetailState: false
|
|
|
})
|
|
|
|
|
|
// 判断当前会话类型:无/系统会话/正常C2C、群聊
|
...
|
...
|
@@ -480,4 +525,36 @@ page { |
|
|
margin-bottom: 46rpx;
|
|
|
}
|
|
|
@import '../styles/TUIChat.scss';
|
|
|
|
|
|
.mb24 {
|
|
|
margin-bottom: 24rpx;
|
|
|
}
|
|
|
.text {
|
|
|
color: #323233;
|
|
|
font-size: 28rpx;
|
|
|
font-weight: 700;
|
|
|
}
|
|
|
.blacktext {
|
|
|
color: #323233;
|
|
|
font-size: 30rpx;
|
|
|
font-weight: 700;
|
|
|
}
|
|
|
.graytext {
|
|
|
color: #999999;
|
|
|
font-size: 24rpx;
|
|
|
font-weight: 700;
|
|
|
}
|
|
|
.list {
|
|
|
width: 460rpx;
|
|
|
box-sizing: border-box;
|
|
|
padding: 34rpx 28rpx;
|
|
|
background: #f8f8fa;
|
|
|
margin-bottom: 32rpx;
|
|
|
}
|
|
|
.zmimg {
|
|
|
width: 210rpx;
|
|
|
height: 210rpx;
|
|
|
border-radius: 24rpx;
|
|
|
margin-right: 16rpx;
|
|
|
}
|
|
|
</style> |
...
|
...
|
|