@feedmepos/mf-hrm-portal 2.3.0-dev → 2.3.0-dev.3
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-SjyWZghY.js} +2 -2
- package/dist/{AuditLogList-BTifJhO1.js → AuditLogList-aTI3QeO0.js} +3 -3
- package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-qr5TwLTK.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang--JTV7non.js} +2 -2
- package/dist/{EmployeeList-DzcMtxJ3.js → EmployeeList-D2Q_2ZE0.js} +4 -4
- package/dist/{GrantUserList-D5b7tJ8Y.js → GrantUserList-6YXLPuHR.js} +3 -3
- package/dist/{Main-DFwdAWqn.js → Main-B-a6F9g8.js} +5 -5
- package/dist/{Main-B2r59IOW.js → Main-CFIWlIaC.js} +2 -2
- package/dist/{Main-DkLBemi7.js → Main-dSqOeBRJ.js} +9 -9
- package/dist/{PermissionSetList-B80hrfMW.js → PermissionSetList-DxkaPCMs.js} +5 -5
- package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-DjNcJQM9.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-DnKckKZ0.js} +1165 -1165
- package/dist/{RoleList-DHO4JRKF.js → RoleList-DQZ_w5uM.js} +7 -7
- package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-Dr6QruG6.js +470 -0
- package/dist/{ScheduleGeneralPage-WlBM8bxV.js → ScheduleGeneralPage-CvskrXcV.js} +273 -236
- package/dist/ScheduleModal.vue_vue_type_script_setup_true_lang-C4On5sVD.js +2157 -0
- package/dist/SchedulePage-CW-K836l.js +18248 -0
- package/dist/{SchedulePositionPage-C0hrO11d.js → SchedulePositionPage-BGrZBU3g.js} +67 -66
- package/dist/{TeamMemberList-CgFWLRBM.js → TeamMemberList-BiTHVJwE.js} +6 -6
- package/dist/{TimesheetList-Dp40G-0I.js → TimesheetList-CUkYacGW.js} +5 -5
- package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-BFjrMhUG.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-B1Y587O-.js} +2 -2
- package/dist/{app-CmBSTvaI.js → app-CAKCDrbJ.js} +657 -577
- package/dist/app.js +1 -1
- package/dist/{dayjs.min-CfL2DQ3d.js → dayjs.min-CZ8QYRoc.js} +1 -1
- package/dist/{employee-DQcHjoij.js → employee-D56eWEFe.js} +28 -27
- package/dist/{iteration-BlavheWG.js → iteration-BVJdyLNq.js} +1 -1
- package/dist/{lodash-QerqayrJ.js → lodash-BcIRkQPW.js} +1 -1
- package/dist/{role-RM2YLO7n.js → role-B-eZDaBX.js} +1 -1
- package/dist/{rule-DjlvYIuP.js → rule-D6AIfx8b.js} +2 -2
- package/dist/src/api/schedule/index.d.ts +6 -4
- package/dist/src/components/layout/withScheduleShell.d.ts +10 -0
- package/dist/src/composables/useMessage.d.ts +2 -8
- package/dist/src/types/employee.d.ts +1 -0
- package/dist/src/types/schedule.d.ts +1 -1
- package/dist/src/views/scheduling/components/ScheduleBoardAreaRows.vue.d.ts +28 -0
- package/dist/src/views/scheduling/components/ScheduleBoardEditOverlays.vue.d.ts +19 -0
- package/dist/src/views/scheduling/components/ScheduleBoardEmployeeRows.vue.d.ts +38 -0
- package/dist/src/views/scheduling/components/ScheduleBoardGridHeader.vue.d.ts +24 -0
- package/dist/src/views/scheduling/components/ScheduleBoardInteractionOverlays.vue.d.ts +38 -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 +39 -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/{ScheduleOpenShiftCardMenu.vue.d.ts → ScheduleContextMenu.vue.d.ts} +10 -3
- 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 +10 -0
- package/dist/src/views/scheduling/components/ScheduleModal.vue.d.ts +26 -0
- package/dist/src/views/scheduling/components/{ScheduleExportDoneDialog.vue.d.ts → ScheduleOnboardingClosedDayConfirm.vue.d.ts} +2 -2
- package/dist/src/views/scheduling/components/{ScheduleAutoScheduleDetailsModal.vue.d.ts → ScheduleOnboardingDemandDays.vue.d.ts} +2 -2
- package/dist/src/views/scheduling/components/{ScheduleEmployeeMenu.vue.d.ts → ScheduleOnboardingDemandFooter.vue.d.ts} +2 -2
- 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 +7 -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 -2
- 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/schedule-board-helpers.d.ts +1 -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-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/scheduleAutoSolver.d.ts +23 -0
- package/dist/src/views/scheduling/composables/useScheduleAddEmployee.d.ts +14 -13
- package/dist/src/views/scheduling/composables/useScheduleAssign.d.ts +3 -1
- package/dist/src/views/scheduling/composables/useScheduleAssignmentMutations.d.ts +13 -0
- package/dist/src/views/scheduling/composables/useScheduleAutoSchedule.d.ts +4 -114
- package/dist/src/views/scheduling/composables/useScheduleBoard.d.ts +18 -2
- 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 -1
- package/dist/src/views/scheduling/composables/useScheduleDemand.d.ts +4 -19
- package/dist/src/views/scheduling/composables/useScheduleDemandSheet.d.ts +12 -2
- package/dist/src/views/scheduling/composables/useScheduleEmployeeAccess.d.ts +11 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeAvailability.d.ts +13 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeCandidates.d.ts +26 -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 +25 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeValidation.d.ts +18 -0
- package/dist/src/views/scheduling/composables/useScheduleExport.d.ts +19 -11
- package/dist/src/views/scheduling/composables/useScheduleGapPopover.d.ts +3 -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 +187 -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 +64 -487
- 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 -3
- package/dist/src/views/scheduling/composables/useSchedulePdfExport.d.ts +19 -0
- package/dist/src/views/scheduling/composables/useSchedulePositionModal.d.ts +3 -1
- package/dist/src/views/scheduling/composables/useSchedulePositions.d.ts +3 -1
- package/dist/src/views/scheduling/composables/useSchedulePublish.d.ts +7 -1
- package/dist/src/views/scheduling/composables/useSchedulePublishPersistence.d.ts +11 -0
- package/dist/src/views/scheduling/composables/useScheduleRoster.d.ts +6 -0
- package/dist/src/views/scheduling/composables/useScheduleSettings.d.ts +2 -24
- package/dist/src/views/scheduling/composables/useScheduleShiftActions.d.ts +6 -1
- package/dist/src/views/scheduling/composables/useScheduleShiftDraft.d.ts +62 -0
- package/dist/src/views/scheduling/composables/useScheduleShiftPersistence.d.ts +17 -0
- package/dist/src/views/scheduling/composables/useScheduleShiftPopover.d.ts +10 -5
- 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 +11 -6
- 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 +134 -110
- package/dist/src/views/scheduling/schedule-store.d.ts +6 -5
- package/dist/src/views/scheduling/types.d.ts +5 -3
- package/dist/style.css +1 -1
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/dist/{useReportPermissions-Bl6Br79r.js → useReportPermissions-DHA0jrIr.js} +3 -3
- package/package.json +1 -1
- package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-B-XtB64L.js +0 -452
- 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/AppSidebar.vue.d.ts +0 -2
- package/dist/src/components/layout/withShell.d.ts +0 -14
- package/dist/src/views/scheduling/components/ScheduleShiftCardMenu.vue.d.ts +0 -12
- package/dist/src/views/scheduling/components/ScheduleTourAllSet.vue.d.ts +0 -6
- package/dist/src/views/scheduling/composables/auto-schedule-mapping.d.ts +0 -33
- package/dist/src/views/scheduling/composables/useScheduleStaffRail.d.ts +0 -17
- package/dist/src/views/scheduling/composables/useScheduleTopbar.d.ts +0 -10
|
@@ -49,6 +49,7 @@ export declare const i18nMessages: {
|
|
|
49
49
|
status: {
|
|
50
50
|
draft: string;
|
|
51
51
|
published: string;
|
|
52
|
+
locked: string;
|
|
52
53
|
};
|
|
53
54
|
staffRail: {
|
|
54
55
|
title: string;
|
|
@@ -149,6 +150,25 @@ export declare const i18nMessages: {
|
|
|
149
150
|
thisWeek: string;
|
|
150
151
|
nextWeek: string;
|
|
151
152
|
};
|
|
153
|
+
common: {
|
|
154
|
+
anyPosition: string;
|
|
155
|
+
none: string;
|
|
156
|
+
leaveAsIs: string;
|
|
157
|
+
monthly: string;
|
|
158
|
+
hourly: string;
|
|
159
|
+
everyone: string;
|
|
160
|
+
fullTime: string;
|
|
161
|
+
partTime: string;
|
|
162
|
+
noPosition: string;
|
|
163
|
+
noPay: string;
|
|
164
|
+
cancel: string;
|
|
165
|
+
done: string;
|
|
166
|
+
tryAgain: string;
|
|
167
|
+
};
|
|
168
|
+
positionModal: {
|
|
169
|
+
editTitle: string;
|
|
170
|
+
addTitle: string;
|
|
171
|
+
};
|
|
152
172
|
comingSoon: string;
|
|
153
173
|
};
|
|
154
174
|
};
|
|
@@ -200,6 +220,7 @@ export declare const i18nMessages: {
|
|
|
200
220
|
status: {
|
|
201
221
|
draft: string;
|
|
202
222
|
published: string;
|
|
223
|
+
locked: string;
|
|
203
224
|
};
|
|
204
225
|
staffRail: {
|
|
205
226
|
title: string;
|
|
@@ -300,6 +321,25 @@ export declare const i18nMessages: {
|
|
|
300
321
|
thisWeek: string;
|
|
301
322
|
nextWeek: string;
|
|
302
323
|
};
|
|
324
|
+
common: {
|
|
325
|
+
anyPosition: string;
|
|
326
|
+
none: string;
|
|
327
|
+
leaveAsIs: string;
|
|
328
|
+
monthly: string;
|
|
329
|
+
hourly: string;
|
|
330
|
+
everyone: string;
|
|
331
|
+
fullTime: string;
|
|
332
|
+
partTime: string;
|
|
333
|
+
noPosition: string;
|
|
334
|
+
noPay: string;
|
|
335
|
+
cancel: string;
|
|
336
|
+
done: string;
|
|
337
|
+
tryAgain: string;
|
|
338
|
+
};
|
|
339
|
+
positionModal: {
|
|
340
|
+
editTitle: string;
|
|
341
|
+
addTitle: string;
|
|
342
|
+
};
|
|
303
343
|
comingSoon: string;
|
|
304
344
|
};
|
|
305
345
|
};
|
|
@@ -351,6 +391,7 @@ export declare const i18nMessages: {
|
|
|
351
391
|
status: {
|
|
352
392
|
draft: string;
|
|
353
393
|
published: string;
|
|
394
|
+
locked: string;
|
|
354
395
|
};
|
|
355
396
|
staffRail: {
|
|
356
397
|
title: string;
|
|
@@ -451,6 +492,25 @@ export declare const i18nMessages: {
|
|
|
451
492
|
thisWeek: string;
|
|
452
493
|
nextWeek: string;
|
|
453
494
|
};
|
|
495
|
+
common: {
|
|
496
|
+
anyPosition: string;
|
|
497
|
+
none: string;
|
|
498
|
+
leaveAsIs: string;
|
|
499
|
+
monthly: string;
|
|
500
|
+
hourly: string;
|
|
501
|
+
everyone: string;
|
|
502
|
+
fullTime: string;
|
|
503
|
+
partTime: string;
|
|
504
|
+
noPosition: string;
|
|
505
|
+
noPay: string;
|
|
506
|
+
cancel: string;
|
|
507
|
+
done: string;
|
|
508
|
+
tryAgain: string;
|
|
509
|
+
};
|
|
510
|
+
positionModal: {
|
|
511
|
+
editTitle: string;
|
|
512
|
+
addTitle: string;
|
|
513
|
+
};
|
|
454
514
|
comingSoon: string;
|
|
455
515
|
};
|
|
456
516
|
};
|
|
@@ -502,6 +562,7 @@ export declare const i18nMessages: {
|
|
|
502
562
|
status: {
|
|
503
563
|
draft: string;
|
|
504
564
|
published: string;
|
|
565
|
+
locked: string;
|
|
505
566
|
};
|
|
506
567
|
staffRail: {
|
|
507
568
|
title: string;
|
|
@@ -602,6 +663,25 @@ export declare const i18nMessages: {
|
|
|
602
663
|
thisWeek: string;
|
|
603
664
|
nextWeek: string;
|
|
604
665
|
};
|
|
666
|
+
common: {
|
|
667
|
+
anyPosition: string;
|
|
668
|
+
none: string;
|
|
669
|
+
leaveAsIs: string;
|
|
670
|
+
monthly: string;
|
|
671
|
+
hourly: string;
|
|
672
|
+
everyone: string;
|
|
673
|
+
fullTime: string;
|
|
674
|
+
partTime: string;
|
|
675
|
+
noPosition: string;
|
|
676
|
+
noPay: string;
|
|
677
|
+
cancel: string;
|
|
678
|
+
done: string;
|
|
679
|
+
tryAgain: string;
|
|
680
|
+
};
|
|
681
|
+
positionModal: {
|
|
682
|
+
editTitle: string;
|
|
683
|
+
addTitle: string;
|
|
684
|
+
};
|
|
605
685
|
comingSoon: string;
|
|
606
686
|
};
|
|
607
687
|
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Shared scheduling limits and UI timing values. Keeping these named makes the product
|
|
2
|
+
* trade-offs visible when the API or board behavior changes. */
|
|
3
|
+
export declare const EMPLOYEE_PAGE_SIZE = 500;
|
|
4
|
+
export declare const MAX_BUSINESS_EMPLOYEE_PAGES = 10;
|
|
5
|
+
export declare const PREFETCH_WEEKS = 6;
|
|
6
|
+
export declare const RECENT_SAVE_FLASH_MS = 1500;
|
|
7
|
+
export declare const EMPLOYEE_ID_BASE = 1000000;
|
|
@@ -9,40 +9,6 @@ import type { CompGroupMeta, ExistingStaffCandidate, ShiftTemplate } from './typ
|
|
|
9
9
|
*/
|
|
10
10
|
export declare const scheduleState: {
|
|
11
11
|
payload: import("vue").ShallowRef<{
|
|
12
|
-
timeOff: {
|
|
13
|
-
type: "OFF_DAY" | "LEAVE";
|
|
14
|
-
status: "PENDING" | "APPROVED" | "REJECTED" | "CANCELLED";
|
|
15
|
-
id: string;
|
|
16
|
-
employeeId: string;
|
|
17
|
-
leaveType: "UNPAID" | "ANNUAL" | "MEDICAL" | "EMERGENCY" | null;
|
|
18
|
-
startDate: string;
|
|
19
|
-
endDate: string;
|
|
20
|
-
startPart: "FULL_DAY" | "AM" | "PM";
|
|
21
|
-
endPart: "FULL_DAY" | "AM" | "PM";
|
|
22
|
-
reason: string;
|
|
23
|
-
attachmentIds: string[];
|
|
24
|
-
requestedBy: string;
|
|
25
|
-
requestedAt: string;
|
|
26
|
-
approvedBy: string | null;
|
|
27
|
-
approvedAt: string | null;
|
|
28
|
-
approvalComment: string | null;
|
|
29
|
-
}[];
|
|
30
|
-
outlet: {
|
|
31
|
-
id: string;
|
|
32
|
-
name: string;
|
|
33
|
-
};
|
|
34
|
-
range: {
|
|
35
|
-
from: string;
|
|
36
|
-
to: string;
|
|
37
|
-
};
|
|
38
|
-
days: {
|
|
39
|
-
date: string;
|
|
40
|
-
id: string;
|
|
41
|
-
isPublicHoliday: boolean;
|
|
42
|
-
title: string;
|
|
43
|
-
description: string;
|
|
44
|
-
salesForecastOverride: number | null;
|
|
45
|
-
}[];
|
|
46
12
|
demands: {
|
|
47
13
|
date: string | null;
|
|
48
14
|
startTime: string;
|
|
@@ -55,7 +21,18 @@ export declare const scheduleState: {
|
|
|
55
21
|
} | null;
|
|
56
22
|
headcount: number;
|
|
57
23
|
}[];
|
|
24
|
+
outlet: {
|
|
25
|
+
id: string;
|
|
26
|
+
name: string;
|
|
27
|
+
};
|
|
28
|
+
range: {
|
|
29
|
+
from: string;
|
|
30
|
+
to: string;
|
|
31
|
+
};
|
|
58
32
|
settings: {
|
|
33
|
+
overtime: {
|
|
34
|
+
maxMonthlyHours: number;
|
|
35
|
+
};
|
|
59
36
|
payRate: {
|
|
60
37
|
NORMAL: {
|
|
61
38
|
overtime: number;
|
|
@@ -73,12 +50,12 @@ export declare const scheduleState: {
|
|
|
73
50
|
};
|
|
74
51
|
restaurantProfile: {
|
|
75
52
|
operatingHours: {
|
|
76
|
-
dayOfWeek: number;
|
|
77
|
-
closed: boolean;
|
|
78
53
|
hours: {
|
|
79
54
|
start: string;
|
|
80
55
|
end: string;
|
|
81
56
|
}[];
|
|
57
|
+
dayOfWeek: number;
|
|
58
|
+
closed: boolean;
|
|
82
59
|
}[];
|
|
83
60
|
};
|
|
84
61
|
positions: {
|
|
@@ -129,8 +106,17 @@ export declare const scheduleState: {
|
|
|
129
106
|
startTime: string;
|
|
130
107
|
endTime: string;
|
|
131
108
|
})[];
|
|
109
|
+
updatedAt: string;
|
|
110
|
+
}[];
|
|
111
|
+
days: {
|
|
112
|
+
date: string;
|
|
113
|
+
id: string;
|
|
114
|
+
updatedAt: string;
|
|
115
|
+
title: string;
|
|
116
|
+
description: string;
|
|
117
|
+
isPublicHoliday: boolean;
|
|
118
|
+
salesForecastOverride: number | null;
|
|
132
119
|
}[];
|
|
133
|
-
} | null, {
|
|
134
120
|
timeOff: {
|
|
135
121
|
type: "OFF_DAY" | "LEAVE";
|
|
136
122
|
status: "PENDING" | "APPROVED" | "REJECTED" | "CANCELLED";
|
|
@@ -149,22 +135,7 @@ export declare const scheduleState: {
|
|
|
149
135
|
approvedAt: string | null;
|
|
150
136
|
approvalComment: string | null;
|
|
151
137
|
}[];
|
|
152
|
-
|
|
153
|
-
id: string;
|
|
154
|
-
name: string;
|
|
155
|
-
};
|
|
156
|
-
range: {
|
|
157
|
-
from: string;
|
|
158
|
-
to: string;
|
|
159
|
-
};
|
|
160
|
-
days: {
|
|
161
|
-
date: string;
|
|
162
|
-
id: string;
|
|
163
|
-
isPublicHoliday: boolean;
|
|
164
|
-
title: string;
|
|
165
|
-
description: string;
|
|
166
|
-
salesForecastOverride: number | null;
|
|
167
|
-
}[];
|
|
138
|
+
} | null, {
|
|
168
139
|
demands: {
|
|
169
140
|
date: string | null;
|
|
170
141
|
startTime: string;
|
|
@@ -177,7 +148,18 @@ export declare const scheduleState: {
|
|
|
177
148
|
} | null;
|
|
178
149
|
headcount: number;
|
|
179
150
|
}[];
|
|
151
|
+
outlet: {
|
|
152
|
+
id: string;
|
|
153
|
+
name: string;
|
|
154
|
+
};
|
|
155
|
+
range: {
|
|
156
|
+
from: string;
|
|
157
|
+
to: string;
|
|
158
|
+
};
|
|
180
159
|
settings: {
|
|
160
|
+
overtime: {
|
|
161
|
+
maxMonthlyHours: number;
|
|
162
|
+
};
|
|
181
163
|
payRate: {
|
|
182
164
|
NORMAL: {
|
|
183
165
|
overtime: number;
|
|
@@ -195,12 +177,12 @@ export declare const scheduleState: {
|
|
|
195
177
|
};
|
|
196
178
|
restaurantProfile: {
|
|
197
179
|
operatingHours: {
|
|
198
|
-
dayOfWeek: number;
|
|
199
|
-
closed: boolean;
|
|
200
180
|
hours: {
|
|
201
181
|
start: string;
|
|
202
182
|
end: string;
|
|
203
183
|
}[];
|
|
184
|
+
dayOfWeek: number;
|
|
185
|
+
closed: boolean;
|
|
204
186
|
}[];
|
|
205
187
|
};
|
|
206
188
|
positions: {
|
|
@@ -251,6 +233,34 @@ export declare const scheduleState: {
|
|
|
251
233
|
startTime: string;
|
|
252
234
|
endTime: string;
|
|
253
235
|
})[];
|
|
236
|
+
updatedAt: string;
|
|
237
|
+
}[];
|
|
238
|
+
days: {
|
|
239
|
+
date: string;
|
|
240
|
+
id: string;
|
|
241
|
+
updatedAt: string;
|
|
242
|
+
title: string;
|
|
243
|
+
description: string;
|
|
244
|
+
isPublicHoliday: boolean;
|
|
245
|
+
salesForecastOverride: number | null;
|
|
246
|
+
}[];
|
|
247
|
+
timeOff: {
|
|
248
|
+
type: "OFF_DAY" | "LEAVE";
|
|
249
|
+
status: "PENDING" | "APPROVED" | "REJECTED" | "CANCELLED";
|
|
250
|
+
id: string;
|
|
251
|
+
employeeId: string;
|
|
252
|
+
leaveType: "UNPAID" | "ANNUAL" | "MEDICAL" | "EMERGENCY" | null;
|
|
253
|
+
startDate: string;
|
|
254
|
+
endDate: string;
|
|
255
|
+
startPart: "FULL_DAY" | "AM" | "PM";
|
|
256
|
+
endPart: "FULL_DAY" | "AM" | "PM";
|
|
257
|
+
reason: string;
|
|
258
|
+
attachmentIds: string[];
|
|
259
|
+
requestedBy: string;
|
|
260
|
+
requestedAt: string;
|
|
261
|
+
approvedBy: string | null;
|
|
262
|
+
approvedAt: string | null;
|
|
263
|
+
approvalComment: string | null;
|
|
254
264
|
}[];
|
|
255
265
|
} | null>;
|
|
256
266
|
loading: import("vue").Ref<boolean, boolean>;
|
|
@@ -355,40 +365,6 @@ export declare const scheduleState: {
|
|
|
355
365
|
};
|
|
356
366
|
};
|
|
357
367
|
export declare const payload: import("vue").ShallowRef<{
|
|
358
|
-
timeOff: {
|
|
359
|
-
type: "OFF_DAY" | "LEAVE";
|
|
360
|
-
status: "PENDING" | "APPROVED" | "REJECTED" | "CANCELLED";
|
|
361
|
-
id: string;
|
|
362
|
-
employeeId: string;
|
|
363
|
-
leaveType: "UNPAID" | "ANNUAL" | "MEDICAL" | "EMERGENCY" | null;
|
|
364
|
-
startDate: string;
|
|
365
|
-
endDate: string;
|
|
366
|
-
startPart: "FULL_DAY" | "AM" | "PM";
|
|
367
|
-
endPart: "FULL_DAY" | "AM" | "PM";
|
|
368
|
-
reason: string;
|
|
369
|
-
attachmentIds: string[];
|
|
370
|
-
requestedBy: string;
|
|
371
|
-
requestedAt: string;
|
|
372
|
-
approvedBy: string | null;
|
|
373
|
-
approvedAt: string | null;
|
|
374
|
-
approvalComment: string | null;
|
|
375
|
-
}[];
|
|
376
|
-
outlet: {
|
|
377
|
-
id: string;
|
|
378
|
-
name: string;
|
|
379
|
-
};
|
|
380
|
-
range: {
|
|
381
|
-
from: string;
|
|
382
|
-
to: string;
|
|
383
|
-
};
|
|
384
|
-
days: {
|
|
385
|
-
date: string;
|
|
386
|
-
id: string;
|
|
387
|
-
isPublicHoliday: boolean;
|
|
388
|
-
title: string;
|
|
389
|
-
description: string;
|
|
390
|
-
salesForecastOverride: number | null;
|
|
391
|
-
}[];
|
|
392
368
|
demands: {
|
|
393
369
|
date: string | null;
|
|
394
370
|
startTime: string;
|
|
@@ -401,7 +377,18 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
401
377
|
} | null;
|
|
402
378
|
headcount: number;
|
|
403
379
|
}[];
|
|
380
|
+
outlet: {
|
|
381
|
+
id: string;
|
|
382
|
+
name: string;
|
|
383
|
+
};
|
|
384
|
+
range: {
|
|
385
|
+
from: string;
|
|
386
|
+
to: string;
|
|
387
|
+
};
|
|
404
388
|
settings: {
|
|
389
|
+
overtime: {
|
|
390
|
+
maxMonthlyHours: number;
|
|
391
|
+
};
|
|
405
392
|
payRate: {
|
|
406
393
|
NORMAL: {
|
|
407
394
|
overtime: number;
|
|
@@ -419,12 +406,12 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
419
406
|
};
|
|
420
407
|
restaurantProfile: {
|
|
421
408
|
operatingHours: {
|
|
422
|
-
dayOfWeek: number;
|
|
423
|
-
closed: boolean;
|
|
424
409
|
hours: {
|
|
425
410
|
start: string;
|
|
426
411
|
end: string;
|
|
427
412
|
}[];
|
|
413
|
+
dayOfWeek: number;
|
|
414
|
+
closed: boolean;
|
|
428
415
|
}[];
|
|
429
416
|
};
|
|
430
417
|
positions: {
|
|
@@ -475,8 +462,17 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
475
462
|
startTime: string;
|
|
476
463
|
endTime: string;
|
|
477
464
|
})[];
|
|
465
|
+
updatedAt: string;
|
|
466
|
+
}[];
|
|
467
|
+
days: {
|
|
468
|
+
date: string;
|
|
469
|
+
id: string;
|
|
470
|
+
updatedAt: string;
|
|
471
|
+
title: string;
|
|
472
|
+
description: string;
|
|
473
|
+
isPublicHoliday: boolean;
|
|
474
|
+
salesForecastOverride: number | null;
|
|
478
475
|
}[];
|
|
479
|
-
} | null, {
|
|
480
476
|
timeOff: {
|
|
481
477
|
type: "OFF_DAY" | "LEAVE";
|
|
482
478
|
status: "PENDING" | "APPROVED" | "REJECTED" | "CANCELLED";
|
|
@@ -495,22 +491,7 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
495
491
|
approvedAt: string | null;
|
|
496
492
|
approvalComment: string | null;
|
|
497
493
|
}[];
|
|
498
|
-
|
|
499
|
-
id: string;
|
|
500
|
-
name: string;
|
|
501
|
-
};
|
|
502
|
-
range: {
|
|
503
|
-
from: string;
|
|
504
|
-
to: string;
|
|
505
|
-
};
|
|
506
|
-
days: {
|
|
507
|
-
date: string;
|
|
508
|
-
id: string;
|
|
509
|
-
isPublicHoliday: boolean;
|
|
510
|
-
title: string;
|
|
511
|
-
description: string;
|
|
512
|
-
salesForecastOverride: number | null;
|
|
513
|
-
}[];
|
|
494
|
+
} | null, {
|
|
514
495
|
demands: {
|
|
515
496
|
date: string | null;
|
|
516
497
|
startTime: string;
|
|
@@ -523,7 +504,18 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
523
504
|
} | null;
|
|
524
505
|
headcount: number;
|
|
525
506
|
}[];
|
|
507
|
+
outlet: {
|
|
508
|
+
id: string;
|
|
509
|
+
name: string;
|
|
510
|
+
};
|
|
511
|
+
range: {
|
|
512
|
+
from: string;
|
|
513
|
+
to: string;
|
|
514
|
+
};
|
|
526
515
|
settings: {
|
|
516
|
+
overtime: {
|
|
517
|
+
maxMonthlyHours: number;
|
|
518
|
+
};
|
|
527
519
|
payRate: {
|
|
528
520
|
NORMAL: {
|
|
529
521
|
overtime: number;
|
|
@@ -541,12 +533,12 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
541
533
|
};
|
|
542
534
|
restaurantProfile: {
|
|
543
535
|
operatingHours: {
|
|
544
|
-
dayOfWeek: number;
|
|
545
|
-
closed: boolean;
|
|
546
536
|
hours: {
|
|
547
537
|
start: string;
|
|
548
538
|
end: string;
|
|
549
539
|
}[];
|
|
540
|
+
dayOfWeek: number;
|
|
541
|
+
closed: boolean;
|
|
550
542
|
}[];
|
|
551
543
|
};
|
|
552
544
|
positions: {
|
|
@@ -597,6 +589,34 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
597
589
|
startTime: string;
|
|
598
590
|
endTime: string;
|
|
599
591
|
})[];
|
|
592
|
+
updatedAt: string;
|
|
593
|
+
}[];
|
|
594
|
+
days: {
|
|
595
|
+
date: string;
|
|
596
|
+
id: string;
|
|
597
|
+
updatedAt: string;
|
|
598
|
+
title: string;
|
|
599
|
+
description: string;
|
|
600
|
+
isPublicHoliday: boolean;
|
|
601
|
+
salesForecastOverride: number | null;
|
|
602
|
+
}[];
|
|
603
|
+
timeOff: {
|
|
604
|
+
type: "OFF_DAY" | "LEAVE";
|
|
605
|
+
status: "PENDING" | "APPROVED" | "REJECTED" | "CANCELLED";
|
|
606
|
+
id: string;
|
|
607
|
+
employeeId: string;
|
|
608
|
+
leaveType: "UNPAID" | "ANNUAL" | "MEDICAL" | "EMERGENCY" | null;
|
|
609
|
+
startDate: string;
|
|
610
|
+
endDate: string;
|
|
611
|
+
startPart: "FULL_DAY" | "AM" | "PM";
|
|
612
|
+
endPart: "FULL_DAY" | "AM" | "PM";
|
|
613
|
+
reason: string;
|
|
614
|
+
attachmentIds: string[];
|
|
615
|
+
requestedBy: string;
|
|
616
|
+
requestedAt: string;
|
|
617
|
+
approvedBy: string | null;
|
|
618
|
+
approvedAt: string | null;
|
|
619
|
+
approvalComment: string | null;
|
|
600
620
|
}[];
|
|
601
621
|
} | 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
622
|
_id: string;
|
|
@@ -677,3 +697,7 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
677
697
|
};
|
|
678
698
|
};
|
|
679
699
|
};
|
|
700
|
+
/** Restore all outlet-scoped rules before another outlet is allowed to populate them. Keeping
|
|
701
|
+
* the reactive object and its nested containers alive matters because many board composables
|
|
702
|
+
* hold references to RULES members rather than reading the store object afresh. */
|
|
703
|
+
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,
|
|
3
|
+
import type { FdtoScheduleAssignment, FdtoScheduleAutoScheduleReq, FdtoScheduleAutoScheduleResult, FdtoScheduleBulkUpdateAssignmentStatusReq, FdtoScheduleCreateEmployeeProfileReq, FdtoScheduleSaveAssignmentReq, FdtoScheduleSavePositionReq, FdtoScheduleSaveScheduleDayReq, FdtoScheduleUpdateEmployeeProfileReq, 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
|
*
|
|
@@ -85,9 +87,7 @@ export declare function saveDemand(req: ScheduleReplaceDemandReq): Promise<void>
|
|
|
85
87
|
* week, so repeating it per date would only shadow later edits to the rule. Returns how many rows
|
|
86
88
|
* were written. */
|
|
87
89
|
export declare function copyDateDemand(fromDate: string, toDate: string): Promise<number>;
|
|
88
|
-
export declare function generateAutoSchedule(req:
|
|
89
|
-
export declare function getAutoScheduleCapabilities(): Promise<FdtoScheduleAutoScheduleCapabilities>;
|
|
90
|
-
export declare function applyAutoSchedule(req: FdtoScheduleAutoScheduleApplyReq): Promise<FdtoScheduleAutoScheduleApplyResult>;
|
|
90
|
+
export declare function generateAutoSchedule(req: FdtoScheduleAutoScheduleReq): Promise<FdtoScheduleAutoScheduleResult>;
|
|
91
91
|
/** A one-off shift assignment — someone working these hours on this date, not answering any
|
|
92
92
|
* Shift requirement. Deliberately does not reload: unlike `createEmployeeProfile` above, there
|
|
93
93
|
* is nothing here a reload could bring back that the caller doesn't already have — `commitShift`
|
|
@@ -96,6 +96,7 @@ export declare function applyAutoSchedule(req: FdtoScheduleAutoScheduleApplyReq)
|
|
|
96
96
|
* their own to read back from yet). */
|
|
97
97
|
export declare function createAssignment(req: FdtoScheduleSaveAssignmentReq): Promise<FdtoScheduleAssignment>;
|
|
98
98
|
export declare function updateAssignment(id: string, req: FdtoScheduleSaveAssignmentReq): Promise<FdtoScheduleAssignment | null>;
|
|
99
|
+
export declare function bulkSaveAssignments(req: Parameters<typeof ScheduleAPI.bulkSaveAssignments>[1]): Promise<Awaited<ReturnType<typeof ScheduleAPI.bulkSaveAssignments>>>;
|
|
99
100
|
/** Deletes a batch of existing assignments in a single request — see
|
|
100
101
|
* `ScheduleAPI.deleteAssignments`. Deleting one is just this with a single-id array. */
|
|
101
102
|
export declare function deleteAssignments(ids: string[]): Promise<void>;
|
|
@@ -35,6 +35,8 @@ export interface WorkSlot {
|
|
|
35
35
|
* round-tripped to the backend yet, or it's an OpenShift fill (see openId), which has its
|
|
36
36
|
* own record shape and no write path of its own yet. */
|
|
37
37
|
assignmentId?: string;
|
|
38
|
+
/** Server timestamp used to reject stale background saves. */
|
|
39
|
+
updatedAt?: string;
|
|
38
40
|
/** Client-only — never sent to the backend (there's no linking field in
|
|
39
41
|
* FdtoScheduleAssignment to persist it against). Shared by every period of ONE shift
|
|
40
42
|
* authored through the popover's "+ Split", set there and nowhere else. Two workslots on
|
|
@@ -85,6 +87,8 @@ export interface EmployeeAvailHours {
|
|
|
85
87
|
}
|
|
86
88
|
export interface Employee {
|
|
87
89
|
id: number;
|
|
90
|
+
/** Stable backend identity. The numeric id is only a board/view-model id. */
|
|
91
|
+
sourceId: string;
|
|
88
92
|
name: string;
|
|
89
93
|
employmentType: 'FULLTIME' | 'PARTTIME';
|
|
90
94
|
role: string;
|
|
@@ -227,6 +231,7 @@ export interface ScheduleRules {
|
|
|
227
231
|
}
|
|
228
232
|
export interface PendingChange {
|
|
229
233
|
empId: number;
|
|
234
|
+
employeeKey: string;
|
|
230
235
|
dayIdx: number;
|
|
231
236
|
kind: 'add' | 'change' | 'remove';
|
|
232
237
|
label: string;
|
|
@@ -337,9 +342,6 @@ export interface Proposal {
|
|
|
337
342
|
start: string;
|
|
338
343
|
end: string;
|
|
339
344
|
role: string;
|
|
340
|
-
/** The position backing `role`, when the auto-schedule result named one. `null`/absent means
|
|
341
|
-
* any position (an unnamed need). */
|
|
342
|
-
positionId?: string | null;
|
|
343
345
|
/** Set when this proposal would fill a named OpenShift record. */
|
|
344
346
|
openId?: number;
|
|
345
347
|
status: 'pending' | 'rejected';
|