diff --git a/src/components/end_billing_modal/end_billing_modal.vue b/src/components/end_billing_modal/end_billing_modal.vue index efa86df..40e3efd 100644 --- a/src/components/end_billing_modal/end_billing_modal.vue +++ b/src/components/end_billing_modal/end_billing_modal.vue @@ -76,6 +76,7 @@ export default { // setTimeout(()=>uni.navigateBack(),1200); this.$emit('timeEndBtn'); }) + .catch(util.hideLoad) }, selectBtn(type){ diff --git a/src/components/timing_order/timing_order.vue b/src/components/timing_order/timing_order.vue index be95aa8..1d6743f 100644 --- a/src/components/timing_order/timing_order.vue +++ b/src/components/timing_order/timing_order.vue @@ -80,8 +80,8 @@ export default { // _query["stadium_id"] = orderInfo.stadium_id // _query["order_no"] = orderInfo.order_no // _query["order_type"] = 1 - let _str = `stadium_id=${orderInfo.stadium_id || ''}&order_no=${orderInfo.order_no || ''}&order_type=1` - util.routeTo(`/subpackage/device/pages/order_details/order_details?${_str}`,'nT'); + let _str = `stadium_id=${orderInfo.stadium_id || ''}&order_no=${orderInfo.order_no || ''}` + util.routeTo(`/subpackage/order/pages/timing/detail?${_str}`,'nT'); // this.$emit('orderDetailChange'); }, timeEndBtn(){ diff --git a/src/pages.json b/src/pages.json index 60bd538..b09acc2 100644 --- a/src/pages.json +++ b/src/pages.json @@ -610,6 +610,12 @@ "style" : { "navigationBarTitleText": "租球机订单详情" } + }, + { + "path": "pages/timing/detail", + "style" : { + "navigationBarTitleText": "计时订单详情" + } } ] }, diff --git a/src/subpackage/device/pages/order_details/order_details.vue b/src/subpackage/device/pages/order_details/order_details.vue index b5f5047..737eeae 100644 --- a/src/subpackage/device/pages/order_details/order_details.vue +++ b/src/subpackage/device/pages/order_details/order_details.vue @@ -17,7 +17,6 @@ @click:refund="siteAndPeopleDetailRefund" > - @@ -52,7 +51,6 @@ diff --git a/src/subpackage/order/js/api.js b/src/subpackage/order/js/api.js index ac8af38..fc16176 100644 --- a/src/subpackage/order/js/api.js +++ b/src/subpackage/order/js/api.js @@ -35,6 +35,12 @@ export const ORDER_API = { rentballEndBilling:`${ORIGIN}/admin/stadium/rentball/order/end`, // 结束订单-后台 // 20220727 rentBallOrderDetails:`${ORIGIN}/admin/stadium/hardware/order/rentBallOrderDetails`, // 硬件管理-订单详情_copy + // 20240614 tid1523 统一退款 + venueCourseOrderRefund:`${ORIGIN}/admin/venueCourse/orderRefund`, // 课程订单-退款 + userValueCardRefundFixed:`${ORIGIN}/admin/userValueCard/refundFixed`, // 储值卡订单-退款 + timeOrderDetail:`${ORIGIN}/admin/assistant/timeOrder/detail`, //k-订单管理-计时订单详情 + timeOrderComplete:`${ORIGIN}/admin/assistant/timeOrder/complete`, //【20220208】k-订单管理-计时订单完结 + orderRefund:`${ORIGIN}/admin/stadium/order/refund`, // A订单管理-场馆预订订单-订单退款 } export default ORDER_API; \ No newline at end of file diff --git a/src/subpackage/order/pages/curriculum/detail/detail.vue b/src/subpackage/order/pages/curriculum/detail/detail.vue index 9e19f21..e42c1d7 100644 --- a/src/subpackage/order/pages/curriculum/detail/detail.vue +++ b/src/subpackage/order/pages/curriculum/detail/detail.vue @@ -121,10 +121,6 @@ import server from '../../../js/server'; import orderRefundFixed from '@/components/order_refund/fixed.vue' import orderRefundModal from '@/components/order_refund/modal.vue'; export default { - components: { - 'order-refund-fixed': orderRefundFixed, - 'order-refund-modal': orderRefundModal, - }, computed: { course_period_nums_give(){ let { orderInfo } = this; @@ -135,6 +131,8 @@ export default { // ('订单状态 0-待付款 1-进行中 2-已结束 3-已退款 4-已取消') components: { 'a-line': a_line, + 'order-refund-fixed': orderRefundFixed, + 'order-refund-modal': orderRefundModal, }, data(){ return { @@ -159,14 +157,32 @@ export default { refundable_integral: orderInfo?.extension?.refundable_integral ?? 0, refund_times: refundTimes, confirm: e => { - // this.siteAndPeopleRefund({ - // order_no: pageInfo?.order_no ?? '', - // amount: e?.refund_amount || 0, - // integral: e?.refund_integral || 0, - // }) + this.venueCourseOrderRefund({ + order_no: orderInfo?.order_no ?? '', + amount: e.refund_amount || 0, + integral: e.refund_integral || 0 + }) } }); }, + venueCourseOrderRefund({ order_no = '', amount = 0, integral = 0}){ + util.showLoad(); + server.get({ + url: ORDER_API.venueCourseOrderRefund, + data: { order_no, amount, integral }, + isDefaultGet: false + }) + .then(res=>{ + util.hideLoad(); + if(res.data.code == 0){ + util.showNone(res.data.message || '操作成功!'); + }else{ + util.showNone(res.data.message || '操作失败!'); + } + }) + .catch(util.hideLoad) + .finally(_=>setTimeout(_=>this.getInfo(order_no), 1200)); + }, async getRefundTimes(order_no){ try{ let _refundRes = await this.$store.dispatch('getOrderRefundList', order_no); @@ -178,26 +194,19 @@ export default { } }, getInfo(order_no){ + util.showLoad(); server.get({ url: ORDER_API.venueCourse_orderInfo, data: { order_no }, failMsg: '加载失败!' }) .then(res=>{ + util.hideLoad(); this.orderInfo = res || {}; }) + .catch(util.hideLoad) }, getPayType: util.order_pay_type_txt, - // getPayType(type){ - // // [0微信支付,1支付宝支付,2会员换卡支付, 3商家主动] - // let _obj = { - // 0: '微信支付', - // 1: '支付宝支付', - // 2: '会员换卡支付', - // 3: '商家主动', - // } - // return _obj[type] || '-' - // } } } diff --git a/src/subpackage/order/pages/stored_value_card/detail/detail.vue b/src/subpackage/order/pages/stored_value_card/detail/detail.vue index f7b9a58..1aadff2 100644 --- a/src/subpackage/order/pages/stored_value_card/detail/detail.vue +++ b/src/subpackage/order/pages/stored_value_card/detail/detail.vue @@ -83,6 +83,16 @@ 退款原因:{{ e.reason || '-' }} + + + @@ -91,9 +101,13 @@ import s_line from '../../../components/s_line/s_line.vue'; import { ORDER_API } from '../../../js/api'; import server from '../../../js/server'; import util from '../../../../../utils/util'; +import orderRefundFixed from '@/components/order_refund/fixed.vue' +import orderRefundModal from '@/components/order_refund/modal.vue'; export default { components: { 's-line': s_line, + 'order-refund-fixed': orderRefundFixed, + 'order-refund-modal': orderRefundModal, }, computed: { cardInfo(){ @@ -116,6 +130,46 @@ export default { this.getOrderInfo({ order_no: options.order_no }); }, methods: { + refunndBtn(){ + let { orderInfo } = this; + let _pay_amount = +orderInfo?.pay_amount || 0; + let _refund_amount = +orderInfo?.refund_amount || 0; + let _deduction_integral = +orderInfo?.deduction_integral || 0; + let _refund_integral = +orderInfo?.refund_integral || 0; + this.$refs.orderRefundModal.show({ + stadium_name: orderInfo?.stadium?.stadium_name ?? '', + order_no: orderInfo?.order_no ?? '', + mobile: orderInfo?.mobile ?? '', + refundable_amount: _pay_amount - _refund_amount, + refundable_integral: _deduction_integral - _refund_integral, + refund_times: orderInfo?.refunds?.length || 0, + confirm: e => { + this.userValueCardRefundFixed({ + order_no: orderInfo?.order_no ?? '', + amount: e.refund_amount || 0, + integral: e.refund_integral || 0 + }) + } + }); + }, + userValueCardRefundFixed({ order_no = '', amount = 0, integral = 0}){ + util.showLoad(); + server.get({ + url: ORDER_API.userValueCardRefundFixed, + data: { order_no, amount, integral }, + isDefaultGet: false + }) + .then(res=>{ + util.hideLoad(); + if(res.data.code == 0){ + util.showNone(res.data.message || '操作成功!'); + }else{ + util.showNone(res.data.message || '操作失败!'); + } + }) + .catch(util.hideLoad) + .finally(_=>setTimeout(_=>this.getOrderInfo({ order_no }), 1200)); + }, payStatus(status){ if(status == 1)return '已付款'; if(status == 4)return '已退款'; diff --git a/src/subpackage/device/components/order/timing_detail/timing_detail.vue b/src/subpackage/order/pages/timing/detail.vue similarity index 52% rename from src/subpackage/device/components/order/timing_detail/timing_detail.vue rename to src/subpackage/order/pages/timing/detail.vue index d6bddc8..2c96f16 100644 --- a/src/subpackage/device/components/order/timing_detail/timing_detail.vue +++ b/src/subpackage/order/pages/timing/detail.vue @@ -68,6 +68,13 @@ 结束计费 完结订单 + + - + +