Merge remote-tracking branch 'origin/04-27' into dev

# Conflicts:
#	pages/ServiceDetails/ServiceDetails.scss
#	pages/night/night.vue
This commit is contained in:
曹辉 2023-05-05 11:45:58 +08:00
commit 0607a24ffd
14 changed files with 329 additions and 247 deletions

View File

@ -14,4 +14,10 @@ export function addAppointmentEvaluate(data) {
method: 'POST',
data
})
}
}
export function handCloseOrder() {
return request({
url: `/monitor/payTask/handCloseOrder`,
method: 'GET'
})
}

View File

@ -1,6 +1,5 @@
import request from "../request.js"
export function getAppPatientList(id) {
return request({
url: `/nurseApp/login/getAppPatientList?patientId=${id}`,
@ -8,7 +7,6 @@ export function getAppPatientList(id) {
})
}
export function getAppStationItemInfo(stationId, stationItemId, stationItemPriceId) {
return request({
url: `/nurseApp/login/getAppStationItemInfo?stationId=${stationId}&stationItemId=${stationItemId}&stationItemPriceId=${stationItemPriceId}`,
@ -23,7 +21,6 @@ export function submitAppointment(data) {
})
}
// 小程序预约服务支付接口
export function appletAppointmentOrderPay(data) {
return request({
url: `/nurseApp/weChatPayment/appletAppointmentOrderPay`,
@ -31,5 +28,3 @@ export function appletAppointmentOrderPay(data) {
data
})
}

View File

@ -22,7 +22,6 @@ var request = function(config) {
let pages = getCurrentPages();
let path = pages[pages.length - 1].$page.fullPath
let paths = path.split('?')
console.log(paths)
if (paths == '/pages/integral/integral' || paths ==
'/pages/shopping/shopping' || paths ==
'/pages/coupon/coupon' || paths ==

View File

@ -1,5 +1,5 @@
{
"name" : "nurseWeChatAppletUI",
"name" : "泉医到家",
"appid" : "__UNI__1200110",
"description" : "",
"versionName" : "1.0.0",

View File

@ -238,7 +238,7 @@
this.orderlist = res.rows
// this.orderlist.forEach(e => {
// e.timestamp = null
// var time = new Date(e.orderTime).getTime() / 1000 + (60 * 60 * 24)
// var time = new Date(e.orderTime).getTime() / 1000 + (60 * 60 * 2)
// var times = new Date().getTime() / 1000
// e.timestamp = time - times
// })
@ -318,7 +318,7 @@
.goodsName).then(res => {
res.rows.forEach(e => {
// e.timestamp = null
// var time = new Date(e.orderTime).getTime() / 1000 + (60 * 60 * 24)
// var time = new Date(e.orderTime).getTime() / 1000 + (60 * 60 * 2)
// var times = new Date().getTime() / 1000
// e.timestamp = time - times
this.orderlist.push(e)

View File

@ -259,7 +259,7 @@
this.list = res.rows;
// this.list.forEach(e => {
// e.timestamp = null
// var time = new Date(e.createTime).getTime() / 1000 + (60 * 60 * 24)
// var time = new Date(e.createTime).getTime() / 1000 + (60 * 60 * 2)
// var times = new Date().getTime() / 1000
// e.timestamp = time - times
// })
@ -284,7 +284,7 @@
appServiceOrder(this.patientId, this.pageSize, this.pageNum).then(res => {
res.rows.forEach(e => {
// e.timestamp = null
// var time = new Date(e.createTime).getTime() / 1000 + (60 * 60 * 24)
// var time = new Date(e.createTime).getTime() / 1000 + (60 * 60 * 2)
// var times = new Date().getTime() / 1000
// e.timestamp = time - times
this.list.push(e)

View File

@ -57,229 +57,228 @@
font-size: 42rpx;
}
}
.time{
height: 80rpx;
width: 95%;
text-align: center;
line-height: 80rpx;
background-color: #fff;
margin: 20rpx auto 0rpx;
border-radius: 20rpx;
}
.OrderStatus{
text-align: center;
width: 300rpx;
height: 70rpx;
margin: 10rpx auto 0;
line-height: 70rpx;
background-color:#4C7BC9 ;
border-radius: 50rpx;
// color: #4C7BC9;
color: #FFFFFF;
border: 1rpx solid #4C7BC9;
}
// 服务商家
.detail {
margin: 30rpx 0 0 3%;
line-height: 31rpx;
font-size: 32rpx;
color: #666666;
line-height: 31rpx;
}
.name {
width: 95%;
height: 90rpx;
// margin-left: 3%;
line-height: 90rpx;
border-bottom: 1rpx solid #D8D4D4;
margin: 0 auto;
}
//按钮取消订单和评价
.evaluate {
width: 90%;
margin: 0 auto;
font-size: 32rpx;
position: relative;
height: 100rpx;
.price{
line-height: 100rpx;
color: red;
font-size: 46rpx;
}
.cancelorder {
width: 216rpx;
height: 68rpx;
background: #E1AE3C;
border-radius: 26rpx;
.time{
height: 80rpx;
width: 95%;
text-align: center;
color: #ffffff;
line-height: 68rpx;
position: absolute;
right:0%;
top:50%;
transform: translateY(-50%);
line-height: 80rpx;
background-color: #fff;
margin: 20rpx auto 0rpx;
border-radius: 20rpx;
}
}
//备注
.remarks {
width: 95%;
margin: 20rpx auto;
padding: 3%;
background: #FFFFFF;
border-radius: 20rpx;
position: relative;
view {
display: inline-block;
width: 20%;
.OrderStatus{
text-align: center;
width: 300rpx;
height: 70rpx;
margin: 10rpx auto 0;
line-height: 70rpx;
background-color:#4C7BC9 ;
border-radius: 50rpx;
// color: #4C7BC9;
color: #FFFFFF;
border: 1rpx solid #4C7BC9;
}
input {
display: inline-block;
width: 80%;
position: absolute;
top: 50%;
transform: translateY(-50%);
left: 20%;
color: #666666;
}
}
/* 耗材包 */
.Consumablespackage {
width: 95%;
margin: 20rpx auto;
padding: 3% 3% 50rpx;
background: #FFFFFF;
border-radius: 20rpx;
span {
font-size: 32rpx;
color: #D43953;
float: right;
}
}
/* 套餐 */
.Package {
width: 94%;
margin: 20rpx auto 0;
padding: 3% 3% 50rpx;
background: #FFFFFF;
border-radius: 20rpx;
span {
font-size: 32rpx;
color: #D43953;
float: right;
}
}
//服务项目和服务商家
.content {
width: 95%;
height: 100%;
background: #FFFFFF;
box-shadow: 0px 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
border-radius: 20rpx;
margin: 20rpx auto 0;
padding: 3% 3% 40rpx 3%;
line-height: 60rpx;
// 服务信息
.contacts {
margin-top: 1%;
font-size: 32rpx;
padding: 0 3% 0 3%;
color: #666666;
word-break:break-all;
// line-height: 38rpx;
}
.drug {
// 服务商家
.detail {
margin: 30rpx 0 0 3%;
line-height: 31rpx;
font-size: 32rpx;
color: #666666;
padding: 0 3% 0 3%;
line-height: 31rpx;
}
.details {
.callme {
width: 150rpx;
height: 48rpx;
background: #D43953;
border-radius: 24px;
font-size: 21rpx;
color: #ffffff;
line-height: 48rpx;
text-align: center;
position: relative;
margin-top: 20rpx;
.icon{
position: absolute;
left:10%;
top:50%;
transform: translateY(-50%);
}
.text{
position: absolute;
top:50%;
right:10%;
transform: translateY(-50%);
}
.name {
width: 95%;
height: 90rpx;
// margin-left: 3%;
line-height: 90rpx;
border-bottom: 1rpx solid #D8D4D4;
margin: 0 auto;
}
//按钮取消订单和评价
.evaluate {
width: 90%;
margin: 0 auto;
font-size: 32rpx;
position: relative;
height: 100rpx;
.price{
line-height: 100rpx;
color: red;
font-size: 46rpx;
}
.detailslist {
position: relative;
image {
width: 182rpx;
height: 182rpx;
margin: 20rpx 0 0 20rpx;
}
.model {
position: absolute;
left:35%;
top:10%;
width: 65%;
.top,.bottom{
height: 60rpx;
view {
width: 100%;
font-size: 32rpx;
color: #000000;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
word-break:break-all;
}
}
.bottom {
view {
font-size: 25rpx;
color: #969394;
}
}
}
}
.submit {
width: 175rpx;
.cancelorder {
width: 216rpx;
height: 68rpx;
line-height: 68rpx;
background: #4C7BC9;
background: #E1AE3C;
border-radius: 26rpx;
text-align: center;
font-size: 32rpx;
color: #FFFFFF;
float: right;
margin-right: 30rpx;
color: #ffffff;
line-height: 68rpx;
position: absolute;
right:0%;
top:50%;
transform: translateY(-50%);
}
}
//备注
.remarks {
width: 95%;
margin: 20rpx auto;
padding: 3%;
background: #FFFFFF;
border-radius: 20rpx;
position: relative;
view {
display: inline-block;
width: 20%;
}
input {
display: inline-block;
width: 80%;
position: absolute;
top: 50%;
transform: translateY(-50%);
left: 20%;
color: #666666;
}
}
/* 耗材包 */
.Consumablespackage {
width: 95%;
margin: 20rpx auto;
padding: 3% 3% 50rpx;
background: #FFFFFF;
border-radius: 20rpx;
span {
font-size: 32rpx;
color: #D43953;
float: right;
}
}
/* 套餐 */
.Package {
width: 94%;
margin: 20rpx auto 0;
padding: 3% 3% 50rpx;
background: #FFFFFF;
border-radius: 20rpx;
span {
font-size: 32rpx;
color: #D43953;
float: right;
}
}
//服务项目和服务商家
.content {
width: 95%;
height: 100%;
background: #FFFFFF;
box-shadow: 0px 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
border-radius: 20rpx;
margin: 20rpx auto 0;
padding: 3% 3% 40rpx 3%;
line-height: 60rpx;
// 服务信息
.contacts {
margin-top: 1%;
font-size: 32rpx;
padding: 0 3% 0 3%;
color: #666666;
word-break:break-all;
// line-height: 38rpx;
}
.drug {
font-size: 32rpx;
color: #666666;
padding: 0 3% 0 3%;
}
.details {
.callme {
width: 150rpx;
height: 48rpx;
background: #D43953;
border-radius: 24px;
font-size: 21rpx;
color: #ffffff;
line-height: 48rpx;
text-align: center;
position: relative;
margin-top: 20rpx;
.icon{
position: absolute;
left:10%;
top:50%;
transform: translateY(-50%);
}
.text{
position: absolute;
top:50%;
right:10%;
transform: translateY(-50%);
}
}
.detailslist {
position: relative;
image {
width: 182rpx;
height: 182rpx;
margin: 20rpx 0 0 20rpx;
}
.model {
position: absolute;
left:35%;
top:10%;
width: 65%;
.top,.bottom{
height: 60rpx;
view {
width: 100%;
font-size: 32rpx;
color: #000000;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
word-break:break-all;
}
}
.bottom {
view {
font-size: 25rpx;
color: #969394;
}
}
}
}
.submit {
width: 175rpx;
height: 68rpx;
line-height: 68rpx;
background: #4C7BC9;
border-radius: 26rpx;
text-align: center;
font-size: 32rpx;
color: #FFFFFF;
float: right;
margin-right: 30rpx;
}
}
}
}
}

View File

@ -134,7 +134,8 @@
import baseurl from '@/api/baseurl.js'
import {
getAppointmentDetailsInfo,
addAppointmentEvaluate
addAppointmentEvaluate,
handCloseOrder
} from '@/api/ServiceDetails/ServiceDetails.js'
import {
lookrate
@ -152,14 +153,19 @@
orderNo: '',
timer: null,
timestamp: 0,
timecount: 0,
lookrateshow: false, //
ratelist: null,
rateimgtitle: {
img: null,
title: null,
},
Timers: null,
}
},
onUnload() {
clearInterval(this.Timers); //
},
onShow() {
this.getlist()
},
@ -173,9 +179,16 @@
that.patientId = value
that.openid = value2
}
this.getlist()
},
watch: { //
timecount() {
if (this.timecount <= 0) {
clearInterval(this.Timers); //
handCloseOrder().then(res => {
this.list.orderStatus = 'CANCEL'
})
}
},
rateval() {
if (this.rateval == 5) {
this.evaluateSatisfaction = 'VERYSATISFIED'
@ -323,9 +336,15 @@
getAppointmentDetailsInfo(this.orderNo).then(res => {
this.list = res.data
var ordertimes = this.list.createTime.replaceAll(/\-/gi, "/")
var time = new Date(ordertimes).getTime() / 1000 + (60 * 60 * 24)
var time = new Date(ordertimes).getTime() / 1000 + (60 * 60 * 2)
var times = new Date().getTime() / 1000
this.timestamp = time - times
if (this.timestamp >= 0) {
this.timecount = this.timestamp
this.Timers = setInterval(() => {
this.timecount--;
}, 1000)
}
})
},
cancelorderment() {

View File

@ -55,7 +55,6 @@
onLoad(options) {
this.baseurl = baseurl
this.order = JSON.parse(options.item)
console.log(this.order)
lookrate(this.order.goOrderNo).then(res => {
this.ratelist = res.data
})

View File

@ -82,7 +82,8 @@
} from '@/api/appointmenttime/appointmenttime.js'
import baseurl from '@/api/baseurl.js'
import {
getAppointmentDetailsInfo
getAppointmentDetailsInfo,
handCloseOrder
} from '@/api/ServiceDetails/ServiceDetails.js'
export default {
data() {
@ -93,6 +94,8 @@
list: null,
orderNo: '',
timestamp: 0,
timecount: null,
Timers: null,
}
},
onShow() {
@ -100,8 +103,8 @@
},
onLoad(options) {
var that = this
this.baseurl = baseurl
this.orderNo = JSON.parse(options.list).orderNo
this.baseurl = baseurl
const value = uni.getStorageSync('patientId');
if (value) {
that.patientId = value
@ -111,6 +114,19 @@
that.openid = value2
}
},
onUnload() {
clearInterval(this.Timers); //
},
watch: { //
timecount() {
if (this.timecount <= 0) {
clearInterval(this.Timers); //
handCloseOrder().then(res => {
this.list.orderStatus = 'CANCEL'
})
}
},
},
methods: {
//
buy() {
@ -187,9 +203,15 @@
getAppointmentDetailsInfo(this.orderNo).then(res => {
this.list = res.data
var ordertimes = this.list.createTime.replaceAll(/\-/gi, "/")
var time = new Date(ordertimes).getTime() / 1000 + (60 * 60 * 24)
var time = new Date(ordertimes).getTime() / 1000 + (60 * 60 * 2)
var times = new Date().getTime() / 1000
this.timestamp = time - times
if (this.timestamp >= 0) {
this.timecount = this.timestamp
this.Timers = setInterval(() => {
this.timecount--;
}, 1000)
}
})
},
}

View File

@ -28,16 +28,13 @@
<script>
export default {
data() {
return {
};
return {};
},
methods: {
phone() {
var that = this
uni.getSystemInfo({
success: function(res) {
console.log(res)
if (res.platform == 'ios') {
uni.makePhoneCall({
phoneNumber: '053196558' //

View File

@ -259,6 +259,5 @@
word-break:break-all;
}
}
}
}

View File

@ -136,11 +136,12 @@
appletGoodsOrderPay
} from '@/api/confirmOrder/index.js'
import {
confirmReceipt
} from '@/api/CommodityOrder/index.js'
import {
confirmReceipt,
goodsOrder
} from '@/api/CommodityOrder/index.js'
import {
handCloseOrder
} from '@/api/ServiceDetails/ServiceDetails.js'
import baseurl from '@/api/baseurl.js'
export default {
data() {
@ -155,8 +156,23 @@
pageNum: 1,
timestamp: 0,
goodsOrderId: null,
timecount: undefined,
Timers: null,
}
},
onUnload() {
clearInterval(this.Timers); //
},
watch: { //
timecount() {
if (this.timecount <= 0) {
clearInterval(this.Timers); //
handCloseOrder().then(res => {
this.order.orderStatus = 'CANCEL'
})
}
},
},
methods: {
//
golookrate() {
@ -261,9 +277,15 @@
goodsOrder(this.patientId, this.orderStatus, this.goodsOrderId, this.pageSize, this.pageNum).then(res => {
this.order = res.rows[0]
var ordertimes = this.order.orderTime.replaceAll(/\-/gi, "/")
var time = new Date(ordertimes).getTime() / 1000 + (60 * 60 * 24)
var time = new Date(ordertimes).getTime() / 1000 + (60 * 60 * 2)
var times = new Date().getTime() / 1000
this.timestamp = time - times
if (this.timestamp >= 0) {
this.timecount = this.timestamp
this.Timers = setInterval(() => {
this.timecount--;
}, 1000)
}
})
},
//

View File

@ -37,19 +37,21 @@
<text @tap='gorefundType'
v-if="order.orderType=='DIRECT_BUY'||order.orderType=='HEALTH_CONSULTATION'">申请退款</text>
</view>
<view class="refund" v-if="order.orderStatus=='WAIT_REFUND'" @tap='goAftersalesdetails(order)'>
<view class="refund" style="border: 1rpx solid #969394;" v-if="order.orderStatus=='WAIT_REFUND'"
@tap='goAftersalesdetails(order)'>
退款中
</view>
<view class="refund" v-if="order.orderStatus=='REFUNDED'">
<view class="refund" style="border: 1rpx solid #969394;" v-if="order.orderStatus=='REFUNDED'">
退款成功
</view>
<!-- <view class="refund" v-if="order.orderStatus=='RETURNED_GOODS'">
退货中
退货中
</view> -->
<view class="refund" v-if="order.orderStatus=='WAIT_RETURNED_GOODS'">
<view class="refund" style="border: 1rpx solid #969394;"
v-if="order.orderStatus=='WAIT_RETURNED_GOODS'">
待退货
</view>
<view class="refund" v-if="order.orderStatus=='CANCEL'">
<view class="refund" style="border: 1rpx solid #969394;" v-if="order.orderStatus=='CANCEL'">
已取消
</view>
</view>
@ -60,7 +62,7 @@
</view>
</view>
</view>
<view class="info" v-if="order.orderStatus != ' WAIT_PAY'&& order.orderStatus!='CANCEL'">
<view class="info">
<span>收货人<text>{{order.receiver}}</text></span>
<span>联系电话<text>{{order.phone}}</text></span>
<span v-if="order.orderType =='HEALTH_CONSULTATION'">咨询医生<text>{{order.hospitalPersonName}}</text></span>
@ -85,6 +87,9 @@
import {
appletGoodsOrderPay
} from '@/api/confirmOrder/index.js'
import {
handCloseOrder
} from '@/api/ServiceDetails/ServiceDetails.js'
import {
goodsOrder
} from '@/api/CommodityOrder/index.js'
@ -101,8 +106,23 @@
pageNum: 1,
timestamp: 0,
goodsOrderId: null,
timecount: undefined,
Timers: null,
}
},
onUnload() {
clearInterval(this.Timers); //
},
watch: { //
timecount() {
if (this.timecount <= 0) {
clearInterval(this.Timers); //
handCloseOrder().then(res => {
this.order.orderStatus = 'CANCEL'
})
}
},
},
methods: {
//
pay() {
@ -156,9 +176,15 @@
goodsOrder(this.patientId, this.orderStatus, goodsOrderId, this.pageSize, this.pageNum).then(res => {
this.order = res.rows[0]
var ordertimes = this.order.orderTime.replaceAll(/\-/gi, "/")
var time = new Date(ordertimes).getTime() / 1000 + (60 * 60 * 24)
var time = new Date(ordertimes).getTime() / 1000 + (60 * 60 * 2)
var times = new Date().getTime() / 1000
this.timestamp = time - times
if (this.timestamp >= 0) {
this.timecount = this.timestamp
this.Timers = setInterval(() => {
this.timecount--;
}, 1000)
}
})
},
//
@ -184,7 +210,6 @@
onShow() {
this.goodsOrderinfo(this.goodsOrderId)
},
onUnload() {},
}
</script>
<style lang="scss">