diff --git a/package2/group/groupBuySingle.vue b/package2/group/groupBuySingle.vue
index 3962afb..939bd34 100644
--- a/package2/group/groupBuySingle.vue
+++ b/package2/group/groupBuySingle.vue
@@ -591,7 +591,7 @@
拼团成功后立即出餐
-
+
@@ -607,8 +607,8 @@
-
-
+
+
diff --git a/package2/myCenter/partTimeJobRegister.vue b/package2/myCenter/partTimeJobRegister.vue
index 58f23f9..2879e11 100644
--- a/package2/myCenter/partTimeJobRegister.vue
+++ b/package2/myCenter/partTimeJobRegister.vue
@@ -192,11 +192,11 @@
class="official-qr" />
长按 关注公众号
- 关注后可提现佣金,有新订单会及时通知你。
+ 关注后可提现佣金,有新订单会及时通知。下线后不再接收通知
- 提交注册
+ {{worker ? '保存规则' : '提交注册'}}
@@ -331,6 +331,7 @@
songcan: [],
shopArea: [],
waimaRuleList: [],
+ worker:{},
paotuiRuleList: [],
currentConfigType: '',
defaultRoutePrice: '1',
@@ -351,8 +352,8 @@
incomeRange: '¥0'
}
}
- const lowOrders = Math.max(1, Math.ceil(count * 0.25))
- const highOrders = Math.max(lowOrders, Math.ceil(count * 0.6))
+ const lowOrders = Math.max(1, Math.ceil(count * 2.5))
+ const highOrders = Math.max(lowOrders, Math.ceil(count * 6))
const lowIncome = Math.floor(lowOrders * commissionPerOrder * 100) / 100
const highIncome = Math.floor(highOrders * commissionPerOrder * 100) / 100
return {
@@ -365,6 +366,7 @@
this.getShopArea()
this.getWorkerMessage()
this.showOnboardingOnce()
+ this.worker = uni.getStorageSync('worker')
},
onShow() {
this.menuButtonInfo = uni.getMenuButtonBoundingClientRect()
@@ -690,6 +692,9 @@
title: '提交成功'
});
}
+ uni.reLaunch({
+ url: '/pages/index/index?tabIndex=1&deliveryRuleEdited=1'
+ })
} else {
uni.showToast({
title: res.message,
diff --git a/package2/shop/afterService.vue b/package2/shop/afterService.vue
index 8fa9057..267bd5f 100644
--- a/package2/shop/afterService.vue
+++ b/package2/shop/afterService.vue
@@ -109,9 +109,9 @@
- 餐盒费:¥{{item.packageFee || 0}} 配送费:¥{{item.deliveryFee || 0}}
+ 餐盒费:¥{{formatMoney(item.packageFee)}} 配送费:¥{{formatMoney(item.deliveryFee)}}
- 总计:¥{{item.totalAmount || 0}}
+
@@ -138,7 +138,7 @@
+
+
+
@@ -197,7 +208,9 @@
returnCount:0,
submitLoading:false,
submitRefundId:'',
- contactItem:{}
+ contactItem:{},
+ rejectItem:null,
+ rejectReason:''
}
},
filters:{
@@ -256,6 +269,23 @@
if (!item) return ''
return item.status == 0?'待支付':item.status == 2?'待配送员接单':(item.status == 3 && item.deliveryType == 1 && item.shopMakeTime == null) || (item.status == 3 && item.deliveryType == 2 && item.userRequireMake == 1)?'待出餐':(item.status == 3 && item.deliveryType == 1 && item.shopMakeTime != null)?'待取货':(item.status == 3 && item.deliveryType == 2)?'待消费':item.status == 4?'待送达':item.status == 5?'已完成':item.status == 7?'待同意退款':item.status == 8?'已退款':item.status == 6?'已取消':item.status == 11?'售后中':item.status == 12?'已售后':''
},
+ toNumber(value) {
+ let amount = parseFloat(value);
+ return isNaN(amount) ? 0 : amount;
+ },
+ formatMoney(value) {
+ return this.toNumber(value).toFixed(2);
+ },
+ shouldShowPackageFee(order) {
+ return !!order && (order.deliveryType == 1 || order.isPack == 1);
+ },
+ getGroupTotalAmount(item) {
+ let total = this.toNumber(item && item.totalAmount);
+ if (this.shouldShowPackageFee(item)) {
+ total += this.toNumber(item && item.packageFee);
+ }
+ return this.formatMoney(total);
+ },
orderDetailOpen(item){
this.returnFormData.id = item.id;
this.returnFormData.linkId = item.linkId;
@@ -333,6 +363,33 @@
},
returnAmountAllow(item,status){
if (this.submitLoading) return;
+ if (status == 0) {
+ this.openRejectPopup(item);
+ return;
+ }
+ this.submitReturnAmountAllow(item, status);
+ },
+ openRejectPopup(item) {
+ this.rejectItem = item;
+ this.rejectReason = '';
+ this.$refs.rejectPopup.open('center');
+ },
+ closeRejectPopup() {
+ this.rejectItem = null;
+ this.rejectReason = '';
+ this.$refs.rejectPopup.close();
+ },
+ confirmReject() {
+ const reason = (this.rejectReason || '').trim();
+ if (reason === '') {
+ this.tui.toast('请输入拒绝原因');
+ return;
+ }
+ const item = this.rejectItem;
+ this.$refs.rejectPopup.close();
+ this.submitReturnAmountAllow(item, 0, reason);
+ },
+ submitReturnAmountAllow(item,status,rejectReason){
let titleText = status == 1 ? '确定同意该申请吗?' : '确定拒绝该申请吗?';
//退款提示
this.groupOrderIdList = [];
@@ -362,10 +419,10 @@
let requestList = [];
if(this.groupOrderIdList != [] && this.groupOrderIdList.length > 0){
for(let i = 0; i < this.groupOrderIdList.length;i++){
- requestList.push(this.processReturn(this.groupOrderIdList[i], status));
+ requestList.push(this.processReturn(this.groupOrderIdList[i], status, rejectReason));
}
}else{
- requestList.push(this.processReturn(item, status));
+ requestList.push(this.processReturn(item, status, rejectReason));
}
Promise.all(requestList).then((messageList) => {
const successMessage = messageList[0] || '操作成功';
@@ -384,7 +441,7 @@
}
});
},
- processReturn(item,status){
+ processReturn(item,status,rejectReason){
let returnFormData = {}
//退款
if(item.status == 0){
@@ -410,6 +467,9 @@
returnFormData.refundAmount = item.refundAmount;
returnFormData.refundType = item.refundType;
returnFormData.refundTypeStatus = item.refundTypeStatus;
+ if (status == 0) {
+ returnFormData.rejectReason = rejectReason;
+ }
return this.tui.request("/mall/refund/allowOrReject", "POST", returnFormData, false, false).then((res) => {
if (res.code == 200) {
@@ -940,4 +1000,51 @@
font-weight: 700;
text-align: center;
}
+ .reject-popup {
+ width: 620rpx;
+ padding: 34rpx 28rpx 30rpx;
+ box-sizing: border-box;
+ border-radius: 28rpx;
+ background: #fff;
+ }
+ .reject-popup-title {
+ color: #00231C;
+ font-size: 34rpx;
+ font-weight: 900;
+ text-align: center;
+ }
+ .reject-textarea {
+ width: 100%;
+ height: 180rpx;
+ margin-top: 26rpx;
+ padding: 20rpx;
+ box-sizing: border-box;
+ border-radius: 18rpx;
+ background: #F5F8F5;
+ color: #00231C;
+ font-size: 28rpx;
+ line-height: 38rpx;
+ }
+ .reject-popup-actions {
+ display: flex;
+ gap: 18rpx;
+ margin-top: 28rpx;
+ }
+ .reject-popup-btn {
+ flex: 1;
+ height: 72rpx;
+ border-radius: 16rpx;
+ font-size: 28rpx;
+ font-weight: 800;
+ line-height: 72rpx;
+ text-align: center;
+ }
+ .reject-popup-cancel {
+ background: #eef3f1;
+ color: #55716a;
+ }
+ .reject-popup-confirm {
+ background: rgba(0, 35, 28, 1);
+ color: rgba(166, 255, 234, 1);
+ }
\ No newline at end of file
diff --git a/package2/shop/selfDeliveryOrderList.vue b/package2/shop/selfDeliveryOrderList.vue
index 6dbd212..cd6d5df 100644
--- a/package2/shop/selfDeliveryOrderList.vue
+++ b/package2/shop/selfDeliveryOrderList.vue
@@ -15,7 +15,10 @@
- 商家自配送
+
+ 商家自配送
+ 预约配送
+
{{item.mustFinishTime | formatTime}}前送达
#{{item.numberCode}}
@@ -325,6 +328,10 @@
align-items: center;
justify-content: space-between;
}
+ .tag-row{
+ display: flex;
+ align-items: center;
+ }
.tag{
background: rgba(255, 111, 44, 0.1);
color: #ff6f2c;
@@ -332,6 +339,16 @@
border-radius: 18rpx;
font-weight: 700;
}
+ .appointment-delivery-tag{
+ margin-left: 12rpx;
+ padding: 8rpx 16rpx;
+ border-radius: 18rpx;
+ background: linear-gradient(135deg, #ff8f1f 0%, #ff6a3d 100%);
+ color: #fff;
+ font-size: 22rpx;
+ font-weight: 800;
+ box-shadow: 0 8rpx 18rpx rgba(255, 106, 61, 0.16);
+ }
.time{
color: #666;
}
diff --git a/package2/shop/shopOrderList.vue b/package2/shop/shopOrderList.vue
index f115296..8a87a5c 100644
--- a/package2/shop/shopOrderList.vue
+++ b/package2/shop/shopOrderList.vue
@@ -37,6 +37,12 @@
{{item.status == 0?'待支付':item.status == 2?'待配送员接单':(item.status == 3 && item.deliveryType == 1 && item.shopMakeTime == null) || (item.status == 3 && item.deliveryType == 2 && item.userRequireMake == 1)?'待出餐':(item.status == 3 && item.deliveryType == 1 && item.shopMakeTime != null)?'待取货':(item.status == 3 && item.deliveryType == 1 && item.shopMakeTime != null) || (item.status == 3 && item.deliveryType == 2 && item.userRequireMake != 1)?'待消费':item.status == 4?'待送达':item.status == 5?'已完成':item.status == 7?'待同意退款':item.status == 8?'已退款':item.status == 6?'已取消':item.status == 11?'售后中':item.status == 12?'已售后':""}}
+
+ 预约配送
+
+ 要求送达:{{getDeliveryMustFinishTime(item) | formatISOTime}}
+
+
商品
@@ -283,6 +289,18 @@
if (item.mallOrder && item.mallOrder.id) return item.mallOrder.id
return item.orderId || item.mallOrderId || item.id || ''
},
+ getDeliveryInfo(item) {
+ return item && item.deliveryInfo ? item.deliveryInfo : {}
+ },
+ isAppointmentDelivery(item) {
+ const deliveryInfo = this.getDeliveryInfo(item)
+ return item && item.deliveryType == 1 && (item.appointmentDelivery == 1 || deliveryInfo.appointmentDelivery == 1)
+ },
+ getDeliveryMustFinishTime(item) {
+ if (!item || item.deliveryType != 1) return ''
+ const deliveryInfo = this.getDeliveryInfo(item)
+ return deliveryInfo.mustFinishTime || item.mustFinishTime || ''
+ },
getStatusText(item) {
if (!item) return ''
return item.status == 0?'待支付':item.status == 2?'待配送员接单':(item.status == 3 && item.deliveryType == 1 && item.shopMakeTime == null) || (item.status == 3 && item.deliveryType == 2 && item.userRequireMake == 1)?'待出餐':(item.status == 3 && item.deliveryType == 1 && item.shopMakeTime != null)?'待取货':(item.status == 3 && item.deliveryType == 2)?'待消费':item.status == 4?'待送达':item.status == 5?'已完成':item.status == 7?'待同意退款':item.status == 8?'已退款':item.status == 6?'已取消':item.status == 11?'售后中':item.status == 12?'已售后':''
@@ -514,6 +532,37 @@
white-space: nowrap;
}
+ .delivery-info-row {
+ display: flex;
+ align-items: center;
+ flex-wrap: wrap;
+ gap: 12rpx;
+ padding: 16rpx 0 0;
+ }
+
+ .appointment-delivery-tag {
+ height: 44rpx;
+ line-height: 44rpx;
+ padding: 0 16rpx;
+ border-radius: 14rpx;
+ background: linear-gradient(135deg, #ff8f1f 0%, #ff6a3d 100%);
+ color: #fff;
+ font-size: 22rpx;
+ font-weight: 800;
+ box-shadow: 0 8rpx 18rpx rgba(255, 106, 61, 0.16);
+ }
+
+ .delivery-required-time {
+ height: 44rpx;
+ line-height: 44rpx;
+ padding: 0 16rpx;
+ border-radius: 14rpx;
+ background: rgba(166, 255, 234, 0.36);
+ color: #0b6b5a;
+ font-size: 22rpx;
+ font-weight: 800;
+ }
+
.goods-box {
padding: 22rpx 0 16rpx;
}
diff --git a/package2/shop/transferDeliveryOrderList.vue b/package2/shop/transferDeliveryOrderList.vue
index 9e8d0ee..965e36f 100644
--- a/package2/shop/transferDeliveryOrderList.vue
+++ b/package2/shop/transferDeliveryOrderList.vue
@@ -8,6 +8,7 @@
中转配送
+ 预约配送
#{{item.numberCode}}
@@ -18,6 +19,14 @@
下单时间
{{formatTime(item.createTime)}}
+
+ 要求送达
+ {{formatTime(item.mustFinishTime)}}
+
+
+ 中转送达
+ {{getTransferArriveText(item)}}前需要送达中转点
+
取餐码
{{item.transferPickupCode || '配送员接单后生成'}}
@@ -193,6 +202,11 @@
this.productData = goodsList
this.$refs.productPopup.open()
},
+ getTransferArriveText(item) {
+ const address = item && item.shopAddress ? String(item.shopAddress) : ''
+ const match = address.match(/商家预计(.+?)配送到-/)
+ return match && match[1] ? match[1] : ''
+ },
formatTime(value) {
if (!value) return '';
const date = new Date(value)
@@ -227,6 +241,7 @@
.card{background:#fff;border-radius:24rpx;padding:24rpx;margin-bottom:20rpx;box-shadow:0 10rpx 26rpx rgba(0,35,28,.08);}
.card-head{display:flex;align-items:center;margin-bottom:20rpx;}
.tag{background:#fff2e9;color:#f36c21;border-radius:12rpx;padding:8rpx 14rpx;font-weight:700;}
+ .appointment-delivery-tag{margin-left:12rpx;padding:8rpx 14rpx;border-radius:12rpx;background:linear-gradient(135deg,#ff8f1f 0%,#ff6a3d 100%);color:#fff;font-size:22rpx;font-weight:800;box-shadow:0 8rpx 18rpx rgba(255,106,61,.16);}
.code{margin-left:auto;font-weight:800;font-size:32rpx;}
.row{display:flex;line-height:46rpx;}
.label{width:120rpx;color:#7a8582;}