bfg-common 1.4.298 → 1.4.300
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/common/pages/scheduledTasks/modals/common/frequency/end/End.vue +2 -0
- package/components/common/pages/scheduledTasks/modals/common/frequency/on/On.vue +4 -6
- package/components/common/pages/scheduledTasks/modals/common/frequency/on/lib/config/options.ts +12 -12
- package/components/common/pages/scheduledTasks/modals/common/newTaskForm/NewTaskForm.vue +49 -24
- package/components/common/pages/scheduledTasks/modals/lib/config/createScheduledTask.ts +1 -0
- package/components/common/pages/scheduledTasks/modals/lib/models/interfaces.ts +1 -0
- package/package.json +1 -1
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
v-model="model"
|
|
10
10
|
/>
|
|
11
11
|
|
|
12
|
-
<div v-if="props.type === 'month'"
|
|
12
|
+
<div v-if="props.type === 'month'">
|
|
13
13
|
<div class="on-time__radio radio">
|
|
14
14
|
<input
|
|
15
15
|
id="on-time-monthly-by-day"
|
|
16
|
-
v-model="
|
|
16
|
+
v-model="model.frg_monthly_mode"
|
|
17
17
|
data-id="on-time-monthly-by-day"
|
|
18
18
|
type="radio"
|
|
19
19
|
value="day"
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
<div class="on-time__radio radio">
|
|
50
50
|
<input
|
|
51
51
|
id="on-time-monthly-by-week"
|
|
52
|
-
v-model="
|
|
52
|
+
v-model="model.frg_monthly_mode"
|
|
53
53
|
data-id="on-time-monthly-by-week"
|
|
54
54
|
type="radio"
|
|
55
55
|
value="week"
|
|
@@ -115,8 +115,6 @@ const model = defineModel<UI_I_ScheduleNewTasksForm>({ required: true })
|
|
|
115
115
|
|
|
116
116
|
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
117
117
|
|
|
118
|
-
const selectedTimeMode = ref<'day' | 'week'>('day')
|
|
119
|
-
|
|
120
118
|
const frequencyOnWeeksDays = computed<UI_I_SelectInputItem[]>(() => {
|
|
121
119
|
return frequencyOnWeeksDaysFunc(localization.value)
|
|
122
120
|
})
|
|
@@ -125,7 +123,7 @@ const frequencyOnOrdinalNumber = computed<UI_I_SelectInputItem[]>(() => {
|
|
|
125
123
|
})
|
|
126
124
|
|
|
127
125
|
const isDisabledMonthlyDayField = computed<boolean>(
|
|
128
|
-
() =>
|
|
126
|
+
() => model.value.frg_monthly_mode === 'week'
|
|
129
127
|
)
|
|
130
128
|
|
|
131
129
|
const isInitTimeIntervalValidation = ref<boolean>(false)
|
package/components/common/pages/scheduledTasks/modals/common/frequency/on/lib/config/options.ts
CHANGED
|
@@ -7,31 +7,31 @@ export const frequencyOnWeeksDaysFunc = (
|
|
|
7
7
|
return [
|
|
8
8
|
{
|
|
9
9
|
label: localization.common.sunday,
|
|
10
|
-
value:
|
|
10
|
+
value: 6,
|
|
11
11
|
},
|
|
12
12
|
{
|
|
13
13
|
label: localization.common.monday,
|
|
14
|
-
value:
|
|
14
|
+
value: 1,
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
17
|
label: localization.common.tuesday,
|
|
18
|
-
value:
|
|
18
|
+
value: 2,
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
label: localization.common.wednesday,
|
|
22
|
-
value:
|
|
22
|
+
value: 3,
|
|
23
23
|
},
|
|
24
24
|
{
|
|
25
25
|
label: localization.common.thursday,
|
|
26
|
-
value:
|
|
26
|
+
value: 4,
|
|
27
27
|
},
|
|
28
28
|
{
|
|
29
29
|
label: localization.common.friday,
|
|
30
|
-
value:
|
|
30
|
+
value: 5,
|
|
31
31
|
},
|
|
32
32
|
{
|
|
33
33
|
label: localization.common.saturday,
|
|
34
|
-
value:
|
|
34
|
+
value: 0,
|
|
35
35
|
},
|
|
36
36
|
]
|
|
37
37
|
}
|
|
@@ -42,23 +42,23 @@ export const frequencyOnOrdinalNumberFunc = (
|
|
|
42
42
|
return [
|
|
43
43
|
{
|
|
44
44
|
label: localization.scheduledTasks.first,
|
|
45
|
-
value:
|
|
45
|
+
value: 1,
|
|
46
46
|
},
|
|
47
47
|
{
|
|
48
48
|
label: localization.scheduledTasks.second,
|
|
49
|
-
value:
|
|
49
|
+
value: 2,
|
|
50
50
|
},
|
|
51
51
|
{
|
|
52
52
|
label: localization.scheduledTasks.third,
|
|
53
|
-
value:
|
|
53
|
+
value: 3,
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
56
|
label: localization.scheduledTasks.fourth,
|
|
57
|
-
value:
|
|
57
|
+
value: 4,
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
60
|
label: localization.common.last,
|
|
61
|
-
value:
|
|
61
|
+
value: 5,
|
|
62
62
|
},
|
|
63
63
|
]
|
|
64
64
|
}
|
|
@@ -146,25 +146,40 @@ const generateOnceCronExpression = (date: Date): any => {
|
|
|
146
146
|
// Генерируем cron-выражение
|
|
147
147
|
return `${minutes} ${hours} ${day} ${month} ${dayOfWeek} once`
|
|
148
148
|
}
|
|
149
|
-
const generateHourlyCronExpression = (
|
|
149
|
+
const generateHourlyCronExpression = (
|
|
150
|
+
data: UI_I_ScheduleNewTasksForm
|
|
151
|
+
): string => {
|
|
150
152
|
if (!date) return
|
|
151
153
|
|
|
154
|
+
const startOnTimestamp = Math.floor(
|
|
155
|
+
new Date(data.frg_start_on_time).getTime() / 1000
|
|
156
|
+
)
|
|
157
|
+
const endTimestamp = Math.floor(new Date(data.frg_end_time).getTime() / 1000)
|
|
158
|
+
|
|
152
159
|
// const minutes = date.getMinutes()
|
|
153
160
|
// const hours = date.getHours()
|
|
154
161
|
|
|
155
162
|
// Генерируем cron-выражение
|
|
156
163
|
// return `${minutes} ${hours}/${delay} * * *`
|
|
157
|
-
return
|
|
164
|
+
return endTimestamp
|
|
165
|
+
? `0 */${data.frg_interval} * * * start=${startOnTimestamp},end=${endTimestamp}`
|
|
166
|
+
: `0 */${data.frg_interval} * * * start=${startOnTimestamp}`
|
|
158
167
|
}
|
|
159
|
-
const generateDaylyCronExpression = (
|
|
168
|
+
const generateDaylyCronExpression = (
|
|
169
|
+
data: UI_I_ScheduleNewTasksForm
|
|
170
|
+
): string => {
|
|
160
171
|
if (!date) return
|
|
161
172
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
173
|
+
const startOnTimestamp = Math.floor(
|
|
174
|
+
new Date(data.frg_start_on_time).getTime() / 1000
|
|
175
|
+
)
|
|
176
|
+
const endTimestamp = Math.floor(new Date(data.frg_end_time).getTime() / 1000)
|
|
165
177
|
|
|
166
178
|
// Генерируем cron-выражение
|
|
167
|
-
return
|
|
179
|
+
return endTimestamp
|
|
180
|
+
? `0 0 */${data.frg_interval} * * start=${startOnTimestamp},end=${endTimestamp}`
|
|
181
|
+
: `0 0 */${data.frg_interval} * * start=${startOnTimestamp}`
|
|
182
|
+
|
|
168
183
|
// return `${minutes} ${hours} ${day}/${delay} * *`
|
|
169
184
|
}
|
|
170
185
|
const generateWeeklyCronExpression = (
|
|
@@ -172,21 +187,39 @@ const generateWeeklyCronExpression = (
|
|
|
172
187
|
): string => {
|
|
173
188
|
const { frg_on_week_days } = data
|
|
174
189
|
|
|
175
|
-
|
|
176
|
-
|
|
190
|
+
const startOnTimestamp = Math.floor(
|
|
191
|
+
new Date(data.frg_start_on_time).getTime() / 1000
|
|
192
|
+
)
|
|
193
|
+
const endTimestamp = Math.floor(new Date(data.frg_end_time).getTime() / 1000)
|
|
194
|
+
|
|
195
|
+
return endTimestamp
|
|
196
|
+
? `* * * * ${frg_on_week_days.join(',')}/${
|
|
197
|
+
data.frg_interval
|
|
198
|
+
} start=${startOnTimestamp},end=${endTimestamp}`
|
|
199
|
+
: `* * * * ${frg_on_week_days.join(',')}/${
|
|
200
|
+
data.frg_interval
|
|
201
|
+
} start=${startOnTimestamp}`
|
|
177
202
|
}
|
|
203
|
+
|
|
178
204
|
const generateMonthlyCronExpression = (
|
|
179
205
|
data: UI_I_ScheduleNewTasksForm
|
|
180
206
|
): string => {
|
|
181
|
-
const { frg_interval, frg_monthly_day } =
|
|
207
|
+
const { frg_interval, frg_monthly_day, frq_week_day, frq_ordinal_number } =
|
|
208
|
+
data
|
|
182
209
|
|
|
183
|
-
const
|
|
184
|
-
|
|
210
|
+
const startOnTimestamp = Math.floor(
|
|
211
|
+
new Date(data.frg_start_on_time).getTime() / 1000
|
|
212
|
+
)
|
|
213
|
+
const endTimestamp = Math.floor(new Date(data.frg_end_time).getTime() / 1000)
|
|
185
214
|
|
|
186
|
-
|
|
215
|
+
const month = data.frg_monthly_mode === 'week' ? '*' : frg_monthly_day
|
|
216
|
+
const cronWeekly = `${frq_week_day}#${frq_ordinal_number}`
|
|
217
|
+
const dayOfWeek = data.frg_monthly_mode === 'week' ? cronWeekly : '*'
|
|
187
218
|
|
|
188
219
|
// Генерируем cron-выражение
|
|
189
|
-
return
|
|
220
|
+
return endTimestamp
|
|
221
|
+
? `* * ${month} */${frg_interval} ${dayOfWeek} start=${startOnTimestamp},end=${endTimestamp}`
|
|
222
|
+
: `* * ${month} */${frg_interval} ${dayOfWeek} start=${startOnTimestamp}`
|
|
190
223
|
}
|
|
191
224
|
|
|
192
225
|
const generateCronExpression = (
|
|
@@ -208,18 +241,10 @@ const generateCronExpression = (
|
|
|
208
241
|
cronExpression = `0 0 0 0 0 after_procurator_startup${suffixDelay}` // Выполняется после запуска procurator_startup с задержой N минут
|
|
209
242
|
break
|
|
210
243
|
case 'hour':
|
|
211
|
-
|
|
212
|
-
cronExpression = generateHourlyCronExpression(
|
|
213
|
-
hourlyDelay,
|
|
214
|
-
new Date(interval.frg_start_on_time)
|
|
215
|
-
)
|
|
244
|
+
cronExpression = generateHourlyCronExpression(interval)
|
|
216
245
|
break
|
|
217
246
|
case 'day':
|
|
218
|
-
|
|
219
|
-
cronExpression = generateDaylyCronExpression(
|
|
220
|
-
dayDelay,
|
|
221
|
-
new Date(interval.frg_start_on_time)
|
|
222
|
-
)
|
|
247
|
+
cronExpression = generateDaylyCronExpression(interval)
|
|
223
248
|
break
|
|
224
249
|
case 'week':
|
|
225
250
|
cronExpression = generateWeeklyCronExpression(interval)
|