fix: 完善 mall seckillActivity add
parent
51e79f29cc
commit
341303b014
|
@ -10,7 +10,6 @@
|
||||||
<!-- 先选择 -->
|
<!-- 先选择 -->
|
||||||
<template #spuIds>
|
<template #spuIds>
|
||||||
<el-button @click="spuSelectRef.open()">选择商品</el-button>
|
<el-button @click="spuSelectRef.open()">选择商品</el-button>
|
||||||
<!-- TODO @puhui999:默认展开 SKU 哈,毕竟 SKU 是主角,SPU 是配角 -->
|
|
||||||
<SpuAndSkuList
|
<SpuAndSkuList
|
||||||
ref="spuAndSkuListRef"
|
ref="spuAndSkuListRef"
|
||||||
:rule-config="ruleConfig"
|
:rule-config="ruleConfig"
|
||||||
|
@ -24,7 +23,7 @@
|
||||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||||
</template>
|
</template>
|
||||||
</Dialog>
|
</Dialog>
|
||||||
<SpuSelect ref="spuSelectRef" :is-select-sku="true" @confirm="selectSpu" />
|
<SpuSelect ref="spuSelectRef" @confirm="selectSpu" />
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { SpuAndSkuList, SpuProperty, SpuSelect } from '../../components'
|
import { SpuAndSkuList, SpuProperty, SpuSelect } from '../../components'
|
||||||
|
@ -132,7 +131,7 @@ const submitForm = async () => {
|
||||||
try {
|
try {
|
||||||
const data = formRef.value.formModel as SeckillActivityApi.SeckillActivityVO
|
const data = formRef.value.formModel as SeckillActivityApi.SeckillActivityVO
|
||||||
data.spuIds = spuList.value.map((spu) => spu.id!)
|
data.spuIds = spuList.value.map((spu) => spu.id!)
|
||||||
data.products = spuAndSkuListRef.value.getSkuConfigs()
|
data.products = spuAndSkuListRef.value.getSkuConfigs('productConfig')
|
||||||
if (formType.value === 'create') {
|
if (formType.value === 'create') {
|
||||||
await SeckillActivityApi.createSeckillActivity(data)
|
await SeckillActivityApi.createSeckillActivity(data)
|
||||||
message.success(t('common.createSuccess'))
|
message.success(t('common.createSuccess'))
|
||||||
|
|
|
@ -24,11 +24,14 @@
|
||||||
v-model:pageSize="tableObject.pageSize"
|
v-model:pageSize="tableObject.pageSize"
|
||||||
:columns="allSchemas.tableColumns"
|
:columns="allSchemas.tableColumns"
|
||||||
:data="tableObject.tableList"
|
:data="tableObject.tableList"
|
||||||
|
:expand="true"
|
||||||
:loading="tableObject.loading"
|
:loading="tableObject.loading"
|
||||||
:pagination="{
|
:pagination="{
|
||||||
total: tableObject.total
|
total: tableObject.total
|
||||||
}"
|
}"
|
||||||
|
@expand-change="expandChange"
|
||||||
>
|
>
|
||||||
|
<template #expand> 展示活动商品和商品相关属性活动配置</template>
|
||||||
<template #configIds="{ row }">
|
<template #configIds="{ row }">
|
||||||
<el-tag v-for="(name, index) in convertSeckillConfigNames(row)" :key="index" class="mr-5px">
|
<el-tag v-for="(name, index) in convertSeckillConfigNames(row)" :key="index" class="mr-5px">
|
||||||
{{ name }}
|
{{ name }}
|
||||||
|
@ -93,6 +96,11 @@ const convertSeckillConfigNames = computed(
|
||||||
?.filter((item) => row.configIds.includes(item.id))
|
?.filter((item) => row.configIds.includes(item.id))
|
||||||
?.map((config) => config.name)
|
?.map((config) => config.name)
|
||||||
)
|
)
|
||||||
|
const expandChange = (row, expandedRows) => {
|
||||||
|
// TODO puhui:等 CRUD 完事后弄
|
||||||
|
console.log(row, expandedRows)
|
||||||
|
}
|
||||||
|
|
||||||
/** 初始化 **/
|
/** 初始化 **/
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await getList()
|
await getList()
|
||||||
|
|
|
@ -16,7 +16,6 @@ export const rules = reactive({
|
||||||
})
|
})
|
||||||
|
|
||||||
// CrudSchema https://doc.iocoder.cn/vue3/crud-schema/
|
// CrudSchema https://doc.iocoder.cn/vue3/crud-schema/
|
||||||
// TODO @puhui999:table 宽度调整下,有点太长啦;部分字段可以隐藏哈,根据需求;
|
|
||||||
const crudSchemas = reactive<CrudSchema[]>([
|
const crudSchemas = reactive<CrudSchema[]>([
|
||||||
{
|
{
|
||||||
label: '秒杀活动名称',
|
label: '秒杀活动名称',
|
||||||
|
@ -177,8 +176,10 @@ const crudSchemas = reactive<CrudSchema[]>([
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '秒杀活动商品', // TODO @puhui999:格式化的商品不对;
|
label: '秒杀活动商品',
|
||||||
field: 'spuIds',
|
field: 'spuIds',
|
||||||
|
isTable: false,
|
||||||
|
isSearch: false,
|
||||||
form: {
|
form: {
|
||||||
colProps: {
|
colProps: {
|
||||||
span: 24
|
span: 24
|
||||||
|
@ -218,7 +219,7 @@ const crudSchemas = reactive<CrudSchema[]>([
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '状态',
|
label: '状态',
|
||||||
field: 'status', // TODO @puhui999:状态在 table 格式化不对;
|
field: 'status', // TODO @puhui999:状态在 table 格式化不对;建表插入的数据状态值不对,改为 0 或 1 就好了
|
||||||
dictType: DICT_TYPE.COMMON_STATUS,
|
dictType: DICT_TYPE.COMMON_STATUS,
|
||||||
dictClass: 'number',
|
dictClass: 'number',
|
||||||
isForm: false,
|
isForm: false,
|
||||||
|
@ -233,6 +234,7 @@ const crudSchemas = reactive<CrudSchema[]>([
|
||||||
{
|
{
|
||||||
label: '备注',
|
label: '备注',
|
||||||
field: 'remark',
|
field: 'remark',
|
||||||
|
isSearch: false,
|
||||||
form: {
|
form: {
|
||||||
component: 'Input',
|
component: 'Input',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
|
Loading…
Reference in New Issue