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;