diff --git a/backend/application/admin/lang/zh-cn/order/ships.php b/backend/application/admin/lang/zh-cn/order/ships.php index 3fa8e98..4ac2c4f 100644 --- a/backend/application/admin/lang/zh-cn/order/ships.php +++ b/backend/application/admin/lang/zh-cn/order/ships.php @@ -3,7 +3,7 @@ return [ 'Id' => '主键ID', 'Order_no' => '订单号', - 'Order_goods_id' => '订单商品ID', + 'Order_goods_spu_id' => '商品ID', 'Code' => '激活码', 'Images' => '多图', 'Files' => '多文件', diff --git a/backend/application/admin/view/order/ships/add.html b/backend/application/admin/view/order/ships/add.html index fbedd50..c4303e1 100644 --- a/backend/application/admin/view/order/ships/add.html +++ b/backend/application/admin/view/order/ships/add.html @@ -7,9 +7,9 @@
- +
- +
diff --git a/backend/application/admin/view/order/ships/edit.html b/backend/application/admin/view/order/ships/edit.html index e3c84ab..7f8fb5d 100644 --- a/backend/application/admin/view/order/ships/edit.html +++ b/backend/application/admin/view/order/ships/edit.html @@ -7,9 +7,9 @@
- +
- +
diff --git a/backend/public/assets/js/backend/order/ships.js b/backend/public/assets/js/backend/order/ships.js index 5019f9b..a158370 100644 --- a/backend/public/assets/js/backend/order/ships.js +++ b/backend/public/assets/js/backend/order/ships.js @@ -27,7 +27,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin {checkbox: true}, {field: 'id', title: __('Id')}, {field: 'order_no', title: __('Order_no'), operate: 'LIKE'}, - {field: 'order_goods_id', title: __('Order_goods_id')}, + {field: 'order_goods_spu_id', title: __('Order_goods_spu_id')}, {field: 'code', title: __('Code'), operate: 'LIKE'}, {field: 'images', title: __('Images'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images}, {field: 'files', title: __('Files'), operate: false, formatter: Table.api.formatter.files}, @@ -50,7 +50,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin }, api: { bindevent: function () { - $("#c-order_goods_id").data("params", function (obj) { + $("#c-order_goods_spu_id").data("params", function (obj) { //obj为SelectPage对象 return {custom: {order_no: $("#c-order_no").val()}}; }); diff --git a/frontend/miniapp/pages/order/order-detail/index.js b/frontend/miniapp/pages/order/order-detail/index.js index 3426384..cd2dffb 100644 --- a/frontend/miniapp/pages/order/order-detail/index.js +++ b/frontend/miniapp/pages/order/order-detail/index.js @@ -18,6 +18,8 @@ Page({ backRefresh: false, // 用于接收其他页面back时的状态 formatCreateTime: '', //格式化订单创建时间 logisticsNodes: [], + shipFiles: [], // 发货附件 [{url, name}],为空时隐藏 + shipImages: [], // 发货凭证图片 URL 列表,为空时隐藏 /** 订单评论状态 */ orderHasCommented: true, }, @@ -115,6 +117,8 @@ Page({ this.setData({ order, _order, + shipFiles: this.getShipFiles(order), + shipImages: (order.orderShip?.imagesList || []).map((item) => item.url).filter(Boolean), formatCreateTime: order.formatCreateTime, // 格式化订单创建时间 countDownTime: this.computeCountDownTime(order), addressEditable: false, @@ -128,6 +132,29 @@ Page({ }); }, + // 发货附件:优先取发货单上传的附件,旧订单没有时回退到商品的下载文件 + getShipFiles(order) { + const files = (order.orderShip?.filesList || []).filter((item) => item.url); + if (files.length) { + return files; + } + const goodsInfo = order.orderGoods?.[0]?.goodsInfo; + if (goodsInfo?.downloadFile) { + return [{ url: goodsInfo.downloadFile, name: goodsInfo.downloadFileBasename || goodsInfo.downloadFile }]; + } + return []; + }, + + // 凭证图片预览 + onShipImagePreview(e) { + const { index } = e.currentTarget.dataset; + const { shipImages } = this.data; + wx.previewImage({ + current: shipImages[index], + urls: shipImages, + }); + }, + // 展开物流节点 flattenNodes(nodes) { return (nodes || []).reduce((res, node) => { @@ -224,14 +251,17 @@ Page({ copyText(e) { const { text } = e.currentTarget.dataset; + if (!text) { + return; + } wx.setClipboardData({ - data: text, - success(res) { + data: String(text), + success() { wx.showToast({ title: '复制成功', icon: 'success', duration: 2000 - }) + }); } }); }, diff --git a/frontend/miniapp/pages/order/order-detail/index.wxml b/frontend/miniapp/pages/order/order-detail/index.wxml index 84bdd1f..84a54bc 100644 --- a/frontend/miniapp/pages/order/order-detail/index.wxml +++ b/frontend/miniapp/pages/order/order-detail/index.wxml @@ -58,14 +58,27 @@ --> - - 下载地址 - - {{order.orderGoods[0].goodsInfo.downloadFileBasename}} - 复制 + + + 附件下载 + 点击复制地址,在浏览器中打开下载 - - + + + {{item.name}} + 复制 + + + + + + 凭证图片 + + + + + + 激活码 diff --git a/frontend/miniapp/pages/order/order-detail/index.wxss b/frontend/miniapp/pages/order/order-detail/index.wxss index ee085b5..f6e046e 100644 --- a/frontend/miniapp/pages/order/order-detail/index.wxss +++ b/frontend/miniapp/pages/order/order-detail/index.wxss @@ -199,6 +199,49 @@ color: var(--text-primary); } +.order-detail .pay-detail .pay-item .pay-item__tips { + font-size: 22rpx; + color: var(--text-placeholder); +} + +.order-detail .ship-file { + display: flex; + align-items: center; + padding: 16rpx 20rpx; + margin-bottom: 16rpx; + border-radius: 12rpx; + background-color: var(--bg-page); +} + +.order-detail .ship-file__name { + flex: 1; + margin: 0 16rpx; + font-size: 24rpx; + line-height: 36rpx; + color: var(--text-primary); + word-break: break-all; +} + +.order-detail .ship-file__copy { + flex-shrink: 0; + font-size: 24rpx; + color: var(--brand); +} + +.order-detail .ship-images { + display: flex; + flex-wrap: wrap; + gap: 16rpx; + padding-bottom: 8rpx; +} + +.order-detail .ship-images__item { + width: 160rpx; + height: 160rpx; + border-radius: 12rpx; + background-color: var(--bg-page); +} + .order-detail .pay-detail .pay-service { width: 100%; height: 72rpx;