diff --git a/bundle/reserve/confirm.vue b/bundle/reserve/confirm.vue index 21a1303..2b55ea0 100644 --- a/bundle/reserve/confirm.vue +++ b/bundle/reserve/confirm.vue @@ -219,7 +219,6 @@ return { orderId: 0, venueId: 0, - roomId: 0, typeId: 1, // 网球场1 篮球场2 billPopup: false, showPrice: true, @@ -252,11 +251,11 @@ }, onLoad(args) { - this.orderId = args.orderId || 0; - this.venueId = args.venueId || 0; - this.roomId = args.roomId || 0; - this.typeId = args.typeId || 1; - this.basketballDate = args.date || null; + console.log("🚀 ~ args:", args) + this.orderId = args.orderId || 0; // 订单ID + this.venueId = args.venueId || 0; // 场馆ID + this.typeId = args.typeId || 1; // 网球场1 篮球场2 + this.basketballDate = args.date || null; // 篮球场预约时间 console.log("🚀 ~ this.date:", this.date) this.getData(); }, @@ -316,22 +315,23 @@ } ) - // 获取场馆包间详情 - self._post( - 'ground.ground/groundRoomDetails', - { - app_id: self.getAppId(), - id: self.roomId, // 场馆包间ID - }, - function(res) { - console.log("🚀 ~ res:", res) - if (res.code) { - self.room = res.data.lists; + // 篮球场-获取场馆包间详情 + if (self.roomId) { + self._post( + 'ground.ground/groundRoomDetails', + { + app_id: self.getAppId(), + id: self.roomId, // 场馆包间ID + }, + function(res) { + if (res.code) { + self.room = res.data.lists; + } + self.loadding = false; } - - self.loadding = false; - } - ) + ) + } + // 获取订单详情 self._post( @@ -341,7 +341,6 @@ order_id: self.orderId, // 场馆包间ID }, function(res) { - console.log("🚀 ~ res:", res) if (res.code) { self.order = res.data.lists; self.countSelectedTime = self.order.hours @@ -366,7 +365,7 @@ 'ground.ground/countPrice', { app_id: self.getAppId(), - room_id: self.roomId, + room_id: self.venueId, nums: self.countSelectedTime, type_id: self.typeId, pay_type: self.payType diff --git a/bundle/reserve/details.vue b/bundle/reserve/details.vue index 7ac5c6b..3aa1543 100644 --- a/bundle/reserve/details.vue +++ b/bundle/reserve/details.vue @@ -304,8 +304,8 @@ export default { { app_id: self.getAppId(), id: self.id, - latitude: uni.getStorageSync('latitude') || '', - longitude: uni.getStorageSync('longitude') || '', + latitude: uni.getStorageSync('latitude') || 0, + longitude: uni.getStorageSync('longitude') || 0, }, function (res) { if (res.code) { diff --git a/manifest.json b/manifest.json index e3a7e2b..ebfc70d 100644 --- a/manifest.json +++ b/manifest.json @@ -178,13 +178,13 @@ "disableHostCheck" : true, "proxy" : { "/api" : { - "target" : "https://6548.cn", + "target" : "https://xh.stnav.com", "changeOrigin" : true, "secure" : false } } }, - "title" : "星及茗茶", + "title" : "秀湖网球中心", "sdkConfigs" : { "maps" : {} }, diff --git a/pages/order/cg-my-order.vue b/pages/order/cg-my-order.vue index 04c564e..e70a820 100644 --- a/pages/order/cg-my-order.vue +++ b/pages/order/cg-my-order.vue @@ -47,30 +47,12 @@ 退款成功 - - - + 订单号:{{ item.order_sn }} - 活动日期:{{ item.trade[0].day_title }} + 预约时间:{{ item.trade[0].day_title }} - - 定金 - - {{item.advance.pay_status.value == 20?'已支付':'待支付'}}¥{{item.advance.pay_price}} - - - - 尾款 - - {{item.advance.pay_status.value == 20&&item.pay_status.value == 20?'已支付':'待支付'}} - ¥{{item.pay_price}} - - - - + @@ -226,6 +293,7 @@ }, data() { return { + ballType: 1, // 1网球 2篮球 title: '订单详情', /*是否加载完成*/ loadding: true, @@ -249,11 +317,15 @@ pay_status: [] }, extractStore: {}, - billPopup: false + billPopup: false, + venue: {}, // 场馆 + cancelOrderPopup: false, + cancelReservePopup: false }; }, onLoad(e) { this.order_id = e.order_id; + this.ballType = e.ballType || 1; }, onShow() { /*获取订单详情*/ @@ -267,55 +339,102 @@ uni.showLoading({ title: '加载中' }); - self._get( - 'user.order/detail', + self._post( + 'order.groundOrder/orderGroundDetails', { order_id: order_id }, function(res) { - self.detail = res.data.order; - self.extractStore = res.data.order.extractStore; + self.detail = res.data.lists; + console.log("🚀 ~ self.detail:", self.detail) + // self.extractStore = res.data.order.extractStore; - self.title = self.detail.state_text; - if (self.detail.state_text == '待付款') { - self.title = '等待付款'; - } + // self.title = self.detail.state_text; + // if (self.detail.state_text == '待付款') { + // self.title = '等待付款'; + // } + + // 获取场馆详情 + self._post( + 'ground.ground/groundDetails', + { + app_id: self.getAppId(), + id: self.detail.ground_id, + latitude: uni.getStorageSync('latitude') || 0, + longitude: uni.getStorageSync('longitude') || 0, + }, + function (res) { + if (res.code) { + self.loadding = false; + self.venue = res.data.lists + } + } + ) self.loadding = false; uni.hideLoading(); } ); }, + + // 取消订单弹窗 + showCancleOrderPopup() { + this.cancelOrderPopup = true; + }, + /*取消订单*/ - cancelOrder(e) { + cancelOrder() { let self = this; - let order_id = e; - uni.showModal({ - title: '提示', - content: '您确定要取消当前订单吗?', - success: function(o) { - if (o.confirm) { - uni.showLoading({ - title: '正在处理' - }); - self._get( - 'user.order/cancel', - { - order_id: order_id - }, - function(res) { - uni.hideLoading(); - uni.showToast({ - title: '操作成功', - duration: 2000, - icon: 'success' - }); - self.getData(); - } - ); - } - } + uni.showLoading({ + title: '正在处理' }); + self._post( + 'order.groundOrder/cancelGroundOrder', + { + order_id: self.order_id + }, + function(res) { + self.cancelOrderPopup = false; + + uni.hideLoading(); + uni.showToast({ + title: '操作成功', + duration: 2000, + icon: 'success' + }); + self.getData(); + } + ); + }, + + // 取消预约 + showCancleReservePopup() { + this.cancelReservePopup = true + }, + + /*取消预约订单*/ + cancelReserveOrder() { + let self = this; + uni.showLoading({ + title: '正在处理' + }); + self._post( + 'order.groundOrder/refund', + { + order_id: self.order_id + }, + function(res) { + self.cancelReservePopup = false; + + uni.hideLoading(); + uni.showToast({ + title: '操作成功', + duration: 2000, + icon: 'success' + }); + self.getData(); + } + ); }, /*确认收货*/ @@ -359,10 +478,56 @@ onSaveTable(table_id, order_product_id) { this.gotoPage('/pages/plus/table/table?table_id=' + table_id + '&order_product_id=' + order_product_id); }, - /*支付方式选择*/ - onPayOrder(orderId) { + + // 复制订单号 + copy(sn) { + uni.setClipboardData({ + data: sn, + success: function() { + uni.showToast({ + title: '复制成功', + duration: 2000, + icon: 'success' + }); + } + }); + }, + + // 跳转支付页面 + onPayOrder(groundId = 0) { let self = this; - self.gotoPage('/pages/order/cashier?order_id=' + orderId); + if (self.ballType == 1) { + // 网球场 + self.gotoPage(`/bundle/reserve/confirm?orderId=${self.order_id}&venueId=${groundId}&typeId=1`); + return + } + }, + + // 再次预定 + againReserve() { + this.gotoPage(`/bundle/reserve/details?id=${this.detail.ground_id}&ballType=${this.ballType}`); + // toGround(ground_id) { + // uni.navigateTo({ + // url: `/bundle/reserve/details?id=${ground_id}&typeId=${this.ballType}` + // }); + }, + + // 联系商家 + contactStore() { + uni.makePhoneCall({ + phoneNumber: this.venue.contact_phone //仅为示例,并非真实的电话号码 + }); + }, + + // 导航 + location() { + uni.openLocation({ + latitude: this.venue.latitude, // 纬度,范围为-90~90,负数表示南纬 + longitude: this.venue.longitude, // 经度,范围为-180~180,负数表示西经 + scale: 18, // 缩放比例 + name: this.venue.name, + address: this.venue.address + }); } } }; @@ -418,19 +583,20 @@ page { } .shop{ - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArIAAAHqCAMAAADPkl21AAABvFBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////l5eX///8dYfCxAAAAknRSTlMAAQIDBAYHCAkKCwwNDg8TFBUXGBobHR4fICEiIycoKSssLzAyMzQ1OEFCQ0VLTlBSU1ZXWVtdYWNkZWZnamtub3BxdHV3eXqDhYeJjI2Oj5KUlpiZm56go6Smp6qsrrCzuru8vb/GyMrLzs/S09TV1tfa29zd3t/g4eLj5ebn6Orr7/Dx8vP09fb3+Pn6+/z9/jTqU2QAAAWpSURBVHja7dznc1RlGMbhB0g2IUZRQzFgTFAUFFA6iIpIsWEJIFIVRKWXqAQUpFggbOjyDwMBISHZ3W/M8w7X9fGd/XTPb2bPnLN7Ih5qe+ern/6o3oZUqr//+MXbLTHaa9vUSlqXvp35WLAtX980C5ld/7x5eLHdx01CdodmPCq254I9yO/My/8XO/2cNShBf8f9YtuP2YIy7K8MJbvZEpTis6EL2RuGoBSDU+4mu9MOlKM3YtI1M1COvyvxrhUoyXzXBZTly+gzAiXZG4NGoCT9ccsIlGQgbEBZJItkQbIgWSQLkgXJIlmQLEgWyYJkQbJIFiQLkkWyIFmQLJIFyYJkkSxIFiSLZEGyIFkkC5IFyYJkkSxIFiSLZEGyIFkkC5IFySJZkCxIFsmCZEGySBYkC5JFsiBZkCySBcmCZJEsSBYkC5JFsiBZkCySBcmCZJEsSBYki2RBsiBZJAuSBckiWZAsSBbJgmRBskgWJAuSRbIgWZAsSBbJgmRBskgWJAuSRbIgWZAskgXJgmSRLEgWJItkQbIgWSQLkgXJIlmQLEgWyYJkQbIgWSQLkgXJIlmQLEgWyYJkQbJIFiQLkkWyIFmQLJIFyYJkkSxIFiSLZEGyIFkkC5IFySJZEyBZkCxIFsmCZEGySBYkC5JFsiBZkCySBcmCZJEsSBYki2RBsiBZJAuSBckiWZAsSBbJgmRBsiBZJAuSBckiWZAsSBbJgmRBskgWJAuSRbIgWZAskgXJgmSRLEgWJItkQbIgWSQLkgXJgmSRLEgWJItkQbIgWSQLkgXJIlmQLEgWyYJkQbJIFiQLkkWyIFmQLJIFyYJkeZqTbZ02d83uqiHIb+D7j96aVokhbcuPGoTcDi9tjeEmrL9qFPKqrh4fj3v1hF3I6nh3jGHKb5YhpyPPx5imn7UNGZ14MWqYPWgd8vm3O2r62Dzks7J2sVE5Yx/SXciOr5NsrDIQ2SyqV2w852qWZP5qqpts7DERuXxTv9hYYyJyWdwg2bkmIpeuBsl2mohcmhskO3HEp/8bxpmzJ312z60GxUazZJ2lSvZ2gxsG8YIvInKZ1CDZOSYilzcaJPu+ichlRYNkd5mIXLbXL7ZtwETk8k+lbrLvWYhsltW9xXXKQGTzy4Q6ya6zD/l8ULvY172Cg4Qu9tT8fcGf1iGjkx1jFzv5V9uQ07Ex/xQ+q98yZNX3yqhgmz7xgiMSu/zhuBHBtq/oMwq5HVrScr/W1s55a/f4kyIl3Dn4bvWbUyteiUxhJItkQbIgWSQLkgXJIlmQLEgWyYJkQbJIFiQLkkWyIFmQLJIFyYJkkSxIFiSLZEGyIFkkC5IFyYJkkSxIFiSLZEGyIFkkC5IFySJZkCxIFsmCZEGySBYkC5JFsiBZkCySBcmCZJEsSBYkC5JFsiBZkCySBcmCZJEsSBYki2RBsiBZJAuSBckiWZAsSBbJgmRBskgWJAuSRbIgWZAsSBbJgmRBskgWJAuSRbIgWZAskgXJgmSRLEgWJItkQbIgWSQLkgXJIlmQLEgWyYJkQbIgWSQLkgXJIlmQLEgWyYJkQbJIFiQLkkWyIFmQLJIFyYJkkSxIFiSLZEGyIFkkC5IFySJZEyBZkCxIFsmCZEGySBYkC5JFsiBZkCySBcmCZJEsSBYki2RBsiBZJAuSBckiWZAsSBbJgmRBsiBZJAuSBckiWZAsSBbJgmRBskgWJAuSRbIgWZAskgXJgmSRLEgWJItkIX+yV21ASa7EBSNQkvNxwAiUZF9sMQIl2RRLjEBJFsazg1agHJcmRmw1A+XYHBFdN+xAKa68dDfZ2GgISrHhXrHxzFFLUIb9LUPJRudZW1CC/o54oMcjMApwekY81N1nD7I72BnDtPbeNAmZXfu0KUaatcMzBdK6uKUrRmtf0Pvz6ap1yOXyqR82zK886vQOlHY6pWI0r3sAAAAASUVORK5CYII="); - background-repeat: no-repeat; - background-size: 100% auto; - height: 490rpx; - margin: 30rpx 30rpx 0; - padding: 30rpx 30rpx 0; + // background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAArIAAAHqCAMAAADPkl21AAABvFBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////l5eX///8dYfCxAAAAknRSTlMAAQIDBAYHCAkKCwwNDg8TFBUXGBobHR4fICEiIycoKSssLzAyMzQ1OEFCQ0VLTlBSU1ZXWVtdYWNkZWZnamtub3BxdHV3eXqDhYeJjI2Oj5KUlpiZm56go6Smp6qsrrCzuru8vb/GyMrLzs/S09TV1tfa29zd3t/g4eLj5ebn6Orr7/Dx8vP09fb3+Pn6+/z9/jTqU2QAAAWpSURBVHja7dznc1RlGMbhB0g2IUZRQzFgTFAUFFA6iIpIsWEJIFIVRKWXqAQUpFggbOjyDwMBISHZ3W/M8w7X9fGd/XTPb2bPnLN7Ih5qe+ern/6o3oZUqr//+MXbLTHaa9vUSlqXvp35WLAtX980C5ld/7x5eLHdx01CdodmPCq254I9yO/My/8XO/2cNShBf8f9YtuP2YIy7K8MJbvZEpTis6EL2RuGoBSDU+4mu9MOlKM3YtI1M1COvyvxrhUoyXzXBZTly+gzAiXZG4NGoCT9ccsIlGQgbEBZJItkQbIgWSQLkgXJIlmQLEgWyYJkQbJIFiQLkkWyIFmQLJIFyYJkkSxIFiSLZEGyIFkkC5IFyYJkkSxIFiSLZEGyIFkkC5IFySJZkCxIFsmCZEGySBYkC5JFsiBZkCySBcmCZJEsSBYkC5JFsiBZkCySBcmCZJEsSBYki2RBsiBZJAuSBckiWZAsSBbJgmRBskgWJAuSRbIgWZAsSBbJgmRBskgWJAuSRbIgWZAskgXJgmSRLEgWJItkQbIgWSQLkgXJIlmQLEgWyYJkQbIgWSQLkgXJIlmQLEgWyYJkQbJIFiQLkkWyIFmQLJIFyYJkkSxIFiSLZEGyIFkkC5IFySJZEyBZkCxIFsmCZEGySBYkC5JFsiBZkCySBcmCZJEsSBYki2RBsiBZJAuSBckiWZAsSBbJgmRBsiBZJAuSBckiWZAsSBbJgmRBskgWJAuSRbIgWZAskgXJgmSRLEgWJItkQbIgWSQLkgXJgmSRLEgWJItkQbIgWSQLkgXJIlmQLEgWyYJkQbJIFiQLkkWyIFmQLJIFyYJkeZqTbZ02d83uqiHIb+D7j96aVokhbcuPGoTcDi9tjeEmrL9qFPKqrh4fj3v1hF3I6nh3jGHKb5YhpyPPx5imn7UNGZ14MWqYPWgd8vm3O2r62Dzks7J2sVE5Yx/SXciOr5NsrDIQ2SyqV2w852qWZP5qqpts7DERuXxTv9hYYyJyWdwg2bkmIpeuBsl2mohcmhskO3HEp/8bxpmzJ312z60GxUazZJ2lSvZ2gxsG8YIvInKZ1CDZOSYilzcaJPu+ichlRYNkd5mIXLbXL7ZtwETk8k+lbrLvWYhsltW9xXXKQGTzy4Q6ya6zD/l8ULvY172Cg4Qu9tT8fcGf1iGjkx1jFzv5V9uQ07Ex/xQ+q98yZNX3yqhgmz7xgiMSu/zhuBHBtq/oMwq5HVrScr/W1s55a/f4kyIl3Dn4bvWbUyteiUxhJItkQbIgWSQLkgXJIlmQLEgWyYJkQbJIFiQLkkWyIFmQLJIFyYJkkSxIFiSLZEGyIFkkC5IFyYJkkSxIFiSLZEGyIFkkC5IFySJZkCxIFsmCZEGySBYkC5JFsiBZkCySBcmCZJEsSBYkC5JFsiBZkCySBcmCZJEsSBYki2RBsiBZJAuSBckiWZAsSBbJgmRBskgWJAuSRbIgWZAsSBbJgmRBskgWJAuSRbIgWZAskgXJgmSRLEgWJItkQbIgWSQLkgXJIlmQLEgWyYJkQbIgWSQLkgXJIlmQLEgWyYJkQbJIFiQLkkWyIFmQLJIFyYJkkSxIFiSLZEGyIFkkC5IFySJZEyBZkCxIFsmCZEGySBYkC5JFsiBZkCySBcmCZJEsSBYki2RBsiBZJAuSBckiWZAsSBbJgmRBsiBZJAuSBckiWZAsSBbJgmRBskgWJAuSRbIgWZAskgXJgmSRLEgWJItkIX+yV21ASa7EBSNQkvNxwAiUZF9sMQIl2RRLjEBJFsazg1agHJcmRmw1A+XYHBFdN+xAKa68dDfZ2GgISrHhXrHxzFFLUIb9LUPJRudZW1CC/o54oMcjMApwekY81N1nD7I72BnDtPbeNAmZXfu0KUaatcMzBdK6uKUrRmtf0Pvz6ap1yOXyqR82zK886vQOlHY6pWI0r3sAAAAASUVORK5CYII="); + // background-repeat: no-repeat; + // background-size: 100% auto; + background-color: #fff; + border-radius: 16rpx; + // height: 490rpx; + margin: 30rpx; + padding: 30rpx; } .cg-name { font-size: 32rpx; color: #303133; line-height: 44rpx; - width: 256rpx; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; @@ -461,7 +627,7 @@ page { } .cg-reserve { - margin-top: 68rpx; + margin-top: 20rpx; } .cg-title { @@ -559,6 +725,7 @@ page { line-height: 36rpx; text-align: center; margin-top: 14rpx; + text-align: center; } .refund-txt { @@ -766,4 +933,101 @@ page { line-height: 42rpx; } } + + .face { + width: 692rpx; + height: 80rpx; + background: #FFFFFF; + border-radius: 16rpx 16rpx 16rpx 16rpx; + border: 2rpx solid #FAEED9; + color: #E2950F; + padding: 0 30rpx; + margin: 18rpx 30rpx 0; + box-sizing: border-box; + + .face-title { + + } + } + + /* 日期网格:一行三个,间距 20rpx */ + .date-grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + grid-gap: 20rpx 20rpx; /* 行间距和列间距均为 20rpx */ + } + + .date-time-btn { + width: 100%; + height: 60rpx; + line-height: 60rpx; + background: #365A9A; + color: #fff; + font-size: 26rpx; + border-radius: 10rpx; + text-align: center; + } + + .notice-popup { + padding: 20rpx 0; + width: 100%; + + .title { + font-size: 36rpx; + color: #303133; + line-height: 50rpx; + text-align: center; + } + + .desc { + margin-top: 48rpx; + font-weight: 400; + font-size: 32rpx; + color: #303133; + line-height: 52rpx; + text-align: center; + } + + .rule { + margin-bottom: 18rpx; + text-align: left; + } + + .rule1 { + font-weight: 400; + font-size: 32rpx; + color: #303133; + line-height: 44rpx; + text-align: left; + margin-bottom: 10rpx; + } + + .btn { + font-size: 32rpx; + display: flex; + justify-content: center; + align-items: center; + margin-top: 44rpx; + + .btn1 { + width: 240rpx; + height: 80rpx; + line-height: 80rpx; + text-align: center; + background: #F6F7F8; + border-radius: 8rpx; + margin-right: 30rpx; + } + + .btn2 { + width: 240rpx; + height: 80rpx; + line-height: 80rpx; + text-align: center; + background: #365A9A; + color: #FFFFFF; + border-radius: 8rpx; + } + } +} diff --git a/pages/order/css/cg-order.css b/pages/order/css/cg-order.css index 409baba..51d7d80 100644 --- a/pages/order/css/cg-order.css +++ b/pages/order/css/cg-order.css @@ -267,4 +267,6 @@ page { .order-bts .del-btn { border: 2rpx solid #C2C9D5 !important; color: #365A9A !important; + background-color: transparent !important; + color: #303133 !important; } diff --git a/pages/product/category.vue b/pages/product/category.vue index 0b9a1bc..70d8b9d 100644 --- a/pages/product/category.vue +++ b/pages/product/category.vue @@ -4,7 +4,7 @@ - diff --git a/pages/user/index/index.vue b/pages/user/index/index.vue index e4a328f..7eec61a 100644 --- a/pages/user/index/index.vue +++ b/pages/user/index/index.vue @@ -61,32 +61,32 @@ - {{ orderCount.payment }} + 待付款 - {{ orderCount.reserve }} + 已预约 - {{ orderCount.completed }} + 已完成 - {{ orderCount.refund }} + 退款/售后 diff --git a/static/icon/prompt.png b/static/icon/prompt.png new file mode 100644 index 0000000..5f4dbdf Binary files /dev/null and b/static/icon/prompt.png differ