@feedmepos/mf-hrm-portal 2.3.0-dev → 2.3.0-dev.10
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/dist/{ApprovalCodeList-cG0zmQVJ.js → ApprovalCodeList-BLA2rhLB.js} +5 -5
- package/dist/{AuditLogList-BTifJhO1.js → AuditLogList-DBYdZhZl.js} +4 -4
- package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-qr5TwLTK.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-CtCEzPbE.js} +2 -2
- package/dist/{EmployeeList-DzcMtxJ3.js → EmployeeList-CA7DWLmy.js} +6 -6
- package/dist/{GrantUserList-D5b7tJ8Y.js → GrantUserList-BYnegeEr.js} +6 -6
- package/dist/{Main-DFwdAWqn.js → Main-BeXx0hAc.js} +8 -8
- package/dist/{Main-B2r59IOW.js → Main-Dh-gZSaa.js} +5 -5
- package/dist/{Main-DkLBemi7.js → Main-NDK7LUmm.js} +11 -11
- package/dist/{PermissionSetList-B80hrfMW.js → PermissionSetList-DDIacDpQ.js} +7 -7
- package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-ONMn3v_f.js +4167 -0
- package/dist/{PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-fe-Rdwn4.js → PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-BVz6q3HE.js} +1 -1
- package/dist/{RoleList-DHO4JRKF.js → RoleList-B30FHIzu.js} +9 -9
- package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-CRRguWTG.js +492 -0
- package/dist/ScheduleGeneralPage-8gEeZbFR.js +776 -0
- package/dist/ScheduleModal.vue_vue_type_script_setup_true_lang-TfxTAjO8.js +2252 -0
- package/dist/SchedulePage-DQ0VXWWi.js +17832 -0
- package/dist/{SchedulePositionPage-C0hrO11d.js → SchedulePositionPage-oGIDGneA.js} +66 -65
- package/dist/{TeamMemberList-CgFWLRBM.js → TeamMemberList-Drj6R4Y3.js} +10 -10
- package/dist/{TimesheetList-Dp40G-0I.js → TimesheetList-CDQfN5LE.js} +7 -7
- package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-BFjrMhUG.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-Bx-6hjs7.js} +3 -3
- package/dist/{app-CmBSTvaI.js → app-DWe_4-ct.js} +678 -594
- package/dist/app.js +1 -1
- package/dist/{approval-code-C9DmR4Md.js → approval-code-DHsUgc4K.js} +1 -1
- package/dist/{dayjs.min-CfL2DQ3d.js → dayjs.min-QSwC9dtX.js} +1 -1
- package/dist/{employee-DQcHjoij.js → employee-Bb2b3dP6.js} +29 -28
- package/dist/{grant-user-Bv-pJ9Wt.js → grant-user-qzKHFTro.js} +1 -1
- package/dist/{iteration-BlavheWG.js → iteration-TDU7bFxZ.js} +1 -1
- package/dist/{lodash-QerqayrJ.js → lodash-D3Ns5VMN.js} +1 -1
- package/dist/{restaurant-D7PEQjPY.js → restaurant-BbYRA_IT.js} +4 -3
- package/dist/{role-RM2YLO7n.js → role-D57Le_-U.js} +2 -2
- package/dist/{rule-DjlvYIuP.js → rule-DzesUEX7.js} +3 -3
- package/dist/src/api/schedule/index.d.ts +8 -1
- package/dist/src/components/layout/withScheduleShell.d.ts +10 -0
- package/dist/src/types/employee.d.ts +1 -0
- package/dist/src/types/schedule.d.ts +3 -4
- package/dist/src/views/scheduling/components/ScheduleAreaRows.vue.d.ts +0 -8
- package/dist/src/views/scheduling/components/ScheduleBoardAreaRows.vue.d.ts +23 -0
- package/dist/src/views/scheduling/components/ScheduleBoardEditOverlays.vue.d.ts +17 -0
- package/dist/src/views/scheduling/components/ScheduleBoardEmployeeRows.vue.d.ts +31 -0
- package/dist/src/views/scheduling/components/ScheduleBoardGridHeader.vue.d.ts +24 -0
- package/dist/src/views/scheduling/components/ScheduleBoardInteractionOverlays.vue.d.ts +32 -0
- package/dist/src/views/scheduling/components/ScheduleBoardOnboardingOverlays.vue.d.ts +25 -0
- package/dist/src/views/scheduling/components/ScheduleBoardRails.vue.d.ts +17 -0
- package/dist/src/views/scheduling/components/ScheduleBoardToolbar.vue.d.ts +38 -0
- package/dist/src/views/scheduling/components/ScheduleBoardUtilityOverlays.vue.d.ts +22 -0
- package/dist/src/views/scheduling/components/{ScheduleOnboardingComplete.vue.d.ts → ScheduleCompletionDialog.vue.d.ts} +8 -3
- package/dist/src/views/scheduling/components/{ScheduleShiftCardMenu.vue.d.ts → ScheduleContextMenu.vue.d.ts} +7 -2
- package/dist/src/views/scheduling/components/{SchedulePdfPreview.vue.d.ts → ScheduleExportPreview.vue.d.ts} +1 -0
- package/dist/src/views/scheduling/components/ScheduleLoadState.vue.d.ts +9 -0
- package/dist/src/views/scheduling/components/ScheduleModal.vue.d.ts +26 -0
- package/dist/src/views/scheduling/components/{ScheduleExportDoneDialog.vue.d.ts → ScheduleOnboardingAssignPositionModal.vue.d.ts} +2 -2
- package/dist/src/views/scheduling/components/{ScheduleAssignEmployeePopover.vue.d.ts → ScheduleOnboardingClosedDayConfirm.vue.d.ts} +2 -2
- package/dist/src/views/scheduling/components/{ScheduleEmployeeMenu.vue.d.ts → ScheduleOnboardingDemandDays.vue.d.ts} +2 -2
- package/dist/src/views/scheduling/components/ScheduleOnboardingDemandFooter.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingDemandHeader.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingHoursProfileNotice.vue.d.ts +10 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingPositions.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingReview.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingWizardFooter.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleOnboardingWizardHeader.vue.d.ts +11 -0
- package/dist/src/views/scheduling/components/ScheduleSelect.vue.d.ts +17 -1
- package/dist/src/views/scheduling/components/ScheduleSetupBanner.vue.d.ts +12 -0
- package/dist/src/views/scheduling/components/ScheduleShiftPopover.vue.d.ts +2 -2
- package/dist/src/views/scheduling/components/ScheduleStaffRail.vue.d.ts +4 -4
- package/dist/src/views/scheduling/components/ScheduleStaffRows.vue.d.ts +2 -12
- package/dist/src/views/scheduling/components/ScheduleTopbar.vue.d.ts +3 -3
- package/dist/src/views/scheduling/composables/onboarding-types.d.ts +1 -1
- package/dist/src/views/scheduling/composables/remyPrompt.d.ts +13 -0
- package/dist/src/views/scheduling/composables/schedule-add-employee-form.d.ts +12 -8
- package/dist/src/views/scheduling/composables/schedule-board-helpers.d.ts +5 -1
- package/dist/src/views/scheduling/composables/schedule-breaks.d.ts +7 -1
- package/dist/src/views/scheduling/composables/schedule-calendar.d.ts +7 -0
- package/dist/src/views/scheduling/composables/schedule-cost.d.ts +19 -0
- package/dist/src/views/scheduling/composables/schedule-day-meta.d.ts +1 -3
- package/dist/src/views/scheduling/composables/schedule-demand-domain.d.ts +11 -0
- package/dist/src/views/scheduling/composables/schedule-export-matrix.d.ts +14 -0
- package/dist/src/views/scheduling/composables/schedule-time.d.ts +8 -0
- package/dist/src/views/scheduling/composables/schedule-week-cache.d.ts +1 -4
- package/dist/src/views/scheduling/composables/useRemyAppStore.d.ts +15 -0
- package/dist/src/views/scheduling/composables/useScheduleAddEmployee.d.ts +34 -21
- package/dist/src/views/scheduling/composables/useScheduleAreaBoard.d.ts +0 -13
- package/dist/src/views/scheduling/composables/useScheduleAreaDragDrop.d.ts +2 -8
- package/dist/src/views/scheduling/composables/useScheduleAssignmentMutations.d.ts +13 -0
- package/dist/src/views/scheduling/composables/useScheduleAutoSchedule.d.ts +3 -0
- package/dist/src/views/scheduling/composables/useScheduleBoard.d.ts +50 -11
- package/dist/src/views/scheduling/composables/useScheduleCloneOutletModal.d.ts +3 -1
- package/dist/src/views/scheduling/composables/useScheduleCostRail.d.ts +6 -1
- package/dist/src/views/scheduling/composables/useScheduleDayNote.d.ts +1 -2
- package/dist/src/views/scheduling/composables/useScheduleDayTimeline.d.ts +0 -3
- package/dist/src/views/scheduling/composables/useScheduleDemand.d.ts +7 -24
- package/dist/src/views/scheduling/composables/useScheduleDemandSheet.d.ts +19 -5
- package/dist/src/views/scheduling/composables/useScheduleEmployeeAccess.d.ts +16 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeAvailability.d.ts +13 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeCandidates.d.ts +27 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeCompensation.d.ts +7 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeForm.d.ts +22 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeIdentity.d.ts +9 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeMenu.d.ts +6 -3
- package/dist/src/views/scheduling/composables/useScheduleEmployeePersistence.d.ts +29 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeValidation.d.ts +20 -0
- package/dist/src/views/scheduling/composables/useScheduleExport.d.ts +19 -11
- package/dist/src/views/scheduling/composables/useScheduleGapPopover.d.ts +5 -6
- package/dist/src/views/scheduling/composables/useScheduleOnboardingAvailability.d.ts +58 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingDemand.d.ts +45 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingEmployees.d.ts +205 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingHours.d.ts +15 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingNavigation.d.ts +11 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +306 -529
- package/dist/src/views/scheduling/composables/useSchedulePageActions.d.ts +18 -0
- package/dist/src/views/scheduling/composables/useSchedulePageCellActions.d.ts +21 -0
- package/dist/src/views/scheduling/composables/useSchedulePageCellDrop.d.ts +18 -0
- package/dist/src/views/scheduling/composables/useSchedulePageEmployeeActions.d.ts +22 -0
- package/dist/src/views/scheduling/composables/useSchedulePageOverlays.d.ts +10 -7
- package/dist/src/views/scheduling/composables/useSchedulePdfExport.d.ts +19 -0
- package/dist/src/views/scheduling/composables/useSchedulePositionModal.d.ts +4 -1
- package/dist/src/views/scheduling/composables/useSchedulePositions.d.ts +4 -2
- package/dist/src/views/scheduling/composables/useSchedulePublish.d.ts +9 -1
- package/dist/src/views/scheduling/composables/useSchedulePublishPersistence.d.ts +11 -0
- package/dist/src/views/scheduling/composables/useScheduleRoster.d.ts +30 -4
- package/dist/src/views/scheduling/composables/useScheduleSettings.d.ts +8 -25
- package/dist/src/views/scheduling/composables/useScheduleShiftActions.d.ts +18 -3
- package/dist/src/views/scheduling/composables/useScheduleShiftDraft.d.ts +63 -0
- package/dist/src/views/scheduling/composables/useScheduleShiftPersistence.d.ts +17 -0
- package/dist/src/views/scheduling/composables/useScheduleShiftPopover.d.ts +25 -8
- package/dist/src/views/scheduling/composables/useScheduleStatsRow.d.ts +4 -1
- package/dist/src/views/scheduling/composables/useScheduleTour.d.ts +6 -4
- package/dist/src/views/scheduling/country-rules/index.d.ts +24 -0
- package/dist/src/views/scheduling/data.d.ts +16 -7
- package/dist/src/views/scheduling/locales/index.d.ts +80 -0
- package/dist/src/views/scheduling/schedule-constants.d.ts +7 -0
- package/dist/src/views/scheduling/schedule-state.d.ts +104 -16
- package/dist/src/views/scheduling/schedule-store.d.ts +17 -6
- package/dist/src/views/scheduling/types.d.ts +27 -5
- package/dist/style.css +1 -1
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/dist/{useAppStore-d_nHyK5u.js → useAppStore-BoLkvkE2.js} +1 -1
- package/dist/{useLoading-JFoghhRz.js → useLoading-Ch1AUYT1.js} +1 -1
- package/dist/{useReportPermissions-Bl6Br79r.js → useReportPermissions-Cmuead1K.js} +3 -3
- package/package.json +2 -1
- package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-DjNcJQM9.js +0 -4167
- package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-B-XtB64L.js +0 -452
- package/dist/ScheduleGeneralPage-WlBM8bxV.js +0 -629
- package/dist/SchedulePage-Nm0krGVU.js +0 -17056
- package/dist/ScheduleSelect.vue_vue_type_script_setup_true_lang-DTDXir_7.js +0 -1150
- package/dist/src/components/layout/withShell.d.ts +0 -14
- package/dist/src/views/scheduling/components/ScheduleAllShiftsRow.vue.d.ts +0 -22
- package/dist/src/views/scheduling/components/ScheduleOpenShiftCardMenu.vue.d.ts +0 -14
- package/dist/src/views/scheduling/components/ScheduleStackPopover.vue.d.ts +0 -14
- package/dist/src/views/scheduling/components/ScheduleTourAllSet.vue.d.ts +0 -6
- package/dist/src/views/scheduling/composables/useScheduleAllShiftsRow.d.ts +0 -77
- package/dist/src/views/scheduling/composables/useScheduleAssign.d.ts +0 -122
- package/dist/src/views/scheduling/composables/useScheduleOpenShiftCard.d.ts +0 -23
- package/dist/src/views/scheduling/composables/useScheduleStaffRail.d.ts +0 -17
- package/dist/src/views/scheduling/composables/useScheduleTopbar.d.ts +0 -10
- /package/dist/src/{components/layout/AppSidebar.vue.d.ts → views/scheduling/components/SchedulePublishShareArt.vue.d.ts} +0 -0
|
@@ -38,6 +38,7 @@ export declare const scheduleState: {
|
|
|
38
38
|
days: {
|
|
39
39
|
date: string;
|
|
40
40
|
id: string;
|
|
41
|
+
updatedAt: string;
|
|
41
42
|
isPublicHoliday: boolean;
|
|
42
43
|
title: string;
|
|
43
44
|
description: string;
|
|
@@ -56,6 +57,10 @@ export declare const scheduleState: {
|
|
|
56
57
|
headcount: number;
|
|
57
58
|
}[];
|
|
58
59
|
settings: {
|
|
60
|
+
settingsConfigured?: boolean | undefined;
|
|
61
|
+
overtime: {
|
|
62
|
+
maxHoursPerMonth: number | null;
|
|
63
|
+
};
|
|
59
64
|
payRate: {
|
|
60
65
|
NORMAL: {
|
|
61
66
|
overtime: number;
|
|
@@ -70,15 +75,20 @@ export declare const scheduleState: {
|
|
|
70
75
|
};
|
|
71
76
|
};
|
|
72
77
|
setupCompleted: boolean;
|
|
78
|
+
workingHours: {
|
|
79
|
+
minHoursPerDay: number | null;
|
|
80
|
+
maxHoursPerDay: number | null;
|
|
81
|
+
maxHoursPerWeek: number | null;
|
|
82
|
+
};
|
|
73
83
|
};
|
|
74
84
|
restaurantProfile: {
|
|
75
85
|
operatingHours: {
|
|
76
|
-
dayOfWeek: number;
|
|
77
|
-
closed: boolean;
|
|
78
86
|
hours: {
|
|
79
87
|
start: string;
|
|
80
88
|
end: string;
|
|
81
89
|
}[];
|
|
90
|
+
dayOfWeek: number;
|
|
91
|
+
closed: boolean;
|
|
82
92
|
}[];
|
|
83
93
|
};
|
|
84
94
|
positions: {
|
|
@@ -86,10 +96,18 @@ export declare const scheduleState: {
|
|
|
86
96
|
name: string;
|
|
87
97
|
}[];
|
|
88
98
|
employees: {
|
|
99
|
+
overtime?: {
|
|
100
|
+
maxHoursPerMonth: number | null;
|
|
101
|
+
} | undefined;
|
|
102
|
+
minHoursPerDay?: number | null | undefined;
|
|
103
|
+
workingHours?: {
|
|
104
|
+
minHoursPerDay: number | null;
|
|
105
|
+
maxHoursPerDay: number | null;
|
|
106
|
+
maxHoursPerWeek: number | null;
|
|
107
|
+
} | undefined;
|
|
89
108
|
name: string;
|
|
90
109
|
employeeId: string;
|
|
91
110
|
employmentType: "FULLTIME" | "PARTTIME";
|
|
92
|
-
workingHour: number;
|
|
93
111
|
wage: {
|
|
94
112
|
type: "HOURLY" | "MONTHLY";
|
|
95
113
|
amount: number;
|
|
@@ -129,6 +147,7 @@ export declare const scheduleState: {
|
|
|
129
147
|
startTime: string;
|
|
130
148
|
endTime: string;
|
|
131
149
|
})[];
|
|
150
|
+
updatedAt: string;
|
|
132
151
|
}[];
|
|
133
152
|
} | null, {
|
|
134
153
|
timeOff: {
|
|
@@ -160,6 +179,7 @@ export declare const scheduleState: {
|
|
|
160
179
|
days: {
|
|
161
180
|
date: string;
|
|
162
181
|
id: string;
|
|
182
|
+
updatedAt: string;
|
|
163
183
|
isPublicHoliday: boolean;
|
|
164
184
|
title: string;
|
|
165
185
|
description: string;
|
|
@@ -178,6 +198,10 @@ export declare const scheduleState: {
|
|
|
178
198
|
headcount: number;
|
|
179
199
|
}[];
|
|
180
200
|
settings: {
|
|
201
|
+
settingsConfigured?: boolean | undefined;
|
|
202
|
+
overtime: {
|
|
203
|
+
maxHoursPerMonth: number | null;
|
|
204
|
+
};
|
|
181
205
|
payRate: {
|
|
182
206
|
NORMAL: {
|
|
183
207
|
overtime: number;
|
|
@@ -192,15 +216,20 @@ export declare const scheduleState: {
|
|
|
192
216
|
};
|
|
193
217
|
};
|
|
194
218
|
setupCompleted: boolean;
|
|
219
|
+
workingHours: {
|
|
220
|
+
minHoursPerDay: number | null;
|
|
221
|
+
maxHoursPerDay: number | null;
|
|
222
|
+
maxHoursPerWeek: number | null;
|
|
223
|
+
};
|
|
195
224
|
};
|
|
196
225
|
restaurantProfile: {
|
|
197
226
|
operatingHours: {
|
|
198
|
-
dayOfWeek: number;
|
|
199
|
-
closed: boolean;
|
|
200
227
|
hours: {
|
|
201
228
|
start: string;
|
|
202
229
|
end: string;
|
|
203
230
|
}[];
|
|
231
|
+
dayOfWeek: number;
|
|
232
|
+
closed: boolean;
|
|
204
233
|
}[];
|
|
205
234
|
};
|
|
206
235
|
positions: {
|
|
@@ -208,10 +237,18 @@ export declare const scheduleState: {
|
|
|
208
237
|
name: string;
|
|
209
238
|
}[];
|
|
210
239
|
employees: {
|
|
240
|
+
overtime?: {
|
|
241
|
+
maxHoursPerMonth: number | null;
|
|
242
|
+
} | undefined;
|
|
243
|
+
minHoursPerDay?: number | null | undefined;
|
|
244
|
+
workingHours?: {
|
|
245
|
+
minHoursPerDay: number | null;
|
|
246
|
+
maxHoursPerDay: number | null;
|
|
247
|
+
maxHoursPerWeek: number | null;
|
|
248
|
+
} | undefined;
|
|
211
249
|
name: string;
|
|
212
250
|
employeeId: string;
|
|
213
251
|
employmentType: "FULLTIME" | "PARTTIME";
|
|
214
|
-
workingHour: number;
|
|
215
252
|
wage: {
|
|
216
253
|
type: "HOURLY" | "MONTHLY";
|
|
217
254
|
amount: number;
|
|
@@ -251,6 +288,7 @@ export declare const scheduleState: {
|
|
|
251
288
|
startTime: string;
|
|
252
289
|
endTime: string;
|
|
253
290
|
})[];
|
|
291
|
+
updatedAt: string;
|
|
254
292
|
}[];
|
|
255
293
|
} | null>;
|
|
256
294
|
loading: import("vue").Ref<boolean, boolean>;
|
|
@@ -334,13 +372,17 @@ export declare const scheduleState: {
|
|
|
334
372
|
overtime: number;
|
|
335
373
|
};
|
|
336
374
|
};
|
|
337
|
-
otAfterDaily: number;
|
|
338
375
|
salesForecast: number;
|
|
339
376
|
closedWeekdays: number[];
|
|
340
377
|
labourTarget: number;
|
|
341
378
|
budgetFromSales: boolean;
|
|
342
379
|
budget: number;
|
|
343
|
-
otCapHours: number;
|
|
380
|
+
otCapHours: number | null;
|
|
381
|
+
workingHours: {
|
|
382
|
+
minHoursPerDay: number | null;
|
|
383
|
+
maxHoursPerDay: number | null;
|
|
384
|
+
maxHoursPerWeek: number | null;
|
|
385
|
+
};
|
|
344
386
|
otBudget: number;
|
|
345
387
|
notify: {
|
|
346
388
|
waConnected: boolean;
|
|
@@ -384,6 +426,7 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
384
426
|
days: {
|
|
385
427
|
date: string;
|
|
386
428
|
id: string;
|
|
429
|
+
updatedAt: string;
|
|
387
430
|
isPublicHoliday: boolean;
|
|
388
431
|
title: string;
|
|
389
432
|
description: string;
|
|
@@ -402,6 +445,10 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
402
445
|
headcount: number;
|
|
403
446
|
}[];
|
|
404
447
|
settings: {
|
|
448
|
+
settingsConfigured?: boolean | undefined;
|
|
449
|
+
overtime: {
|
|
450
|
+
maxHoursPerMonth: number | null;
|
|
451
|
+
};
|
|
405
452
|
payRate: {
|
|
406
453
|
NORMAL: {
|
|
407
454
|
overtime: number;
|
|
@@ -416,15 +463,20 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
416
463
|
};
|
|
417
464
|
};
|
|
418
465
|
setupCompleted: boolean;
|
|
466
|
+
workingHours: {
|
|
467
|
+
minHoursPerDay: number | null;
|
|
468
|
+
maxHoursPerDay: number | null;
|
|
469
|
+
maxHoursPerWeek: number | null;
|
|
470
|
+
};
|
|
419
471
|
};
|
|
420
472
|
restaurantProfile: {
|
|
421
473
|
operatingHours: {
|
|
422
|
-
dayOfWeek: number;
|
|
423
|
-
closed: boolean;
|
|
424
474
|
hours: {
|
|
425
475
|
start: string;
|
|
426
476
|
end: string;
|
|
427
477
|
}[];
|
|
478
|
+
dayOfWeek: number;
|
|
479
|
+
closed: boolean;
|
|
428
480
|
}[];
|
|
429
481
|
};
|
|
430
482
|
positions: {
|
|
@@ -432,10 +484,18 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
432
484
|
name: string;
|
|
433
485
|
}[];
|
|
434
486
|
employees: {
|
|
487
|
+
overtime?: {
|
|
488
|
+
maxHoursPerMonth: number | null;
|
|
489
|
+
} | undefined;
|
|
490
|
+
minHoursPerDay?: number | null | undefined;
|
|
491
|
+
workingHours?: {
|
|
492
|
+
minHoursPerDay: number | null;
|
|
493
|
+
maxHoursPerDay: number | null;
|
|
494
|
+
maxHoursPerWeek: number | null;
|
|
495
|
+
} | undefined;
|
|
435
496
|
name: string;
|
|
436
497
|
employeeId: string;
|
|
437
498
|
employmentType: "FULLTIME" | "PARTTIME";
|
|
438
|
-
workingHour: number;
|
|
439
499
|
wage: {
|
|
440
500
|
type: "HOURLY" | "MONTHLY";
|
|
441
501
|
amount: number;
|
|
@@ -475,6 +535,7 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
475
535
|
startTime: string;
|
|
476
536
|
endTime: string;
|
|
477
537
|
})[];
|
|
538
|
+
updatedAt: string;
|
|
478
539
|
}[];
|
|
479
540
|
} | null, {
|
|
480
541
|
timeOff: {
|
|
@@ -506,6 +567,7 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
506
567
|
days: {
|
|
507
568
|
date: string;
|
|
508
569
|
id: string;
|
|
570
|
+
updatedAt: string;
|
|
509
571
|
isPublicHoliday: boolean;
|
|
510
572
|
title: string;
|
|
511
573
|
description: string;
|
|
@@ -524,6 +586,10 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
524
586
|
headcount: number;
|
|
525
587
|
}[];
|
|
526
588
|
settings: {
|
|
589
|
+
settingsConfigured?: boolean | undefined;
|
|
590
|
+
overtime: {
|
|
591
|
+
maxHoursPerMonth: number | null;
|
|
592
|
+
};
|
|
527
593
|
payRate: {
|
|
528
594
|
NORMAL: {
|
|
529
595
|
overtime: number;
|
|
@@ -538,15 +604,20 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
538
604
|
};
|
|
539
605
|
};
|
|
540
606
|
setupCompleted: boolean;
|
|
607
|
+
workingHours: {
|
|
608
|
+
minHoursPerDay: number | null;
|
|
609
|
+
maxHoursPerDay: number | null;
|
|
610
|
+
maxHoursPerWeek: number | null;
|
|
611
|
+
};
|
|
541
612
|
};
|
|
542
613
|
restaurantProfile: {
|
|
543
614
|
operatingHours: {
|
|
544
|
-
dayOfWeek: number;
|
|
545
|
-
closed: boolean;
|
|
546
615
|
hours: {
|
|
547
616
|
start: string;
|
|
548
617
|
end: string;
|
|
549
618
|
}[];
|
|
619
|
+
dayOfWeek: number;
|
|
620
|
+
closed: boolean;
|
|
550
621
|
}[];
|
|
551
622
|
};
|
|
552
623
|
positions: {
|
|
@@ -554,10 +625,18 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
554
625
|
name: string;
|
|
555
626
|
}[];
|
|
556
627
|
employees: {
|
|
628
|
+
overtime?: {
|
|
629
|
+
maxHoursPerMonth: number | null;
|
|
630
|
+
} | undefined;
|
|
631
|
+
minHoursPerDay?: number | null | undefined;
|
|
632
|
+
workingHours?: {
|
|
633
|
+
minHoursPerDay: number | null;
|
|
634
|
+
maxHoursPerDay: number | null;
|
|
635
|
+
maxHoursPerWeek: number | null;
|
|
636
|
+
} | undefined;
|
|
557
637
|
name: string;
|
|
558
638
|
employeeId: string;
|
|
559
639
|
employmentType: "FULLTIME" | "PARTTIME";
|
|
560
|
-
workingHour: number;
|
|
561
640
|
wage: {
|
|
562
641
|
type: "HOURLY" | "MONTHLY";
|
|
563
642
|
amount: number;
|
|
@@ -597,6 +676,7 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
597
676
|
startTime: string;
|
|
598
677
|
endTime: string;
|
|
599
678
|
})[];
|
|
679
|
+
updatedAt: string;
|
|
600
680
|
}[];
|
|
601
681
|
} | null>, loading: import("vue").Ref<boolean, boolean>, rosterLoading: import("vue").Ref<boolean, boolean>, loadError: import("vue").Ref<string | null, string | null>, scheduleSetupCompleted: import("vue").Ref<boolean, boolean>, dataVersion: import("vue").Ref<number, number>, outletId: import("vue").Ref<string, string>, restaurantEmployees: import("vue").Ref<{
|
|
602
682
|
_id: string;
|
|
@@ -658,13 +738,17 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
658
738
|
overtime: number;
|
|
659
739
|
};
|
|
660
740
|
};
|
|
661
|
-
otAfterDaily: number;
|
|
662
741
|
salesForecast: number;
|
|
663
742
|
closedWeekdays: number[];
|
|
664
743
|
labourTarget: number;
|
|
665
744
|
budgetFromSales: boolean;
|
|
666
745
|
budget: number;
|
|
667
|
-
otCapHours: number;
|
|
746
|
+
otCapHours: number | null;
|
|
747
|
+
workingHours: {
|
|
748
|
+
minHoursPerDay: number | null;
|
|
749
|
+
maxHoursPerDay: number | null;
|
|
750
|
+
maxHoursPerWeek: number | null;
|
|
751
|
+
};
|
|
668
752
|
otBudget: number;
|
|
669
753
|
notify: {
|
|
670
754
|
waConnected: boolean;
|
|
@@ -677,3 +761,7 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
677
761
|
};
|
|
678
762
|
};
|
|
679
763
|
};
|
|
764
|
+
/** Restore all outlet-scoped rules before another outlet is allowed to populate them. Keeping
|
|
765
|
+
* the reactive object and its nested containers alive matters because many board composables
|
|
766
|
+
* hold references to RULES members rather than reading the store object afresh. */
|
|
767
|
+
export declare function resetRules(): void;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
import ScheduleAPI from '@/api/schedule';
|
|
1
2
|
import type { IFdtoPosUserSummary } from '@/types/employee';
|
|
2
|
-
import type { FdtoScheduleAssignment, FdtoScheduleAutoScheduleApplyReq, FdtoScheduleAutoScheduleApplyResult, FdtoScheduleAutoScheduleCapabilities, FdtoScheduleAutoScheduleGenerateReq, FdtoScheduleAutoScheduleResult, FdtoScheduleBulkUpdateAssignmentStatusReq, FdtoScheduleCreateEmployeeProfileReq, FdtoScheduleSaveAssignmentReq, FdtoScheduleSavePositionReq, FdtoScheduleSaveScheduleDayReq, FdtoScheduleUpdateEmployeeProfileReq, FdtoScheduleCreateTimeOffReq, FdtoScheduleTimeOff, FdtoScheduleUpdateTimeOffStatusReq, FdtoScheduleSaveEmployeeConfigsReq, ScheduleReplaceDemandReq } from '@/types/schedule';
|
|
3
|
+
import type { FdtoScheduleAssignment, FdtoScheduleAutoScheduleApplyReq, FdtoScheduleAutoScheduleApplyResult, FdtoScheduleAutoScheduleCapabilities, FdtoScheduleAutoScheduleGenerateReq, FdtoScheduleAutoScheduleResult, FdtoScheduleBulkUpdateAssignmentStatusReq, FdtoScheduleCreateEmployeeProfileReq, FdtoScheduleSaveAssignmentReq, FdtoScheduleSavePositionReq, FdtoScheduleSaveScheduleDayReq, FdtoScheduleUpdateEmployeeProfileReq, FdtoScheduleValidatePosAccessReq, FdtoScheduleCreateTimeOffReq, FdtoScheduleTimeOff, FdtoScheduleUpdateTimeOffStatusReq, FdtoScheduleSaveEmployeeConfigsReq, ScheduleReplaceDemandReq } from '@/types/schedule';
|
|
4
|
+
import { isoDateKey } from './composables/schedule-calendar';
|
|
3
5
|
export { businessEmployees, dataVersion, employeeOutletIds, loadError, loading, outletId, payload, restaurantEmployees, employeeConfigs, rosterLoading, scheduleSetupCompleted, } from './schedule-state';
|
|
4
6
|
/** dayjs-free local-date key — the board's own isoDateKey, repeated here so the store does not
|
|
5
7
|
* have to import a composable. Local Y/M/D, never UTC: a BSON-free 'YYYY-MM-DD' that survives
|
|
6
8
|
* a timezone west of Greenwich. */
|
|
7
|
-
export declare
|
|
9
|
+
export declare const isoDate: typeof isoDateKey;
|
|
8
10
|
/** Points the board at an outlet. Switching throws the held window away rather than widening
|
|
9
11
|
* it — two outlets' rosters are not one dataset, and half of each is not a schedule.
|
|
10
12
|
*
|
|
@@ -33,6 +35,14 @@ export declare function addEmployeeToOutlets(employeeId: string, restaurantIds:
|
|
|
33
35
|
export declare function removeEmployeeFromOutlets(employeeId: string, restaurantIds: string[]): Promise<void>;
|
|
34
36
|
/** Takes a POS user off this outlet's roster only. */
|
|
35
37
|
export declare function removeEmployeeFromOutlet(employeeId: string): Promise<void>;
|
|
38
|
+
/** Sets the POS role each of these outlets grants a user — every other outlet on their roster
|
|
39
|
+
* is untouched. An empty roleId means "linked to this outlet, no role assigned" (the same thing
|
|
40
|
+
* `addEmployeeToOutlets`' default gives), not "remove them from it" — use
|
|
41
|
+
* `removeEmployeeFromOutlets` for that. A duplicate restaurantId keeps only the last entry. */
|
|
42
|
+
export declare function setEmployeePosRoles(employeeId: string, assignments: {
|
|
43
|
+
restaurantId: string;
|
|
44
|
+
roleId: string;
|
|
45
|
+
}[]): Promise<void>;
|
|
36
46
|
/** The cached business roster, fetched on first use. `force` re-reads it (after a write, or to
|
|
37
47
|
* refresh a list that is already on screen). Concurrent callers share one request. */
|
|
38
48
|
export declare function ensureBusinessEmployees(force?: boolean): Promise<IFdtoPosUserSummary[]>;
|
|
@@ -52,6 +62,7 @@ export declare function reload(): Promise<void>;
|
|
|
52
62
|
* Throws on failure (a duplicate profile, a network error) — the caller decides how to show
|
|
53
63
|
* that, this just doesn't pretend it succeeded. */
|
|
54
64
|
export declare function createEmployeeProfile(req: FdtoScheduleCreateEmployeeProfileReq): Promise<void>;
|
|
65
|
+
export declare function validateSchedulePosAccess(req: FdtoScheduleValidatePosAccessReq): Promise<void>;
|
|
55
66
|
/** Edits a profile already on this outlet's schedule. The caller (useScheduleAddEmployee's
|
|
56
67
|
* `updateExisting`) applies the form to the live `Employee` object itself for instant feedback,
|
|
57
68
|
* so this does not bump `dataVersion` — nothing needs a board cache rebuild. The raw payload is
|
|
@@ -75,15 +86,14 @@ export declare function deletePosition(id: string): Promise<void>;
|
|
|
75
86
|
* to land there for that seed to stay correct — without a `dataVersion` bump, which would
|
|
76
87
|
* invalidate the per-week employee cache and risk reverting an unsaved shift. */
|
|
77
88
|
export declare function saveScheduleDay(date: string, req: FdtoScheduleSaveScheduleDayReq): Promise<void>;
|
|
78
|
-
/** Replaces one date
|
|
89
|
+
/** Replaces one date's UI demand by expanding every period into flat ShiftDemand rows.
|
|
79
90
|
* Position-specific headcount becomes its own row; any remaining headcount becomes an
|
|
80
91
|
* unpositioned row for the same time range. */
|
|
81
92
|
export declare function saveDemand(req: ScheduleReplaceDemandReq): Promise<void>;
|
|
93
|
+
export declare function saveDemandsBulk(requests: ScheduleReplaceDemandReq[]): Promise<void>;
|
|
82
94
|
/** Copies one date's own demand rows onto another date, as that date's own rows. A date that
|
|
83
95
|
* already has demand of its own is left alone (nothing is overwritten), and a source date with
|
|
84
|
-
*
|
|
85
|
-
* week, so repeating it per date would only shadow later edits to the rule. Returns how many rows
|
|
86
|
-
* were written. */
|
|
96
|
+
* no explicit rows has nothing to copy. Returns how many rows were written. */
|
|
87
97
|
export declare function copyDateDemand(fromDate: string, toDate: string): Promise<number>;
|
|
88
98
|
export declare function generateAutoSchedule(req: FdtoScheduleAutoScheduleGenerateReq): Promise<FdtoScheduleAutoScheduleResult>;
|
|
89
99
|
export declare function getAutoScheduleCapabilities(): Promise<FdtoScheduleAutoScheduleCapabilities>;
|
|
@@ -96,6 +106,7 @@ export declare function applyAutoSchedule(req: FdtoScheduleAutoScheduleApplyReq)
|
|
|
96
106
|
* their own to read back from yet). */
|
|
97
107
|
export declare function createAssignment(req: FdtoScheduleSaveAssignmentReq): Promise<FdtoScheduleAssignment>;
|
|
98
108
|
export declare function updateAssignment(id: string, req: FdtoScheduleSaveAssignmentReq): Promise<FdtoScheduleAssignment | null>;
|
|
109
|
+
export declare function bulkSaveAssignments(req: Parameters<typeof ScheduleAPI.bulkSaveAssignments>[1]): Promise<Awaited<ReturnType<typeof ScheduleAPI.bulkSaveAssignments>>>;
|
|
99
110
|
/** Deletes a batch of existing assignments in a single request — see
|
|
100
111
|
* `ScheduleAPI.deleteAssignments`. Deleting one is just this with a single-id array. */
|
|
101
112
|
export declare function deleteAssignments(ids: string[]): Promise<void>;
|
|
@@ -8,6 +8,8 @@ export interface WorkSlot {
|
|
|
8
8
|
start: string;
|
|
9
9
|
end: string;
|
|
10
10
|
role: string;
|
|
11
|
+
/** The persisted position identity, retained even when the position is soft-deleted. */
|
|
12
|
+
positionId?: string;
|
|
11
13
|
status: ShiftStatus;
|
|
12
14
|
clock?: ShiftClock;
|
|
13
15
|
conflict?: boolean;
|
|
@@ -35,6 +37,8 @@ export interface WorkSlot {
|
|
|
35
37
|
* round-tripped to the backend yet, or it's an OpenShift fill (see openId), which has its
|
|
36
38
|
* own record shape and no write path of its own yet. */
|
|
37
39
|
assignmentId?: string;
|
|
40
|
+
/** Server timestamp used to reject stale background saves. */
|
|
41
|
+
updatedAt?: string;
|
|
38
42
|
/** Client-only — never sent to the backend (there's no linking field in
|
|
39
43
|
* FdtoScheduleAssignment to persist it against). Shared by every period of ONE shift
|
|
40
44
|
* authored through the popover's "+ Split", set there and nowhere else. Two workslots on
|
|
@@ -85,6 +89,8 @@ export interface EmployeeAvailHours {
|
|
|
85
89
|
}
|
|
86
90
|
export interface Employee {
|
|
87
91
|
id: number;
|
|
92
|
+
/** Stable backend identity. The numeric id is only a board/view-model id. */
|
|
93
|
+
sourceId: string;
|
|
88
94
|
name: string;
|
|
89
95
|
employmentType: 'FULLTIME' | 'PARTTIME';
|
|
90
96
|
role: string;
|
|
@@ -94,11 +100,13 @@ export interface Employee {
|
|
|
94
100
|
/** Full-time-equivalent percentage, e.g. 100 for a full-timer, 60 for 0.6 FTE. */
|
|
95
101
|
pct: number;
|
|
96
102
|
/** Hours per week this person is contracted to, as agreed with them. Per-person rather than
|
|
97
|
-
* a venue default: ScheduleSettings holds pay rates
|
|
103
|
+
* a venue default: ScheduleSettings holds pay rates and employee-hour defaults, and EmployeeProfiles.workingHours
|
|
98
104
|
* is where the figure is actually stated. Undefined means nobody has agreed one. */
|
|
99
105
|
contractHours?: number;
|
|
100
106
|
rate: number;
|
|
101
107
|
positions: string[];
|
|
108
|
+
/** Position references that remain on the employee profile but are no longer active in the catalogue. */
|
|
109
|
+
archivedPositions?: string[];
|
|
102
110
|
/** One entry per visible day of the horizon; null = day off. */
|
|
103
111
|
shifts: DaySlot[];
|
|
104
112
|
remarks: EmployeeRemark[];
|
|
@@ -113,11 +121,18 @@ export interface Employee {
|
|
|
113
121
|
* hourly figure derived from this and is what the grid actually costs shifts with. */
|
|
114
122
|
payAmount?: number;
|
|
115
123
|
maxHours?: number;
|
|
116
|
-
maxOtHours?: number;
|
|
117
124
|
/** Shortest shift, in hours, this person will come in for. Asking for less is allowed but
|
|
118
125
|
* warned about in the shift popover. */
|
|
119
126
|
minHours?: number;
|
|
120
|
-
|
|
127
|
+
minHoursPerDay?: number;
|
|
128
|
+
workingHours?: {
|
|
129
|
+
minHoursPerDay: number | null;
|
|
130
|
+
maxHoursPerDay: number | null;
|
|
131
|
+
maxHoursPerWeek: number | null;
|
|
132
|
+
};
|
|
133
|
+
overtime?: {
|
|
134
|
+
maxHoursPerMonth: number | null;
|
|
135
|
+
};
|
|
121
136
|
preferences?: string[];
|
|
122
137
|
seniority?: 'senior' | 'junior' | '';
|
|
123
138
|
/** Recurring days off (full-timer) or days available (part-timer) — see
|
|
@@ -196,7 +211,6 @@ export interface ScheduleRules {
|
|
|
196
211
|
end: string;
|
|
197
212
|
}>[];
|
|
198
213
|
payRate: PayRate;
|
|
199
|
-
otAfterDaily: number;
|
|
200
214
|
/** Weekly sales forecast (RM) — the stats row's editable input and the figure the
|
|
201
215
|
* per-day forecast curve distributes across the week. */
|
|
202
216
|
salesForecast: number;
|
|
@@ -211,7 +225,12 @@ export interface ScheduleRules {
|
|
|
211
225
|
/** Weekly labour cap (RM), editable directly when budgetFromSales is false. */
|
|
212
226
|
budget: number;
|
|
213
227
|
/** Monthly OT cap (hours) — Settings page "Overtime" tab. */
|
|
214
|
-
otCapHours: number;
|
|
228
|
+
otCapHours: number | null;
|
|
229
|
+
workingHours: {
|
|
230
|
+
minHoursPerDay: number | null;
|
|
231
|
+
maxHoursPerDay: number | null;
|
|
232
|
+
maxHoursPerWeek: number | null;
|
|
233
|
+
};
|
|
215
234
|
/** Monthly OT budget (RM), advisory only. */
|
|
216
235
|
otBudget: number;
|
|
217
236
|
notify: {
|
|
@@ -227,6 +246,7 @@ export interface ScheduleRules {
|
|
|
227
246
|
}
|
|
228
247
|
export interface PendingChange {
|
|
229
248
|
empId: number;
|
|
249
|
+
employeeKey: string;
|
|
230
250
|
dayIdx: number;
|
|
231
251
|
kind: 'add' | 'change' | 'remove';
|
|
232
252
|
label: string;
|
|
@@ -285,6 +305,8 @@ export interface ScheduleDayNote {
|
|
|
285
305
|
* "any position" remainder, which is derived and never stored. */
|
|
286
306
|
export interface DemandRole {
|
|
287
307
|
position: string;
|
|
308
|
+
/** Persisted position identity; the name is only the display label. */
|
|
309
|
+
positionId?: string;
|
|
288
310
|
n: number;
|
|
289
311
|
}
|
|
290
312
|
/** A stretch of a day and how many people the floor needs across it. Deliberately not a shift:
|