wangfukang 23 hours ago
parent
commit
ddc5181bb8
  1. 23
      package1/buyFood/buyFood.vue
  2. 49
      package1/order/orderDetail.vue

23
package1/buyFood/buyFood.vue

@ -710,14 +710,22 @@
} }
}, },
deliveryDurationMinutes() { deliveryDurationMinutes() {
if (this.selected === 'shopDelivery') { const transferDuration = Number(this.shopItem.transferDeliveryDuration);
const selfDeliveryDuration = Number(this.shopItem.shopDeliveryDuration); const transferTime = this.shopItem.supportTransferDelivery == 1 && !isNaN(transferDuration) && transferDuration > 0 ? transferDuration : 0;
const cookingTime = Number(this.shopItem.shopTakeaway && this.shopItem.shopTakeaway.cookingTime ? this.shopItem.shopTakeaway.cookingTime : 0); const cookingTime = Number(this.shopItem.shopTakeaway && this.shopItem.shopTakeaway.cookingTime ? this.shopItem.shopTakeaway.cookingTime : 0);
const validCookingTime = isNaN(cookingTime) || cookingTime < 0 ? 0 : cookingTime; const validCookingTime = isNaN(cookingTime) || cookingTime < 0 ? 0 : cookingTime;
return isNaN(selfDeliveryDuration) || selfDeliveryDuration <= 0 ? validCookingTime + 30 : validCookingTime + selfDeliveryDuration; if (this.selected === 'shopDelivery') {
const selfDeliveryDuration = Number(this.shopItem.shopDeliveryDuration);
const baseTime = isNaN(selfDeliveryDuration) || selfDeliveryDuration <= 0 ? validCookingTime + 30 : validCookingTime + selfDeliveryDuration;
return baseTime + transferTime;
}
const baseValue = Number(this.shopItem.groupDeliveryBaseTime);
if (!isNaN(baseValue) && baseValue > 0) {
return baseValue + transferTime;
} }
const value = Number(this.shopItem.groupDeliveryTime); const value = Number(this.shopItem.groupDeliveryTime);
return isNaN(value) || value < 25 ? 30 : value; const baseTime = isNaN(value) ? validCookingTime + 30 : (this.shopItem.groupDeliveryTimeIncludesTransfer == 1 ? Math.max(0, value - transferTime) : value);
return baseTime + transferTime;
}, },
supportShopDelivery() { supportShopDelivery() {
return this.shopItem && this.shopItem.supportShopDelivery == 1 && this.shopItem.workerId; return this.shopItem && this.shopItem.supportShopDelivery == 1 && this.shopItem.workerId;
@ -1207,6 +1215,13 @@
payload.addressId = this.formData.address ? this.formData.address.id : null; payload.addressId = this.formData.address ? this.formData.address.id : null;
payload.getAreaId = this.shopItem.shopArea || null; payload.getAreaId = this.shopItem.shopArea || null;
payload.putAreaId = this.formData.address ? this.formData.address.areaId : null; payload.putAreaId = this.formData.address ? this.formData.address.areaId : null;
if (this.shopItem.supportTransferDelivery == 1) {
payload.transferDelivery = 1;
payload.transferAddressId = this.shopItem.transferAddressId;
payload.transferAddressName = this.shopItem.transferAddressName;
} else {
payload.transferDelivery = 0;
}
} }
payload.userCouponId = this.selectedCoupon ? this.selectedCoupon.id : null; payload.userCouponId = this.selectedCoupon ? this.selectedCoupon.id : null;

49
package1/order/orderDetail.vue

@ -133,9 +133,11 @@
<view class="status-zhu"> <view class="status-zhu">
<text v-if="orderDetail.status == 0">待支付</text> <text v-if="orderDetail.status == 0">待支付</text>
<text v-if="orderDetail.status == 2">{{orderDetail.shopDelivery == 1 ? '等待商家配送接单' : '等待配送员接单'}}</text> <text v-if="orderDetail.status == 2">{{orderDetail.shopDelivery == 1 ? '等待商家配送接单' : '等待配送员接单'}}</text>
<text v-if="orderDetail.status == 3 && orderDetail.deliveryType == 1">{{orderDetail.shopDelivery == 1 ? '商家配送已接单' : '配送员已接单'}}</text> <text v-if="orderDetail.status == 3 && orderDetail.deliveryType == 1 && !(orderDetail.deliveryInfo && orderDetail.deliveryInfo.transferDelivery == 1)">{{orderDetail.shopDelivery == 1 ? '商家配送已接单' : '配送员已接单'}}</text>
<text v-if="orderDetail.status == 3 && orderDetail.deliveryType == 1 && orderDetail.deliveryInfo && orderDetail.deliveryInfo.transferDelivery == 1 && !orderDetail.deliveryInfo.transferArriveTime">等待商家送达中转点</text>
<text v-if="orderDetail.status == 3 && orderDetail.deliveryType == 1 && orderDetail.deliveryInfo && orderDetail.deliveryInfo.transferDelivery == 1 && orderDetail.deliveryInfo.transferArriveTime">待配送员取货</text>
<text v-if="orderDetail.status == 3 && orderDetail.deliveryType == 2">待消费</text> <text v-if="orderDetail.status == 3 && orderDetail.deliveryType == 2">待消费</text>
<text v-if="orderDetail.status == 4 && orderDetail.deliveryType == 1">配送员已取货</text> <text v-if="orderDetail.status == 4 && orderDetail.deliveryType == 1">{{orderDetail.deliveryInfo && orderDetail.deliveryInfo.transferDelivery == 1 ? '中转配送中' : '配送员已取货'}}</text>
<text v-if="orderDetail.status == 5">订单已完成</text> <text v-if="orderDetail.status == 5">订单已完成</text>
<text v-if="orderDetail.status == 7">等待同意退款</text> <text v-if="orderDetail.status == 7">等待同意退款</text>
<text v-if="orderDetail.status == 6">订单已取消</text> <text v-if="orderDetail.status == 6">订单已取消</text>
@ -468,6 +470,29 @@
商家自配送 商家自配送
</view> </view>
</view> </view>
<view style="height: 80rpx;line-height: 80rpx;display: flex;"
v-if="orderDetail.deliveryInfo && orderDetail.deliveryInfo.transferDelivery == 1">
<view style="flex: 1;color: #777;font-weight: 700;">
中转配送
</view>
<view style="color: #ff6f2c;font-weight: 700;">
{{orderDetail.deliveryInfo.transferAddressName || orderDetail.transferAddressName}}
</view>
</view>
<view style="height: 80rpx;line-height: 80rpx;display: flex;"
v-if="orderDetail.deliveryInfo && orderDetail.deliveryInfo.transferDelivery == 1">
<view style="flex: 1;color: #777;font-weight: 700;">
送达中转点
</view>
<view style="color: #000;font-weight: 700;">
{{orderDetail.deliveryInfo.transferArriveTime ? formatTimeText(orderDetail.deliveryInfo.transferArriveTime) : '未送达'}}
</view>
</view>
<view style="display: flex;padding: 10rpx 0;"
v-if="orderDetail.deliveryInfo && orderDetail.deliveryInfo.transferArriveImage">
<view style="flex: 1;color: #777;font-weight: 700;">中转图片</view>
<image :src="orderDetail.deliveryInfo.transferArriveImage" mode="aspectFill" style="width: 160rpx;height: 160rpx;border-radius: 12rpx;" @tap="previewImage(orderDetail.deliveryInfo.transferArriveImage)"></image>
</view>
<view style="height: 80rpx;line-height: 80rpx;display: flex;" <view style="height: 80rpx;line-height: 80rpx;display: flex;"
v-if="orderDetail.deliveryInfo && orderDetail.deliveryType == 1 && orderDetail.deliveryInfo.workerId"> v-if="orderDetail.deliveryInfo && orderDetail.deliveryType == 1 && orderDetail.deliveryInfo.workerId">
<view style="flex: 1;color: #777;font-weight: 700;"> <view style="flex: 1;color: #777;font-weight: 700;">
@ -907,6 +932,26 @@
}, },
methods: { methods: {
formatTimeText(value) {
if (!value) return '';
if (value == '尽快送达') return '尽快送达';
const date = new Date(value);
if (isNaN(date.getTime())) return '';
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0');
const hour = String(date.getHours()).padStart(2, '0');
const minute = String(date.getMinutes()).padStart(2, '0');
const second = String(date.getSeconds()).padStart(2, '0');
return `${year}-${month}-${day} ${hour}:${minute}:${second}`;
},
previewImage(url) {
if (!url) return;
uni.previewImage({
current: url,
urls: [url]
});
},
isRefundPending(item) { isRefundPending(item) {
return item && (item.status == 0 || item.status == 3); return item && (item.status == 0 || item.status == 3);
}, },

Loading…
Cancel
Save