@feedmepos/mf-hrm-portal 1.1.6-dev → 2.0.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/AuditLogList-Cm3ueTso.js +474 -0
- package/dist/EmployeeList-vMcIqBU_.js +626 -0
- package/dist/{main-C370wsCl.js → Main-CeGYov-a.js} +1502 -1531
- package/dist/Main-gHCENd4i.js +86 -0
- package/dist/{PageLayout.vue_vue_type_script_setup_true_lang-DuwNwJDM.js → PageLayout.vue_vue_type_script_setup_true_lang-HKK4cbW8.js} +2 -2
- package/dist/PermissionSetList-Dw69OYF4.js +323 -0
- package/dist/PortalPermissionEditor.vue_vue_type_script_setup_true_lang-bvPOPUhu.js +3092 -0
- package/dist/ResponsiveFabButton.vue_vue_type_script_setup_true_lang-Cn-3MRBO.js +38 -0
- package/dist/RoleList-D1CrixYc.js +497 -0
- package/dist/{useSearch-C25VELOk.js → SelectFilter-NbXrJ4iH.js} +90 -101
- package/dist/TeamMemberList-M0Q8CP4h.js +973 -0
- package/dist/{TimesheetList-qaolOL4w.js → TimesheetList-BmOfy0pc.js} +31 -29
- package/dist/api/audit-log/index.d.ts +14 -0
- package/dist/api/index.d.ts +5 -0
- package/dist/api/permission-assignment/index.d.ts +10 -0
- package/dist/api/permission-set/index.d.ts +8 -0
- package/dist/api/report-query/index.d.ts +5 -0
- package/dist/api/team/index.d.ts +2 -1
- package/dist/app-RUdgf-7_.js +3286 -0
- package/dist/app.js +1 -1
- package/dist/components/AppForm.vue.d.ts +3 -2
- package/dist/components/CheckboxInput.vue.d.ts +10 -4
- package/dist/components/CollapsibleWrapper.vue.d.ts +3 -2
- package/dist/components/form/SelectFilter.vue.d.ts +3 -2
- package/dist/components/layout/FormColumn.vue.d.ts +6 -3
- package/dist/components/layout/FormItem.vue.d.ts +2 -1
- package/dist/components/layout/FormSection.vue.d.ts +2 -1
- package/dist/components/layout/FullWrapper.vue.d.ts +6 -3
- package/dist/components/layout/PageLayout.vue.d.ts +2 -1
- package/dist/components/menu/BottomSheetMenu.vue.d.ts +2 -1
- package/dist/components/menu/BottomSheetMenuItem.vue.d.ts +6 -3
- package/dist/components/table/EmptyDataTemplate/index.vue.d.ts +6 -3
- package/dist/composables/useAppStore.d.ts +6 -6
- package/dist/composables/useDateRange.d.ts +1 -1
- package/dist/composables/useReportPermissions.d.ts +14 -0
- package/dist/composables/useRestaurantMap.d.ts +4 -8
- package/dist/composables/useSheet.d.ts +1 -1
- package/dist/dayjs.min-D9w2-Exz.js +282 -0
- package/dist/employee-B3jBmvNJ.js +144 -0
- package/dist/helpers/permission-set.d.ts +69 -0
- package/dist/helpers/portal-user.d.ts +8 -0
- package/dist/helpers/rule.d.ts +5 -4
- package/dist/index-BMVQbdBd.js +827 -0
- package/dist/index-BS6B6k7h.js +10340 -0
- package/dist/{empty-placeholder-ey8LJtN1.js → index.vue_vue_type_script_setup_true_lang-Vc5ARO29.js} +43 -2
- package/dist/{lodash-B5BTJU4_.js → lodash-CglPbFKR.js} +326 -343
- package/dist/router/shared.d.ts +4 -1
- package/dist/stores/employee.d.ts +4 -4
- package/dist/stores/permission-assignment.d.ts +277 -0
- package/dist/stores/permission-set.d.ts +265 -0
- package/dist/stores/role.d.ts +4 -4
- package/dist/stores/team.d.ts +300 -0
- package/dist/stores/timesheet.d.ts +19 -19
- package/dist/style.css +1 -1
- package/dist/team-afjBSzOz.js +33 -0
- package/dist/{timesheet-Cy-jSzje.js → timesheet-fOBJOS1i.js} +14 -14
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/dist/types/audit-log.d.ts +1 -0
- package/dist/types/permission-assignment.d.ts +20 -0
- package/dist/types/permission-set.d.ts +24 -0
- package/dist/types/report-query.d.ts +6 -0
- package/dist/types/team.d.ts +13 -3
- package/dist/useAppStore-D-SLROq6.js +168 -0
- package/dist/useLoading-CLQGJW7G.js +99 -0
- package/dist/useReportPermissions-Cx4ghxj6.js +65 -0
- package/dist/{useRestaurantMap-CpS9-OSq.js → useRestaurantMap-D5BNPLKh.js} +7 -7
- package/dist/useSearch-B6WK1LBB.js +15 -0
- package/dist/views/audit-log/locales/index.d.ts +295 -0
- package/dist/views/hr/employee/{components/EmployeeForm.vue.d.ts → EmployeeForm.vue.d.ts} +10 -7
- package/dist/views/team/Main.vue.d.ts +2 -0
- package/dist/views/team/components/BasePermission.vue.d.ts +64 -0
- package/dist/views/team/components/{TeamMemberConditionPermission.vue.d.ts → ConditionPermission.vue.d.ts} +14 -1
- package/dist/views/team/components/InheritPermissionTooltip.vue.d.ts +14 -0
- package/dist/views/team/components/PermissionWithTooltip.vue.d.ts +14 -0
- package/dist/views/team/components/PortalPermissionEditor.vue.d.ts +68 -28
- package/dist/views/team/components/{TeamMemberRolePermission.vue.d.ts → PosRolePermission.vue.d.ts} +14 -1
- package/dist/views/team/locales/index.d.ts +200 -4
- package/dist/views/team/{components → member}/AddMemberForm.vue.d.ts +1 -0
- package/dist/views/team/member/TeamMemberList.vue.d.ts +4 -0
- package/dist/views/team/member/TeamMemberMasterUser.vue.d.ts +55 -0
- package/dist/views/team/permission-set/PermissionSetForm.vue.d.ts +19 -0
- package/dist/views/team/permission-set/PermissionSetList.vue.d.ts +5 -0
- package/package.json +15 -8
- package/dist/EmployeeList-CP42mLpi.js +0 -605
- package/dist/RoleList-CsctaXlu.js +0 -492
- package/dist/TeamMemberList-DtXoUa5K.js +0 -1508
- package/dist/app-G_Dbs0OJ.js +0 -1202
- package/dist/employee-BTWpYxn5.js +0 -449
- package/dist/index-8ift6lz3.js +0 -57
- package/dist/rule-CM7JgjNr.js +0 -142112
- package/dist/types/permission.d.ts +0 -4
- package/dist/useAppStore-zINIo0LR.js +0 -93
- package/dist/useLoading-CWBRIBiy.js +0 -141
- package/dist/views/team/components/TeamMemberBasePermission.vue.d.ts +0 -36
- package/dist/views/team/components/TeamMemberMasterUser.vue.d.ts +0 -718
- /package/dist/views/{hr/main.vue.d.ts → audit-log/AuditLogList.vue.d.ts} +0 -0
- /package/dist/views/{team/TeamMemberList.vue.d.ts → hr/Main.vue.d.ts} +0 -0
- /package/dist/views/team/{components → member}/MemberInfo.vue.d.ts +0 -0
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { ref as d, computed as b, defineComponent as ce, onMounted as me, watch as X, resolveComponent as i,
|
|
2
|
-
import {
|
|
3
|
-
import { useI18n as
|
|
4
|
-
import { useSnackbar as
|
|
5
|
-
import { _ as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
1
|
+
import { ref as d, computed as b, defineComponent as ce, onMounted as me, watch as X, resolveComponent as i, createElementBlock as B, openBlock as D, Fragment as Z, createVNode as l, createElementVNode as u, unref as n, withCtx as C, createCommentVNode as pe, toDisplayString as $, createTextVNode as ve, createBlock as z, isRef as fe, renderList as he, nextTick as ge } from "vue";
|
|
2
|
+
import { d as v } from "./dayjs.min-D9w2-Exz.js";
|
|
3
|
+
import { useI18n as we, useCoreStore as ye, RestaurantSelector as be } from "@feedmepos/mf-common";
|
|
4
|
+
import { useSnackbar as _e, components as De } from "@feedmepos/ui-library";
|
|
5
|
+
import { _ as xe } from "./app-RUdgf-7_.js";
|
|
6
|
+
import { _ as Se } from "./index.vue_vue_type_script_setup_true_lang-Vc5ARO29.js";
|
|
7
|
+
import { u as ke } from "./useLoading-CLQGJW7G.js";
|
|
8
|
+
import { i as Ce, j as Ve, s as Fe } from "./index-BS6B6k7h.js";
|
|
9
|
+
import { u as Ye } from "./employee-B3jBmvNJ.js";
|
|
10
|
+
import { u as Le } from "./timesheet-fOBJOS1i.js";
|
|
9
11
|
function Me(x, a) {
|
|
10
12
|
return ["years", "months"].find((S) => {
|
|
11
13
|
const k = x.startOf(S), f = x.endOf(S);
|
|
@@ -58,20 +60,20 @@ const Re = {
|
|
|
58
60
|
}, Pe = {
|
|
59
61
|
key: 0,
|
|
60
62
|
class: "fm-typo-body-sm-400 text-fm-color-typo-error mt-1 flex items-center gap-4"
|
|
61
|
-
}, He = {
|
|
62
|
-
class: "flex items-center justify-start gap-8"
|
|
63
63
|
}, je = {
|
|
64
|
+
class: "flex items-center justify-start gap-8"
|
|
65
|
+
}, He = {
|
|
64
66
|
class: "space-y-8"
|
|
65
67
|
}, Ge = {
|
|
66
68
|
class: "flex items-start gap-8 flex-wrap xs:px-16"
|
|
67
69
|
}, qe = {
|
|
68
70
|
class: "flex items-center gap-8"
|
|
69
|
-
},
|
|
71
|
+
}, nt = /* @__PURE__ */ ce({
|
|
70
72
|
__name: "TimesheetList",
|
|
71
73
|
setup(x) {
|
|
72
74
|
const {
|
|
73
75
|
t: a
|
|
74
|
-
} =
|
|
76
|
+
} = we(), V = _e(), S = ke(V), k = [{
|
|
75
77
|
label: a("hr.timesheet.listView"),
|
|
76
78
|
value: "listView"
|
|
77
79
|
}, {
|
|
@@ -80,7 +82,7 @@ const Re = {
|
|
|
80
82
|
}], f = d("listView"), _ = b(() => {
|
|
81
83
|
var t;
|
|
82
84
|
return (t = k.find((e) => e.value === f.value)) == null ? void 0 : t.label;
|
|
83
|
-
}), c = d(""), h = Le(), A =
|
|
85
|
+
}), c = d(""), h = Le(), A = Ye(), F = b(() => A.employees.value), g = b(() => h.timesheets.value.filter((s) => !E.value || E.value.includes(s.restaurantId)).map((s) => {
|
|
84
86
|
var y;
|
|
85
87
|
const r = (y = ee.restaurants.value.find((p) => p._id === s.restaurantId)) == null ? void 0 : y.profile.code, w = F.value.find((p) => p._id === s.user.id);
|
|
86
88
|
return {
|
|
@@ -94,21 +96,21 @@ const Re = {
|
|
|
94
96
|
})), P = b(() => g.value.filter((t) => {
|
|
95
97
|
var e, s;
|
|
96
98
|
return t.user.name.toLowerCase().includes(c.value.toLowerCase()) || t.restaurantName.toLowerCase().includes(c.value.toLowerCase()) || ((e = t.restaurantCode) == null ? void 0 : e.toLowerCase().includes(c.value.toLowerCase())) || ((s = t.user.code) == null ? void 0 : s.toLowerCase().includes(c.value.toLowerCase()));
|
|
97
|
-
})),
|
|
98
|
-
const t =
|
|
99
|
+
})), j = b(() => {
|
|
100
|
+
const t = Ce(g.value, (s) => s.user.name), e = Object.entries(t).map(([s, r]) => {
|
|
99
101
|
const w = F.value.find((y) => y._id === r[0].user.id);
|
|
100
102
|
return {
|
|
101
103
|
key: s,
|
|
102
104
|
user: r[0].user.name,
|
|
103
105
|
code: w ? w.code : "",
|
|
104
106
|
timesheets: r,
|
|
105
|
-
total:
|
|
107
|
+
total: Ve(r.reduce((y, p) => y + p.totalMin, 0))
|
|
106
108
|
};
|
|
107
109
|
});
|
|
108
|
-
return
|
|
110
|
+
return Fe(e, {
|
|
109
111
|
selector: "user"
|
|
110
112
|
});
|
|
111
|
-
}),
|
|
113
|
+
}), H = b(() => j.value.filter((t) => {
|
|
112
114
|
var e;
|
|
113
115
|
return t.user.toLowerCase().includes(c.value.toLowerCase()) || ((e = t.code) == null ? void 0 : e.toLowerCase().includes(c.value.toLowerCase()));
|
|
114
116
|
})), Y = d(!1), N = async () => {
|
|
@@ -118,7 +120,7 @@ const Re = {
|
|
|
118
120
|
} = L.value;
|
|
119
121
|
Y.value = !0;
|
|
120
122
|
try {
|
|
121
|
-
await h.readTimesheet(new Date(t), new Date(e)), await ge(), U.value = Object.fromEntries(Object.entries(new Array(
|
|
123
|
+
await h.readTimesheet(new Date(t), new Date(e)), await ge(), U.value = Object.fromEntries(Object.entries(new Array(j.value.length).fill(!0)));
|
|
122
124
|
} catch (s) {
|
|
123
125
|
V.open({
|
|
124
126
|
title: s instanceof Error ? s.message : `${s}`,
|
|
@@ -131,7 +133,7 @@ const Re = {
|
|
|
131
133
|
me(() => {
|
|
132
134
|
N();
|
|
133
135
|
});
|
|
134
|
-
const ee =
|
|
136
|
+
const ee = ye(), E = d(), {
|
|
135
137
|
dateRange: L,
|
|
136
138
|
dateRangeLabel: te,
|
|
137
139
|
setRange: G
|
|
@@ -193,7 +195,7 @@ const Re = {
|
|
|
193
195
|
onClick: (r) => {
|
|
194
196
|
r.stopPropagation(), t.row.getToggleExpandedHandler()(r);
|
|
195
197
|
}
|
|
196
|
-
}, [l(
|
|
198
|
+
}, [l(De.FmButton, {
|
|
197
199
|
variant: "tertiary",
|
|
198
200
|
icon: s ? "keyboard_arrow_up" : "keyboard_arrow_down"
|
|
199
201
|
}, null)]), e.user]);
|
|
@@ -253,7 +255,7 @@ const Re = {
|
|
|
253
255
|
"dismiss-away": "",
|
|
254
256
|
header: n(a)("hr.timesheet.update.title")
|
|
255
257
|
}, {
|
|
256
|
-
"side-sheet-footer": C(() => [u("div",
|
|
258
|
+
"side-sheet-footer": C(() => [u("div", je, [l(p, {
|
|
257
259
|
label: n(a)("common.update"),
|
|
258
260
|
size: "md",
|
|
259
261
|
variant: "primary",
|
|
@@ -289,9 +291,9 @@ const Re = {
|
|
|
289
291
|
color: "#FF3B30",
|
|
290
292
|
name: "error",
|
|
291
293
|
size: "sm"
|
|
292
|
-
}),
|
|
294
|
+
}), ve(" " + $(K.value), 1)])) : pe("", !0)])]),
|
|
293
295
|
_: 1
|
|
294
|
-
}, 8, ["modelValue", "header"]), u("div",
|
|
296
|
+
}, 8, ["modelValue", "header"]), u("div", He, [u("div", Ge, [l(n(be), {
|
|
295
297
|
modelValue: E.value,
|
|
296
298
|
"onUpdate:modelValue": e[6] || (e[6] = (o) => E.value = o),
|
|
297
299
|
"managable-only": "",
|
|
@@ -333,11 +335,11 @@ const Re = {
|
|
|
333
335
|
"onUpdate:modelValue": e[10] || (e[10] = (o) => c.value = o),
|
|
334
336
|
class: "w-[320px]",
|
|
335
337
|
placeholder: n(a)("hr.timesheet.search.placeholder")
|
|
336
|
-
}, null, 8, ["modelValue", "placeholder"])]), g.value.length === 0 && !Y.value ? (D(), z(n(
|
|
338
|
+
}, null, 8, ["modelValue", "placeholder"])]), g.value.length === 0 && !Y.value ? (D(), z(n(Se), {
|
|
337
339
|
key: 0,
|
|
338
340
|
title: n(a)("hr.timesheet.noData.title"),
|
|
339
341
|
subtitle: ""
|
|
340
|
-
}, null, 8, ["title"])) : (D(), z(
|
|
342
|
+
}, null, 8, ["title"])) : (D(), z(xe, {
|
|
341
343
|
key: 1,
|
|
342
344
|
class: "w-full xs:px-16 overflow-auto"
|
|
343
345
|
}, {
|
|
@@ -356,8 +358,8 @@ const Re = {
|
|
|
356
358
|
key: 1,
|
|
357
359
|
class: "min-w-[640px]",
|
|
358
360
|
"column-defs": oe,
|
|
359
|
-
"row-data":
|
|
360
|
-
"page-size": g.value.length +
|
|
361
|
+
"row-data": H.value,
|
|
362
|
+
"page-size": g.value.length + H.value.length,
|
|
361
363
|
loading: Y.value,
|
|
362
364
|
"pin-header-row": "",
|
|
363
365
|
"hide-footer": "",
|
|
@@ -373,5 +375,5 @@ const Re = {
|
|
|
373
375
|
}
|
|
374
376
|
});
|
|
375
377
|
export {
|
|
376
|
-
|
|
378
|
+
nt as default
|
|
377
379
|
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AuditLogEntry } from '@/types/audit-log';
|
|
2
|
+
declare const AuditLogAPI: {
|
|
3
|
+
read(params?: {
|
|
4
|
+
limit?: number;
|
|
5
|
+
offset?: number;
|
|
6
|
+
from?: string;
|
|
7
|
+
to?: string;
|
|
8
|
+
userIds?: string[];
|
|
9
|
+
subjects?: string[];
|
|
10
|
+
actions?: string[];
|
|
11
|
+
outcomes?: string[];
|
|
12
|
+
}): Promise<AuditLogEntry[]>;
|
|
13
|
+
};
|
|
14
|
+
export default AuditLogAPI;
|
package/dist/api/index.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
import { type AxiosInstance, type AxiosResponse } from 'axios';
|
|
2
|
+
export declare class ApiError extends Error {
|
|
3
|
+
readonly status: number;
|
|
4
|
+
constructor(message: string, status: number);
|
|
5
|
+
}
|
|
2
6
|
export declare const businessClientInstance: () => AxiosInstance;
|
|
7
|
+
export declare const queryEngineClientInstance: () => AxiosInstance;
|
|
3
8
|
export declare function getAxiosData<T>(response: AxiosResponse<T>): T;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IFdtoCreatePermissionAssignmentReq, IFdtoPermissionAssignment, IFdtoUpdatePermissionAssignmentReq } from '@/types/permission-assignment';
|
|
2
|
+
declare const PermissionAssignmentAPI: {
|
|
3
|
+
readAll(): Promise<IFdtoPermissionAssignment[]>;
|
|
4
|
+
readByUserId(userId: string): Promise<IFdtoPermissionAssignment | null>;
|
|
5
|
+
readById(id: string): Promise<IFdtoPermissionAssignment>;
|
|
6
|
+
create(dto: IFdtoCreatePermissionAssignmentReq): Promise<IFdtoPermissionAssignment>;
|
|
7
|
+
update(id: string, dto: IFdtoUpdatePermissionAssignmentReq): Promise<IFdtoPermissionAssignment>;
|
|
8
|
+
delete(id: string): Promise<boolean>;
|
|
9
|
+
};
|
|
10
|
+
export default PermissionAssignmentAPI;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IFdtoCreatePermissionSetReq, IFdtoPermissionSet, IFdtoUpdatePermissionSetReq } from '@/types/permission-set';
|
|
2
|
+
declare const PermissionSetAPI: {
|
|
3
|
+
read(): Promise<IFdtoPermissionSet[]>;
|
|
4
|
+
create(dto: IFdtoCreatePermissionSetReq): Promise<IFdtoPermissionSet>;
|
|
5
|
+
update(id: string, dto: IFdtoUpdatePermissionSetReq): Promise<IFdtoPermissionSet>;
|
|
6
|
+
delete(id: string): Promise<boolean>;
|
|
7
|
+
};
|
|
8
|
+
export default PermissionSetAPI;
|
package/dist/api/team/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { type IFdtoPortalPermissionsWithVisibilityCondition } from '@feedmepos/hrm-permission';
|
|
1
2
|
import type { FTeamMember, IFdtoCreatePortalUserReq, IFdtoUpdatePortalUserReq } from '@/types/team';
|
|
2
|
-
export declare const portalTeamPermissions:
|
|
3
|
+
export declare const portalTeamPermissions: IFdtoPortalPermissionsWithVisibilityCondition[];
|
|
3
4
|
export declare const teamApi: {
|
|
4
5
|
readTeamMembers(): Promise<FTeamMember[]>;
|
|
5
6
|
createTeamMember(req: IFdtoCreatePortalUserReq): Promise<FTeamMember>;
|