From 39c74bb3e5ac61d2a2e992fe66d26ce46f3bb32a Mon Sep 17 00:00:00 2001
From: 1019933623 <1019933623@qq.com>
Date: Thu, 31 Mar 2022 11:14:17 +0800
Subject: [PATCH] tapd 1000742&1000745
---
.../end_billing_modal/end_billing_modal.vue | 193 +++++++++++++++++++++
src/components/timing_order/timing_order.vue | 45 ++++-
src/js/api.js | 5 +
src/pages/order_list/order_list.vue | 2 +-
.../write_off/confirm_order/confirm_order.vue | 33 +++-
.../number_of_people/number_of_people.vue | 154 ++++++++++++++--
.../write_off/search_result/search_result.vue | 52 +++++-
src/static/images/icon/selected_ring.png | Bin 0 -> 503 bytes
.../order/timing_detail/timing_detail.vue | 144 ++++-----------
src/subpackage/device/js/device_api.js | 1 +
.../device/pages/order_details/order_details.vue | 34 +++-
11 files changed, 526 insertions(+), 137 deletions(-)
create mode 100644 src/components/end_billing_modal/end_billing_modal.vue
create mode 100644 src/static/images/icon/selected_ring.png
diff --git a/src/components/end_billing_modal/end_billing_modal.vue b/src/components/end_billing_modal/end_billing_modal.vue
new file mode 100644
index 0000000..bb92650
--- /dev/null
+++ b/src/components/end_billing_modal/end_billing_modal.vue
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
+ 结束计费
+ 操作人:{{orderInfo.end_bill_operator_name || '-'}}
+ 时长合计:{{orderInfo.extension.duration || '-'}}
+ 金额合计:¥{{orderInfo.amount || 0}}
+
+
+
+ 停止计时
+
+
+
+ 完结订单
+
+
+ *请输入金额
+
+ 确认
+
+
+
+
+
+
+
diff --git a/src/components/timing_order/timing_order.vue b/src/components/timing_order/timing_order.vue
index 0536153..d9a96d6 100644
--- a/src/components/timing_order/timing_order.vue
+++ b/src/components/timing_order/timing_order.vue
@@ -12,7 +12,7 @@
-
+
项目:
@@ -25,16 +25,29 @@
{{ orderInfo.extension.duration || '-'}}
+ 结束计费
实付款 ¥{{orderInfo.pay_amount || 0}}
+
+
+
@@ -223,22 +309,22 @@ export default {
}
}
.nop-main{
- padding: 8upx 30upx 0;
+ padding: 8upx 0upx 0;
.nm-date{
- margin-bottom: 86upx;
+ margin: 0 24rpx 86rpx;
line-height: 44upx;
font-size: 32upx;
color: #1a1a1a;
}
.nm-tit{
- margin-bottom: 48upx;
+ margin: 0 30rpx 16rpx;
text-align: center;
font-size: 32upx;
font-weight: 500;
}
.nm-num{
position: relative;
- margin: 0 auto 100upx;
+ margin: 0 auto;
display: block;
width: 400upx;
height: 400upx;
@@ -267,8 +353,16 @@ export default {
100% {transform: rotate(0deg);}
}
}
+ .nm-txt{
+ margin: 10rpx auto 42rpx;
+ color: #9C9C9F;
+ font-size: 28rpx;
+ text-align: center;
+ line-height: 40rpx;
+ text-decoration: underline;
+ }
.nm-btn{
- margin: 0 auto 106upx;
+ margin: 0 auto;
width: 618upx;
line-height: 112upx;
height: 112upx;
@@ -278,8 +372,24 @@ export default {
color: #fff;
background-color: $themeColor;
}
+ .nm-line{
+ margin: 46rpx 0 0;
+ padding: 34rpx 28rpx 20rpx 34rpx;
+ border-top: 2rpx solid #F2F2F7;
+ @include centerFlex(space-between);
+ .nl-txt{
+ color: #1A1A1A;
+ font-size: 32rpx;
+ line-height: 44rpx;
+ }
+
+ .nl-switch{
+ flex-shrink: 0;
+ flex-grow: 0;
+ }
+ }
.nm-tip{
- margin-bottom: 30upx;
+ margin: 0 32rpx 30rpx 34rpx;
font-size: 28upx;
line-height: 52upx;
color: #9C9C9F;
@@ -356,6 +466,30 @@ export default {
}
}
}
+ .nmm-btm{
+ margin-bottom: 8rpx;
+ }
+ .nmm-line{
+ margin: 78rpx 70rpx 0 74rpx;
+ @include centerFlex(space-between);
+ >view{
+ &:first-child{
+ color: #1A1A1A;
+ font-size: 28rpx;
+ line-height: 48rpx;
+ }
+ &:nth-child(2){
+ width: 156rpx;
+ height: 68rpx;
+ border: 2rpx solid #009874;
+ border-radius: 10rpx;
+ color: #009874;
+ font-size: 32rpx;
+ line-height: 64rpx;
+ text-align: center;
+ }
+ }
+ }
}
}
diff --git a/src/pages/write_off/search_result/search_result.vue b/src/pages/write_off/search_result/search_result.vue
index 346eb28..9547a32 100644
--- a/src/pages/write_off/search_result/search_result.vue
+++ b/src/pages/write_off/search_result/search_result.vue
@@ -27,10 +27,10 @@
({{ e.type || '-' }})
- 用户昵称:{{ e.extension.nickname || '-' }}
+ 用户信息:{{ e.extension.user_phone || '-' }}({{ e.extension.nickname || '-' }})
- 核销码: {{ e.verify_code || '-' }}
+ 核销码: {{e.verify_code || '-' }}
验证方式:{{ e.desc || '-' }}
@@ -39,9 +39,10 @@
核销时间:{{ e.verify_time || '-'}}
- 离场时间:{{ e.verify_leave_time || '未扫码离场'}}
+ 离场时间:{{ e.verify_leave_time || ''}}
+ 手动离场
核销订单
@@ -162,7 +163,34 @@ export default {
let _list = res.list || [];
return _list
})
- }
+ },
+
+ leaveBtn(item){
+ let { curStadium } = this;
+ util.showModal({
+ title: '提示',
+ content: '是否确认手动离场?',
+ showCancel: true,
+ success: modalRes=>{
+ if(modalRes.confirm){
+ util.showLoad();
+ servers.get({
+ url: API.writeOff.leaveVerifyOrder,
+ data: {
+ brand_id: curStadium.brand_id,
+ id: item.id,
+ },
+ failMsg: '请求失败!'
+ })
+ .then(res=>{
+ util.hideLoad();
+ util.showNone('操作成功!');
+ this.refreshList()
+ })
+ }
+ }
+ })
+ },
}
}
@@ -241,6 +269,7 @@ export default {
.r-order-list{
padding: 0 24upx;
.l-item{
+ position: relative;
margin-bottom: 24upx;
padding: 0 20upx;
border-radius: 10upx;
@@ -269,9 +298,22 @@ export default {
color: $themeColor;
}
}
-
+
}
}
+ .i-btn{
+ position: absolute;
+ right: 20rpx;
+ bottom: 32rpx;
+ background-color: #009874;
+ border-radius: 10rpx;
+ width: 156rpx;
+ height: 68rpx;
+ color: #FFFFFF;
+ font-size: 28rpx;
+ text-align: center;
+ line-height: 68rpx;
+ }
}
}
.r-bottom-btn{
diff --git a/src/static/images/icon/selected_ring.png b/src/static/images/icon/selected_ring.png
new file mode 100644
index 0000000000000000000000000000000000000000..280cd03ff7ec33225f633ec999e1096bd209bd53
GIT binary patch
literal 503
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dynE^f_u0Wb$UOB^z5{6k73^PkW
zXjUo1tRk>TB~%0`2vh))Ed`@8h8d+`1;q@rN*HFBG0ZAsm|4s)8?0tVF#`ydGRy`V
z2$U*jm{SQ<{BGB;sX)7wN`m}?8QA`aU)(>5@4I~chu5!eT|2#X$%4*MZ+8Q|+WV2=
zPPV49a;;DPFfcGmd%8G=Se$MRzP{~<0*A>8&1K&=)&Bdhtez6AT@
z>!Y-0h)W9wANpjpLQItPr_|cC|8hLtmvmq0yola1QC&Sb|J0=~%BMFkZvFf0VZi&}
z?#&Fw@6xXn>~`o|e&2w>MZ~Vz{!{0j?jtX3@)_8fZbJMq(WLx9~-o2?=
zd?~BxYv(NEgFjew)xrwS)XIEp{+O^mxtGm2`tQ^Wo2%Uxb4C5U#wISY?u=LKq7dVS
zdxX5yUQBUm(oj^>j0@J85|Q离场时间:{{orderInfo.end_time || '-'}}
时长合计:{{orderInfo.extension.duration || '-'}}
-
+
金额小计
¥{{orderInfo.amount || 0}}
@@ -53,26 +53,30 @@
支付方式:{{zh_pay_type(orderInfo.pay_type)}}
支付时间:{{orderInfo.pay_time || '-'}}
- 微信交易号:{{orderInfo.trade_no || ''}}
+ 微信交易号:{{orderInfo.trade_no || ''}}
+ 操作人:{{orderInfo.end_bill_operator_name || ''}}
- 结束计费
-
-
-
-
-
-
- 结束计费
- 操作人:{{orderInfo.end_bill_operator_name || '-'}}
- 时长合计:{{orderInfo.extension.duration || '-'}}
- 金额合计:¥{{orderInfo.amount || '-'}}
- *请输入金额
-
- 确认
+
+ 退款信息
+
+ 退款原因:{{orderInfo.refund_reason || '-'}}
+ 退款时间:{{orderInfo.refund_time || '-'}}
+ 退款单号:{{orderInfo.refund_no || '-'}}
+ 结束计费
+ 完结订单
+
+
+
+
@@ -81,7 +85,11 @@ import util from '@/utils/util';
import deviceServer from '../../../js/device_server';
import deviceApi from '../../../js/device_api';
import { mapState } from 'vuex';
+import end_billing_modal from '../../../../../components/end_billing_modal/end_billing_modal.vue';
export default {
+ components: {
+ 'end-billing-modal': end_billing_modal,
+ },
props: {
orderInfo: {
type: Object,
@@ -92,9 +100,10 @@ export default {
...mapState(['brandInfo']),
zh_order_status(){
// 订单状态 0计费中1已完成
+ let { orderInfo } = this
return status =>{
const _obj = {
- '0': '计费中',
+ '0': orderInfo.early_end_timing==true?'待支付':'计费中',
'1': '已完成',
'4': '已退款',
}
@@ -116,30 +125,16 @@ export default {
},
data() {
return {
- isShowEnd: false,
- input_amount: "",
+ isEndBill: false,
}
},
methods: {
- confirmChange(){
- let { brandInfo, orderInfo, input_amount } = this
- if(input_amount == '')return util.showNone('请输入金额!');
- util.showLoad();
- deviceServer.get({
- url: deviceApi.timeOrderEnd,
- data: {
- brand_id: brandInfo.brand.id,
- order_no: orderInfo.order_no,
- pay_amount: parseFloat(input_amount),
- },
- failMsg: '加载失败!'
- })
- .then(res=>{
- util.hideLoad()
- util.showNone('操作成功!');
- this.isShowEnd = false
- setTimeout(()=>uni.navigateBack(),1200);
- })
+ completeBtn(){
+ this.$emit('completeBtn');
+ },
+
+ timeEndBtn(){
+ this.$emit('refreshPage');
},
}
}
@@ -265,77 +260,6 @@ export default {
line-height: 112rpx;
text-align: center;
}
- .odm-end-modal{
- position: absolute;
- left: 65rpx;
- top: 12%;
- background-color: #fff;
- width: 620rpx;
- padding: 30rpx 0rpx 80rpx;
- border-radius: 10rpx;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- .oem-close{
- width: 100%;
- @include centerFlex(flex-end);
- >image{
- width: 32rpx;
- height: 32rpx;
- margin-right: 30rpx;
- }
- }
- .oem-tit {
- color: #333;
- font-size: 32rpx;
- font-weight: 700;
- margin: 16rpx 0rpx 34rpx;
- }
- .oem-line{
- width: 456rpx;
- color: #333;
- font-size: 28rpx;
- line-height: 48rpx;
- .ol-txt1{
- color: #009874;
- }
- .ol-txt2{
- color: #FF873D;
- }
- }
- .oem-tips{
- width: 456rpx;
- margin: 34rpx 0rpx 8rpx;
- color: #EA5061;
- font-size: 28rpx;
- >text{
- color: #333333;
- }
- }
- .oem-ipt{
- width: 456rpx;
- border: 2rpx solid #D8D8D8;
- border-radius: 10rpx;
- & input {
- flex-grow: 1;
- height: 88rpx;
- color: #333;
- font-size: 28rpx;
- padding: 0rpx 20rpx;
- }
- }
- .oem-btn{
- width: 240rpx;
- height: 88rpx;
- margin-top: 60rpx;
- border-radius: 10rpx;
- background-color: #009874;
- color: #FFF;
- font-size: 32rpx;
- line-height: 88rpx;
- text-align: center;
- }
- }
+
}
diff --git a/src/subpackage/device/js/device_api.js b/src/subpackage/device/js/device_api.js
index 7e9293a..db8d9c1 100644
--- a/src/subpackage/device/js/device_api.js
+++ b/src/subpackage/device/js/device_api.js
@@ -36,6 +36,7 @@ export const DEVICE_API = {
iccardList:`${ORIGIN}/admin/assistant/iccard/list`, //k-ic卡列表
timeOrderDetail:`${ORIGIN}/admin/assistant/timeOrder/detail`, //k-订单管理-计时订单详情
timeOrderEnd:`${ORIGIN}/admin/assistant/timeOrder/end`, //k-订单管理-订单计时结束
+ timeOrderComplete:`${ORIGIN}/admin/assistant/timeOrder/complete`, //【20220208】k-订单管理-计时订单完结
// 20210521 恢复次卡核销状态
recoveryToSuccess:`${ORIGIN}/admin/stadium/order/recoveryToSuccess`, // 恢复次卡核销状态
diff --git a/src/subpackage/device/pages/order_details/order_details.vue b/src/subpackage/device/pages/order_details/order_details.vue
index d1a3325..d7e2bc8 100644
--- a/src/subpackage/device/pages/order_details/order_details.vue
+++ b/src/subpackage/device/pages/order_details/order_details.vue
@@ -5,7 +5,7 @@
-
+
@@ -159,6 +159,38 @@
order_no: optionsQuery.order_no,
})
},
+
+ // 计时订单-完结订单
+ completeBtn(){
+ let { pageInfo } = this
+ util.showModal({
+ title: '提示',
+ content: '是否确认完结订单?',
+ showCancel: true,
+ success: modalRes=>{
+ if(modalRes.confirm){
+ util.showLoad();
+ deviceServer.get({
+ url: deviceApi.timeOrderComplete, //计时订单完结
+ data: {
+ brand_id: pageInfo.brand_id,
+ order_no: pageInfo.order_no,
+ },
+ failMsg: '请求失败!'
+ })
+ .then(res=>{
+ util.hideLoad();
+ util.showNone('操作成功!');
+ this.refreshPage()
+ util.previousPageFunction({
+ fnName: 'refreshList',
+ query: { isLoad: false},
+ });
+ })
+ }
+ }
+ })
+ },
}
}