diff --git a/api/ServiceDetails/ServiceDetails.js b/api/ServiceDetails/ServiceDetails.js index efeb4ec..a704c3d 100644 --- a/api/ServiceDetails/ServiceDetails.js +++ b/api/ServiceDetails/ServiceDetails.js @@ -14,4 +14,10 @@ export function addAppointmentEvaluate(data) { method: 'POST', data }) -} \ No newline at end of file +} +export function handCloseOrder() { + return request({ + url: `/monitor/payTask/handCloseOrder`, + method: 'GET' + }) +} diff --git a/api/appointmenttime/appointmenttime.js b/api/appointmenttime/appointmenttime.js index 005b422..f21cff2 100644 --- a/api/appointmenttime/appointmenttime.js +++ b/api/appointmenttime/appointmenttime.js @@ -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 }) } - - diff --git a/api/request.js b/api/request.js index 063a05c..a387b4c 100644 --- a/api/request.js +++ b/api/request.js @@ -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 == diff --git a/manifest.json b/manifest.json index d8115d2..b17643e 100644 --- a/manifest.json +++ b/manifest.json @@ -1,5 +1,5 @@ { - "name" : "nurseWeChatAppletUI", + "name" : "泉医到家", "appid" : "__UNI__1200110", "description" : "", "versionName" : "1.0.0", diff --git a/pages/CommodityOrder/CommodityOrder.vue b/pages/CommodityOrder/CommodityOrder.vue index f61ec28..624d18b 100644 --- a/pages/CommodityOrder/CommodityOrder.vue +++ b/pages/CommodityOrder/CommodityOrder.vue @@ -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) diff --git a/pages/Nursingstationserviceorder/Nursingstationserviceorder.vue b/pages/Nursingstationserviceorder/Nursingstationserviceorder.vue index daad5b0..0804fe1 100644 --- a/pages/Nursingstationserviceorder/Nursingstationserviceorder.vue +++ b/pages/Nursingstationserviceorder/Nursingstationserviceorder.vue @@ -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) diff --git a/pages/ServiceDetails/ServiceDetails.scss b/pages/ServiceDetails/ServiceDetails.scss index 4aac457..f675634 100644 --- a/pages/ServiceDetails/ServiceDetails.scss +++ b/pages/ServiceDetails/ServiceDetails.scss @@ -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; + } + } } } -} diff --git a/pages/ServiceDetails/ServiceDetails.vue b/pages/ServiceDetails/ServiceDetails.vue index f687b71..dbdcaa5 100644 --- a/pages/ServiceDetails/ServiceDetails.vue +++ b/pages/ServiceDetails/ServiceDetails.vue @@ -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() { diff --git a/pages/lookrate/lookrate.vue b/pages/lookrate/lookrate.vue index 23fdb15..f98a5b2 100644 --- a/pages/lookrate/lookrate.vue +++ b/pages/lookrate/lookrate.vue @@ -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 }) diff --git a/pages/menttimeorder/menttimeorder.vue b/pages/menttimeorder/menttimeorder.vue index e499724..a45126b 100644 --- a/pages/menttimeorder/menttimeorder.vue +++ b/pages/menttimeorder/menttimeorder.vue @@ -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) + } }) }, } diff --git a/pages/night/night.vue b/pages/night/night.vue index ce36b0b..37a38ae 100644 --- a/pages/night/night.vue +++ b/pages/night/night.vue @@ -28,16 +28,13 @@