@feedmepos/mf-hrm-portal 2.3.0-dev.30 → 2.3.0-dev.32
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-CaDmeGvQ.js → ApprovalCodeList-B01Tfz9v.js} +4 -4
- package/dist/{AuditLogList-hnICcJxN.js → AuditLogList-B0Tgyx4F.js} +4 -4
- package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-CM3AAsUP.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-D_0cGcsc.js} +2 -2
- package/dist/{EmployeeList-DjfBIMQV.js → EmployeeList-sIo_pCHg.js} +6 -6
- package/dist/{FormItem.vue_vue_type_script_setup_true_lang-CTGlmY6t.js → FormItem.vue_vue_type_script_setup_true_lang-CzjVyymC.js} +1 -1
- package/dist/{GrantUserList-DH1HXfV4.js → GrantUserList-DffzvEFk.js} +5 -5
- package/dist/{Main-1GboTunP.js → Main-BL-89Tnx.js} +9 -9
- package/dist/{Main-C4S5bpnK.js → Main-Dn5lY4bl.js} +5 -5
- package/dist/{Main-D0o-aQHX.js → Main-k-6giYiC.js} +2 -2
- package/dist/{PermissionSetList-CSONq6qt.js → PermissionSetList-jL4vatxE.js} +5 -5
- package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-fU3Feetb.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-LIrdGS6j.js} +862 -862
- package/dist/{RoleList-WdgayfhL.js → RoleList-CTxZqplQ.js} +7 -7
- package/dist/{ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-Bx1P_UAW.js → ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-CR1DP73z.js} +1 -1
- package/dist/{ScheduleGeneralPage-XUX2-_Vc.js → ScheduleGeneralPage-HTJDzDQA.js} +189 -185
- package/dist/{ScheduleModal.vue_vue_type_script_setup_true_lang-CECio4Kc.js → ScheduleModal.vue_vue_type_script_setup_true_lang-B7FAnNJn.js} +2 -2
- package/dist/{SchedulePage-LQ7-8VUw.js → SchedulePage-DLG-3exQ.js} +6392 -6356
- package/dist/{SchedulePositionPage-DcUbTYV6.js → SchedulePositionPage-DNi6OVBn.js} +3 -3
- package/dist/{SelectFilter-BbkPuYP_.js → SelectFilter-CciZcuqp.js} +1 -1
- package/dist/{TeamMemberList-BMdMDYBF.js → TeamMemberList-BhOUP_eV.js} +7 -7
- package/dist/{TimesheetList-B6vZEmgb.js → TimesheetList-LBXzpZ6A.js} +6 -6
- package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-Bna8vHO7.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-8VCtmmRW.js} +2 -2
- package/dist/{app-DwBKX4e9.js → app-H-8QaXK-.js} +8 -8
- package/dist/app.js +1 -1
- package/dist/{dayjs.min-DAKzxOMD.js → dayjs.min-CFZAuAao.js} +1 -1
- package/dist/{employee-GhYyAhwS.js → employee-DJ7095AK.js} +3 -3
- package/dist/{iteration-Da8377p8.js → iteration-5-jumCls.js} +1 -1
- package/dist/{lodash-DChu1GU2.js → lodash-Cn6YxOg-.js} +1 -1
- package/dist/{role-CyynUSdG.js → role-Ckz-rdpa.js} +1 -1
- package/dist/{rule-Cnn7MV1z.js → rule-IY-CjBrh.js} +2 -2
- package/dist/src/views/scheduling/composables/useScheduleBoard.d.ts +1 -0
- 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/useScheduleOnboardingEmployees.d.ts +1 -1
- package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +1 -0
- package/dist/src/views/scheduling/composables/useSchedulePublish.d.ts +1 -1
- package/dist/src/views/scheduling/schedule-state.d.ts +4 -4
- package/dist/style.css +1 -1
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/dist/{useReportPermissions-B3OMJ4QX.js → useReportPermissions-BQHuM6zE.js} +3 -3
- package/package.json +1 -1
|
@@ -1,95 +1,99 @@
|
|
|
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
|
|
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-H-8QaXK-.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-B7FAnNJn.js";
|
|
6
6
|
import { useCoreStore as ee } from "@feedmepos/mf-common";
|
|
7
7
|
const se = [
|
|
8
8
|
{ key: "payrates", label: "Pay rates" },
|
|
9
9
|
{ key: "overtime", label: "Overtime" },
|
|
10
10
|
{ key: "workingHours", label: "Working hours" }
|
|
11
11
|
];
|
|
12
|
-
function
|
|
12
|
+
function $() {
|
|
13
13
|
return structuredClone({
|
|
14
14
|
// RULES is reactive, so spreading each rate tier first gives structuredClone plain
|
|
15
15
|
// objects instead of Vue Proxy instances, which structuredClone cannot clone.
|
|
16
16
|
payRate: {
|
|
17
|
-
NORMAL: { ...
|
|
18
|
-
REST_DAY: { ...
|
|
19
|
-
PUBLIC_HOLIDAY: { ...
|
|
17
|
+
NORMAL: { ...m.payRate.NORMAL },
|
|
18
|
+
REST_DAY: { ...m.payRate.REST_DAY },
|
|
19
|
+
PUBLIC_HOLIDAY: { ...m.payRate.PUBLIC_HOLIDAY }
|
|
20
20
|
},
|
|
21
|
-
otCapHours:
|
|
22
|
-
workingHours: { ...
|
|
21
|
+
otCapHours: m.otCapHours,
|
|
22
|
+
workingHours: { ...m.workingHours }
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
25
|
function te() {
|
|
26
|
-
const
|
|
26
|
+
const n = ee(), d = w(!1), a = w("payrates"), i = B($()), t = w(!1);
|
|
27
27
|
let u = 0;
|
|
28
|
-
async function
|
|
29
|
-
if (
|
|
30
|
-
const c = ++u, o =
|
|
28
|
+
async function x() {
|
|
29
|
+
if (!M.value) return;
|
|
30
|
+
const c = ++u, o = M.value;
|
|
31
31
|
t.value = !0;
|
|
32
32
|
try {
|
|
33
33
|
const s = await W.getSettings(o);
|
|
34
|
-
if (c !== u ||
|
|
35
|
-
|
|
36
|
-
const
|
|
37
|
-
|
|
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) : {
|
|
38
38
|
minHoursPerDay: null,
|
|
39
|
-
maxHoursPerDay:
|
|
40
|
-
maxHoursPerWeek:
|
|
39
|
+
maxHoursPerDay: l.workingHours.fullTime.maxHoursPerDay,
|
|
40
|
+
maxHoursPerWeek: l.workingHours.fullTime.maxHoursPerWeek
|
|
41
41
|
};
|
|
42
42
|
} finally {
|
|
43
43
|
c === u && (t.value = !1);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
function y(c) {
|
|
47
|
-
Object.assign(
|
|
47
|
+
Object.assign(i, $()), a.value = c ?? "payrates", d.value = !0;
|
|
48
48
|
}
|
|
49
|
-
const
|
|
50
|
-
function
|
|
51
|
-
return
|
|
49
|
+
const P = E(() => JSON.stringify(i) !== JSON.stringify($()));
|
|
50
|
+
function S() {
|
|
51
|
+
return P.value ? !1 : (d.value = !1, !0);
|
|
52
52
|
}
|
|
53
53
|
function D() {
|
|
54
|
-
Object.assign(
|
|
54
|
+
Object.assign(i, $()), d.value = !1;
|
|
55
55
|
}
|
|
56
56
|
async function R() {
|
|
57
|
-
if (
|
|
58
|
-
const c =
|
|
57
|
+
if (!M.value) throw new Error("No outlet selected");
|
|
58
|
+
const c = i.otCapHours === 0 ? null : i.otCapHours;
|
|
59
59
|
if (c != null && c <= 0)
|
|
60
60
|
throw new Error("Maximum monthly overtime hours must be greater than zero");
|
|
61
61
|
const o = {
|
|
62
|
-
minHoursPerDay:
|
|
63
|
-
maxHoursPerDay:
|
|
64
|
-
maxHoursPerWeek:
|
|
65
|
-
};
|
|
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.`);
|
|
66
70
|
if (o.minHoursPerDay != null && o.maxHoursPerDay != null && o.minHoursPerDay > o.maxHoursPerDay)
|
|
67
|
-
throw new Error("
|
|
71
|
+
throw new Error("Minimum daily hours cannot exceed maximum daily hours");
|
|
68
72
|
if (o.maxHoursPerDay != null && o.maxHoursPerWeek != null && o.maxHoursPerDay > o.maxHoursPerWeek)
|
|
69
|
-
throw new Error("
|
|
70
|
-
const
|
|
71
|
-
payRate:
|
|
73
|
+
throw new Error("Maximum daily hours cannot exceed maximum weekly hours");
|
|
74
|
+
const l = await J({
|
|
75
|
+
payRate: i.payRate,
|
|
72
76
|
overtime: { maxHoursPerMonth: c },
|
|
73
77
|
workingHours: o
|
|
74
78
|
});
|
|
75
|
-
|
|
79
|
+
m.payRate = structuredClone(l.payRate), m.otCapHours = l.overtime.maxHoursPerMonth, m.workingHours = structuredClone(l.workingHours), d.value = !1;
|
|
76
80
|
}
|
|
77
|
-
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 };
|
|
78
82
|
}
|
|
79
|
-
function ae(
|
|
80
|
-
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(
|
|
81
85
|
() => {
|
|
82
86
|
var o;
|
|
83
|
-
return ((o =
|
|
87
|
+
return ((o = n.options.value.find((s) => s.value === n.outletId.value)) == null ? void 0 : o.label) ?? "";
|
|
84
88
|
}
|
|
85
|
-
),
|
|
86
|
-
const o =
|
|
87
|
-
return
|
|
88
|
-
(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))
|
|
89
93
|
);
|
|
90
94
|
});
|
|
91
|
-
function
|
|
92
|
-
|
|
95
|
+
function S() {
|
|
96
|
+
i.value = "", t.value = /* @__PURE__ */ new Set(), u.value = !1, x.value = null, a.value = !0;
|
|
93
97
|
}
|
|
94
98
|
function D() {
|
|
95
99
|
a.value = !1;
|
|
@@ -99,7 +103,7 @@ function ae(r, d = {}) {
|
|
|
99
103
|
s.has(o) ? s.delete(o) : s.add(o), t.value = s;
|
|
100
104
|
}
|
|
101
105
|
async function c() {
|
|
102
|
-
var s,
|
|
106
|
+
var s, l;
|
|
103
107
|
const o = [...t.value];
|
|
104
108
|
if (!(!o.length || u.value)) {
|
|
105
109
|
u.value = !0;
|
|
@@ -107,18 +111,18 @@ function ae(r, d = {}) {
|
|
|
107
111
|
await Promise.all(
|
|
108
112
|
o.map(
|
|
109
113
|
(O) => W.saveSettings(O, {
|
|
110
|
-
payRate:
|
|
111
|
-
overtime: { maxHoursPerMonth:
|
|
112
|
-
workingHours:
|
|
114
|
+
payRate: m.payRate,
|
|
115
|
+
overtime: { maxHoursPerMonth: m.otCapHours },
|
|
116
|
+
workingHours: m.workingHours
|
|
113
117
|
})
|
|
114
118
|
)
|
|
115
|
-
),
|
|
119
|
+
), x.value = o.length, (s = d.notify) == null || s.call(
|
|
116
120
|
d,
|
|
117
121
|
`Setup copied to ${o.length} outlet${o.length === 1 ? "" : "s"}`,
|
|
118
122
|
"success"
|
|
119
123
|
);
|
|
120
124
|
} catch (O) {
|
|
121
|
-
(
|
|
125
|
+
(l = d.notify) == null || l.call(
|
|
122
126
|
d,
|
|
123
127
|
O instanceof Error ? O.message : "Could not clone outlet setup",
|
|
124
128
|
"error"
|
|
@@ -130,13 +134,13 @@ function ae(r, d = {}) {
|
|
|
130
134
|
}
|
|
131
135
|
return {
|
|
132
136
|
open: a,
|
|
133
|
-
query:
|
|
137
|
+
query: i,
|
|
134
138
|
selected: t,
|
|
135
139
|
saving: u,
|
|
136
|
-
done:
|
|
140
|
+
done: x,
|
|
137
141
|
sourceLabel: y,
|
|
138
|
-
targets:
|
|
139
|
-
openModal:
|
|
142
|
+
targets: P,
|
|
143
|
+
openModal: S,
|
|
140
144
|
close: D,
|
|
141
145
|
toggle: R,
|
|
142
146
|
confirm: c
|
|
@@ -145,41 +149,41 @@ function ae(r, d = {}) {
|
|
|
145
149
|
const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
146
150
|
class: "ce-hint",
|
|
147
151
|
style: { "margin-bottom": "var(--fm-spacing-10)" }
|
|
148
|
-
}, ne = { class: "sch-search" }, ie = { class: "asg-list" }, ue = ["checked", "onChange"], de = { class: "asg-id" }, pe = { class: "asg-nm" },
|
|
152
|
+
}, ne = { class: "sch-search" }, ie = { class: "asg-list" }, ue = ["checked", "onChange"], de = { class: "asg-id" }, pe = { class: "asg-nm" }, me = {
|
|
149
153
|
key: 0,
|
|
150
154
|
class: "asg-empty"
|
|
151
|
-
},
|
|
155
|
+
}, ve = {
|
|
152
156
|
key: 1,
|
|
153
157
|
class: "cg-done"
|
|
154
|
-
}, ce = { class: "cg-st-main" }, ye = { class: "am-foot" }, fe = { class: "am-cost-preview" },
|
|
158
|
+
}, ce = { class: "cg-st-main" }, ye = { class: "am-foot" }, fe = { class: "am-cost-preview" }, he = { class: "am-foot-btns" }, ge = /* @__PURE__ */ V({
|
|
155
159
|
__name: "ScheduleCloneOutletModal",
|
|
156
160
|
props: {
|
|
157
161
|
modal: {}
|
|
158
162
|
},
|
|
159
|
-
setup(
|
|
160
|
-
return (d, a) => (p(),
|
|
161
|
-
open:
|
|
163
|
+
setup(n) {
|
|
164
|
+
return (d, a) => (p(), A(Q, {
|
|
165
|
+
open: n.modal.open.value,
|
|
162
166
|
"panel-class": "ce-modal",
|
|
163
167
|
"panel-style": "width: min(460px, 95vw)",
|
|
164
168
|
"labelled-by": "schedule-clone-title",
|
|
165
|
-
onClose: a[5] || (a[5] = (
|
|
169
|
+
onClose: a[5] || (a[5] = (i) => n.modal.close())
|
|
166
170
|
}, {
|
|
167
|
-
default:
|
|
171
|
+
default: b(() => [
|
|
168
172
|
e("div", oe, [
|
|
169
173
|
a[7] || (a[7] = e("div", {
|
|
170
174
|
id: "schedule-clone-title",
|
|
171
175
|
class: "am-title"
|
|
172
176
|
}, "Clone outlet setup", -1)),
|
|
173
|
-
|
|
177
|
+
k(C, {
|
|
174
178
|
hierarchy: "ghost",
|
|
175
179
|
size: "xs",
|
|
176
180
|
"icon-only": "",
|
|
177
181
|
class: "ce-close-x",
|
|
178
182
|
type: "button",
|
|
179
183
|
"aria-label": "Close",
|
|
180
|
-
onClick: a[0] || (a[0] = (
|
|
184
|
+
onClick: a[0] || (a[0] = (i) => n.modal.close())
|
|
181
185
|
}, {
|
|
182
|
-
default:
|
|
186
|
+
default: b(() => [...a[6] || (a[6] = [
|
|
183
187
|
e("svg", {
|
|
184
188
|
width: "20",
|
|
185
189
|
height: "20",
|
|
@@ -197,10 +201,10 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
197
201
|
})
|
|
198
202
|
]),
|
|
199
203
|
e("div", le, [
|
|
200
|
-
|
|
204
|
+
n.modal.done.value === null ? (p(), v(L, { key: 0 }, [
|
|
201
205
|
e("div", re, [
|
|
202
206
|
a[8] || (a[8] = H(" Copy ", -1)),
|
|
203
|
-
e("b", null,
|
|
207
|
+
e("b", null, g(n.modal.sourceLabel.value), 1),
|
|
204
208
|
a[9] || (a[9] = H("'s pay rates to: ", -1))
|
|
205
209
|
]),
|
|
206
210
|
e("div", ne, [
|
|
@@ -226,86 +230,86 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
226
230
|
})
|
|
227
231
|
], -1)),
|
|
228
232
|
f(e("input", {
|
|
229
|
-
"onUpdate:modelValue": a[1] || (a[1] = (
|
|
233
|
+
"onUpdate:modelValue": a[1] || (a[1] = (i) => n.modal.query.value = i),
|
|
230
234
|
type: "search",
|
|
231
235
|
placeholder: "Search outlets",
|
|
232
236
|
"aria-label": "Search outlets",
|
|
233
237
|
autocomplete: "off"
|
|
234
238
|
}, null, 512), [
|
|
235
|
-
[
|
|
239
|
+
[h, n.modal.query.value]
|
|
236
240
|
])
|
|
237
241
|
]),
|
|
238
242
|
e("div", ie, [
|
|
239
|
-
(p(!0),
|
|
240
|
-
key:
|
|
243
|
+
(p(!0), v(L, null, z(n.modal.targets.value, (i) => (p(), v("label", {
|
|
244
|
+
key: i.value,
|
|
241
245
|
class: "asg-row"
|
|
242
246
|
}, [
|
|
243
247
|
e("input", {
|
|
244
248
|
type: "checkbox",
|
|
245
249
|
class: "sch-checkbox",
|
|
246
250
|
"data-platform": "desktop",
|
|
247
|
-
checked:
|
|
248
|
-
onChange: (t) =>
|
|
251
|
+
checked: n.modal.selected.value.has(i.value),
|
|
252
|
+
onChange: (t) => n.modal.toggle(i.value)
|
|
249
253
|
}, null, 40, ue),
|
|
250
254
|
e("span", de, [
|
|
251
|
-
e("span", pe,
|
|
255
|
+
e("span", pe, g(i.label), 1)
|
|
252
256
|
])
|
|
253
257
|
]))), 128)),
|
|
254
|
-
|
|
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))
|
|
255
259
|
]),
|
|
256
260
|
a[11] || (a[11] = e("div", {
|
|
257
261
|
class: "ce-hint",
|
|
258
262
|
style: { "margin-top": "var(--fm-spacing-10)" }
|
|
259
263
|
}, " Copies this outlet's pay rates to the outlets you tick. Their current pay rates are replaced. ", -1))
|
|
260
|
-
], 64)) : (p(),
|
|
264
|
+
], 64)) : (p(), v("div", ve, [
|
|
261
265
|
a[13] || (a[13] = e("span", {
|
|
262
266
|
class: "cg-done-tick",
|
|
263
267
|
"aria-hidden": "true"
|
|
264
268
|
}, "✓", -1)),
|
|
265
269
|
e("div", ce, [
|
|
266
270
|
a[12] || (a[12] = e("b", null, "Pay rates copied", -1)),
|
|
267
|
-
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)
|
|
268
272
|
])
|
|
269
273
|
]))
|
|
270
274
|
]),
|
|
271
275
|
e("div", ye, [
|
|
272
|
-
e("div", fe,
|
|
273
|
-
e("div",
|
|
274
|
-
|
|
275
|
-
|
|
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, {
|
|
276
280
|
hierarchy: "secondary",
|
|
277
281
|
size: "sm",
|
|
278
282
|
class: "am-btn am-btn-sec",
|
|
279
283
|
type: "button",
|
|
280
|
-
onClick: a[2] || (a[2] = (
|
|
284
|
+
onClick: a[2] || (a[2] = (i) => n.modal.close())
|
|
281
285
|
}, {
|
|
282
|
-
default:
|
|
286
|
+
default: b(() => [...a[14] || (a[14] = [
|
|
283
287
|
H(" Cancel ", -1)
|
|
284
288
|
])]),
|
|
285
289
|
_: 1
|
|
286
290
|
}),
|
|
287
|
-
|
|
291
|
+
k(C, {
|
|
288
292
|
hierarchy: "primary",
|
|
289
293
|
size: "sm",
|
|
290
294
|
class: "am-btn am-btn-primary",
|
|
291
295
|
type: "button",
|
|
292
|
-
disabled: !
|
|
293
|
-
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())
|
|
294
298
|
}, {
|
|
295
|
-
default:
|
|
296
|
-
H(
|
|
299
|
+
default: b(() => [
|
|
300
|
+
H(g(n.modal.saving.value ? "Copying…" : "Copy setup"), 1)
|
|
297
301
|
]),
|
|
298
302
|
_: 1
|
|
299
303
|
}, 8, ["disabled"])
|
|
300
|
-
], 64)) : (p(),
|
|
304
|
+
], 64)) : (p(), A(C, {
|
|
301
305
|
key: 1,
|
|
302
306
|
hierarchy: "primary",
|
|
303
307
|
size: "sm",
|
|
304
308
|
class: "am-btn am-btn-primary",
|
|
305
309
|
type: "button",
|
|
306
|
-
onClick: a[4] || (a[4] = (
|
|
310
|
+
onClick: a[4] || (a[4] = (i) => n.modal.close())
|
|
307
311
|
}, {
|
|
308
|
-
default:
|
|
312
|
+
default: b(() => [...a[15] || (a[15] = [
|
|
309
313
|
H(" Done ", -1)
|
|
310
314
|
])]),
|
|
311
315
|
_: 1
|
|
@@ -316,40 +320,40 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
316
320
|
_: 1
|
|
317
321
|
}, 8, ["open"]));
|
|
318
322
|
}
|
|
319
|
-
}), we = { class: "main" },
|
|
323
|
+
}), we = { class: "main" }, ke = {
|
|
320
324
|
id: "viewSettings",
|
|
321
325
|
class: "view"
|
|
322
|
-
},
|
|
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 = {
|
|
323
327
|
key: 0,
|
|
324
328
|
id: "sp-payrates",
|
|
325
329
|
class: "sp-sec"
|
|
326
|
-
}, Oe = { class: "sp-card" },
|
|
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 = {
|
|
327
331
|
key: 1,
|
|
328
332
|
id: "sp-working-hours",
|
|
329
333
|
class: "sp-sec"
|
|
330
|
-
},
|
|
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 = {
|
|
331
335
|
key: 2,
|
|
332
336
|
id: "sp-overtime",
|
|
333
337
|
class: "sp-sec"
|
|
334
|
-
}, Ke = { class: "sp-card" }, Xe = { class: "sp-row" }, Ze = { class: "sp-save-txt" }, _e = { key: 0 }, rs = /* @__PURE__ */
|
|
338
|
+
}, Ke = { class: "sp-card" }, Xe = { class: "sp-row" }, Ze = { class: "sp-save-txt" }, _e = { key: 0 }, rs = /* @__PURE__ */ V({
|
|
335
339
|
__name: "ScheduleGeneralPage",
|
|
336
|
-
setup(
|
|
340
|
+
setup(n) {
|
|
337
341
|
const d = w(null);
|
|
338
342
|
K(d);
|
|
339
|
-
const a =
|
|
340
|
-
notify: (o, s) =>
|
|
343
|
+
const a = F(), i = G(), t = te(), u = X(), x = ae(u, {
|
|
344
|
+
notify: (o, s) => i.open({ message: o, type: s })
|
|
341
345
|
}), y = w(!1);
|
|
342
|
-
|
|
346
|
+
Y(async () => {
|
|
343
347
|
await u.resolve() && await Z(/* @__PURE__ */ new Date()), await t.load(), t.open();
|
|
344
348
|
});
|
|
345
|
-
const
|
|
349
|
+
const P = E(
|
|
346
350
|
() => u.options.value.length ? u.options.value : [{ value: "", label: "No outlet selected", disabled: !0 }]
|
|
347
351
|
);
|
|
348
|
-
async function
|
|
352
|
+
async function S(o) {
|
|
349
353
|
t.dirty.value || await u.switchTo(o, /* @__PURE__ */ new Date()) && (await t.load(), t.open());
|
|
350
354
|
}
|
|
351
355
|
function D() {
|
|
352
|
-
t.close() && a.push({ name:
|
|
356
|
+
t.close() && a.push({ name: j.SCHEDULE });
|
|
353
357
|
}
|
|
354
358
|
function R() {
|
|
355
359
|
if (!y.value) {
|
|
@@ -360,30 +364,30 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
360
364
|
}
|
|
361
365
|
async function c() {
|
|
362
366
|
try {
|
|
363
|
-
await t.save(),
|
|
367
|
+
await t.save(), i.open({ message: "General settings saved", type: "success" });
|
|
364
368
|
} catch (o) {
|
|
365
|
-
|
|
369
|
+
i.open({
|
|
366
370
|
message: o instanceof Error ? o.message : "Could not save general settings",
|
|
367
371
|
type: "error"
|
|
368
372
|
});
|
|
369
373
|
}
|
|
370
374
|
}
|
|
371
|
-
return (o, s) => (p(),
|
|
375
|
+
return (o, s) => (p(), v("div", {
|
|
372
376
|
ref_key: "rootEl",
|
|
373
377
|
ref: d,
|
|
374
378
|
class: "sch"
|
|
375
379
|
}, [
|
|
376
380
|
e("div", we, [
|
|
377
|
-
e("div",
|
|
378
|
-
e("div",
|
|
379
|
-
|
|
381
|
+
e("div", ke, [
|
|
382
|
+
e("div", be, [
|
|
383
|
+
k(C, {
|
|
380
384
|
hierarchy: "ghost",
|
|
381
385
|
size: "sm",
|
|
382
386
|
class: "sp-back",
|
|
383
387
|
type: "button",
|
|
384
388
|
onClick: D
|
|
385
389
|
}, {
|
|
386
|
-
default:
|
|
390
|
+
default: b(() => [...s[12] || (s[12] = [
|
|
387
391
|
e("svg", {
|
|
388
392
|
width: "12",
|
|
389
393
|
height: "12",
|
|
@@ -403,29 +407,29 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
403
407
|
])]),
|
|
404
408
|
_: 1
|
|
405
409
|
}),
|
|
406
|
-
s[15] || (s[15] =
|
|
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)),
|
|
407
411
|
e("div", He, [
|
|
408
412
|
s[14] || (s[14] = e("span", { class: "outlet-bar-lbl" }, "Outlet", -1)),
|
|
409
|
-
|
|
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
|
-
|
|
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
|
-
default:
|
|
432
|
+
default: b(() => [...s[13] || (s[13] = [
|
|
429
433
|
e("svg", {
|
|
430
434
|
width: "12",
|
|
431
435
|
height: "12",
|
|
@@ -455,19 +459,19 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
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",
|
|
472
|
+
e("div", Se, [
|
|
469
473
|
e("div", De, [
|
|
470
|
-
|
|
474
|
+
r(t).activeSection.value === "payrates" ? (p(), v("section", Re, [
|
|
471
475
|
s[28] || (s[28] = e("div", { class: "sp-sec-head" }, [
|
|
472
476
|
e("div", { class: "sp-panel-title" }, "Pay rates")
|
|
473
477
|
], -1)),
|
|
@@ -477,14 +481,14 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
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",
|
|
484
|
+
e("div", Me, [
|
|
481
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,8 +497,8 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
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
|
]
|
|
@@ -507,9 +511,9 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
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,8 +522,8 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
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
|
]
|
|
@@ -527,14 +531,14 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
527
531
|
s[18] || (s[18] = e("span", { class: "sp-unit" }, "×", -1))
|
|
528
532
|
])
|
|
529
533
|
]),
|
|
530
|
-
e("div",
|
|
534
|
+
e("div", Ne, [
|
|
531
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,8 +547,8 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
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
|
]
|
|
@@ -553,19 +557,19 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
553
557
|
])
|
|
554
558
|
])
|
|
555
559
|
]),
|
|
556
|
-
e("div",
|
|
560
|
+
e("div", Ae, [
|
|
557
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",
|
|
565
|
+
e("div", Ie, [
|
|
562
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,8 +578,8 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
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
|
]
|
|
@@ -588,9 +592,9 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
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,8 +603,8 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
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
|
]
|
|
@@ -609,12 +613,12 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
609
613
|
])
|
|
610
614
|
])
|
|
611
615
|
])
|
|
612
|
-
])) :
|
|
616
|
+
])) : r(t).activeSection.value === "workingHours" ? (p(), v("section", We, [
|
|
613
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
620
|
s[38] || (s[38] = e("div", { class: "sp-panel-desc" }, "Default employee working-hour limits when no individual setting is provided.", -1)),
|
|
617
|
-
e("div",
|
|
621
|
+
e("div", Be, [
|
|
618
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")
|
|
@@ -625,7 +629,7 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
625
629
|
], -1)),
|
|
626
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,8 +639,8 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
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
|
]
|
|
@@ -650,7 +654,7 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
650
654
|
], -1)),
|
|
651
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,8 +664,8 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
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
|
]
|
|
@@ -675,7 +679,7 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
675
679
|
], -1)),
|
|
676
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,8 +689,8 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
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
|
]
|
|
@@ -695,7 +699,7 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
695
699
|
])
|
|
696
700
|
])
|
|
697
701
|
])
|
|
698
|
-
])) :
|
|
702
|
+
])) : r(t).activeSection.value === "overtime" ? (p(), v("section", Qe, [
|
|
699
703
|
s[41] || (s[41] = e("div", { class: "sp-sec-head" }, [
|
|
700
704
|
e("div", { class: "sp-panel-title" }, "Overtime")
|
|
701
705
|
], -1)),
|
|
@@ -711,7 +715,7 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
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 oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
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
742
|
e("div", Ze, [
|
|
739
|
-
H(
|
|
740
|
-
y.value ?
|
|
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
|
-
|
|
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
|
-
default:
|
|
750
|
-
H(
|
|
753
|
+
default: b(() => [
|
|
754
|
+
H(g(y.value ? "Confirm discard" : "Discard"), 1)
|
|
751
755
|
]),
|
|
752
756
|
_: 1
|
|
753
757
|
}),
|
|
754
|
-
|
|
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:
|
|
765
|
+
default: b(() => [...s[43] || (s[43] = [
|
|
762
766
|
H(" Save changes ", -1)
|
|
763
767
|
])]),
|
|
764
768
|
_: 1
|
|
@@ -767,7 +771,7 @@ const oe = { class: "am-head" }, le = { class: "ce-body" }, re = {
|
|
|
767
771
|
])
|
|
768
772
|
])
|
|
769
773
|
]),
|
|
770
|
-
|
|
774
|
+
k(ge, { modal: r(x) }, null, 8, ["modal"])
|
|
771
775
|
], 512));
|
|
772
776
|
}
|
|
773
777
|
});
|