diff --git a/src/components/reservation_order/reservation_order.vue b/src/components/reservation_order/reservation_order.vue index ad15658..c2f354f 100644 --- a/src/components/reservation_order/reservation_order.vue +++ b/src/components/reservation_order/reservation_order.vue @@ -142,14 +142,12 @@ export default { }, methods:{ detailChange(){ - console.log("点击了吗") let { orderInfo } = this let _query = {} _query["stadium_id"] = orderInfo.stadium_id _query["order_no"] = orderInfo.order_no _query["order_type"] = 3 util.routeTo(`/subpackage/device/pages/order_details/order_details?query=${util.jsonStr(_query)}`,'nT'); - console.log("点击了吗444") } } diff --git a/src/subpackage/device/components/order/reservation_site_detail/reservation_site_detail.vue b/src/subpackage/device/components/order/reservation_site_detail/reservation_site_detail.vue index 5418794..de5d671 100644 --- a/src/subpackage/device/components/order/reservation_site_detail/reservation_site_detail.vue +++ b/src/subpackage/device/components/order/reservation_site_detail/reservation_site_detail.vue @@ -114,7 +114,10 @@ 失效时间: {{orderInfo.end_time || '-'}} + + 退款 + @@ -181,11 +184,18 @@ export default { return _obj[`${status}`] || '-' } }, + }, data() { return { } }, + methods: { + refunndBtn(){ + console.warn(123); + this.$emit('refundbtn'); + } + } } @@ -194,6 +204,9 @@ export default { @import '~style/public.scss'; .reservation-site{ margin-bottom: 24rpx; + padding-bottom: 0upx; + padding-bottom: calc( 0upx + constant(safe-area-inset-bottom)); /* 兼容 iOS < 11.2 */ + padding-bottom: calc( 0upx + env(safe-area-inset-bottom)); /* 兼容 iOS >= 11.2 */ .rs-head{ margin: 24rpx 24rpx 0rpx; padding: 30rpx; @@ -334,5 +347,17 @@ export default { } } + .rs-btn{ + margin: 24rpx 24rpx 0 auto; + width: 192upx; + line-height: 88upx; + border-radius: 10upx; + background-color: #fff; + text-align: center; + color: $themeColor; + } + + } + diff --git a/src/subpackage/device/js/device_api.js b/src/subpackage/device/js/device_api.js index 53eac3f..7e9293a 100644 --- a/src/subpackage/device/js/device_api.js +++ b/src/subpackage/device/js/device_api.js @@ -53,6 +53,9 @@ export const DEVICE_API = { getRouterDetail:`${ORIGIN}/ouxuanac/router4G/get`, //查询路由详情 getLotDetail:`${ORIGIN}/ouxuanac/iotSim/huawei/get`, //查询物联卡详情 reboot4G:`${ORIGIN}/ouxuanac/router4G/reboot`, //重启4G 路由 + + // 20211015 + orderRefund:`${ORIGIN}/admin/stadium/order/refund`, // 订场/次卡退款 } diff --git a/src/subpackage/device/pages/order_details/order_details.vue b/src/subpackage/device/pages/order_details/order_details.vue index a012793..64d52a9 100644 --- a/src/subpackage/device/pages/order_details/order_details.vue +++ b/src/subpackage/device/pages/order_details/order_details.vue @@ -2,11 +2,31 @@ - + + + + + + 退款 + + {{ pageInfo.stadium_name || '-' }} + 订单编号:{{ pageInfo.order_no || '-' }} + 手机号码:{{ pageInfo.mobile || '-' }} + + + *退款金额 + + + + 最多可退{{ (pageInfo.extension&&pageInfo.extension.refundable_amount) || 0 }}元 + + 确认退款 + + @@ -16,7 +36,7 @@ import reservationPeopleDetail from '../../components/order/reservation_people_detail/reservation_people_detail.vue'; import organizeDetail from '../../components/order/organize_detail/organize_detail.vue'; - import util from '@/utils/util'; + import util from '../../../../utils/util'; import deviceServer from '../../js/device_server'; import deviceApi from '../../js/device_api'; import { mapState } from 'vuex'; @@ -46,6 +66,11 @@ order_type: -1, }, pageInfo: {}, + + // 订场/次卡退款 --- + isOrderRefund: false, + refundPrice: '', + // 订场/次卡退款 --- } }, onLoad(options) { @@ -65,6 +90,36 @@ }) }, methods: { + refreshPage(){ + let { optionsQuery } = this; + this.isOrderRefund = false; + this.refundPrice = ''; + this.getPageInfo({ + orderType: optionsQuery.order_type, + stadium_id: optionsQuery.stadium_id, + order_no: optionsQuery.order_no, + }) + }, + refundBtn(){ + this.isOrderRefund = true; + }, + confirmRefund: util.debounce(function(){ + let { pageInfo, refundPrice } = this; + deviceServer.get({ + url: deviceApi.orderRefund, + data: { order_no: pageInfo.order_no || '', amount: refundPrice || 0, integral: 0 }, // integral 传0就好 + isDefaultGet: false + }) + .then(res=>{ + if(res.data.code == 0){ + util.showNone(res.data.message || '操作成功!'); + setTimeout(this.refreshPage, 1200); + }else{ + util.showNone(res.data.message || '操作失败!'); + } + }) + .catch(util.hideLoad) + }, 300, true), // 次卡恢复二维码状态刷新订单 peopleRecoverBtn(){ this.okChange(); // 逻辑一样,刷新 @@ -97,7 +152,6 @@ .catch(util.hideLoad) }, okChange(){ - console.log("有了吗") let { optionsQuery } = this this.getPageInfo({ orderType: optionsQuery.order_type, @@ -114,4 +168,83 @@ .order-details{ } + +.refund-mask{ + position: fixed; + left: 0; + top: 0; + bottom: 0; + right: 0; + background-color: rgba($color: #000, $alpha: .5); + .rm-content{ + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + padding: 80upx; + background-color: #fff; + width: 620upx; + border-radius: 10upx; + .rc-tit{ + margin-bottom: 30upx; + text-align: center; + font-size: 32upx; + font-weight: 500; + color: #333; + } + .rc-info{ + margin-bottom: 34upx; + .ri-view{ + line-height: 40upx; + font-size: 28upx; + color: #9C9C9F; + @include textHide(1); + &:first-child{ + font-weight: 500; + color: #333; + } + } + } + .rc-price{ + margin-bottom: 32upx; + .rp-name{ + margin-bottom: 8upx; + font-size: 28upx; + line-height: 48upx; + color: #333; + .rn-txt{ + color: #EA5061; + } + } + .rp-frame{ + padding: 0 20upx; + height: 88upx; + border-radius: 10upx; + border: 2upx solid #D8D8D8; + .rf-ipt{ + width: 100%; + height: 100%; + font-size: 28upx; + color: #333; + } + } + .rp-tip{ + font-size: 24upx; + color: #EA5061; + } + } + .ri-btn{ + margin: 0 auto; + width: 240upx; + line-height: 88upx; + text-align: center; + border-radius: 10upx; + font-size: 32upx; + font-weight: 500; + color: #fff; + background-color: $themeColor; + } + } +} +