Skip to content

Commit 3fd9f1b

Browse files
author
puhui999
committed
fix: mall SeckillConfig
1 parent b67fabc commit 3fd9f1b

File tree

4 files changed

+41
-11
lines changed

4 files changed

+41
-11
lines changed

src/api/mall/promotion/seckill/seckillConfig.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ export interface SeckillConfigVO {
55
name: string
66
startTime: string
77
endTime: string
8-
picUrl: string
8+
sliderPicUrls: string[]
99
status: number
1010
}
1111

src/views/mall/promotion/seckill/config/SeckillConfigForm.vue

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
<script lang="ts" name="SeckillConfigForm" setup>
1111
import * as SeckillConfigApi from '@/api/mall/promotion/seckill/seckillConfig'
1212
import { allSchemas, rules } from './seckillConfig.data'
13+
import { cloneDeep } from 'lodash-es'
1314
1415
const { t } = useI18n() // 国际化
1516
const message = useMessage() // 消息弹窗
@@ -30,6 +31,9 @@ const open = async (type: string, id?: number) => {
3031
formLoading.value = true
3132
try {
3233
const data = await SeckillConfigApi.getSeckillConfig(id)
34+
data.sliderPicUrls = data['sliderPicUrls']?.map((item) => ({
35+
url: item
36+
}))
3337
formRef.value.setValues(data)
3438
} finally {
3539
formLoading.value = false
@@ -48,12 +52,20 @@ const submitForm = async () => {
4852
// 提交请求
4953
formLoading.value = true
5054
try {
55+
// 处理轮播图列表
5156
const data = formRef.value.formModel as SeckillConfigApi.SeckillConfigVO
57+
const cloneData = cloneDeep(data)
58+
const newSliderPicUrls = []
59+
cloneData.sliderPicUrls.forEach((item) => {
60+
// 如果是前端选的图
61+
typeof item === 'object' ? newSliderPicUrls.push(item.url) : newSliderPicUrls.push(item)
62+
})
63+
cloneData.sliderPicUrls = newSliderPicUrls
5264
if (formType.value === 'create') {
53-
await SeckillConfigApi.createSeckillConfig(data)
65+
await SeckillConfigApi.createSeckillConfig(cloneData)
5466
message.success(t('common.createSuccess'))
5567
} else {
56-
await SeckillConfigApi.updateSeckillConfig(data)
68+
await SeckillConfigApi.updateSeckillConfig(cloneData)
5769
message.success(t('common.updateSuccess'))
5870
}
5971
dialogVisible.value = false

src/views/mall/promotion/seckill/config/index.vue

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,14 @@
2929
total: tableObject.total
3030
}"
3131
>
32-
<template #picUrl="{ row }">
33-
<el-image :src="row.picUrl" class="w-30px h-30px" @click="imagePreview(row.picUrl)" />
32+
<template #sliderPicUrls="{ row }">
33+
<el-image
34+
v-for="(item, index) in row.sliderPicUrls"
35+
:key="index"
36+
:src="item"
37+
class="w-60px h-60px mr-10px"
38+
@click="imagePreview(row.sliderPicUrls)"
39+
/>
3440
</template>
3541
<template #status="{ row }">
3642
<el-switch
@@ -70,6 +76,7 @@ import * as SeckillConfigApi from '@/api/mall/promotion/seckill/seckillConfig'
7076
import SeckillConfigForm from './SeckillConfigForm.vue'
7177
import { createImageViewer } from '@/components/ImageViewer'
7278
import { CommonStatusEnum } from '@/utils/constants'
79+
import { isArray } from '@/utils/is'
7380
7481
const message = useMessage() // 消息弹窗
7582
// tableObject:表格的属性对象,可获得分页大小、条数等属性
@@ -82,10 +89,18 @@ const { tableObject, tableMethods } = useTable({
8289
// 获得表格的各种操作
8390
const { getList, setSearchParams } = tableMethods
8491
85-
/** 商品图预览 */
86-
const imagePreview = (imgUrl: string) => {
92+
/** 轮播图预览预览 */
93+
const imagePreview = (args) => {
94+
const urlList = []
95+
if (isArray(args)) {
96+
args.forEach((item) => {
97+
urlList.push(item)
98+
})
99+
} else {
100+
urlList.push(args)
101+
}
87102
createImageViewer({
88-
urlList: [imgUrl]
103+
urlList
89104
})
90105
}
91106

src/views/mall/promotion/seckill/config/seckillConfig.data.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,14 @@ const crudSchemas = reactive<CrudSchema[]>([
4646
}
4747
},
4848
{
49-
label: '秒杀主图',
50-
field: 'picUrl',
49+
label: '秒杀轮播图',
50+
field: 'sliderPicUrls',
5151
isSearch: false,
5252
form: {
53-
component: 'UploadImg'
53+
component: 'UploadImgs'
54+
},
55+
table: {
56+
width: 300
5457
}
5558
},
5659
{

0 commit comments

Comments
 (0)