1.22 分包

This commit is contained in:
zoujiandong
2024-01-22 08:56:07 +08:00
parent 2bd2fd31ac
commit 48a8c3ebab
237 changed files with 453 additions and 8541 deletions
@@ -1,6 +1,6 @@
import formateTime from '../../../../../utils/formate-time';
import constant from '../../../../../utils/constant';
import debounce from '../../../../../../../utils/debounce';
import debounce from '../../../../../utils/debounce';
import { API } from '../../../../../../../utils/network/api'
const app = getApp()
const api = new API();
@@ -35,7 +35,7 @@
<view class="custom-content-text">{{renderDom[0].text}}</view>
</view>
<view wx:if="{{renderDom[0].type ==='c2cCalling' || renderDom[0].type ==='groupCalling'}}" class="call-message {{isMine?'my-text':'your-text'}}" >
<view class="custom-content-text">{{renderDom[0].text}}11</view>
<view class="custom-content-text">{{renderDom[0].text}}</view>
</view>
<!-- <view wx:if="{{renderDom[0].type ==='notSupport'}}" class="message-body-span text-message" >
<view class="message-body-span-text">{{renderDom[0].text}}</view>
@@ -38,6 +38,26 @@ Component({
type: String,
value: {},
},
isEditTime:{
type: Boolean,
value: false,
observer(isEditTime) {
console.log(isEditTime)
this.setData({
isEditTime
});
},
},
videoInfo:{
type: Object,
value:{},
observer(videoInfo){
this.setData({
videoInfo
});
}
},
hasCallKit: {
type: Boolean,
value: false,
@@ -83,6 +103,9 @@ Component({
data: {
conversation: {},
message: '',
showRound:false,
showTalk:false,
videoInfo:{},
baseInfo:{},
family_id:'',
patient_user_id:'',
@@ -90,6 +113,7 @@ Component({
sendMessageBtn: false,
displayFlag: '',
isAudio: false,
columnsRound:[3,7,15],
bottomVal: 0,
startPoint: 0,
popupToggle: false,
@@ -123,6 +147,8 @@ Component({
recordtime:0,
dialog_message: "在线开处方需先进行多点执业认证",
message_rounds: 0,
times_number:'',
duration:'',
networkstatus: "wifi",
static_host: api.getStaticHost(),
formatter(type, value) {
@@ -306,10 +332,86 @@ Component({
* 组件的方法列表
*/
methods: {
sendTalk(){
let {order_inquiry_id,duration,times_number}=this.data;
this.setData({
showTalk:false
})
api.giveRounds({
order_inquiry_id,
duration,
times_number
}).then(response => {
if(response.code==200){
wx.showToast({
title: '赠送成功',
icon:"none"
})
}
}).catch(errors => {
console.error(errors);
})
},
changeCustomIpt(event){
let {value}= event.detail;
this.setData({
times_number:value
})
},
openRound(){
this.setData({
showRound:true
})
},
onCancelRound(){
this.setData({
showRound:false
})
},
onConfirmRound(event){
const { value} = event.detail;
this.setData({
showRound:false,
duration:value
})
},
appointmentTime(reservation_time){
let {order_inquiry_id}=this.data;
api.appointmentTime({
order_inquiry_id,
reservation_time
}).then(response => {
if(response.code==200){
wx.showToast({
title: '预约成功',
icon:"none"
})
}
}).catch(errors => {
console.error(errors);
})
},
async call() {
let {baseInfo}=this.data;
console.log(baseInfo)
wx.setStorage('patientInfo',{
order_inquiry_id:baseInfo.order_inquiry_id,
inquiry_type:baseInfo.inquiry_type,
inquiry_mode:baseInfo.inquiry_mode,
message_rounds:0,
patient_user_id:baseInfo.patient_user_id,
patient_family_data: {
patient_name:baseInfo.patient_family_name,
patient_sex:baseInfo.patient_family_sex,
patient_age:baseInfo.patient_family_age
},
is_system:0
}
)
await TUICallKitServer.call({
userID: this.data.patient_user_id,
type: 2,
@@ -319,8 +421,6 @@ Component({
'test':'111111'
}),
});
await TUICallKitServer.setSelfInfo({ nickName:"夏侯惇22"});
console.log('1111111111111111111111')
},
// 获取消息列表来判断是否发送正在输入状态
getMessageList(conversation) {
@@ -731,11 +831,7 @@ Component({
})
break;
case '12'://预约视频时间
this.setData({
currentDate:new Date().getTime(),
minDate:new Date().getTime(),
showTimepicker:true
})
this.openTimePicker();
break;
case '13':
this.call();
@@ -744,16 +840,24 @@ Component({
break;
}
},
openTimePicker(){
this.setData({
currentDate:new Date().getTime(),
minDate:new Date().getTime(),
showTimepicker:true
})
},
cancelTimepicker(){
this.setData({
showTimepicker:false
})
},
confirmTimepicker(event){
console.log(dayjs(event.detail).format('YYYY-MM-DD HH:mm'));
let time=dayjs(event.detail).format('YYYY-MM-DD HH:mm');
this.setData({
showTimepicker:false
})
this.appointmentTime(time);
},
goCase(){
@@ -7,6 +7,9 @@
"van-popup": "@vant/weapp/popup/index",
"van-datetime-picker": "@vant/weapp/datetime-picker/index",
"ServiceEvaluation": "../MessagePrivate/ServiceEvaluation/index",
"van-picker": "@vant/weapp/picker/index",
"van-icon": "@vant/weapp/icon/index",
"van-overlay": "@vant/weapp/overlay/index",
"t-dialog": "tdesign-miniprogram/dialog/dialog"
}
}
@@ -2,8 +2,8 @@
<view class="TUI-commom-function">
<view class="TUI-commom-function-item" data-key="10" bindtap="handleCommonFunctions">查看完整病历</view>
<view class="TUI-commom-function-item" data-key="11" bindtap="handleCommonFunctions" wx:if="{{baseInfo.multi_point_status == 1 && baseInfo.inquiry_status==4 && baseInfo.multi_point_enable==1}}">在线开处方</view>
<view class="TUI-commom-function-item" data-key="12" bindtap="handleCommonFunctions" wx:if="{{baseInfo.multi_point_status == 1 && baseInfo.inquiry_status==4 && baseInfo.multi_point_enable==1}}">预约视频时间</view>
<view class="TUI-commom-function-item" data-key="13" bindtap="handleCommonFunctions" wx:if="{{baseInfo.multi_point_status == 1 && baseInfo.inquiry_status==4 && baseInfo.multi_point_enable==1}}">发起视频</view>
<view class="TUI-commom-function-item" data-key="12" bindtap="handleCommonFunctions" wx:if="{{baseInfo.multi_point_status == 1 && baseInfo.inquiry_status==4 && baseInfo.multi_point_enable==1 && !videoInfo.is_reservation_time}}">预约视频时间</view>
<view class="TUI-commom-function-item" data-key="13" bindtap="handleCommonFunctions" wx:if="{{baseInfo.multi_point_status == 1 && baseInfo.inquiry_status==4 && baseInfo.multi_point_enable==1 && videoInfo.is_reservation_time && videoInfo.is_video==0 }}">发起视频</view>
</view>
<view class="TUI-message-input">
<image class="TUI-icon" bindtap="switchAudio"
@@ -62,6 +62,11 @@
<image mode="widthFix" class="TUI-Extension-icon MY-TUI-Extension-icon" src="{{static_host}}/applet/doctor/static/images/yishi/wenzhenicon.png" />
<view class="TUI-Extension-slot-name MY-TUI-Extension-slot-name">问诊表</view>
</view>
<view class="TUI-Extension-slot MY-TUI-Extension-slot" bindtap="showWenZhenBiao" wx:if="{{baseInfo.inquiry_status==4}}">
<image mode="widthFix" class="TUI-Extension-icon MY-TUI-Extension-icon" src="../../../../static/images/talk.png" style="width:70rpx;height:70rpx;padding:18rpx"/>
<view class="TUI-Extension-slot-name MY-TUI-Extension-slot-name">赠送沟通</view>
</view>
<!-- <view class="TUI-Extension-slot" bindtap="handleSendPicture">
<image class="TUI-Extension-icon" src="../../../../static/assets/take-photo.svg" />
<view class="TUI-Extension-slot-name">相机</view>
@@ -143,15 +148,37 @@
确定
</view>
</t-dialog>
<van-overlay show="{{ showTalk }}" z-index="9900">
<view class="wrapper">
<view class="custombox">
<view class="title">赠送患者免费图文回合沟通数</view>
<view class="roundBox">
<view class="lname">回合数</view>
<input type="number" placeholder="" class="ipt" value="{{times_number}}" bindinput="changeCustomIpt" placeholder-style="color: rgba(0,0,0,0.25);font-size:32rpx"/>
<view class="name">个沟通回合数</view>
</view>
<view class="roundBox" bindtap="openRound">
<view class="lname">回合周期</view>
<input type="number" placeholder="" class="ipt" value="{{duration}}"
disabled="{{true}}"
placeholder-style="color: rgba(0,0,0,0.25);font-size:32rpx"/>
<view class="name">天内使用<van-icon name="arrow" color="rgba(0,0,0,0.65)" style="margin-top:4rpx;margin-left: 5rpx;" /></view>
</view>
<view class="btnround" bindtap="sendTalk">赠送</view>
</view>
</view>
</van-overlay>
<van-popup
round
show="{{ showTimepicker}}"
position="bottom"
custom-style="height: 50%"
>
<van-datetime-picker
bind:cancel="cancelTimepicker"
title="预约视频时间"
title="{{isEditTime?'修改预约时间':'预约视频时间'}}"
bind:confirm="confirmTimepicker"
value="{{ currentDate }}"
min-date="{{ minDate }}"
@@ -159,3 +186,14 @@
/>
</van-popup>
<van-popup
z-index="9901"
show="{{ showRound }}"
round
position="bottom"
custom-style="height: 50%"
>
<van-picker columns="{{ columnsRound }}" show-toolbar
title="选择回合天数" bind:cancel="onCancelRound"
bind:confirm="onConfirmRound" />
</van-popup>
@@ -80,19 +80,21 @@
margin: 0 16rpx;
}
.TUI-Extensions {
box-sizing: border-box;
display: flex;
flex-wrap: wrap;
width: 100vw;
height: 100px;
margin-left: 14rpx;
margin-right: 14rpx;
}
.TUI-Extension-slot {
width: 128rpx;
height: 170rpx;
margin-left: 26rpx;
margin-right: 26rpx;
/* width: 128rpx;
height: 170rpx; */
flex:1;
/* margin-left: 26rpx;
margin-right: 26rpx; */
margin-top: 24rpx;
}
@@ -191,9 +193,10 @@
align-items: center;
}
.MY-TUI-Extension-icon{
width: 50%;
/* width: 50%; */
width: 36%;
background-color: #F4F4F4;
padding: 30rpx;
padding: 26rpx;
}
.MY-TUI-Extension-slot-name{
background-color: #fff;
@@ -219,4 +222,60 @@
}
.van-picker__confirm{
color: #3CC7C0!important;
}
.wrapper {
display: flex;
align-items: center;
flex-direction: column;
justify-content: center;
height:100vh;
}
.custombox{
padding:32rpx;
width:70%;
border-radius: 16rpx;
background-color: #fff;
}
.roundBox{
margin: 56rpx 0;
display: flex;
justify-content: center;
}
.custombox .title{
text-align: center;
font-size: 36rpx;
font-weight: 500;
color: rgba(0,0,0,0.85)
}
.custombox .name{
font-size: 32rpx;
font-weight: 400;
color: rgba(0,0,0,0.85);
}
.custombox .ipt{
text-align: center;
}
.roundBox .name{
white-space: nowrap;
font-size: 32rpx;
font-weight: 400;
display: flex;
align-items: center;
color: rgba(0,0,0,0.65);
}
.roundBox .lname{
white-space: nowrap;
color: rgba(0,0,0,0.85);
}
.btnround{
width:100%;
height: 88rpx;
background: #3CC7C0;
border-radius: 8rpx;
font-size: 32rpx;
font-weight: 500;
color: #FFFFFF;
display: flex;
align-items: center;
justify-content: center;
}
@@ -1,6 +1,6 @@
import logger from '../../../../utils/logger';
import constant from '../../../../utils/constant';
import { wechatTimeFormat } from '../../../../../../utils/wechatTime'
import { wechatTimeFormat } from '../../../../utils/wechatTime'
import { API } from '../../../../../../utils/network/api';
import Message from 'tdesign-miniprogram/message/index';
@@ -253,44 +253,9 @@ Component({
if(message.cloudCustomData){
cloudCustomData = message.cloudCustomData;
}
console.log("11111111111111111111111111")
console.log("cloudCustomData:"+cloudCustomData)
if(cloudCustomData){
cloudCustomDataJson = JSON.parse(cloudCustomData);
}else{
if(message.type=="TIMCustomElem"){
console.log("3333333333333333333");
// let {baseInfo}=this.data;
// const custommessage = wx.$TUIKit.createCustomMessage({
// to: this.getToAccount(),
// conversationType: this.data.conversation.type,
// payload:{
// cloudCustomData: JSON.stringify({
// order_inquiry_id:baseInfo.order_inquiry_id,
// inquiry_type: baseInfo.inquiry_type,
// inquiry_mode:baseInfo.baseInfo.inquiry_mode,
// message_type: 0,
// is_system: 0,
// message_rounds:0,
// patient_family_data: baseInfo.patient_family_data
// })
// },
// });
// wx.$TUIKit.sendMessage(custommessage).then(res=>{
// const firstSendMessage = wx.getStorageSync('isFirstSendMessage');
// if (firstSendMessage) {
// wx.aegis.reportEvent({
// name: 'sendMessage',
// ext1: 'sendMessage-success',
// ext2: 'imTuikitExternal',
// ext3: wx.$chat_SDKAppID,
// });
// }
// }).catch((error)=>{
// console.log(error)
// });
// console.log(444444);
}
}
let is_system = cloudCustomDataJson.is_system;
if(is_system != 1){//不是系统消息直接返回
@@ -5,7 +5,7 @@
<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="t-message" wx:if="{{conversation.type !== '@TIM#SYSTEM'}}" wx:for="{{messageList}}" wx:key="index" hidden="{{!(item.payload.data &&concat.formateText(item.payload.data).message_type!=20 || item.type!='TIMCustomElem')}}" data-index ='{{index}}'>
<view class="time-pop-mask" data-value="{{item.time}}" wx:if="{{item.showMessageTime}}">
<view class="showmessagetime 1" wx:if="{{item.isShowTime}}">
<text class="time" wx:if="{{!item.isDeleted && !item.isRevoked}}">{{item.messageTime}} </text>
@@ -36,7 +36,7 @@
</view>
</view>
<TipMessage wx:if="{{item.type === 'TIMGroupTipElem'}}" message="{{item}}"/>
<view wx:if="{{item.type !== 'TIMGroupTipElem'}}" class="{{item.flow === 'out' ? 't-self-message':'t-recieve-message'}}" >
<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 || static_host+'/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>
@@ -55,7 +55,8 @@
<ImageMessage wx:if="{{item.type === 'TIMImageElem'}}" message="{{item}}" isMine="{{item.flow === 'out'}}" />
<VideoMessage wx:if="{{item.type === 'TIMVideoFileElem'}}" message="{{item}}" isMine="{{item.flow === 'out'}}"/>
<AudioMessage wx:if="{{item.type === 'TIMSoundElem'}}" message="{{item}}" data-index ='{{index}}' messageList="{{messageList}}" bind:closeAudio="closeAudio" id="audio{{item.ID}}" isMine="{{item.flow === 'out'}}"/>
<CustomMessage wx:if="{{item.type === 'TIMCustomElem'}}" message="{{item}}" isMine="{{item.flow === 'out'}}" bindtap="handleJumpLink" data-value = "{{item}}" patient_family_data="{{concat.formateText(item.cloudCustomData).patient_family_data}}"/>
<CustomMessage wx:if="{{item.type === 'TIMCustomElem' && concat.formateText(item.payload.data).message_type!=20}}" message="{{item}}" isMine="{{item.flow === 'out'}}" bindtap="handleJumpLink" data-value = "{{item}}" patient_family_data="{{concat.formateText(item.cloudCustomData).patient_family_data}}"/>
<FaceMessage wx:if="{{item.type === 'TIMFaceElem'}}" message="{{item}}" isMine="{{item.flow === 'out'}}"/>
<FileMessage wx:if="{{item.type === 'TIMFileElem'}}" message="{{item}}" isMine="{{item.flow === 'out'}}"/>
<MergerMessage wx:if="{{item.type === 'TIMRelayElem'}}" message="{{item}}" isMine="{{item.flow === 'out'}}"/>
@@ -38,7 +38,10 @@ Component({
},
order_inquiry_id: {
type: String,
value: ''
value: '',
observer(){
this.getAudioMsg();
}
},
from:{
type: String,
@@ -107,6 +110,7 @@ Component({
},
ready() {
let hasTip=wx.getStorageSync('showNewerTip');
if(hasTip){
this.setData({
@@ -156,6 +160,7 @@ Component({
*/
data: {
rest_time:0,
videoInfo:{},
total_rounds:0,
timeData:{},
showTip:false,
@@ -181,6 +186,7 @@ Component({
input_area_style:"",
KeyboardHeight: 0,
showTips: false,
isEditTime:false,
showGroupTips: false,
showAll: false,
navbarData: {
@@ -202,6 +208,33 @@ Component({
* 组件的方法列表
*/
methods: {
openTime(){
this.selectComponent("#MessageInput").openTimePicker();
this.setData({
isEditTime:true
})
},
getAudioMsg(){
console.log(this.data.order_inquiry_id)
api.getVideoMsg(this.data.order_inquiry_id).then(response => {
let result=response.data
console.log(result);
if(result.is_video && !result.is_reservation_time && result.update_number==1){
this.setData({
isEditTime:false,
videoInfo:result
})
}else{
this.setData({
isEditTime:true,
videoInfo:result
})
}
}).catch(errors => {
console.error(errors);
})
},
refreshMessageRounds(e){
// console.log("TUIchat refreshMessageRounds", e)
let message_rounds = e.detail.message_rounds
@@ -7,6 +7,7 @@
"van-overlay": "@vant/weapp/overlay/index",
"van-count-down": "@vant/weapp/count-down/index",
"te-nav-bar": "../../../../commpents/te_navbar/index",
"van-icon": "@vant/weapp/icon/index",
"t-dialog": "tdesign-miniprogram/dialog/dialog"
},
"disableScroll":true
@@ -32,12 +32,18 @@
<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 class="yuyuetip" bind:tap="openTime" wx:if="{{isEditTime && videoInfo.is_reservation_time}}">
<view >如需要修改视频时间,请点击这里</view>
<van-icon name="arrow" size="14px" style="margin-top: 3rpx;" color="#FF9C00" />
</view>
<!-- <view class="tui-navigatorbar">
<image class="tui-navigatorbar-back" bindtap="goBack" src="../../static/assets/ic_back_black.svg" />
<view class="conversation-title">{{conversationName}}</view>
</view> -->
<view class="list-box {{ showTips && 'list-box-notips'}} || {{ showGroupTips && 'list-box-group'}} || {{ showAll && 'list-box-group-notips'}}" style="height: calc(100vh {{baseInfo.inquiry_status==4?'- 197rpx':'- 196rpx'}} - 100rpx - {{navbar_height}}px);"><!-- 100vh -input-area高度 - info高度 -navbar高度 -->
<view class="list-box {{ showTips && 'list-box-notips'}} || {{ showGroupTips && 'list-box-group'}} || {{ showAll && 'list-box-group-notips'}}" style="height: calc(100vh {{baseInfo.inquiry_status==4?'- 197rpx':'- 196rpx'}} - 100rpx - {{navbar_height}}px {{(isEditTime && videoInfo.is_reservation_time) ?'- 72rpx':'- 0rpx'}});"><!-- 100vh -input-area高度 - info高度 -navbar高度 -->
<!-- <view wx:if="{{showTips}}" class="safetytips-box"> -->
<!-- <view class="safetytips">
<text>【安全提示】本 APP 仅用于体验腾讯云即时通信 IM 产品功能,不可用于业务洽谈与拓展。请勿轻信汇款、中奖等涉及钱款等信息,勿轻易拨打陌生电话,谨防上当受骗。</text>
@@ -60,7 +66,9 @@
<view class="input-area" style="{{input_area_style}}" >
<!-- wx:if="{{showChat}}" -->
<view class="message-input" style="{{viewData.style}}" >
<MessageInput bind:myhandleExtensions="myhandleExtensions" id="MessageInput" inquiry_type="{{inquiry_type}}" baseInfo="{{baseInfo}}" order_inquiry_id="{{order_inquiry_id}}" conversation="{{conversation}}" from="{{from}}" hasCallKit="{{hasCallKit}}" bind:sendMessage="sendMessage" bind:downKeysBoards="downKeysBoards" bind:pullKeysBoards="pullKeysBoards" bind:showMessageErrorImage="showMessageErrorImage"
<MessageInput bind:myhandleExtensions="myhandleExtensions" id="MessageInput" inquiry_type="{{inquiry_type}}" baseInfo="{{baseInfo}}" order_inquiry_id="{{order_inquiry_id}}" conversation="{{conversation}}" from="{{from}}" hasCallKit="{{hasCallKit}}" isEditTime="{{isEditTime}}"
videoInfo="{{videoInfo}}"
bind:sendMessage="sendMessage" bind:downKeysBoards="downKeysBoards" bind:pullKeysBoards="pullKeysBoards" bind:showMessageErrorImage="showMessageErrorImage"
bind:refreshMessageStatus="refreshMessageStatus"
bind:inputBindLinechange="inputBindLinechange"
bind:handleCall="handleCall" message_rounds="{{message_rounds}}"></MessageInput>
@@ -304,4 +304,17 @@ margin-left: 32rpx;
position: absolute;
width: 150rpx;
height: 150rpx;
}
.yuyuetip{
justify-content: space-between;
padding: 0 10rpx;
display: flex;
align-items: center;
box-sizing: border-box;
width:100%;
height: 72rpx;
background: #FFFCF2;
font-size: 28rpx;
font-weight: 400;
color: #FF9C00;
}