YunaiV cfef155ee2 商城:
1. 微调砍价活动的代码

(cherry picked from commit 7bf3e41c6189776b129670d44c9b40ecce2f86d5)
2023-09-19 20:50:54 +08:00

166 lines
3.2 KiB
TypeScript

import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
import { dateFormatter2 } from '@/utils/formatTime'
// 表单校验
export const rules = reactive({
name: [required],
startTime: [required],
endTime: [required],
userSize: [required],
bargainCount: [required],
singleLimitCount: [required]
})
// CrudSchema https://doc.iocoder.cn/vue3/crud-schema/
const crudSchemas = reactive<CrudSchema[]>([
{
label: '砍价活动名称',
field: 'name',
isSearch: true,
isTable: false,
form: {
colProps: {
span: 24
}
}
},
{
label: '活动开始时间',
field: 'startTime',
formatter: dateFormatter2,
isSearch: true,
search: {
component: 'DatePicker',
componentProps: {
valueFormat: 'YYYY-MM-DD',
type: 'daterange'
}
},
form: {
component: 'DatePicker',
componentProps: {
type: 'date',
valueFormat: 'x'
}
},
table: {
width: 120
}
},
{
label: '活动结束时间',
field: 'endTime',
formatter: dateFormatter2,
isSearch: true,
search: {
component: 'DatePicker',
componentProps: {
valueFormat: 'YYYY-MM-DD',
type: 'daterange'
}
},
form: {
component: 'DatePicker',
componentProps: {
type: 'date',
valueFormat: 'x'
}
},
table: {
width: 120
}
},
{
label: '砍价人数',
field: 'userSize',
isSearch: false,
form: {
component: 'InputNumber',
labelMessage: '参与人数不能少于两人',
value: 2
}
},
{
label: '最大帮砍次数',
field: 'bargainCount',
isSearch: false,
form: {
component: 'InputNumber',
labelMessage: '参与人数不能少于两人',
value: 2
}
},
{
label: '总限购数量',
field: 'totalLimitCount',
isSearch: false,
form: {
component: 'InputNumber',
labelMessage: '用户最大能发起砍价的次数',
value: 0
}
},
{
label: '砍价的最小金额',
field: 'randomMinPrice',
isSearch: false,
isTable: false,
form: {
component: 'InputNumber',
componentProps: {
min: 0,
precision: 2,
step: 0.1
},
labelMessage: '用户每次砍价的最小金额',
value: 0
}
},
{
label: '砍价的最大金额',
field: 'randomMaxPrice',
isSearch: false,
isTable: false,
form: {
component: 'InputNumber',
componentProps: {
min: 0,
precision: 2,
step: 0.1
},
labelMessage: '用户每次砍价的最大金额',
value: 0
}
},
{
label: '砍价成功数量',
field: 'successCount',
isSearch: false,
isForm: false
},
{
label: '活动状态',
field: 'status',
dictType: DICT_TYPE.COMMON_STATUS,
dictClass: 'number',
isSearch: true,
isForm: false
},
{
label: '拼团商品',
field: 'spuId',
isSearch: false,
form: {
colProps: {
span: 24
}
}
},
{
label: '操作',
field: 'action',
isForm: false
}
])
export const { allSchemas } = useCrudSchemas(crudSchemas)