diff --git a/src/subpackage/common/components/card_search.vue b/src/subpackage/common/components/card_search.vue
index 2a4b789..f0292a8 100644
--- a/src/subpackage/common/components/card_search.vue
+++ b/src/subpackage/common/components/card_search.vue
@@ -44,11 +44,9 @@ import API from '../js/api.js';
export default {
props: {
sid: {
- type: String,
default: ''
},
amount: {
- type: String,
default: ''
},
},
diff --git a/src/subpackage/common/js/api.js b/src/subpackage/common/js/api.js
index e38485a..dc2a536 100644
--- a/src/subpackage/common/js/api.js
+++ b/src/subpackage/common/js/api.js
@@ -5,6 +5,8 @@ export const COMMON_API = {
takeUpBbocPay:`${ORIGIN}/admin/stadium/venue/takeUpBbocPay`, // 挂账收款的接口
venueTakeUp: `${ORIGIN}/admin/stadium/venue/takeUp`, // 商家助手-占用场地提交
canUseValueCardList: `${ORIGIN}/admin/stadium/canUseValueCard/list`, // 商家助手-占用场地可用储值卡列表
+
+
}
export default COMMON_API;
\ No newline at end of file
diff --git a/src/subpackage/common/pages/pay_type_select.vue b/src/subpackage/common/pages/pay_type_select.vue
index ab89d2d..60ea767 100644
--- a/src/subpackage/common/pages/pay_type_select.vue
+++ b/src/subpackage/common/pages/pay_type_select.vue
@@ -14,15 +14,15 @@
-
+
押金抵扣
- 押金订单号:cs202001101505698956
- 押金金额:¥50元
+ 押金订单号:{{ depositOrderInfo.order_no || '-' }}
+ 押金金额:¥{{ depositOrderInfo.amount || '0' }}元
注:押金金额≥实收金额才可支付,扣除费用后剩余押金会原路退回给用户!
@@ -111,12 +111,14 @@ export default {
payMethodsID: 0,
optionsQuery: {},
otherTypeRemark: '',
- selectedCard: {}
+ selectedCard: {},
+ // md0612
+ depositOrderInfo: null,
}
},
/**
* @param {Object} _options = JSON.parse(decodeURIComponent(option.query))
- * @param {String} _options.type 1 -> 客户订场, 2-> 散客, 3-> 锁场, 4 -> 挂账
+ * @param {String} _options.type 1 -> 客户订场, 2-> 散客, 3-> 锁场, 4 -> 挂账, 5-> 场地计时订单结束计费
* @param {String} _options.brand_id
* @param {String} _options.amount
* @param {Object} _options.stadiumInfo
@@ -131,6 +133,12 @@ export default {
onLoad(option){
let optionsQuery = util.jsonPar(decodeURIComponent(option.query));
this.optionsQuery = optionsQuery;
+
+ const eventChannel = this.getOpenerEventChannel();
+ // md0612 支付订单需求
+ eventChannel.on('emitFromSiteOrder', async data =>{
+ this.depositOrderInfo = data?.depositInfo ?? null;
+ })
},
methods: {
cardSelectConfirm(e){
@@ -140,11 +148,20 @@ export default {
},
submitBtn: util.debounce(function(){
let _type = this.optionsQuery?.type;
+ if(+_type === 5)return this.siteOrderEndPay();
// 挂账订单支付提交
if(+_type === 4)return this.takeUpBbocPay();
if(_type !== 4)return this.takeUpSubmit();
}, 300, true),
+ siteOrderEndPay(){
+ let { optionsQuery, payMethodsID, otherTypeRemark, selectedCard, payAmount } = this;
+ const eventChannel = this.getOpenerEventChannel();
+ let _data = { pay_type: this.getPayMethodsName(payMethodsID) };
+ if(selectedCard?.card_no&& payMethodsID === 3)_data['card_no'] = selectedCard?.card_no;
+ if(otherTypeRemark&& payMethodsID === 4)_data['mark'] = otherTypeRemark;
+ eventChannel.emit('orderPay', _data);
+ },
payMethodsChange(typeNum){
let { stadiumInfo, optionsQuery } = this;
// 储值卡
@@ -166,6 +183,7 @@ export default {
{ name: '现金支付', id: 2 },
{ name: '储值卡支付', id: 3 },
{ name: '其它', id: 4 },
+ { name: '押金抵扣', id: 5 },
]
},
diff --git a/src/subpackage/order/js/api.js b/src/subpackage/order/js/api.js
index 08aa0ac..aafc3db 100644
--- a/src/subpackage/order/js/api.js
+++ b/src/subpackage/order/js/api.js
@@ -55,6 +55,9 @@ export const ORDER_API = {
cardOrderGet:`${ORIGIN}/admin/venue/number/card/order/get`, // 订场卡订单 - 详情
cardOrderRefund:`${ORIGIN}/admin/venue/number/card/order/refund`, // 订场卡订单 - 退款
cardSoldUsage:`${ORIGIN}/admin/venue/number/card/sold/usage`, // 已售订场卡 - 使用记录
+ // md 250612
+ orderPayinfo: `${ORIGIN}/admin/assistant/billing/order/payinfo`, // 【1001429】【收银系统】场时 - 支付信息
+ orderPay: `${ORIGIN}/admin/assistant/billing/order/pay`, // 【1001429】【收银系统】场时 - 支付
}
diff --git a/src/subpackage/order/pages/timekeeping/order_detail/common.js b/src/subpackage/order/pages/timekeeping/order_detail/common.js
index 642ef9a..730bbd9 100644
--- a/src/subpackage/order/pages/timekeeping/order_detail/common.js
+++ b/src/subpackage/order/pages/timekeeping/order_detail/common.js
@@ -123,4 +123,24 @@ export function siteAndPeopleRefundServer({ order_no = '', amount = 0, integral
showNone('操作失败!');
console.warn('getOrderDetail err -->', err);
})
+}
+
+export function orderPay({ brand_id, order_no, amount, pay_type, card_no, mark }){
+ return server.post({
+ url: ORDER_API.orderPay,
+ data: {
+ brand_id, order_no, amount, pay_type, card_no, mark
+ },
+ isDefaultGet: false
+ })
+ .then(res =>{
+ if(res.data.code == 0){
+ return res?.data?.data ?? {};
+ }else{
+ return Promise.reject(res);
+ }
+ })
+ .catch(err =>{
+ console.warn('subpackage order timekeeping order detail common.js err -->', err);
+ })
}
\ No newline at end of file
diff --git a/src/subpackage/order/pages/timekeeping/order_detail/site.vue b/src/subpackage/order/pages/timekeeping/order_detail/site.vue
index 767de40..a8e34ab 100644
--- a/src/subpackage/order/pages/timekeeping/order_detail/site.vue
+++ b/src/subpackage/order/pages/timekeeping/order_detail/site.vue
@@ -24,7 +24,7 @@
{{ orderInfo.start_time || '-' }}
现场扫码结算
{{ orderInfo.end_time || '-' }}
{{ orderInfo.extension&&orderInfo.extension.duration || '-' }}
@@ -121,7 +121,7 @@
class="pod-btn"
v-if="orderInfo.status_text === '待支付'"
@click="finishOrder"
- >完结订单
+ >支付订单
{
+ hideLoad();
+ if(res.data.code == 0){
+ console.log(res);
+ return 'success'
+ }else{
+ return Promise.reject(res);
+ }
+ })
+ .catch(err =>{
+ hideLoad();
+ showModal({ content: err?.data?.message ?? '操作失败!' });
+ console.warn('subpackage order timekeeping order detail site err -->', err);
+ })
+ },
refundOrder(){
let { orderInfo, extension, refundList } = this;
this.$refs.orderRefundModal.show({
@@ -289,39 +315,64 @@ export default {
});
}, 1000);
},
- toPay: res=>{
- console.log(res);
- let _query = {
- brand_id: orderInfo?.brand_id ?? '',
- amount: res?.amount ?? 0,
- stadiumInfo: {
- id: orderInfo?.stadium_id,
- name: orderInfo?.stadium_name,
- logo: orderInfo?.stadium_logo,
- },
- };
- routeTo(`/subpackage/common/pages/pay_type_select?query=${jsonStr(_query)}`, 'rT')
+ toPay: pRes =>{
+ this.endToPay(pRes?.amount ?? 0);
}
});
},
- // // 完结订单弹窗
- finishOrder(){
+ endToPay(payAmount){
let { orderInfo } = this;
- finishOrder({
- brand_id: orderInfo?.brand_id,
- order_no: orderInfo?.order_no,
- stadium_id: orderInfo?.stadium_id,
- opts: {
- finally: ()=> {
- setTimeout(()=>{
- this.getOrderDetail({
- brand_id: orderInfo?.brand_id,
- order_no: orderInfo?.order_no
- });
- }, 1000);
+ let _brand_id = orderInfo?.brand_id ?? '',
+ _amount = payAmount ?? 0,
+ _order_no = orderInfo?.order_no ?? '';
+
+ let _query = {
+ brand_id: _brand_id,
+ amount: _amount,
+ type: 5,
+ stadiumInfo: {
+ id: orderInfo?.stadium_id,
+ name: orderInfo?.stadium_name,
+ logo: orderInfo?.stadium_logo,
+ },
+ };
+ uni.navigateTo({
+ url: `/subpackage/common/pages/pay_type_select?query=${jsonStr(_query)}`,
+ events: {
+ orderPay: opRes=>{
+ this.orderPay({
+ ...opRes, brand_id: _brand_id, order_no: _order_no, amount: _amount,
+ })
+ .then(rRes=>{
+ if(rRes === 'success'){
+ routeTo();
+ this.$nextTick(_=>{
+ this.$refs.endBillingModal.hide();
+ showNone('操作成功!');
+ setTimeout(_=>{
+ this.getOrderDetail({ brand_id: _brand_id, order_no: _order_no });
+ }, 1000);
+ })
+ }
+ })
+ }
+ },
+ success: navRes=> {
+ let _query = {};
+ if(orderInfo?.extension?.show_deposit)_query.depositInfo = {
+ amount: orderInfo?.extension?.deposit_amount ?? 0,
+ order_no: orderInfo?.deposit_order_no ?? '',
}
+ navRes.eventChannel.emit('emitFromSiteOrder', _query);
}
- })
+ });
+ },
+ // // 完结订单弹窗
+ finishOrder(){
+ let { orderInfo } = this;
+ // md0612 “完结订单“按钮改成”支付订单“,支付订单按钮要跳转支付页面
+ this.endToPay(orderInfo?.amount ?? 0);
+
},
toDepoistDetail(){
let { orderInfo } = this;