优化聊天

This commit is contained in:
haomingming
2023-03-30 11:33:45 +08:00
parent 9859b0cbea
commit 75c9d6cae2
18 changed files with 140 additions and 72 deletions
+2 -1
View File
@@ -5,6 +5,7 @@
"van-tab": "@vant/weapp/tab/index",
"van-tabs": "@vant/weapp/tabs/index",
"t-avatar": "tdesign-miniprogram/avatar/avatar",
"van-button": "@vant/weapp/button/index"
"van-button": "@vant/weapp/button/index",
"van-empty": "@vant/weapp/empty/index"
}
}
+20 -16
View File
@@ -39,73 +39,77 @@
</view>
</view>
</view>
<van-empty description="暂无数据" wx:if="{{data_list_0.length == 0}}" />
</van-tab>
<van-tab title="已审核处方">
<view class="item">
<view class="item" wx:for="{{data_list_1}}">
<view class="item_txt">
<view class="pre_content">处方订单号:2023010510324649</view>
<view class="end_content">
<view class="pre_content">处方订单号:{{item.prescription_code}}</view>
<view class="end_content" bindtap="go" data-url="/Pages/yaoshi/medicalrecord/medicalrecord?order_inquiry_id={{item.order_inquiry_id }}&order_prescription_id={{item.order_prescription_id}}">
<van-button type="primary" color="#ec871e" size="small">查看病例</van-button>
</view>
</view>
<view class="item_txt">
<view class="pre_content">开方时间:2023-01-16 08:52</view>
<view class="pre_content">开方时间:{{item.created_at}}</view>
<view class="end_content" style="color: #2196f3;">通过</view>
</view>
<view class="item_txt">
<view class="pre_content">张三/男/45岁</view>
<view class="pre_content">{{item.patient_name}}/{{item.patient_sex==1?'男':'女'}}/{{item.patient_age}}岁</view>
<view class="end_content">
<!-- <van-button type="primary" color="linear-gradient(to bottom, #5EA8D5, #63CFEA)" size="small">去审方</van-button> -->
</view>
</view>
</view>
<van-empty description="暂无数据" wx:if="{{data_list_1.length == 0}}" />
</van-tab>
<van-tab title="驳回处方">
<view class="item">
<view class="item" wx:for="{{data_list_2}}">
<view class="item_txt">
<view class="pre_content">处方订单号:2023010510324649</view>
<view class="end_content">
<view class="pre_content">处方订单号:{{item.prescription_code}}</view>
<view class="end_content" bindtap="go" data-url="/Pages/yaoshi/medicalrecord/medicalrecord?order_inquiry_id={{item.order_inquiry_id }}&order_prescription_id={{item.order_prescription_id}}">
<van-button type="primary" color="#ec871e" size="small">查看病例</van-button>
</view>
</view>
<view class="item_txt">
<view class="pre_content">开方时间:2023-01-16 08:52</view>
<view class="pre_content">开方时间:{{item.created_at}}</view>
<view class="end_content" style="color: red;">驳回</view>
</view>
<view class="item_txt">
<view class="pre_content">张三/男/45岁</view>
<view class="pre_content">{{item.patient_name}}/{{item.patient_sex==1?'男':'女'}}/{{item.patient_age}}岁</view>
<view class="end_content">
<!-- <van-button type="primary" color="linear-gradient(to bottom, #5EA8D5, #63CFEA)" size="small">去审方</van-button> -->
</view>
</view>
</view>
<van-empty description="暂无数据" wx:if="{{data_list_2.length == 0}}" />
</van-tab>
<van-tab title="不通过">
<view class="item">
<view class="item" wx:for="{{data_list_3}}">
<view class="item_txt">
<view class="pre_content">处方订单号:2023010510324649</view>
<view class="end_content">
<view class="pre_content">处方订单号:{{item.prescription_code}}</view>
<view class="end_content" bindtap="go" data-url="/Pages/yaoshi/medicalrecord/medicalrecord?order_inquiry_id={{item.order_inquiry_id }}&order_prescription_id={{item.order_prescription_id}}">
<van-button type="primary" color="#ec871e" size="small">查看病例</van-button>
</view>
</view>
<view class="item_txt">
<view class="pre_content">开方时间:2023-01-16 08:52</view>
<view class="pre_content">开方时间:{{item.created_at}}</view>
<view class="end_content" style="color: red;">驳回</view>
</view>
<view class="item_txt">
<view class="pre_content">张三/男/45岁</view>
<view class="pre_content">{{item.patient_name}}/{{item.patient_sex==1?'男':'女'}}/{{item.patient_age}}岁</view>
<view class="end_content">
<!-- <van-button type="primary" color="linear-gradient(to bottom, #5EA8D5, #63CFEA)" size="small">去审方</van-button> -->
</view>
</view>
</view>
<van-empty description="暂无数据" wx:if="{{data_list_3.length == 0}}" />
</van-tab>
</van-tabs>
</view>
+37 -18
View File
@@ -1,41 +1,60 @@
import { API } from './../../../utils/network/api'
const api = new API()
const app = getApp()
Page({
data: {
patient_account: "",
title: '',
height: app.globalData.height,
order_inquiry_id: "",
inquiry_type: "",
baseInfo: {}
},
onLoad(option) {
console.log("chat onload", option);
let from_account = option.from_account;
let order_inquiry_id = option.order_inquiry_id;
let inquiry_type = option.inquiry_type;
this.setData({
patient_account: from_account,
order_inquiry_id: order_inquiry_id,
inquiry_type: inquiry_type,
})
},
onUnload() {
console.log("chat onUnload");
},
onShow(){
let _this = this;
let interval = setInterval(() => {
console.log("chat init ,");
console.log("app.globalData.chat_sdk_ready: ", app.globalData.chat_sdk_ready);
if(app.globalData.chat_sdk_ready){
const TUIChat = _this.selectComponent('#TUIChat');
TUIChat.init();
wx.$TUIKit.on(wx.$TUIKitTIM.EVENT.MESSAGE_RECEIVED, _this.$onMessageReceived, _this);
clearInterval(interval);
}
}, 1000);
console.log("chat onShow");
this.getInquiryMessageBasic();
},
$onMessageReceived(value) {
const message = value.data[0];
console.log("message from chat: ",message)
}
},
initChat(){
let _this = this;
let count = 0;
let interval = setInterval(() => {
console.log("chat init count: ", count);
console.log("app.globalData.chat_sdk_ready: ", app.globalData.chat_sdk_ready);
if(app.globalData.chat_sdk_ready){
const TUIChat = _this.selectComponent('#TUIChat');
TUIChat.init();
// wx.$TUIKit.on(wx.$TUIKitTIM.EVENT.MESSAGE_RECEIVED, _this.$onMessageReceived, _this);
clearInterval(interval);
}
count = count + 1;
if(count > 5){//如果尝试5次不成功就去主动调用IM初始化
app.imInit();
count = 0;
}
}, 1000);
},
//获取问诊订单消息内页基础数据
getInquiryMessageBasic() {
console.log("order_inquiry_id: ", this.data.order_inquiry_id);
api.getInquiryMessageBasic({order_inquiry_id: this.data.order_inquiry_id}).then(response => {
console.log(response);
this.setData({
baseInfo: response.data
})
}).then(res => {
this.initChat();
}).catch(errors => {console.error(errors);})
},
})
+1 -1
View File
@@ -1,5 +1,5 @@
<!-- 一对一聊天 不带会话列表 -->
<view>
<TUIChat id="TUIChat" currentConversationID="C2C{{patient_account}}" inquiry_type="{{inquiry_type}}" order_inquiry_id="{{order_inquiry_id}}"
<TUIChat id="TUIChat" currentConversationID="C2C{{baseInfo.patient_user_id}}" inquiry_type="{{baseInfo.inquiry_type}}" order_inquiry_id="{{order_inquiry_id}}" baseInfo="{{baseInfo}}"
hasCallKit="{{ true }}" bind:handleCall="handleCall"></TUIChat>
</view>
+5 -1
View File
@@ -1,5 +1,4 @@
import { API } from './../../../utils/network/api'
const api = new API()
const app = getApp()
Page({
@@ -84,4 +83,9 @@ Page({
console.log(url);
app.go(url);
},
gochat(e){
let order_inquiry_id = e.currentTarget.dataset.order_inquiry_id;
let url = "/Pages/yishi/chat/index?order_inquiry_id="+order_inquiry_id;
app.go(url);
}
})
+1 -1
View File
@@ -47,7 +47,7 @@
</view>
</view>
<!-- 底部按钮 -->
<view class="item_bottom">
<view class="item_bottom" bindtap="gochat" data-order_inquiry_id="{{item.order_inquiry_id}}">
<view class="item_bottom_btn">问诊记录</view>
</view>
</view>
+9 -1
View File
@@ -35,6 +35,7 @@ Page({
doctors_advice_focus: false,
case_detail: {},
sub_disabled: false,
from: ""
},
onDoctorsAdviceFocus(){
this.setData({
@@ -42,6 +43,7 @@ Page({
})
},
onLoad(options){
let from = options.from;
let order_inquiry_id = options.order_inquiry_id;
let order_prescription_id = options.order_prescription_id ;
//获取患者问诊病例
@@ -59,6 +61,7 @@ Page({
this.setData({
order_inquiry_id: order_inquiry_id,
order_prescription_id: order_prescription_id,
from: from
})
},
select_drug(e){
@@ -360,6 +363,9 @@ Page({
title: '提交成功',
icon: "success"
})
setTimeout(() => {
wx.navigateBack();
}, 1000);
}).catch(errors => {
console.error(errors);
this.setData({
@@ -430,13 +436,15 @@ Page({
return;
}
api.putDoctorPrescription(params).then(response => {
console.log(response);
wx.showToast({
title: '提交成功',
icon: "success"
})
setTimeout(() => {
wx.navigateBack();
}, 1000);
}).catch(errors => {
console.error(errors);
this.setData({
+5 -4
View File
@@ -30,7 +30,7 @@
<van-cell-group inset>
<van-cell use-label-slot bind:click="showZhenDuan" custom-style="font-size:30rpx;color: #333;" title="诊断" >
<view class="addzhenduan">+添加诊断</view>
<view class="addzhenduan" wx:if="{{from != 'chat'}}">+添加诊断</view>
<view slot="label">
<view style="margin-top: 20rpx;" class="label_item" wx:for="{{zhenduan_list}}">
<van-icon name="delete" catchtap="delZhenDuan" color="red" data-disease_class_id="{{item.icd_id}}" /><text style="margin-left: 10rpx;">{{item.icd_name}}</text>
@@ -48,14 +48,14 @@
<view class="drugs_name">{{ drugs.product_name }}(数量{{ drugs.prescription_product_num}})</view>
<view class="drugs_guige">用法用量:{{ drugs.single_use }}{{ drugs.frequency_use }}{{ drugs.single_unit }}</view>
<!-- <view class="drugs_dosage">备注:{{ drugs.drugs_dosage }}</view> -->
<view class="btn">
<view class="btn" wx:if="{{from != 'chat'}}">
<van-button bind:click="editDrug" size="small" custom-style="font-size:28rpx;" data-product_id="{{drugs.product_id}}" color="#666" plain round type="info">编辑</van-button>
<van-button bind:click="delDrug" custom-style="margin-left: 20rpx;font-size:28rpx;" data-product_id="{{drugs.product_id}}" size="small" color="#666" plain round type="info">删除</van-button>
</view>
</view>
</view>
<view class="adddrugs_btn">
<view class="adddrugs_btn" wx:if="{{from != 'chat'}}">
<van-button bind:click="showPopup" color="rgba(44,241,248,0.28);" custom-style="color:#3CC7C0; font-size:30rpx; border-radius: 10rpx;" type="primary" block>+添加药品</van-button>
</view>
<form bindsubmit="{{ order_prescription_id == ''?'postDoctorPrescription':'putDoctorPrescription' }}">
@@ -63,7 +63,8 @@
<view class="doctors_advice" bindtap="onDoctorsAdviceFocus">
<textarea auto-height focus="{{doctors_advice_focus}}" maxlength="1000" bindblur="getAdvice" style="width: 100%;" placeholder-style="font-size:24rpx; color:#999" placeholder="请输入医嘱(5-200字)" name="doctors_advice" value="{{doctor_advice}}"></textarea>
</view>
<view class="sub_btn">
<!-- 从聊天页面过来的不显示按钮 -->
<view class="sub_btn" wx:if="{{from != 'chat'}}">
<van-button disabled="{{sub_disabled}}" form-type="submit" color="#3CC7C0; font-size:30rpx; border-radius: 10rpx;" type="primary" block>{{ order_prescription_id == ''?'提交审核':'重开处方' }}</van-button>
</view>
+12 -1
View File
@@ -26,7 +26,12 @@ Page({
console.log("wenzhen onload");
let usertype = wx.getStorageSync('usertype');
let userID = wx.getStorageSync('user_id_'+usertype);
wx.$TUIKit.on(wx.$TUIKitTIM.EVENT.MESSAGE_RECEIVED, this.$onMessageReceived, this);
if(wx.$TUIKit){
wx.$TUIKit.on(wx.$TUIKitTIM.EVENT.MESSAGE_RECEIVED, this.$onMessageReceived, this);
}else{
app.imInit();
wx.$TUIKit.on(wx.$TUIKitTIM.EVENT.MESSAGE_RECEIVED, this.$onMessageReceived, this);
}
setInterval(() => {
let system_notice_unreadnnum = wx.getStorageSync(userID+"_system_notice_unreadnnum");
let service_notice_unreadnnum = wx.getStorageSync(userID+"_service_notice_unreadnnum");
@@ -70,6 +75,11 @@ Page({
}).then(() => {
console.log("开始查询订单状态")
this.formatStatus();
}).catch(error => {
console.log(error)
// 补偿登录操作
app.imInit();
this.getConversationList();
});
},
go(e){
@@ -302,6 +312,7 @@ Page({
})
if(wenzhen_info == 0) wenzhen_info = "";
if(wenzhen_info > 99) wenzhen_info = "99+";
wx.setStorageSync(userID+'_wenzhen_info', wenzhen_info);
this.setData({