This commit is contained in:
haomingming
2023-04-11 18:41:46 +08:00
parent 3f40c4c237
commit 4f14aad6f3
53 changed files with 657 additions and 205 deletions
@@ -160,6 +160,18 @@ Component({
}];
return renderDom;
}
// 7:处方开具成功
if (customMessage.message_type === GDXZ_CUSTOM_MSEEAGE.PRESCRIBE_VERIFY) {
let data = customMessage.data;
const renderDom = [{
type: 'prescribe',
product_name: data.product_name,
order_inquiry_id: data.order_inquiry_id,
order_prescription_id: data.order_prescription_id,
pharmacist_verify_time: data.pharmacist_verify_time.substring(0,10),
}];
return renderDom;
}
} catch (error) {
}
// 客服咨询
@@ -1,5 +1,6 @@
<view class="revoke" data-value="{{message}}">
<label class="name" wx:if="{{message.flow === 'in'}}">{{message.nick || message.from}}</label>
<view class="revoke" data-value="{{message}}" id="{{'ID-'+message.ID}}">
<!-- <label class="name" wx:if="{{message.flow === 'in'}}">{{message.nick || message.from}}</label> -->
<label class="name" wx:if="{{message.flow === 'in'}}">对方</label>
<label class="name" wx:else>你</label>
<span class="name">撤回了一条消息</span>
<span class="edit" wx:if="{{message.flow === 'out' && message.type === 'TIMTextElem'}}" bindtap="resendMessage" data-value="{{message}}">重新编辑</span>
@@ -1,6 +1,7 @@
import dayjs from '../../../../utils/dayjs';
import logger from '../../../../utils/logger';
import constant from '../../../../utils/constant';
import { getTimeAgoChat } from './../../../../../utils/util'
const { GDXZ_CUSTOM_MSEEAGE } = constant;
// eslint-disable-next-line no-undef
const app = getApp();
@@ -86,11 +87,12 @@ Component({
errorMessage: {},
errorMessageID: '',
typingMessage: {},
autoToButtom: true
},
lifetimes: {
attached() {
},
ready() {
if (this.data.unreadCount > 12) {
@@ -128,11 +130,22 @@ Component({
wx.$TUIKit.off(wx.$TUIKitTIM.EVENT.MESSAGE_REVOKED, this.$onMessageRevoked);
},
},
pageLifetimes: {
show(){
console.log("showshowshowshowshowshowshow")
},
hide(){
console.log("hidehidehidehidehidehidehidehidehidehidehide")
}
},
methods: {
// 刷新消息列表
refresh() {
console.log("refresh.......")
this.setData({
autoToButtom: false
})
if (this.data.isCompleted) {
this.setData({
isCompleted: true,
@@ -247,7 +260,12 @@ Component({
// 收到的消息
$onMessageReceived(value) {
let autoToButtom = this.data.autoToButtom;
console.log("autoToButtom:", autoToButtom)
const message = value.data[0];
if(message.flow == 'out'){
message.isRead = false;
}
if(!this.checkShowAvatar(message)){
message.no_avatar = true;
}
@@ -275,12 +293,14 @@ Component({
} catch (error) {
}
if ((item.type === MESSAGE_TYPE_TEXT.TIM_CUSTOM_ELEM && this.data.typingMessage.businessID !== BUSINESS_ID_TEXT.USER_TYPING) || item.type !== MESSAGE_TYPE_TEXT.TIM_CUSTOM_ELEM) {
this.data.showNewMessageCount.push(message);
this.setData({
showNewMessageCount: this.data.showNewMessageCount,
showDownJump: true,
});
if(!autoToButtom){
this.data.showNewMessageCount.push(message);
this.setData({
showNewMessageCount: this.data.showNewMessageCount,
showDownJump: true,
});
}
}
} else {
@@ -320,6 +340,13 @@ Component({
});
}
let jumpAim = `ID-${this.filterSystemMessageID(this.data.messageList[this.data.messageList.length - 1].ID)}`;
console.log("jumpAim:", jumpAim);
if(autoToButtom){
this.setData({
jumpAim: jumpAim
})
}
//主动跳到 消息跳转到最新
// this.handleJumpNewMessage()
},
@@ -381,8 +408,15 @@ Component({
// 获取消息ID
handleLongPress(e) {
for (let index = 0; index < this.data.messageList.length; index++) {
if (this.data.messageList[index].status === 'success') {
const { index } = e.currentTarget.dataset;
let message = this.data.messageList[index];
console.log(message)
if(message.type === 'TIMCustomElem'){
return
}
this.setData({
messageID: e.currentTarget.id,
selectedMessage: this.data.messageList[index],
@@ -519,11 +553,17 @@ Component({
});
}
},
//myscroll 自定义滑动事件
myscroll(e){
console.log(e.detail.deltaY,e.detail.scrollTop)
},
// 滑动到最底部置跳转事件为false
scrollHandler() {
console.log("触底了")
this.setData({
jumpAim: `ID-${this.filterSystemMessageID(this.data.messageList[this.data.messageList.length - 1].ID)}`,
showDownJump: false,
autoToButtom: true
});
},
// 删除处理掉的群通知消息
@@ -532,17 +572,19 @@ Component({
},
// 展示消息时间
messageTimeForShow(messageTime) {
console.log("messageTimeForShow")
const interval = 5 * 60 * 1000;
const nowTime = Math.floor(messageTime.time / 10) * 10 * 1000;
if (this.data.messageList.length > 0) {
const lastTime = this.data.messageList.slice(-1)[0].time * 1000;
console.log("nowTime - lastTime=", (nowTime - lastTime))
if (nowTime - lastTime > interval) {
Object.assign(messageTime, {
isShowTime: true,
}),
this.data.messageTime = dayjs(nowTime);
this.setData({
messageTime: dayjs(nowTime).format('YYYY-MM-DD HH:mm:ss'),
messageTime: getTimeAgoChat(nowTime/1000),
showMessageTime: true,
});
}
@@ -550,10 +592,12 @@ Component({
},
// 渲染历史消息时间
showHistoryMessageTime(messageList) {
const cut = 30 * 60 * 1000;
const cut = 5 * 60 * 1000;
for (let index = 0; index < messageList.length; index++) {
const nowadayTime = Math.floor(messageList[index].time / 10) * 10 * 1000;
const firstTime = messageList[0].time * 1000;
console.log("nowadayTime - firstTime=",(nowadayTime - firstTime))
console.log("cut",cut)
if (nowadayTime - firstTime > cut) {
const indexbutton = messageList.map(item => item).indexOf(messageList[index]); // 获取第一个时间大于30分钟的消息所在位置的下标
const firstTime = nowadayTime; // 找到第一个数组时间戳大于30分钟的将其值设为初始值
@@ -563,7 +607,7 @@ Component({
}),
this.setData({
firstTime: nowadayTime,
messageHistoryTime: dayjs(showHistoryTime).format('YYYY-MM-DD HH:mm:ss'),
messageHistoryTime: getTimeAgoChat(showHistoryTime/1000),
showMessageHistoryTime: true,
});
return firstTime;
@@ -577,7 +621,7 @@ Component({
Object.assign(messageList[0], {
isShowMoreHistoryTime: true,
});
this.data.newArr[messageList[0].ID] = dayjs(showHistoryTime).format('YYYY-MM-DD HH:mm:ss');
this.data.newArr[messageList[0].ID] = getTimeAgoChat(showHistoryTime/1000);
this.setData({
newArr: this.data.newArr,
});
@@ -4,21 +4,23 @@
<view class="no-message" wx:if="{{isCompleted}}">没有更多啦</view>
<view class="t-message" wx:if="{{conversation.type !== '@TIM#SYSTEM'}}" wx:for="{{messageList}}" wx:key="index" data-index ='{{index}}' >
<view class="time-pop-mask" data-value="{{item.time}}" wx:if="{{showMessageTime}}">
<view class="showmessagetime" wx:if="{{item.isShowTime}}">
<view class="showmessagetime 1" wx:if="{{item.isShowTime}}">
<text class="time" wx:if="{{!item.isDeleted && !item.isRevoked}}">{{messageTime}} </text>
</view>
</view>
<view class="time-pop-mask" data-value="{{item.time}}" wx:if="{{showMessageHistoryTime}}">
<view class="showmessagetime" wx:if="{{item.isShowHistoryTime && !item.isShowTime && !item.isShowMoreHistoryTime}}">
<view class="showmessagetime 2" wx:if="{{item.isShowHistoryTime && !item.isShowTime && !item.isShowMoreHistoryTime}}">
<text class="time" wx:if="{{!item.isDeleted && !item.isRevoked}}">{{messageHistoryTime}} </text>
</view>
</view>
<view class="time-pop-mask" wx:if="{{item.isShowMoreHistoryTime}}">
<view class="showmessagetime">
<view class="showmessagetime 3">
<text class="time">{{newArr[item.ID]}} </text>
</view>
</view>
<RevokeMessage wx:if="{{item.isRevoked}}" message="{{item}}" isMine="{{item.flow === 'out'}}" bind:resendMessage="resendMessage"/>
<view id="{{concat.concat(conversation.type,'ID-',item.ID)}}">
<RevokeMessage wx:if="{{item.isRevoked}}" message="{{item}}" isMine="{{item.flow === 'out'}}" bind:resendMessage="resendMessage"/>
</view>
<view class="t-message-item" wx:if="{{!item.isDeleted && !item.isRevoked }}" bindtap="handleEditToggleAvatar" >
<view wx:if="{{Show}}" catchtap="handleEditToggleAvatar">
<view class="label-pop" wx:if="{{messageID === concat.connect('ID-',item.ID)}}" class="{{item.flow === 'out' ? 'label-self-body' : 'label-recieve-body'}}" >
+1 -1
View File
@@ -5,7 +5,7 @@
<view class="left">
<view class="name">{{baseInfo.patient_family_name}}</view>
<view class="age">{{baseInfo.patient_family_sex==1?'男':'女'}}{{baseInfo.patient_family_age}}岁</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="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>
<view class="right">
<text class="right_txt" bindtap="putDoctorInquiryFinish" wx:if="{{baseInfo.inquiry_status==4}}">结束问诊</text>