From 6c851d4f2990e1395c70c3a6a430133653007478 Mon Sep 17 00:00:00 2001
From: linxi <957440651@qq.com>
Date: Tue, 21 Jul 2026 16:56:39 +0800
Subject: [PATCH 1/9] =?UTF-8?q?Fix=EF=BC=9A5484=20=E3=80=90=E4=BE=9B?=
=?UTF-8?q?=E5=BA=94=E9=93=BE=E5=B0=8F=E7=A8=8B=E5=BA=8F=E3=80=91=E6=89=AB?=
=?UTF-8?q?=E6=8F=8F=E5=8E=BF=E5=9F=9F=E4=BB=A3=E7=90=86=E5=95=86=E7=9A=84?=
=?UTF-8?q?=E6=8E=A8=E5=B9=BF=E7=A0=81=EF=BC=8C=E5=85=A5=E9=A9=BB=E9=A1=B5?=
=?UTF-8?q?=E9=9D=A2=E6=8E=A5=E5=8F=A3=E6=98=BE=E7=A4=BA=E4=B8=8D=E5=85=A8?=
=?UTF-8?q?=EF=BC=8C=E5=BA=94=E6=98=BE=E7=A4=BA=E6=89=80=E6=9C=89=E5=85=A5?=
=?UTF-8?q?=E9=A9=BB=E6=8E=A5=E5=8F=A3=EF=BC=88=E9=80=9A=E8=BF=87=E5=8E=BF?=
=?UTF-8?q?=E5=9F=9F=E4=BB=A3=E7=90=86=E5=95=86=E5=85=A5=E9=A9=BB=EF=BC=8C?=
=?UTF-8?q?=E5=9D=87=E5=AD=98=E5=9C=A8=E4=B8=8A=E4=B8=8B=E7=BA=A7=E7=BB=91?=
=?UTF-8?q?=E5=AE=9A=E5=85=B3=E7=B3=BB=EF=BC=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pkg_join/views/index.vue | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/pkg_join/views/index.vue b/pkg_join/views/index.vue
index ce1a9e3..9db3c50 100644
--- a/pkg_join/views/index.vue
+++ b/pkg_join/views/index.vue
@@ -6,21 +6,21 @@
mode="scaleToFill"
/>
Date: Tue, 21 Jul 2026 17:01:25 +0800
Subject: [PATCH 2/9] =?UTF-8?q?Fix=EF=BC=9A5485=20=E3=80=90=E5=95=86?=
=?UTF-8?q?=E5=9F=8E=E5=B0=8F=E7=A8=8B=E5=BA=8F=E3=80=91=E7=AE=80=E4=BB=8B?=
=?UTF-8?q?=E5=92=8C=E5=AE=9A=E4=BD=8D=E7=9A=84=E6=96=87=E5=AD=97=E8=B0=83?=
=?UTF-8?q?=E5=A4=A7=E4=B8=80=E7=82=B9=EF=BC=8C=E5=8A=A0=E5=A4=A71?=
=?UTF-8?q?=E5=8F=B7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pkg_product/views/famousQianxianGraphicGuide.vue | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pkg_product/views/famousQianxianGraphicGuide.vue b/pkg_product/views/famousQianxianGraphicGuide.vue
index 36de40c..7e21f39 100644
--- a/pkg_product/views/famousQianxianGraphicGuide.vue
+++ b/pkg_product/views/famousQianxianGraphicGuide.vue
@@ -218,7 +218,7 @@ export default {
margin-top: 20rpx;
padding: 20rpx 0rpx;
border-radius: 16rpx;
- font-size: 28rpx;
+ font-size: 30rpx;
line-height: 44rpx;
color: #333;
font-weight: bold;
@@ -241,7 +241,7 @@ export default {
display: flex;
align-items: center;
margin-top: 16rpx;
- font-size: 26rpx;
+ font-size: 30rpx;
line-height: 40rpx;
color: #333;
font-weight: bold;
From 50363edc6e4585492cc4a38c5f35dc40bbd1674f Mon Sep 17 00:00:00 2001
From: linxi <957440651@qq.com>
Date: Tue, 21 Jul 2026 17:09:35 +0800
Subject: [PATCH 3/9] =?UTF-8?q?Fix=EF=BC=9A5498=20=E3=80=90=E5=95=86?=
=?UTF-8?q?=E5=9F=8E=E5=B0=8F=E7=A8=8B=E5=BA=8F=E3=80=91=E5=B0=86=E6=8A=BD?=
=?UTF-8?q?=E5=A5=96=E5=95=86=E5=93=81=E5=8A=A0=E5=85=A5=E8=B4=AD=E7=89=A9?=
=?UTF-8?q?=E8=BD=A6=EF=BC=8C=E4=BB=8E=E8=B4=AD=E7=89=A9=E8=BD=A6=E8=BF=9B?=
=?UTF-8?q?=E5=95=86=E5=93=81=E8=AF=A6=E6=83=85=E9=A1=B5=EF=BC=8C=E7=82=B9?=
=?UTF-8?q?=E5=87=BB=E3=80=90=E9=80=81=E7=BB=99=E6=9C=8B=E5=8F=8B=E3=80=91?=
=?UTF-8?q?=E4=BB=8D=E5=8F=AF=E4=BD=BF=E7=94=A8=E4=BC=98=E6=83=A0=E5=88=B8?=
=?UTF-8?q?=EF=BC=8C=E6=94=B9=E4=B8=BA=E4=B8=8D=E5=8F=AF=E4=BD=BF=E7=94=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/shop/GoodsCon/index.vue | 21 ++++++++++++++----
pkg_user/views/gift/gift.vue | 40 +++++++++++++++++++++++++++++++----
2 files changed, 53 insertions(+), 8 deletions(-)
diff --git a/pages/shop/GoodsCon/index.vue b/pages/shop/GoodsCon/index.vue
index e2142d0..b2bd15f 100644
--- a/pages/shop/GoodsCon/index.vue
+++ b/pages/shop/GoodsCon/index.vue
@@ -732,6 +732,7 @@ export default {
console.log("getLaunchOptionsSync", uni.getLaunchOptionsSync())
console.log("getEnterOptionsSync", uni.getEnterOptionsSync())
uni.removeStorageSync('couponId')
+ const pageQuery = Object.assign({}, this.resolvePageQuery(), options || {})
const from = options.from
const id = options.id
switch (from) {
@@ -779,10 +780,10 @@ export default {
if (url && url.productId) {
this.id = url.productId
} else if (options.id) {
- this.id = options.id || null
- this.partnerId = options.partnerId || null
- this.activityId = this._route.query.activityId
- this.source = this._route.query.from || ''
+ this.id = pageQuery.id || options.id || null
+ this.partnerId = pageQuery.partnerId || options.partnerId || null
+ this.activityId = Number(pageQuery.activityId || pageQuery.drawActivityId || 0)
+ this.source = pageQuery.from || ''
} else {
const obj = uni.getEnterOptionsSync()
if (options.scene != null || obj.query.scene != null) {
@@ -847,6 +848,18 @@ export default {
}
},
methods: {
+ resolvePageQuery() {
+ if (this.$yroute && this.$yroute.query) {
+ return this.$yroute.query
+ }
+ if (this.$route && this.$route.query) {
+ return this.$route.query
+ }
+ if (this._route && this._route.query) {
+ return this._route.query
+ }
+ return {}
+ },
gift() {
this.goCat(2)
},
diff --git a/pkg_user/views/gift/gift.vue b/pkg_user/views/gift/gift.vue
index 04568d3..dd26b6a 100644
--- a/pkg_user/views/gift/gift.vue
+++ b/pkg_user/views/gift/gift.vue
@@ -299,11 +299,12 @@ export default {
}
},
onLoad(opts) {
- this.cartId = opts.cartId
- this.isGroupBuy = opts.isGroupBuy === '1'
- this.isCountyLotteryGift = opts.from === 'countyLottery' || opts.isCountyLotteryGift === '1' || !!opts.drawActivityId
+ const pageQuery = Object.assign({}, this.resolvePageQuery(), opts || {})
+ this.cartId = pageQuery.cartId
+ this.isGroupBuy = pageQuery.isGroupBuy === '1'
+ this.isCountyLotteryGift = pageQuery.from === 'countyLottery' || pageQuery.isCountyLotteryGift === '1' || !!pageQuery.drawActivityId
// this.couponId = opts.couponId || 0
- this.discount = opts.discount
+ this.discount = pageQuery.discount
if(this.isGroupBuy) {
this.getGroupBuyInfo()
} else {
@@ -332,10 +333,39 @@ export default {
}
},
methods: {
+ resolvePageQuery() {
+ if (this.$yroute && this.$yroute.query) {
+ return this.$yroute.query
+ }
+ if (this.$route && this.$route.query) {
+ return this.$route.query
+ }
+ if (this._route && this._route.query) {
+ return this._route.query
+ }
+ return {}
+ },
getCouponId() {
if (this.isCountyLotteryGift) return 0
return this.couponId || 0
},
+ isCountyLotteryCartItem(item) {
+ return Number(
+ (item && item.drawActivityId) ||
+ (item && item.productInfo && item.productInfo.drawActivityId) ||
+ 0
+ ) > 0
+ },
+ syncCountyLotteryGiftFlag(item) {
+ if (!this.isCountyLotteryGift && this.isCountyLotteryCartItem(item)) {
+ this.isCountyLotteryGift = true
+ }
+ if (!this.isCountyLotteryGift) return
+ this.couponTitle = ''
+ if (Number(this.couponId || 0) !== 0) {
+ this.couponId = 0
+ }
+ },
adjustCoverListForProductStory(coverList, productInfo, defaultTemplate) {
if (!productInfo || !productInfo.productStory) {
return {
@@ -436,6 +466,7 @@ export default {
this.giftNotice = res.data.giftCardGiftNotice
this.orderKey = res.data.orderKey
this.goodsInfo = goodsInfo
+ this.syncCountyLotteryGiftFlag(goodsInfo)
this.templateId = template.id
this.defaultIndex = this.coverList.findIndex(item => item.id === this.templateId)
console.log(this.defaultIndex, 'defaultIndex');
@@ -522,6 +553,7 @@ export default {
this.giftNotice = res.data.giftCardGiftNotice
this.orderKey = res.data.orderKey
this.goodsInfo = goodsInfo
+ this.syncCountyLotteryGiftFlag(goodsInfo)
this.templateId = template.id
this.selectedCover = template.cover
this.giftImage = template.image
From 51e9d8b9663d709ac28f829248f8f22e892ba625 Mon Sep 17 00:00:00 2001
From: linxi <957440651@qq.com>
Date: Tue, 21 Jul 2026 17:14:13 +0800
Subject: [PATCH 4/9] =?UTF-8?q?Fix=EF=BC=9A5535=20=E3=80=90=E5=95=86?=
=?UTF-8?q?=E5=9F=8E=E5=B0=8F=E7=A8=8B=E5=BA=8F=E3=80=91=E5=85=A8=E5=9B=BD?=
=?UTF-8?q?=E7=89=B9=E4=BA=A7=E3=80=81=E6=96=87=E7=8E=A9=E8=89=BA=E6=9C=AF?=
=?UTF-8?q?=E6=9D=BF=E5=9D=97=E7=9A=84=E7=9C=81=E7=BA=A7=E5=AF=BC=E8=88=AA?=
=?UTF-8?q?=E9=A1=B5=E9=9D=A2=E6=90=9C=E7=B4=A2=E6=A0=8F=EF=BC=8C=E5=9C=A8?=
=?UTF-8?q?=E6=90=9C=E7=B4=A2=E6=9C=89=E6=95=88=E5=90=8D=E7=A7=B0=E6=97=B6?=
=?UTF-8?q?=E6=8F=90=E7=A4=BA=E2=80=9C=E6=9C=AA=E6=89=BE=E5=88=B0=E8=AF=A5?=
=?UTF-8?q?=E5=9F=8E=E5=B8=82=EF=BC=8C=E8=AF=B7=E9=87=8D=E6=96=B0=E8=BE=93?=
=?UTF-8?q?=E5=85=A5=E5=9F=8E=E5=B8=82=E5=90=8D=E7=A7=B0=E2=80=9D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/chose-city/chose-city.vue | 23 ++++++++++-------------
1 file changed, 10 insertions(+), 13 deletions(-)
diff --git a/pages/chose-city/chose-city.vue b/pages/chose-city/chose-city.vue
index 189d361..3e80905 100644
--- a/pages/chose-city/chose-city.vue
+++ b/pages/chose-city/chose-city.vue
@@ -384,20 +384,17 @@ export default {
this.mescroll && this.mescroll.triggerDownScroll()
},
search() {
- if(this.keyword === '') return
- const matchIndex = this.listGroup.findIndex((group, index) => {
- let result
- group.city.forEach(item => {
- result = item.cityName.indexOf(this.keyword, 0)
- if (result !== -1) {
- this.asideTap(index);
- return null;
- }
- })
- if (result !== -1) {
- return result
- }
+ const keyword = (this.keyword || '').trim()
+ if (!keyword) return
+ const matchIndex = this.listGroup.findIndex(group => {
+ const cityList = Array.isArray(group.city) ? group.city : []
+ return cityList.some(item => item && item.cityName && item.cityName.indexOf(keyword) !== -1)
})
+ if (matchIndex !== -1) {
+ this.keyword = keyword
+ this.asideTap(matchIndex)
+ return
+ }
if (matchIndex === -1) {
uni.showToast({
title: '未找到该城市,请重新输入城市名称',
From 3cd6f29e322c10a9083ebff7b865ce8cd8c766dd Mon Sep 17 00:00:00 2001
From: linxi <957440651@qq.com>
Date: Tue, 21 Jul 2026 17:19:33 +0800
Subject: [PATCH 5/9] =?UTF-8?q?Fix:5536=20=E3=80=90=E5=95=86=E5=9F=8E?=
=?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E3=80=91=E8=AE=A2=E5=8D=95=E8=AF=A6?=
=?UTF-8?q?=E6=83=85=E7=82=B9=E5=87=BB=E5=95=86=E5=93=81=E5=9B=BE=E7=89=87?=
=?UTF-8?q?=E5=8C=BA=E5=9F=9F=E4=B9=8B=E5=89=8D=E6=98=AF=E5=8F=AF=E4=BB=A5?=
=?UTF-8?q?=E8=BF=9B=E5=85=A5=E5=95=86=E5=93=81=E8=AF=A6=E6=83=85=E7=9A=84?=
=?UTF-8?q?=EF=BC=8C=E7=8E=B0=E5=9C=A8=E7=82=B9=E5=87=BB=E6=97=A0=E6=B3=95?=
=?UTF-8?q?=E8=BF=9B=E5=85=A5=E5=95=86=E5=93=81=E8=AF=A6=E6=83=85=E9=A1=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/order/MyOrder/index.vue | 54 ++++++++++++++++++++++++++++++-----
1 file changed, 47 insertions(+), 7 deletions(-)
diff --git a/pages/order/MyOrder/index.vue b/pages/order/MyOrder/index.vue
index 717ccf3..79a070d 100644
--- a/pages/order/MyOrder/index.vue
+++ b/pages/order/MyOrder/index.vue
@@ -254,22 +254,22 @@
@@ -1299,9 +1299,39 @@ export default {
}
}
},
- gotoGoodDetail(cart, type, query){
+ gotoGoodDetail(orderOrIndex, cartOrIndex) {
+ const order = this.getOrderByIndex(orderOrIndex)
+ const cartList = Array.isArray(order && order.cartInfo) ? order.cartInfo : []
+ const cart = typeof cartOrIndex === 'number' ? cartList[cartOrIndex] : cartOrIndex
+ if (!cart) {
+ uni.showToast({
+ title: '未获取到商品信息',
+ icon: 'none'
+ })
+ return
+ }
+ const productInfo = cart.productInfo || {}
+ let type = 1
+ let id = productInfo.id || cart.productId || ''
+ if (Number(cart.combinationId) > 0) {
+ type = 2
+ id = cart.combinationId
+ } else if (Number(cart.bargainId) > 0) {
+ type = 3
+ id = cart.bargainId
+ } else if (Number(cart.seckillId) > 0) {
+ type = 4
+ id = cart.seckillId
+ }
+ if (!id) {
+ uni.showToast({
+ title: '未获取到商品详情参数',
+ icon: 'none'
+ })
+ return
+ }
// isProductStillExist:0-不存在,1-存在
- const isProductStillExist = cart.isProductStillExist || 0
+ const isProductStillExist = Number(cart.isProductStillExist || 0)
if (isProductStillExist === 0) {
this.$dialog.toast({ mes: '商品已下架' })
return
@@ -1321,7 +1351,17 @@ export default {
path = '/pages/activity/SeckillDetails/index'
break
}
- this.$yrouter.push({ path, query })
+ if (!path) {
+ uni.showToast({
+ title: '未找到商品详情页',
+ icon: 'none'
+ })
+ return
+ }
+ this.$yrouter.push({
+ path,
+ query: { id }
+ })
},
getOrderData() {
getOrderData().then(res => {
From 37ba27010484bda2997b5a1c2e92f940107bb413 Mon Sep 17 00:00:00 2001
From: linxi <957440651@qq.com>
Date: Tue, 21 Jul 2026 17:26:32 +0800
Subject: [PATCH 6/9] =?UTF-8?q?Fix=EF=BC=9A5550=20=E3=80=90=E5=95=86?=
=?UTF-8?q?=E5=9F=8E=E5=B0=8F=E7=A8=8B=E5=BA=8F=E3=80=91=E5=8D=83=E5=8E=BF?=
=?UTF-8?q?=E5=9B=BE=E6=96=87=E6=94=BB=E7=95=A5=EF=BC=8C=20=E7=AE=A1?=
=?UTF-8?q?=E7=90=86=E5=90=8E=E5=8F=B0=E4=B8=8A=E4=BC=A0=E7=9A=84=E5=9B=BE?=
=?UTF-8?q?=E7=89=87=E5=9C=A8=E9=A6=99=E9=81=93=E6=BB=87=E5=B0=8F=E7=A8=8B?=
=?UTF-8?q?=E5=BA=8F=E7=AB=AF=E5=9B=BE=E7=89=87=E6=98=BE=E7=A4=BA=E8=B0=83?=
=?UTF-8?q?=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pkg_product/views/famousQianxianGraphicGuide.vue | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pkg_product/views/famousQianxianGraphicGuide.vue b/pkg_product/views/famousQianxianGraphicGuide.vue
index 7e21f39..6ccda8c 100644
--- a/pkg_product/views/famousQianxianGraphicGuide.vue
+++ b/pkg_product/views/famousQianxianGraphicGuide.vue
@@ -184,7 +184,7 @@ export default {
.banner-swiper,
.banner-fallback {
width: 100%;
- height: 500rpx;
+ height: 750rpx;
}
.banner-image {
@@ -267,7 +267,7 @@ export default {
.detail-image {
width: 280rpx;
- height: 220rpx;
+ height: 280rpx;
margin-right: 16rpx;
border-radius: 16rpx;
display: block;
From 663d8f06fb86f64bde65ef3b19124e9bcbffdedc Mon Sep 17 00:00:00 2001
From: lifizer <913626195@qq.com>
Date: Fri, 24 Jul 2026 16:55:13 +0800
Subject: [PATCH 7/9] =?UTF-8?q?Conf:=E5=A2=9E=E5=8A=A0Fix=E7=8E=AF?=
=?UTF-8?q?=E5=A2=83=E7=9A=84=E9=85=8D=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
config/index.js | 8 ++++++++
package.json | 11 +++++++++++
2 files changed, 19 insertions(+)
diff --git a/config/index.js b/config/index.js
index f386c48..c6467b1 100644
--- a/config/index.js
+++ b/config/index.js
@@ -10,6 +10,14 @@ if (NODE_ENV === 'development' || NODE_ENV === 'test') {
enableDebug: false
})
}
+if (NODE_ENV === 'fix') {
+ BASE_URL = 'https://shop-pre.xdd618.com/api'
+ SERVICE_URL = 'https://service-pre.xdd618.com/api'
+ SERVICE_WS_URL = 'wss://service-pre.xdd618.com/ws'
+ wx.setEnableDebug({
+ enableDebug: false
+ })
+}
if (NODE_ENV === 'prod') {
BASE_URL = 'https://wxapp.xdd618.com/api'
SERVICE_URL = 'https://service.xdd618.com/api'
diff --git a/package.json b/package.json
index 858a590..d8db073 100644
--- a/package.json
+++ b/package.json
@@ -133,6 +133,17 @@
"CUSTOM-CONST": true
}
},
+ "mp-weixin-fix": {
+ "title": "微信小程序(Fix环境)",
+ "env": {
+ "UNI_PLATFORM": "mp-weixin",
+ "VUE_APP_ENV": "fix",
+ "UNI_OUTPUT_DIR": "dist"
+ },
+ "define": {
+ "CUSTOM-CONST": true
+ }
+ },
"mp-weixin": {
"title": "微信小程序(生产环境)",
"env": {
From 23f3d8b9941501354cca69b1e121546fd314fe68 Mon Sep 17 00:00:00 2001
From: lifizer <913626195@qq.com>
Date: Wed, 29 Jul 2026 14:39:21 +0800
Subject: [PATCH 8/9] =?UTF-8?q?Refactor(=E5=8D=83=E5=8E=BF):=E5=9B=BE?=
=?UTF-8?q?=E7=89=87=E5=A2=9E=E5=8A=A0=E6=87=92=E5=8A=A0=E8=BD=BD=EF=BC=8C?=
=?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B8=B2=E6=9F=93=E9=80=9F=E5=BA=A6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pkg_product/views/famousList.vue | 11 +++++++++++
pkg_product/views/famousQianxianShop.vue | 14 +++++++++++++-
2 files changed, 24 insertions(+), 1 deletion(-)
diff --git a/pkg_product/views/famousList.vue b/pkg_product/views/famousList.vue
index 2a63000..9ffdff5 100644
--- a/pkg_product/views/famousList.vue
+++ b/pkg_product/views/famousList.vue
@@ -24,6 +24,7 @@
:src="countyFamousTopImage"
class="img"
mode="widthFix"
+ :lazy-load="true"
/>
{{ item.provinceName }}
@@ -61,6 +63,7 @@
@@ -95,11 +98,13 @@
{{ county.countyName }}
@@ -118,11 +123,13 @@
{{ county.countyName }}
@@ -140,11 +147,13 @@
{{ county.countyName }}
@@ -160,6 +169,7 @@
:src="webUrl + '/home/no-data-bg.png'"
mode="widthFix"
class="loadend"
+ :lazy-load="true"
/>
-
+
@@ -245,6 +245,7 @@
{{ $formatCount(item.pv) }}
@@ -253,12 +254,14 @@
v-if="!item.hasZan"
:src="webUrl + '/page/hotel/zan-off-2.png'"
class="zan-off-icon"
+ :lazy-load="true"
@click="likeInfoItemHandle(item, index, item.zan + 1, true)"
/>
@@ -413,6 +417,7 @@
:src="item.image"
mode="widthFix"
class="img"
+ :lazy-load="true"
/>
@@ -470,6 +475,7 @@
重点项目
@@ -486,6 +492,7 @@
@@ -503,6 +510,7 @@
招商政策
@@ -525,6 +533,7 @@
@@ -605,11 +614,13 @@
{{ shop.address }}
@@ -624,6 +635,7 @@
{{ shop.name }}
From d7aecbe7559857b1f8ced118487de0652cc51e59 Mon Sep 17 00:00:00 2001
From: linxi <957440651@qq.com>
Date: Fri, 31 Jul 2026 10:59:56 +0800
Subject: [PATCH 9/9] =?UTF-8?q?Feat=EF=BC=9A=E9=9B=86=E9=87=87=E4=B8=AD?=
=?UTF-8?q?=E5=BF=83=E9=87=87=E8=B4=AD=E8=AE=A2=E5=8D=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/order/MyOrder/index.vue | 527 ++++++++++++++++++++----
pagesOrder/order/OrderDetails/index.vue | 120 +++++-
2 files changed, 544 insertions(+), 103 deletions(-)
diff --git a/pages/order/MyOrder/index.vue b/pages/order/MyOrder/index.vue
index 79a070d..0981754 100644
--- a/pages/order/MyOrder/index.vue
+++ b/pages/order/MyOrder/index.vue
@@ -12,7 +12,7 @@
v-model="keyword"
:inputStyle="inputStyle"
:showAction="false"
- placeholder="请输入商品名/订单号/团购名称"
+ :placeholder="searchPlaceholder"
shape="round"
bgColor="#FFF"
@search="changeType"
@@ -76,28 +76,28 @@
- {{ order.merName }}
+ {{ getOrderStoreName(order) }}
-
+
- {{ order.merCityName }}
+ {{ getOrderCityName(order) }}
@@ -131,7 +131,7 @@
{{ (order.isGiftCardSend || order.isGiftCardReceive) ? '礼包' : (getStatus(order) || (order._status && order._status._title) || '已完成') }}
+ >{{ getOrderStatusTagText(order) }}
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+ ¥
+ {{ force2Decimal(item.price) }}
+
+ x{{ item.qty }}
+
+
+
+
+ {{ item.sku }}
+
+
+
+
+
@@ -300,8 +331,8 @@
{{ order.createTime }}
- 共{{ order.totalNum || 0 }}件商品
-
+ 共{{ getOrderTotalNum(order) }}件商品
+
,总金额
@@ -309,7 +340,7 @@
¥
- {{ force2Decimal(order.payPrice) }}
+ {{ force2Decimal(getOrderPayPrice(order)) }}
@@ -351,63 +382,101 @@
v-if="!order.isGiftCardSend && !order.experienceOrderInfo"
class="bottom flex jc-between ai-center"
>
-
-
- 更多
-
- 联系商家
- 申请退款
-
-
-
+
- 联系客服
-
联系商家
-
+
修改地址
+ 查看详情
申请退款
+ 确认收货
+ 删除订单
-
-
+
+
+ 更多
+
+ 联系商家
+ 申请退款
+
+
+
+
+ 联系客服
+
+
+ 联系商家
+
+
+ 查看详情
+ 删除订单
+
+
+
+
+
this.normalizeCollectiveDisplayItem(item, true))
+ }
+ if (this.isCollectiveWholesalerOrder(order)) {
+ return this.getCollectiveProductList(order).map(item => this.normalizeCollectiveDisplayItem(item))
+ }
+ return []
+ },
+ getCollectiveTotalNum(order) {
+ const totalNum = Number(order && order.totalNum)
+ if (totalNum > 0) {
+ return totalNum
+ }
+ return this.getCollectiveDisplayItems(order).reduce((sum, item) => sum + Number(item.qty || 0), 0)
+ },
+ getCollectiveProductImage(cart) {
+ const productInfo = (cart && cart.productInfo) || {}
+ const attrInfo = productInfo.attrInfo || {}
+ return productInfo.image || attrInfo.image || ''
+ },
+ getCollectiveProductName(cart) {
+ const productInfo = (cart && cart.productInfo) || {}
+ return productInfo.storeName || cart.storeName || '商品信息'
+ },
+ getCollectiveProductSku(cart) {
+ const productInfo = (cart && cart.productInfo) || {}
+ const attrInfo = productInfo.attrInfo || {}
+ return attrInfo.sku || cart.sku || ''
+ },
+ showCollectiveContact(order) {
+ const statusType = this.getCollectiveStatusType(order)
+ if (!this.isCollectiveWholesalerOrder(order)) {
+ return false
+ }
+ return Boolean(
+ (order.merName || order.storeName || order.merPhone || order.merId) &&
+ [1, 2, 4, -1, -2, -3].includes(statusType)
+ )
+ },
+ showCollectiveModifyAddress(order) {
+ const statusType = this.getCollectiveStatusType(order)
+ if (statusType !== 1) {
+ return false
+ }
+ if (!(this.isCollectiveWholesalerOrder(order) || this.isCollectiveCustomGiftOrder(order))) {
+ return false
+ }
+ return this.canShowModifyAddress(order)
+ },
+ showCollectiveDelete(order) {
+ return Number(order._status && order._status._type) === 9
+ },
+ showCollectiveTakeOrder(order) {
+ return this.getCollectiveStatusType(order) === 2
+ },
+ showCollectiveDetail(order) {
+ const statusType = this.getCollectiveStatusType(order)
+ if (this.isCollectiveCustomGiftOrder(order)) {
+ return [1, 4].includes(statusType)
+ }
+ if (this.isCollectiveWholesalerOrder(order)) {
+ return [1, 4, -1, -2, -3].includes(statusType)
+ }
+ return false
+ },
+ showCollectiveRefund(order) {
+ const statusType = this.getCollectiveStatusType(order)
+ if (!this.isCollectiveWholesalerOrder(order)) {
+ return false
+ }
+ return statusType === 2
+ },
isRefundFlow(order) {
if (!order) {
return false
@@ -1016,6 +1382,13 @@ export default {
}
return orderOrIndex
},
+ handleOrderStoreClick(orderOrIndex) {
+ const order = this.getOrderByIndex(orderOrIndex)
+ if (!order || this.isCollectiveCenterMode) {
+ return
+ }
+ this.goStore(order)
+ },
delOrder(orderOrIndex) {
const order = this.getOrderByIndex(orderOrIndex)
if (!order) {
@@ -1416,37 +1789,23 @@ export default {
},
tabChange(item) {
this.type = item.index
- this.$yroute.query.type = this.type
+ const query = this.getPageQuery()
+ query.type = this.type
this.changeType()
},
orderTypeTabChange(item) {
this.orderTypeTabIndex = item.index
this.orderType = item.orderType
+ const query = this.getPageQuery()
+ query.tabIndex = this.orderTypeTabIndex
this.updateTabListByOrderType()
+ if (this.type > this.tabList.length - 1) {
+ this.type = 0
+ }
this.changeType(this.type)
},
updateTabListByOrderType() {
- if (this.orderType === 'travel') {
- this.tabList = [
- { name: '全部' },
- { name: '待付款' },
- { name: '待确认' },
- { name: '待使用' },
- { name: '退款/售后' },
- { name: '待评价' },
- { name: '已完成' }
- ]
- } else {
- this.tabList = [
- { name: '全部' },
- { name: '待付款' },
- { name: '待发货' },
- { name: '待收货/待核销' },
- { name: '退款/售后' },
- { name: '待评价' },
- { name: '已完成' }
- ]
- }
+ this.tabList = this.getDefaultTabListByOrderType()
},
goUserCenter() {
this.$yrouter.switchTab({
@@ -1468,16 +1827,8 @@ export default {
uni.showLoading({
mask: true,
})
- const types = {
- 0: 0,
- 1: 1,
- 2: 2,
- 3: 3,
- 4: -3,
- 5: 4,
- 6: 5,
- }
- const type = types[this.type]
+ const typeMap = this.getRequestTypeMapByOrderType()
+ const type = typeMap[this.type]
const {
page,
limit,
diff --git a/pagesOrder/order/OrderDetails/index.vue b/pagesOrder/order/OrderDetails/index.vue
index 4b427ed..364e4f1 100644
--- a/pagesOrder/order/OrderDetails/index.vue
+++ b/pagesOrder/order/OrderDetails/index.vue
@@ -203,31 +203,31 @@
-
+
-
+
- {{ cart.productInfo.storeName }}
+ {{ cart.name }}
-
- {{ cart.productInfo.attrInfo.sku || '' }}
+
+ {{ cart.sku }}
{{ orderInfo.drawOrderInfo.prizeAttrName || '' }}
-
+
¥
- {{ cart.truePrice }}
+ {{ force2Decimal(cart.price) }}
- x{{ cart.cartNum }}
+ x{{ cart.qty }}
@@ -244,7 +244,7 @@
-
+
商品总价
@@ -500,7 +500,14 @@
-
+
+ 修改地址
+
+
联系客服
联系商家
@@ -515,7 +522,10 @@
-
+
+ 确认收货
+
+
联系客服
@@ -549,7 +559,11 @@
再买一单
- 立即评价
+ 立即评价
@@ -572,7 +586,7 @@
再买一单
立即评价
@@ -850,9 +864,10 @@ export default {
}
})
},
- goGoodsCon(item, isGiftCardReceiveBlind, isDrawOrder) {
+ goGoodsCon(item, isGiftCardReceiveBlind, isDrawOrder, scenarioCode) {
if(isGiftCardReceiveBlind) return
if(isDrawOrder) return
+ if (Number(scenarioCode) === 24) return
const activityId = Number(
item.drawActivityId ||
(item.productInfo && item.productInfo.drawActivityId) ||
@@ -1029,6 +1044,75 @@ export default {
}
return status;
},
+ getOrderScenarioCode(order = this.orderInfo) {
+ return Number(order && order.scenarioCode)
+ },
+ isWholesalerOrder(order = this.orderInfo) {
+ return this.getOrderScenarioCode(order) === 22
+ },
+ isCustomGiftOrder(order = this.orderInfo) {
+ return this.getOrderScenarioCode(order) === 24
+ },
+ isCollectiveOrder(order = this.orderInfo) {
+ return this.isWholesalerOrder(order) || this.isCustomGiftOrder(order)
+ },
+ canShowOrderEvaluate(order = this.orderInfo) {
+ return !this.isGiftOrder(order) && !this.isCollectiveOrder(order)
+ },
+ formatOrderDetailImage(image) {
+ const imageUrl = String(image || '').trim()
+ if (!imageUrl) {
+ return ''
+ }
+ if (/^https?:\/\//i.test(imageUrl)) {
+ return imageUrl
+ }
+ if (imageUrl.startsWith('//')) {
+ return `https:${imageUrl}`
+ }
+ if (imageUrl.startsWith('/')) {
+ const apiBaseUrl = String(this.$VUE_APP_API_URL || '').replace(/\/api\/?$/, '')
+ return `${apiBaseUrl}${imageUrl}`
+ }
+ return imageUrl
+ },
+ normalizeOrderDetailItem(item = {}, isCustomGift = false) {
+ if (isCustomGift) {
+ return {
+ image: this.formatOrderDetailImage(item.giftImage),
+ name: item.giftName || '商品信息',
+ sku: item.specName || '',
+ qty: Number(item.giftNum) || 1,
+ price: 0,
+ showPrice: false,
+ productId: '',
+ productInfo: {}
+ }
+ }
+ const productInfo = item.productInfo || {}
+ const attrInfo = productInfo.attrInfo || {}
+ return {
+ ...item,
+ image: this.formatOrderDetailImage(item.image || productInfo.image || attrInfo.image || ''),
+ name: productInfo.storeName || item.storeName || item.productName || '商品信息',
+ sku: attrInfo.sku || item.sku || item.specName || '',
+ qty: Number(item.cartNum || item.num || item.quantity || 1) || 1,
+ price: Number(item.truePrice || item.price || attrInfo.price || productInfo.price || 0) || 0,
+ showPrice: true,
+ productId: item.productId || productInfo.id || ''
+ }
+ },
+ getOrderDetailDisplayItems(order = this.orderInfo) {
+ if (this.isCustomGiftOrder(order)) {
+ const customGiftInfo = order && order.customGiftInfo
+ if (!customGiftInfo || typeof customGiftInfo !== 'object' || Array.isArray(customGiftInfo)) {
+ return []
+ }
+ return [this.normalizeOrderDetailItem(customGiftInfo, true)]
+ }
+ const cartList = Array.isArray(order && order.cartInfo) ? order.cartInfo : []
+ return cartList.map(item => this.normalizeOrderDetailItem(item))
+ },
getStatusImg(order) {
const type = parseInt(order._status._type);
let imgUrl = "";
@@ -1280,7 +1364,13 @@ export default {
this.orderInfo = res.data
this.orderInfo._status._type = parseInt(this.orderInfo._status._type)
this.getOrderStatus()
- if (this.orderInfo.combinationId > 0) {
+ if (this.isWholesalerOrder(this.orderInfo)) {
+ this.orderTypeName = "采购批发订单"
+ this.orderTypeNameStatus = false
+ } else if (this.isCustomGiftOrder(this.orderInfo)) {
+ this.orderTypeName = "自建礼品订单"
+ this.orderTypeNameStatus = false
+ } else if (this.orderInfo.combinationId > 0) {
this.orderTypeName = "拼团订单"
this.orderTypeNameStatus = false
} else if (this.orderInfo.bargainId > 0) {