@feedmepos/mf-hrm-portal 2.3.0-dev.9 → 2.3.0
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-BDpxEJpC.js → ApprovalCodeList-DwubNElp.js} +7 -7
- package/dist/{AuditLogList-Dgwj1gz8.js → AuditLogList-CTeMbyHL.js} +18 -19
- package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-BBK2gl7r.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-CmLLNcB4.js} +2 -2
- package/dist/{EmployeeList-C8cbVcmY.js → EmployeeList-DEAJPx9F.js} +255 -266
- package/dist/{FormItem.vue_vue_type_script_setup_true_lang-CUnlKsxk.js → FormItem.vue_vue_type_script_setup_true_lang-OAvd6eHM.js} +6 -6
- package/dist/{GrantUserList-zul0_Dlm.js → GrantUserList-Dx4jF2qJ.js} +8 -8
- package/dist/{Main-Cjo4FMZZ.js → Main-BirWXk7o.js} +5 -5
- package/dist/{Main-DSr9KbjT.js → Main-C2PBSCte.js} +11 -11
- package/dist/{Main-5TsFTFpc.js → Main-CL5JYCPg.js} +8 -8
- package/dist/{PermissionSetList-CDhiiu37.js → PermissionSetList-BtYcqPiO.js} +19 -18
- package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-DoK944l0.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-BXw4aX39.js} +1127 -1127
- package/dist/{PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-BVz6q3HE.js → PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-DaAx79pC.js} +1 -1
- package/dist/ResponsiveContextMenu.vue_vue_type_script_setup_true_lang-mSJFKo7r.js +132 -0
- package/dist/{RoleList-DEbOPQD_.js → RoleList-YS_LBfoJ.js} +21 -20
- package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-BorKuXxL.js +530 -0
- package/dist/{ScheduleGeneralPage-B8PWNsc2.js → ScheduleGeneralPage-C1p2mivt.js} +252 -248
- package/dist/ScheduleModal.vue_vue_type_script_setup_true_lang-CnKzVz3I.js +2457 -0
- package/dist/SchedulePage-BP7x7JAl.js +19485 -0
- package/dist/{SchedulePositionPage-Cuv4ydOK.js → SchedulePositionPage-BogOQZVW.js} +78 -80
- package/dist/{SelectFilter-CG13h83-.js → SelectFilter-Dh3eY1hV.js} +1 -1
- package/dist/{TeamMemberList-DpCGqHCk.js → TeamMemberList-Bv6_2bzs.js} +27 -27
- package/dist/{TimesheetList-B7HAC5zS.js → TimesheetList-B3BmpH0I.js} +52 -53
- package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-BGD6m5M-.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-C4rbnZh1.js} +3 -3
- package/dist/{app-Lh0cqgHy.js → app-CyS8c8dx.js} +2879 -2462
- package/dist/app.js +1 -1
- package/dist/{approval-code-DHsUgc4K.js → approval-code-BIpLingm.js} +1 -1
- package/dist/{dayjs.min-joq4stsa.js → dayjs.min-BRlEc3-d.js} +1 -1
- package/dist/{employee-BPmp9c6i.js → employee-CcdjLOLQ.js} +51 -47
- package/dist/{grant-user-qzKHFTro.js → grant-user-uZmvD_bw.js} +1 -1
- package/dist/{iteration-jvdTHQUx.js → iteration-CL1RDmws.js} +1 -1
- package/dist/{lodash-CIAEpr9s.js → lodash-C00ieagp.js} +1 -1
- package/dist/object-Dwyg2LgX.js +16 -0
- package/dist/{restaurant-BbYRA_IT.js → restaurant-CHpkjUPy.js} +46 -47
- package/dist/{role-Dd1TUMhn.js → role-DtatkKp9.js} +2 -2
- package/dist/{rule-DmxI7qEY.js → rule-DJJMpkoG.js} +3 -3
- package/dist/src/api/employee/index.d.ts +2 -2
- package/dist/src/api/schedule/index.d.ts +11 -1
- package/dist/src/components/layout/SchedulePromoBanner.vue.d.ts +2 -0
- package/dist/src/composables/useDiscardConfirm.d.ts +3 -1
- package/dist/src/stores/employee.d.ts +12 -12
- package/dist/src/types/schedule.d.ts +1 -1
- package/dist/src/views/audit-log/locales/index.d.ts +252 -0
- package/dist/src/views/scheduling/components/ScheduleAreaRows.vue.d.ts +6 -2
- package/dist/src/views/scheduling/components/ScheduleAutoScheduleDoneArt.vue.d.ts +2 -0
- package/dist/src/views/scheduling/components/ScheduleBoardAreaRows.vue.d.ts +2 -0
- package/dist/src/views/scheduling/components/ScheduleBoardGridHeader.vue.d.ts +5 -0
- package/dist/src/views/scheduling/components/ScheduleBoardInteractionOverlays.vue.d.ts +2 -0
- package/dist/src/views/scheduling/components/ScheduleBoardOnboardingOverlays.vue.d.ts +1 -0
- package/dist/src/views/scheduling/components/ScheduleBoardToolbar.vue.d.ts +0 -1
- package/dist/src/views/scheduling/components/ScheduleCompletionDialog.vue.d.ts +1 -1
- package/dist/src/views/scheduling/components/ScheduleConfirmModal.vue.d.ts +4 -1
- package/dist/src/views/scheduling/components/ScheduleDayTimeline.vue.d.ts +5 -0
- package/dist/src/views/scheduling/components/ScheduleLoadState.vue.d.ts +0 -1
- package/dist/src/views/scheduling/components/ScheduleOnboardingSettings.vue.d.ts +6 -0
- package/dist/src/views/scheduling/components/ScheduleShiftPopover.vue.d.ts +1 -1
- package/dist/src/views/scheduling/composables/auto-schedule-mapping.d.ts +3 -3
- package/dist/src/views/scheduling/composables/onboarding-types.d.ts +2 -1
- package/dist/src/views/scheduling/composables/remyPrompt.d.ts +4 -2
- package/dist/src/views/scheduling/composables/schedule-board-helpers.d.ts +4 -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 +13 -1
- package/dist/src/views/scheduling/composables/schedule-error.d.ts +1 -0
- package/dist/src/views/scheduling/composables/schedule-leave-split.d.ts +5 -0
- package/dist/src/views/scheduling/composables/schedule-quick-pick.d.ts +22 -0
- package/dist/src/views/scheduling/composables/schedule-shift-time.d.ts +3 -0
- package/dist/src/views/scheduling/composables/schedule-week-cache.d.ts +3 -1
- package/dist/src/views/scheduling/composables/useRemyAppStore.d.ts +1 -0
- package/dist/src/views/scheduling/composables/useScheduleAddEmployee.d.ts +25 -2
- package/dist/src/views/scheduling/composables/useScheduleAddPick.d.ts +3 -11
- package/dist/src/views/scheduling/composables/useScheduleAreaDragDrop.d.ts +0 -1
- package/dist/src/views/scheduling/composables/useScheduleAutoSchedule.d.ts +22 -13
- package/dist/src/views/scheduling/composables/useScheduleBoard.d.ts +58 -7
- package/dist/src/views/scheduling/composables/useScheduleCopyWeek.d.ts +3 -10
- package/dist/src/views/scheduling/composables/useScheduleCostRail.d.ts +13 -1
- package/dist/src/views/scheduling/composables/useScheduleDayNote.d.ts +0 -1
- package/dist/src/views/scheduling/composables/useScheduleDayTimeline.d.ts +16 -2
- package/dist/src/views/scheduling/composables/useScheduleDemandSheet.d.ts +7 -0
- package/dist/src/views/scheduling/composables/useScheduleDragDrop.d.ts +1 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeAccess.d.ts +14 -6
- package/dist/src/views/scheduling/composables/useScheduleEmployeeCandidates.d.ts +26 -4
- package/dist/src/views/scheduling/composables/useScheduleEmployeePersistence.d.ts +3 -0
- package/dist/src/views/scheduling/composables/useScheduleEmployeeValidation.d.ts +0 -2
- package/dist/src/views/scheduling/composables/useScheduleExport.d.ts +1 -0
- package/dist/src/views/scheduling/composables/useScheduleLeave.d.ts +5 -1
- package/dist/src/views/scheduling/composables/useScheduleOnboardingDemand.d.ts +1 -1
- package/dist/src/views/scheduling/composables/useScheduleOnboardingEmployees.d.ts +28 -2
- package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +203 -8
- package/dist/src/views/scheduling/composables/useScheduleOutlet.d.ts +11 -8
- package/dist/src/views/scheduling/composables/useSchedulePageActions.d.ts +1 -1
- package/dist/src/views/scheduling/composables/useSchedulePageCellDrop.d.ts +3 -1
- package/dist/src/views/scheduling/composables/useSchedulePageClearActions.d.ts +1 -0
- package/dist/src/views/scheduling/composables/useSchedulePositions.d.ts +6 -0
- package/dist/src/views/scheduling/composables/useSchedulePublish.d.ts +2 -1
- package/dist/src/views/scheduling/composables/useScheduleRoster.d.ts +46 -0
- package/dist/src/views/scheduling/composables/useScheduleSetupBanner.d.ts +2 -2
- package/dist/src/views/scheduling/composables/useScheduleShiftActions.d.ts +29 -1
- package/dist/src/views/scheduling/composables/useScheduleShiftPopover.d.ts +32 -3
- package/dist/src/views/scheduling/country-rules/index.d.ts +8 -3
- package/dist/src/views/scheduling/data.d.ts +17 -0
- package/dist/src/views/scheduling/locales/index.d.ts +28 -0
- package/dist/src/views/scheduling/schedule-state.d.ts +236 -236
- package/dist/src/views/scheduling/schedule-store.d.ts +26 -7
- package/dist/src/views/scheduling/types.d.ts +8 -0
- package/dist/style.css +1 -1
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/dist/{useAppStore-BoLkvkE2.js → useAppStore-Bp0PwbAN.js} +1 -1
- package/dist/useDiscardConfirm-CzZSPyvh.js +28 -0
- package/dist/{useLoading-Ch1AUYT1.js → useLoading-sgL8DRUz.js} +1 -1
- package/dist/{useReportPermissions-DM3GOFCC.js → useReportPermissions-DI-xg3OX.js} +3 -3
- package/package.json +2 -2
- package/dist/ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-Cx9jFgBS.js +0 -492
- package/dist/ScheduleModal.vue_vue_type_script_setup_true_lang-V1sZ_xhO.js +0 -2253
- package/dist/SchedulePage-ndLByVBl.js +0 -17785
- package/dist/_plugin-vue_export-helper-CHgC5LLL.js +0 -9
- package/dist/useDiscardConfirm-DPhEV6v0.js +0 -157
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import { ref as w, reactive as B, computed as
|
|
2
|
-
import { useRouter as
|
|
3
|
-
import { useSnackbar as
|
|
4
|
-
import { R as
|
|
5
|
-
import { b as
|
|
6
|
-
import "
|
|
7
|
-
|
|
8
|
-
import "./employee-BPmp9c6i.js";
|
|
9
|
-
const Z = [
|
|
1
|
+
import { ref as w, reactive as B, computed as E, defineComponent as V, createBlock as A, openBlock as p, withCtx as b, createElementVNode as e, createVNode as k, createElementBlock as v, Fragment as L, createTextVNode as H, toDisplayString as g, withDirectives as f, vModelText as h, createCommentVNode as T, renderList as z, onMounted as Y, createStaticVNode as q, unref as r, normalizeClass as I } from "vue";
|
|
2
|
+
import { useRouter as F } from "vue-router";
|
|
3
|
+
import { useSnackbar as G } from "@feedmepos/ui-library";
|
|
4
|
+
import { R as j } from "./app-CyS8c8dx.js";
|
|
5
|
+
import { b as m, o as M, g as U, Q as J, $ as W, p as N, au as Q, as as C, aw as K, ax as X, ag as Z, at as _ } from "./ScheduleModal.vue_vue_type_script_setup_true_lang-CnKzVz3I.js";
|
|
6
|
+
import { useCoreStore as ee } from "@feedmepos/mf-common";
|
|
7
|
+
const se = [
|
|
10
8
|
{ key: "payrates", label: "Pay rates" },
|
|
11
9
|
{ key: "overtime", label: "Overtime" },
|
|
12
10
|
{ key: "workingHours", label: "Working hours" }
|
|
@@ -16,108 +14,115 @@ function $() {
|
|
|
16
14
|
// RULES is reactive, so spreading each rate tier first gives structuredClone plain
|
|
17
15
|
// objects instead of Vue Proxy instances, which structuredClone cannot clone.
|
|
18
16
|
payRate: {
|
|
19
|
-
NORMAL: { ...
|
|
20
|
-
REST_DAY: { ...
|
|
21
|
-
PUBLIC_HOLIDAY: { ...
|
|
17
|
+
NORMAL: { ...m.payRate.NORMAL },
|
|
18
|
+
REST_DAY: { ...m.payRate.REST_DAY },
|
|
19
|
+
PUBLIC_HOLIDAY: { ...m.payRate.PUBLIC_HOLIDAY }
|
|
22
20
|
},
|
|
23
|
-
otCapHours:
|
|
24
|
-
workingHours: { ...
|
|
21
|
+
otCapHours: m.otCapHours,
|
|
22
|
+
workingHours: { ...m.workingHours }
|
|
25
23
|
});
|
|
26
24
|
}
|
|
27
|
-
function
|
|
28
|
-
const
|
|
25
|
+
function te() {
|
|
26
|
+
const n = ee(), d = w(!1), a = w("payrates"), i = B($()), t = w(!1);
|
|
29
27
|
let u = 0;
|
|
30
|
-
async function
|
|
28
|
+
async function x() {
|
|
31
29
|
if (!M.value) return;
|
|
32
|
-
const c = ++u,
|
|
30
|
+
const c = ++u, o = M.value;
|
|
33
31
|
t.value = !0;
|
|
34
32
|
try {
|
|
35
|
-
const s = await
|
|
36
|
-
if (c !== u || M.value !==
|
|
37
|
-
|
|
38
|
-
|
|
33
|
+
const s = await W.getSettings(o);
|
|
34
|
+
if (c !== u || M.value !== o) return;
|
|
35
|
+
N.value && (N.value = { ...N.value, settings: s });
|
|
36
|
+
const l = U(n.currentCountry.value);
|
|
37
|
+
m.payRate = structuredClone(s.settingsConfigured ? s.payRate : l.payRate), m.otCapHours = s.settingsConfigured ? s.overtime.maxHoursPerMonth : l.overtime.maxHoursPerMonth, m.workingHours = s.settingsConfigured ? structuredClone(s.workingHours) : {
|
|
39
38
|
minHoursPerDay: null,
|
|
40
|
-
maxHoursPerDay:
|
|
41
|
-
maxHoursPerWeek:
|
|
39
|
+
maxHoursPerDay: l.workingHours.fullTime.maxHoursPerDay,
|
|
40
|
+
maxHoursPerWeek: l.workingHours.fullTime.maxHoursPerWeek
|
|
42
41
|
};
|
|
43
42
|
} finally {
|
|
44
43
|
c === u && (t.value = !1);
|
|
45
44
|
}
|
|
46
45
|
}
|
|
47
46
|
function y(c) {
|
|
48
|
-
Object.assign(
|
|
47
|
+
Object.assign(i, $()), a.value = c ?? "payrates", d.value = !0;
|
|
49
48
|
}
|
|
50
|
-
const
|
|
51
|
-
function
|
|
52
|
-
return
|
|
49
|
+
const P = E(() => JSON.stringify(i) !== JSON.stringify($()));
|
|
50
|
+
function S() {
|
|
51
|
+
return P.value ? !1 : (d.value = !1, !0);
|
|
53
52
|
}
|
|
54
53
|
function D() {
|
|
55
|
-
Object.assign(
|
|
54
|
+
Object.assign(i, $()), d.value = !1;
|
|
56
55
|
}
|
|
57
56
|
async function R() {
|
|
58
57
|
if (!M.value) throw new Error("No outlet selected");
|
|
59
|
-
const c =
|
|
58
|
+
const c = i.otCapHours === 0 ? null : i.otCapHours;
|
|
60
59
|
if (c != null && c <= 0)
|
|
61
60
|
throw new Error("Maximum monthly overtime hours must be greater than zero");
|
|
62
|
-
const
|
|
63
|
-
minHoursPerDay:
|
|
64
|
-
maxHoursPerDay:
|
|
65
|
-
maxHoursPerWeek:
|
|
66
|
-
};
|
|
67
|
-
if (
|
|
68
|
-
throw new Error(
|
|
69
|
-
|
|
70
|
-
|
|
61
|
+
const o = {
|
|
62
|
+
minHoursPerDay: i.workingHours.minHoursPerDay === 0 ? null : i.workingHours.minHoursPerDay,
|
|
63
|
+
maxHoursPerDay: i.workingHours.maxHoursPerDay === 0 ? null : i.workingHours.maxHoursPerDay,
|
|
64
|
+
maxHoursPerWeek: i.workingHours.maxHoursPerWeek === 0 ? null : i.workingHours.maxHoursPerWeek
|
|
65
|
+
}, s = U(n.currentCountry.value);
|
|
66
|
+
if (o.maxHoursPerDay == null)
|
|
67
|
+
throw new Error(`Maximum daily hours must be greater than zero. Default value to use: ${s.workingHours.fullTime.maxHoursPerDay} hours per day.`);
|
|
68
|
+
if (o.maxHoursPerWeek == null)
|
|
69
|
+
throw new Error(`Maximum weekly hours must be greater than zero. Default value to use: ${s.workingHours.fullTime.maxHoursPerWeek} hours per week.`);
|
|
70
|
+
if (o.minHoursPerDay != null && o.maxHoursPerDay != null && o.minHoursPerDay > o.maxHoursPerDay)
|
|
71
|
+
throw new Error("Minimum daily hours cannot exceed maximum daily hours");
|
|
72
|
+
if (o.maxHoursPerDay != null && o.maxHoursPerWeek != null && o.maxHoursPerDay > o.maxHoursPerWeek)
|
|
73
|
+
throw new Error("Maximum daily hours cannot exceed maximum weekly hours");
|
|
74
|
+
const l = await J({
|
|
75
|
+
payRate: i.payRate,
|
|
71
76
|
overtime: { maxHoursPerMonth: c },
|
|
72
|
-
workingHours:
|
|
77
|
+
workingHours: o
|
|
73
78
|
});
|
|
74
|
-
|
|
79
|
+
m.payRate = structuredClone(l.payRate), m.otCapHours = l.overtime.maxHoursPerMonth, m.workingHours = structuredClone(l.workingHours), d.value = !1;
|
|
75
80
|
}
|
|
76
|
-
return { isOpen: d, activeSection: a, draft:
|
|
81
|
+
return { isOpen: d, activeSection: a, draft: i, dirty: P, loading: t, load: x, open: y, close: S, discard: D, save: R };
|
|
77
82
|
}
|
|
78
|
-
function
|
|
79
|
-
const a = w(!1),
|
|
83
|
+
function ae(n, d = {}) {
|
|
84
|
+
const a = w(!1), i = w(""), t = w(/* @__PURE__ */ new Set()), u = w(!1), x = w(null), y = E(
|
|
80
85
|
() => {
|
|
81
|
-
var
|
|
82
|
-
return ((
|
|
86
|
+
var o;
|
|
87
|
+
return ((o = n.options.value.find((s) => s.value === n.outletId.value)) == null ? void 0 : o.label) ?? "";
|
|
83
88
|
}
|
|
84
|
-
),
|
|
85
|
-
const
|
|
86
|
-
return
|
|
87
|
-
(s) => s.value !==
|
|
89
|
+
), P = E(() => {
|
|
90
|
+
const o = i.value.trim().toLowerCase();
|
|
91
|
+
return n.options.value.filter(
|
|
92
|
+
(s) => s.value !== n.outletId.value && (!o || s.label.toLowerCase().includes(o))
|
|
88
93
|
);
|
|
89
94
|
});
|
|
90
|
-
function
|
|
91
|
-
|
|
95
|
+
function S() {
|
|
96
|
+
i.value = "", t.value = /* @__PURE__ */ new Set(), u.value = !1, x.value = null, a.value = !0;
|
|
92
97
|
}
|
|
93
98
|
function D() {
|
|
94
99
|
a.value = !1;
|
|
95
100
|
}
|
|
96
|
-
function R(
|
|
101
|
+
function R(o) {
|
|
97
102
|
const s = new Set(t.value);
|
|
98
|
-
s.has(
|
|
103
|
+
s.has(o) ? s.delete(o) : s.add(o), t.value = s;
|
|
99
104
|
}
|
|
100
105
|
async function c() {
|
|
101
|
-
var s,
|
|
102
|
-
const
|
|
103
|
-
if (!(!
|
|
106
|
+
var s, l;
|
|
107
|
+
const o = [...t.value];
|
|
108
|
+
if (!(!o.length || u.value)) {
|
|
104
109
|
u.value = !0;
|
|
105
110
|
try {
|
|
106
111
|
await Promise.all(
|
|
107
|
-
|
|
108
|
-
(O) =>
|
|
109
|
-
payRate:
|
|
110
|
-
overtime: { maxHoursPerMonth:
|
|
111
|
-
workingHours:
|
|
112
|
+
o.map(
|
|
113
|
+
(O) => W.saveSettings(O, {
|
|
114
|
+
payRate: m.payRate,
|
|
115
|
+
overtime: { maxHoursPerMonth: m.otCapHours },
|
|
116
|
+
workingHours: m.workingHours
|
|
112
117
|
})
|
|
113
118
|
)
|
|
114
|
-
),
|
|
119
|
+
), x.value = o.length, (s = d.notify) == null || s.call(
|
|
115
120
|
d,
|
|
116
|
-
`Setup copied to ${
|
|
121
|
+
`Setup copied to ${o.length} outlet${o.length === 1 ? "" : "s"}`,
|
|
117
122
|
"success"
|
|
118
123
|
);
|
|
119
124
|
} catch (O) {
|
|
120
|
-
(
|
|
125
|
+
(l = d.notify) == null || l.call(
|
|
121
126
|
d,
|
|
122
127
|
O instanceof Error ? O.message : "Could not clone outlet setup",
|
|
123
128
|
"error"
|
|
@@ -129,54 +134,54 @@ function ee(l, d = {}) {
|
|
|
129
134
|
}
|
|
130
135
|
return {
|
|
131
136
|
open: a,
|
|
132
|
-
query:
|
|
137
|
+
query: i,
|
|
133
138
|
selected: t,
|
|
134
139
|
saving: u,
|
|
135
|
-
done:
|
|
140
|
+
done: x,
|
|
136
141
|
sourceLabel: y,
|
|
137
|
-
targets:
|
|
138
|
-
openModal:
|
|
142
|
+
targets: P,
|
|
143
|
+
openModal: S,
|
|
139
144
|
close: D,
|
|
140
145
|
toggle: R,
|
|
141
146
|
confirm: c
|
|
142
147
|
};
|
|
143
148
|
}
|
|
144
|
-
const
|
|
149
|
+
const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
145
150
|
class: "ce-hint",
|
|
146
151
|
style: { "margin-bottom": "var(--fm-spacing-10)" }
|
|
147
|
-
},
|
|
152
|
+
}, ne = { class: "sch-search" }, ie = { class: "asg-list" }, ue = ["checked", "onChange"], de = { class: "asg-id" }, pe = { class: "asg-nm" }, me = {
|
|
148
153
|
key: 0,
|
|
149
154
|
class: "asg-empty"
|
|
150
|
-
},
|
|
155
|
+
}, ve = {
|
|
151
156
|
key: 1,
|
|
152
157
|
class: "cg-done"
|
|
153
|
-
},
|
|
158
|
+
}, ce = { class: "cg-st-main" }, ye = { class: "am-foot" }, fe = { class: "am-cost-preview" }, he = { class: "am-foot-btns" }, ge = /* @__PURE__ */ V({
|
|
154
159
|
__name: "ScheduleCloneOutletModal",
|
|
155
160
|
props: {
|
|
156
161
|
modal: {}
|
|
157
162
|
},
|
|
158
|
-
setup(
|
|
159
|
-
return (d, a) => (p(),
|
|
160
|
-
open:
|
|
163
|
+
setup(n) {
|
|
164
|
+
return (d, a) => (p(), A(Q, {
|
|
165
|
+
open: n.modal.open.value,
|
|
161
166
|
"panel-class": "ce-modal",
|
|
162
167
|
"panel-style": "width: min(460px, 95vw)",
|
|
163
168
|
"labelled-by": "schedule-clone-title",
|
|
164
|
-
onClose: a[5] || (a[5] = (
|
|
169
|
+
onClose: a[5] || (a[5] = (i) => n.modal.close())
|
|
165
170
|
}, {
|
|
166
171
|
default: b(() => [
|
|
167
|
-
e("div",
|
|
172
|
+
e("div", oe, [
|
|
168
173
|
a[7] || (a[7] = e("div", {
|
|
169
174
|
id: "schedule-clone-title",
|
|
170
175
|
class: "am-title"
|
|
171
176
|
}, "Clone outlet setup", -1)),
|
|
172
|
-
k(
|
|
177
|
+
k(C, {
|
|
173
178
|
hierarchy: "ghost",
|
|
174
179
|
size: "xs",
|
|
175
180
|
"icon-only": "",
|
|
176
181
|
class: "ce-close-x",
|
|
177
182
|
type: "button",
|
|
178
183
|
"aria-label": "Close",
|
|
179
|
-
onClick: a[0] || (a[0] = (
|
|
184
|
+
onClick: a[0] || (a[0] = (i) => n.modal.close())
|
|
180
185
|
}, {
|
|
181
186
|
default: b(() => [...a[6] || (a[6] = [
|
|
182
187
|
e("svg", {
|
|
@@ -195,14 +200,14 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
|
|
|
195
200
|
_: 1
|
|
196
201
|
})
|
|
197
202
|
]),
|
|
198
|
-
e("div",
|
|
199
|
-
|
|
200
|
-
e("div",
|
|
203
|
+
e("div", le, [
|
|
204
|
+
n.modal.done.value === null ? (p(), v(L, { key: 0 }, [
|
|
205
|
+
e("div", re, [
|
|
201
206
|
a[8] || (a[8] = H(" Copy ", -1)),
|
|
202
|
-
e("b", null,
|
|
207
|
+
e("b", null, g(n.modal.sourceLabel.value), 1),
|
|
203
208
|
a[9] || (a[9] = H("'s pay rates to: ", -1))
|
|
204
209
|
]),
|
|
205
|
-
e("div",
|
|
210
|
+
e("div", ne, [
|
|
206
211
|
a[10] || (a[10] = e("svg", {
|
|
207
212
|
width: "16",
|
|
208
213
|
height: "16",
|
|
@@ -225,84 +230,84 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
|
|
|
225
230
|
})
|
|
226
231
|
], -1)),
|
|
227
232
|
f(e("input", {
|
|
228
|
-
"onUpdate:modelValue": a[1] || (a[1] = (
|
|
233
|
+
"onUpdate:modelValue": a[1] || (a[1] = (i) => n.modal.query.value = i),
|
|
229
234
|
type: "search",
|
|
230
235
|
placeholder: "Search outlets",
|
|
231
236
|
"aria-label": "Search outlets",
|
|
232
237
|
autocomplete: "off"
|
|
233
238
|
}, null, 512), [
|
|
234
|
-
[
|
|
239
|
+
[h, n.modal.query.value]
|
|
235
240
|
])
|
|
236
241
|
]),
|
|
237
|
-
e("div",
|
|
238
|
-
(p(!0),
|
|
239
|
-
key:
|
|
242
|
+
e("div", ie, [
|
|
243
|
+
(p(!0), v(L, null, z(n.modal.targets.value, (i) => (p(), v("label", {
|
|
244
|
+
key: i.value,
|
|
240
245
|
class: "asg-row"
|
|
241
246
|
}, [
|
|
242
247
|
e("input", {
|
|
243
248
|
type: "checkbox",
|
|
244
249
|
class: "sch-checkbox",
|
|
245
250
|
"data-platform": "desktop",
|
|
246
|
-
checked:
|
|
247
|
-
onChange: (t) =>
|
|
248
|
-
}, null, 40,
|
|
249
|
-
e("span",
|
|
250
|
-
e("span",
|
|
251
|
+
checked: n.modal.selected.value.has(i.value),
|
|
252
|
+
onChange: (t) => n.modal.toggle(i.value)
|
|
253
|
+
}, null, 40, ue),
|
|
254
|
+
e("span", de, [
|
|
255
|
+
e("span", pe, g(i.label), 1)
|
|
251
256
|
])
|
|
252
257
|
]))), 128)),
|
|
253
|
-
|
|
258
|
+
n.modal.targets.value.length ? T("", !0) : (p(), v("div", me, g(n.modal.query.value ? "No outlet matches that search." : "No other outlets."), 1))
|
|
254
259
|
]),
|
|
255
260
|
a[11] || (a[11] = e("div", {
|
|
256
261
|
class: "ce-hint",
|
|
257
262
|
style: { "margin-top": "var(--fm-spacing-10)" }
|
|
258
263
|
}, " Copies this outlet's pay rates to the outlets you tick. Their current pay rates are replaced. ", -1))
|
|
259
|
-
], 64)) : (p(),
|
|
264
|
+
], 64)) : (p(), v("div", ve, [
|
|
260
265
|
a[13] || (a[13] = e("span", {
|
|
261
266
|
class: "cg-done-tick",
|
|
262
267
|
"aria-hidden": "true"
|
|
263
268
|
}, "✓", -1)),
|
|
264
|
-
e("div",
|
|
269
|
+
e("div", ce, [
|
|
265
270
|
a[12] || (a[12] = e("b", null, "Pay rates copied", -1)),
|
|
266
|
-
e("small", null, "Sent to " +
|
|
271
|
+
e("small", null, "Sent to " + g(n.modal.done.value) + " outlet" + g(n.modal.done.value === 1 ? "" : "s"), 1)
|
|
267
272
|
])
|
|
268
273
|
]))
|
|
269
274
|
]),
|
|
270
|
-
e("div",
|
|
271
|
-
e("div",
|
|
272
|
-
e("div",
|
|
273
|
-
|
|
274
|
-
k(
|
|
275
|
+
e("div", ye, [
|
|
276
|
+
e("div", fe, g(n.modal.done.value === null && n.modal.selected.value.size ? `${n.modal.selected.value.size} outlet${n.modal.selected.value.size === 1 ? "" : "s"} selected` : ""), 1),
|
|
277
|
+
e("div", he, [
|
|
278
|
+
n.modal.done.value === null ? (p(), v(L, { key: 0 }, [
|
|
279
|
+
k(C, {
|
|
275
280
|
hierarchy: "secondary",
|
|
276
281
|
size: "sm",
|
|
277
282
|
class: "am-btn am-btn-sec",
|
|
278
283
|
type: "button",
|
|
279
|
-
onClick: a[2] || (a[2] = (
|
|
284
|
+
onClick: a[2] || (a[2] = (i) => n.modal.close())
|
|
280
285
|
}, {
|
|
281
286
|
default: b(() => [...a[14] || (a[14] = [
|
|
282
287
|
H(" Cancel ", -1)
|
|
283
288
|
])]),
|
|
284
289
|
_: 1
|
|
285
290
|
}),
|
|
286
|
-
k(
|
|
291
|
+
k(C, {
|
|
287
292
|
hierarchy: "primary",
|
|
288
293
|
size: "sm",
|
|
289
294
|
class: "am-btn am-btn-primary",
|
|
290
295
|
type: "button",
|
|
291
|
-
disabled: !
|
|
292
|
-
onClick: a[3] || (a[3] = (
|
|
296
|
+
disabled: !n.modal.selected.value.size || n.modal.saving.value,
|
|
297
|
+
onClick: a[3] || (a[3] = (i) => n.modal.confirm())
|
|
293
298
|
}, {
|
|
294
299
|
default: b(() => [
|
|
295
|
-
H(
|
|
300
|
+
H(g(n.modal.saving.value ? "Copying…" : "Copy setup"), 1)
|
|
296
301
|
]),
|
|
297
302
|
_: 1
|
|
298
303
|
}, 8, ["disabled"])
|
|
299
|
-
], 64)) : (p(),
|
|
304
|
+
], 64)) : (p(), A(C, {
|
|
300
305
|
key: 1,
|
|
301
306
|
hierarchy: "primary",
|
|
302
307
|
size: "sm",
|
|
303
308
|
class: "am-btn am-btn-primary",
|
|
304
309
|
type: "button",
|
|
305
|
-
onClick: a[4] || (a[4] = (
|
|
310
|
+
onClick: a[4] || (a[4] = (i) => n.modal.close())
|
|
306
311
|
}, {
|
|
307
312
|
default: b(() => [...a[15] || (a[15] = [
|
|
308
313
|
H(" Done ", -1)
|
|
@@ -315,40 +320,40 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
|
|
|
315
320
|
_: 1
|
|
316
321
|
}, 8, ["open"]));
|
|
317
322
|
}
|
|
318
|
-
}),
|
|
323
|
+
}), we = { class: "main" }, ke = {
|
|
319
324
|
id: "viewSettings",
|
|
320
325
|
class: "view"
|
|
321
|
-
},
|
|
326
|
+
}, be = { class: "sp-head" }, He = { class: "outlet-bar" }, xe = { class: "sp-body" }, Ce = { class: "sp-tabs" }, Pe = ["onClick"], Se = { class: "sp-content" }, De = { class: "sp-panel" }, Re = {
|
|
322
327
|
key: 0,
|
|
323
328
|
id: "sp-payrates",
|
|
324
329
|
class: "sp-sec"
|
|
325
|
-
},
|
|
330
|
+
}, Oe = { class: "sp-card" }, Me = { class: "sp-row" }, $e = { class: "sp-field" }, Le = { class: "sp-row" }, Ee = { class: "sp-field" }, Ne = { class: "sp-row" }, Te = { class: "sp-field" }, Ae = { class: "sp-card" }, Ie = { class: "sp-row" }, Ue = { class: "sp-field" }, Ve = { class: "sp-row" }, ze = { class: "sp-field" }, We = {
|
|
326
331
|
key: 1,
|
|
327
332
|
id: "sp-working-hours",
|
|
328
333
|
class: "sp-sec"
|
|
329
|
-
},
|
|
334
|
+
}, Be = { class: "sp-card" }, Ye = { class: "sp-row" }, qe = { class: "sp-field" }, Fe = { class: "sp-row" }, Ge = { class: "sp-field" }, je = { class: "sp-row" }, Je = { class: "sp-field" }, Qe = {
|
|
330
335
|
key: 2,
|
|
331
336
|
id: "sp-overtime",
|
|
332
337
|
class: "sp-sec"
|
|
333
|
-
},
|
|
338
|
+
}, Ke = { class: "sp-card" }, Xe = { class: "sp-row" }, Ze = { class: "sp-save-txt" }, _e = { key: 0 }, rs = /* @__PURE__ */ V({
|
|
334
339
|
__name: "ScheduleGeneralPage",
|
|
335
|
-
setup(
|
|
340
|
+
setup(n) {
|
|
336
341
|
const d = w(null);
|
|
337
|
-
|
|
338
|
-
const a =
|
|
339
|
-
notify: (
|
|
342
|
+
K(d);
|
|
343
|
+
const a = F(), i = G(), t = te(), u = X(), x = ae(u, {
|
|
344
|
+
notify: (o, s) => i.open({ message: o, type: s })
|
|
340
345
|
}), y = w(!1);
|
|
341
|
-
|
|
342
|
-
await u.resolve() && await
|
|
346
|
+
Y(async () => {
|
|
347
|
+
await u.resolve() && await Z(/* @__PURE__ */ new Date()), await t.load(), t.open();
|
|
343
348
|
});
|
|
344
|
-
const
|
|
349
|
+
const P = E(
|
|
345
350
|
() => u.options.value.length ? u.options.value : [{ value: "", label: "No outlet selected", disabled: !0 }]
|
|
346
351
|
);
|
|
347
|
-
async function
|
|
348
|
-
t.dirty.value || await u.switchTo(
|
|
352
|
+
async function S(o) {
|
|
353
|
+
t.dirty.value || await u.switchTo(o, /* @__PURE__ */ new Date()) && (await t.load(), t.open());
|
|
349
354
|
}
|
|
350
355
|
function D() {
|
|
351
|
-
t.close() && a.push({ name:
|
|
356
|
+
t.close() && a.push({ name: j.SCHEDULE });
|
|
352
357
|
}
|
|
353
358
|
function R() {
|
|
354
359
|
if (!y.value) {
|
|
@@ -359,23 +364,23 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
|
|
|
359
364
|
}
|
|
360
365
|
async function c() {
|
|
361
366
|
try {
|
|
362
|
-
await t.save(),
|
|
363
|
-
} catch (
|
|
364
|
-
|
|
365
|
-
message:
|
|
367
|
+
await t.save(), i.open({ message: "General settings saved", type: "success" });
|
|
368
|
+
} catch (o) {
|
|
369
|
+
i.open({
|
|
370
|
+
message: o instanceof Error ? o.message : "Could not save general settings",
|
|
366
371
|
type: "error"
|
|
367
372
|
});
|
|
368
373
|
}
|
|
369
374
|
}
|
|
370
|
-
return (
|
|
375
|
+
return (o, s) => (p(), v("div", {
|
|
371
376
|
ref_key: "rootEl",
|
|
372
377
|
ref: d,
|
|
373
378
|
class: "sch"
|
|
374
379
|
}, [
|
|
375
|
-
e("div",
|
|
376
|
-
e("div",
|
|
377
|
-
e("div",
|
|
378
|
-
k(
|
|
380
|
+
e("div", we, [
|
|
381
|
+
e("div", ke, [
|
|
382
|
+
e("div", be, [
|
|
383
|
+
k(C, {
|
|
379
384
|
hierarchy: "ghost",
|
|
380
385
|
size: "sm",
|
|
381
386
|
class: "sp-back",
|
|
@@ -402,28 +407,27 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
|
|
|
402
407
|
])]),
|
|
403
408
|
_: 1
|
|
404
409
|
}),
|
|
405
|
-
s[15] || (s[15] =
|
|
406
|
-
|
|
407
|
-
e("div", we, [
|
|
410
|
+
s[15] || (s[15] = q('<div class="sp-title-row"><div class="sp-title">General Settings</div><span class="page-tags"><span class="sch-badge page-tag-premium" data-color="brand">Premium</span><span class="sch-badge" data-color="info">Free until 31 Dec 2026</span></span></div><div class="sp-sub">Pay multipliers and overtime limit for this outlet.</div>', 2)),
|
|
411
|
+
e("div", He, [
|
|
408
412
|
s[14] || (s[14] = e("span", { class: "outlet-bar-lbl" }, "Outlet", -1)),
|
|
409
|
-
k(
|
|
413
|
+
k(_, {
|
|
410
414
|
class: "outlet-sel",
|
|
411
415
|
"aria-label": "Outlet being configured",
|
|
412
416
|
searchable: "",
|
|
413
|
-
disabled:
|
|
414
|
-
title:
|
|
415
|
-
"model-value":
|
|
416
|
-
options:
|
|
417
|
-
"onUpdate:modelValue":
|
|
417
|
+
disabled: r(t).dirty.value || r(t).loading.value,
|
|
418
|
+
title: r(t).dirty.value ? "Save or discard changes before switching outlets" : "Which outlet these pay rates apply to",
|
|
419
|
+
"model-value": r(u).outletId.value,
|
|
420
|
+
options: P.value,
|
|
421
|
+
"onUpdate:modelValue": S
|
|
418
422
|
}, null, 8, ["disabled", "title", "model-value", "options"]),
|
|
419
|
-
k(
|
|
423
|
+
k(C, {
|
|
420
424
|
hierarchy: "secondary",
|
|
421
425
|
size: "sm",
|
|
422
426
|
class: "outlet-clone",
|
|
423
427
|
type: "button",
|
|
424
|
-
disabled:
|
|
425
|
-
title:
|
|
426
|
-
onClick: s[0] || (s[0] = (
|
|
428
|
+
disabled: r(t).dirty.value || r(t).loading.value || !r(u).outletId.value,
|
|
429
|
+
title: r(t).dirty.value ? "Save or discard changes before cloning" : "Copy this outlet's pay rates to other outlets",
|
|
430
|
+
onClick: s[0] || (s[0] = (l) => r(x).openModal())
|
|
427
431
|
}, {
|
|
428
432
|
default: b(() => [...s[13] || (s[13] = [
|
|
429
433
|
e("svg", {
|
|
@@ -455,36 +459,36 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
|
|
|
455
459
|
}, 8, ["disabled", "title"])
|
|
456
460
|
])
|
|
457
461
|
]),
|
|
458
|
-
e("div",
|
|
459
|
-
e("nav",
|
|
460
|
-
(p(!0),
|
|
461
|
-
key:
|
|
462
|
+
e("div", xe, [
|
|
463
|
+
e("nav", Ce, [
|
|
464
|
+
(p(!0), v(L, null, z(r(se), (l) => (p(), v("button", {
|
|
465
|
+
key: l.key,
|
|
462
466
|
type: "button",
|
|
463
|
-
class:
|
|
467
|
+
class: I(["sch-tab sp-tab", { active: r(t).activeSection.value === l.key }]),
|
|
464
468
|
"data-active": "false",
|
|
465
|
-
onClick: (O) =>
|
|
466
|
-
},
|
|
469
|
+
onClick: (O) => r(t).activeSection.value = l.key
|
|
470
|
+
}, g(l.label), 11, Pe))), 128))
|
|
467
471
|
]),
|
|
468
|
-
e("div",
|
|
469
|
-
e("div",
|
|
470
|
-
|
|
471
|
-
s[
|
|
472
|
+
e("div", Se, [
|
|
473
|
+
e("div", De, [
|
|
474
|
+
r(t).activeSection.value === "payrates" ? (p(), v("section", Re, [
|
|
475
|
+
s[28] || (s[28] = e("div", { class: "sp-sec-head" }, [
|
|
472
476
|
e("div", { class: "sp-panel-title" }, "Pay rates")
|
|
473
477
|
], -1)),
|
|
474
|
-
s[
|
|
475
|
-
e("div",
|
|
476
|
-
s[
|
|
478
|
+
s[29] || (s[29] = e("div", { class: "sp-panel-desc" }, "Pay multipliers by kind of day.", -1)),
|
|
479
|
+
e("div", Oe, [
|
|
480
|
+
s[22] || (s[22] = e("div", { class: "sp-card-head" }, [
|
|
477
481
|
e("div", { class: "sp-card-title" }, "Overtime rate"),
|
|
478
482
|
e("div", { class: "sp-card-note" }, "Multiplier on every OT hour")
|
|
479
483
|
], -1)),
|
|
480
|
-
e("div",
|
|
481
|
-
s[
|
|
484
|
+
e("div", Me, [
|
|
485
|
+
s[17] || (s[17] = e("div", { class: "sp-row-main" }, [
|
|
482
486
|
e("div", { class: "sp-row-label" }, "Normal operations day"),
|
|
483
487
|
e("div", { class: "sp-row-hint" }, " Multiplier on their rate for hours past the weekly contract. ")
|
|
484
488
|
], -1)),
|
|
485
|
-
e("div",
|
|
489
|
+
e("div", $e, [
|
|
486
490
|
f(e("input", {
|
|
487
|
-
"onUpdate:modelValue": s[1] || (s[1] = (
|
|
491
|
+
"onUpdate:modelValue": s[1] || (s[1] = (l) => r(t).draft.payRate.NORMAL.overtime = l),
|
|
488
492
|
class: "sch-input sp-num",
|
|
489
493
|
type: "number",
|
|
490
494
|
min: "1",
|
|
@@ -493,23 +497,23 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
|
|
|
493
497
|
"aria-label": "Overtime rate on a normal day"
|
|
494
498
|
}, null, 512), [
|
|
495
499
|
[
|
|
496
|
-
|
|
497
|
-
|
|
500
|
+
h,
|
|
501
|
+
r(t).draft.payRate.NORMAL.overtime,
|
|
498
502
|
void 0,
|
|
499
503
|
{ number: !0 }
|
|
500
504
|
]
|
|
501
505
|
]),
|
|
502
|
-
s[
|
|
506
|
+
s[16] || (s[16] = e("span", { class: "sp-unit" }, "×", -1))
|
|
503
507
|
])
|
|
504
508
|
]),
|
|
505
|
-
e("div",
|
|
506
|
-
s[
|
|
509
|
+
e("div", Le, [
|
|
510
|
+
s[19] || (s[19] = e("div", { class: "sp-row-main" }, [
|
|
507
511
|
e("div", { class: "sp-row-label" }, "Off day"),
|
|
508
512
|
e("div", { class: "sp-row-hint" }, " For a shift on the person's off day, weekly or booked. Check the rate with HR. ")
|
|
509
513
|
], -1)),
|
|
510
|
-
e("div",
|
|
514
|
+
e("div", Ee, [
|
|
511
515
|
f(e("input", {
|
|
512
|
-
"onUpdate:modelValue": s[2] || (s[2] = (
|
|
516
|
+
"onUpdate:modelValue": s[2] || (s[2] = (l) => r(t).draft.payRate.REST_DAY.overtime = l),
|
|
513
517
|
class: "sch-input sp-num",
|
|
514
518
|
type: "number",
|
|
515
519
|
min: "1",
|
|
@@ -518,23 +522,23 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
|
|
|
518
522
|
"aria-label": "Overtime rate on an off day"
|
|
519
523
|
}, null, 512), [
|
|
520
524
|
[
|
|
521
|
-
|
|
522
|
-
|
|
525
|
+
h,
|
|
526
|
+
r(t).draft.payRate.REST_DAY.overtime,
|
|
523
527
|
void 0,
|
|
524
528
|
{ number: !0 }
|
|
525
529
|
]
|
|
526
530
|
]),
|
|
527
|
-
s[
|
|
531
|
+
s[18] || (s[18] = e("span", { class: "sp-unit" }, "×", -1))
|
|
528
532
|
])
|
|
529
533
|
]),
|
|
530
|
-
e("div",
|
|
531
|
-
s[
|
|
534
|
+
e("div", Ne, [
|
|
535
|
+
s[21] || (s[21] = e("div", { class: "sp-row-main" }, [
|
|
532
536
|
e("div", { class: "sp-row-label" }, "Public holiday"),
|
|
533
537
|
e("div", { class: "sp-row-hint" }, " For dates on the holiday calendar. Wins over an off day on the same date. ")
|
|
534
538
|
], -1)),
|
|
535
|
-
e("div",
|
|
539
|
+
e("div", Te, [
|
|
536
540
|
f(e("input", {
|
|
537
|
-
"onUpdate:modelValue": s[3] || (s[3] = (
|
|
541
|
+
"onUpdate:modelValue": s[3] || (s[3] = (l) => r(t).draft.payRate.PUBLIC_HOLIDAY.overtime = l),
|
|
538
542
|
class: "sch-input sp-num",
|
|
539
543
|
type: "number",
|
|
540
544
|
min: "1",
|
|
@@ -543,29 +547,29 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
|
|
|
543
547
|
"aria-label": "Overtime rate on a public holiday"
|
|
544
548
|
}, null, 512), [
|
|
545
549
|
[
|
|
546
|
-
|
|
547
|
-
|
|
550
|
+
h,
|
|
551
|
+
r(t).draft.payRate.PUBLIC_HOLIDAY.overtime,
|
|
548
552
|
void 0,
|
|
549
553
|
{ number: !0 }
|
|
550
554
|
]
|
|
551
555
|
]),
|
|
552
|
-
s[
|
|
556
|
+
s[20] || (s[20] = e("span", { class: "sp-unit" }, "×", -1))
|
|
553
557
|
])
|
|
554
558
|
])
|
|
555
559
|
]),
|
|
556
|
-
e("div",
|
|
557
|
-
s[
|
|
560
|
+
e("div", Ae, [
|
|
561
|
+
s[27] || (s[27] = e("div", { class: "sp-card-head" }, [
|
|
558
562
|
e("div", { class: "sp-card-title" }, "Regular rate"),
|
|
559
563
|
e("div", { class: "sp-card-note" }, "Multiplier on ordinary hours")
|
|
560
564
|
], -1)),
|
|
561
|
-
e("div",
|
|
562
|
-
s[
|
|
565
|
+
e("div", Ie, [
|
|
566
|
+
s[24] || (s[24] = e("div", { class: "sp-row-main" }, [
|
|
563
567
|
e("div", { class: "sp-row-label" }, "Off day"),
|
|
564
568
|
e("div", { class: "sp-row-hint" }, "Ordinary hours worked on the person's off day.")
|
|
565
569
|
], -1)),
|
|
566
|
-
e("div",
|
|
570
|
+
e("div", Ue, [
|
|
567
571
|
f(e("input", {
|
|
568
|
-
"onUpdate:modelValue": s[4] || (s[4] = (
|
|
572
|
+
"onUpdate:modelValue": s[4] || (s[4] = (l) => r(t).draft.payRate.REST_DAY.regular = l),
|
|
569
573
|
class: "sch-input sp-num",
|
|
570
574
|
type: "number",
|
|
571
575
|
min: "1",
|
|
@@ -574,23 +578,23 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
|
|
|
574
578
|
"aria-label": "Regular rate on an off day"
|
|
575
579
|
}, null, 512), [
|
|
576
580
|
[
|
|
577
|
-
|
|
578
|
-
|
|
581
|
+
h,
|
|
582
|
+
r(t).draft.payRate.REST_DAY.regular,
|
|
579
583
|
void 0,
|
|
580
584
|
{ number: !0 }
|
|
581
585
|
]
|
|
582
586
|
]),
|
|
583
|
-
s[
|
|
587
|
+
s[23] || (s[23] = e("span", { class: "sp-unit" }, "×", -1))
|
|
584
588
|
])
|
|
585
589
|
]),
|
|
586
|
-
e("div",
|
|
587
|
-
s[
|
|
590
|
+
e("div", Ve, [
|
|
591
|
+
s[26] || (s[26] = e("div", { class: "sp-row-main" }, [
|
|
588
592
|
e("div", { class: "sp-row-label" }, "Public holiday"),
|
|
589
593
|
e("div", { class: "sp-row-hint" }, " Ordinary hours worked on a date on the holiday calendar. ")
|
|
590
594
|
], -1)),
|
|
591
|
-
e("div",
|
|
595
|
+
e("div", ze, [
|
|
592
596
|
f(e("input", {
|
|
593
|
-
"onUpdate:modelValue": s[5] || (s[5] = (
|
|
597
|
+
"onUpdate:modelValue": s[5] || (s[5] = (l) => r(t).draft.payRate.PUBLIC_HOLIDAY.regular = l),
|
|
594
598
|
class: "sch-input sp-num",
|
|
595
599
|
type: "number",
|
|
596
600
|
min: "1",
|
|
@@ -599,33 +603,33 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
|
|
|
599
603
|
"aria-label": "Regular rate on a public holiday"
|
|
600
604
|
}, null, 512), [
|
|
601
605
|
[
|
|
602
|
-
|
|
603
|
-
|
|
606
|
+
h,
|
|
607
|
+
r(t).draft.payRate.PUBLIC_HOLIDAY.regular,
|
|
604
608
|
void 0,
|
|
605
609
|
{ number: !0 }
|
|
606
610
|
]
|
|
607
611
|
]),
|
|
608
|
-
s[
|
|
612
|
+
s[25] || (s[25] = e("span", { class: "sp-unit" }, "×", -1))
|
|
609
613
|
])
|
|
610
614
|
])
|
|
611
615
|
])
|
|
612
|
-
])) :
|
|
613
|
-
s[
|
|
616
|
+
])) : r(t).activeSection.value === "workingHours" ? (p(), v("section", We, [
|
|
617
|
+
s[37] || (s[37] = e("div", { class: "sp-sec-head" }, [
|
|
614
618
|
e("div", { class: "sp-panel-title" }, "Working hours")
|
|
615
619
|
], -1)),
|
|
616
|
-
s[
|
|
617
|
-
e("div",
|
|
618
|
-
s[
|
|
620
|
+
s[38] || (s[38] = e("div", { class: "sp-panel-desc" }, "Default employee working-hour limits when no individual setting is provided.", -1)),
|
|
621
|
+
e("div", Be, [
|
|
622
|
+
s[36] || (s[36] = e("div", { class: "sp-card-head" }, [
|
|
619
623
|
e("div", { class: "sp-card-title" }, "Default working hours"),
|
|
620
624
|
e("div", { class: "sp-card-note" }, "Used as the employee default")
|
|
621
625
|
], -1)),
|
|
622
|
-
e("div",
|
|
623
|
-
s[
|
|
626
|
+
e("div", Ye, [
|
|
627
|
+
s[31] || (s[31] = e("div", { class: "sp-row-main" }, [
|
|
624
628
|
e("div", { class: "sp-row-label" }, "Min hours per day")
|
|
625
629
|
], -1)),
|
|
626
|
-
e("div",
|
|
630
|
+
e("div", qe, [
|
|
627
631
|
f(e("input", {
|
|
628
|
-
"onUpdate:modelValue": s[6] || (s[6] = (
|
|
632
|
+
"onUpdate:modelValue": s[6] || (s[6] = (l) => r(t).draft.workingHours.minHoursPerDay = l),
|
|
629
633
|
class: "sch-input sp-num",
|
|
630
634
|
type: "number",
|
|
631
635
|
min: "0",
|
|
@@ -635,22 +639,22 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
|
|
|
635
639
|
"aria-label": "Default minimum working hours per day"
|
|
636
640
|
}, null, 512), [
|
|
637
641
|
[
|
|
638
|
-
|
|
639
|
-
|
|
642
|
+
h,
|
|
643
|
+
r(t).draft.workingHours.minHoursPerDay,
|
|
640
644
|
void 0,
|
|
641
645
|
{ number: !0 }
|
|
642
646
|
]
|
|
643
647
|
]),
|
|
644
|
-
s[
|
|
648
|
+
s[30] || (s[30] = e("span", { class: "sp-unit" }, "hours / day", -1))
|
|
645
649
|
])
|
|
646
650
|
]),
|
|
647
|
-
e("div",
|
|
648
|
-
s[
|
|
651
|
+
e("div", Fe, [
|
|
652
|
+
s[33] || (s[33] = e("div", { class: "sp-row-main" }, [
|
|
649
653
|
e("div", { class: "sp-row-label" }, "Max hours per day")
|
|
650
654
|
], -1)),
|
|
651
|
-
e("div",
|
|
655
|
+
e("div", Ge, [
|
|
652
656
|
f(e("input", {
|
|
653
|
-
"onUpdate:modelValue": s[7] || (s[7] = (
|
|
657
|
+
"onUpdate:modelValue": s[7] || (s[7] = (l) => r(t).draft.workingHours.maxHoursPerDay = l),
|
|
654
658
|
class: "sch-input sp-num",
|
|
655
659
|
type: "number",
|
|
656
660
|
min: "0",
|
|
@@ -660,22 +664,22 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
|
|
|
660
664
|
"aria-label": "Default maximum working hours per day"
|
|
661
665
|
}, null, 512), [
|
|
662
666
|
[
|
|
663
|
-
|
|
664
|
-
|
|
667
|
+
h,
|
|
668
|
+
r(t).draft.workingHours.maxHoursPerDay,
|
|
665
669
|
void 0,
|
|
666
670
|
{ number: !0 }
|
|
667
671
|
]
|
|
668
672
|
]),
|
|
669
|
-
s[
|
|
673
|
+
s[32] || (s[32] = e("span", { class: "sp-unit" }, "hours / day", -1))
|
|
670
674
|
])
|
|
671
675
|
]),
|
|
672
|
-
e("div",
|
|
673
|
-
s[
|
|
676
|
+
e("div", je, [
|
|
677
|
+
s[35] || (s[35] = e("div", { class: "sp-row-main" }, [
|
|
674
678
|
e("div", { class: "sp-row-label" }, "Max hours per week")
|
|
675
679
|
], -1)),
|
|
676
|
-
e("div",
|
|
680
|
+
e("div", Je, [
|
|
677
681
|
f(e("input", {
|
|
678
|
-
"onUpdate:modelValue": s[8] || (s[8] = (
|
|
682
|
+
"onUpdate:modelValue": s[8] || (s[8] = (l) => r(t).draft.workingHours.maxHoursPerWeek = l),
|
|
679
683
|
class: "sch-input sp-num",
|
|
680
684
|
type: "number",
|
|
681
685
|
min: "0",
|
|
@@ -685,33 +689,33 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
|
|
|
685
689
|
"aria-label": "Default maximum working hours per week"
|
|
686
690
|
}, null, 512), [
|
|
687
691
|
[
|
|
688
|
-
|
|
689
|
-
|
|
692
|
+
h,
|
|
693
|
+
r(t).draft.workingHours.maxHoursPerWeek,
|
|
690
694
|
void 0,
|
|
691
695
|
{ number: !0 }
|
|
692
696
|
]
|
|
693
697
|
]),
|
|
694
|
-
s[
|
|
698
|
+
s[34] || (s[34] = e("span", { class: "sp-unit" }, "hours / week", -1))
|
|
695
699
|
])
|
|
696
700
|
])
|
|
697
701
|
])
|
|
698
|
-
])) :
|
|
699
|
-
s[
|
|
702
|
+
])) : r(t).activeSection.value === "overtime" ? (p(), v("section", Qe, [
|
|
703
|
+
s[41] || (s[41] = e("div", { class: "sp-sec-head" }, [
|
|
700
704
|
e("div", { class: "sp-panel-title" }, "Overtime")
|
|
701
705
|
], -1)),
|
|
702
|
-
s[
|
|
703
|
-
e("div",
|
|
704
|
-
s[
|
|
706
|
+
s[42] || (s[42] = e("div", { class: "sp-panel-desc" }, "The monthly statutory cap on overtime hours.", -1)),
|
|
707
|
+
e("div", Ke, [
|
|
708
|
+
s[40] || (s[40] = e("div", { class: "sp-card-head" }, [
|
|
705
709
|
e("div", { class: "sp-card-title" }, "Maximum OT Hours"),
|
|
706
710
|
e("div", { class: "sp-card-note" }, "Enforced")
|
|
707
711
|
], -1)),
|
|
708
|
-
e("div",
|
|
709
|
-
s[
|
|
712
|
+
e("div", Xe, [
|
|
713
|
+
s[39] || (s[39] = e("div", { class: "sp-row-main" }, [
|
|
710
714
|
e("div", { class: "sp-row-label" }, "Monthly OT cap"),
|
|
711
715
|
e("div", { class: "sp-row-hint" }, " Hours per person per month. Auto-Schedule never exceeds it. ")
|
|
712
716
|
], -1)),
|
|
713
717
|
f(e("input", {
|
|
714
|
-
"onUpdate:modelValue": s[9] || (s[9] = (
|
|
718
|
+
"onUpdate:modelValue": s[9] || (s[9] = (l) => r(t).draft.otCapHours = l),
|
|
715
719
|
class: "sch-input sp-num",
|
|
716
720
|
type: "number",
|
|
717
721
|
min: "0",
|
|
@@ -721,44 +725,44 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
|
|
|
721
725
|
"aria-label": "Monthly OT cap in hours"
|
|
722
726
|
}, null, 512), [
|
|
723
727
|
[
|
|
724
|
-
|
|
725
|
-
|
|
728
|
+
h,
|
|
729
|
+
r(t).draft.otCapHours,
|
|
726
730
|
void 0,
|
|
727
731
|
{ number: !0 }
|
|
728
732
|
]
|
|
729
733
|
])
|
|
730
734
|
])
|
|
731
735
|
])
|
|
732
|
-
])) :
|
|
736
|
+
])) : T("", !0)
|
|
733
737
|
])
|
|
734
738
|
]),
|
|
735
739
|
e("div", {
|
|
736
|
-
class:
|
|
740
|
+
class: I(["sp-save", { dirty: r(t).dirty.value, arming: y.value }])
|
|
737
741
|
}, [
|
|
738
|
-
e("div",
|
|
739
|
-
H(
|
|
740
|
-
y.value ?
|
|
742
|
+
e("div", Ze, [
|
|
743
|
+
H(g(y.value ? "Discard unsaved changes?" : "Unsaved changes") + " ", 1),
|
|
744
|
+
y.value ? T("", !0) : (p(), v("span", _e, "— save or discard before leaving."))
|
|
741
745
|
]),
|
|
742
|
-
k(
|
|
746
|
+
k(C, {
|
|
743
747
|
hierarchy: "secondary",
|
|
744
748
|
size: "sm",
|
|
745
749
|
class: "am-btn am-btn-sec",
|
|
746
750
|
type: "button",
|
|
747
|
-
onClick: s[10] || (s[10] = (
|
|
751
|
+
onClick: s[10] || (s[10] = (l) => R())
|
|
748
752
|
}, {
|
|
749
753
|
default: b(() => [
|
|
750
|
-
H(
|
|
754
|
+
H(g(y.value ? "Confirm discard" : "Discard"), 1)
|
|
751
755
|
]),
|
|
752
756
|
_: 1
|
|
753
757
|
}),
|
|
754
|
-
k(
|
|
758
|
+
k(C, {
|
|
755
759
|
hierarchy: "primary",
|
|
756
760
|
size: "sm",
|
|
757
761
|
class: "am-btn am-btn-primary",
|
|
758
762
|
type: "button",
|
|
759
|
-
onClick: s[11] || (s[11] = (
|
|
763
|
+
onClick: s[11] || (s[11] = (l) => c())
|
|
760
764
|
}, {
|
|
761
|
-
default: b(() => [...s[
|
|
765
|
+
default: b(() => [...s[43] || (s[43] = [
|
|
762
766
|
H(" Save changes ", -1)
|
|
763
767
|
])]),
|
|
764
768
|
_: 1
|
|
@@ -767,10 +771,10 @@ const se = { class: "am-head" }, te = { class: "ce-body" }, ae = {
|
|
|
767
771
|
])
|
|
768
772
|
])
|
|
769
773
|
]),
|
|
770
|
-
k(
|
|
774
|
+
k(ge, { modal: r(x) }, null, 8, ["modal"])
|
|
771
775
|
], 512));
|
|
772
776
|
}
|
|
773
777
|
});
|
|
774
778
|
export {
|
|
775
|
-
|
|
779
|
+
rs as default
|
|
776
780
|
};
|