From 807934b0b8fec4ed7538ccb2bf3567182883ea81 Mon Sep 17 00:00:00 2001 From: wangfukang <15630117759@163.com> Date: Thu, 18 Jun 2026 08:27:36 +0800 Subject: [PATCH] 1 --- package2/shop/selfDeliveryOrderList.vue | 6 +- package2/shop/transferDeliveryOrderList.vue | 207 +++++++++++++++++++- 2 files changed, 203 insertions(+), 10 deletions(-) diff --git a/package2/shop/selfDeliveryOrderList.vue b/package2/shop/selfDeliveryOrderList.vue index e223d4b..6dbd212 100644 --- a/package2/shop/selfDeliveryOrderList.vue +++ b/package2/shop/selfDeliveryOrderList.vue @@ -13,7 +13,7 @@ - + 商家自配送 {{item.mustFinishTime | formatTime}}前送达 @@ -39,14 +39,14 @@ - + 商品详情 共{{goodsCount(item)}}件,点击查看规格和数量 备注:{{item.remark}} 配送费 ¥{{item.deliveryFee || 0}} - + {{buttonText(item)}} diff --git a/package2/shop/transferDeliveryOrderList.vue b/package2/shop/transferDeliveryOrderList.vue index 79a3a0d..9e8d0ee 100644 --- a/package2/shop/transferDeliveryOrderList.vue +++ b/package2/shop/transferDeliveryOrderList.vue @@ -5,7 +5,7 @@ 中转配送 - + 中转配送 #{{item.numberCode}} @@ -14,6 +14,14 @@ 中转点 {{item.transferAddressName || item.shopName}} + + 下单时间 + {{formatTime(item.createTime)}} + + + 取餐码 + {{item.transferPickupCode || '配送员接单后生成'}} + 配送员 @@ -32,13 +40,47 @@ - - 拍照 - 送达中转点 + + 已送达中转点:{{formatTime(item.transferArriveTime)}} + + + 拍照 + 送达中转点 暂无中转配送单 + + + + 订单详情 + 请核对商品规格和数量 + + + + + + + + + {{item1.productName}} + + + 规格 + {{item1.specs | delNode}} + + + + x{{item1.quantity}} + 数量 + + + + + 暂无商品详情 + + + @@ -47,15 +89,14 @@ data() { return { list: [], + productData: [], loadStatus: 'more', totalPages: 1, searchForm: { pageNum: 1, pageSize: 10, - status: 1, deliveryType: 1, transferDelivery: 1, - transferArriveEmpty: true, shopId: '', regionId: '' } @@ -64,6 +105,19 @@ onShow() { this.resetList() }, + filters: { + delNode(data) { + let str + if (typeof data === 'object' && data !== null) { + str = JSON.stringify(data) + } else if (typeof data === 'string') { + str = data + } else { + str = String(data || '') + } + return str.replace(/[{}"]/g, '') + } + }, methods: { back() { uni.navigateBack() @@ -127,13 +181,30 @@ transferArriveImage: item.transferArriveImage || '' }, false, true).then((res) => { if (res.code == 200) { - this.list.splice(index, 1) + this.$set(this.list[index], 'transferArriveTime', new Date()) this.tui.toast('操作成功') } else { this.tui.toast(res.message) } }) }, + productDetail(item) { + const goodsList = item.goodsList || item.mallOrderGoodsList || item.orderGoodsList || [] + this.productData = goodsList + this.$refs.productPopup.open() + }, + formatTime(value) { + 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}` + }, makeCall(phone) { if (!phone) { this.tui.toast('暂无手机号') @@ -162,11 +233,133 @@ .value{flex:1;font-weight:700;} .phone-value{display:flex;align-items:center;gap:16rpx;color:#123d35;} .phone{color:#0b9b73;text-decoration:underline;} + .pickup-code{color:#f36c21;font-size:34rpx;letter-spacing:4rpx;} .address{margin-top:10rpx;color:#6c7773;line-height:40rpx;} .image-row image{width:160rpx;height:160rpx;border-radius:16rpx;margin-top:16rpx;} + .arrive-info{margin-top:22rpx;padding:18rpx 20rpx;border-radius:18rpx;background:#f2f6f4;color:#0b9b73;font-weight:700;text-align:center;} .actions{display:flex;margin-top:22rpx;gap:18rpx;} .photo-btn,.main-btn{flex:1;height:76rpx;line-height:76rpx;text-align:center;border-radius:38rpx;font-weight:700;} .photo-btn{background:#f2f6f4;color:#0b9b73;} .main-btn{background:linear-gradient(90deg,#e3ff96,#a6ffea);color:#00231c;} .empty{text-align:center;color:#8a9692;padding:80rpx 0;} + .product-popup-content { + width: 680rpx; + max-height: 880rpx; + padding: 34rpx 28rpx 30rpx; + box-sizing: border-box; + overflow: scroll; + border-radius: 36rpx; + background: + radial-gradient(circle at 92% 4%, rgba(166, 255, 234, 0.38) 0, rgba(166, 255, 234, 0) 180rpx), + linear-gradient(180deg, #ffffff 0%, #f8fffc 100%); + box-shadow: 0 24rpx 56rpx rgba(0, 35, 28, 0.18); + } + .product-popup-header { + margin-bottom: 26rpx; + text-align: center; + } + .product-popup-title { + color: #143d35; + font-size: 36rpx; + font-weight: 900; + line-height: 48rpx; + } + .product-popup-subtitle { + margin-top: 8rpx; + color: #7b8a85; + font-size: 24rpx; + line-height: 34rpx; + } + .product-popup-list { + display: flex; + flex-direction: column; + gap: 20rpx; + } + .product-popup-card { + display: flex; + align-items: center; + padding: 22rpx; + border: 1px solid rgba(166, 255, 234, 0.58); + border-radius: 28rpx; + background: rgba(255, 255, 255, 0.88); + box-shadow: 0 12rpx 28rpx rgba(0, 35, 28, 0.06); + } + .product-popup-img { + width: 128rpx; + height: 128rpx; + flex-shrink: 0; + overflow: hidden; + border-radius: 22rpx; + background: #f0f5f3; + } + .product-popup-img image { + width: 100%; + height: 100%; + } + .product-popup-info { + flex: 1; + min-width: 0; + padding: 0 22rpx; + } + .product-popup-name { + color: #172f2a; + font-size: 30rpx; + font-weight: 900; + line-height: 42rpx; + } + .product-popup-spec { + display: flex; + align-items: flex-start; + margin-top: 16rpx; + } + .product-popup-label { + flex-shrink: 0; + height: 34rpx; + padding: 0 14rpx; + border-radius: 999rpx; + background: rgba(166, 255, 234, 0.72); + color: #126255; + font-size: 20rpx; + font-weight: 800; + line-height: 34rpx; + } + .product-popup-spec-text { + flex: 1; + margin-left: 12rpx; + color: #65736f; + font-size: 24rpx; + line-height: 34rpx; + word-break: break-all; + } + .product-popup-quantity { + width: 92rpx; + height: 92rpx; + flex-shrink: 0; + border-radius: 28rpx; + background: linear-gradient(135deg, #fff4ce 0%, #a6ffea 100%); + color: #103f36; + text-align: center; + box-shadow: 0 10rpx 20rpx rgba(0, 35, 28, 0.08); + } + .product-popup-quantity-num { + padding-top: 16rpx; + font-size: 30rpx; + font-weight: 900; + line-height: 34rpx; + } + .product-popup-quantity-label { + margin-top: 2rpx; + color: #52736b; + font-size: 20rpx; + line-height: 28rpx; + } + .product-popup-empty { + padding: 80rpx 20rpx; + border-radius: 28rpx; + background: rgba(247, 255, 251, 0.9); + color: #7b8a85; + font-size: 28rpx; + font-weight: 700; + text-align: center; + }