This commit is contained in:
zoujiandong
2024-04-18 09:57:18 +08:00
parent f1f2f3a821
commit 89afe588b7
12 changed files with 351 additions and 111 deletions
@@ -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;
@@ -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({
@@ -153,7 +153,7 @@
</view>
<view class="quanyibox rowbox ">
<view class="quanyibox rowbox " wx:if="{{(order.order_service_status==3 || order.order_service_status==4 || (order.order_service_status==5 && order.pay_status!=5))}}">
<view class="topbox">
<view class="title">服务权益</view>
<view class="row" wx:if="{{order.order_service_status==2 || order.order_service_status==3 || order.order_service_status==4}}">
@@ -174,7 +174,7 @@
</view>
<view class="medbox" wx:if="{{equity.order_service_package.order_service_type==2}}">
<view class="title">问诊服务</view>
<view class="row" style="position: relative;margin-bottom: 22rpx;" wx:if="{{order.order.order_service_status==1 || order.order.order_service_status==2 || (order.order_service_status==5 && order.pay_status==5)}}">
<view class="row" style="position: relative;margin-bottom: 22rpx;" wx:if="{{order.order.order_service_status==1 || order.order.order_service_status==2 || (order.order_service_status==5)}}">
<view class="namebox">
<view class="name"><text decode>内&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;容</text></view>
<view class="dot"></view>
@@ -182,13 +182,13 @@
<view class="desc"><text class="red">{{equity.order_service_package_detail.service_period/30}}个</text>月内,每月<text class="red">{{equity.order_service_package_detail.monthly_frequency==0?'不限':equity.order_service_package_detail.monthly_frequency}}次</text>问诊</view>
</view>
<view class="row" style="position: relative;margin-bottom: 22rpx;" wx:if="{{order.order_service_status==3}}">
<view class="namebox">
<view class="row" style="position: relative;margin-bottom: 22rpx;" wx:if="{{order.order_service_status==3 || order.order_service_status==4 }}">
<view class="namebox" wx:if="{{!(equity.order_inquiry.length==0 && equity.product.length==0)}}">
<view class="name">当月剩余</view>
<view class="dot"></view>
</view>
<view class="desc"><text class="red">{{equity.order_service_package_detail.monthly_frequency==0?'不限':(equity.order_service_package_detail.monthly_frequency-equity.order_service_package.month_inquiry_count)}}次</text>图文</view>
<view class="expand" wx:if="{{ equity.order_inquiry.length>0}}" bind:tap="toggleExpand">{{showExpand?'收起':'展开'}} <van-icon name="{{showExpand?'arrow-up':'arrow-down'}}" /></view>
<view class="desc" wx:if="{{!(equity.order_inquiry.length==0 && equity.product.length==0)}}"><text class="red">{{equity.order_service_package_detail.monthly_frequency==0?'不限':(equity.order_service_package_detail.monthly_frequency-equity.order_service_package.month_inquiry_count)}}次</text>图文</view>
<view class="expand" wx:if="{{ equity.order_inquiry.length>0 && (order.order_service_status==3 || order.order_service_status==4 || (order.order_service_status==5 && order.pay_status!=5))}}" bind:tap="toggleExpand">{{showExpand?'收起':'展开'}} <van-icon name="{{showExpand?'arrow-up':'arrow-down'}}" /></view>
</view>
<view class="usebox" wx:for="{{inquriyList}}" wx:key="order_inquiry_id" bind:tap="goInquiry" data-id="{{item.order_inquiry_id}}">
<view class="time">问诊时间:{{item.created_at}}</view>
@@ -207,12 +207,12 @@
</view>
<view class="row" style="position: relative;margin-bottom: 22rpx;" wx:if="{{order.order_service_status==3}}">
<view class="namebox">
<view class="namebox" wx:if="{{!(equity.order_inquiry.length==0 && equity.product.length==0)}}">
<view class="name">当月剩余</view>
<view class="dot"></view>
</view>
<view class="desc"><text class="red">{{equity.order_service_package_detail.monthly_frequency==0?'不限':(equity.order_service_package_detail.monthly_frequency-equity.order_service_package.month_inquiry_count)}}次</text>图文</view>
<view class="expand" wx:if="{{ equity.order_inquiry.length>0}}" bind:tap="toggleExpand">{{showExpand?'收起':'展开'}} <van-icon name="{{showExpand?'arrow-up':'arrow-down'}}" /></view>
<view class="desc" wx:if="{{!(equity.order_inquiry.length==0 && equity.product.length==0)}}"><text class="red">{{equity.order_service_package_detail.monthly_frequency==0?'不限':(equity.order_service_package_detail.monthly_frequency-equity.order_service_package.month_inquiry_count)}}次</text>图文</view>
<view class="expand" wx:if="{{ equity.order_inquiry.length>1 && (order.order_service_status==3 || order.order_service_status==4 || (order.order_service_status==5 && order.pay_status!=5))}}" bind:tap="toggleExpand">{{showExpand?'收起':'展开'}} <van-icon name="{{showExpand?'arrow-up':'arrow-down'}}" /></view>
</view>
<view class="usebox" wx:for="{{inquriyList}}" wx:key="order_inquiry_id" bind:tap="goInquiry" data-id="{{item.order_inquiry_id}}">
<view class="time">问诊时间:{{item.created_at}}</view>
@@ -222,7 +222,7 @@
</view>
<view class="medbox" wx:if="{{equity.order_service_package.order_service_type==1}}">
<view class="title">药品服务</view>
<view class="row" style="position: relative;margin-bottom: 22rpx;" wx:if="{{order.order.order_service_status==1 || order.order.order_service_status==2 || (order.order_service_status==5 && order.pay_status==5)}}">
<view class="row" style="position: relative;margin-bottom: 22rpx;" wx:if="{{order.order_service_status==1 || order.order_service_status==2 || (order.order_service_status==5 && order.pay_status==5)}}">
<view class="namebox">
<view class="name"><text decode>内&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;容</text></view>
<view class="dot"></view>
@@ -230,14 +230,14 @@
<view class="desc"><text class="red">30盒</text>干爽颗粒(步长)</view>
</view>
<view class="row" wx:if="{{order.order_service_status==3}}">
<view class="namebox">
<view class="namebox" wx:if="{{!(equity.order_inquiry.length==0 && equity.product.length==0)}}">
<view class="name">药品剩余</view>
<view class="dot"></view>
</view>
<view class="desc"><text class="red">{{30}}盒</text>干爽颗粒</view>
<view class="expand" bind:tap="toggleProduct">{{showProduct?'收起':'展开'}} <van-icon name="{{showProduct?'arrow-up':'arrow-down'}}" /></view>
<view class="desc" wx:if="{{!(equity.order_inquiry.length==0 && equity.product.length==0)}}"><text class="red">{{restProduct}}盒</text>干爽颗粒</view>
<view class="expand" bind:tap="toggleProduct" wx:if="{{productList.length>1 && (order.order_service_status==3 || order.order_service_status==4 || (order.order_service_status==5 && order.pay_status!=5))}}">{{showProduct?'收起':'展开'}} <van-icon name="{{showProduct?'arrow-up':'arrow-down'}}" /></view>
</view>
<view class="usebox" wx:for="{{productList}}" wx:key="order_product_id" >
<view class="usebox" wx:for="{{productList}}" wx:key="order_product_id" bind:tap="goProduct" data-id="{{item.order_product_id}}">
<view class="time">下单时间:{{item.created_at}}</view>
<view class="detail">{{item.order_product_status==1?'待支付':item.order_product_status==2?'待发货':item.order_product_status==3?'已发货':item.order_product_status==42?'已签收':'已取消'}}</view>
</view>
@@ -251,15 +251,16 @@
<view class="dot"></view>
</view>
<view class="desc">
<view wx:for="{{juanList}}" wx:key="id">{{item.name}}</view>
<view wx:for="{{juanList}}" wx:key="id">{{item.name}}</view>
</view>
<view class="expand" bind:tap="toggleJuan">{{showJuan?'收起':'展开'}} <van-icon name="{{showJuan?'arrow-up':'arrow-down'}}" /></view>
<view class="expand" bind:tap="toggleJuan" wx:if="{{juanList.length>0 && (order.order_service_status==3 || order.order_service_status==4 || (order.order_service_status==5 && order.pay_status!=5))}}">{{showJuan?'收起':'展开'}} <van-icon name="{{showJuan?'arrow-up':'arrow-down'}}" /></view>
</view>
<view class="usebox" wx:if="{{order.order_service_status!=1 && !(order.order_service_status==5 && order.pay_status==5)}}">
<view class="time">10元的全品类药品优惠劵</view>
<view class="detail">未使用</view>
<view wx:if="{{order.order_service_status!=1 && !(order.order_service_status==5 && order.pay_status==5)}}" wx:for="{{equity.order_service_package_coupo}}" wx:key="coupon_name">
<view class="time">{{item.coupon_name}}</view>
<view class="detail">{{item.user_coupon_status==0?'未使用':item.user_coupon_status==1?'已使用':'已过期'}}</view>
</view>
<view class="usebox" wx:if="{{order.order_service_status!=1 && !(order.order_service_status==5 && order.pay_status==5)}}"> 100元的肝胆商城优惠劵</view>
</view>
</view>
@@ -322,10 +323,10 @@
</view>
</view>
<view class="paybox" style="background-color: transparent;" wx:if="{{order.order_service_status==3 }}">
<view class="submitbtn" bindtap="handleBindCheck">去使用</view>
<view class="submitbtn" bindtap="goChat">去使用</view>
</view>
<view class="paybox" style="background-color: transparent;" wx:if="{{order.order_service_status==4 }}">
<view class="submitbtn" bindtap="handleBindCheck">去续费</view>
<view class="paybox" style="background-color: transparent;" wx:if="{{order.order_service_status==4 || (equity.order_service_package_detail.monthly_frequency!=0 && equity.order_service_package_detail.monthly_frequency-equity.order_service_package.month_inquiry_count==0)}}">
<view class="submitbtn" bindtap="goXuFei">去续费</view>
</view>
@@ -333,4 +334,20 @@
<dialog bind:confirm="confirm" cancelBtn="{{cancelBtn}}" showDialog="{{showDialog}}" message="{{message}}"></dialog>
<van-dialog id="van-dialog" confirm-button-color="#3CC7C0" />
<van-dialog id="van-dialog" confirm-button-color="#3CC7C0" />
<dialog bind:confirm="confirmCheck" cancelBtn="{{true}}" showDialog="{{showCheckDialog}}" message="{{checkmessage}}" confirmtext="继续"></dialog>
<dialog bind:confirm="confirmCheck" cancelBtn="{{true}}" showDialog="{{showCheckDialog}}" message="{{checkmessage}}" confirmtext="继续"></dialog>
<van-dialog
show-cancel-button
class="mydailog"
bind:confirm="goHasOrder"
title="温馨提示"
message="{{messageWarn}}"
z-index="9999"
theme='green'
show="{{showWarn}}"
confirm-button-color="#3CC7C0"
cancel-button-text="取消"
confirm-button-text="{{confirmText}}"
>
</van-dialog>
@@ -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:'是否使用剩余问诊次数?'
})
}
@@ -168,6 +168,7 @@
show="{{showWarn}}"
confirm-button-color="#3CC7C0"
cancel-button-text="取消"
confirm-button-text="{{confirmText}}"
>
</van-dialog>