(jobUuid)
| 966 | } |
| 967 | |
| 968 | async function editScheduledJob(jobUuid) { |
| 969 | try { |
| 970 | const job = await api.get(`/registration/schedules/${jobUuid}`); |
| 971 | editingScheduleJobUuid = jobUuid; |
| 972 | elements.scheduleName.value = job.name || ''; |
| 973 | elements.scheduleEnabled.value = job.enabled ? 'true' : 'false'; |
| 974 | elements.scheduleTriggerType.value = job.schedule_type || 'interval'; |
| 975 | if (job.schedule_type === 'interval') { |
| 976 | elements.scheduleIntervalMinutes.value = job.schedule_config?.interval_minutes || 60; |
| 977 | } else { |
| 978 | elements.scheduleEveryNDays.value = job.schedule_config?.every_n_days || 1; |
| 979 | elements.scheduleTimeOfDay.value = job.schedule_config?.time_of_day || '09:00'; |
| 980 | elements.scheduleStartDate.value = job.schedule_config?.start_date || new Date().toISOString().slice(0, 10); |
| 981 | } |
| 982 | setRegistrationConfigToForm(job.registration_config || {}); |
| 983 | elements.saveScheduleBtn.textContent = '更新计划任务'; |
| 984 | elements.cancelScheduleEditBtn.style.display = 'block'; |
| 985 | updateScheduleTriggerFields(); |
| 986 | window.scrollTo({ top: 0, behavior: 'smooth' }); |
| 987 | } catch (error) { |
| 988 | toast.error(error.message); |
| 989 | } |
| 990 | } |
| 991 | |
| 992 | async function toggleScheduledJob(jobUuid, shouldEnable) { |
| 993 | try { |
nothing calls this directly
no test coverage detected