diff --git a/src/subpackage/order/js/api.js b/src/subpackage/order/js/api.js
index b3f11b2..00ca434 100644
--- a/src/subpackage/order/js/api.js
+++ b/src/subpackage/order/js/api.js
@@ -40,6 +40,8 @@ export const ORDER_API = {
stadiumList: `${ORIGIN}/admin/stadium/list`, // 店铺列表
billingOrderList: `${ORIGIN}/admin/stadium/billing/order/list`, // 计时订单列表
billingOrderDetail: `${ORIGIN}/admin/stadium/billing/order/detail`, // 散客计时订单详情
+ timeOrderEnd: `${ORIGIN}/admin/assistant/timeOrder/end`, //k-订单管理-订单计时结束
+ timeOrderComplete:`${ORIGIN}/admin/assistant/timeOrder/complete`, //【20220208】k-订单管理-计时订单完结
}
export default ORDER_API;
\ No newline at end of file
diff --git a/src/subpackage/order/pages/timekeeping/modules/order_detail/end_billing_modal.vue b/src/subpackage/order/pages/timekeeping/modules/order_detail/end_billing_modal.vue
index 7885cfd..214c9ab 100644
--- a/src/subpackage/order/pages/timekeeping/modules/order_detail/end_billing_modal.vue
+++ b/src/subpackage/order/pages/timekeeping/modules/order_detail/end_billing_modal.vue
@@ -41,6 +41,9 @@
diff --git a/src/subpackage/order/pages/timekeeping/modules/order_list/deposit.vue b/src/subpackage/order/pages/timekeeping/modules/order_list/deposit.vue
index 6f064f5..e41c60c 100644
--- a/src/subpackage/order/pages/timekeeping/modules/order_list/deposit.vue
+++ b/src/subpackage/order/pages/timekeeping/modules/order_list/deposit.vue
@@ -4,6 +4,7 @@
:status="order.status_text || ''"
:price="order.pay_amount || ''"
:price-show="true"
+ @click:item="toDetail"
>
@@ -23,6 +24,7 @@
diff --git a/src/subpackage/order/pages/timekeeping/modules/order_list/person.vue b/src/subpackage/order/pages/timekeeping/modules/order_list/person.vue
index 76e0602..c1e25a0 100644
--- a/src/subpackage/order/pages/timekeeping/modules/order_list/person.vue
+++ b/src/subpackage/order/pages/timekeeping/modules/order_list/person.vue
@@ -24,7 +24,7 @@
- 结束计费
+ 结束计费
@@ -49,6 +49,10 @@ export default {
toDetail(){
let { order } = this;
routeTo(`/subpackage/order/pages/timekeeping/order_detail/person?order_no=${order?.order_no || ''}&brand_id=${order?.brand_id || ''}`, 'nT');
+ },
+ endBilling(){
+ let { order } = this;
+ routeTo(`/subpackage/order/pages/timekeeping/order_detail/person?order_no=${order?.order_no || ''}&brand_id=${order?.brand_id || ''}&is_end=1`, 'nT');
}
}
}
diff --git a/src/subpackage/order/pages/timekeeping/modules/order_list/site.vue b/src/subpackage/order/pages/timekeeping/modules/order_list/site.vue
index 0443607..aad4d99 100644
--- a/src/subpackage/order/pages/timekeeping/modules/order_list/site.vue
+++ b/src/subpackage/order/pages/timekeeping/modules/order_list/site.vue
@@ -5,6 +5,7 @@
:price="order.pay_amount || ''"
:status-active="['待支付', '计费中','待使用', '使用中'].includes(order.status_text)"
:price-show="['待支付', '待使用', '使用中', '已完成', '已失效', '已退款'].includes(order.status_text)"
+ @click:item="toDetail"
>
@@ -35,6 +36,7 @@
diff --git a/src/subpackage/order/pages/timekeeping/order_detail/deposit.vue b/src/subpackage/order/pages/timekeeping/order_detail/deposit.vue
index 5d82864..fed44ec 100644
--- a/src/subpackage/order/pages/timekeeping/order_detail/deposit.vue
+++ b/src/subpackage/order/pages/timekeeping/order_detail/deposit.vue
@@ -1,65 +1,68 @@
-
+
- qp20200150150245569qp20200150150245569qp20200150150245569
+ {{ orderInfo.order_no || '-' }}
- 已完成
+ {{ orderInfo.status_text || '-' }}
- 2019-08-17 18:02:58
- 18316553478
- i术生
- 占用分享(张三)
- 订单备注
+ {{ orderInfo.created_at || '-' }}
+ {{ orderInfo.mobile || '-' }}
+ {{ orderInfo.nickname || '-' }}
+ {{ orderInfo.source || '-' }}
+ {{ orderInfo.desc || '-' }}
-
- 茶室(1号茶室)
- 2020-01-10 15:02:24
- 现场扫码结算
- 00小时00分00秒
+
+ {{ orderInfo.project_type_name || '-' }}
+ {{ orderInfo.amount || '0' }}
- ¥10.5
- -¥0
- -¥0
- -¥1
+ ¥{{ orderInfo.amount || '0' }}
+ -¥{{ orderInfo.discount_amount || '0' }}
+ -¥{{ orderInfo.deduction_amount || '0' }}
+ -¥{{ orderInfo.coupons_amount || '0' }}
- 合计支付:¥9.5
+ 合计支付:¥{{ orderInfo.pay_amount || '0' }}
- qp20200150150245569
+ {{ link_order.order_no || '-' }}
- 查看押金订单
+ 查看计时订单
- ¥50
- 已退款
+ ¥{{ orderInfo.amount || '-' }}
+ {{ orderInfo.status_text || '-' }}
- 微信支付
- 2019-05-17 11:12:58
- 4200225665566566565455
+ {{ orderInfo.pay_type_text || '-' }}
+ {{ orderInfo.pay_time || '-' }}
+ {{ orderInfo.trade_no || '-' }}
-
-
- ¥998
- TF-20195171564566
- 2019-05-17 11:12:58
- 商家主动退款
-
+
+
+
+ ¥998
+ TF-20195171564566
+ 2019-05-17 11:12:58
+ 商家主动退款
+
+
-
+
退款
@@ -72,6 +75,10 @@ import kvLine from "../../../components/kv_line.vue";
import kvsLine from "../../../components/kvs_line.vue";
import bottomFixed from "../modules/order_detail/bottom_fixed.vue";
import fixedButton from "../modules/order_detail/fixed_button.vue";
+
+import { ORDER_API } from '../../../js/api';
+import server from '../../../js/server';
+import { showLoad, hideLoad, formatDate, showNone, showModal, routeTo } from '@/utils/util';
export default {
components: {
'header-temp': headerTemp,
@@ -80,6 +87,46 @@ export default {
'kvs-line': kvsLine,
'bottom-fixed': bottomFixed,
'fixed-button': fixedButton,
+ },
+ computed: {
+ link_order(){
+ let { orderInfo } = this;
+ return orderInfo?.extension?.link_order || {};
+ }
+ },
+ data(){
+ return {
+ orderInfo: {}
+ }
+ },
+ async onLoad(options){
+ this.getOrderDetail({
+ brand_id: options?.brand_id || '',
+ order_no: options?.order_no || ''
+ })
+ },
+ methods: {
+ toTimingOrder(){
+ let { order, link_order } = this;
+ routeTo(`/subpackage/order/pages/timekeeping/order_detail/site?order_no=${link_order?.order_no || ''}&brand_id=${order?.brand_id || ''}`, 'rT');
+ },
+ getOrderDetail({
+ brand_id = '', order_no = ''
+ }){
+ showLoad();
+ return server.get({
+ url: ORDER_API.billingOrderDetail,
+ data: {
+ brand_id, order_no
+ },
+ failMsg: '加载失败!'
+ })
+ .then(res=>{
+ hideLoad();
+ this.orderInfo = res || {};
+ return res;
+ })
+ },
}
}
diff --git a/src/subpackage/order/pages/timekeeping/order_detail/person.vue b/src/subpackage/order/pages/timekeeping/order_detail/person.vue
index d5fabaf..660c122 100644
--- a/src/subpackage/order/pages/timekeeping/order_detail/person.vue
+++ b/src/subpackage/order/pages/timekeeping/order_detail/person.vue
@@ -42,7 +42,7 @@
{{ orderInfo.pay_type_text || '-' }}
{{ orderInfo.pay_time || '-' }}
- {{ orderInfo.trace_no || '-' }}
+ {{ orderInfo.trade_no || '-' }}
@@ -58,7 +58,11 @@
- 完结订单
+ 完结订单
取消预约
-->
-
+
退款
@@ -89,7 +93,7 @@ import fixedButton from "../modules/order_detail/fixed_button.vue";
import { ORDER_API } from '../../../js/api';
import server from '../../../js/server';
-import { showLoad, hideLoad, formatDate, showNone } from '@/utils/util';
+import { showLoad, hideLoad, formatDate, showNone, showModal } from '@/utils/util';
export default {
components: {
'header-temp': headerTemp,
@@ -105,10 +109,15 @@ export default {
orderInfo: {}
}
},
- onLoad(options){
+ async onLoad(options){
this.getOrderDetail({
brand_id: options?.brand_id || '',
order_no: options?.order_no || ''
+ })
+ .then(res=>{
+ if(res?.status_text === '计费中'&&options?.is_end === '1'){
+ this.endOrder();
+ }
});
},
methods: {
@@ -118,16 +127,69 @@ export default {
operator: orderInfo?.end_bill_operator_name,
duration: orderInfo?.extension?.duration,
amount: orderInfo?.amount,
+ brand_id: orderInfo?.brand_id,
+ order_no: orderInfo?.order_no,
success: res=>{
- console.log('endOrder res -->', res);
+ setTimeout(()=>{
+ this.getOrderDetail({
+ brand_id: orderInfo?.brand_id,
+ order_no: orderInfo?.order_no
+ });
+ }, 1000);
}
});
},
+ finishOrder(){
+ let { orderInfo } = this;
+ showModal({
+ title: '提示',
+ content: '是否确认完结订单?',
+ showCancel: true,
+ success: modalRes=>{
+ if(modalRes.confirm)this.endOrderServer({
+ brand_id: orderInfo?.brand_id || '',
+ order_no: orderInfo?.order_no || '',
+ stadium_id: orderInfo?.stadium_id || ''
+ })
+ .finally(res=>{
+ setTimeout(()=>{
+ this.getOrderDetail({
+ brand_id: orderInfo?.brand_id,
+ order_no: orderInfo?.order_no
+ });
+ }, 1000);
+ });
+ }
+ })
+ },
+ endOrderServer({
+ brand_id, order_no, pay_amount, end_type
+ }){
+ showLoad();
+ return server.get({
+ url: ORDER_API.timeOrderComplete,
+ data: {
+ brand_id, order_no, pay_amount, end_type
+ },
+ failMsg: '操作失败!'
+ })
+ .then(res=>{
+ hideLoad();
+ showNone('操作成功!');
+ return res;
+ })
+ .catch(err=>{
+ hideLoad();
+ showNone('操作失败!');
+ console.warn('end billing modal confirmBtn err -->', err);
+ return Promise.reject(err);
+ })
+ },
getOrderDetail({
brand_id = '', order_no = ''
}){
showLoad();
- server.get({
+ return server.get({
url: ORDER_API.billingOrderDetail,
data: {
brand_id, order_no
@@ -136,8 +198,8 @@ export default {
})
.then(res=>{
hideLoad();
- console.log('person getOrderDetail -->', res);
this.orderInfo = res || {};
+ return res;
})
},
}
diff --git a/src/subpackage/order/pages/timekeeping/order_detail/site.vue b/src/subpackage/order/pages/timekeeping/order_detail/site.vue
index 90a9564..6bbf555 100644
--- a/src/subpackage/order/pages/timekeeping/order_detail/site.vue
+++ b/src/subpackage/order/pages/timekeeping/order_detail/site.vue
@@ -1,71 +1,93 @@
-
+
- qp20200150150245569qp20200150150245569qp20200150150245569
+ {{ orderInfo.order_no || '-' }}
- 已完成
+ {{ orderInfo.status_text || '-' }}
- 2019-08-17 18:02:58
- 18316553478
- i术生
+ {{ orderInfo.created_at || '-' }}
+ {{ orderInfo.mobile || '-' }}
+ {{ orderInfo.nickname || '-' }}
- 茶室(1号茶室)
- 2020-01-10 15:02:24
- 现场扫码结算
- 00小时00分00秒
-
-
- ¥10.5
- -¥0
- -¥0
- -¥1
-
-
- 合计支付:¥9.5
-
-
+ ({{ orderInfo.project_type_name || '-' }})
+ {{ orderInfo.start_time || '-' }}
+ 现场扫码结算
+ {{ orderInfo.end_time || '-' }}
+ {{ orderInfo.extension&&orderInfo.extension.duration || '-' }}
-
-
-
- qp20200150150245569
-
- 查看押金订单
-
-
- ¥50
-
- 已退款
-
- (押金已原路退返账户,请留意查收!)
-
-
+
+
+ ¥{{ orderInfo.amount || '0' }}
+ -¥{{ orderInfo.discount_amount || '0' }}
+ -¥{{ orderInfo.deduction_amount || '0' }}
+ -¥{{ orderInfo.coupons_amount || '0' }}
+
+
+ 合计支付:¥{{ orderInfo.pay_amount || '0' }}
+
+
-
-
- 2019-05-17 11:12:58
- 商家主动取消
-
+
+
+
+
+ {{ orderInfo.deposit_order_no || '-' }}
+
+ 查看押金订单
+
+
+ ¥{{ extension.deposit_amount || '0' }}
+
+ {{ extension.deposit_status_text || '-' }}
+
+
+
+
-
-
- 微信支付
- 2019-05-17 11:12:58
- 4200225665566566565455
-
+
+
+
+ {{ orderInfo.cancel_time || '-' }}
+ {{ orderInfo.cancel_reason || '-' }}
+
+
-
-
- ¥10
-
+
+
+
+ {{ orderInfo.pay_type_text || '-' }}
+ {{ orderInfo.pay_time || '-' }}
+ {{ orderInfo.trade_no || '-' }}
+
+
-
+
+
+
+ ¥{{ orderInfo.amount || '0' }}
+
+
+
+
+
+
+
+ 完结订单
+ 结束计费
+ 取消预约
+
+
-
+
@@ -147,4 +314,11 @@ export default {
height: 24upx;
background: transparent;
}
+
+ .pod-btn{
+ text-align: center;
+ border-radius: 10upx;
+ background: $mColor;
+ @include flcw(32upx, 112upx, #fff, 500);
+ }
\ No newline at end of file
diff --git a/src/subpackage/order/pages/timekeeping/order_list.vue b/src/subpackage/order/pages/timekeeping/order_list.vue
index f473442..82188db 100644
--- a/src/subpackage/order/pages/timekeeping/order_list.vue
+++ b/src/subpackage/order/pages/timekeeping/order_list.vue
@@ -137,7 +137,7 @@ export default {
let _title = '';
switch(type){
case enumOrderType.site:
- _title = '场时订单';
+ _title = '场地计时订单';
break;
case enumOrderType.person:
_title = '散客计时订单';
@@ -171,17 +171,12 @@ export default {
let _obj = {
[enumOrderType.site]: [
{ label: '全部', value: '' },
- { label: '已关闭', value: '已关闭' },
+ { label: '待使用', value: '待使用' },
{ label: '计费中', value: '计费中' },
{ label: '待支付', value: '待支付' },
- { label: '待使用', value: '待使用' },
- { label: '使用中', value: '使用中' },
- { label: '已失效', value: '已失效' },
{ label: '已完成', value: '已完成' },
- { label: '已抵扣', value: '已抵扣' },
- { label: '已退款', value: '已退款' },
- { label: '已取消预约', value: '已取消预约' },
{ label: '已退款', value: '已退款' },
+ { label: '押金', value: '押金' },
],
[enumOrderType.person]: [
{ label: '全部', value: '' },
@@ -245,7 +240,7 @@ export default {
data: {
brand_id, stadium_id, status,
start, end, order_type: this.getReqOrderType(order_type), page, page_size,
- status_text
+ status_text: status_text === '押金' ? '' : status_text
},
failMsg: '加载失败!'
})
@@ -266,6 +261,8 @@ export default {
},
// 获取请求订单类型
getReqOrderType(type){
+ let { condition } = this;
+ if(type === enumOrderType.site&&condition.status_text === '押金')return '3'; // 场时需要同时加载押金订单
if(type === enumOrderType.site)return '1,3'; // 场时需要同时加载押金订单
return type;
}