专家咨询

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
}
},
{
"path": "solution/solution",
"style": {
"navigationBarTitleText": "视频通话",
"enablePullDownRefresh": false
}
},
{
"path": "orderlist/orderlist",
"style": {

View File

@ -7,8 +7,8 @@
</view>
<view class="inputs">
<i class="icon"></i>
<input v-model="orderTypeList.goodsName" type="text" name="" id="" class="input" placeholder="搜索订单"
placeholder-class="placeholder">
<input v-model="orderTypeList.hospitalPersonName" type="text" name="" id="" class="input"
placeholder="搜索订单" placeholder-class="placeholder">
</view>
</u-navbar>
<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_REFUND'">退款中</span>
<span v-if="item.orderStatus=='CANCEL'">已取消</span>
<span
v-if="item.orderStatus=='WAIT_RECEIVED_GOODS'&&item.orderType !='HEALTH_CONSULTATION'">待收货</span>
<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=='EVALUATED'">已完成</span>
<span v-if="item.orderStatus=='COMPLETED'">待评价</span>
<span v-if="item.orderStatus=='WAIT_RECEIVED_GOODS'">待接单</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=='PAY'">待发货</span>
<span v-if="item.orderStatus=='REFUNDED'">已退款</span>
<span v-if="item.orderStatus=='WAIT_RETURNED_GOODS'">待退货</span>
@ -43,6 +42,7 @@
<view class="top">
<span v-if="item.orderType =='HEALTH_CONSULTATION'">{{item.hospitalPersonName}}</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.goodsPrice&&item.orderType !='HEALTH_CONSULTATION'">{{item.goodsPrice}}</span>
@ -77,15 +77,20 @@
</view>
<view class="logistics harvest" @tap='buy(item)' v-if="item.orderStatus=='WAIT_PAY'">
去支付</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)'
v-if="item.orderStatus=='WAIT_RECEIVED_GOODS'&&item.orderType !='HEALTH_CONSULTATION'">
确认收货</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'">
咨询完成</view>
<view class="logistics harvest" style="background-color: #60c5f1;" @tap='rate(item)'
咨询完成</view> -->
<view class="logistics harvest" style="background-color: #60c5f1;" @tap='serve(item)'
v-if="item.orderStatus=='RECEIVED_GOODS'">
评价</view>
咨询</view>
<view class="logistics harvest" v-if="item.orderStatus=='EVALUATED'" @tap='golookrate(item)'>
查看评价</view>
</view>
@ -95,7 +100,7 @@
<u-empty mode="order" icon-size='220'></u-empty>
</view>
<!-- 弹框 -->
<view class="frame">
<!-- <view class="frame">
<u-popup v-model="show" mode="bottom" length="45%" border-radius="30" :closeable='true'>
<view class="payment">
<span v-if="orderNoitem.orderType =='HEALTH_CONSULTATION'">确认咨询完成了吗</span>
@ -112,12 +117,34 @@
</view>
<view class="submits" @tap='Receipts'>确定</view>
</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" />
</view>
</template>
<script>
import {
lookrate
} from '@/api/pagesB/lookrate/index.js'
import {
ssgoodsOrder,
confirmReceipt
@ -126,11 +153,15 @@
import {
appletGoodsOrderPay
} from '@/api/pagesB/confirmOrder/index.js'
import {
insertGoodsEvaluate,
} from '@/api/pagesB/Serviceevaluation/Serviceevaluation.js'
export default {
data() {
return {
tabslist: [
{
rateval: 0,
evaluatenurse: false,
tabslist: [{
name: '全部',
orderStatus: '',
},
@ -146,13 +177,13 @@
name: '待服务',
orderStatus: 'RECEIVED_GOODS',
},
// {
// name: '',
// orderStatus: 'RECEIVED_GOODS',
// },
{
name: '已完成',
name: '待评价',
orderStatus: 'COMPLETED',
},
{
name: '已评价',
orderStatus: 'EVALUATED',
},
@ -169,7 +200,7 @@
// goodsOrderId: '', //
pageSize: 15, //
pageNum: 1, //
goodsName: '',
hospitalPersonName: '',
},
openid: '',
baseurl: '', //url
@ -179,19 +210,80 @@
img: '', //
orderStatus: '', //
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: {
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
tabschange(index) {
console.log(this.tabslist)
this.tabscurrent = index;
this.orderTypeList.orderStatus = this.tabslist[index].orderStatus
console.log(this.orderTypeList.orderStatus, '999')
console.log(this.orderTypeList.orderType, '99')
// console.log(this.orderTypeList.orderStatus, '999')
// console.log(this.orderTypeList.orderType, '99')
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() {
uni.navigateBack({
@ -200,39 +292,46 @@
},
//
golookrate(item) {
uni.navigateTo({
url: `/pagesB/lookrate/lookrate?item=${JSON.stringify(item)}`
console.log(item, '555')
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() {
confirmReceipt(this.orderNoitem.goOrderNo).then(res => {
if (res.code == 200) {
this.$refs.uToast.show({
title: '收货成功',
type: 'success',
duration: '1000'
})
this.show = false
uni.setStorageSync("Refresh", 'Refresh')
setTimeout(e => {
uni.navigateTo({
url: `/pagesB/goodsorderRate/goodsorderRate?item=${JSON.stringify(this.orderNoitem)}&delta=${1}`
})
// uni.navigateTo({
// url: `/pagesB/orderDetails/orderDetails?goodsOrderId=${this.orderNoitem.goodsOrderId}`
// })
}, 1000)
} else {
this.$refs.uToast.show({
title: '收货失败',
type: 'error',
duration: '1000'
})
this.show = false
}
})
},
// Receipts() {
// confirmReceipt(this.orderNoitem.goOrderNo).then(res => {
// if (res.code == 200) {
// this.$refs.uToast.show({
// title: '',
// type: 'success',
// duration: '1000'
// })
// this.show = false
// this.goodsOrderinfo()
// uni.setStorageSync("Refresh", 'Refresh')
// // setTimeout(e => {
// // uni.navigateTo({
// // url: `/pagesB/goodsorderRate/goodsorderRate?item=${JSON.stringify(this.orderNoitem)}&delta=${1}`
// // })
// // uni.navigateTo({
// // url: `/pagesB/orderDetails/orderDetails?goodsOrderId=${this.orderNoitem.goodsOrderId}`
// // })
// // }, 1000)
// } else {
// this.$refs.uToast.show({
// title: '',
// type: 'error',
// duration: '1000'
// })
// this.show = false
// }
// })
// },
//
buy(item) {
let obj = {
@ -285,10 +384,10 @@
url: `/pagesB/logistics/logistics?item=${JSON.stringify(item)}`
})
},
//
rate(item) {
//
serve(item) {
uni.navigateTo({
url: `/pagesB/goodsorderRate/goodsorderRate?item=${JSON.stringify(item)}&delta=${1}`
url: '/pagesB/solution/solution'
})
},
//
@ -328,12 +427,7 @@
this.show = true
},
},
watch: { //
'orderTypeList.goodsName'() {
this.orderTypeList.pageNum = 1
this.goodsOrderinfo()
},
},
onReady() { //
// uni.setNavigationBarTitle({
// title: this.title,
@ -403,6 +497,44 @@
.app {
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 {
background-color: #F7F5F5;
z-index: 999;
@ -601,6 +733,13 @@
margin-top: 20rpx;
height: 100rpx;
.apptime {
position: absolute;
left: 32%;
top: 30%;
// background-color: red;
}
span:nth-child(1) {
position: absolute;
left: 32%;
@ -684,4 +823,4 @@
}
}
}
</style>
</style>

View File

@ -4,7 +4,30 @@
width: 100%;
color: #000000;
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 {
display: block;
image {
@ -67,7 +90,7 @@
.service {
width: 50%;
top: 4%;
// top: 4%;
position: absolute;
height: 35px;
left: 6%;
@ -299,7 +322,7 @@
line-height: 61rpx;
border-radius: 5rpx;
text-align: center;
right: 30%;
right: 5%;
top: 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_REFUND'">退款中</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>
<view class="title" v-if="list.orderStatus=='WAIT_RECEIVED_GOODS'&&list.orderType =='HEALTH_CONSULTATION'">
待咨询</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=='WAIT_RECEIVED_GOODS'">待接单</view>
<!-- <view class="title" v-if="list.orderStatus=='WAIT_RECEIVED_GOODS'&&list.orderType !='HEALTH_CONSULTATION'">
待收货</view> -->
<!-- <view class="title" v-if="list.orderStatus=='WAIT_RECEIVED_GOODS'&&list.orderType =='HEALTH_CONSULTATION'">
待咨询</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=='REFUNDED'">已退款</view>
<view class="title" v-if="list.orderStatus=='WAIT_RETURNED_GOODS'">待退货</view>
<view class="title" v-if="list.orderStatus=='RETURNED_GOODS'">退款成功</view>
</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="service">
<image src="/static/pagesB/persone.png" mode=""></image>
@ -38,9 +52,7 @@
<span v-if="list.academicTitle=='HEALER'">医士</span>
<span v-if="list.academicTitle=='RESIDENT_PHYSICIAN'">住院医师</span>
</view>
<!-- <view class="hospital">
三甲医院
</view> -->
</view>
</view>
@ -67,7 +79,6 @@
</view>
<view class="phonetwo advicetwo" v-if="list.healthConsultationContent">
·{{list.healthConsultationContent}}
<!-- <textarea v-model="value" :type="type" :border="border" /> -->
</view>
</view>
<view class="amount">
@ -86,21 +97,22 @@
</view>
<view class="bottom">
<span>更多</span>
<span @tap="cancle" v-if="list.orderStatus!='RECEIVED_GOODS'||list.orderStatus!='EVALUATED'">取消订单</span>
<span @tap="evaluate">服务评价</span>
<span @tap="cancle"
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>
<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>
<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>
</view>
<view class="submits">
提交
</view>
</u-popup>
</u-popup> -->
</view>
@ -115,6 +127,8 @@
export default {
data() {
return {
timestamp: 0,
countvalue: 0,
list: [],
//
background: {
@ -141,7 +155,7 @@
},
onLoad(options) {
this.list = JSON.parse(options.item)
console.log(this.list, '99')
// console.log(this.list, '99')
// console.log(options,'88')
this.baseurl = baseurl
this.orderTypeList.goodsOrderId = options.goodsOrderId
@ -177,9 +191,9 @@
},
//
cancle() {
var list=this.list
var list = this.list
uni.navigateTo({
url: `/pagesB/cancel/cancel?list=${JSON.stringify(this.list)}`
url: `/pagesB/refundType/refundType?list=${JSON.stringify(this.list)}`
})
},
//
@ -193,4 +207,4 @@
</script>
<style lang="scss">
@import './consulted.scss'
</style>
</style>

View File

@ -142,7 +142,9 @@
},
},
onLoad(options) {
console.log(options,'4')
this.orderlist = JSON.parse(options.item)
console.log(this.orderlist,'47')
this.delta = options.delta
},
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>