From 89afe588b74ff537a1ccef771773e033d305ab78 Mon Sep 17 00:00:00 2001 From: zoujiandong <10130823232@qq.com> Date: Thu, 18 Apr 2024 09:57:18 +0800 Subject: [PATCH] 4.18 --- TUIService/TUIKit/components/TUIChat/index.js | 14 ++- .../TUIKit/components/TUIChat/index.wxml | 6 +- .../TUIKit/components/TUIChat/index.wxss | 3 + api/common.js | 4 + api/health.js | 5 +- .../pages/healthyDetail/healthyDetail.js | 99 ++++++++------- .../healthyOrderDetail/healthyOrderDetail.js | 119 ++++++++++++++++-- .../healthyOrderDetail.wxml | 63 ++++++---- .../pages/visitDetail/visitDetail.js | 33 +++-- .../pages/visitDetail/visitDetail.wxml | 1 + patient/pages/expertDetail/expertDetail.js | 64 +++++++++- patient/pages/expertDetail/expertDetail.wxml | 51 ++++---- 12 files changed, 351 insertions(+), 111 deletions(-) diff --git a/TUIService/TUIKit/components/TUIChat/index.js b/TUIService/TUIKit/components/TUIChat/index.js index d90599b..ad77c46 100644 --- a/TUIService/TUIKit/components/TUIChat/index.js +++ b/TUIService/TUIKit/components/TUIChat/index.js @@ -14,7 +14,7 @@ import { import { - chatMsg + chatMsg,serviceChatMsg } from "../../../../api/common" import {throttle} from "../../../../utils/util" @@ -117,6 +117,7 @@ Component({ }) console.log(this.data.order_inquiry_id); this.handleChatMsg(this.data.order_inquiry_id); + }, hide: function() { @@ -134,6 +135,7 @@ Component({ */ data: { img_host:'https://oss.prod.applets.igandanyiyuan.com/applet/patient/static', + serviceInfo:{}, conversationName: '', isEvaluation:false, conversation: {}, @@ -164,6 +166,7 @@ Component({ duration: 0, reception_time: null, rest_time: 0, + inquiry_mode:'', doctor_id: '', doctor_user_id:'', timeData: {}, @@ -437,8 +440,17 @@ Component({ this.handelfllowDoctor() } }, + handleServiceChatMsg(id){ + serviceChatMsg(id).then(res=> { + console.log(res) + this.setData({ + serviceInfo:res + }) + }) + }, handleChatMsg(id) { chatMsg(id).then(data => { + this.handleServiceChatMsg(id); // console.log("接口请求收到时间66666"+dayjs().format("YYYY-MM-DD HH:mm:ss:SSS")); // console.log(data); let promise=wx.$TUIKit.getUserProfile({ diff --git a/TUIService/TUIKit/components/TUIChat/index.wxml b/TUIService/TUIKit/components/TUIChat/index.wxml index 3756603..a505929 100644 --- a/TUIService/TUIKit/components/TUIChat/index.wxml +++ b/TUIService/TUIKit/components/TUIChat/index.wxml @@ -37,7 +37,7 @@ 问诊中 | - + 不限时间 剩余 @@ -51,6 +51,10 @@  {{rest_rounds>=0?rest_rounds:0}}个 沟通回合 + + 不限问诊次数,{{serviceInfo.finish_time}}后结束 + 当月剩余:{{serviceInfo.monthly_frequency-serviceInfo.month_inquiry_count}} + diff --git a/TUIService/TUIKit/components/TUIChat/index.wxss b/TUIService/TUIKit/components/TUIChat/index.wxss index 57dd2f5..437e2f3 100644 --- a/TUIService/TUIKit/components/TUIChat/index.wxss +++ b/TUIService/TUIKit/components/TUIChat/index.wxss @@ -634,3 +634,6 @@ border-radius: 30rpx; width:80rpx; height:80rpx; } +.count_time .red{ + color:#E34D59; + } \ No newline at end of file diff --git a/api/common.js b/api/common.js index 6b21b7f..01b6169 100644 --- a/api/common.js +++ b/api/common.js @@ -28,6 +28,9 @@ function job(){//获取职业数据 function chatMsg(id){//获取问诊订单消息内页基础数据 return request('/im/inquiry/basic/'+id,'GET') }; +function serviceChatMsg(id){ + return request('/im/inquiry/basic/service/'+id,'GET') +} function hotSearch(data){//热门搜索 return request('/basic/keyword/search','GET',data) }; @@ -39,6 +42,7 @@ function agreement(id){ } module.exports={ + serviceChatMsg, sickType, sickList, getSign, diff --git a/api/health.js b/api/health.js index 038651b..dc7c5bc 100644 --- a/api/health.js +++ b/api/health.js @@ -33,10 +33,13 @@ function serviceEquityDetail(id){ //获取患者服务包订单服务权益详 function serviceSickInfo(id){ //获取服务包订单病例详情-基础益详情 return request('/case/service/'+id,'GET',{}) }; + function checkService(id){ //检测是否可创建服务包问诊订单 + return request('/patient/service/check/'+id,'GET',{}) + }; - module.exports={ + checkService, serviceSickInfo, serviceEquityDetail, createServiceChatOrder, diff --git a/healthyService/pages/healthyDetail/healthyDetail.js b/healthyService/pages/healthyDetail/healthyDetail.js index bfba819..af8a52d 100644 --- a/healthyService/pages/healthyDetail/healthyDetail.js +++ b/healthyService/pages/healthyDetail/healthyDetail.js @@ -11,6 +11,7 @@ Page({ */ data: { order_no:'', + confirmNext:'确定', order_inquiry_id:'', chat_id:'', showWarn:false, @@ -42,8 +43,7 @@ Page({ chat_id:'', }, goHasOrder(){ - - let status=this.data.status; + let {status,doctor_id,order_no}=this.data; if(status==4){ let id=this.data.order_inquiry_id; app.method.navigateTo({ @@ -55,9 +55,13 @@ Page({ url: '/healthyService/pages/healthyOrderDetail/healthyOrderDetail?order_service_id='+id, }) + }else if(status==3){ + app.method.navigateTo({ + url:'/patient/pages/expertDetail/expertDetail?doctor_id='+doctor_id + }) + }else if(status==5){ + this.handleCreateServiceChatOrder(order_no) } - - }, inputChange(e) { this.setData({ @@ -257,46 +261,57 @@ Page({ }) }, handleGetServiceDetail(){ - let {doctor_id,currentFamilyId,service_type,follow_package_item_id,chat_id,sex,inquiry_mode,inquiry_type}=this.data; - getServiceDetail({ - doctor_id, - family_id:currentFamilyId, - service_type, - follow_package_item_id + let {doctor_id,currentFamilyId,service_type,follow_package_item_id,chat_id,sex,inquiry_mode,inquiry_type}=this.data; + getServiceDetail({ + doctor_id, + family_id:currentFamilyId, + service_type, + follow_package_item_id - }).then((res)=>{ - if(res.status==1){ - app.method.navigateTo({ - url:'/healthyService/pages/writeSick/writeSick?doctor_id='+doctor_id+"&family_id="+currentFamilyId+"&chat_id="+chat_id+"&inquiry_type="+inquiry_type+"&sex="+sex+"&inquiry_mode="+inquiry_mode - }) - }else if(res.status==2){ - this.setData({ - showWarn:true, - order_no:res.data.order_no, - status:2, - message:res.message - }) - - }else if(res.status==3){ - app.method.navigateTo({ - url:'/patient/pages/expertDetail/expertDetail?doctor_id='+doctor_id - }) - - }else if(res.status==4){ - this.setData({ - showWarn:true, - order_no:res.data.order_no, - order_inquiry_id:res.data.order_inquiry_id, - status:4, - message:res.message - }) - }else if(res.status==5){ - this.handleCreateServiceChatOrder(res.data.order_no) - - } + }).then((res)=>{ + if(res.status==1){ + app.method.navigateTo({ + url:'/healthyService/pages/writeSick/writeSick?doctor_id='+doctor_id+"&family_id="+currentFamilyId+"&chat_id="+chat_id+"&inquiry_type="+inquiry_type+"&sex="+sex+"&inquiry_mode="+inquiry_mode+"&package_id="+follow_package_item_id + }) + }else if(res.status==2){ + this.setData({ + showWarn:true, + order_no:res.data.order_no, + status:2, + confirmNext:'确定', + message:res.message + }) + + }else if(res.status==3){ + this.setData({ + showWarn:true, + status:3, + confirmNext:'前往', + message:'本月问诊次数已用完,您可选择医生其他服' + }) + }else if(res.status==4){ + this.setData({ + showWarn:true, + order_no:res.data.order_no, + order_inquiry_id:res.data.order_inquiry_id, + status:4, + confirmNext:'确定', + message:res.message + }) + }else if(res.status==5){ + this.setData({ + showWarn:true, + status:5, + confirmNext:'前往', + order_no:res.data.order_no, + message:'是否使用剩余问诊次数?' + }) + + + } - }) - }, + }) +}, handleCreateServiceChatOrder(id){ createServiceChatOrder(id).then(res=>{ let order_inquiry_id=res.order_inquiry_id; diff --git a/healthyService/pages/healthyOrderDetail/healthyOrderDetail.js b/healthyService/pages/healthyOrderDetail/healthyOrderDetail.js index 162d66e..c3b21bf 100644 --- a/healthyService/pages/healthyOrderDetail/healthyOrderDetail.js +++ b/healthyService/pages/healthyOrderDetail/healthyOrderDetail.js @@ -1,11 +1,11 @@ // pages/medinceOrderDetail/medinceOrderDetail.js const app = getApp() -import {serviceDetail,cancelCheckPay,delCheckOrder,cancelCheckOrder,checkInquiry,serviceEquityDetail} from "../../../api/health" +import {serviceDetail,cancelCheckPay,delCheckOrder,cancelCheckOrder,checkInquiry,serviceEquityDetail,createServiceChatOrder,checkService} from "../../../api/health" import {cancelPay} from "../../../api/consultOrder" import {cancelOrder} from "../../../api/consultOrder" import {fllowDoctor,notfllowDoctor} from "../../../api/consultExpert" import {throttle} from "../../../utils/util" -import {getSign} from "../../../api/common" + import Dialog from '@vant/weapp/dialog/dialog'; Page({ @@ -13,7 +13,14 @@ Page({ * 页面的初始数据 */ data: { - showJuan:true, + confirmText:'确定', + restProduct:0, + status:'', + order_no:'', + showWarn:false, + order_inquiry_id:'', + messageWarn:'', + showJuan:true, time: 30 * 60 * 60 * 1000, showCover:true, showExpand:true, @@ -98,7 +105,7 @@ Page({ showExpand:!this.data.showExpand }) let list=this.data.toggleList; - if(!this.data.showJuan){ + if(!this.data.showExpand){ this.setData({ inquriyList:list.slice(0,1) }) @@ -124,11 +131,100 @@ Page({ } }, goInquiry:throttle(function(e){ - let {id}=e.currentTarget.data.dataset; + let {id}=e.currentTarget.dataset; app.method.navigateTo({ url:'/patient/pages/orderDetail/orderDetail?order_inquiry_id='+id }) }), + goProduct:throttle(function(e){ + let {id}=e.currentTarget.dataset; + app.method.navigateTo({ + url:'/patient/pages/medinceOrderDetail/medinceOrderDetail?order_product_id='+id + }) + }), + goHasOrder(){ + + let status=this.data.status; + let {order_service_type,user_doctor,order_service_no}=this.data.order; + + if(status==4){ + let id=this.data.order_inquiry_id; + app.method.navigateTo({ + url: '/patient/pages/orderDetail/orderDetail?order_inquiry_id='+id, + }) + }else if(status==2){ + let id=this.data.order_no; + app.method.navigateTo({ + url: '/healthyService/pages/healthyOrderDetail/healthyOrderDetail?order_service_id='+id, + }) + + }else if(status==1){ + let id=this.data.order_no; + this.handleCreateServiceChatOrder(id) + }else if(status==3){ + let doctor_id=this.data.order.user_doctor.doctor_id; + app.method.navigateTo({ + url:'/patient/pages/expertDetail/expertDetail?doctor_id='+doctor_id + }) + } + +}, + handleCheckService(){ + let {order_service_no}=this.data.order; + + checkService(order_service_no).then((res)=>{ + if(res.status==1){ + this.setData({ + showWarn:true, + status:5, + confirmNext:'前往', + order_no:res.data.order_no, + messageWarn:'是否使用剩余问诊次数?' + }) + }else if(res.status==2){ + this.setData({ + showWarn:true, + order_no:res.data.order_no, + status:2, + confirmText:'确定', + messageWarn:res.message + }) + }else if(res.status==3){ + this.setData({ + showWarn:true, + status:3, + confirmNext:'前往', + messageWarn:'本月问诊次数已用完,您可选择医生其他服' + }) + }else if(res.status==4){ + this.setData({ + showWarn:true, + order_no:res.data.order_no, + order_inquiry_id:res.data.order_inquiry_id, + status:4, + confirmText:'确定', + messageWarn:res.message + }) + } + + }) +}, +goXuFei:throttle(function(){ + let {order_service_type,user_doctor,amount_total}=this.data.order; + let url=order_service_type==2?'/healthyService/pages/visitDetail/visitDetail?doctor_id='+user_doctor.doctor_id:'/healthyService/pages/healthyDetail/healthyDetail?doctor_id='+user_doctor.doctor_id+"&price="+amount_total + app.method.navigateTo({ + url:url + }) +}), +handleCreateServiceChatOrder(id){ + createServiceChatOrder(id).then(res=>{ + let order_inquiry_id=res.order_inquiry_id; + let chat_id=this.data.chat_id; + app.method.navigateTo({ + url: '/TUIService/pages/index?currentConversationID=' + chat_id + "&order_inquiry_id=" + order_inquiry_id + "&inquiry_type=1&fromType=chat" + }) +}) +}, goBack(){ let {fromType}=this.data; @@ -177,13 +273,14 @@ Page({ }, handelServiceEquityDetail(id){ serviceEquityDetail(id).then(res=>{ - + let package_product=res.order_service_package_product; this.setData({ equity:res, - inquiryList:res.order_inquiry, + inquriyList:res.order_inquiry, toggleList:res.order_inquiry, productList:res.order_product, - yaoList:res.order_product + yaoList:res.order_product, + restProduct:package_product>0?package_product[0].quantity-package_product[0].used_quantity:0 }) }) }, @@ -398,6 +495,12 @@ confirmCancelOrder(){ message:"是否确定要取消订单?" }) }, +goChat:throttle(function(){ + let user_id=this.data.order.user_id; + app.method.navigateTo({ + url: '/TUIService/pages/index?currentConversationID=' + user_id + "&order_inquiry_id=" + id+ "&inquiry_type=1" + }) +}), goSickInfo(event){ let order_no=this.data.order_service_id; app.method.navigateTo({ diff --git a/healthyService/pages/healthyOrderDetail/healthyOrderDetail.wxml b/healthyService/pages/healthyOrderDetail/healthyOrderDetail.wxml index 58b9998..da29460 100644 --- a/healthyService/pages/healthyOrderDetail/healthyOrderDetail.wxml +++ b/healthyService/pages/healthyOrderDetail/healthyOrderDetail.wxml @@ -153,7 +153,7 @@ - + 服务权益 @@ -174,7 +174,7 @@ 问诊服务 - + 内      容 @@ -182,13 +182,13 @@ {{equity.order_service_package_detail.service_period/30}}个月内,每月{{equity.order_service_package_detail.monthly_frequency==0?'不限':equity.order_service_package_detail.monthly_frequency}}次问诊 - - + + 当月剩余 - {{equity.order_service_package_detail.monthly_frequency==0?'不限':(equity.order_service_package_detail.monthly_frequency-equity.order_service_package.month_inquiry_count)}}次图文 - {{showExpand?'收起':'展开'}} + {{equity.order_service_package_detail.monthly_frequency==0?'不限':(equity.order_service_package_detail.monthly_frequency-equity.order_service_package.month_inquiry_count)}}次图文 + {{showExpand?'收起':'展开'}} 问诊时间:{{item.created_at}} @@ -207,12 +207,12 @@ - + 当月剩余 - {{equity.order_service_package_detail.monthly_frequency==0?'不限':(equity.order_service_package_detail.monthly_frequency-equity.order_service_package.month_inquiry_count)}}次图文 - {{showExpand?'收起':'展开'}} + {{equity.order_service_package_detail.monthly_frequency==0?'不限':(equity.order_service_package_detail.monthly_frequency-equity.order_service_package.month_inquiry_count)}}次图文 + {{showExpand?'收起':'展开'}} 问诊时间:{{item.created_at}} @@ -222,7 +222,7 @@ 药品服务 - + 内      容 @@ -230,14 +230,14 @@ 30盒干爽颗粒(步长) - + 药品剩余 - {{30}}盒干爽颗粒 - {{showProduct?'收起':'展开'}} + {{restProduct}}盒干爽颗粒 + {{showProduct?'收起':'展开'}} - + 下单时间:{{item.created_at}} {{item.order_product_status==1?'待支付':item.order_product_status==2?'待发货':item.order_product_status==3?'已发货':item.order_product_status==42?'已签收':'已取消'}} @@ -251,15 +251,16 @@ - {{item.name}} + {{item.name}} - {{showJuan?'收起':'展开'}} + {{showJuan?'收起':'展开'}} - - 10元的全品类药品优惠劵 - 未使用 + + {{item.coupon_name}} + {{item.user_coupon_status==0?'未使用':item.user_coupon_status==1?'已使用':'已过期'}} + 100元的肝胆商城优惠劵 @@ -322,10 +323,10 @@ - 去使用 + 去使用 - - 去续费 + + 去续费 @@ -333,4 +334,20 @@ - \ No newline at end of file + + + + + \ No newline at end of file diff --git a/healthyService/pages/visitDetail/visitDetail.js b/healthyService/pages/visitDetail/visitDetail.js index 7716208..75de796 100644 --- a/healthyService/pages/visitDetail/visitDetail.js +++ b/healthyService/pages/visitDetail/visitDetail.js @@ -1,8 +1,7 @@ // healthyService/pages/healthyDetail/healthyDetail.js import {doctorDetail} from "../../../api/consultExpert" -import {getItems,createServiceChatOrder} from "../../../api/health" +import {getItems,createServiceChatOrder,getServiceDetail} from "../../../api/health" import {family,addfamily} from "../../../api/familyDoc"; -import {getServiceDetail} from "../../../api/health" import {throttle} from "../../../utils/util" const app = getApp() Page({ @@ -14,6 +13,7 @@ Page({ order_no:'', order_inquiry_id:'', chat_id:'', + confirmText:'确定', status:'', follow_package_item_id:'', message:'', @@ -27,7 +27,6 @@ Page({ avatar: '', user_name: '', doctor_title: '', - doctor_id: '', doctor_title_name:'', user_id:'', is_online:'0', @@ -83,8 +82,7 @@ Page({ }) }, goHasOrder(){ - - let status=this.data.status; + let {status,doctor_id,order_no}=this.data; if(status==4){ let id=this.data.order_inquiry_id; app.method.navigateTo({ @@ -96,6 +94,12 @@ Page({ url: '/healthyService/pages/healthyOrderDetail/healthyOrderDetail?order_service_id='+id, }) + }else if(status==3){ + app.method.navigateTo({ + url:'/patient/pages/expertDetail/expertDetail?doctor_id='+doctor_id + }) + }else if(status==5){ + this.handleCreateServiceChatOrder(order_no) } @@ -289,24 +293,35 @@ Page({ showWarn:true, order_no:res.data.order_no, status:2, + confirmNext:'确定', message:res.message }) }else if(res.status==3){ - app.method.navigateTo({ - url:'/patient/pages/expertDetail/expertDetail?doctor_id='+doctor_id + this.setData({ + showWarn:true, + status:3, + confirmNext:'前往', + message:'本月问诊次数已用完,您可选择医生其他服' }) - }else if(res.status==4){ this.setData({ showWarn:true, order_no:res.data.order_no, order_inquiry_id:res.data.order_inquiry_id, status:4, + confirmNext:'确定', message:res.message }) }else if(res.status==5){ - this.handleCreateServiceChatOrder(res.data.order_no) + this.setData({ + showWarn:true, + status:5, + confirmNext:'前往', + order_no:res.data.order_no, + message:'是否使用剩余问诊次数?' + }) + } diff --git a/healthyService/pages/visitDetail/visitDetail.wxml b/healthyService/pages/visitDetail/visitDetail.wxml index d2795f2..fca75de 100644 --- a/healthyService/pages/visitDetail/visitDetail.wxml +++ b/healthyService/pages/visitDetail/visitDetail.wxml @@ -168,6 +168,7 @@ show="{{showWarn}}" confirm-button-color="#3CC7C0" cancel-button-text="取消" + confirm-button-text="{{confirmText}}" > \ No newline at end of file diff --git a/patient/pages/expertDetail/expertDetail.js b/patient/pages/expertDetail/expertDetail.js index 3b54b07..d15b474 100644 --- a/patient/pages/expertDetail/expertDetail.js +++ b/patient/pages/expertDetail/expertDetail.js @@ -35,6 +35,10 @@ Page({ canTuwen:false, canVideo:false, canDiffcult:false, + canHealthy:false, + canVisit:false, + healthyPrice:'', + visitPrice:'', brief_introduction:'', multi_point_status: 0, multi_point_enable:0, @@ -130,6 +134,7 @@ bindchange(e){ }, switchTab(e){ let {id}=e. currentTarget.dataset; + console.log(id); this.setData({ currentData:Number(id) }) @@ -141,18 +146,29 @@ bindchange(e){ }) }else if(id==1){ - this.getHeight(2); + this.setData({ + inquiry_type:1, + inquiry_mode:9, + tab3Height:0 + }) + }else if(id==2){ + this.setData({ + inquiry_type:1, + inquiry_mode:8, + tab3Height:0 + }) + }else if(id==3){ + this.getHeight(4); let {hasVideoList,canVideo}=this.data; this.setData({ inquiry_type:1, - inquiry_mode:2 + inquiry_mode:2, }) if(hasVideoList && !canVideo){ this.goVideo(); } - }else { - this.getHeight(3) + this.getHeight(5) this.setData({ inquiry_type:1, inquiry_mode:6 @@ -333,6 +349,26 @@ bindchange(e){ yinanPrice:arr[i].inquiry_price }) } + if(arr[i].inquiry_type==1 && arr[i].inquiry_mode==8){ + if(arr[i].is_enable==1){ + this.setData({ + canHealthy:true + }) + } + this.setData({ + healthyPrice: arr[i].inquiry_price + }) + } + if(arr[i].inquiry_type==1 && arr[i].inquiry_mode==9){ + if(arr[i].is_enable==1){ + this.setData({ + canVisit:true + }) + } + this.setData({ + visitPrice: arr[i].inquiry_price + }) + } } } @@ -367,6 +403,26 @@ bindchange(e){ cycle:arr[i].duration }) }; + if(arr[i].inquiry_type==1 && arr[i].inquiry_mode==8){ + if(arr[i].is_enable==1){ + this.setData({ + canHealthy:true + }) + } + this.setData({ + healthyPrice: arr[i].inquiry_price + }) + } + if(arr[i].inquiry_type==1 && arr[i].inquiry_mode==9){ + if(arr[i].is_enable==1){ + this.setData({ + canVisit:true + }) + } + this.setData({ + visitPrice: arr[i].inquiry_price + }) + } if(arr[i].inquiry_type==1 && arr[i].inquiry_mode==2){ if(arr[i].is_enable==1){ this.setData({ diff --git a/patient/pages/expertDetail/expertDetail.wxml b/patient/pages/expertDetail/expertDetail.wxml index a0d39ac..67b87aa 100644 --- a/patient/pages/expertDetail/expertDetail.wxml +++ b/patient/pages/expertDetail/expertDetail.wxml @@ -75,7 +75,7 @@ - + @@ -105,28 +105,33 @@ 暂未开通 - - + + + + 随访包 - ¥150起 + ¥{{visitPrice}}起 + 暂未开通 - - + + + - 随访包 - ¥1260/次 + 健康包 + ¥{{healthyPrice}}/次 + 暂未开通 - - - - + + + + 视频问诊 @@ -138,10 +143,10 @@ - - - - + + + + 疑难问诊 @@ -184,8 +189,10 @@ + + - + @@ -228,7 +235,7 @@ - + @@ -338,10 +345,10 @@ - - - - + + + +