From fcb33a7163b7da00e53122c4a1b3afed161dc8c8 Mon Sep 17 00:00:00 2001
From: "1054425342@qq.com" <1054425342@qq.com>
Date: Wed, 13 Aug 2025 17:58:47 +0800
Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
common/index.js | 1 -
components/DynamicIsland.vue | 2 +-
static/js/CommonFunction.js | 4 +-
subPackages/memorialAlbum/index.vue | 65 ++--
subPackages/orderQy/detail.vue | 562 ++++++++++++++++------------
subPackages/orderQy/list.vue | 229 +++++-------
6 files changed, 450 insertions(+), 413 deletions(-)
diff --git a/common/index.js b/common/index.js
index 3c6081f..dbbc129 100644
--- a/common/index.js
+++ b/common/index.js
@@ -24,7 +24,6 @@ async function getLocationInfo() {
qqmapsdk.reverseGeocoder({
location,
success(response) {
- console.log(response)
let info = response.result;
let _c = info.ad_info.adcode.slice(0,3)
location.cityId = info.ad_info.city_code.slice(3);
diff --git a/components/DynamicIsland.vue b/components/DynamicIsland.vue
index 35ae38a..95ffc62 100644
--- a/components/DynamicIsland.vue
+++ b/components/DynamicIsland.vue
@@ -329,7 +329,7 @@ export default {
uni.navigateTo({
url:
"/subPackages/webPage/webPage?url=" +
- "https://www.dayunyuanjian.cn/dist/#/chat-demo",
+ "https://des.js-dyyj.com/dist/#/",
});
},
},
diff --git a/static/js/CommonFunction.js b/static/js/CommonFunction.js
index e5dd4b1..3dce24e 100644
--- a/static/js/CommonFunction.js
+++ b/static/js/CommonFunction.js
@@ -391,4 +391,6 @@ Vue.prototype.appendToStorage = (key, newData) => {
const existing = uni.getStorageSync(key) || {};
const updated = { ...existing, ...newData };
uni.setStorageSync(key, updated);
-}
\ No newline at end of file
+}
+
+Vue.prototype.JDSU_IMG_URL = "https://static.ticket.sz-trip.com"
\ No newline at end of file
diff --git a/subPackages/memorialAlbum/index.vue b/subPackages/memorialAlbum/index.vue
index af4cb92..f71cdef 100644
--- a/subPackages/memorialAlbum/index.vue
+++ b/subPackages/memorialAlbum/index.vue
@@ -10,14 +10,14 @@
>
- {{ item.title }}
+ {{ item.goodsTitle }}
{{ item.code }}
- {{ item.status }}
+ {{ item.ownPart }}
@@ -31,43 +31,31 @@ export default {
data() {
return {
memorialItems: [
- {
- id: 1,
- title: "香在苏州|世界美食之都",
- code: "#001-0050/1000",
- status: "XXX博物馆",
- image: "/uploads/20250729/42fe2364167c2342076c4e094df3d288.png",
- },
- {
- id: 2,
- title: "香在苏州|世界美食之都",
- code: "#001-0050/1000",
- status: "XXX博物馆",
- image: "/uploads/20250729/105755e9b2e570e46b96d54ed61abe51.png",
- },
- {
- id: 3,
- title: "香在苏州|世界美食之都",
- code: "#001-0050/1000",
- status: "XXX博物馆",
- image: "/uploads/20250729/105755e9b2e570e46b96d54ed61abe51.png",
- },
- {
- id: 4,
- title: "香在苏州|世界美食之都",
- code: "#001-0050/1000",
- status: "XXX博物馆",
- image: "/uploads/20250729/42fe2364167c2342076c4e094df3d288.png",
- },
+
],
};
},
+ onLoad() {
+ this.getList()
+ },
methods: {
- // 返回上一页
- goBack() {
- uni.navigateBack();
- },
-
+getList(){
+ this.Post(
+ {
+ },
+ "/framework/order/ipOrderList",
+ "DES"
+ ).then((res) => {
+ if (res.code == 200) {
+ this.memorialItems = res.data
+ } else {
+ uni.showToast({
+ title: res.msg,
+ icon: "none",
+ });
+ }
+ });
+},
// 跳转到详情页面
goToDetail(item) {
uni.navigateTo({
@@ -195,6 +183,11 @@ export default {
.memorial-status {
font-size: 24rpx;
color: #999;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-line-clamp: 1;
+ -webkit-box-orient: vertical;
+ overflow: hidden;
}
// 响应式处理
diff --git a/subPackages/orderQy/detail.vue b/subPackages/orderQy/detail.vue
index 2454f60..f6d980f 100644
--- a/subPackages/orderQy/detail.vue
+++ b/subPackages/orderQy/detail.vue
@@ -7,73 +7,48 @@
订单详情
-
-
-
- 收货地址:
-
-
- {{
- orderDetail.address.fullAddress
- }}
-
- {{ orderDetail.address.name }}
- {{ orderDetail.address.phone }}
-
-
-
-
- 该订单无需收货地址
-
-
-
-
-
-
- 预约发货时间
- {{ orderDetail.deliveryDate || "--" }}
-
-
- 快递单号
- {{ orderDetail.trackingNo || "--" }}
-
-
-
- {{ orderDetail.packageName }}
+ {{ orderDetail.orderName || "--" }}
- {{ goods.name }}
- {{
- goods.description || goods.spec
- }}
- 数量:{{ goods.quantity || 1 }}
+ {{ goods.goodsTitle || "-" }}
+ {{ getGoodsTypeName(goods.type) }}
+ 数量:{{ goods.num || 1 }}
+
+
@@ -82,12 +57,14 @@
订单金额
- ¥{{ orderDetail.goodsAmount }}
+ ¥{{ orderDetail.payMoney || "0.00" }}
运费
¥{{ orderDetail.shippingFee || "5.00" }}¥{{ orderDetail.postMoney || "0.00" }}
@@ -98,57 +75,51 @@
订单信息
订单编号:
- {{ orderDetail.orderNo }}
+ {{ orderDetail.orderId }}
-
+
+ 权益码:
+ {{ orderDetail.activeCode }}
+
+
物流运费
- {{ orderDetail.shippingFee || "5.00" }}
+ {{ orderDetail.postMoney || "0.00" }}
-
+
合计实付
- {{
- orderDetail.totalAmount
- }}
+ {{ orderDetail.payMoney }}
-
+
+
支付时间
- {{
- formatTime(orderDetail.payTime) || formatTime(orderDetail.createTime)
- }}
+ {{ orderDetail.payTime }}
-
- 预约发货时间
- {{
- orderDetail.deliveryDate || formatTime(orderDetail.createTime)
- }}
-
-
+
备注
{{ orderDetail.remark || "XXXX" }}
@@ -199,6 +170,82 @@
+
+
+
@@ -208,34 +255,15 @@ export default {
return {
orderId: "",
showEquityPopup: false,
- orderDetail: {
- id: "",
- orderNo: "",
- status: 0,
- packageName: "",
- goodsList: [],
- totalAmount: "0.00",
- goodsAmount: "0.00",
- discountAmount: "0.00",
- shippingFee: "5.00",
- points: "",
- remark: "",
- deliveryDate: "",
- trackingNo: "",
- shippingTime: "",
- createTime: "",
- payTime: "",
- payMethod: "",
- equityCode: "",
- qrcode: "",
- address: null,
- },
+ showLogisticsPopup: false, // 物流信息弹窗
+ currentLogisticsInfo: null, // 当前物流信息
+ orderDetail: {},
};
},
computed: {
// 是否有实体商品需要收货
hasPhysicalGoods() {
- return this.orderDetail.goodsList.some((goods) => goods.type === 2);
+ return this.orderDetail.orderChildVos.some((goods) => goods.type === 2);
},
// 是否显示底部操作按钮
showBottomActions() {
@@ -255,9 +283,16 @@ export default {
// 加载订单详情
async loadOrderDetail() {
try {
- uni.showLoading({ title: "加载中..." });
- const res = await this.getOrderDetail(this.orderId);
- this.orderDetail = res.data;
+ this.Post({}, `/framework/order/${this.orderId}`, "DES").then((res) => {
+ if (res.code == 200) {
+ this.orderDetail = res.data;
+ } else {
+ uni.showToast({
+ title: res.msg,
+ icon: "none",
+ });
+ }
+ });
} catch (error) {
console.error("加载订单详情失败:", error);
uni.showToast({
@@ -270,65 +305,6 @@ export default {
},
// 加载假数据
- loadMockData() {
- this.orderDetail = {
- id: "mock001",
- orderNo: "238232342424234423",
- status: 2, // 待收货状态
- packageName: "食在扬州|世界美食之都巡礼",
- packageId: "pkg001",
- totalAmount: "699.00",
- goodsAmount: "699.00",
- discountAmount: "0.00",
- shippingFee: "0.00",
- points: "已获得1分",
- remark: "XXXX",
- deliveryDate: "2025-08-10",
- trackingNo: "SF120025020202",
- shippingTime: "2025-07-15 01:46:25",
- createTime: "2025-07-15 00:46:25",
- payTime: "2025-07-15 00:46:25",
- payMethod: "线上支付",
- equityCode: "EPIC2024010112345",
- qrcode: "/static/image/qrcode-sample.png",
- goodsList: [
- {
- id: 1,
- name: "IP数字资产",
- type: 1,
- description: "在数字资产相册中查看",
- price: "99.00",
- quantity: 1,
- },
- {
- id: 2,
- name: "IP文创公仔",
- type: 2,
- description: "这里是XXX相仿介绍介绍",
- price: "150.00",
- quantity: 1,
- },
- {
- id: 3,
- name: "XXX园叮门票",
- type: 3,
- description: "这里是XXX园叮门票的介绍介绍介绍",
- price: "50.00",
- quantity: 1,
- },
- ],
- address: {
- name: "XX先生",
- phone: "183****1234",
- fullAddress: "江苏省苏州市姑苏区XXXXXX",
- province_text: "江苏省",
- city_text: "苏州市",
- district_text: "姑苏区",
- detail_addr: "XXXXXX",
- is_default: 1,
- },
- };
- },
// 获取状态图标
getStatusIcon(status) {
@@ -342,16 +318,16 @@ export default {
return iconMap[status] || "/static/icon/status-default.png";
},
- // 获取状态文本
getStatusText(status) {
const statusMap = {
- 0: "待使用",
- 1: "待收货",
+ 0: "待激活",
+ 1: "待使用",
2: "待收货",
3: "已完成",
- 4: "用户已驳回",
+ 4: "售后/退款",
+ "-1": "取消",
};
- return statusMap[status] || "未知状态";
+ return statusMap[status] || "未知";
},
// 获取状态样式类
@@ -370,11 +346,27 @@ export default {
getGoodsActionText(type) {
const textMap = {
1: "去查看",
- 2: "查看物流",
- 3: "已使用",
+ 2: "预约发货",
+ 3: "去使用",
};
return textMap[type] || "去查看";
},
+ getGoodsActionTexted(type) {
+ const textMap = {
+ 1: "去查看",
+ 2: "查看物流",
+ 3: "已使用",
+ };
+ return textMap[type] || "去查看";
+ },
+ showImgJdsz(img) {
+ if (!img) return;
+ if (img.indexOf("https://") != -1 || img.indexOf("http://") != -1) {
+ return img;
+ } else {
+ return this.JDSU_IMG_URL + img;
+ }
+ },
// 获取商品操作按钮样式
getGoodsActionClass(type) {
@@ -431,6 +423,79 @@ export default {
this.showEquityPopup = false;
},
+ // 处理商品操作
+ handleGoodsAction(goods) {
+ switch (goods.type) {
+ case 1: // IP数字资产 - 查看
+ this.viewDigitalAsset(goods);
+ break;
+ case 2: // IP资源商品 - 预约发货
+ this.reserveDelivery(goods);
+ break;
+ case 3: // 君道苏州门票 - 去使用
+ this.useTicket(goods);
+ break;
+ }
+ },
+
+ // 查看数字资产
+ viewDigitalAsset(goods) {
+ // 跳转到数字资产详情页面
+ uni.showToast({
+ title: "查看数字资产",
+ icon: "none",
+ });
+ uni.navigateTo({
+ url: "/subPackages/memorialAlbum/detail",
+ });
+ },
+
+ // 预约发货
+ reserveDelivery(goods) {
+ // 跳转到确认订单页面
+ uni.navigateTo({
+ url: `/subPackages/orderQy/confrim?goodsId=${goods.orderId}`,
+ });
+ },
+
+ // 使用门票
+ useTicket(goods) {
+ // 处理使用门票逻辑
+ uni.showToast({
+ title: "使用门票",
+ icon: "none",
+ });
+ },
+
+ // 显示物流信息
+ showLogisticsInfo(goods) {
+ if (goods.orderExchangeVo) {
+ this.currentLogisticsInfo = goods.orderExchangeVo;
+ this.showLogisticsPopup = true;
+ } else {
+ uni.showToast({
+ title: "暂无物流信息",
+ icon: "none",
+ });
+ }
+ },
+
+ // 关闭物流信息弹窗
+ closeLogisticsPopup() {
+ this.showLogisticsPopup = false;
+ this.currentLogisticsInfo = null;
+ },
+
+ // 查看商品详情
+ viewGoodsDetail(goods) {
+ // 根据商品类型跳转到不同页面
+ if (goods.type === 1) {
+ uni.navigateTo({
+ url: `/subPackages/equityGoods/detail?id=${goods.goodsId}`,
+ });
+ }
+ },
+
// 复制权益码
copyEquityCode() {
uni.setClipboardData({
@@ -510,87 +575,6 @@ export default {
).padStart(2, "0")}:${String(date.getMinutes()).padStart(2, "0")}`;
},
- // API接口 - 获取订单详情
- async getOrderDetail(orderId) {
- // 模拟API数据 - 根据订单ID返回不同状态的数据
- return new Promise((resolve) => {
- setTimeout(() => {
- // 根据订单ID模拟不同的订单状态
- const statusMapping = {
- 1: 0, // 待使用
- 2: 1, // 待收货
- 3: 2, // 待收货
- 4: 3, // 已完成
- 5: 4, // 用户已驳回
- };
-
- const orderStatus = statusMapping[orderId] || 1;
-
- const mockData = {
- code: 200,
- data: {
- id: orderId,
- orderNo: "238232342424234423",
- status: orderStatus,
- packageName: "食在扬州|世界美食之都巡礼",
- packageId: "pkg001",
- totalAmount: "699.00",
- goodsAmount: "699.00",
- discountAmount: "0.00",
- shippingFee: "0.00",
- points: "已获得1分",
- remark: "XXXX",
- deliveryDate: "2025-08-10",
- trackingNo: orderStatus >= 1 ? "SF120025020202" : "--",
- shippingTime: orderStatus >= 2 ? "2025-07-15 01:46:25" : "",
- createTime: "2025-07-15 00:46:25",
- payTime: orderStatus >= 1 ? "2025-07-15 00:46:25" : "",
- payMethod: "线上支付",
- equityCode: "EPIC2024010112345",
- qrcode: "/static/image/qrcode-sample.png",
- goodsList: [
- {
- id: 1,
- name: "IP数字资产",
- type: 1,
- description: "在数字资产相册中查看",
- price: "99.00",
- quantity: 1,
- },
- {
- id: 2,
- name: "IP文创公仔",
- type: 2,
- description: "这里是XXX相仿介绍介绍",
- price: "150.00",
- quantity: 1,
- },
- {
- id: 3,
- name: "XXX园叮门票",
- type: 3,
- description: "这里是XXX园叮门票的介绍介绍介绍",
- price: "50.00",
- quantity: 1,
- },
- ],
- address: {
- name: "XX先生",
- phone: "183****1234",
- fullAddress: "江苏省苏州市姑苏区XXXXXX",
- province_text: "江苏省",
- city_text: "苏州市",
- district_text: "姑苏区",
- detail_addr: "XXXXXX",
- is_default: 1,
- },
- },
- };
- resolve(mockData);
- }, 500);
- });
- },
-
// API接口 - 取消订单
async cancelOrderApi(orderId) {
return new Promise((resolve) => {
@@ -994,4 +978,102 @@ export default {
font-size: 24rpx;
color: #999;
}
+
+// 物流信息弹窗
+.logistics-popup-mask {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-color: rgba(0, 0, 0, 0.5);
+ z-index: 9999;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.logistics-popup {
+ width: 650rpx;
+ max-height: 80vh;
+ background-color: #fff;
+ border-radius: 20rpx;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+}
+
+.logistics-popup .popup-content {
+ padding: 30rpx;
+ text-align: left;
+ flex: 1;
+ overflow-y: auto;
+}
+
+.logistics-section {
+ margin-bottom: 30rpx;
+
+ &:last-child {
+ margin-bottom: 0;
+ }
+}
+
+.logistics-section .section-title {
+ font-size: 28rpx;
+ font-weight: 600;
+ color: #333;
+ margin-bottom: 16rpx;
+ border-left: 4rpx solid #007aff;
+ padding-left: 16rpx;
+}
+
+.address-info {
+ background-color: #f8f9fa;
+ border-radius: 12rpx;
+ padding: 20rpx;
+}
+
+.address-detail {
+ margin-bottom: 12rpx;
+}
+
+.address-text {
+ font-size: 26rpx;
+ color: #333;
+ line-height: 1.5;
+}
+
+.contact-info {
+ display: flex;
+ gap: 20rpx;
+}
+
+.contact-name,
+.contact-phone {
+ font-size: 24rpx;
+ color: #666;
+}
+
+.info-item {
+ display: flex;
+ align-items: center;
+ margin-bottom: 12rpx;
+
+ &:last-child {
+ margin-bottom: 0;
+ }
+}
+
+.info-label {
+ font-size: 26rpx;
+ color: #666;
+ min-width: 160rpx;
+ flex-shrink: 0;
+}
+
+.info-value {
+ font-size: 26rpx;
+ color: #333;
+ flex: 1;
+}
diff --git a/subPackages/orderQy/list.vue b/subPackages/orderQy/list.vue
index 7fe9661..25251bd 100644
--- a/subPackages/orderQy/list.vue
+++ b/subPackages/orderQy/list.vue
@@ -35,7 +35,7 @@
- {{ order.packageName }}
+ {{ order.orderName }}
{{ getStatusText(order.status) }}
@@ -44,33 +44,42 @@
- {{ goods.name }}
+ {{ goods.goodsTitle }}
{{
getGoodsTypeName(goods.type)
}}
- 数量:{{ goods.quantity || 1 }}
+ 数量:{{ goods.num || 1 }}
+
+
@@ -81,7 +90,7 @@
实付金额
- ¥{{ order.totalAmount }}
+ ¥{{ order.payMoney || 0 }}
@@ -132,18 +141,13 @@