This commit is contained in:
haomingming 2023-05-06 10:18:46 +08:00
parent 97a504c6d2
commit 7b9b80be8d
18 changed files with 318 additions and 164 deletions

View File

@ -9,7 +9,7 @@ Page({
baseInfo: {}
},
onLoad(option) {
console.log("chat onload", option);
// console.log("chat onload", option);
let order_inquiry_id = option.order_inquiry_id;
this.setData({
order_inquiry_id: order_inquiry_id,
@ -17,22 +17,22 @@ Page({
this.getInquiryMessageBasic();
},
onUnload() {
console.log("chat onUnload");
// console.log("chat onUnload");
},
onShow(){
console.log("chat onShow");
console.log("app.globalData.scene from chat: ", app.globalData.scene);
// console.log("chat onShow");
// console.log("app.globalData.scene from chat: ", app.globalData.scene);
},
$onMessageReceived(value) {
const message = value.data[0];
console.log("message from chat: ",message)
// 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);
// 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();
@ -48,9 +48,9 @@ Page({
},
//获取问诊订单消息内页基础数据
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 => {
console.log(response);
// console.log(response);
this.setData({
baseInfo: response.data
})

View File

@ -110,8 +110,8 @@ Page({
let top = 0;
top = wx.getMenuButtonBoundingClientRect().top - stateHeight; // 获取top值
console.log('navHeight', navHeight);
console.log('top', top);
// console.log('navHeight', navHeight);
// console.log('top', top);
this.setData({
// navHeight: navHeight + top * 2, // 导航栏高度
@ -120,10 +120,10 @@ Page({
});
},
getFunboxHeight(){
console.log("109: ", rpxTopx(109))
console.log("113: ", rpxTopx(113))
// console.log("109: ", rpxTopx(109))
// console.log("113: ", rpxTopx(113))
const { statusBarHeight } = wx.getSystemInfoSync();
console.log("statusBarHeight: ", rpxTopx(statusBarHeight));
// console.log("statusBarHeight: ", rpxTopx(statusBarHeight));
let funbox_height = wx.getSystemInfoSync().windowHeight - (this.data.stateHeight + this.data.navHeight + 10) - 55;//减去底部空白
funbox_height = rpxTopx(funbox_height);
// 147 userinfo的高度
@ -174,26 +174,26 @@ Page({
})
},
cancelContactDialog(){
console.log("cancelContactDialogcancelContactDialogcancelContactDialog");
// console.log("cancelContactDialogcancelContactDialogcancelContactDialog");
this.setData({
contactKeFu: false
})
},
onPullDownRefresh(){
console.log("用户下拉动作")
// console.log("用户下拉动作")
this.onShow();
},
onLoad(){
},
onUnload(){
console.log("index onUnload() onUnload() ");
// console.log("index onUnload() onUnload() ");
this.setData({
swiperList: []
})
},
onHide(){
console.log("index onHide() onHide() ");
// console.log("index onHide() onHide() ");
wx.offCopyUrl(this.Copylistener) // 需传入与监听时同一个的函数对象
@ -233,7 +233,7 @@ Page({
this.getMenuButtonBound();
api.yiShiIndex().then(response => {
console.log(response);
// console.log(response);
let avatar = response.data.info.avatar;
this.setData({
"info.user_name": response.data.info.user_name,
@ -323,7 +323,7 @@ Page({
},
onTapAD(e) {
let item = e.currentTarget.dataset.item;
console.log(item);
// console.log(item);
let open_with = item.open_with;
let banner_link = item.banner_link;
if(open_with == 1){//小程序页面
@ -338,10 +338,10 @@ Page({
},
go(e){
let checkDialog = this.checkDialog(e);
console.log("checkDialog: ", checkDialog);
// console.log("checkDialog: ", checkDialog);
if(checkDialog){
let url = e.currentTarget.dataset.url;
console.log(url);
// console.log(url);
if(url.indexOf("wenzhen") > -1){
wx.switchTab({
url: url,
@ -381,9 +381,9 @@ Page({
app.go(e.currentTarget.dataset.url);
},
confirmDialog(e){
console.log(e)
// console.log(e)
let url = e.currentTarget.dataset.url;
console.log("confirmDialog: ", url)
// console.log("confirmDialog: ", url)
this.setData({
dialog_visible: false
})
@ -637,11 +637,11 @@ Page({
let checkDialog = this.checkDialog(e);
if(checkDialog){
console.log("concatKeFu");
// console.log("concatKeFu");
wx.requestSubscribeMessage({
tmplIds: ['JMPmlYGh1HcUSuEfJCVQUIsZv4H5ar3QvXZfrNYNFuc'],
success (res) {
console.log(res);
// console.log(res);
_this.setData({
contactKeFu: true
})
@ -700,15 +700,15 @@ Page({
let now_case = this.data.mycase.find(item => {
return item.case_status == status;
});
console.log("now_case: ", now_case);
// console.log("now_case: ", now_case);
//所属模块
let moudle = e.currentTarget.dataset.moudle;
console.log("moudle: ", moudle);
// console.log("moudle: ", moudle);
if(now_case){
let now_moudle = now_case.case_module.find(item => {
return item == moudle;
})
console.log("now_moudle: ", now_moudle);
// console.log("now_moudle: ", now_moudle);
if(now_moudle != undefined){
this.setData({
dialog_content: now_case.case_text,

View File

@ -481,8 +481,9 @@ Page({
console.log(response);
this.setData({
doctor_advice: response.data.prescription.doctor_advice,
pharmacist_audit_status: response.data.prescription.pharmacist_audit_status,
zhenduan_list: response.data.prescription_icd,
drugs_box_item_list: response.data.prescription_product,
drugs_box_item_list: response.data.prescription_product
})
}).catch(errors => {console.error(errors);})
}

View File

@ -63,12 +63,16 @@
<form bindsubmit="{{ order_prescription_id == ''?'postDoctorPrescription':'putDoctorPrescription' }}">
<view class="txt_title">医嘱</view>
<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>
<textarea disabled="{{from == 'chat'}}" 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" 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>
<!-- 0:审核中 1:审核成功 2:审核驳回 -->
<view class="sub_btn" wx:if="{{from == 'chat'}}">
<van-button disabled color="#3CC7C0; font-size:30rpx; border-radius: 10rpx;" type="primary" block>{{ pharmacist_audit_status == 0?'审核中':pharmacist_audit_status==1?'审核成功':pharmacist_audit_status==2?'审核驳回':'审核中' }}</van-button>
</view>
</form>

View File

@ -11,10 +11,10 @@ Page({
height: app.globalData.height,
license_cert: [],
qualification_cert: [],
work_cert: []
work_cert: [],
license_cert_visible: false
},
onLoad(){
api.getDoctorCret().then(response => {
console.log(response);
this.setData({
@ -23,7 +23,21 @@ Page({
work_cert: response.data.work_cert,
})
}).catch(errors => {console.error(errors);})
}
},
show_license_cert(){
console.log("show_license_cert")
this.setData({
license_cert_visible: true
})
},
close_license_cert(e) {
const {
detail: { trigger },
} = e;
console.log("trigger: ", trigger);
console.log("close_license_cert")
this.setData({
license_cert_visible: false,
});
},
})

View File

@ -2,6 +2,7 @@
"component": true,
"usingComponents": {
"te-nav-bar": "/commpents/te_navbar",
"t-image": "tdesign-miniprogram/image/image"
"t-image": "tdesign-miniprogram/image/image",
"t-image-viewer": "tdesign-miniprogram/image-viewer/image-viewer"
}
}

View File

@ -11,7 +11,8 @@
mode="heightFix"
style="margin: 0 50rpx 0 20rpx;"
width="220rpx" height="220rpx"
aria-label="img" wx:for="{{license_cert}}" />
aria-label="img" wx:for="{{license_cert}}"
bindtap="show_license_cert" />
</view>
</view>
<view class="imgbox_item">
@ -40,4 +41,14 @@
</view>
</view>
</view>
<!-- <t-image-viewer
deleteBtn="{{false}}"
close-btn="{{true}}"
show-index="{{true}}"
visible="{{license_cert_visible}}"
images="{{license_cert}}"
bind:close="close_license_cert"
></t-image-viewer> -->
</view>

View File

@ -38,22 +38,22 @@ Page({
dot_4: false,
},
onLoad() {
console.log("wenzhen onloadddd");
// console.log("wenzhen onloadddd");
// if(wx.$TUIKit){
// wx.$TUIKit.on(wx.$TUIKitTIM.EVENT.MESSAGE_RECEIVED, this.$onMessageReceived, this);
// }else{
// app.imInit().then(res => {
// console.log("wenzhen onload imInit");
// // console.log("wenzhen onload imInit");
// wx.$TUIKit.on(wx.$TUIKitTIM.EVENT.MESSAGE_RECEIVED, this.$onMessageReceived, this);
// });
// }
//监听网络状态变化事件
wx.onNetworkStatusChange(function (res) {
console.log("onNetworkStatusChange from wenzhen: ")
console.log(res.isConnected)
console.log(res.networkType)
// console.log("onNetworkStatusChange from wenzhen: ")
// console.log(res.isConnected)
// console.log(res.networkType)
wx.showToast({
title: '网络类型'+res.networkType,
})
@ -89,10 +89,10 @@ Page({
this.setData({
unreadnnum_inter: unreadnnum_inter
})
console.log("app.globalData.unreadnnum_inter: ", app.globalData.unreadnnum_inter);
// console.log("app.globalData.unreadnnum_inter: ", app.globalData.unreadnnum_inter);
},
onShow: function () {
console.log("onShow from wenzhen V2")
// console.log("onShow from wenzhen V2")
if(this.data.hasOnShow){
wx.stopPullDownRefresh()
return;
@ -120,13 +120,13 @@ Page({
wx.$TUIKit.on(wx.$TUIKitTIM.EVENT.MESSAGE_RECEIVED, this.$onMessageReceived, this);
}else{
app.imInit().then(res => {
console.log("wenzhen onload imInit");
// console.log("wenzhen onload imInit");
wx.$TUIKit.on(wx.$TUIKitTIM.EVENT.MESSAGE_RECEIVED, this.$onMessageReceived, this);
});
}
},
onHide(){
console.log("onHideonHide from wenzhen")
// console.log("onHideonHide from wenzhen")
if (typeof this.getTabBar === 'function' && this.getTabBar()) {
this.getTabBar().stopInterval()
}
@ -154,7 +154,7 @@ Page({
wx.$TUIKit.off(wx.$TUIKitTIM.EVENT.MESSAGE_RECEIVED, this.$onMessageReceived);
},
onUnload(){
console.log("onUnload from wenzhen")
// console.log("onUnload from wenzhen")
this.setData({
hasOnShow: false,
message_inquiry_type: 9999,
@ -162,19 +162,19 @@ Page({
})
},
getConversationList(){
console.log("getConversationListgetConversationListgetConversationList");
// console.log("getConversationListgetConversationListgetConversationList");
app.imInit().then(res => {
console.log("wenzhen onload imInit: ", res);
// console.log("wenzhen onload imInit: ", res);
wx.$TUIKit.getConversationList().then((imResponse) => {
console.log("imResponse.data.conversationList from wenzhen_v2: ", imResponse.data.conversationList);
// console.log("imResponse.data.conversationList from wenzhen_v2: ", imResponse.data.conversationList);
this.setData({
conversationList: imResponse.data.conversationList,
});
}).then(() => {
console.log("开始查询订单状态")
// console.log("开始查询订单状态")
this.formatStatus();
}).catch(error => {
console.log(error)
console.error(error)
});
});
},
@ -189,7 +189,7 @@ Page({
},
$onMessageReceived(value) {
const message = value.data[0];
console.log("message from wenzhen: ",message)
// console.log("message from wenzhen: ",message)
this.getConversationList();
// let cloudCustomData = JSON.parse(message.cloudCustomData);
// let inquiry_type = cloudCustomData.inquiry_type;
@ -286,6 +286,7 @@ Page({
order_inquiry_id_list.push("");//初始化一个,防止失败
this.data.conversationList.forEach(item => {
let conversationID = item.conversationID;
console.warn("conversationID: ", conversationID)
if(conversationID == "C2Cadministrator") return;//如果是管理员消息直接跳过
let lastMessage = item.lastMessage;
if(!lastMessage) return;
@ -295,7 +296,7 @@ Page({
try {
cloudCustomDataJson = JSON.parse(cloudCustomData);
} catch (error) {
console.log(error);
// console.log(error);
return;
}
let order_inquiry_id = cloudCustomDataJson.order_inquiry_id;
@ -341,7 +342,7 @@ Page({
conversationList: new_conversationList
})
}).then(() => {
console.log("开始格式化formatConversationList")
// console.log("开始格式化formatConversationList")
this.formatConversationList();
}).catch(errors => {console.error(errors);})
},
@ -386,7 +387,7 @@ Page({
if(index > -1) return;
let patient_family_data = cloudCustomDataJson.patient_family_data;
if(patient_family_data == undefined) return;
console.log("patient_family_data: ", patient_family_data);
// console.log("patient_family_data: ", patient_family_data);
let session_item = {};
session_item.inquiry_status = item.inquiry_status;//订单状态暂无
let txt = {};
@ -394,7 +395,7 @@ Page({
let text = "自定义消息";
let payload = lastMessage.payload;
if(payload) {
console.log("payload: ",payload.data);
// console.log("payload: ",payload.data);
let payloadJson = JSON.parse(payload.data);
text = payloadJson.title.replaceAll(/—/g, "");
}
@ -462,7 +463,7 @@ Page({
return index;
},
onTabsChange(e){
console.log(e);
// console.log(e);
},
goChat(e){
this.setData({
@ -487,13 +488,13 @@ Page({
this.setData({
show: false
})
console.log("order_inquiry_id: ", e.currentTarget.dataset.order_inquiry_id);
// console.log("order_inquiry_id: ", e.currentTarget.dataset.order_inquiry_id);
let params = {};
params.order_inquiry_id = e.currentTarget.dataset.order_inquiry_id;
console.log("params: ",params)
// console.log("params: ",params)
api.postDoctorInquiry(params).then(response => {
console.log("开始接诊");
console.log(response);
// console.log("开始接诊");
// console.log(response);
}).then(() => {
this.goChat(e);
}).catch(errors => {
@ -517,7 +518,7 @@ Page({
let show_dialog_from_account = e.currentTarget.dataset.show_dialog_from_account;
let show_dialog_order_inquiry_id = e.currentTarget.dataset.show_dialog_order_inquiry_id;
let show_dialog_inquiry_type = e.currentTarget.dataset.show_dialog_inquiry_type;
console.log("tabShowtabShowtabShowtabShow");
// console.log("tabShowtabShowtabShowtabShow");
this.setData({
show_dialog_from_account: show_dialog_from_account,
show_dialog_order_inquiry_id: show_dialog_order_inquiry_id,
@ -526,24 +527,24 @@ Page({
})
},
onClose(){
console.log("onCloseonCloseonCloseonClose")
// console.log("onCloseonCloseonCloseonClose")
this.setData({
show: false
})
},
vanTabsChange(e){
console.log(e)
// // console.log(e)
this.setData({
now_message_inquiry_type: e.detail.name
})
},
onPullDownRefresh(){
console.log("用户下拉动作")
// console.log("用户下拉动作")
this.onHide();
this.onShow();
},
onReachBottom() {
console.log('===触底了!!===');
// console.log('===触底了!!===');
let now_message_inquiry_type = this.data.now_message_inquiry_type;
if(now_message_inquiry_type == 5){
if(this.data.current_page < this.data.last_page){//最后一页时停止分页
@ -557,7 +558,7 @@ Page({
params.page = this.data.current_page + 1;
this.setData({data_list_5_loading: true})
api.getDoctorInquiryFinishMessage(params).then(response => {
console.log(response);
// console.log(response);
this.setData({
"data_list_5": data_list_5.concat(response.data.data),
current_page: response.data.current_page,

View File

@ -9,7 +9,6 @@ Component({
type: Object,
value: {},
observer(newVal) {
console.log("observerobserverobserverobserver")
// console.log(newVal)
this.setData({
renderDom: parseText(newVal),

View File

@ -96,7 +96,8 @@ Component({
ChangYongYu: [],
dialog_visible: false,
dialog_message: "在线开处方需先进行多点执业认证",
message_rounds: 0
message_rounds: 0,
networkstatus: "wifi"
},
lifetimes: {
@ -132,6 +133,27 @@ Component({
text: '按住说话',
});
});
let _this = this
wx.onNetworkStatusChange(function (res) {
// console.log("onNetworkStatusChange from wenzhen: ")
// console.log(res.isConnected)
// console.log(res.networkType)
// wx.showToast({
// title: '网络类型:'+res.networkType,
// })
_this.setData({
networkstatus: res.networkType
})
})
console.log("pageLifetimes show")
wx.getNetworkType({
success (res) {
const networkType = res.networkType
_this.setData({
networkstatus: networkType
})
}
})
},
},
@ -139,7 +161,7 @@ Component({
show(){
//获得常用语
let words = wx.getStorageSync('words');
console.log("words from chat: ", words);
// console.log("words from chat: ", words);
if(words){
this.setData({
message: words,
@ -147,6 +169,18 @@ Component({
})
wx.setStorageSync('words', "");
}
console.log("pageLifetimes show")
let _this = this
wx.getNetworkType({
success (res) {
const networkType = res.networkType
_this.setData({
networkstatus: networkType
})
}
})
}
},
@ -323,13 +357,23 @@ Component({
// 发送图片消息
handleSendImageMessage(file) {
let networkstatus = this.data.networkstatus
console.log("networkstatus: ", networkstatus)
if(networkstatus === 'none'){
wx.showToast({
title: '请检查您的网络',
icon: 'error'
})
return
}
let _this = this;
let conversationID = this.data.conversation.conversationID
let promise = wx.$TUIKit.getConversationProfile(conversationID);
promise.then(function(imResponse) {
console.log("getConversationProfile 正在执行")
// console.log("getConversationProfile 正在执行")
// 获取成功
console.log(imResponse.data.conversation); // 会话资料
// console.log(imResponse.data.conversation); // 会话资料
_this.setData({
conversation: imResponse.data.conversation
})
@ -340,7 +384,7 @@ Component({
Promise.all([promise]).then(res => {
// 获取最后一条消息
let last_message = this.data.conversation.lastMessage;
console.log("last_message: ", last_message);
// console.log("last_message: ", last_message);
let cloudCustomData = "";
let cloudCustomDataJson = "";
if(last_message.cloudCustomData){
@ -412,7 +456,7 @@ Component({
},
handleCommonFunctions(e) {
console.log("handleCommonFunctions: ", e)
// console.log("handleCommonFunctions: ", e)
switch (e.target.dataset.key) {
case '0':
this.setData({
@ -434,11 +478,11 @@ Component({
break;
case '11'://在线开方
let _this = this;
console.log("开始订阅消息");
// console.log("开始订阅消息");
wx.requestSubscribeMessage({
tmplIds: ['kUy70xHlr7ADo4aIHiictM4Te7MSec3E5kHsYvFQu40'],
success (res) {
console.log(res);
// console.log(res);
let order_inquiry_id = _this.data.order_inquiry_id
api.getDoctorPrescriptionCheck({order_inquiry_id: order_inquiry_id}).then(response => {
let status = response.data.status
@ -604,6 +648,17 @@ Component({
},
sendTextMessage(msg, flag) {
let networkstatus = this.data.networkstatus
console.log("networkstatus: ", networkstatus)
if(networkstatus === 'none'){
wx.showToast({
title: '请检查您的网络',
icon: 'error'
})
return
}
wx.aegis.reportEvent({
name: 'messageType',
ext1: 'messageType-text',
@ -614,9 +669,9 @@ Component({
let conversationID = this.data.conversation.conversationID
let promise = wx.$TUIKit.getConversationProfile(conversationID);
promise.then(function(imResponse) {
console.log("getConversationProfile 正在执行")
// console.log("getConversationProfile 正在执行")
// 获取成功
console.log(imResponse.data.conversation); // 会话资料
// console.log(imResponse.data.conversation); // 会话资料
_this.setData({
conversation: imResponse.data.conversation
})
@ -625,10 +680,10 @@ Component({
});
Promise.all([promise]).then(res => {
console.log("getConversationProfile 执行完毕")
// console.log("getConversationProfile 执行完毕")
//获取最后一条消息
let last_message = this.data.conversation.lastMessage;
console.log("last_message: ", last_message);
// console.log("last_message: ", last_message);
let cloudCustomData = "";
let cloudCustomDataJson = "";
if(last_message.cloudCustomData){
@ -659,8 +714,8 @@ Component({
patient_family_data: patient_family_data
});
console.log("mycloudCustomData: ", mycloudCustomData);
console.log("text: ", text);
// console.log("mycloudCustomData: ", mycloudCustomData);
// console.log("text: ", text);
const message = wx.$TUIKit.createTextMessage({
to,
conversationType: this.data.conversation.type,
@ -850,6 +905,15 @@ Component({
},
$sendTIMMessage(message) {
console.log("$sendTIMMessage: ",message)
let networkstatus = this.data.networkstatus
if(networkstatus === 'none'){
wx.showToast({
title: '请检查您的网络',
icon: 'error'
})
return
}
this.triggerEvent('sendMessage', {
message,
});
@ -857,7 +921,14 @@ Component({
offlinePushInfo: {
disablePush: true,
},
}).then(() => {
}).then((res) => {
console.log("sendMessage:", res)
if(res.code === 0){
this.triggerEvent('refreshMessageStatus', {
message,
});
}
const firstSendMessage = wx.getStorageSync('isFirstSendMessage');
if (firstSendMessage) {
wx.aegis.reportEvent({

View File

@ -140,22 +140,23 @@ Component({
this.setData({
list_first_loading: true
})
console.log("showshowshowshowshowshowshow")
// console.log("showshowshowshowshowshowshow")
},
hide(){
this.setData({
list_first_loading: false
})
console.log("hidehidehidehidehidehidehidehidehidehidehide")
// console.log("hidehidehidehidehidehidehidehidehidehidehide")
}
},
methods: {
// 刷新消息列表
refresh() {
console.log("refresh.......")
// console.log("refresh.......")
this.setData({
autoToButtom: false
autoToButtom: false,
list_first_loading: true
})
if (this.data.isCompleted) {
this.setData({
@ -171,9 +172,13 @@ Component({
});
}, 2000);
},
pcrefresh(){
console.log("pcrefresh")
wx.startPullDownRefresh()
},
// 获取消息列表
getMessageList(conversation) {
console.log("getMessageListgetMessageListgetMessageList")
// console.log("getMessageListgetMessageListgetMessageList")
if (!this.data.isCompleted) {
wx.$TUIKit.getMessageList({
conversationID: conversation.conversationID,
@ -227,7 +232,8 @@ Component({
}
},
refreshMessageRounds(message){
console.log("messageList refreshMessageRounds message: ", message);
try {
// console.log("messageList refreshMessageRounds message: ", message);
let cloudCustomData = "";
let cloudCustomDataJson = "";
if(message.cloudCustomData){
@ -243,7 +249,7 @@ Component({
if(payloadData){
let title = payloadData.title
//问诊已开始重置message_rounds = 0
if(title.indexOf("问诊已开始") > -1){
if(title && title.indexOf("问诊已开始") > -1){
this.setData({
message_rounds: 0
})
@ -256,10 +262,10 @@ Component({
}
let now_message_rounds = this.data.message_rounds
console.log("now_message_rounds: ", now_message_rounds)
// console.log("now_message_rounds: ", now_message_rounds)
if(cloudCustomDataJson){
let message_rounds = cloudCustomDataJson.message_rounds;
console.log("message_rounds: ", message_rounds)
// console.log("message_rounds: ", message_rounds)
if(message_rounds > now_message_rounds){
this.setData({
message_rounds: message_rounds
@ -269,6 +275,10 @@ Component({
this.triggerEvent('refreshMessageRounds', myEventOption)
}
}
} catch (error) {
console.error(error)
}
},
checkShowAvatar(message, refreshBaseInfo){
// console.log("checkShowAvatar ");
@ -294,7 +304,7 @@ Component({
},
// 历史消息渲染
$handleMessageRender(messageList, currentMessageList) {
console.log("handleMessageRenderhandleMessageRenderhandleMessageRender");
// console.log("handleMessageRenderhandleMessageRenderhandleMessageRender");
// this.showHistoryMessageTime(currentMessageList);
if (messageList.length > 0) {
if (this.data.conversation.type === '@TIM#SYSTEM') {
@ -311,7 +321,7 @@ Component({
},
// 系统消息去重
filterRepateSystemMessage(messageList) {
console.log("filterRepateSystemMessage")
// console.log("filterRepateSystemMessage")
const noRepateMessage = [];
for (let index = 0; index < messageList.length; index++) {
if (!noRepateMessage.some(item => item && item.ID === messageList[index].ID)) {
@ -342,7 +352,7 @@ Component({
$onMessageReceived(value) {
let autoToButtom = this.data.autoToButtom;
console.log("autoToButtom:", autoToButtom)
// console.log("autoToButtom:", autoToButtom)
const message = value.data[0];
//更新会话数
this.refreshMessageRounds(message)
@ -355,8 +365,8 @@ Component({
wx.$TUIKit.setMessageRead({ conversationID: this.data.conversation.conversationID }).then(() => {
logger.log('| MessageList | setMessageRead | ok');
});
console.log('| MessageList | setMessageRead | ok');
console.log('message cloudCustomData', message.cloudCustomData);
// console.log('| MessageList | setMessageRead | ok');
// console.log('message cloudCustomData', message.cloudCustomData);
const { BUSINESS_ID_TEXT, MESSAGE_TYPE_TEXT } = constant;
// this.messageTimeForShow(message);
@ -430,11 +440,11 @@ Component({
}
let jumpAim = `ID-${this.filterSystemMessageID(this.data.messageList[this.data.messageList.length - 1].ID)}`;
console.log("jumpAim:", jumpAim);
// console.log("jumpAim:", jumpAim);
console.log("message.from: ", message.from)
console.log("conversation: ", this.data.conversation)
console.log("conversation: ", this.data.conversation.lastMessage.from)
// console.log("message.from: ", message.from)
// console.log("conversation: ", this.data.conversation)
// console.log("conversation: ", this.data.conversation.lastMessage.from)
if(autoToButtom && message.conversationID === this.data.conversation.conversationID){
this.setData({
jumpAim: jumpAim
@ -445,8 +455,8 @@ Component({
},
// 自己的消息上屏
updateMessageList(message) {
console.log("自己的消息上屏 updateMessageList: ", message);
console.log(message);
// console.log("自己的消息上屏 updateMessageList: ", message);
// console.log(message);
//自己的消息有头像
if(!this.checkShowAvatar(message, false)){
message.no_avatar = true;
@ -474,7 +484,7 @@ Component({
this.data.messageList.push(message);
}
} else {
console.log(message)
// console.log(message)
this.data.messageList.push(message);
}
this.setData({
@ -487,6 +497,16 @@ Component({
});
});
},
refreshMessageStatus(message){
console.log("MessageList refreshMessageStatus", message)
this.setData({
messageList: this.data.messageList,
}, () => {
this.setData({
messageList: this.data.messageList,
});
});
},
// 兼容 scrollView
filterSystemMessageID(messageID) {
const index = messageID.indexOf('@TIM#');
@ -506,7 +526,7 @@ Component({
if (this.data.messageList[index].status === 'success') {
const { index } = e.currentTarget.dataset;
let message = this.data.messageList[index];
console.log(message)
// console.log(message)
if(message.type === 'TIMCustomElem'){
return
}
@ -521,7 +541,7 @@ Component({
},
// 更新 messagelist
updateMessageByID(deleteMessageID) {
console.log("updateMessageByIDupdateMessageByIDupdateMessageByID")
// console.log("updateMessageByIDupdateMessageByIDupdateMessageByID")
const { messageList } = this.data;
const deleteMessageArr = messageList.filter(item => item.ID === deleteMessageID);
this.setData({
@ -624,7 +644,7 @@ Component({
},
// 消息跳转到最新
handleJumpNewMessage() {
console.log("handleJumpNewMessage")
// console.log("handleJumpNewMessage")
this.setData({
jumpAim: `ID-${this.filterSystemMessageID(this.data.messageList[this.data.messageList.length - 1].ID)}`,
showDownJump: false,
@ -633,7 +653,7 @@ Component({
},
// 消息跳转到最近未读
handleJumpUnreadMessage() {
console.log("handleJumpUnreadMessage")
// console.log("handleJumpUnreadMessage")
if (this.data.unreadCount > 15) {
this.getMessageList(this.data.conversation);
this.setData({
@ -650,11 +670,11 @@ Component({
},
//myscroll 自定义滑动事件
myscroll(e){
console.log(e.detail.deltaY,e.detail.scrollTop)
// console.log(e.detail.deltaY,e.detail.scrollTop)
},
// 滑动到最底部置跳转事件为false
scrollHandler() {
console.log("触底了")
// console.log("触底了")
this.setData({
jumpAim: `ID-${this.filterSystemMessageID(this.data.messageList[this.data.messageList.length - 1].ID)}`,
showDownJump: false,
@ -667,14 +687,14 @@ Component({
},
// 展示消息时间
messageTimeForShow(message) {
console.log("messageTimeForShow")
// console.log("messageTimeForShow")
// const interval = 5 * 60 * 1000;
const interval = 5 * 60;
const nowTime = Math.floor(message.time / 10) * 10 * 1000;
console.log("nowTime: ", nowTime)
// console.log("nowTime: ", nowTime)
if (this.data.messageList.length > 0) {
const lastTime = this.data.messageList.slice(-1)[0].time * 1000;
console.log("nowTime - lastTime=", (nowTime - lastTime))
// console.log("nowTime - lastTime=", (nowTime - lastTime))
if (nowTime - lastTime > interval) {
Object.assign(message, {
isShowTime: true,
@ -683,7 +703,7 @@ Component({
let messageTime = this.cachMessageTime(nowTime);
message.messageTime = messageTime[0];
message.showMessageTime = messageTime[1];
console.log("dayjs(nowTime): ", dayjs(nowTime))
// console.log("dayjs(nowTime): ", dayjs(nowTime))
this.setData({
messageTime: this.cachMessageTime(nowTime)[0],
showMessageTime: true,

View File

@ -13,6 +13,7 @@
"FileMessage": "../MessageElements/FileMessage/index",
"MergerMessage": "../MessageElements/MergerMessage/index",
"RevokeMessage": "../MessageElements/RevokeMessage/index",
"van-loading": "@vant/weapp/loading/index"
"van-loading": "@vant/weapp/loading/index",
"van-icon": "@vant/weapp/icon/index"
}
}

View File

@ -2,8 +2,8 @@
<scroll-view class="message-list-container" scroll-y="true" scroll-into-view="{{jumpAim}}" refresher-enabled="{{true}}" bindrefresherrefresh="refresh" refresher-triggered="{{triggered}}" lower-threshold="200" bindscrolltolower="scrollHandler" bindscrolltoupper="refresh" upper-threshold="100">
<view class="no-message" wx:if="{{isCompleted}}">没有更多啦</view>
<view style="width: 100%;text-align: center;position: absolute;top: 50%;">
<van-loading size="24px" wx:if="{{list_first_loading}}">加载中...</van-loading>
<view style="width: 100%;text-align: center;position: absolute;top: 20rpx;">
<van-loading size="24px" wx:if="{{list_first_loading}}" vertical color="#1989fa">加载中...</van-loading>
</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="{{item.showMessageTime}}">
@ -40,9 +40,14 @@
<TipMessage wx:if="{{item.type === 'TIMGroupTipElem'}}" message="{{item}}"/>
<view wx:if="{{item.type !== 'TIMGroupTipElem'}}" class="{{item.flow === 'out' ? 't-self-message':'t-recieve-message'}}" >
<image class="t-message-avatar" wx:if="{{item.flow === 'in' && !item.no_avatar }}" src="{{item.avatar || 'https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/default_photo.png'}}" data-value="{{item}}" bindtap="getMemberProfile" />
<view class="read-receipts" wx:if="{{conversation.type === 'C2C' && item.flow==='out' }}">
<!-- <view wx:if="{{item.isPeerRead}}" >已读</view>
<view wx:else>未读</view> -->
<!-- <view class="read-receipts" wx:if="{{conversation.type === 'C2C' && item.flow==='out' }}">
<view wx:if="{{item.isPeerRead}}" >已读</view>
<view wx:else>未读</view>
</view> -->
<view class="message_send_status" wx:if="{{conversation.type === 'C2C' && item.flow==='out' }}">
<van-loading type="spinner" wx:if="{{item.status == 'unSend'}}" size="24px" />
<van-icon name="fail" color="red" wx:if="{{item.status == 'fail'}}" />
<!-- <van-icon name="success" color="green" wx:if="{{item.status == 'success'}}" /> -->
</view>
<view wx:if="{{item.flow === 'out' && item.ID === errorMessageID || item.status === 'fail'}}" class="t-message-error-box">
<image class="t-message-error" wx:if="{{showMessageError}}" src='../../../../static/images/tuikit-msg-error.png' bindtap="ResendMessage" />

View File

@ -62,6 +62,13 @@
color: #6e7981;
margin-right: 10px
}
.message_send_status {
line-height: 42px;
height: 42px;
font-size: 12px;
color: #6e7981;
margin-right: 10px
}
.no-message {
text-align: center;
position: fixed;

View File

@ -81,7 +81,7 @@ Component({
}
this.getNavbarHeight()
wx.onKeyboardHeightChange(res => {
console.log("键盘高度:", res.height)
// console.log("键盘高度:", res.height)
this.setData({
keysboards_height: res.height
})
@ -98,7 +98,7 @@ Component({
// console.log("pages.length:", pages.length)
// console.log("pages:", pages[0])
if(pages.length == 1){
console.log("navbarData.showCapsule");
// console.log("navbarData.showCapsule");
this.setData({
"navbarData.showCapsule": 3
})
@ -149,9 +149,9 @@ Component({
*/
methods: {
refreshMessageRounds(e){
console.log("TUIchat refreshMessageRounds", e)
// console.log("TUIchat refreshMessageRounds", e)
let message_rounds = e.detail.message_rounds
console.log("TUIchat refreshMessageRounds message_rounds", message_rounds)
// console.log("TUIchat refreshMessageRounds message_rounds", message_rounds)
this.setData({
message_rounds: message_rounds
})
@ -161,18 +161,18 @@ Component({
if (wx.getMenuButtonBoundingClientRect) {
rect = wx.getMenuButtonBoundingClientRect();
}
console.log("rect: ", rect)
// console.log("rect: ", rect)
wx.getSystemInfo({
success: (res) => {
const { statusBarHeight } = wx.getSystemInfoSync();
console.log("statusBarHeight: ", statusBarHeight);
console.log("${rect.height}px: ", `${rect.height}`);
// console.log("statusBarHeight: ", statusBarHeight);
// console.log("${rect.height}px: ", `${rect.height}`);
let height = Number.parseInt(statusBarHeight) + Number.parseInt(`${rect.height}`) + 50;
if(addHeight){
height = height + addHeight
}
let keysboards_height = this.data.keysboards_height
console.log("getNavbarHeight 键盘高度:", keysboards_height)
// console.log("getNavbarHeight 键盘高度:", keysboards_height)
if(keysboards_height){
height = height + keysboards_height
}
@ -198,7 +198,7 @@ Component({
},
confirmDialog(){
api.putDoctorInquiryFinish({order_inquiry_id: this.data.order_inquiry_id}).then(response => {
console.log(response);
// console.log(response);
this.getInquiryMessageBasic();
//调用子组件中的跳到最新消息
this.selectComponent('#MessageList').handleJumpNewMessage();
@ -209,9 +209,9 @@ Component({
},
//获取问诊订单消息内页基础数据
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 => {
console.log(response);
// console.log(response);
this.setData({
baseInfo: response.data,
})
@ -260,11 +260,15 @@ Component({
this.selectComponent('#MessageList').updateMessageList(event.detail.message);
this.getNavbarHeight();
},
refreshMessageStatus(message) {
console.log("TUIchat refreshMessageStatus", message)
this.selectComponent('#MessageList').refreshMessageStatus(message);
},
showMessageErrorImage(event) {
this.selectComponent('#MessageList').sendMessageError(event);
},
triggerClose() {
console.log("message-list triggerClose")
// console.log("message-list triggerClose")
if(this.data.baseInfo.inquiry_status == 4){
this.selectComponent('#MessageInput').handleClose();
}
@ -301,7 +305,7 @@ Component({
this.selectComponent('#MessageInput').onInputValueChange(event);
},
myhandleExtensions(e){
console.log("myhandleExtensionsmyhandleExtensions: ", e);
// console.log("myhandleExtensionsmyhandleExtensions: ", e);
wx.hideKeyboard()
let displayFlag = e.detail.displayFlag;
setTimeout(() => {
@ -321,7 +325,7 @@ Component({
},
// 监听键盘,获取焦点时将输入框推到键盘上方
pullKeysBoards(event) {
console.log("pullKeysBoardspullKeysBoards")
// console.log("pullKeysBoardspullKeysBoards")
setNewInputStyle(event.detail.event.detail.height);
this.getNavbarHeight();
@ -334,8 +338,8 @@ Component({
},
// 监听键盘,失去焦点时收起键盘
downKeysBoards(event) {
console.log("downKeysBoardsdownKeysBoards")
console.log(event)
// console.log("downKeysBoardsdownKeysBoards")
// console.log(event)
let value = event.detail.event.detail.value;
this.getNavbarHeight();
if(value){

View File

@ -36,6 +36,7 @@
<view class="input-area" style="{{input_area_style}}" wx:if="{{baseInfo.inquiry_status==4}}">
<view class="message-input" style="{{viewData.style}}" wx:if="{{showChat}}">
<MessageInput bind:myhandleExtensions="myhandleExtensions" id="MessageInput" inquiry_type="{{inquiry_type}}" baseInfo="{{baseInfo}}" order_inquiry_id="{{order_inquiry_id}}" conversation="{{conversation}}" hasCallKit="{{hasCallKit}}" bind:sendMessage="sendMessage" bind:downKeysBoards="downKeysBoards" bind:pullKeysBoards="pullKeysBoards" bind:showMessageErrorImage="showMessageErrorImage"
bind:refreshMessageStatus="refreshMessageStatus"
bind:handleCall="handleCall" message_rounds="{{message_rounds}}"></MessageInput>
</view>
</view>

File diff suppressed because one or more lines are too long

65
app.js
View File

@ -25,7 +25,7 @@ App({
}
})
console.log("download fonts from oss ");
// console.log("download fonts from oss ");
let loadStatus = false;
if (!loadStatus) {
// wx.loadFontFace({
@ -51,18 +51,18 @@ App({
//监听网络状态变化事件
wx.onNetworkStatusChange(function (res) {
console.log("onNetworkStatusChange: ")
console.log(res.isConnected)
console.log(res.networkType)
// console.log("onNetworkStatusChange: ")
// console.log(res.isConnected)
// console.log(res.networkType)
wx.showToast({
title: '网络类型'+res.networkType,
})
})
wx.onNetworkWeakChange(function(res){
console.log("onNetworkWeakChange: ")
console.log(res.isConnected)
console.log(res.networkType)
// console.log("onNetworkWeakChange: ")
// console.log(res.isConnected)
// console.log(res.networkType)
})
},
onShow(){
@ -81,7 +81,7 @@ App({
}
this.globalData.config.userID = userID;
let sign = genTestUserSig(this.globalData.config);
console.log("sign: ", sign);
// console.log("sign: ", sign);
// const userSig = sign.userSig;
if(!wx.$TUIKit){
@ -93,7 +93,7 @@ App({
}
return response.data;
}).then((userSig) => {
console.log("userSig: ", userSig);
// console.log("userSig: ", userSig);
wx.$TUIKit = TIM.create({
SDKAppID: this.globalData.config.SDKAPPID
});
@ -102,6 +102,7 @@ App({
wx.$chat_SDKAppID = this.globalData.config.SDKAPPID;
wx.$chat_userSig = userSig;
wx.$TUIKitTIM = TIM;
console.log("TIM: ", wx.$TUIKitTIM)
wx.$TUIKit.registerPlugin({ 'tim-upload-plugin': TIMUploadPlugin });
let login_promise = wx.$TUIKit.login({
userID: this.globalData.config.userID,
@ -109,7 +110,7 @@ App({
});
login_promise.then(function(imResponse) {
console.log(imResponse.data); // 登录成功
// console.log(imResponse.data); // 登录成功
}).catch(function(imError) {
console.warn('login error:', imError); // 登录失败的相关信息
@ -125,7 +126,7 @@ App({
let promise = new Promise((resolve, reject) => {
resolve("success");
}).then(res => {
console.log("from app js:", res);
// console.log("from app js:", res);
return "from app js";
});
return promise;
@ -145,12 +146,12 @@ App({
})
},
onTotalUnreadMessageCountUpdated(){
console.log("onTotalUnreadMessageCountUpdated");
// console.log("onTotalUnreadMessageCountUpdated");
let totalUnreadCount = wx.$TUIKit.getTotalUnreadMessageCount();
console.log("未读消息数量:", totalUnreadCount)
// console.log("未读消息数量:", totalUnreadCount)
},
onSDKReady(){
console.log("onSDKReady from app.js");
// console.log("onSDKReady from app.js");
this.globalData.chat_sdk_ready = true;
// let promise = wx.$TUIKit.deleteConversation('C2C500318318078251008');
@ -161,6 +162,18 @@ App({
// console.warn('deleteConversation error:', imError); // 删除会话失败的相关信息
// });
// console.log("TIM.version: ", wx.$TUIKitTIM)
// console.log("wx.$TUIKit: ",wx.$TUIKit.deleteConversation)
// // 删除单一会话, 不清空会话历史消息
// let promise = wx.$TUIKit.deleteConversation({conversationIDList:["C2C492404831991414785"], clearHistoryMessage: false});
// promise.then(function(imResponse) {
// // 删除会话成功
// console.log("删除成功!!")
// const { conversationIDList } = imResponse.data; // 被删除的会话 ID 列表
// }).catch(function(imError) {
// console.warn('deleteConversation error:', imError); // 删除会话失败的相关信息
// });
let usertype = wx.getStorageSync('usertype');
let userID = wx.getStorageSync('user_id_'+usertype);
//初始化tab-bar角标
@ -176,7 +189,7 @@ App({
wx.$TUIKit.on(wx.$TUIKitTIM.EVENT.KICKED_OUT, this.onKickedOut);
},
onKickedOut(){
console.log("onKickedOutonKickedOutonKickedOutonKickedOut");
// console.log("onKickedOutonKickedOutonKickedOutonKickedOut");
let usertype = wx.getStorageSync('usertype');
wx.setStorageSync('AUTH_TOKEN_'+usertype, "");
wx.setStorageSync('user_id_'+usertype, "");
@ -184,22 +197,22 @@ App({
this.go("/Pages/kickedout/index");
},
$onSystemPushReceived(e){
console.log("onSystemPushReceived from app.js");
console.log(e)
// console.log("onSystemPushReceived from app.js");
// console.log(e)
let usertype = wx.getStorageSync('usertype');
let userID = wx.getStorageSync('user_id_'+usertype);
let message = e.data[0];
console.log(message)
// console.log(message)
let type = message.type;
console.log(type);
// console.log(type);
let unread_name = "";
if(type == TIM.TYPES.MSG_CUSTOM){
let payload = message.payload;
let payloadData = payload.data;
let payloadDataJson = JSON.parse(payloadData);
let message_type = payloadDataJson.message_type;
console.log("message_type: ", message_type);
// console.log("message_type: ", message_type);
switch (message_type) {
case GDXZ_CUSTOM_MSEEAGE.TRABECULA:
unread_name = userID+"_wenzhen_info"; //1、消息内页横条
@ -271,13 +284,13 @@ App({
},
getConversationList(){
wx.$TUIKit.getConversationList().then((imResponse) => {
console.log("getConversationList from app js: ", imResponse.data.conversationList);
// console.log("getConversationList from app js: ", imResponse.data.conversationList);
return imResponse.data.conversationList;
}).then(conversationList => {
console.log("开始查询订单状态")
// console.log("开始查询订单状态")
this.formatStatus(conversationList);
}).catch(error => {
console.log(error)
console.error(error)
});
},
formatStatus(conversationList){
@ -294,7 +307,7 @@ App({
try {
cloudCustomDataJson = JSON.parse(cloudCustomData);
} catch (error) {
console.log(error);
console.error(error);
return;
}
let order_inquiry_id = cloudCustomDataJson.order_inquiry_id;
@ -339,7 +352,7 @@ App({
}
return new_conversationList;
}).then(new_conversationList => {
console.log("开始计算问诊角标");
// console.log("开始计算问诊角标");
let wenzhen_info = 0;
new_conversationList.forEach(item => {
let unreadCount = item.unreadCount;
@ -352,7 +365,7 @@ App({
}
}
})
console.log("角标的数量:", wenzhen_info);
// console.log("角标的数量:", wenzhen_info);
let usertype = wx.getStorageSync('usertype');
let userID = wx.getStorageSync('user_id_'+usertype);
wx.setStorageSync(userID+'_wenzhen_info', wenzhen_info);