From f6ea543b3de9a770c1bf5db2baf3e8a5dc2c867a Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期一, 30 十二月 2024 18:18:44 +0800 Subject: [PATCH] 10.88.4.131 --- src/components/DiyEditor/components/mobile/PromotionCombination/property.vue | 86 ++++++++++++++++++++++++++++++++++-------- 1 files changed, 69 insertions(+), 17 deletions(-) diff --git a/src/components/DiyEditor/components/mobile/PromotionCombination/property.vue b/src/components/DiyEditor/components/mobile/PromotionCombination/property.vue index ec09dc4..ea901a0 100644 --- a/src/components/DiyEditor/components/mobile/PromotionCombination/property.vue +++ b/src/components/DiyEditor/components/mobile/PromotionCombination/property.vue @@ -2,30 +2,31 @@ <ComponentContainerProperty v-model="formData.style"> <el-form label-width="80px" :model="formData"> <el-card header="拼团活动" class="property-group" shadow="never"> - <el-form-item label="拼团活动" prop="activityId"> - <el-select v-model="formData.activityId"> - <el-option - v-for="activity in activityList" - :key="activity.id" - :label="activity.name" - :value="activity.id" - /> - </el-select> - </el-form-item> + <CombinationShowcase v-model="formData.activityIds" /> </el-card> <el-card header="商品样式" class="property-group" shadow="never"> <el-form-item label="布局" prop="type"> <el-radio-group v-model="formData.layoutType"> - <el-tooltip class="item" content="单列" placement="bottom"> - <el-radio-button label="oneCol"> + <el-tooltip class="item" content="单列大图" placement="bottom"> + <el-radio-button value="oneColBigImg"> <Icon icon="fluent:text-column-one-24-filled" /> </el-radio-button> </el-tooltip> - <el-tooltip class="item" content="三列" placement="bottom"> - <el-radio-button label="threeCol"> - <Icon icon="fluent:text-column-three-24-filled" /> + <el-tooltip class="item" content="单列小图" placement="bottom"> + <el-radio-button value="oneColSmallImg"> + <Icon icon="fluent:text-column-two-left-24-filled" /> </el-radio-button> </el-tooltip> + <el-tooltip class="item" content="双列" placement="bottom"> + <el-radio-button value="twoCol"> + <Icon icon="fluent:text-column-two-24-filled" /> + </el-radio-button> + </el-tooltip> + <!--<el-tooltip class="item" content="三列" placement="bottom"> + <el-radio-button value="threeCol"> + <Icon icon="fluent:text-column-three-24-filled" /> + </el-radio-button> + </el-tooltip>--> </el-radio-group> </el-form-item> <el-form-item label="商品名称" prop="fields.name.show"> @@ -34,10 +35,34 @@ <el-checkbox v-model="formData.fields.name.show" /> </div> </el-form-item> + <el-form-item label="商品简介" prop="fields.introduction.show"> + <div class="flex gap-8px"> + <ColorInput v-model="formData.fields.introduction.color" /> + <el-checkbox v-model="formData.fields.introduction.show" /> + </div> + </el-form-item> <el-form-item label="商品价格" prop="fields.price.show"> <div class="flex gap-8px"> <ColorInput v-model="formData.fields.price.color" /> <el-checkbox v-model="formData.fields.price.show" /> + </div> + </el-form-item> + <el-form-item label="市场价" prop="fields.marketPrice.show"> + <div class="flex gap-8px"> + <ColorInput v-model="formData.fields.marketPrice.color" /> + <el-checkbox v-model="formData.fields.marketPrice.show" /> + </div> + </el-form-item> + <el-form-item label="商品销量" prop="fields.salesCount.show"> + <div class="flex gap-8px"> + <ColorInput v-model="formData.fields.salesCount.color" /> + <el-checkbox v-model="formData.fields.salesCount.show" /> + </div> + </el-form-item> + <el-form-item label="商品库存" prop="fields.stock.show"> + <div class="flex gap-8px"> + <ColorInput v-model="formData.fields.stock.color" /> + <el-checkbox v-model="formData.fields.stock.show" /> </div> </el-form-item> </el-card> @@ -47,9 +72,35 @@ </el-form-item> <el-form-item label="角标" prop="badge.imgUrl" v-if="formData.badge.show"> <UploadImg v-model="formData.badge.imgUrl" height="44px" width="72px"> - <template #tip> 建议尺寸:36 * 22 </template> + <template #tip> 建议尺寸:36 * 22</template> </UploadImg> </el-form-item> + </el-card> + <el-card header="按钮" class="property-group" shadow="never"> + <el-form-item label="按钮类型" prop="btnBuy.type"> + <el-radio-group v-model="formData.btnBuy.type"> + <el-radio-button value="text">文字</el-radio-button> + <el-radio-button value="img">图片</el-radio-button> + </el-radio-group> + </el-form-item> + <template v-if="formData.btnBuy.type === 'text'"> + <el-form-item label="按钮文字" prop="btnBuy.text"> + <el-input v-model="formData.btnBuy.text" /> + </el-form-item> + <el-form-item label="左侧背景" prop="btnBuy.bgBeginColor"> + <ColorInput v-model="formData.btnBuy.bgBeginColor" /> + </el-form-item> + <el-form-item label="右侧背景" prop="btnBuy.bgEndColor"> + <ColorInput v-model="formData.btnBuy.bgEndColor" /> + </el-form-item> + </template> + <template v-else> + <el-form-item label="图片" prop="btnBuy.imgUrl"> + <UploadImg v-model="formData.btnBuy.imgUrl" height="56px" width="56px"> + <template #tip> 建议尺寸:56 * 56</template> + </UploadImg> + </el-form-item> + </template> </el-card> <el-card header="商品样式" class="property-group" shadow="never"> <el-form-item label="上圆角" prop="borderRadiusTop"> @@ -92,6 +143,7 @@ import { usePropertyForm } from '@/components/DiyEditor/util' import * as CombinationActivityApi from '@/api/mall/promotion/combination/combinationActivity' import { CommonStatusEnum } from '@/utils/constants' +import CombinationShowcase from '@/views/mall/promotion/combination/components/CombinationShowcase.vue' // 拼团属性面板 defineOptions({ name: 'PromotionCombinationProperty' }) @@ -100,7 +152,7 @@ const emit = defineEmits(['update:modelValue']) const { formData } = usePropertyForm(props.modelValue, emit) // 活动列表 -const activityList = ref<CombinationActivityApi.CombinationActivityVO>([]) +const activityList = ref<CombinationActivityApi.CombinationActivityVO[]>([]) onMounted(async () => { const { list } = await CombinationActivityApi.getCombinationActivityPage({ status: CommonStatusEnum.ENABLE -- Gitblit v1.9.3