diff --git a/pkg-video/views/county-claim-address.vue b/pkg-video/views/county-claim-address.vue
index ce24e78..e5c68ff 100644
--- a/pkg-video/views/county-claim-address.vue
+++ b/pkg-video/views/county-claim-address.vue
@@ -78,7 +78,7 @@
- *请仔细核对收货信息,提交后不可修改,奖品将在7个工作日内寄出
+ *请仔细核对收货信息,提交后不可修改,奖品将在{{ shipDayText }}个工作日内寄出
@@ -152,6 +152,7 @@ export default {
showRealnamePopup: false,
showSubmitSuccessPopup: false,
shipDay: 7,
+ prizeInfo: {},
prizeOrderId: '',
userInfo: {},
realnameStatus: 0,
@@ -170,14 +171,21 @@ export default {
}
},
onLoad(options) {
+ const routeParams = this.decodeRouteParams(options)
this.statusBarHeight = uni.getSystemInfoSync().statusBarHeight || 20
- this.form.lotteryRecordId = options.lotteryRecordId || ''
- this.form.prizeName = decodeURIComponent(options.prizeName || '')
- this.form.prizeAttrName = decodeURIComponent(options.prizeAttrName || '')
- this.form.prizeType = decodeURIComponent(options.prizeType || '')
- this.form.prizeTypeName = decodeURIComponent(options.prizeTypeName || '')
- this.form.prizeImage = decodeURIComponent(options.prizeImage || '')
- this.form.ticketCode = decodeURIComponent(options.ticketCode || '')
+ this.prizeInfo = routeParams
+ this.form = {
+ ...this.form,
+ ...routeParams,
+ lotteryRecordId: routeParams.lotteryRecordId || routeParams.id || '',
+ prizeName: routeParams.prizeName || '',
+ prizeAttrName: routeParams.prizeAttrName || '',
+ prizeType: routeParams.prizeType || '',
+ prizeTypeName: routeParams.prizeTypeName || '',
+ prizeImage: routeParams.prizeImage || '',
+ ticketCode: routeParams.ticketCode || ''
+ }
+ this.shipDay = Number(routeParams.shipDay || 0) || 7
this.getCityList()
this.fetchRealnameStatus()
},
@@ -193,6 +201,18 @@ export default {
}
},
methods: {
+ decodeRouteParams(options = {}) {
+ return Object.keys(options).reduce((result, key) => {
+ const value = options[key]
+ if (value === undefined || value === null) return result
+ try {
+ result[key] = decodeURIComponent(value)
+ } catch (e) {
+ result[key] = value
+ }
+ return result
+ }, {})
+ },
goBack() {
uni.navigateBack()
},
@@ -282,7 +302,7 @@ export default {
return
}
await claimCoupon(ticketId)
- this.shipDay = 7
+ this.shipDay = Number(this.prizeInfo.shipDay || 0) || 7
this.prizeOrderId = ''
this.showSubmitSuccessPopup = true
},
diff --git a/pkg-video/views/county-my-tickets.vue b/pkg-video/views/county-my-tickets.vue
index 678c729..c84a591 100644
--- a/pkg-video/views/county-my-tickets.vue
+++ b/pkg-video/views/county-my-tickets.vue
@@ -363,15 +363,14 @@ export default {
}
return
}
- const query = [
- `lotteryRecordId=${item.id}`,
- `ticketCode=${encodeURIComponent(item.ticketCode || '')}`,
- `prizeName=${encodeURIComponent(item.prizeName || '')}`,
- `prizeAttrName=${encodeURIComponent(item.prizeAttrName || '')}`,
- `prizeType=${encodeURIComponent(item.prizeType || '')}`,
- `prizeTypeName=${encodeURIComponent(item.prizeTypeName || '')}`,
- `prizeImage=${encodeURIComponent(item.prizeImage || '')}`
- ].join('&')
+ const queryParams = {
+ ...item,
+ lotteryRecordId: item.lotteryRecordId || item.id || ''
+ }
+ const query = Object.keys(queryParams)
+ .filter((key) => queryParams[key] !== undefined && queryParams[key] !== null && typeof queryParams[key] !== 'object')
+ .map((key) => `${key}=${encodeURIComponent(queryParams[key])}`)
+ .join('&')
uni.navigateTo({
url: `/pkg-video/views/county-claim-address?${query}`
})
@@ -753,11 +752,12 @@ export default {
height: 40rpx;
border-radius: 50%;
border: 2rpx solid #333;
- font-size: 40rpx;
font-weight: 700;
color: #333;
- line-height: 40rpx;
text-align: center;
+ display: flex;
+ align-items: center;
+ justify-content: center;
}
.popup-icon-wrap {
diff --git a/pkg-video/views/county-winners.vue b/pkg-video/views/county-winners.vue
index 1e9833e..fd26c5d 100644
--- a/pkg-video/views/county-winners.vue
+++ b/pkg-video/views/county-winners.vue
@@ -293,16 +293,14 @@ export default {
return prizeType === 3 || prize.prizeType === "coupon" || /券/.test(prizeName)
},
navToReceiveInfo(prize = {}) {
- const query = [
- `source=lottery`,
- `lotteryRecordId=${encodeURIComponent(prize.lotteryRecordId || "")}`,
- `ticketCode=${encodeURIComponent(prize.ticketCode || "")}`,
- `prizeName=${encodeURIComponent(prize.prizeName || "")}`,
- `prizeAttrName=${encodeURIComponent(prize.prizeAttrName || "")}`,
- `prizeType=${encodeURIComponent(prize.prizeType || "")}`,
- `prizeTypeName=${encodeURIComponent(prize.prizeTypeName || "")}`,
- `prizeImage=${encodeURIComponent(prize.prizeImage || "")}`
- ].join("&")
+ const queryParams = { source: "lottery", ...prize }
+ const query = Object.keys(queryParams)
+ .filter((key) => {
+ const value = queryParams[key]
+ return value !== undefined && value !== null && typeof value !== "object"
+ })
+ .map((key) => `${key}=${encodeURIComponent(queryParams[key])}`)
+ .join("&")
uni.navigateTo({
url: `/pkg-video/views/county-claim-address?${query}`
})