患者端小程序 糖组功能 8.17

This commit is contained in:
zoujiandong 2023-08-17 15:05:46 +08:00
parent 833def112c
commit 97df1b4646
8 changed files with 139 additions and 16 deletions

View File

@ -384,7 +384,6 @@ Page({
let userID = wx.getStorageSync('user_id_'+usertype); let userID = wx.getStorageSync('user_id_'+usertype);
let totalUnreadCount = 0; let totalUnreadCount = 0;
let message_inquiry_type = this.data.message_inquiry_type; let message_inquiry_type = this.data.message_inquiry_type;
console.log("conversationList---------");
console.log(this.data.conversationList); console.log(this.data.conversationList);
this.data.conversationList.forEach(item => { this.data.conversationList.forEach(item => {
let conversationID = item.conversationID; let conversationID = item.conversationID;

View File

@ -389,7 +389,7 @@
</view> </view>
<view class="content_2">问诊已结束</view> <view class="content_2">问诊已结束</view>
<view class="content_3"> <view class="content_3">
<view class="status status_end">{{ item.inquiry_type==1?'专家问诊':item.inquiry_type==2?'快速问诊':item.inquiry_type==3?'公益问诊':item.inquiry_type==4?'问诊购药':'其他' }}</view> <view class="status status_end">{{ item.inquiry_type==1?'专家问诊':item.inquiry_type==2?'快速问诊':item.inquiry_type==3?'公益问诊':item.inquiry_type==4?'问诊购药':item.inquiry_type==5?'糖组检测':'其他' }}</view>
</view> </view>
<view class="content_4" wx:if="{{ item.inquiry_status == 3 }}">不接诊24小时后自动取消</view> <view class="content_4" wx:if="{{ item.inquiry_status == 3 }}">不接诊24小时后自动取消</view>
</view> </view>

View File

@ -362,6 +362,7 @@ Component({
const title = customMessage.title const title = customMessage.title
if(title.indexOf("问诊已结束") > -1){ if(title.indexOf("问诊已结束") > -1){
setTimeout(() => { setTimeout(() => {
console.log('aaaaaaaaaaaaaaaaaaaaaa')
//收到横条消息去触发父组件getbase方法,演示1秒 //收到横条消息去触发父组件getbase方法,演示1秒
this.triggerEvent('getInquiryMessageBasic'); this.triggerEvent('getInquiryMessageBasic');
}, 1000); }, 1000);

View File

@ -3,6 +3,7 @@ import logger from '../../utils/logger';
import constant from '../../utils/constant'; import constant from '../../utils/constant';
import { API } from './../../../utils/network/api' import { API } from './../../../utils/network/api'
import { rpxTopx } from './../../../utils/util' import { rpxTopx } from './../../../utils/util'
const dayjs = require("../../utils/dayjs.js");
const api = new API() const api = new API()
// eslint-disable-next-line no-undef // eslint-disable-next-line no-undef
const app = getApp(); const app = getApp();
@ -65,6 +66,7 @@ Component({
type: Object, type: Object,
value: {}, value: {},
observer(baseInfo) { observer(baseInfo) {
this.dealBasic(baseInfo);
this.setData({ this.setData({
"navbarData.title": baseInfo.patient_family_name "navbarData.title": baseInfo.patient_family_name
}); });
@ -121,6 +123,9 @@ Component({
* 组件的初始数据 * 组件的初始数据
*/ */
data: { data: {
rest_time:0,
total_rounds:0,
timeData:{},
conversationName: '', conversationName: '',
conversation: {}, conversation: {},
messageList: [], messageList: [],
@ -170,6 +175,23 @@ Component({
this.setData({ this.setData({
message_rounds: message_rounds message_rounds: message_rounds
}) })
let total_rounds=this.data.total_rounds;
if(total_rounds>=0){
if(total_rounds-message_rounds<=0 && this.data.baseInfo.inquiry_status==4){
wx.showToast({
title: '沟通已达到限制的'+total_rounds+'个回合',
icon:"none"
})
this.finishConsult();
}
}
},
onChangeTime(e) {
console.log(e.detail)
this.setData({
'timeData': e.detail,
});
}, },
getNavbarHeight(addHeight){ getNavbarHeight(addHeight){
@ -237,11 +259,7 @@ Component({
dialog_visible: false dialog_visible: false
}) })
}, },
confirmDialog(){ finishConsult(){
let finsh_btn = this.data.finsh_btn
if(finsh_btn){
return
}
this.setData({ this.setData({
finsh_btn: true finsh_btn: true
}) })
@ -257,14 +275,69 @@ Component({
finsh_btn: false finsh_btn: false
}) })
}) })
},
confirmDialog(){
let finsh_btn = this.data.finsh_btn
if(finsh_btn){
return
}
this.finishConsult();
this.setData({ this.setData({
dialog_visible: false dialog_visible: false
}) })
}, },
dealBasic(obj){
let data=obj;
console.log(data.duration)
if(data.inquiry_status==4){
if(data.times_number==0){
this.setData({
total_rounds:-1,//无线沟通
})
}else{
this.setData({
total_rounds:data.times_number,//无线沟通
})
}
if (data.duration != 0) {
if (data.reception_time){
let endtime = dayjs(data.reception_time).add(data.duration, 'minute').format('YYYY-MM-DD HH:mm:ss');
let nowtime = dayjs().format('YYYY-MM-DD HH:mm:ss');
let countdown = dayjs(endtime).diff(nowtime, "millisecond");
let countdownTime = countdown > 0 ? countdown : 0;
console.log("countdownTime--------");
console.log(countdownTime);
this.setData({
"rest_time": countdownTime
});
if(countdownTime==0){
wx.showToast({
title: '沟通时长已超过限制时间',
icon:"none"
})
this.finishConsult();
}
} else {
this.setData({
"rest_time": 0
})
}
} else {
console.log("wwww")
this.setData({
"rest_time": -1 //接诊不限时间
})
}
}
},
//获取问诊订单消息内页基础数据 //获取问诊订单消息内页基础数据
getInquiryMessageBasic() { getInquiryMessageBasic() {
// console.log("order_inquiry_id: ", this.data.order_inquiry_id); // console.log("order_inquiry_id: ", this.data.order_inquiry_id);
api.getInquiryMessageBasic({order_inquiry_id: this.data.order_inquiry_id}).then(response => { api.getInquiryMessageBasic({order_inquiry_id: this.data.order_inquiry_id}).then(response => {
console.log("11111111111111111111111111111111111111")
// console.log(response); // console.log(response);
this.setData({ this.setData({
baseInfo: response.data, baseInfo: response.data,

View File

@ -4,6 +4,7 @@
"MessageList": "./components/MessageList/index", "MessageList": "./components/MessageList/index",
"MessageInput": "./components/MessageInput/index", "MessageInput": "./components/MessageInput/index",
"TUIGroup": "../TUIGroup/index", "TUIGroup": "../TUIGroup/index",
"van-count-down": "@vant/weapp/count-down/index",
"te-nav-bar": "/commpents/te_navbar", "te-nav-bar": "/commpents/te_navbar",
"t-dialog": "tdesign-miniprogram/dialog/dialog" "t-dialog": "tdesign-miniprogram/dialog/dialog"
}, },

View File

@ -3,12 +3,33 @@
<view class="container"> <view class="container">
<view class="info" wx:if="{{ baseInfo.inquiry_status > 0 }}"> <view class="info" wx:if="{{ baseInfo.inquiry_status > 0 }}">
<view class="left" > <view class="left" >
<view class="name">{{baseInfo.patient_family_name}}</view> <view class="circle_top"></view>
<view class="age">{{baseInfo.patient_family_sex==1?'男':'女'}}{{baseInfo.patient_family_age}}岁</view> <view class="name" wx:if="{{baseInfo.inquiry_status!=4}}">{{baseInfo.patient_family_name}}</view>
<view class="status {{baseInfo.inquiry_status==5?'status_complete':''}}">{{baseInfo.inquiry_status==1?'待支付':baseInfo.inquiry_status==2?'待分配':baseInfo.inquiry_status==3?'待接诊':baseInfo.inquiry_status==4?'接诊中':baseInfo.inquiry_status==5?'问诊完成':baseInfo.inquiry_status==6?'已结束':baseInfo.inquiry_status==7?'已取消':'未知'}}</view> <view class="age" wx:if="{{baseInfo.inquiry_status!=4}}">{{baseInfo.patient_family_sex==1?'男':'女'}} | {{baseInfo.patient_family_age}}岁</view>
<view class="count_time" wx:else="{{baseInfo.inquiry_status==4}}">
问诊中|<text wx:if="{{rest_time==-1}}" class="time_desc">不限时间</text>
<view wx:else="{{rest_time!=-1}}" class="time_desc">
<text>剩余</text>
<van-count-down class="control-count-down" use-slot time="{{rest_time}}" bind:change="onChangeTime" format="HH:mm:ss">
<text class="item" hidden="{{timeData.hours== 0 && timeData.days==0}}">{{(timeData.days*24)+timeData.hours }}小时</text>
<text class="item" wx:if="{{timeData.hours==0}}">{{timeData.minutes }}分</text>
<text class="item" wx:if="{{timeData.hours==0}}">{{ timeData.seconds }}秒</text>
</van-count-down>
</view>
<text wx:if="{{total_rounds==-1}}" class="time_desc">不限沟通次数</text>
<text wx:else class="time_desc">
<text wx:if="{{total_rounds-message_rounds>0}}">{{total_rounds-message_rounds}}</text>
<text wx:else>0</text>个沟通回合
</text>
</view>
</view> </view>
<view class="right"> <view class="right">
<text class="right_txt" bindtap="putDoctorInquiryFinish" wx:if="{{baseInfo.inquiry_status==4}}">结束问诊</text> <text class="right_txt" bindtap="putDoctorInquiryFinish" wx:if="{{baseInfo.inquiry_status==4}}">结束问诊</text>
<view class="status {{baseInfo.inquiry_status==5?'status_complete':''}}" wx:else="{{baseInfo.inquiry_status!=4}}">{{baseInfo.inquiry_status==1?'待支付':baseInfo.inquiry_status==2?'待分配':baseInfo.inquiry_status==3?'待接诊':baseInfo.inquiry_status==4?'接诊中':baseInfo.inquiry_status==5?'问诊完成':baseInfo.inquiry_status==6?'已结束':baseInfo.inquiry_status==7?'已取消':'未知'}}</view>
</view> </view>
</view> </view>

View File

@ -134,22 +134,41 @@
height: 100rpx; height: 100rpx;
background-color: rgb(255, 255, 255); background-color: rgb(255, 255, 255);
display: flex; display: flex;
justify-content: space-around; padding:0 20rpx;
justify-content: space-between;
align-items: center; align-items: center;
box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.08); box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.08);
} }
.left{ .left{
display: flex; display: flex;
justify-content: space-around; justify-content:space-between;
align-items: center; align-items: center;
flex: 3;
} }
.right{ .right{
flex: 1;
text-align: right;
font-size: 28rpx; font-size: 28rpx;
color: #FFFFFF; color: #FFFFFF;
padding-right: 20rpx; /* padding-right: 20rpx; */
}
.time_desc{
color:#E34D59;
display: flex;
}
.time_desc .item{
color:#E34D59;
font-size: 32rpx;
}
.count_time{
display: flex;
}
.circle_top{
width: 10rpx;
height: 10rpx;
margin-right: 10rpx;
background: #3CC7C0;
border-radius: 50%;
} }
.right_txt{ .right_txt{
background: #3CC7C0; background: #3CC7C0;
@ -162,10 +181,15 @@
text-align: center; text-align: center;
} }
.age{ .age{
display: flex;
align-items: center;
margin-left: 20rpx;
font-size: 34rpx; font-size: 34rpx;
color: #666666; color: #666666;
} }
.status{ .status{
display: flex;
justify-content: center;
background: #FFF2E8; background: #FFF2E8;
box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.08); box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.08);
border-radius: 10rpx; border-radius: 10rpx;

View File

@ -808,6 +808,10 @@ class API extends HTTP {
} }
}) })
} }
} }
export { API } export { API }