66 Commits
Author SHA1 Message Date
lifizer 736112a28d Merge branch 'dev' into test 2026-09-15 09:14:05 +08:00
lifizer 05d7400f64 Merge branch 'dev' into test 2026-08-28 17:48:51 +08:00
linxi e643ac58b7 Merge branch 'dev' into test 2026-07-24 11:28:26 +08:00
lifizer 44f514393d Merge branch 'dev-AI-v5' into test 2026-07-01 18:04:47 +08:00
lifizer 01508b073f Merge branch 'dev' into test 2026-06-13 13:35:31 +08:00
lifizer 0b163f883f Merge branch 'dev' into test 2026-05-21 09:17:50 +08:00
lifizer 5d4ad3f427 Chore(入驻):解决合并冲突未完全解决问题 2026-04-27 10:44:38 +08:00
lifizer fd583b7a2e Style(云灵AI):标题调整
(cherry picked from commit 8c1aa62024)
2026-04-27 10:35:06 +08:00
linxi 7dedcf773f Fix:体验店显示判断调整 2026-04-24 18:18:25 +08:00
linxi a8907717b2 Fix:体验店显示判断调整 2026-04-24 14:21:19 +08:00
linxi ed23d2e220 Style:资讯店铺链接优化
(cherry picked from commit a863ee7c85)
2026-04-24 09:18:14 +08:00
linxi 7d55bdf879 Style:体验店封面优化
(cherry picked from commit 49580bc511)
2026-04-24 09:18:09 +08:00
linxi 4b56c2cce7 Fix:订单列表商品图片调大
(cherry picked from commit 341d4d5c70)
2026-04-24 09:18:04 +08:00
linxi 77e900e02c Fix:团购订单核销后没有同步弹出体验券领取弹窗,用户首次进入该团购订单详情页才会显示弹窗
(cherry picked from commit a86b416ed8)
2026-04-24 09:17:58 +08:00
LinCyJang 75e9c404fc Fix:旅居订单增加轮询 2026-04-24 09:17:49 +08:00
linxi 0a70e4af6c Fix:5126 【商城小程序】地址被驳回状态的提示词修改 2026-04-22 15:50:05 +08:00
linxi 11e294bcdc Fix:5173 【商城小程序】首页甄选好礼的轮播,长时间熄屏再打开,首页甄选好礼的轮播会异常卡顿,目前发现有这个现象的机型:iPhone XR、iPhone 16Pro
(cherry picked from commit b4b6fed1ab)
2026-04-22 15:36:24 +08:00
linxi 3e0e1542b6 Fix:5168 【商城小程序】文化图片改为非必填,去除必填标识
(cherry picked from commit 9dc63c2207)
2026-04-22 15:36:18 +08:00
linxi ae3fbf914b Fix:5172 【商城小程序】将左右间距加宽一点
(cherry picked from commit 9fa58286e8)
2026-04-22 15:36:13 +08:00
linxi 8ee399823d Fix:5126 【商城小程序】地址被驳回状态的提示词修改
(cherry picked from commit 3e0940f42c)
2026-04-22 15:36:06 +08:00
LinCyJang dac7c96189 Fix:5168 【商城小程序】文化图片改为非必填,去除必填标识 2026-04-21 20:45:50 +08:00
LinCyJang 458d2b8b65 Fix:5115 【商城小程序】店铺链接数据显示混乱
(cherry picked from commit 505d383bff)
2026-04-21 20:28:35 +08:00
LinCyJang 33a1125294 Fix:5126 【商城小程序】地址被驳回状态的提示词修改
(cherry picked from commit 23af0da8fa)
2026-04-21 20:28:30 +08:00
linxi a2d0ef8dfa Fix:5162 【商城小程序】待收货订单申请退款,退款中状态地址信息部分显示null 2026-04-21 20:27:44 +08:00
LinCyJang b0c4a5621e Fix:5160 【商城小程序】在订单列表购物“正在加载中”状态下快速切换旅居标签,出现数据错位
(cherry picked from commit e3316844e3)
2026-04-21 20:27:10 +08:00
linxi 8c83e0a1bc Fix:5147 【商城小程序】修改地址审核中状态下申请退款,订单详情页只需显示原地址 2026-04-16 10:25:02 +08:00
linxi 97c4d7fe4f Fix:5149 【商城小程序】商品详情页,点击「联系商家」弹出的商家电话弹窗,号码显示空白但可正常跳转拨号 2026-04-16 10:18:53 +08:00
linxi 29827b250a Fix:5148 【商城小程序】列表体验店卡片页面样式调整 2026-04-16 10:16:01 +08:00
linxi edaba70c6e Fix:5150 【商城小程序】体验券按钮栏左右滑动时,按钮内容被异常遮挡,显示不完整 2026-04-16 10:13:29 +08:00
linxi e5c7900b89 Fix:5128 【商城小程序】修改申请被驳回后订单详情只需显示原地址 2026-04-13 19:48:03 +08:00
linxi d69cf4c9e2 Fix:5075 【商城小程序】点击体验店,链接跳转的体验店详情数据错误,获取的是旅居店铺的数据,应获取体验店数据
(cherry picked from commit 1d8b75e2d2)
2026-04-13 19:37:44 +08:00
linxi 4a29b1cd27 Fix:5085 【商城小程序】用户多笔订单支付成功后,自动跳转到"我的订单"-"待发货"页面
(cherry picked from commit 8f6b2a23d1)
2026-04-13 19:37:39 +08:00
linxi df1c6dfb73 Fix:5081 【商城小程序】用户订单创建后未支付,自动跳转到"我的订单"-“待付款”页面
(cherry picked from commit 8c4d588ffa)
2026-04-13 19:37:34 +08:00
linxi 13201d251b Fix:5145 【商城小程序】首页海报状态未实时更新,需重启小程序才生效
(cherry picked from commit 9cbf35d693)
2026-04-13 19:37:29 +08:00
lifizer be90572388 Merge branch 'dev' into test 2026-04-13 15:32:21 +08:00
lifizer 335793676b Merge branch 'dev' into test 2026-02-25 10:23:01 +08:00
lifizer 377852a65f Merge branch 'dev' into test 2026-01-20 10:04:02 +08:00
LinCyJang f202fca716 Merge branch 'dev' into test 2026-01-19 21:44:44 +08:00
lifizer d288547259 Merge branch 'dev' into test 2026-01-07 09:48:46 +08:00
lifizer 5568cf039e Merge branch 'dev' into test 2025-12-22 16:29:14 +08:00
linxi ef66206182 Fix:收礼页调整
(cherry picked from commit e05eb3e389)
2025-12-15 10:09:18 +08:00
linxi d00fe87625 Fix:康养搜索增加 shopType=wellness
(cherry picked from commit a6735d284e)
2025-12-15 10:09:11 +08:00
linxi 749e3901f8 Fix:旅居分享问题
(cherry picked from commit 1f4ea5c0c8)
2025-12-15 10:09:06 +08:00
lifizer 1710f4809c Fix(专题页):尖货&节日分享朋友圈进入小程序渲染错误
(cherry picked from commit eaa36dcf44)
2025-12-15 10:08:55 +08:00
lifizer 38545cd76e Merge branch 'dev' into test 2025-12-09 16:39:27 +08:00
linxi b9dcbe6560 Fix:4004 【商城小程序】在互动消息列表回复资讯评论,内容被顶至屏幕之外
(cherry picked from commit 7a44ed3265)
2025-11-22 16:25:47 +08:00
linxi 50e143f13c Fix:4628 【旅居商城小程序】团购订单提交页面——输入框内容,未固定位置。
(cherry picked from commit b2121e71ef)
2025-11-22 16:25:39 +08:00
linxi 7c65d839d9 Fix:4646 【旅居商城小程序】团购礼包退款后,收礼方领取时的提示信息改为“礼品卡已失效”(iOS需修改提示,安卓需增加提示)
(cherry picked from commit d43fc253c9)
2025-11-22 16:25:35 +08:00
linxi f29ca88ab3 Fix:4643 【旅居商城小程序】没开转赠的团购礼包领取页面需要单独关闭右上角转发功能
(cherry picked from commit c9f3767cbd)
2025-11-21 12:34:20 +08:00
linxi 56402e37f3 Fix:4601 【旅居管理后台,商城小程序】旅居商户管理—修改所属分类为“康养分类”,在前端小程序中不显示
(cherry picked from commit 889b0de9b7)
2025-11-21 12:34:15 +08:00
linxi c39f2a4da8 Fix:4629 【旅居供应链小程序】供应链小程序/PC端修改资讯,将图片资讯改为视频后,视频无法正常播放
(cherry picked from commit 6e316a9f2c)
2025-11-21 12:34:11 +08:00
linxi c894689365 Fix:4634 【旅居商城小程序】播放资讯视频时,旅居店铺封面视频未暂停
(cherry picked from commit 4686c6d87a)
2025-11-21 12:34:06 +08:00
linxi 5c23dc9773 Fix:4632 【旅居商城小程序】团购详情轮播图循环逻辑错误
(cherry picked from commit 896f8dee7f)
2025-11-21 12:34:02 +08:00
linxi bad10982b7 Fix:4639 【旅居商城小程序】预约日期包含以下几个时间段时无法预约:1.31-2.1,3.31-4.1,5.31-6.1,8.31-9.1,10.31-11.1(应改为:只要选择的时间段可预约、并且等于团购天数,就可以预约成功)
(cherry picked from commit d9ee41d8f3)
2025-11-21 12:33:56 +08:00
linxi fe0397a483 Fix:4623 【旅居商城小程序】新增的视频资讯无法正常播放 2025-11-19 10:26:32 +08:00
linxi a535c8192e Fix:4613 【旅居商城小程序】待支付订单进行支付时,取消订单状态导航栏可点击状态 2025-11-18 14:28:34 +08:00
linxi 2e1fa524fa Fix:4598 【旅居商城小程序】供应链小程序新增视频资讯,前端视频未显示 2025-11-18 14:22:41 +08:00
linxi 48284adb6b Fix:4610 【旅居商城小程序】资讯正文的文本格式(换行、字体加粗等)在前端未生效 2025-11-18 14:19:19 +08:00
linxi 2af9fe99ee Fix:4260 【旅居商城小程序】管理后台新增旅居商户后,相应的用户进入商城小程序点击入驻入口,弹出提示窗,即将打开供应链小程序。确认后打开供应链小程序,如下图所示
(cherry picked from commit f884d1c764)
2025-11-17 15:36:09 +08:00
linxi 5caa9b176a Fix:4432 【旅居商城小程序】订单状态列表,待确认订单未显示确认倒计时
(cherry picked from commit 31ce97db6a)
2025-11-17 15:36:04 +08:00
linxi 438b7a98e4 Fix:4373 【旅居商城小程序】审核中状态下无法撤销入驻申请(参考供应商和特色店铺的入驻流程,【审核中】状态标识提到顶部显示,底部改成【撤销申请】)/接口
(cherry picked from commit 7786f88896)
2025-11-17 15:36:00 +08:00
linxi a2f1d9f59e Fix:4373 【旅居商城小程序】审核中状态下无法撤销入驻申请(参考供应商和特色店铺的入驻流程,【审核中】状态标识提到顶部显示,底部改成【撤销申请】)
(cherry picked from commit b260bb9e34)
2025-11-17 15:35:55 +08:00
linxi c4787b56e8 Fix:4519 【旅居商城小程序】送礼—礼包订单类型改为“礼包订单”
(cherry picked from commit 51ff86e4f8)
2025-11-17 15:35:51 +08:00
linxi 0937a32bce Fix:4388 【旅居商城小程序】管理后台配置商家号码在前端小程序未生效
(cherry picked from commit 3d8df506e0)
2025-11-17 15:35:47 +08:00
linxi cfef9c5b39 Fix:4600 【旅居管理后台,商城小程序】旅居商户管理—修改所属分类为“康养顶部”,在前端小程序所有康养城市顶部都会显示
(cherry picked from commit 2d8f2b16a9)
2025-11-17 15:35:43 +08:00
linxi 85906cbe44 Fix:4602 【旅居商城小程序】提交团购订单页面,联系商家-点击立即拨打按钮无效
(cherry picked from commit 1d34f4dd08)
2025-11-17 15:35:39 +08:00
4 changed files with 58 additions and 383 deletions
-13
View File
@@ -885,18 +885,6 @@ export const chatMixinsV2 = {
this.currentGiftStepIndex-- this.currentGiftStepIndex--
} }
}, },
clearCurrentGiftStepData() {
const currentStep = this.giftBuyOptions[this.currentGiftStepIndex]
if (!currentStep) return
if (currentStep.type === 'option_card') {
const nextSelections = { ...this.giftSelections }
delete nextSelections[currentStep.id]
this.giftSelections = nextSelections
} else if (currentStep.type === 'price_input') {
this.giftBudget = ''
}
},
nextGiftStep() { nextGiftStep() {
const currentStep = this.giftBuyOptions[this.currentGiftStepIndex] const currentStep = this.giftBuyOptions[this.currentGiftStepIndex]
let hasSelection = false let hasSelection = false
@@ -924,7 +912,6 @@ export const chatMixinsV2 = {
} }
}, },
skipGiftStep() { skipGiftStep() {
this.clearCurrentGiftStepData()
if (this.currentGiftStepIndex < this.giftBuyOptions.length - 1) { if (this.currentGiftStepIndex < this.giftBuyOptions.length - 1) {
this.currentGiftStepIndex++ this.currentGiftStepIndex++
} else { } else {
-12
View File
@@ -148,15 +148,3 @@ export function aiGiftImageStatus(params) {
login: true login: true
}) })
} }
/**
* 获取商品以前使用过的AI礼品卡图片
* @param {*} params
* @returns
*/
export function aiGiftImageHistory(params) {
return request.get("/giftCard/aiGiftImages/history?productId=" + params.productId, {
login: true
})
}
@@ -1,164 +0,0 @@
<template>
<u-popup
:show="show"
mode="bottom"
round="40rpx"
:customStyle="{height: '600rpx'}"
@close="close"
>
<view class="cover-picker v12-pt-4">
<swiper
:current="currentIndex"
:autoplay="false"
:circular="true"
:indicator-dots="false"
@change="onChange"
previous-margin="180rpx"
next-margin="180rpx"
class="cover-swiper"
>
<swiper-item v-for="(item, i) in list" :key="i" class="cover-swiper-item" :class="{'n-actived' : currentIndex !== i}">
<view class="cover-item" :class="{'ios-cover': isIOS}">
<view class="img-wrap">
<image :src="item.cover" class="cover-image" mode="widthFix" />
</view>
</view>
</swiper-item>
</swiper>
<view class="v12-justify-center">
<view class="cover-confirm" @click="confirm">
确定
</view>
</view>
<view class="tips">礼包封面在对方领取时展示</view>
<view class="tips tips2">*图片由云灵AI生成仅供参考</view>
</view>
</u-popup>
</template>
<script>
export default {
props: {
index: {
type: Number,
default: 0
},
show: {
type: Boolean,
default: true
},
list: {
type: Array,
default: () => []
}
},
data() {
return {
currentIndex: this.index
}
},
computed: {
isIOS() {
return uni.getSystemInfoSync().osName === 'ios'
}
},
watch: {
index(val) {
this.currentIndex = val
},
show(val) {
if (val) {
this.currentIndex = this.index
}
}
},
methods: {
close() {
this.currentIndex = 0
this.$emit('update:show', false)
},
onChange(e) {
this.currentIndex = e.detail.current
this.$forceUpdate()
},
confirm() {
this.$emit('confirm', this.list[this.currentIndex])
this.$emit('update:show', false)
}
}
}
</script>
<style lang="less" scoped>
.n-actived{
.cover-item{
transform: scale(0.8);
margin-bottom: -70rpx !important;
}
}
.cover-swiper-item{
height: fit-content !important;
bottom: 0;
overflow: visible;
}
.img-wrap{
position: relative;
overflow: visible;
}
.tips{
font-size: 24rpx;
color: #999;
text-align: center;
margin-top: 20rpx;
}
.tips2{
color: #C52733;
}
.cover-swiper{
height: 800rpx;
}
.cover-picker {
.cover-title {
padding: 30rpx;
font-size: 32rpx;
font-weight: bold;
text-align: center;
margin-bottom: 30rpx;
}
.cover-item {
display: flex;
flex-direction: column;
align-items: center;
overflow: visible;
transition: all .3s ease-in-out;
margin-bottom: 30rpx;
.cover-image {
width: 420rpx;
// height: 580rpx;
border-radius: 16rpx;
transition: all .2s ease-in-out;
}
.cover-name {
margin-top: 20rpx;
font-size: 28rpx;
color: #333;
}
}
.cover-confirm {
margin-top: 40rpx;
width: 240rpx;
height: 80rpx;
border-radius: 16rpx;
font-size: 32rpx;
background-color: #C52733 !important;
color: #fff !important;
text-align: center;
line-height: 80rpx;
}
}
.ios-cover{
zoom: 1.01
}
</style>
+25 -161
View File
@@ -36,7 +36,6 @@
> >
<view class="ai-cover-body"> <view class="ai-cover-body">
<view class="ai-cover-container"> <view class="ai-cover-container">
<view v-if="!showAiImgHistoryListSelect">
<view v-if="showGenerateBtn" class="prompt"> <view v-if="showGenerateBtn" class="prompt">
<textarea <textarea
v-model.trim="aiCoverDesc" v-model.trim="aiCoverDesc"
@@ -46,12 +45,8 @@
/> />
<p class="prompt-tips">{{ aiCoverDesc.length }}/300</p> <p class="prompt-tips">{{ aiCoverDesc.length }}/300</p>
</view> </view>
<view v-else class="imgs-list-wrap ai-img-list-wrap"> <view v-else class="imgs-list-wrap">
<view <view class="img-item" v-for="(item, index) in aiCoverImgsList" :key="index">
v-for="(item, index) in aiCoverImgsList"
:key="index"
class="img-item"
>
<image <image
:src="item.cover" :src="item.cover"
:class="{ :class="{
@@ -64,39 +59,8 @@
</view> </view>
</view> </view>
</view> </view>
<view v-else>
<view
:class="{'scrollable': aiHistoryCoverImgsList.length > 3}"
class="imgs-list-wrap"
>
<view
v-for="(item, index) in aiHistoryCoverImgsList"
:key="index"
class="img-item"
>
<image
:src="item.cover"
:class="{
'active': item.id === selectedAiCoverImage.id
}"
mode="heightFix"
class="img-image"
@click="handleSelectAiHistoryCover(item)"
/>
</view>
</view>
</view>
</view>
<view class="ai-cover-bottom"> <view class="ai-cover-bottom">
<block v-if="!showAiImgHistoryListSelect">
<view v-if="showGenerateBtn" class="btn-wrap"> <view v-if="showGenerateBtn" class="btn-wrap">
<view
v-if="!aiCoverGenerateLoading && aiHistoryCoverImgsList.length > 0"
class="btn btn2"
@click="toggleShowAiImgHistoryListSelect(true)"
>
历史图片
</view>
<view class="btn" @click="handleGenerateAiCover"> <view class="btn" @click="handleGenerateAiCover">
{{ aiCoverGenerateLoading ? '礼包封面生成中...' : 'AI生成礼包封面' }} {{ aiCoverGenerateLoading ? '礼包封面生成中...' : 'AI生成礼包封面' }}
<image v-if="!aiCoverGenerateLoading" :src="webUrl + '/page/gift/gift-tab-icon01.png'" class="icon"></image> <image v-if="!aiCoverGenerateLoading" :src="webUrl + '/page/gift/gift-tab-icon01.png'" class="icon"></image>
@@ -115,17 +79,6 @@
重新生成 重新生成
</view> </view>
</view> </view>
</block>
<block v-else>
<view class="btn-wrap">
<view class="btn" @click="handleShowAiHistoryCoverPicker">
预览
</view>
<view class="btn btn2" @click="toggleShowAiImgHistoryListSelect(false)">
使用AI生成
</view>
</view>
</block>
</view> </view>
</view> </view>
</view> </view>
@@ -279,12 +232,6 @@
:index="aiDefaultIndex" :index="aiDefaultIndex"
@confirm="onAiCoverConfirm" @confirm="onAiCoverConfirm"
/> />
<AiHistoryCoverPicker
:show.sync="showAiHistoryCoverPicker"
:list="aiHistoryCoverImgsList"
:index="aiHistoryDefaultIndex"
@confirm="onAiHistoryCoverConfirm"
/>
<passkeyborad <passkeyborad
ref='payPwdPop' ref='payPwdPop'
showMoney showMoney
@@ -355,8 +302,7 @@ import {
fetchSojoumGroupBuyGiftCarousel, fetchSojoumGroupBuyGiftCarousel,
computedSojoumGroupBuyGiftOrderPrice, computedSojoumGroupBuyGiftOrderPrice,
aiGiftImageGenerate, aiGiftImageGenerate,
aiGiftImageStatus, aiGiftImageStatus
aiGiftImageHistory
} from '@/api/gift' } from '@/api/gift'
import { import {
getAiSystemInfoSetting getAiSystemInfoSetting
@@ -366,7 +312,6 @@ import {mapGetters} from "vuex";
import giftTips from './components/giftTips.vue' import giftTips from './components/giftTips.vue'
import CoverPicker from './components/CoverPicker.vue' import CoverPicker from './components/CoverPicker.vue'
import AiCoverPicker from './components/AiCoverPicker.vue' import AiCoverPicker from './components/AiCoverPicker.vue'
import AiHistoryCoverPicker from './components/AiHistoryCoverPicker.vue'
import PayPicker from './components/PayPicker.vue'; import PayPicker from './components/PayPicker.vue';
import CouponsPopup from "@/components/CouponsPopup.vue" import CouponsPopup from "@/components/CouponsPopup.vue"
export default { export default {
@@ -374,7 +319,6 @@ export default {
giftTips, giftTips,
CoverPicker, CoverPicker,
AiCoverPicker, AiCoverPicker,
AiHistoryCoverPicker,
PayPicker, PayPicker,
passkeyborad, passkeyborad,
CouponsPopup CouponsPopup
@@ -417,7 +361,6 @@ export default {
defaultIndex:0, defaultIndex:0,
discount: null, discount: null,
computedResult: {}, computedResult: {},
skipCouponIdWatch: false,
couponList: { couponList: {
unusable: [], unusable: [],
usable: [] usable: []
@@ -463,19 +406,11 @@ export default {
selectedAiCoverImage: {}, selectedAiCoverImage: {},
showAiCoverPicker: false, showAiCoverPicker: false,
pollInterval: null, pollInterval: null,
aiDefaultIndex: 0, aiDefaultIndex: 0
aiHistoryDefaultIndex: 0,
showAiHistoryCoverPicker: false,
aiHistoryCoverImgsList: [],
showAiImgHistoryListSelect: false
} }
}, },
watch: { watch: {
async couponId(value) { async couponId(value) {
if (this.skipCouponIdWatch) {
this.skipCouponIdWatch = false
return
}
if (this.isCountyLotteryGift) { if (this.isCountyLotteryGift) {
this.couponTitle = '' this.couponTitle = ''
if (Number(value || 0) !== 0) { if (Number(value || 0) !== 0) {
@@ -537,27 +472,11 @@ export default {
} }
}, },
methods: { methods: {
// 封面类型切换 // 將面切换
toggleSelectCoverType(type) { toggleSelectCoverType(type) {
if (this.selectCoverType === type) return if (this.selectCoverType === type) return
this.selectCoverType = type this.selectCoverType = type
}, },
// 获取商品以前使用过的AI礼品卡图片
aiGiftImageHistoryReq() {
aiGiftImageHistory({
productId: this.goodsInfo.productId
}).then(res => {
const { success, data } = res
if (success && data) {
this.aiHistoryCoverImgsList = data || []
this.aiHistoryCoverImgsList.map(historyItem => {
historyItem.cover = historyItem.coverUrl,
historyItem.image = historyItem.shareUrl,
historyItem.name = historyItem.name || ''
})
}
})
},
handleGenerateAiCover() { handleGenerateAiCover() {
if (!this.aiCoverDesc || !this.aiCoverDesc.trim()) { if (!this.aiCoverDesc || !this.aiCoverDesc.trim()) {
uni.showToast({ uni.showToast({
@@ -658,11 +577,6 @@ export default {
if (this.isCountyLotteryGift) return 0 if (this.isCountyLotteryGift) return 0
return this.couponId || 0 return this.couponId || 0
}, },
setCouponIdSilently(value) {
if (this.couponId === value) return
this.skipCouponIdWatch = true
this.couponId = value
},
isCountyLotteryCartItem(item) { isCountyLotteryCartItem(item) {
return Number( return Number(
(item && item.drawActivityId) || (item && item.drawActivityId) ||
@@ -677,7 +591,7 @@ export default {
if (!this.isCountyLotteryGift) return if (!this.isCountyLotteryGift) return
this.couponTitle = '' this.couponTitle = ''
if (Number(this.couponId || 0) !== 0) { if (Number(this.couponId || 0) !== 0) {
this.setCouponIdSilently(0) this.couponId = 0
} }
}, },
adjustCoverListForProductStory(coverList, productInfo, defaultTemplate) { adjustCoverListForProductStory(coverList, productInfo, defaultTemplate) {
@@ -722,10 +636,10 @@ export default {
if (this.isCountyLotteryGift) { if (this.isCountyLotteryGift) {
this.couponTitle = '' this.couponTitle = ''
if (this.couponId !== 0) { if (this.couponId !== 0) {
this.setCouponIdSilently(0) this.couponId = 0
} }
} else if(useDefaultCouponId) { } else if(useDefaultCouponId) {
this.setCouponIdSilently(res.data.result.defaultCouponId || 0) this.couponId = res.data.result.defaultCouponId || 0
} }
}) })
}, },
@@ -735,27 +649,6 @@ export default {
handleShowAiCover() { handleShowAiCover() {
this.showAiCoverPicker = true this.showAiCoverPicker = true
}, },
handleShowAiHistoryCoverPicker() {
this.showAiHistoryCoverPicker = true
},
toggleShowAiImgHistoryListSelect(show) {
this.showAiImgHistoryListSelect = show
this.selectedAiCoverImage = {}
this.selectedCover = ''
this.giftImage = ''
this.templateId = ''
this.aiHistoryDefaultIndex = 0
this.aiDefaultIndex = 0
if (show) {
if (this.aiHistoryCoverImgsList.length > 0 && this.aiHistoryDefaultIndex === 0) {
const index = this.aiHistoryCoverImgsList.findIndex(item => item.isLastSelected)
if (index !== -1) {
this.aiHistoryDefaultIndex = index
}
this.handleSelectAiHistoryCover(this.aiHistoryCoverImgsList[this.aiHistoryDefaultIndex])
}
}
},
showCouponsPopup() { showCouponsPopup() {
if (this.isCountyLotteryGift) return if (this.isCountyLotteryGift) return
if (this.couponList.usable && this.couponList.usable.length === 0) return if (this.couponList.usable && this.couponList.usable.length === 0) return
@@ -771,7 +664,7 @@ export default {
if (this.couponList.usable && this.couponList.usable.length === 0) return if (this.couponList.usable && this.couponList.usable.length === 0) return
this.showPopup = !this.showPopup this.showPopup = !this.showPopup
if(!item.id) { if(!item.id) {
this.setCouponIdSilently(0) this.couponId = 0
this.couponTitle = '' this.couponTitle = ''
if(this.isGroupBuy) { if(this.isGroupBuy) {
this.computedTravelGroupPrice(false) this.computedTravelGroupPrice(false)
@@ -780,7 +673,7 @@ export default {
} }
return return
} }
this.setCouponIdSilently(item.id) this.couponId = item.id
this.couponTitle = item.couponTitle this.couponTitle = item.couponTitle
if(this.isGroupBuy) { if(this.isGroupBuy) {
this.computedTravelGroupPrice(false) this.computedTravelGroupPrice(false)
@@ -815,7 +708,7 @@ export default {
this.giftImage = this.selectedAiCoverImage.image this.giftImage = this.selectedAiCoverImage.image
this.templateId = this.selectedAiCoverImage.id this.templateId = this.selectedAiCoverImage.id
} }
this.setCouponIdSilently('') this.couponId = ''
this.computedPrice(this.goodsInfo.cartNum) this.computedPrice(this.goodsInfo.cartNum)
}) })
}, },
@@ -852,10 +745,10 @@ export default {
if (this.isCountyLotteryGift) { if (this.isCountyLotteryGift) {
this.couponTitle = '' this.couponTitle = ''
if (this.couponId !== 0) { if (this.couponId !== 0) {
this.setCouponIdSilently(0) this.couponId = 0
} }
} else if(!f) { } else if(!f) {
this.setCouponIdSilently(res.data.result.defaultCouponId || 0) this.couponId = res.data.result.defaultCouponId || 0
this.$forceUpdate() this.$forceUpdate()
} }
this.payPrice = res.data.result.payPrice this.payPrice = res.data.result.payPrice
@@ -907,16 +800,6 @@ export default {
this.aiDefaultIndex = this.aiCoverImgsList.findIndex(item => item.id === cover.id) this.aiDefaultIndex = this.aiCoverImgsList.findIndex(item => item.id === cover.id)
} }
}, },
onAiHistoryCoverConfirm(cover) {
// 封面图片
this.selectedCover = cover.cover
// 分享对话图片
this.giftImage = cover.image
if (this.selectCoverType === 'ai') {
this.selectedAiCoverImage = cover
this.aiHistoryDefaultIndex = this.aiHistoryCoverImgsList.findIndex(item => item.id === cover.id)
}
},
handleSelectAiCover(cover) { handleSelectAiCover(cover) {
this.selectedAiCoverImage = cover this.selectedAiCoverImage = cover
this.aiDefaultIndex = this.aiCoverImgsList.findIndex(item => item.id === cover.id) this.aiDefaultIndex = this.aiCoverImgsList.findIndex(item => item.id === cover.id)
@@ -924,13 +807,6 @@ export default {
this.giftImage = cover.image this.giftImage = cover.image
this.templateId = cover.id this.templateId = cover.id
}, },
handleSelectAiHistoryCover(cover) {
this.selectedAiCoverImage = cover
this.aiHistoryDefaultIndex = this.aiHistoryCoverImgsList.findIndex(item => item.id === cover.id)
this.selectedCover = cover.cover
this.giftImage = cover.image
this.templateId = cover.id
},
showTips() { showTips() {
this.$refs.giftTips.showTips = true this.$refs.giftTips.showTips = true
}, },
@@ -941,27 +817,25 @@ export default {
} }
this.loading = true this.loading = true
getGiftCardSendOrderConfirm(params).then(res => { getGiftCardSendOrderConfirm(params).then(res => {
const data = res.data const temp = this.isGroupBuy ? res.data.giftCardTemplates : res.data.giftCardTemplates.filter(e => e.isTravelGroup === 0)
const temp = this.isGroupBuy ? data.giftCardTemplates : data.giftCardTemplates.filter(e => e.isTravelGroup === 0) const hasSpecial = res.data.giftCardTemplates.map(e => e.id).includes(res.data.specialGiftCardTemplate.id)
const hasSpecial = data.giftCardTemplates.map(e => e.id).includes(data.specialGiftCardTemplate.id) const initialCoverList = hasSpecial ? [...temp] : [...temp, res.data.specialGiftCardTemplate]
const initialCoverList = hasSpecial ? [...temp] : [...temp, data.specialGiftCardTemplate] const goodsInfo = res.data.cartInfo[0]
const goodsInfo = data.cartInfo[0] const { coverList, template } = this.adjustCoverListForProductStory(initialCoverList, goodsInfo && goodsInfo.productInfo, res.data.specialGiftCardTemplate)
const { coverList, template } = this.adjustCoverListForProductStory(initialCoverList, goodsInfo && goodsInfo.productInfo, data.specialGiftCardTemplate)
this.coverList = coverList this.coverList = coverList
this.giftNotice = data.giftCardGiftNotice this.giftNotice = res.data.giftCardGiftNotice
this.orderKey = data.orderKey this.orderKey = res.data.orderKey
this.goodsInfo = goodsInfo this.goodsInfo = goodsInfo
this.syncCountyLotteryGiftFlag(goodsInfo) this.syncCountyLotteryGiftFlag(goodsInfo)
this.templateId = template.id this.templateId = template.id
this.selectedCover = template.cover this.selectedCover = template.cover
this.giftImage = template.image this.giftImage = template.image
this.blindImage = data.giftCardBlindBoxShareImage this.blindImage = res.data.giftCardBlindBoxShareImage
this.defaultIndex = this.coverList.findIndex(item => item.id === this.templateId) this.defaultIndex = this.coverList.findIndex(item => item.id === this.templateId)
// if(!this.couponId) { // if(!this.couponId) {
// this.couponId = data.couponList.usable[0] && data.couponList.usable[0].id || '' // this.couponId = res.data.couponList.usable[0] && res.data.couponList.usable[0].id || ''
// } // }
this.computedPrice(this.goodsInfo.cartNum) this.computedPrice(this.goodsInfo.cartNum)
this.aiGiftImageHistoryReq()
this.isLoad = true this.isLoad = true
}).finally(() => { }).finally(() => {
this.loading = false this.loading = false
@@ -980,7 +854,6 @@ export default {
if (this.isCountyLotteryGift && this.isEligibleForDraw) { if (this.isCountyLotteryGift && this.isEligibleForDraw) {
this.showLotteryGiftPopup = true this.showLotteryGiftPopup = true
} }
this.aiGiftImageHistoryReq()
}, },
closeLotteryGiftPopup() { closeLotteryGiftPopup() {
this.showLotteryGiftPopup = false this.showLotteryGiftPopup = false
@@ -1460,28 +1333,19 @@ export default {
} }
.imgs-list-wrap { .imgs-list-wrap {
display: flex; display: flex;
justify-content: center; justify-content: space-around;
align-items: baseline; align-items: baseline;
gap: 40rpx; gap: 24rpx;
padding: 20rpx 0; padding: 20rpx 0;
box-sizing: border-box; box-sizing: border-box;
&.scrollable {
justify-content: flex-start;
flex-wrap: nowrap;
overflow-x: auto;
}
} }
.img-image { .img-image {
display: block; display: block;
height: 176rpx; height: 176rpx;
flex-shrink: 0;
&.active { &.active {
transform: scale(1.2) translateY(-16rpx); transform: scale(1.2);
} }
} }
.ai-img-list-wrap {
padding: 28rpx 0 20rpx 0;
}
} }
.ai-cover-bottom { .ai-cover-bottom {
margin-top: 12rpx; margin-top: 12rpx;