@feedmepos/mf-hrm-portal 2.3.0-dev.25 → 2.3.0-dev.26
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-3wBWXPam.js → ApprovalCodeList-BErlk4ha.js} +4 -4
- package/dist/{AuditLogList-Dlph1SCP.js → AuditLogList-Chvwt0ar.js} +4 -4
- package/dist/{ConditionBuilderForm.vue_vue_type_script_setup_true_lang-CJW-spxu.js → ConditionBuilderForm.vue_vue_type_script_setup_true_lang-2u2WyZdb.js} +2 -2
- package/dist/{EmployeeList-RAaFG8p6.js → EmployeeList-CGD1h2OK.js} +6 -6
- package/dist/{FormItem.vue_vue_type_script_setup_true_lang-BaMXEfJr.js → FormItem.vue_vue_type_script_setup_true_lang-BuGNer42.js} +1 -1
- package/dist/{GrantUserList-CxL7ELvs.js → GrantUserList-DzpqTaSY.js} +5 -5
- package/dist/{Main-Ccg399Ra.js → Main-CPyn7NFE.js} +5 -5
- package/dist/{Main-D19GDYjL.js → Main-DAGEZQlr.js} +2 -2
- package/dist/{Main-DQcp3NRa.js → Main-iNdaHQX2.js} +9 -9
- package/dist/{PermissionSetList-CdQjM54-.js → PermissionSetList-Db8_PEwm.js} +5 -5
- package/dist/{PortalPermissionEditor.vue_vue_type_script_setup_true_lang-CzUGRJe4.js → PortalPermissionEditor.vue_vue_type_script_setup_true_lang-BjUf9foK.js} +985 -985
- package/dist/{RoleList-DTyp8dcV.js → RoleList-CQi7_guB.js} +7 -7
- package/dist/{ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-BOg6mQYF.js → ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-D5wnGhBH.js} +47 -47
- package/dist/{ScheduleGeneralPage-Cn_jBdfC.js → ScheduleGeneralPage-Box_itY2.js} +2 -2
- package/dist/{ScheduleModal.vue_vue_type_script_setup_true_lang-BbSv92Ry.js → ScheduleModal.vue_vue_type_script_setup_true_lang-3XOtfHXG.js} +511 -493
- package/dist/{SchedulePage-CTAIOE59.js → SchedulePage-D5ech6qY.js} +7318 -7345
- package/dist/{SchedulePositionPage-BIXuH4Pk.js → SchedulePositionPage-Df5K6dRn.js} +8 -8
- package/dist/{SelectFilter-DvWwcdKo.js → SelectFilter-CnL5hOUi.js} +1 -1
- package/dist/{TeamMemberList-CqTvtoGc.js → TeamMemberList-BJDrGXAU.js} +7 -7
- package/dist/{TimesheetList-CanJSlhF.js → TimesheetList-DjasY9Ga.js} +6 -6
- package/dist/{TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-UAdvuPmt.js → TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-BipggXKS.js} +2 -2
- package/dist/{app-CTAbM1YW.js → app-6RyACUtu.js} +8 -8
- package/dist/app.js +1 -1
- package/dist/{dayjs.min-Bv1ruj1a.js → dayjs.min-dR2BNXww.js} +1 -1
- package/dist/{employee-D-jow9b7.js → employee-CZII8yO4.js} +3 -3
- package/dist/{iteration-KG5GZWLu.js → iteration-BrBn3q_q.js} +1 -1
- package/dist/{lodash-BCapmkFh.js → lodash-CiDhR4Jm.js} +1 -1
- package/dist/{role-Dx1RfQ1m.js → role-DzoAHzTj.js} +1 -1
- package/dist/{rule-D8e9LFze.js → rule-DucHSUev.js} +2 -2
- package/dist/src/api/schedule/index.d.ts +5 -0
- package/dist/src/views/scheduling/composables/useScheduleAddEmployee.d.ts +17 -0
- package/dist/src/views/scheduling/composables/useScheduleAutoSchedule.d.ts +3 -3
- package/dist/src/views/scheduling/composables/useScheduleEmployeeCandidates.d.ts +23 -4
- package/dist/src/views/scheduling/composables/useScheduleEmployeePersistence.d.ts +2 -0
- package/dist/src/views/scheduling/composables/useScheduleOnboardingEmployees.d.ts +1 -1
- package/dist/src/views/scheduling/composables/useScheduleOnboardingWizard.d.ts +17 -0
- package/dist/src/views/scheduling/schedule-state.d.ts +12 -12
- package/dist/src/views/scheduling/schedule-store.d.ts +3 -1
- package/dist/style.css +1 -1
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/dist/{useReportPermissions-DXiMU0Is.js → useReportPermissions-B0VLybQf.js} +3 -3
- package/package.json +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { defineComponent as M, ref as
|
|
1
|
+
import { defineComponent as M, ref as x, onMounted as A, computed as F, createElementBlock as i, openBlock as l, createElementVNode as o, createVNode as n, createStaticVNode as S, withCtx as d, unref as s, toDisplayString as c, createTextVNode as r, normalizeClass as h, createCommentVNode as z, withDirectives as E, withKeys as k, vModelText as P, Fragment as C, renderList as V, withModifiers as g } from "vue";
|
|
2
2
|
import { useRouter as B } from "vue-router";
|
|
3
3
|
import { useSnackbar as I } from "@feedmepos/ui-library";
|
|
4
|
-
import { R as L, a as O } from "./app-
|
|
5
|
-
import {
|
|
6
|
-
import { u as W, a as j, _ as q } from "./ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-
|
|
4
|
+
import { R as L, a as O } from "./app-6RyACUtu.js";
|
|
5
|
+
import { aw as R, ax as K, ag as T, as as u, at as U } from "./ScheduleModal.vue_vue_type_script_setup_true_lang-3XOtfHXG.js";
|
|
6
|
+
import { u as W, a as j, _ as q } from "./ScheduleAddPositionModal.vue_vue_type_script_setup_true_lang-D5wnGhBH.js";
|
|
7
7
|
const H = { class: "main" }, G = {
|
|
8
8
|
id: "viewPositions",
|
|
9
9
|
class: "view"
|
|
@@ -22,13 +22,13 @@ const H = { class: "main" }, G = {
|
|
|
22
22
|
}, ce = { class: "q" }, ve = /* @__PURE__ */ M({
|
|
23
23
|
__name: "SchedulePositionPage",
|
|
24
24
|
setup(fe) {
|
|
25
|
-
const y =
|
|
25
|
+
const y = x(null);
|
|
26
26
|
R(y);
|
|
27
27
|
const w = B(), _ = I(), b = (m, e = "info") => _.open({ message: m, type: e }), t = W({ notify: b }), v = K(), f = j(void 0, { notify: b });
|
|
28
|
-
|
|
28
|
+
A(async () => {
|
|
29
29
|
await v.resolve() && await T(/* @__PURE__ */ new Date());
|
|
30
30
|
});
|
|
31
|
-
const $ =
|
|
31
|
+
const $ = F(
|
|
32
32
|
() => v.options.value.length ? v.options.value : [{ value: "", label: "No outlet selected", disabled: !0 }]
|
|
33
33
|
);
|
|
34
34
|
function D(m) {
|
|
@@ -72,7 +72,7 @@ const H = { class: "main" }, G = {
|
|
|
72
72
|
])]),
|
|
73
73
|
_: 1
|
|
74
74
|
}),
|
|
75
|
-
e[9] || (e[9] =
|
|
75
|
+
e[9] || (e[9] = S('<div class="sp-title-row" data-v-77f876af><div class="sp-title" data-v-77f876af>Position</div><span class="page-tags" data-v-77f876af><span class="sch-badge page-tag-premium" data-color="brand" data-v-77f876af>Premium</span><span class="sch-badge" data-color="info" data-v-77f876af>Free until 31 Dec 2026</span></span></div><div class="sp-sub" data-v-77f876af>What your employees can do — the same catalogue across every outlet.</div>', 2)),
|
|
76
76
|
o("div", Q, [
|
|
77
77
|
e[8] || (e[8] = o("span", { class: "outlet-bar-lbl" }, "Outlet", -1)),
|
|
78
78
|
n(U, {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ref as $, computed as v, defineComponent as X, watch as Y, nextTick as Z, resolveComponent as F, createElementBlock as d, openBlock as c, createElementVNode as A, createVNode as b, renderSlot as z, withCtx as O, createCommentVNode as x, normalizeStyle as ee, Fragment as S, createBlock as T, unref as k, renderList as R, toDisplayString as N, normalizeClass as le, withModifiers as te } from "vue";
|
|
2
2
|
import "@feedmepos/ui-library";
|
|
3
3
|
/* empty css */
|
|
4
|
-
import { a as ae } from "./app-
|
|
4
|
+
import { a as ae } from "./app-6RyACUtu.js";
|
|
5
5
|
function ue(r, u, _ = r) {
|
|
6
6
|
const t = $(!0), C = v(() => {
|
|
7
7
|
if (!t.value && !u.value)
|
|
@@ -2,22 +2,22 @@ import { defineComponent as we, resolveComponent as F, createElementBlock as L,
|
|
|
2
2
|
import { useI18n as Ve, useCoreStore as Ze } from "@feedmepos/mf-common";
|
|
3
3
|
import { useSnackbar as Le, useDialog as Qe, useBreakpoints as Ye, components as Oe } from "@feedmepos/ui-library";
|
|
4
4
|
import { u as ps } from "./useDebounce-B8ZPVS5C.js";
|
|
5
|
-
import { S as ye } from "./SelectFilter-
|
|
6
|
-
import { a as vs, v as Te, m as fs, O as bs, _ as hs, b as ys } from "./app-
|
|
5
|
+
import { S as ye } from "./SelectFilter-CnL5hOUi.js";
|
|
6
|
+
import { a as vs, v as Te, m as fs, O as bs, _ as hs, b as ys } from "./app-6RyACUtu.js";
|
|
7
7
|
import { _ as gs } from "./ResponsiveContextMenu.vue_vue_type_script_setup_true_lang-mSJFKo7r.js";
|
|
8
8
|
import { _ as _s } from "./TableEmptyState.vue_vue_type_script_setup_true_lang-IfAZmWr0.js";
|
|
9
9
|
import { s as Us, _ as Ss, a as xs, b as Fs, c as Ps } from "./PasscodePinField.vue_vue_type_script_setup_true_lang-CqG0v0Sz.js";
|
|
10
10
|
import { u as He } from "./useLoading-Nygx2zn8.js";
|
|
11
11
|
import { u as Is } from "./useDiscardConfirm-CzZSPyvh.js";
|
|
12
12
|
import { n as es } from "./string-VNuQNweN.js";
|
|
13
|
-
import { l as Pe } from "./lodash-
|
|
14
|
-
import { c as he } from "./iteration-
|
|
15
|
-
import { t as _e, u as ss, c as Ae, b as qe, m as $e, d as ts, p as Ge, i as ws, j as Ke, k as Vs, l as ks, n as Rs, o as Cs, q as $s } from "./rule-
|
|
16
|
-
import { u as as } from "./role-
|
|
13
|
+
import { l as Pe } from "./lodash-CiDhR4Jm.js";
|
|
14
|
+
import { c as he } from "./iteration-BrBn3q_q.js";
|
|
15
|
+
import { t as _e, u as ss, c as Ae, b as qe, m as $e, d as ts, p as Ge, i as ws, j as Ke, k as Vs, l as ks, n as Rs, o as Cs, q as $s } from "./rule-DucHSUev.js";
|
|
16
|
+
import { u as as } from "./role-DzoAHzTj.js";
|
|
17
17
|
import { u as ls, i as Ms } from "./PortalUserSearcher.vue_vue_type_style_index_0_scoped_827dfd60_lang-DQcgZ0nF.js";
|
|
18
18
|
import "./useAppStore-DZCdxlCd.js";
|
|
19
19
|
import { g as ze, b as We, u as os } from "./restaurant-D2mfKHaH.js";
|
|
20
|
-
import { _ as Ns } from "./PortalPermissionEditor.vue_vue_type_script_setup_true_lang-
|
|
20
|
+
import { _ as Ns } from "./PortalPermissionEditor.vue_vue_type_script_setup_true_lang-BjUf9foK.js";
|
|
21
21
|
var Ue = /* @__PURE__ */ ((o) => (o.Update = "Update", o.Remove = "Remove", o))(Ue || {});
|
|
22
22
|
const Ie = "__unassigned__";
|
|
23
23
|
function Je(o) {
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { ref as d, computed as g, defineComponent as pe, onMounted as fe, watch as Z, resolveComponent as u, createElementBlock as P, openBlock as E, Fragment as ee, createVNode as l, createElementVNode as i, unref as n, withCtx as b, createCommentVNode as ve, toDisplayString as O, createTextVNode as he, isRef as ge, renderList as we, createBlock as te, nextTick as ye } from "vue";
|
|
2
|
-
import { d as v } from "./dayjs.min-
|
|
2
|
+
import { d as v } from "./dayjs.min-dR2BNXww.js";
|
|
3
3
|
import { useI18n as _e } from "@feedmepos/mf-common";
|
|
4
4
|
import { useSnackbar as be, components as xe } from "@feedmepos/ui-library";
|
|
5
|
-
import { S as De } from "./SelectFilter-
|
|
6
|
-
import { _ as Se, a as Ve } from "./app-
|
|
5
|
+
import { S as De } from "./SelectFilter-CnL5hOUi.js";
|
|
6
|
+
import { _ as Se, a as Ve } from "./app-6RyACUtu.js";
|
|
7
7
|
import { _ as ke } from "./TableEmptyState.vue_vue_type_script_setup_true_lang-IfAZmWr0.js";
|
|
8
8
|
import { u as Ce } from "./useLoading-Nygx2zn8.js";
|
|
9
|
-
import { g as Fe, s as Ye } from "./iteration-
|
|
9
|
+
import { g as Fe, s as Ye } from "./iteration-BrBn3q_q.js";
|
|
10
10
|
import { f as Le } from "./utils-BZkjJbju.js";
|
|
11
11
|
import { n as Me } from "./string-VNuQNweN.js";
|
|
12
|
-
import { u as Te } from "./employee-
|
|
12
|
+
import { u as Te } from "./employee-CZII8yO4.js";
|
|
13
13
|
import { u as Ie } from "./restaurant-D2mfKHaH.js";
|
|
14
|
-
import { u as Re } from "./TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-
|
|
14
|
+
import { u as Re } from "./TimesheetList.vue_vue_type_style_index_0_scoped_63294af2_lang-BipggXKS.js";
|
|
15
15
|
function $e(x, a) {
|
|
16
16
|
return ["years", "months"].find((S) => {
|
|
17
17
|
const V = x.startOf(S), p = x.endOf(S);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { d as i } from "./dayjs.min-
|
|
1
|
+
import { d as i } from "./dayjs.min-dR2BNXww.js";
|
|
2
2
|
import { defineStore as p, storeToRefs as T } from "pinia";
|
|
3
3
|
import { ref as l } from "vue";
|
|
4
4
|
import { b as c, g as y } from "./restaurant-D2mfKHaH.js";
|
|
5
|
-
import { s as S } from "./iteration-
|
|
5
|
+
import { s as S } from "./iteration-BrBn3q_q.js";
|
|
6
6
|
import { i as f, f as g } from "./utils-BZkjJbju.js";
|
|
7
7
|
const u = {
|
|
8
8
|
async readTimesheets(t, e) {
|
|
@@ -10146,16 +10146,16 @@ const tt = (e) => ({
|
|
|
10146
10146
|
}
|
|
10147
10147
|
]
|
|
10148
10148
|
}
|
|
10149
|
-
}), Vc = it(he(() => import("./Main-
|
|
10150
|
-
he(() => import("./AuditLogList-
|
|
10151
|
-
), Tc = it(he(() => import("./Main-
|
|
10152
|
-
() => import("./PermissionSetList-
|
|
10149
|
+
}), Vc = it(he(() => import("./Main-iNdaHQX2.js"))), Fc = it(he(() => import("./Main-CPyn7NFE.js"))), Sc = it(
|
|
10150
|
+
he(() => import("./AuditLogList-Chvwt0ar.js"))
|
|
10151
|
+
), Tc = it(he(() => import("./Main-DAGEZQlr.js"))), kc = he(() => import("./ApprovalCodeList-BErlk4ha.js")), Rc = he(() => import("./GrantUserList-DzpqTaSY.js")), Nc = he(() => import("./EmployeeList-CGD1h2OK.js")), Ic = he(() => import("./RoleList-CQi7_guB.js")), Hc = he(() => import("./TimesheetList-DjasY9Ga.js")), qc = he(() => import("./TeamMemberList-BJDrGXAU.js")), Xc = he(
|
|
10152
|
+
() => import("./PermissionSetList-Db8_PEwm.js")
|
|
10153
10153
|
), Qc = _s(
|
|
10154
|
-
it(he(() => import("./SchedulePage-
|
|
10154
|
+
it(he(() => import("./SchedulePage-D5ech6qY.js")))
|
|
10155
10155
|
), Zc = _s(
|
|
10156
|
-
it(he(() => import("./SchedulePositionPage-
|
|
10156
|
+
it(he(() => import("./SchedulePositionPage-Df5K6dRn.js")))
|
|
10157
10157
|
), Uc = _s(
|
|
10158
|
-
it(he(() => import("./ScheduleGeneralPage-
|
|
10158
|
+
it(he(() => import("./ScheduleGeneralPage-Box_itY2.js")))
|
|
10159
10159
|
), wu = [
|
|
10160
10160
|
{
|
|
10161
10161
|
path: "/",
|
|
@@ -11304,7 +11304,7 @@ const Bu = /* @__PURE__ */ Ke({
|
|
|
11304
11304
|
};
|
|
11305
11305
|
}
|
|
11306
11306
|
});
|
|
11307
|
-
var Os = { name: "@feedmepos/mf-hrm-portal", version: "2.3.0-dev.
|
|
11307
|
+
var Os = { name: "@feedmepos/mf-hrm-portal", version: "2.3.0-dev.26", mode: "fmmf" };
|
|
11308
11308
|
console.log(
|
|
11309
11309
|
`%c${Os.name}%c v${Os.version} %c${Os.mode}`,
|
|
11310
11310
|
"background:#1f1f1f;color:#fff;padding:2px 6px;border-radius:3px 0 0 3px",
|
package/dist/app.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { d as g } from "./dayjs.min-
|
|
1
|
+
import { d as g } from "./dayjs.min-dR2BNXww.js";
|
|
2
2
|
import { defineStore as $, storeToRefs as x } from "pinia";
|
|
3
3
|
import { ref as y } from "vue";
|
|
4
|
-
import { s as E } from "./iteration-
|
|
4
|
+
import { s as E } from "./iteration-BrBn3q_q.js";
|
|
5
5
|
import { b as l, g as m, u as I } from "./restaurant-D2mfKHaH.js";
|
|
6
6
|
import { i as v } from "./utils-BZkjJbju.js";
|
|
7
|
-
import { u as P } from "./role-
|
|
7
|
+
import { u as P } from "./role-DzoAHzTj.js";
|
|
8
8
|
const o = {
|
|
9
9
|
async readEmployees() {
|
|
10
10
|
return m(await l().get("/pos-users"));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { f as B } from "./app-
|
|
1
|
+
import { f as B } from "./app-6RyACUtu.js";
|
|
2
2
|
var ma = {}, Zt = {}, l = {}, ji = {}, Ei = {}, Ii = {}, Dn = {};
|
|
3
3
|
(function(e) {
|
|
4
4
|
Object.defineProperty(e, "__esModule", { value: !0 }), e.getParsedType = e.ZodParsedType = e.util = void 0;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineStore as x, storeToRefs as b } from "pinia";
|
|
2
2
|
import { ref as w } from "vue";
|
|
3
3
|
import { useCoreStore as B } from "@feedmepos/mf-common";
|
|
4
|
-
import { s as v } from "./iteration-
|
|
4
|
+
import { s as v } from "./iteration-BrBn3q_q.js";
|
|
5
5
|
import { g as f, b as p, u as I } from "./restaurant-D2mfKHaH.js";
|
|
6
6
|
const R = {
|
|
7
7
|
async readRoles() {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { s as W, c as q, e as y } from "./iteration-
|
|
2
|
-
import { h as O, c as V, d as _, v as F, n as h, O as ee, D as M } from "./app-
|
|
1
|
+
import { s as W, c as q, e as y } from "./iteration-BrBn3q_q.js";
|
|
2
|
+
import { h as O, c as V, d as _, v as F, n as h, O as ee, D as M } from "./app-6RyACUtu.js";
|
|
3
3
|
import { s as se } from "./utils-BZkjJbju.js";
|
|
4
4
|
import { g, b as v, q as x, u as te } from "./restaurant-D2mfKHaH.js";
|
|
5
5
|
import { defineStore as z, storeToRefs as K } from "pinia";
|
|
@@ -56,6 +56,11 @@ declare const ScheduleAPI: {
|
|
|
56
56
|
ok: true;
|
|
57
57
|
deletedCount: number;
|
|
58
58
|
}>;
|
|
59
|
+
/** Removes all assignments for an employee from the inclusive removal date onward. */
|
|
60
|
+
deleteEmployeeFutureAssignments(restaurantId: string, employeeId: string, from: string): Promise<{
|
|
61
|
+
ok: true;
|
|
62
|
+
deletedCount: number;
|
|
63
|
+
}>;
|
|
59
64
|
/** Flips a batch of assignments to one status in a single request — e.g. Publish sending
|
|
60
65
|
* every DRAFT shift on the board to PUBLISHED at once. */
|
|
61
66
|
bulkUpdateAssignmentStatus(restaurantId: string, req: FdtoScheduleBulkUpdateAssignmentStatusReq): Promise<FdtoScheduleAssignment[]>;
|
|
@@ -80,6 +80,23 @@ export declare function useScheduleAddEmployee(board: ScheduleBoardApi, options?
|
|
|
80
80
|
candidatesLoading: import("vue").Ref<boolean, boolean>;
|
|
81
81
|
candidatesError: import("vue").Ref<string | null, string | null>;
|
|
82
82
|
selectingExisting: import("vue").Ref<boolean, boolean>;
|
|
83
|
+
candidates: import("vue").Ref<{
|
|
84
|
+
employeeId: string;
|
|
85
|
+
name: string;
|
|
86
|
+
otherOutlets: string[];
|
|
87
|
+
locations: string[];
|
|
88
|
+
}[], import("../types").ExistingStaffCandidate[] | {
|
|
89
|
+
employeeId: string;
|
|
90
|
+
name: string;
|
|
91
|
+
otherOutlets: string[];
|
|
92
|
+
locations: string[];
|
|
93
|
+
}[]>;
|
|
94
|
+
candidatesTotal: import("vue").Ref<number, number>;
|
|
95
|
+
candidatesPage: import("vue").Ref<number, number>;
|
|
96
|
+
candidatesPageItemCount: import("vue").Ref<number, number>;
|
|
97
|
+
candidatesPageSize: number;
|
|
98
|
+
searchExisting: (search: string) => void;
|
|
99
|
+
goToExistingPage: (page: number, search: string) => void;
|
|
83
100
|
openWizard: (section: string) => void;
|
|
84
101
|
openEditFor: (emp: Employee) => void;
|
|
85
102
|
confirmClose: () => void;
|
|
@@ -41,8 +41,8 @@ export declare function useScheduleAutoSchedule(board: ScheduleBoardApi, demand:
|
|
|
41
41
|
date: string;
|
|
42
42
|
startTime: string;
|
|
43
43
|
endTime: string;
|
|
44
|
-
positionId: string | null;
|
|
45
44
|
employeeId: string;
|
|
45
|
+
positionId: string | null;
|
|
46
46
|
employeeName: string;
|
|
47
47
|
position: string;
|
|
48
48
|
reason: string;
|
|
@@ -106,8 +106,8 @@ export declare function useScheduleAutoSchedule(board: ScheduleBoardApi, demand:
|
|
|
106
106
|
date: string;
|
|
107
107
|
startTime: string;
|
|
108
108
|
endTime: string;
|
|
109
|
-
positionId: string | null;
|
|
110
109
|
employeeId: string;
|
|
110
|
+
positionId: string | null;
|
|
111
111
|
employeeName: string;
|
|
112
112
|
position: string;
|
|
113
113
|
reason: string;
|
|
@@ -171,8 +171,8 @@ export declare function useScheduleAutoSchedule(board: ScheduleBoardApi, demand:
|
|
|
171
171
|
date: string;
|
|
172
172
|
startTime: string;
|
|
173
173
|
endTime: string;
|
|
174
|
-
positionId: string | null;
|
|
175
174
|
employeeId: string;
|
|
175
|
+
positionId: string | null;
|
|
176
176
|
employeeName: string;
|
|
177
177
|
position: string;
|
|
178
178
|
reason: string;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { type ComputedRef } from 'vue';
|
|
2
|
+
import type { IFdtoPosUserSummary } from '@/types/employee';
|
|
2
3
|
import type { ScheduleAddEmployeeForm, ScheduleAddEmployeeStep } from './schedule-add-employee-form';
|
|
4
|
+
import type { ExistingStaffCandidate } from '../types';
|
|
3
5
|
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
4
6
|
interface UseScheduleEmployeeCandidatesOptions {
|
|
5
7
|
board: ScheduleBoardApi;
|
|
@@ -11,19 +13,36 @@ interface UseScheduleEmployeeCandidatesOptions {
|
|
|
11
13
|
open: {
|
|
12
14
|
value: boolean;
|
|
13
15
|
};
|
|
14
|
-
onPicked: (employeeId: string) => void;
|
|
15
|
-
onPrefillPasscode: (employeeId: string) => void | Promise<void>;
|
|
16
|
-
onPrefillPosRoles: (employeeId: string) => void | Promise<void>;
|
|
16
|
+
onPicked: (employeeId: string, employee?: IFdtoPosUserSummary) => void;
|
|
17
|
+
onPrefillPasscode: (employeeId: string, employee?: IFdtoPosUserSummary) => void | Promise<void>;
|
|
18
|
+
onPrefillPosRoles: (employeeId: string, employee?: IFdtoPosUserSummary) => void | Promise<void>;
|
|
17
19
|
onPrefillPosRoleAccess: (roleIds: string[] | null | undefined) => void;
|
|
18
20
|
onPrefillPosRestaurantAccess: (restaurantIds: string[] | null | undefined) => void;
|
|
19
21
|
}
|
|
20
22
|
/** Directory lookup and profile prefill for the existing-employee path of the add wizard. */
|
|
21
23
|
export declare function useScheduleEmployeeCandidates(options: UseScheduleEmployeeCandidatesOptions): {
|
|
22
24
|
selectExistingOpen: import("vue").Ref<boolean, boolean>;
|
|
25
|
+
candidates: import("vue").Ref<{
|
|
26
|
+
employeeId: string;
|
|
27
|
+
name: string;
|
|
28
|
+
otherOutlets: string[];
|
|
29
|
+
locations: string[];
|
|
30
|
+
}[], ExistingStaffCandidate[] | {
|
|
31
|
+
employeeId: string;
|
|
32
|
+
name: string;
|
|
33
|
+
otherOutlets: string[];
|
|
34
|
+
locations: string[];
|
|
35
|
+
}[]>;
|
|
36
|
+
candidatesTotal: import("vue").Ref<number, number>;
|
|
37
|
+
candidatesPage: import("vue").Ref<number, number>;
|
|
38
|
+
candidatesPageItemCount: import("vue").Ref<number, number>;
|
|
39
|
+
candidatesPageSize: number;
|
|
23
40
|
candidatesLoading: import("vue").Ref<boolean, boolean>;
|
|
24
41
|
candidatesError: import("vue").Ref<string | null, string | null>;
|
|
25
42
|
selectingExisting: import("vue").Ref<boolean, boolean>;
|
|
26
|
-
openSelectExisting: () => void;
|
|
43
|
+
openSelectExisting: (search?: string) => void;
|
|
44
|
+
searchExisting: (search: string) => void;
|
|
45
|
+
goToExistingPage: (page: number, search: string) => void;
|
|
27
46
|
closeSelectExisting: () => void;
|
|
28
47
|
pickExisting: (employeeId: string) => Promise<void>;
|
|
29
48
|
};
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { ComputedRef, Ref } from 'vue';
|
|
2
|
+
import type { IFdtoPosUserSummary } from '@/types/employee';
|
|
2
3
|
import { type ScheduleAddEmployeeForm } from './schedule-add-employee-form';
|
|
3
4
|
import type { ScheduleBoardApi } from './useScheduleBoard';
|
|
4
5
|
interface UseScheduleEmployeePersistenceOptions {
|
|
5
6
|
form: ScheduleAddEmployeeForm;
|
|
6
7
|
pickedEmployeeId: Ref<string | null>;
|
|
8
|
+
selectedBusinessEmployee: Ref<IFdtoPosUserSummary | null>;
|
|
7
9
|
payAmountNumber: ComputedRef<number>;
|
|
8
10
|
saving: Ref<boolean>;
|
|
9
11
|
saveError: Ref<string | null>;
|
|
@@ -179,8 +179,8 @@ export declare function useScheduleOnboardingEmployees(options: ScheduleOnboardi
|
|
|
179
179
|
maxHoursPerDay: number | null;
|
|
180
180
|
maxHoursPerWeek: number | null;
|
|
181
181
|
} | undefined;
|
|
182
|
-
name: string;
|
|
183
182
|
employeeId: string;
|
|
183
|
+
name: string;
|
|
184
184
|
employmentType: "FULLTIME" | "PARTTIME";
|
|
185
185
|
wage: {
|
|
186
186
|
type: "HOURLY" | "MONTHLY";
|
|
@@ -1477,6 +1477,23 @@ export declare function useScheduleOnboardingWizard(board: ScheduleBoardApi, add
|
|
|
1477
1477
|
candidatesLoading: import("vue").Ref<boolean, boolean>;
|
|
1478
1478
|
candidatesError: import("vue").Ref<string | null, string | null>;
|
|
1479
1479
|
selectingExisting: import("vue").Ref<boolean, boolean>;
|
|
1480
|
+
candidates: import("vue").Ref<{
|
|
1481
|
+
employeeId: string;
|
|
1482
|
+
name: string;
|
|
1483
|
+
otherOutlets: string[];
|
|
1484
|
+
locations: string[];
|
|
1485
|
+
}[], import("../types").ExistingStaffCandidate[] | {
|
|
1486
|
+
employeeId: string;
|
|
1487
|
+
name: string;
|
|
1488
|
+
otherOutlets: string[];
|
|
1489
|
+
locations: string[];
|
|
1490
|
+
}[]>;
|
|
1491
|
+
candidatesTotal: import("vue").Ref<number, number>;
|
|
1492
|
+
candidatesPage: import("vue").Ref<number, number>;
|
|
1493
|
+
candidatesPageItemCount: import("vue").Ref<number, number>;
|
|
1494
|
+
candidatesPageSize: number;
|
|
1495
|
+
searchExisting: (search: string) => void;
|
|
1496
|
+
goToExistingPage: (page: number, search: string) => void;
|
|
1480
1497
|
openWizard: (section: string) => void;
|
|
1481
1498
|
openEditFor: (emp: import("../types").Employee) => void;
|
|
1482
1499
|
confirmClose: () => void;
|
|
@@ -12,8 +12,8 @@ export declare const scheduleState: {
|
|
|
12
12
|
timeOff: {
|
|
13
13
|
type: "OFF_DAY" | "LEAVE";
|
|
14
14
|
status: "PENDING" | "APPROVED" | "REJECTED" | "CANCELLED";
|
|
15
|
-
id: string;
|
|
16
15
|
employeeId: string;
|
|
16
|
+
id: string;
|
|
17
17
|
leaveType: "UNPAID" | "ANNUAL" | "MEDICAL" | "EMERGENCY" | null;
|
|
18
18
|
startDate: string;
|
|
19
19
|
endDate: string;
|
|
@@ -61,8 +61,8 @@ export declare const scheduleState: {
|
|
|
61
61
|
date: string;
|
|
62
62
|
startTime: string;
|
|
63
63
|
endTime: string;
|
|
64
|
-
id: string;
|
|
65
64
|
employeeId: string;
|
|
65
|
+
id: string;
|
|
66
66
|
position: {
|
|
67
67
|
positionId: string;
|
|
68
68
|
positionName: string;
|
|
@@ -93,8 +93,8 @@ export declare const scheduleState: {
|
|
|
93
93
|
maxHoursPerDay: number | null;
|
|
94
94
|
maxHoursPerWeek: number | null;
|
|
95
95
|
} | undefined;
|
|
96
|
-
name: string;
|
|
97
96
|
employeeId: string;
|
|
97
|
+
name: string;
|
|
98
98
|
employmentType: "FULLTIME" | "PARTTIME";
|
|
99
99
|
wage: {
|
|
100
100
|
type: "HOURLY" | "MONTHLY";
|
|
@@ -153,8 +153,8 @@ export declare const scheduleState: {
|
|
|
153
153
|
timeOff: {
|
|
154
154
|
type: "OFF_DAY" | "LEAVE";
|
|
155
155
|
status: "PENDING" | "APPROVED" | "REJECTED" | "CANCELLED";
|
|
156
|
-
id: string;
|
|
157
156
|
employeeId: string;
|
|
157
|
+
id: string;
|
|
158
158
|
leaveType: "UNPAID" | "ANNUAL" | "MEDICAL" | "EMERGENCY" | null;
|
|
159
159
|
startDate: string;
|
|
160
160
|
endDate: string;
|
|
@@ -202,8 +202,8 @@ export declare const scheduleState: {
|
|
|
202
202
|
date: string;
|
|
203
203
|
startTime: string;
|
|
204
204
|
endTime: string;
|
|
205
|
-
id: string;
|
|
206
205
|
employeeId: string;
|
|
206
|
+
id: string;
|
|
207
207
|
position: {
|
|
208
208
|
positionId: string;
|
|
209
209
|
positionName: string;
|
|
@@ -234,8 +234,8 @@ export declare const scheduleState: {
|
|
|
234
234
|
maxHoursPerDay: number | null;
|
|
235
235
|
maxHoursPerWeek: number | null;
|
|
236
236
|
} | undefined;
|
|
237
|
-
name: string;
|
|
238
237
|
employeeId: string;
|
|
238
|
+
name: string;
|
|
239
239
|
employmentType: "FULLTIME" | "PARTTIME";
|
|
240
240
|
wage: {
|
|
241
241
|
type: "HOURLY" | "MONTHLY";
|
|
@@ -400,8 +400,8 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
400
400
|
timeOff: {
|
|
401
401
|
type: "OFF_DAY" | "LEAVE";
|
|
402
402
|
status: "PENDING" | "APPROVED" | "REJECTED" | "CANCELLED";
|
|
403
|
-
id: string;
|
|
404
403
|
employeeId: string;
|
|
404
|
+
id: string;
|
|
405
405
|
leaveType: "UNPAID" | "ANNUAL" | "MEDICAL" | "EMERGENCY" | null;
|
|
406
406
|
startDate: string;
|
|
407
407
|
endDate: string;
|
|
@@ -449,8 +449,8 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
449
449
|
date: string;
|
|
450
450
|
startTime: string;
|
|
451
451
|
endTime: string;
|
|
452
|
-
id: string;
|
|
453
452
|
employeeId: string;
|
|
453
|
+
id: string;
|
|
454
454
|
position: {
|
|
455
455
|
positionId: string;
|
|
456
456
|
positionName: string;
|
|
@@ -481,8 +481,8 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
481
481
|
maxHoursPerDay: number | null;
|
|
482
482
|
maxHoursPerWeek: number | null;
|
|
483
483
|
} | undefined;
|
|
484
|
-
name: string;
|
|
485
484
|
employeeId: string;
|
|
485
|
+
name: string;
|
|
486
486
|
employmentType: "FULLTIME" | "PARTTIME";
|
|
487
487
|
wage: {
|
|
488
488
|
type: "HOURLY" | "MONTHLY";
|
|
@@ -541,8 +541,8 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
541
541
|
timeOff: {
|
|
542
542
|
type: "OFF_DAY" | "LEAVE";
|
|
543
543
|
status: "PENDING" | "APPROVED" | "REJECTED" | "CANCELLED";
|
|
544
|
-
id: string;
|
|
545
544
|
employeeId: string;
|
|
545
|
+
id: string;
|
|
546
546
|
leaveType: "UNPAID" | "ANNUAL" | "MEDICAL" | "EMERGENCY" | null;
|
|
547
547
|
startDate: string;
|
|
548
548
|
endDate: string;
|
|
@@ -590,8 +590,8 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
590
590
|
date: string;
|
|
591
591
|
startTime: string;
|
|
592
592
|
endTime: string;
|
|
593
|
-
id: string;
|
|
594
593
|
employeeId: string;
|
|
594
|
+
id: string;
|
|
595
595
|
position: {
|
|
596
596
|
positionId: string;
|
|
597
597
|
positionName: string;
|
|
@@ -622,8 +622,8 @@ export declare const payload: import("vue").ShallowRef<{
|
|
|
622
622
|
maxHoursPerDay: number | null;
|
|
623
623
|
maxHoursPerWeek: number | null;
|
|
624
624
|
} | undefined;
|
|
625
|
-
name: string;
|
|
626
625
|
employeeId: string;
|
|
626
|
+
name: string;
|
|
627
627
|
employmentType: "FULLTIME" | "PARTTIME";
|
|
628
628
|
wage: {
|
|
629
629
|
type: "HOURLY" | "MONTHLY";
|
|
@@ -24,6 +24,8 @@ export declare function saveEmployeeConfigs(configs: FdtoScheduleSaveEmployeeCon
|
|
|
24
24
|
/** Saves outlet settings and keeps the board payload authoritative for any later cache rebuild. */
|
|
25
25
|
export declare function saveScheduleSettings(req: FdtoScheduleSaveSettingsReq): Promise<FdtoScheduleSettings>;
|
|
26
26
|
export declare function setEmployeeSchedulingEnabled(employeeId: string, enabled: boolean): Promise<void>;
|
|
27
|
+
/** Removes this employee's future shifts before disabling their scheduling row. */
|
|
28
|
+
export declare function deleteEmployeeFutureAssignments(employeeId: string, from?: string): Promise<void>;
|
|
27
29
|
/** Re-reads this outlet's POS roster. The roster is what the board's rows are built from and is
|
|
28
30
|
* otherwise fetched once per outlet, so any write that changes who works here (add, remove)
|
|
29
31
|
* has to call this for the grid to show it. */
|
|
@@ -57,7 +59,7 @@ export declare function saveEmployeePosAccess(employeeId: string, request: {
|
|
|
57
59
|
restaurantId: string;
|
|
58
60
|
roleId: string;
|
|
59
61
|
}[];
|
|
60
|
-
}): Promise<void>;
|
|
62
|
+
}, knownEmployee?: IFdtoPosUserSummary): Promise<void>;
|
|
61
63
|
/** The cached business roster, fetched on first use. `force` re-reads it (after a write, or to
|
|
62
64
|
* refresh a list that is already on screen). Concurrent callers share one request. */
|
|
63
65
|
export declare function ensureBusinessEmployees(force?: boolean): Promise<IFdtoPosUserSummary[]>;
|