Commit 2582dbc9 by lijiabin

【需求 23684】feat: 支持每日抽奖报名分钟配置

parent e5af948b
......@@ -89,8 +89,10 @@ export interface BackendAddOrUpdateLotteryConfigDto {
startDate: string
endDate: string
autoCloseWeekend: BooleanFlag
registrationStartHour: string
registrationEndHour: string
registrationStartHour: number
registrationStartMinute: number
registrationEndHour: number
registrationEndMinute: number
registrationFee: number
}
......@@ -104,8 +106,10 @@ export type BackendLotteryConfigDto = {
prizesImg: string
prizesName: string
registrationEndHour: number
registrationEndMinute: number
registrationFee: number
registrationStartHour: number
registrationStartMinute: number
startDate: number
status: BooleanFlag
updatedAt: number
......
......@@ -38,8 +38,8 @@
start-placeholder="开始时间"
end-placeholder="结束时间"
is-range
format="HH:00"
value-format="H"
format="HH:mm"
value-format="HH:mm"
/>
</el-form-item>
<!-- 报名费用 -->
......@@ -93,6 +93,18 @@ const visible = ref(false)
const formRef = ref<FormInstance>()
const loading = ref(false)
const formatRegistrationTime = (hour: number, minute = 0) =>
`${String(hour).padStart(2, '0')}:${String(minute).padStart(2, '0')}`
const parseRegistrationTime = (time: string) => {
const [hour = 0, minute = 0] = time.split(':').map(Number)
return {
hour,
minute,
}
}
const open = async () => {
const { data } = await getLotteryConfigDetail()
if (!data) {
......@@ -102,7 +114,10 @@ const open = async () => {
id: data.id,
openRangeTime: [String(data.startDate), String(data.endDate)],
autoCloseWeekend: data.autoCloseWeekend,
registrationRangeTime: [String(data.registrationStartHour), String(data.registrationEndHour)],
registrationRangeTime: [
formatRegistrationTime(data.registrationStartHour, data.registrationStartMinute),
formatRegistrationTime(data.registrationEndHour, data.registrationEndMinute),
],
registrationFee: data.registrationFee,
}
}
......@@ -111,12 +126,16 @@ const open = async () => {
const handleSubmit = async () => {
await formRef.value?.validate()
const registrationStartTime = parseRegistrationTime(form.value.registrationRangeTime[0]!)
const registrationEndTime = parseRegistrationTime(form.value.registrationRangeTime[1]!)
const data = {
startDate: form.value.openRangeTime[0]!,
endDate: formatSeconds(form.value.openRangeTime[1]!),
autoCloseWeekend: form.value.autoCloseWeekend,
registrationStartHour: form.value.registrationRangeTime[0]!,
registrationEndHour: form.value.registrationRangeTime[1]!,
registrationStartHour: registrationStartTime.hour,
registrationStartMinute: registrationStartTime.minute,
registrationEndHour: registrationEndTime.hour,
registrationEndMinute: registrationEndTime.minute,
registrationFee: form.value.registrationFee,
}
loading.value = true
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment