diff --git a/resources/js/admin/holiday-event-form.js b/resources/js/admin/holiday-event-form.js new file mode 100644 index 0000000..e350597 --- /dev/null +++ b/resources/js/admin/holiday-event-form.js @@ -0,0 +1,32 @@ +// 节日福利表单 Alpine 工厂,提供周期、分配和目标范围的联动状态。 + +/** + * 创建节日福利表单状态对象。 + * + * @param {object} config + * @returns {object} + */ +function createHolidayEventForm(config = {}) { + return { + repeatType: config.repeatType ?? "once", + distributeType: config.distributeType ?? "random", + targetType: config.targetType ?? "all", + scheduleMonth: config.scheduleMonth ?? "1", + scheduleDay: config.scheduleDay ?? "1", + scheduleTime: config.scheduleTime ?? "20:00", + durationDays: config.durationDays ?? "1", + dailyOccurrences: config.dailyOccurrences ?? "1", + occurrenceIntervalMinutes: config.occurrenceIntervalMinutes ?? "60", + + /** + * 生成年节日循环计划摘要,供表单实时预览。 + * + * @returns {string} + */ + yearlySummary() { + return `每年 ${this.scheduleMonth} 月 ${this.scheduleDay} 日 ${this.scheduleTime},连续 ${this.durationDays} 天,每天 ${this.dailyOccurrences} 次 / ${this.occurrenceIntervalMinutes} 分钟`; + }, + }; +} + +window.holidayEventForm = createHolidayEventForm; diff --git a/resources/js/app.js b/resources/js/app.js index 37f4fe9..6122509 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -4,6 +4,7 @@ import { bindAdminAutoactControls } from './admin/autoact.js'; import { bindAdminFishingEventsControls } from './admin/fishing-events.js'; import { bindAdminFormConfirmations } from './admin/form-confirmations.js'; import { bindAdminGameConfigControls } from './admin/game-configs.js'; +import './admin/holiday-event-form.js'; import { bindAdminHolidayEventsControls } from './admin/holiday-events.js'; import { bindAdminInputSelection } from './admin/input-selection.js'; import { bindAdminOpsControls } from './admin/ops.js'; diff --git a/resources/views/admin/holiday-events/partials/form.blade.php b/resources/views/admin/holiday-events/partials/form.blade.php index 55175e2..ecdd2b9 100644 --- a/resources/views/admin/holiday-events/partials/form.blade.php +++ b/resources/views/admin/holiday-events/partials/form.blade.php @@ -306,22 +306,3 @@ - -