专家咨询

This commit is contained in:
闫晓茹 2023-11-01 17:33:57 +08:00
parent c8f8a9812c
commit f74bbff796
6 changed files with 298 additions and 87 deletions

View File

@ -74,6 +74,13 @@
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
}, },
{
"path": "solution/solution",
"style": {
"navigationBarTitleText": "视频通话",
"enablePullDownRefresh": false
}
},
{ {
"path": "orderlist/orderlist", "path": "orderlist/orderlist",
"style": { "style": {

View File

@ -7,8 +7,8 @@
</view> </view>
<view class="inputs"> <view class="inputs">
<i class="icon"></i> <i class="icon"></i>
<input v-model="orderTypeList.goodsName" type="text" name="" id="" class="input" placeholder="搜索订单" <input v-model="orderTypeList.hospitalPersonName" type="text" name="" id="" class="input"
placeholder-class="placeholder"> placeholder="搜索订单" placeholder-class="placeholder">
</view> </view>
</u-navbar> </u-navbar>
<u-tabs :list="tabslist" :is-scroll="false" :current="tabscurrent" @change="tabschange" :show-bar='false' <u-tabs :list="tabslist" :is-scroll="false" :current="tabscurrent" @change="tabschange" :show-bar='false'
@ -20,12 +20,11 @@
<span v-if="item.orderStatus=='WAIT_PAY'">待付款</span> <span v-if="item.orderStatus=='WAIT_PAY'">待付款</span>
<span v-if="item.orderStatus=='WAIT_REFUND'">退款中</span> <span v-if="item.orderStatus=='WAIT_REFUND'">退款中</span>
<span v-if="item.orderStatus=='CANCEL'">已取消</span> <span v-if="item.orderStatus=='CANCEL'">已取消</span>
<span <span v-if="item.orderStatus=='COMPLETED'">待评价</span>
v-if="item.orderStatus=='WAIT_RECEIVED_GOODS'&&item.orderType !='HEALTH_CONSULTATION'">待收货</span> <span v-if="item.orderStatus=='WAIT_RECEIVED_GOODS'">待接单</span>
<span <span v-if="item.orderStatus=='RECEIVED_GOODS'">待咨询</span>
v-if="item.orderStatus=='WAIT_RECEIVED_GOODS'&&item.orderType =='HEALTH_CONSULTATION'">待咨询</span> <!-- <span v-if="item.orderStatus=='RECEIVED_GOODS'">待服务</span> -->
<span v-if="item.orderStatus=='RECEIVED_GOODS'">待服务</span> <span v-if="item.orderStatus=='EVALUATED'">已评价</span>
<span v-if="item.orderStatus=='EVALUATED'">已完成</span>
<span v-if="item.orderStatus=='PAY'">待发货</span> <span v-if="item.orderStatus=='PAY'">待发货</span>
<span v-if="item.orderStatus=='REFUNDED'">已退款</span> <span v-if="item.orderStatus=='REFUNDED'">已退款</span>
<span v-if="item.orderStatus=='WAIT_RETURNED_GOODS'">待退货</span> <span v-if="item.orderStatus=='WAIT_RETURNED_GOODS'">待退货</span>
@ -43,6 +42,7 @@
<view class="top"> <view class="top">
<span v-if="item.orderType =='HEALTH_CONSULTATION'">{{item.hospitalPersonName}}</span> <span v-if="item.orderType =='HEALTH_CONSULTATION'">{{item.hospitalPersonName}}</span>
<span v-else>{{item.goodsName}}</span> <span v-else>{{item.goodsName}}</span>
<view class="apptime">预约时间{{item.healthAppointDate}}</view>
<!-- <span v-if="item.orderType =='HEALTH_CONSULTATION'">{{item.totalPrice}}</span> --> <!-- <span v-if="item.orderType =='HEALTH_CONSULTATION'">{{item.totalPrice}}</span> -->
<span <span
v-if="item.goodsPrice&&item.orderType !='HEALTH_CONSULTATION'">{{item.goodsPrice}}</span> v-if="item.goodsPrice&&item.orderType !='HEALTH_CONSULTATION'">{{item.goodsPrice}}</span>
@ -77,15 +77,20 @@
</view> </view>
<view class="logistics harvest" @tap='buy(item)' v-if="item.orderStatus=='WAIT_PAY'"> <view class="logistics harvest" @tap='buy(item)' v-if="item.orderStatus=='WAIT_PAY'">
去支付</view> 去支付</view>
<view class="logistics harvest" v-if="item.orderStatus == 'COMPLETED'" @tap='rate(item)'>
<!-- <view class="pay" style="background-color: #26A888;"> -->
去评价
<!-- </view> -->
</view>
<view class="logistics harvest" @tap='Receipt(item)' <view class="logistics harvest" @tap='Receipt(item)'
v-if="item.orderStatus=='WAIT_RECEIVED_GOODS'&&item.orderType !='HEALTH_CONSULTATION'"> v-if="item.orderStatus=='WAIT_RECEIVED_GOODS'&&item.orderType !='HEALTH_CONSULTATION'">
确认收货</view> 确认收货</view>
<view class="logistics harvest" @tap='Receipt(item)' <!-- <view class="logistics harvest" @tap='Receipt(item)'
v-if="item.orderStatus=='WAIT_RECEIVED_GOODS'&&item.orderType =='HEALTH_CONSULTATION'"> v-if="item.orderStatus=='WAIT_RECEIVED_GOODS'&&item.orderType =='HEALTH_CONSULTATION'">
咨询完成</view> 咨询完成</view> -->
<view class="logistics harvest" style="background-color: #60c5f1;" @tap='rate(item)' <view class="logistics harvest" style="background-color: #60c5f1;" @tap='serve(item)'
v-if="item.orderStatus=='RECEIVED_GOODS'"> v-if="item.orderStatus=='RECEIVED_GOODS'">
评价</view> 咨询</view>
<view class="logistics harvest" v-if="item.orderStatus=='EVALUATED'" @tap='golookrate(item)'> <view class="logistics harvest" v-if="item.orderStatus=='EVALUATED'" @tap='golookrate(item)'>
查看评价</view> 查看评价</view>
</view> </view>
@ -95,7 +100,7 @@
<u-empty mode="order" icon-size='220'></u-empty> <u-empty mode="order" icon-size='220'></u-empty>
</view> </view>
<!-- 弹框 --> <!-- 弹框 -->
<view class="frame"> <!-- <view class="frame">
<u-popup v-model="show" mode="bottom" length="45%" border-radius="30" :closeable='true'> <u-popup v-model="show" mode="bottom" length="45%" border-radius="30" :closeable='true'>
<view class="payment"> <view class="payment">
<span v-if="orderNoitem.orderType =='HEALTH_CONSULTATION'">确认咨询完成了吗</span> <span v-if="orderNoitem.orderType =='HEALTH_CONSULTATION'">确认咨询完成了吗</span>
@ -112,12 +117,34 @@
</view> </view>
<view class="submits" @tap='Receipts'>确定</view> <view class="submits" @tap='Receipts'>确定</view>
</u-popup> </u-popup>
</view>
</view> -->
<u-popup v-model="evaluatenurse" mode="bottom" length="50%" border-radius="20" :closeable='true' class='masks'>
<view class="titleitem">
服务评价
</view>
<view class="mask">
<u-rate :count="5" v-model="rateval" :size='70' active-color='#F4EA2A'></u-rate>
</view>
<view class="rateitem">
{{rateval==5?'非常满意':''}}
{{rateval==4?'满意':''}}
{{rateval==3?'一般':''}}
{{rateval==2?'差':''}}
{{rateval==1?'非常差':''}}
</view>
<view class="btn" @tap="submit(item)" v-if="orderTypeList.orderStatus=='COMPLETED'">
确认
</view>
</u-popup>
<u-toast ref="uToast" /> <u-toast ref="uToast" />
</view> </view>
</template> </template>
<script> <script>
import {
lookrate
} from '@/api/pagesB/lookrate/index.js'
import { import {
ssgoodsOrder, ssgoodsOrder,
confirmReceipt confirmReceipt
@ -126,11 +153,15 @@
import { import {
appletGoodsOrderPay appletGoodsOrderPay
} from '@/api/pagesB/confirmOrder/index.js' } from '@/api/pagesB/confirmOrder/index.js'
import {
insertGoodsEvaluate,
} from '@/api/pagesB/Serviceevaluation/Serviceevaluation.js'
export default { export default {
data() { data() {
return { return {
tabslist: [ rateval: 0,
{ evaluatenurse: false,
tabslist: [{
name: '全部', name: '全部',
orderStatus: '', orderStatus: '',
}, },
@ -146,13 +177,13 @@
name: '待服务', name: '待服务',
orderStatus: 'RECEIVED_GOODS', orderStatus: 'RECEIVED_GOODS',
}, },
// { {
// name: '', name: '待评价',
// orderStatus: 'RECEIVED_GOODS', orderStatus: 'COMPLETED',
// }, },
{ {
name: '已完成', name: '已评价',
orderStatus: 'EVALUATED', orderStatus: 'EVALUATED',
}, },
@ -169,7 +200,7 @@
// goodsOrderId: '', // // goodsOrderId: '', //
pageSize: 15, // pageSize: 15, //
pageNum: 1, // pageNum: 1, //
goodsName: '', hospitalPersonName: '',
}, },
openid: '', openid: '',
baseurl: '', //url baseurl: '', //url
@ -179,19 +210,80 @@
img: '', // img: '', //
orderStatus: '', // orderStatus: '', //
getCodeText: null, getCodeText: null,
} }
}, },
watch: { //
rateval() {
if (this.rateval == 5) {
this.evaluateSatisfaction = 'VERYSATISFIED'
} else if (this.rateval == 4) {
this.evaluateSatisfaction = 'SATISFIED'
} else if (this.rateval == 3) {
this.evaluateSatisfaction = 'COMMONLY'
} else if (this.rateval == 2) {
this.evaluateSatisfaction = 'DISSATISFIED'
} else if (this.rateval == 1) {
this.evaluateSatisfaction = 'VERYDISSATISFIED'
}
},
'orderTypeList.hospitalPersonName'() {
this.orderTypeList.pageNum = 1
this.goodsOrderinfo()
},
},
methods: { methods: {
submit() {
console.log(this.orderlist[0], '858')
console.log(this.orderlist[0].goOrderNo, '88')
var obj = {
"patientId": this.orderTypeList.patientId,
"openid": this.openid,
"orderNo": this.orderlist[0].goOrderNo,
"evaluateChannel": "WE_CHAT_APPLET",
"evaluateSatisfaction": this.evaluateSatisfaction,
"compositeScore": this.rateval,
"orderSource": "SPRING_DOCTOR",
}
insertGoodsEvaluate(obj).then(res => {
if (res.code == 200) {
this.$refs.uToast.show({
title: '评价成功',
type: 'success',
duration: '1500'
})
this.goodsOrderinfo()
this.evaluatenurse = false;
} else if (res.code == 500) {
this.$refs.uToast.show({
title: res.msg,
type: 'error',
duration: '1500'
})
}
})
},
//tabs //tabs
tabschange(index) { tabschange(index) {
console.log(this.tabslist) console.log(this.tabslist)
this.tabscurrent = index; this.tabscurrent = index;
this.orderTypeList.orderStatus = this.tabslist[index].orderStatus this.orderTypeList.orderStatus = this.tabslist[index].orderStatus
console.log(this.orderTypeList.orderStatus, '999') // console.log(this.orderTypeList.orderStatus, '999')
console.log(this.orderTypeList.orderType, '99') // console.log(this.orderTypeList.orderType, '99')
this.goodsOrderinfo(); this.goodsOrderinfo();
}, },
//
rate(item) {
if(item.orderStatus=='COMPLETED'){
this.rateval=0
}
this.evaluatenurse = true;
// uni.navigateTo({
// url: `/pagesB/goodsorderRate/goodsorderRate?item=${item}&delta=${2}`
// })
},
// //
goprevious() { goprevious() {
uni.navigateBack({ uni.navigateBack({
@ -200,39 +292,46 @@
}, },
// //
golookrate(item) { golookrate(item) {
uni.navigateTo({ console.log(item, '555')
url: `/pagesB/lookrate/lookrate?item=${JSON.stringify(item)}` var orderNo = item.goOrderNo
lookrate(orderNo).then(res => {
this.rateval = res.data.compositeScore
this.evaluatenurse = true
}) })
// uni.navigateTo({
// url: `/pagesB/lookrate/lookrate?item=${JSON.stringify(item)}`
// })
}, },
// //
Receipts() { // Receipts() {
confirmReceipt(this.orderNoitem.goOrderNo).then(res => { // confirmReceipt(this.orderNoitem.goOrderNo).then(res => {
if (res.code == 200) { // if (res.code == 200) {
this.$refs.uToast.show({ // this.$refs.uToast.show({
title: '收货成功', // title: '',
type: 'success', // type: 'success',
duration: '1000' // duration: '1000'
}) // })
this.show = false // this.show = false
uni.setStorageSync("Refresh", 'Refresh') // this.goodsOrderinfo()
setTimeout(e => { // uni.setStorageSync("Refresh", 'Refresh')
uni.navigateTo({ // // setTimeout(e => {
url: `/pagesB/goodsorderRate/goodsorderRate?item=${JSON.stringify(this.orderNoitem)}&delta=${1}` // // uni.navigateTo({
}) // // url: `/pagesB/goodsorderRate/goodsorderRate?item=${JSON.stringify(this.orderNoitem)}&delta=${1}`
// uni.navigateTo({ // // })
// url: `/pagesB/orderDetails/orderDetails?goodsOrderId=${this.orderNoitem.goodsOrderId}` // // uni.navigateTo({
// }) // // url: `/pagesB/orderDetails/orderDetails?goodsOrderId=${this.orderNoitem.goodsOrderId}`
}, 1000) // // })
} else { // // }, 1000)
this.$refs.uToast.show({ // } else {
title: '收货失败', // this.$refs.uToast.show({
type: 'error', // title: '',
duration: '1000' // type: 'error',
}) // duration: '1000'
this.show = false // })
} // this.show = false
}) // }
}, // })
// },
// //
buy(item) { buy(item) {
let obj = { let obj = {
@ -285,10 +384,10 @@
url: `/pagesB/logistics/logistics?item=${JSON.stringify(item)}` url: `/pagesB/logistics/logistics?item=${JSON.stringify(item)}`
}) })
}, },
// //
rate(item) { serve(item) {
uni.navigateTo({ uni.navigateTo({
url: `/pagesB/goodsorderRate/goodsorderRate?item=${JSON.stringify(item)}&delta=${1}` url: '/pagesB/solution/solution'
}) })
}, },
// //
@ -328,12 +427,7 @@
this.show = true this.show = true
}, },
}, },
watch: { //
'orderTypeList.goodsName'() {
this.orderTypeList.pageNum = 1
this.goodsOrderinfo()
},
},
onReady() { // onReady() { //
// uni.setNavigationBarTitle({ // uni.setNavigationBarTitle({
// title: this.title, // title: this.title,
@ -403,6 +497,44 @@
.app { .app {
width: 100%; width: 100%;
.titleitem {
position: absolute;
top: 40rpx;
left: 50%;
transform: translateX(-50%);
font-size: 42rpx;
}
::v-deep .u-star-wrap {
padding-right: 10rpx;
}
.mask {
position: absolute;
top: 200rpx;
left: 70rpx;
}
.btn {
width: 70%;
height: 71rpx;
background: #26A888;
border-radius: 26rpx;
position: absolute;
top: 530rpx;
left: 15%;
text-align: center;
line-height: 71rpx;
color: #fff;
}
.rateitem {
position: absolute;
top: 350rpx;
left: 80rpx;
font-size: 42rpx;
}
::v-deep .u-navbar-placeholder { ::v-deep .u-navbar-placeholder {
background-color: #F7F5F5; background-color: #F7F5F5;
z-index: 999; z-index: 999;
@ -601,6 +733,13 @@
margin-top: 20rpx; margin-top: 20rpx;
height: 100rpx; height: 100rpx;
.apptime {
position: absolute;
left: 32%;
top: 30%;
// background-color: red;
}
span:nth-child(1) { span:nth-child(1) {
position: absolute; position: absolute;
left: 32%; left: 32%;

View File

@ -4,7 +4,30 @@
width: 100%; width: 100%;
color: #000000; color: #000000;
padding-top: 20rpx; padding-top: 20rpx;
overflow: scroll; // overflow: scroll;
.time{
height: 80rpx;
width: 95%;
text-align: center;
line-height: 80rpx;
background-color: #26A888;
margin: 30rpx auto 30rpx;
border-radius: 20rpx;
}
.OrderStatus{
text-align: center;
width: 300rpx;
height: 70rpx;
margin: 30rpx auto 0;
line-height: 70rpx;
background-color:#26A888 ;
border-radius: 50rpx;
// color: #26A888;
color: #FFFFFF;
border: 1rpx solid #26A888;
}
.u-navbar { .u-navbar {
display: block; display: block;
image { image {
@ -67,7 +90,7 @@
.service { .service {
width: 50%; width: 50%;
top: 4%; // top: 4%;
position: absolute; position: absolute;
height: 35px; height: 35px;
left: 6%; left: 6%;
@ -299,7 +322,7 @@
line-height: 61rpx; line-height: 61rpx;
border-radius: 5rpx; border-radius: 5rpx;
text-align: center; text-align: center;
right: 30%; right: 5%;
top: 50%; top: 50%;
transform: translateY(-50%); transform: translateY(-50%);
} }

View File

@ -5,18 +5,32 @@
<view class="title" v-if="list.orderStatus=='WAIT_PAY'">待付款</view> <view class="title" v-if="list.orderStatus=='WAIT_PAY'">待付款</view>
<view class="title" v-if="list.orderStatus=='WAIT_REFUND'">退款中</view> <view class="title" v-if="list.orderStatus=='WAIT_REFUND'">退款中</view>
<view class="title" v-if="list.orderStatus=='CANCEL'">已取消</view> <view class="title" v-if="list.orderStatus=='CANCEL'">已取消</view>
<view class="title" v-if="list.orderStatus=='WAIT_RECEIVED_GOODS'&&list.orderType !='HEALTH_CONSULTATION'"> <view class="title" v-if="list.orderStatus=='WAIT_RECEIVED_GOODS'">待接单</view>
待收货</view> <!-- <view class="title" v-if="list.orderStatus=='WAIT_RECEIVED_GOODS'&&list.orderType !='HEALTH_CONSULTATION'">
<view class="title" v-if="list.orderStatus=='WAIT_RECEIVED_GOODS'&&list.orderType =='HEALTH_CONSULTATION'"> 待收货</view> -->
待咨询</view> <!-- <view class="title" v-if="list.orderStatus=='WAIT_RECEIVED_GOODS'&&list.orderType =='HEALTH_CONSULTATION'">
<view class="title" v-if="list.orderStatus=='RECEIVED_GOODS'">待评价</view> 待咨询</view> -->
<view class="title" v-if="list.orderStatus=='EVALUATED'">已完成</view> <view class="title" v-if="list.orderStatus=='COMPLETED'">待评价</view>
<view class="title" v-if="list.orderStatus=='RECEIVED_GOODS'">待服务</view>
<view class="title" v-if="list.orderStatus=='EVALUATED'">已评价</view>
<view class="title" v-if="list.orderStatus=='PAY'">待发货</view> <view class="title" v-if="list.orderStatus=='PAY'">待发货</view>
<view class="title" v-if="list.orderStatus=='REFUNDED'">已退款</view> <view class="title" v-if="list.orderStatus=='REFUNDED'">已退款</view>
<view class="title" v-if="list.orderStatus=='WAIT_RETURNED_GOODS'">待退货</view> <view class="title" v-if="list.orderStatus=='WAIT_RETURNED_GOODS'">待退货</view>
<view class="title" v-if="list.orderStatus=='RETURNED_GOODS'">退款成功</view> <view class="title" v-if="list.orderStatus=='RETURNED_GOODS'">退款成功</view>
</u-navbar> </u-navbar>
<view class="time" style="" v-if="list.orderStatus=='WAIT_PAY'">
<!-- v-if="list.orderStatus!='WAIT_PAY' -->
剩余付款时间
<u-count-down style='' :timestamp="timestamp">
</u-count-down>
</view>
<view class="OrderStatus" v-if="list.orderStatus=='REFUNDED'||list.orderStatus=='CANCEL'">
订单已关闭
</view>
<view class="content"> <view class="content">
<view class="service"> <view class="service">
<image src="/static/pagesB/persone.png" mode=""></image> <image src="/static/pagesB/persone.png" mode=""></image>
@ -38,9 +52,7 @@
<span v-if="list.academicTitle=='HEALER'">医士</span> <span v-if="list.academicTitle=='HEALER'">医士</span>
<span v-if="list.academicTitle=='RESIDENT_PHYSICIAN'">住院医师</span> <span v-if="list.academicTitle=='RESIDENT_PHYSICIAN'">住院医师</span>
</view> </view>
<!-- <view class="hospital">
三甲医院
</view> -->
</view> </view>
</view> </view>
@ -67,7 +79,6 @@
</view> </view>
<view class="phonetwo advicetwo" v-if="list.healthConsultationContent"> <view class="phonetwo advicetwo" v-if="list.healthConsultationContent">
·{{list.healthConsultationContent}} ·{{list.healthConsultationContent}}
<!-- <textarea v-model="value" :type="type" :border="border" /> -->
</view> </view>
</view> </view>
<view class="amount"> <view class="amount">
@ -86,21 +97,22 @@
</view> </view>
<view class="bottom"> <view class="bottom">
<span>更多</span> <span>更多</span>
<span @tap="cancle" v-if="list.orderStatus!='RECEIVED_GOODS'||list.orderStatus!='EVALUATED'">取消订单</span> <span @tap="cancle"
<span @tap="evaluate">服务评价</span> v-if="list.orderStatus!='WAIT_PAY'&&list.orderStatus!='EVALUATED'&&list.orderStatus!='WAIT_REFUND'&&list.orderStatus!='COMPLETED'&&list.orderStatus!='RECEIVED_GOODS'">取消订单</span>
<!-- <span@tap="evaluate" v-if="list.orderStatus=='COMPLETED'">服务评价</span> -->
</view> </view>
<u-popup v-model="evaluateshow" mode="bottom" length="45%" border-radius="30" :closeable='true'> <!-- <u-popup v-model="evaluateshow" mode="bottom" length="45%" border-radius="30" :closeable='true'>
<view class="evaluate"> <view class="evaluate">
服务评价 服务评价
</view> </view>
<view class="star"> <view class="star">
<u-rate size="70" active-color="#F4EA2A" inactive-color="#b2b2b2" gutter="20"></u-rate> <u-rate size="70" active-color="#F4EA2A" v-model="countvalue" inactive-color="#b2b2b2" gutter="20"></u-rate>
<span>非常差//满意/非常满意</span> <span>非常差//满意/非常满意</span>
</view> </view>
<view class="submits"> <view class="submits">
提交 提交
</view> </view>
</u-popup> </u-popup> -->
</view> </view>
@ -115,6 +127,8 @@
export default { export default {
data() { data() {
return { return {
timestamp: 0,
countvalue: 0,
list: [], list: [],
// //
background: { background: {
@ -141,7 +155,7 @@
}, },
onLoad(options) { onLoad(options) {
this.list = JSON.parse(options.item) this.list = JSON.parse(options.item)
console.log(this.list, '99') // console.log(this.list, '99')
// console.log(options,'88') // console.log(options,'88')
this.baseurl = baseurl this.baseurl = baseurl
this.orderTypeList.goodsOrderId = options.goodsOrderId this.orderTypeList.goodsOrderId = options.goodsOrderId
@ -177,9 +191,9 @@
}, },
// //
cancle() { cancle() {
var list=this.list var list = this.list
uni.navigateTo({ uni.navigateTo({
url: `/pagesB/cancel/cancel?list=${JSON.stringify(this.list)}` url: `/pagesB/refundType/refundType?list=${JSON.stringify(this.list)}`
}) })
}, },
// //

View File

@ -142,7 +142,9 @@
}, },
}, },
onLoad(options) { onLoad(options) {
console.log(options,'4')
this.orderlist = JSON.parse(options.item) this.orderlist = JSON.parse(options.item)
console.log(this.orderlist,'47')
this.delta = options.delta this.delta = options.delta
}, },
onShow() { onShow() {

View File

@ -0,0 +1,26 @@
<template>
<view>
<web-view src="https://msg.xinyilu.cn/" @message="handlePostMessage"></web-view>
</view>
</template>
<script>
export default {
data() {
return {
};
},
methods:{
handlePostMessage(e){
console.log(e,'000')
},
},
}
</script>
<style lang="scss">
</style>