fix: 完善砍价活动管理对齐后端

This commit is contained in:
puhui999
2023-08-17 10:52:40 +08:00
parent 7bf3e41c61
commit 44be35b5ce
5 changed files with 62 additions and 22 deletions

View File

@@ -51,7 +51,7 @@
<el-button @click="dialogVisible = false"> </el-button>
</template>
</Dialog>
<SpuSelect ref="spuSelectRef" :isSelectSku="true" @confirm="selectSpu" />
<SpuSelect ref="spuSelectRef" :isSelectSku="true" :radio="true" @confirm="selectSpu" />
</template>
<script lang="ts" setup>
import * as BargainActivityApi from '@/api/mall/promotion/bargain/bargainActivity'
@@ -87,12 +87,12 @@ const ruleConfig: RuleConfig[] = [
},
{
name: 'productConfig.bargainPrice',
rule: (arg) => arg > 0,
rule: (arg) => arg >= 0,
message: '商品砍价底价不能小于0 '
},
{
name: 'productConfig.stock',
rule: (arg) => arg > 1,
rule: (arg) => arg >= 1,
message: '商品活动库存不能小于1 '
}
]
@@ -164,7 +164,20 @@ const open = async (type: string, id?: number) => {
// 用户每次砍价金额分转元, 分转元
data.randomMinPrice = formatToFraction(data.randomMinPrice)
data.randomMaxPrice = formatToFraction(data.randomMaxPrice)
await getSpuDetails(data.spuId!, data.products?.map((sku) => sku.skuId), data.products)
// 对齐活动商品处理结构
await getSpuDetails(
data.spuId!,
[data.skuId],
[
{
spuId: data.spuId!,
skuId: data.skuId,
bargainFirstPrice: data.bargainFirstPrice, // 砍价起始价格,单位分
bargainPrice: data.bargainPrice, // 砍价底价
stock: data.stock // 活动库存
}
]
)
formRef.value.setValues(data)
} finally {
formLoading.value = false
@@ -201,12 +214,12 @@ const submitForm = async () => {
// 用户每次砍价金额分转元, 元转分
data.randomMinPrice = convertToInteger(data.randomMinPrice)
data.randomMaxPrice = convertToInteger(data.randomMaxPrice)
data.products = products
const formData = { ...data, ...products[0] }
if (formType.value === 'create') {
await BargainActivityApi.createBargainActivity(data)
await BargainActivityApi.createBargainActivity(formData)
message.success(t('common.createSuccess'))
} else {
await BargainActivityApi.updateBargainActivity(data)
await BargainActivityApi.updateBargainActivity(formData)
message.success(t('common.updateSuccess'))
}
dialogVisible.value = false