diff --git a/package1/buyFood/buyFood.vue b/package1/buyFood/buyFood.vue
index 805e72d..2edf306 100644
--- a/package1/buyFood/buyFood.vue
+++ b/package1/buyFood/buyFood.vue
@@ -145,7 +145,7 @@
指定配送员
-
+
{{ assignedWorker ? assignedWorker.workerName + ' ' + assignedWorker.mobile : '配送员' }}
@@ -601,7 +601,8 @@
addressBookVisible: false,
freeOrderEffectVisible: false,
freeOrderAmount: '0.00',
- navigatingFromPayPopup: false
+ navigatingFromPayPopup: false,
+ isNavigatingToWorkerList: false
}
},
components: {
@@ -772,6 +773,7 @@
},
watch: {},
onShow() {
+ this.isNavigatingToWorkerList = false;
this.menuButtonInfo = uni.getMenuButtonBoundingClientRect()
this.initAddress()
this.updateImmediateTimeStr();
@@ -1027,6 +1029,7 @@
this.submitOrderToBackend();
},
goDetail() {
+ if (this.isNavigatingToWorkerList) return;
let shopArea = this.shopItem.shopArea || '';
let putArea = this.formData.address ? this.formData.address.areaId : '';
if(shopArea == '' || putArea == ''){
@@ -1036,8 +1039,12 @@
})
return;
}
+ this.isNavigatingToWorkerList = true;
uni.navigateTo({
- url: `/package1/index/deliveryPersonList?orderType=0&shopAreaId=${shopArea}&putAreaId=${putArea}`
+ url: `/package1/index/deliveryPersonList?orderType=0&shopAreaId=${shopArea}&putAreaId=${putArea}`,
+ fail: () => {
+ this.isNavigatingToWorkerList = false;
+ }
})
},
openCouponPopup() {
diff --git a/package1/order/orderDetail.vue b/package1/order/orderDetail.vue
index 8d0e4c6..5107bf8 100644
--- a/package1/order/orderDetail.vue
+++ b/package1/order/orderDetail.vue
@@ -826,11 +826,7 @@
¥{{payAmountText}}
-
- 确认付款
-
+
@@ -847,6 +843,11 @@
alt="" style="width: 36rpx;height: 36rpx;" />
+
+ 确认付款
+
@@ -1423,24 +1424,67 @@
}
return false;
},
- returnPopupProp(item) {
+ shouldCheckCancelOrderLatest(item) {
+ return item && item.deliveryType == 1 && item.status == 2;
+ },
+ getOrderDetailForCancelCheck(id) {
+ return this.tui.request("/mall/order/detail/" + id, "GET", {}, false, true, true).then((res) => {
+ if (res.code == 200) {
+ return res.result;
+ }
+ this.tui.toast(res.message || "订单状态校验失败");
+ return null;
+ }).catch(() => {
+ this.tui.toast("订单状态校验失败");
+ return null;
+ });
+ },
+ async returnPopupProp(item) {
+ let latestItem = item;
this.payData = item;
if (item.status == 0) {
this.cancelUnpaidOrder(item);
return;
}
- if (this.isNoResponsibilityCancel(item)) {
+ if (this.shouldCheckCancelOrderLatest(item)) {
+ let latestDetail = await this.getOrderDetailForCancelCheck(item.id);
+ if (!latestDetail) {
+ return;
+ }
+ let isNoResponsibility = this.isNoResponsibilityCancel(latestDetail);
+ if (!isNoResponsibility && latestDetail.status != item.status) {
+ this.getOrderDetail(latestDetail.id);
+ uni.showModal({
+ title: '提示',
+ content: '订单状态已发生变化,请确认是否取消订单',
+ confirmText: '继续退款',
+ success: (res) => {
+ if (res.confirm) {
+ this.openResponsibilityCancelPopup(latestDetail);
+ }
+ }
+ });
+ return;
+ }
+ latestItem = latestDetail;
+ this.payData = latestDetail;
+ }
+ if (this.isNoResponsibilityCancel(latestItem)) {
this.$refs.noResponsibilityCancelPopup.open('center');
return;
}
+ this.openResponsibilityCancelPopup(latestItem);
+ },
+ openResponsibilityCancelPopup(item) {
+ this.payData = item;
if (this.payData.otherOrder == 1) {
this.refundType = 3
this.refundTypeStatus = 2
this.sellTime = 3
}
- if(this.orderDetail.deliveryInfo && this.orderDetail.deliveryInfo.arriveTime){
- this.arriveTime = this.orderDetail.deliveryInfo.arriveTime ? this.formatTimeText(this.orderDetail.deliveryInfo.arriveTime) : '未到店'
+ if(this.payData.deliveryInfo && this.payData.deliveryInfo.arriveTime){
+ this.arriveTime = this.payData.deliveryInfo.arriveTime ? this.formatTimeText(this.payData.deliveryInfo.arriveTime) : '未到店'
}
if (this.payData.shopMakeTime != null && this.payData.deliveryInfo && this.payData.deliveryInfo.acceptTime) {
const date1 = new Date(this.payData.deliveryInfo.acceptTime);
diff --git a/package1/order/orderList.vue b/package1/order/orderList.vue
index 029ceb9..a55d9af 100644
--- a/package1/order/orderList.vue
+++ b/package1/order/orderList.vue
@@ -128,21 +128,21 @@
{{item.otherOrder == 1 ? '快递/跑腿' : item.otherOrder == 3 ? '鱼塘订单' : item.shopName}}
-
+
-
-
-
- {{item.shopAddress}}
+
+
+
+ {{item.shopAddress}}
-
-
- {{item.receiverAddress}}
+
+
+ {{item.receiverAddress}}
下单时间:{{item.createTime | formatTime}}
@@ -950,6 +950,7 @@
.goods-img {
width: 160rpx;
height: 160rpx;
+ flex-shrink: 0;
position: relative;
background: #fff;
border-radius: 24rpx;
@@ -962,9 +963,36 @@
height: 100%;
border-radius: 24rpx;
display: block;
+ object-fit: cover;
}
}
+ .errand-goods-card {
+ align-items: flex-start;
+ box-sizing: border-box;
+ }
+
+ .errand-goods-content {
+ flex: 1;
+ min-width: 0;
+ text-align: left;
+ }
+
+ .errand-address-row {
+ align-items: flex-start;
+ }
+
+ .errand-address-icon {
+ flex: 0 0 50rpx;
+ }
+
+ .errand-address-text {
+ flex: 1;
+ min-width: 0;
+ word-break: break-all;
+ white-space: normal;
+ }
+
.goods-card {
display: flex;
align-items: center;