@feedmepos/mf-hrm-portal 0.0.1-alpha.1 → 0.0.1

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.
Files changed (104) hide show
  1. package/package.json +1 -1
  2. package/dist/App.vue.d.ts +0 -2
  3. package/dist/EmployeeList-BU6n0y6w.js +0 -604
  4. package/dist/Entry.vue.d.ts +0 -2
  5. package/dist/PageLayout.vue_vue_type_script_setup_true_lang-HKK4cbW8.js +0 -37
  6. package/dist/RoleList-kE8O8wyy.js +0 -492
  7. package/dist/TeamMemberList-BBl8auxB.js +0 -1447
  8. package/dist/TimesheetList-QmuwWz31.js +0 -395
  9. package/dist/api/employee/index.d.ts +0 -15
  10. package/dist/api/index.d.ts +0 -3
  11. package/dist/api/inventory/index.d.ts +0 -5
  12. package/dist/api/role/index.d.ts +0 -9
  13. package/dist/api/team/index.d.ts +0 -10
  14. package/dist/api/timesheet/index.d.ts +0 -6
  15. package/dist/api/user/index.d.ts +0 -6
  16. package/dist/app-DWSjl6MP.js +0 -1170
  17. package/dist/app-DXlbstZu.js +0 -2282
  18. package/dist/app.d.ts +0 -3
  19. package/dist/app.js +0 -6
  20. package/dist/components/AppForm.vue.d.ts +0 -45
  21. package/dist/components/CheckboxInput.vue.d.ts +0 -155
  22. package/dist/components/Navigator.vue.d.ts +0 -6
  23. package/dist/components/Splash.vue.d.ts +0 -2
  24. package/dist/composables/message.d.ts +0 -4
  25. package/dist/composables/restaurant.d.ts +0 -329
  26. package/dist/employee-C-ICOGva.js +0 -449
  27. package/dist/favicon.ico +0 -0
  28. package/dist/helpers/component.d.ts +0 -12
  29. package/dist/helpers/iteration.d.ts +0 -10
  30. package/dist/helpers/rule.d.ts +0 -28
  31. package/dist/helpers/utils.d.ts +0 -3
  32. package/dist/index-COaCoGwy.js +0 -57
  33. package/dist/loading-31nfQqf0.js +0 -140
  34. package/dist/lodash-P5mhhlxp.js +0 -3676
  35. package/dist/main-DlJuqlgg.js +0 -15636
  36. package/dist/main.d.ts +0 -1
  37. package/dist/restaurant-D5BNPLKh.js +0 -107
  38. package/dist/router/index.d.ts +0 -2
  39. package/dist/router/shared.d.ts +0 -10
  40. package/dist/rule-DjIknogy.js +0 -8229
  41. package/dist/search-Dh3HG-_h.js +0 -258
  42. package/dist/shared/api/index.d.ts +0 -3
  43. package/dist/shared/api/public.d.ts +0 -5
  44. package/dist/shared/components/button/ResponsiveFabButton.vue.d.ts +0 -3
  45. package/dist/shared/components/form/SelectFilter.vue.d.ts +0 -86
  46. package/dist/shared/components/layout/FormColumn.vue.d.ts +0 -12
  47. package/dist/shared/components/layout/FormItem.vue.d.ts +0 -17
  48. package/dist/shared/components/layout/FormSection.vue.d.ts +0 -18
  49. package/dist/shared/components/layout/FullWrapper.vue.d.ts +0 -9
  50. package/dist/shared/components/layout/HorizontalSplitter.vue.d.ts +0 -2
  51. package/dist/shared/components/layout/LottieAnimation.vue.d.ts +0 -39
  52. package/dist/shared/components/layout/PageLayout.vue.d.ts +0 -20
  53. package/dist/shared/components/loading/AppLoading.vue.d.ts +0 -20
  54. package/dist/shared/components/loading/PageLoading.vue.d.ts +0 -2
  55. package/dist/shared/components/loading/index.d.ts +0 -1
  56. package/dist/shared/components/menu/BottomSheetMenu.vue.d.ts +0 -13
  57. package/dist/shared/components/menu/BottomSheetMenuItem.vue.d.ts +0 -15
  58. package/dist/shared/components/menu/ResponsiveContextMenu.vue.d.ts +0 -13
  59. package/dist/shared/components/table/EmptyDataTemplate/Icon.vue.d.ts +0 -2
  60. package/dist/shared/components/table/EmptyDataTemplate/index.d.ts +0 -1
  61. package/dist/shared/components/table/EmptyDataTemplate/index.vue.d.ts +0 -18
  62. package/dist/shared/composable/dateRange.d.ts +0 -18
  63. package/dist/shared/composable/discardConfirm.d.ts +0 -1
  64. package/dist/shared/composable/elementPosition.d.ts +0 -17
  65. package/dist/shared/composable/filterSelector.d.ts +0 -12
  66. package/dist/shared/composable/loading.d.ts +0 -29
  67. package/dist/shared/composable/search.d.ts +0 -5
  68. package/dist/shared/composable/sheet.d.ts +0 -17
  69. package/dist/shared/helpers/createComponent.d.ts +0 -7
  70. package/dist/shared/helpers/iteration.d.ts +0 -11
  71. package/dist/shared/helpers/object.d.ts +0 -6
  72. package/dist/shared/helpers/string.d.ts +0 -12
  73. package/dist/shared/permission/posPermission.d.ts +0 -6
  74. package/dist/shared/stores/app.d.ts +0 -217
  75. package/dist/stores/employee.d.ts +0 -590
  76. package/dist/stores/role.d.ts +0 -214
  77. package/dist/stores/timesheet.d.ts +0 -253
  78. package/dist/style.css +0 -1
  79. package/dist/timesheet-Jwqi_LdM.js +0 -56
  80. package/dist/tsconfig.app.tsbuildinfo +0 -1
  81. package/dist/types/employee.d.ts +0 -30
  82. package/dist/types/permission.d.ts +0 -2
  83. package/dist/types/restaurant.d.ts +0 -18
  84. package/dist/types/role.d.ts +0 -37
  85. package/dist/types/team.d.ts +0 -49
  86. package/dist/types/timesheet.d.ts +0 -16
  87. package/dist/views/hr/locales/index.d.ts +0 -602
  88. package/dist/views/hr/views/employee/Employee.vue.d.ts +0 -2
  89. package/dist/views/hr/views/employee/EmployeeList.vue.d.ts +0 -38
  90. package/dist/views/hr/views/employee/components/EmployeeForm.vue.d.ts +0 -27
  91. package/dist/views/hr/views/main.vue.d.ts +0 -2
  92. package/dist/views/hr/views/role/RoleForm.vue.d.ts +0 -17
  93. package/dist/views/hr/views/role/RoleList.vue.d.ts +0 -5
  94. package/dist/views/hr/views/timesheet/TimesheetList.vue.d.ts +0 -2
  95. package/dist/views/team/locales/index.d.ts +0 -348
  96. package/dist/views/team/views/team/TeamMemberList.vue.d.ts +0 -2
  97. package/dist/views/team/views/team/components/AddMemberForm.vue.d.ts +0 -37
  98. package/dist/views/team/views/team/components/MemberInfo.vue.d.ts +0 -6
  99. package/dist/views/team/views/team/components/PortalPermissionEditor.vue.d.ts +0 -46
  100. package/dist/views/team/views/team/components/PortalUserSearcher.vue.d.ts +0 -40
  101. package/dist/views/team/views/team/components/TeamMemberBasePermission.vue.d.ts +0 -36
  102. package/dist/views/team/views/team/components/TeamMemberConditionPermission.vue.d.ts +0 -50
  103. package/dist/views/team/views/team/components/TeamMemberMasterUser.vue.d.ts +0 -710
  104. package/dist/views/team/views/team/components/TeamMemberRolePermission.vue.d.ts +0 -46
@@ -1,1170 +0,0 @@
1
- import { ref as h, watch as g, nextTick as f, onMounted as _, onBeforeUnmount as k, defineComponent as u, computed as v, createElementBlock as T, openBlock as d, normalizeStyle as I, renderSlot as D, resolveComponent as b, createBlock as M, withCtx as B, createElementVNode as $, createVNode as z, defineAsyncComponent as q, watchEffect as F } from "vue";
2
- import { useBreakpoints as V } from "@feedmepos/ui-library";
3
- import { useRouter as A } from "vue-router";
4
- import { withPermission as S, Permission as p, useI18n as j, useCoreStore as Y } from "@feedmepos/mf-common";
5
- const N = {
6
- employee: {
7
- title: "Employee",
8
- exportButtonLabel: "Export",
9
- createButtonLabel: "Create employee",
10
- columns: {
11
- code: "Code",
12
- name: "Name",
13
- restaurants: "Restaurant",
14
- since: "Join Since"
15
- },
16
- form: {
17
- add: "Create employee",
18
- update: "Update employee",
19
- employeeSetting: "Employee setting",
20
- masterUserConfig: "Master user configuration",
21
- code: "Code",
22
- masterUser: "Master User",
23
- masterUserSublabel: "Convert to master user to prevent amend on POS",
24
- required: "This field is required",
25
- passcode: "Passcode",
26
- passcodeRequired: "Passcode must be 4 digits",
27
- passcodeGenerate: "Generate code",
28
- atLeastOneRestaurant: "Select at least one restaurant",
29
- all: "All",
30
- role: "Role",
31
- name: "Name"
32
- },
33
- create: {
34
- successMessage: "Employee successfully created."
35
- },
36
- remove: {
37
- title: "Remove employee",
38
- message: "Do you really want to remove employee {name}?",
39
- successMessage: "{name} successfully removed."
40
- },
41
- update: {
42
- successMessage: "Employee successfully updated."
43
- },
44
- minSelection: "Min selection 1",
45
- search: {
46
- placeholder: "Search employee"
47
- },
48
- filter: {
49
- role_placeholder: "Filter by role",
50
- selected_role_prefix: "Selected roles: "
51
- },
52
- restaurants: "Restaurant: {restaurants}",
53
- noData: {
54
- title: "No employee found",
55
- subtitle: "You don’t have any employee to show at the current moment."
56
- },
57
- cannotUpdateMasterUser: "Cannot update master user"
58
- },
59
- role: {
60
- title: "Role",
61
- createButtonLabel: "Create role",
62
- columns: {
63
- name: "Name",
64
- operation: "Operation",
65
- report: "Report",
66
- restaurants: "Restaurant"
67
- },
68
- labels: {
69
- restaurant: "Restaurant",
70
- restaurantList: "Restaurants: {items}",
71
- operation: "Operation",
72
- operationList: "Operation: {items}",
73
- report: "Report",
74
- reportList: "Report: {items}",
75
- other: "Other",
76
- otherList: "Other: {items}"
77
- },
78
- add: {
79
- successMessage: "{name} successfully added."
80
- },
81
- update: {
82
- successMessage: "{name} successfully updated."
83
- },
84
- remove: {
85
- title: "Remove role",
86
- message: "Do you really want to delete role {name}?",
87
- successMessage: "{name} successfully removed."
88
- },
89
- search: {
90
- placeholder: "Search role"
91
- },
92
- form: {
93
- add: "Create role",
94
- update: "Update role",
95
- name: "Name",
96
- required: "This field is required",
97
- all: "All",
98
- roleDetail: "Role detail",
99
- atLeastOneRestaurant: "Must select at least one restaurant",
100
- permissions: "Permissions",
101
- maxDiscountPercentage: "Max discount percentage",
102
- onlyContainsNumber: "This field can only contains number",
103
- maxValueIs: "Max value is {max}",
104
- minValueIs: "Min value is {min}",
105
- restaurant: "Restaurant"
106
- },
107
- noData: {
108
- title: "No role found",
109
- subtitle: "You don’t have any role to show at the current moment."
110
- },
111
- tooltip: {
112
- labels: {
113
- permission: "Permission"
114
- }
115
- }
116
- },
117
- timesheet: {
118
- title: "Timesheet",
119
- listView: "List view",
120
- userView: "User view",
121
- dateFormat: "D MMM YYYY h:mm A",
122
- employeeName: "Employee name",
123
- columns: {
124
- name: "Name",
125
- restaurant: "Restaurant",
126
- start: "Clock In",
127
- end: "Clock Out",
128
- duration: "Duration",
129
- hourMinute: "Hour/Minute"
130
- },
131
- checkOutMustBeforeCheckIn: "Check Out must be before Check In",
132
- update: {
133
- title: "Update timesheet",
134
- successMessage: "Timesheet updated.",
135
- checkIn: "Check in",
136
- checkOut: "Check out",
137
- date: "Date",
138
- time: "Time"
139
- },
140
- search: {
141
- placeholder: "Search timesheet"
142
- },
143
- noData: {
144
- title: "No result found",
145
- subtitle: ""
146
- }
147
- },
148
- restaurant: {
149
- search: {
150
- placeholder: "Search restaurant"
151
- }
152
- }
153
- }, H = {
154
- hr: N
155
- }, G = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
156
- __proto__: null,
157
- default: H,
158
- hr: N
159
- }, Symbol.toStringTag, { value: "Module" })), O = {
160
- employee: {
161
- title: "พนักงาน",
162
- exportButtonLabel: "ส่งออก",
163
- createButtonLabel: "สร้างพนักงาน",
164
- columns: {
165
- code: "รหัส",
166
- name: "ชื่อ",
167
- restaurants: "ร้านอาหาร",
168
- since: "เข้าร่วมตั้งแต่"
169
- },
170
- form: {
171
- add: "สร้างพนักงาน",
172
- update: "อัพเดทพนักงาน",
173
- employeeSetting: "ตั้งค่าพนักงาน",
174
- masterUserConfig: "ตั้งค่าผู้ใช้หลัก",
175
- code: "รหัส",
176
- masterUser: "ผู้ใช้หลัก",
177
- masterUserSublabel: "แปลงเป็นผู้ใช้หลักเพื่อป้องกันการแก้ไข POS",
178
- required: "โปรดระบุข้อมูล",
179
- passcode: "รหัสผ่าน",
180
- passcodeRequired: "รหัสผ่านต้องเป็นตัวเลข 4 หลัก",
181
- passcodeGenerate: "สร้างรหัส",
182
- atLeastOneRestaurant: "เลือกร้านอาหารอย่างน้อยหนึ่งสาขา",
183
- all: "ทั้งหมด",
184
- role: "บทบาท",
185
- name: "ชื่อ"
186
- },
187
- create: {
188
- successMessage: "สร้างพนักงานสำเร็จแล้ว"
189
- },
190
- remove: {
191
- title: "ถอดพนักงานออก",
192
- message: "คุณต้องการลบพนักงาน {name} ใช่หรือไม่?",
193
- successMessage: "ลบ {name} สำเร็จ\r"
194
- },
195
- update: {
196
- successMessage: "อัปเดตพนักงานเรียบร้อย"
197
- },
198
- minSelection: "เลือกขั้นต่ำ 1 รายการ",
199
- search: {
200
- placeholder: "ค้นหาพนักงาน"
201
- },
202
- filter: {
203
- role_placeholder: "กรองตามบทบาท",
204
- selected_role_prefix: "บทบาทที่เลือก: "
205
- },
206
- restaurants: "ร้านอาหาร: {ร้านอาหาร}",
207
- noData: {
208
- title: "ไม่พบพนักงาน",
209
- subtitle: "คุณไม่มีพนักงานที่จะแสดงในขณะนี้"
210
- },
211
- cannotUpdateMasterUser: "ไม่สามารถอัปเดตผู้ใช้หลักได้"
212
- },
213
- role: {
214
- title: "บทบาท",
215
- createButtonLabel: "สร้างบทบาท",
216
- columns: {
217
- name: "ชื่อ",
218
- operation: "การดำเนินการ",
219
- report: "รายงาน",
220
- restaurants: "ร้านอาหาร"
221
- },
222
- labels: {
223
- restaurant: "ร้านอาหาร",
224
- restaurantList: "ร้านอาหาร: {items}",
225
- operation: "การดำเนินการ",
226
- operationList: "การดำเนินการ: {items}",
227
- report: "รายงาน",
228
- reportList: "รายงาน: {รายการ}",
229
- other: "อื่น",
230
- otherList: "อื่นๆ: {รายการ}"
231
- },
232
- add: {
233
- successMessage: "เพิ่ม {name} สำเร็จ"
234
- },
235
- update: {
236
- successMessage: "{name} อัปเดตสำเร็จ"
237
- },
238
- remove: {
239
- title: "ลบบทบาท",
240
- message: "คุณต้องการลบบทบาท {name} ใช่หรือไม่?",
241
- successMessage: "ลบ {name} สำเร็จ"
242
- },
243
- search: {
244
- placeholder: "ค้นหาบทบาท"
245
- },
246
- form: {
247
- add: "สร้างบทบาท",
248
- update: "อัปเดตบทบาท",
249
- name: "ชื่อ",
250
- required: "โปรดระบุข้อมูล",
251
- all: "ทั้งหมด",
252
- roleDetail: "รายละเอียดบทบาท",
253
- atLeastOneRestaurant: "เลือกร้านอาหารอย่างน้อยหนึ่งสาขา",
254
- permissions: "สิทธิ์",
255
- maxDiscountPercentage: "เปอร์เซ็นต์ส่วนลดสูงสุด",
256
- onlyContainsNumber: "โปรดระบุตัวเลข\r",
257
- maxValueIs: "ค่าสูงสุดคือ {max}",
258
- minValueIs: "ค่าต่ำสุดคือ {min}",
259
- restaurant: "ร้านอาหาร"
260
- },
261
- noData: {
262
- title: "ไม่พบบทบาท",
263
- subtitle: "คุณไม่มีบทบาทที่จะแสดงในขณะนี้"
264
- },
265
- tooltip: {
266
- labels: {
267
- permission: "สิทธิ์"
268
- }
269
- }
270
- },
271
- timesheet: {
272
- title: "ใบลงเวลาทำงาน",
273
- listView: "มุมมองรายการ",
274
- userView: "มุมมองผู้ใช้",
275
- dateFormat: "วัน เดือน ปี ค.ศ. ชม:น A",
276
- employeeName: "ชื่อพนักงาน",
277
- columns: {
278
- name: "ชื่อ",
279
- restaurant: "ร้านอาหาร",
280
- start: "Clock In",
281
- end: "Clock Out",
282
- duration: "ระยะเวลา",
283
- hourMinute: "ชั่วโมง/นาที"
284
- },
285
- checkOutMustBeforeCheckIn: "กรุณาเช็คเอาท์ก่อนเช็คอิน",
286
- update: {
287
- title: "อัปเดตใบลงเวลาทำงาน",
288
- successMessage: "อัปเดตใบลงเวลาทำงานสำเร็จ",
289
- checkIn: "Clock In",
290
- checkOut: "Clock Out",
291
- date: "วันที่",
292
- time: "เวลา"
293
- },
294
- search: {
295
- placeholder: "ค้นหาใบลงเวลาทำงาน"
296
- },
297
- noData: {
298
- title: "ไม่พบผลลัพธ์"
299
- }
300
- },
301
- restaurant: {
302
- search: {
303
- placeholder: "ค้นหาร้านอาหาร"
304
- }
305
- }
306
- }, J = {
307
- hr: O
308
- }, W = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
309
- __proto__: null,
310
- default: J,
311
- hr: O
312
- }, Symbol.toStringTag, { value: "Module" })), w = {
313
- employee: {
314
- title: "员工",
315
- exportButtonLabel: "导出",
316
- createButtonLabel: "添加员工",
317
- columns: {
318
- code: "工号",
319
- name: "姓名",
320
- restaurants: "餐厅",
321
- since: "入职时间"
322
- },
323
- form: {
324
- add: "添加员工",
325
- update: "更新员工",
326
- employeeSetting: "员工设置",
327
- masterUserConfig: "主用户配置",
328
- code: "工号",
329
- masterUser: "主用户",
330
- masterUserSublabel: "转换为主用户以防止在POS上修改",
331
- required: "此字段是必填项",
332
- passcode: "密码",
333
- passcodeRequired: "密码必须为4位数字",
334
- passcodeGenerate: "生成密码",
335
- atLeastOneRestaurant: "至少选择一个餐厅",
336
- all: "全选",
337
- role: "角色",
338
- name: "姓名"
339
- },
340
- create: {
341
- successMessage: "员工成功创建。"
342
- },
343
- remove: {
344
- title: "移除员工",
345
- message: "确定要移除员工 {name} 吗?",
346
- successMessage: "{name} 已移除。"
347
- },
348
- update: {
349
- successMessage: "员工成功更新。"
350
- },
351
- minSelection: "至少选择一个员工",
352
- search: {
353
- placeholder: "搜索员工"
354
- },
355
- filter: {
356
- role_placeholder: "按角色筛选",
357
- selected_role_prefix: "已选角色: "
358
- },
359
- restaurants: "餐厅: {restaurants}",
360
- noData: {
361
- title: "没有找到员工",
362
- subtitle: "当前没有员工。"
363
- },
364
- cannotUpdateMasterUser: "无法更改此用户"
365
- },
366
- role: {
367
- title: "角色",
368
- createButtonLabel: "创建角色",
369
- columns: {
370
- name: "名称",
371
- operation: "操作",
372
- report: "报告",
373
- restaurants: "餐厅"
374
- },
375
- labels: {
376
- restaurant: "餐厅",
377
- restaurantList: "餐厅: {items}",
378
- operation: "操作",
379
- operationList: "操作: {items}",
380
- report: "报告",
381
- reportList: "报告: {items}",
382
- other: "其他",
383
- otherList: "其他: {items}"
384
- },
385
- add: {
386
- successMessage: "{name} 成功添加。"
387
- },
388
- update: {
389
- successMessage: "{name} 成功更新。"
390
- },
391
- remove: {
392
- title: "移除角色",
393
- message: "确定要删除角色 {name} 吗?",
394
- successMessage: "{name} 已移除。"
395
- },
396
- search: {
397
- placeholder: "搜索角色"
398
- },
399
- form: {
400
- add: "创建角色",
401
- update: "更新角色",
402
- name: "名称",
403
- required: "此字段是必填项",
404
- all: "全选",
405
- roleDetail: "角色详情",
406
- atLeastOneRestaurant: "必须选择至少一个餐厅",
407
- permissions: "权限",
408
- maxDiscountPercentage: "最大折扣百分比",
409
- onlyContainsNumber: "此字段只能包含数字",
410
- maxValueIs: "最大值是 {max}",
411
- minValueIs: "最小值是 {min}",
412
- restaurant: "餐厅"
413
- },
414
- noData: {
415
- title: "没有找到角色",
416
- subtitle: "当前没有角色"
417
- },
418
- tooltip: {
419
- labels: {
420
- permission: "权限"
421
- }
422
- }
423
- },
424
- timesheet: {
425
- title: " 工时",
426
- listView: "列表视图",
427
- userView: "用户视图",
428
- dateFormat: "D MMM YYYY h:mm A",
429
- employeeName: "员工姓名",
430
- columns: {
431
- name: "姓名",
432
- restaurant: "餐厅",
433
- start: "开始时间",
434
- end: "结束时间",
435
- duration: "工时",
436
- hourMinute: "小时/分钟"
437
- },
438
- checkOutMustBeforeCheckIn: "打卡结束必须早于打卡开始",
439
- update: {
440
- title: "更新工时",
441
- successMessage: "工时已更新。",
442
- checkIn: "打卡开始",
443
- checkOut: "打卡结束",
444
- date: "日期",
445
- time: "时间"
446
- },
447
- search: {
448
- placeholder: "搜索工时"
449
- },
450
- noData: {
451
- title: "没有找到工时",
452
- subtitle: ""
453
- }
454
- },
455
- restaurant: {
456
- search: {
457
- placeholder: "搜索餐厅"
458
- }
459
- }
460
- }, K = {
461
- hr: w
462
- }, Q = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
463
- __proto__: null,
464
- default: K,
465
- hr: w
466
- }, Symbol.toStringTag, { value: "Module" })), C = {
467
- employee: {
468
- title: "員工",
469
- exportButtonLabel: "導出",
470
- createButtonLabel: "添加員工",
471
- columns: {
472
- code: "工號",
473
- name: "姓名",
474
- restaurants: "餐廳",
475
- since: "入職時間"
476
- },
477
- form: {
478
- add: "添加員工",
479
- update: "更新員工",
480
- employeeSetting: "員工設置",
481
- masterUserConfig: "主用户配置",
482
- code: "工號",
483
- masterUser: "主用户",
484
- masterUserSublabel: "轉換為主用户以防止在POS上修改",
485
- required: "此字段是必填項",
486
- passcode: "密碼",
487
- passcodeRequired: "密碼必須為4位數字",
488
- passcodeGenerate: "生成密碼",
489
- atLeastOneRestaurant: "至少選擇一個餐廳",
490
- all: "全選",
491
- role: "角色",
492
- name: "姓名"
493
- },
494
- create: {
495
- successMessage: "員工成功創建。"
496
- },
497
- remove: {
498
- title: "移除員工",
499
- message: "確定要移除員工 {name} 嗎?",
500
- successMessage: "{name} 已移除。"
501
- },
502
- update: {
503
- successMessage: "員工成功更新。"
504
- },
505
- minSelection: "至少選擇一個員工",
506
- search: {
507
- placeholder: "搜索員工"
508
- },
509
- filter: {
510
- role_placeholder: "按角色篩選",
511
- selected_role_prefix: "已選角色: "
512
- },
513
- restaurants: "餐廳: {restaurants}",
514
- noData: {
515
- title: "沒有找到員工",
516
- subtitle: "當前沒有員工。"
517
- },
518
- cannotUpdateMasterUser: "無法更改此用户"
519
- },
520
- role: {
521
- title: "角色",
522
- createButtonLabel: "創建角色",
523
- columns: {
524
- name: "名稱",
525
- operation: "操作",
526
- report: "報告",
527
- restaurants: "餐廳"
528
- },
529
- labels: {
530
- restaurant: "餐廳",
531
- restaurantList: "餐廳: {items}",
532
- operation: "操作",
533
- operationList: "操作: {items}",
534
- report: "報告",
535
- reportList: "報告: {items}",
536
- other: "其他",
537
- otherList: "其他: {items}"
538
- },
539
- add: {
540
- successMessage: "{name} 成功添加。"
541
- },
542
- update: {
543
- successMessage: "{name} 成功更新。"
544
- },
545
- remove: {
546
- title: "移除角色",
547
- message: "確定要刪除角色 {name} 嗎?",
548
- successMessage: "{name} 已移除。"
549
- },
550
- search: {
551
- placeholder: "搜索角色"
552
- },
553
- form: {
554
- add: "創建角色",
555
- update: "更新角色",
556
- name: "名稱",
557
- required: "此字段是必填項",
558
- all: "全選",
559
- roleDetail: "角色詳情",
560
- atLeastOneRestaurant: "必須選擇至少一個餐廳",
561
- permissions: "權限",
562
- maxDiscountPercentage: "最大折扣百分比",
563
- onlyContainsNumber: "此字段只能包含數字",
564
- maxValueIs: "最大值是 {max}",
565
- minValueIs: "最小值是 {min}",
566
- restaurant: "餐廳"
567
- },
568
- noData: {
569
- title: "沒有找到角色",
570
- subtitle: "當前沒有角色"
571
- },
572
- tooltip: {
573
- labels: {
574
- permission: "權限"
575
- }
576
- }
577
- },
578
- timesheet: {
579
- title: " 工時",
580
- listView: "列表視圖",
581
- userView: "用户視圖",
582
- dateFormat: "D MMM YYYY h:mm A",
583
- employeeName: "員工姓名",
584
- columns: {
585
- name: "姓名",
586
- restaurant: "餐廳",
587
- start: "開始時間",
588
- end: "結束時間",
589
- duration: "工時",
590
- hourMinute: "小時/分鐘"
591
- },
592
- checkOutMustBeforeCheckIn: "打卡結束必須早於打卡開始",
593
- update: {
594
- title: "更新工時",
595
- successMessage: "工時已更新。",
596
- checkIn: "打卡開始",
597
- checkOut: "打卡結束",
598
- date: "日期",
599
- time: "時間"
600
- },
601
- search: {
602
- placeholder: "搜索工時"
603
- },
604
- noData: {
605
- title: "沒有找到工時",
606
- subtitle: ""
607
- }
608
- }
609
- }, X = {
610
- hr: C
611
- }, Z = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
612
- __proto__: null,
613
- default: X,
614
- hr: C
615
- }, Symbol.toStringTag, { value: "Module" })), ee = {
616
- "en-US": G,
617
- "zh-CN": Q,
618
- "th-TH": W,
619
- "zh-Hant": Z
620
- }, L = {
621
- title: "Team members",
622
- actions: {
623
- addMember: "Add member",
624
- updateMember: "Update member",
625
- removeMember: "Remove member"
626
- },
627
- table: {
628
- columns: {
629
- name: "Name",
630
- phoneNumber: "Contact",
631
- restaurant: "Restaurant",
632
- permission: "Permission"
633
- }
634
- },
635
- labels: {
636
- all: "All",
637
- businessOwner: "Business owner",
638
- permission: "Permission",
639
- permissions: "permissions",
640
- allowed: "{ count } permission(s) allowed",
641
- restaurant: "restaurant",
642
- warehouse: "warehouse"
643
- },
644
- removeMember: {
645
- title: "Remove member",
646
- confirmationMessage: "Do you really want to remove member {memberName}?",
647
- successMessage: "{memberName} removed."
648
- },
649
- addMember: {
650
- title: "Add member",
651
- successMessage: "{memberName} added."
652
- },
653
- updateMember: {
654
- title: "Update member",
655
- successMessage: "{memberName} updated."
656
- },
657
- search: {
658
- placeholder: "Search team members"
659
- },
660
- filter: {
661
- permission_placeholder: "Filter by permission",
662
- selected_permission_prefix: "Selected permissions: "
663
- },
664
- emptyState: {
665
- title: "No team members found",
666
- description: "You don’t have any team members to show at the current moment."
667
- },
668
- memberForm: {
669
- searchUser: {
670
- phoneNumber: "Phone number",
671
- email: "Email",
672
- emailPlaceholder: "Enter email",
673
- search: "Search user",
674
- changeUser: "Change user",
675
- userNotFound: "User not found",
676
- emptyError: "Please enter phone number or email"
677
- },
678
- memberInfo: {
679
- memberName: "Member name",
680
- mobileNumber: "Mobile number",
681
- emailAddress: "Email address"
682
- },
683
- permissions: {
684
- manageable: "Manageable {context}",
685
- search: "Search {context}",
686
- general: "General permissions",
687
- stock: "Stock permissions",
688
- includedFuture: "Include future {context}",
689
- includedNewRole: "Include new added role",
690
- roles: "Usable roles"
691
- },
692
- masterUser: {
693
- title: "Master user",
694
- passcode: "Master user passcode",
695
- passcodeRequired: "Passcode must be 4 digits",
696
- sublabel: "Master user can access restaurant POS system.",
697
- code: "Code",
698
- name: "Name",
699
- role: "Role",
700
- nameEmptyError: "Please enter name"
701
- }
702
- }
703
- }, te = {
704
- team: L
705
- }, se = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
706
- __proto__: null,
707
- default: te,
708
- team: L
709
- }, Symbol.toStringTag, { value: "Module" })), E = {
710
- title: "สมาชิกในทีม",
711
- actions: {
712
- addMember: "เพิ่มสมาชิก",
713
- updateMember: "อัปเดตสมาชิก",
714
- removeMember: "ลบสมาชิก"
715
- },
716
- table: {
717
- columns: {
718
- name: "ชื่อ",
719
- phoneNumber: "ผู้ติดต่อ",
720
- restaurant: "ร้านอาหาร",
721
- permission: "สิทธิ์อนุญาต"
722
- }
723
- },
724
- labels: {
725
- all: "ทั้งหมด",
726
- businessOwner: "เจ้าของธุรกิจ",
727
- permission: "สิทธิ์อนุญาต",
728
- permissions: "สิทธิ์อนุญาต",
729
- allowed: "{ count } สิทธิ์ที่อนุญาต",
730
- restaurant: "ร้านอาหาร",
731
- warehouse: "คลังสินค้า"
732
- },
733
- removeMember: {
734
- title: "ลบสมาชิก",
735
- confirmationMessage: "คุณต้องการที่จะลบสมาชิก {memberName} จริงหรือไม่?",
736
- successMessage: "{memberName} ถูกลบออก"
737
- },
738
- addMember: {
739
- title: "เพิ่มสมาชิก",
740
- successMessage: "เพิ่ม {memberName} แล้ว"
741
- },
742
- updateMember: {
743
- title: "อัปเดตสมาชิก",
744
- successMessage: "อัปเดต {memberName} แล้ว"
745
- },
746
- search: {
747
- placeholder: "ค้นหาสมาชิกในทีม"
748
- },
749
- filter: {
750
- permission_placeholder: "กรองตามสิทธิ์อนุญาต",
751
- selected_permission_prefix: "สิทธิ์ที่เลือก: "
752
- },
753
- emptyState: {
754
- title: "ไม่พบสมาชิกในทีม",
755
- description: "คุณไม่มีสมาชิกในทีมที่จะแสดงในขณะนี้"
756
- },
757
- memberForm: {
758
- searchUser: {
759
- phoneNumber: "หมายเลขโทรศัพท์",
760
- email: "อีเมล",
761
- emailPlaceholder: "ป้อนอีเมล",
762
- search: "ค้นหาผู้ใช้",
763
- changeUser: "เปลี่ยนผู้ใช้",
764
- userNotFound: "ไม่พบผู้ใช้",
765
- emptyError: "กรุณาป้อนหมายเลขโทรศัพท์หรืออีเมล"
766
- },
767
- memberInfo: {
768
- memberName: "ชื่อสมาชิก",
769
- mobileNumber: "หมายเลขโทรศัพท์มือถือ",
770
- emailAddress: "ที่อยู่อีเมล"
771
- },
772
- permissions: {
773
- manageable: "จัดการได้ {context}",
774
- search: "ค้นหา {context}",
775
- general: "สิทธิ์ทั่วไป",
776
- stock: "สิทธิ์สต็อก",
777
- includedFuture: "รวม {context} ในอนาคต",
778
- includedNewRole: "รวมบทบาทใหม่ที่เพิ่มเข้ามา",
779
- roles: "บทบาทที่สามารถใช้ได้"
780
- },
781
- masterUser: {
782
- title: "ผู้ใช้หลัก",
783
- passcode: "รหัสผ่านผู้ใช้หลัก",
784
- passcodeRequired: "รหัสผ่านต้องเป็นตัวเลข 4 หลัก",
785
- sublabel: "ผู้ใช้หลักสามารถเข้าถึงระบบ POS ของร้านอาหารได้",
786
- code: "รหัส",
787
- name: "ชื่อ",
788
- role: "บทบาท",
789
- nameEmptyError: "กรุณาป้อนชื่อ"
790
- }
791
- }
792
- }, ae = {
793
- team: E
794
- }, re = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
795
- __proto__: null,
796
- default: ae,
797
- team: E
798
- }, Symbol.toStringTag, { value: "Module" })), P = {
799
- title: "团队成员",
800
- actions: {
801
- addMember: "添加成员",
802
- updateMember: "更新成员",
803
- removeMember: "移除成员"
804
- },
805
- table: {
806
- columns: {
807
- name: "用户名",
808
- phoneNumber: "联系方式",
809
- restaurant: "餐厅",
810
- permission: "权限"
811
- }
812
- },
813
- labels: {
814
- all: "全选",
815
- businessOwner: "商户负责人",
816
- permission: "权限",
817
- permissions: "权限",
818
- allowed: "已授予 { count } 项权限",
819
- restaurant: "餐厅",
820
- warehouse: "仓库"
821
- },
822
- removeMember: {
823
- title: "移除成员",
824
- confirmationMessage: "确定要移除 {memberName} 吗?",
825
- successMessage: "{memberName} 已移除。"
826
- },
827
- addMember: {
828
- title: "添加成员",
829
- successMessage: "{memberName} 已添加。"
830
- },
831
- updateMember: {
832
- title: "更新成员",
833
- successMessage: "{memberName} 已更新。"
834
- },
835
- search: {
836
- placeholder: "搜索团队成员"
837
- },
838
- filter: {
839
- permission_placeholder: "按权限筛选",
840
- selected_permission_prefix: "已选权限: "
841
- },
842
- emptyState: {
843
- title: "没有团队成员",
844
- description: "当前没有团队成员"
845
- },
846
- memberForm: {
847
- searchUser: {
848
- phoneNumber: "手机号码",
849
- email: "邮箱",
850
- emailPlaceholder: "输入邮箱",
851
- search: "搜索用户",
852
- changeUser: "更换用户",
853
- userNotFound: "用户未找到",
854
- emptyError: "请输入手机号码或邮箱"
855
- },
856
- memberInfo: {
857
- memberName: "成员名称",
858
- mobileNumber: "手机号码",
859
- emailAddress: "邮箱地址"
860
- },
861
- permissions: {
862
- manageable: "可管理{context}",
863
- search: "搜索{context}",
864
- general: "通用权限",
865
- stock: "库存权限",
866
- includedFuture: "包含未来{context}",
867
- includedNewRole: "包含新添加的角色",
868
- roles: "可用角色"
869
- },
870
- masterUser: {
871
- title: "主用户",
872
- passcode: "主用户密码",
873
- passcodeRequired: "密码必须为4位数字",
874
- sublabel: "主用户可以访问餐厅 POS 系统。",
875
- code: "工号",
876
- name: "姓名",
877
- role: "角色",
878
- nameEmptyError: "请输入姓名"
879
- }
880
- }
881
- }, oe = {
882
- team: P
883
- }, ne = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
884
- __proto__: null,
885
- default: oe,
886
- team: P
887
- }, Symbol.toStringTag, { value: "Module" })), U = {
888
- title: "團隊成員",
889
- actions: {
890
- addMember: "添加成員",
891
- updateMember: "更新成員",
892
- removeMember: "移除成員"
893
- },
894
- table: {
895
- columns: {
896
- name: "用户名",
897
- phoneNumber: "聯繫方式",
898
- restaurant: "餐廳",
899
- permission: "權限"
900
- }
901
- },
902
- labels: {
903
- all: "全選",
904
- businessOwner: "商户負責人",
905
- permission: "權限",
906
- permissions: "權限",
907
- allowed: "已授予 { count } 項權限",
908
- restaurant: "餐廳",
909
- warehouse: "倉庫"
910
- },
911
- removeMember: {
912
- title: "移除成員",
913
- confirmationMessage: "確定要移除 {memberName} 嗎?",
914
- successMessage: "{memberName} 已移除。"
915
- },
916
- addMember: {
917
- title: "添加成員",
918
- successMessage: "{memberName} 已添加。"
919
- },
920
- updateMember: {
921
- title: "更新成員",
922
- successMessage: "{memberName} 已更新。"
923
- },
924
- search: {
925
- placeholder: "搜索團隊成員"
926
- },
927
- filter: {
928
- permission_placeholder: "按權限篩選",
929
- selected_permission_prefix: "已選權限: "
930
- },
931
- emptyState: {
932
- title: "沒有團隊成員",
933
- description: "當前沒有團隊成員"
934
- },
935
- memberForm: {
936
- searchUser: {
937
- phoneNumber: "手機號碼",
938
- email: "郵箱",
939
- emailPlaceholder: "輸入郵箱",
940
- search: "搜索用户",
941
- changeUser: "更換用户",
942
- userNotFound: "用户未找到",
943
- emptyError: "請輸入手機號碼或郵箱"
944
- },
945
- memberInfo: {
946
- memberName: "成員名稱",
947
- mobileNumber: "手機號碼",
948
- emailAddress: "郵箱地址"
949
- },
950
- permissions: {
951
- manageable: "可管理{context}",
952
- search: "搜索{context}",
953
- general: "通用權限",
954
- stock: "庫存權限",
955
- includedFuture: "包含未來{context}",
956
- includedNewRole: "包含新添加的角色",
957
- roles: "可用角色"
958
- },
959
- masterUser: {
960
- title: "主用户",
961
- passcode: "主用户密碼",
962
- passcodeRequired: "密碼必須為4位數字",
963
- sublabel: "主用户可以訪問餐廳 POS 系統。",
964
- code: "工號",
965
- name: "姓名",
966
- role: "角色",
967
- nameEmptyError: "請輸入姓名"
968
- }
969
- }
970
- }, le = {
971
- team: U
972
- }, me = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
973
- __proto__: null,
974
- default: le,
975
- team: U
976
- }, Symbol.toStringTag, { value: "Module" })), ie = {
977
- "en-US": se,
978
- "zh-CN": ne,
979
- "th-TH": re,
980
- "zh-Hant": me
981
- };
982
- function ce(e, o) {
983
- const s = h({ top: 0, bottom: 0, left: 0, right: 0 });
984
- function a() {
985
- if (e.value) {
986
- const t = e.value.getBoundingClientRect();
987
- s.value = {
988
- top: t.top,
989
- bottom: t.bottom,
990
- left: t.left,
991
- right: t.right
992
- };
993
- }
994
- }
995
- return g(o, async () => {
996
- await f(), a();
997
- }), g(e, async (t) => {
998
- t && (await f(), a());
999
- }), _(() => {
1000
- window.addEventListener("resize", a);
1001
- }), k(() => {
1002
- window.removeEventListener("resize", a);
1003
- }), s;
1004
- }
1005
- const ue = /* @__PURE__ */ u({
1006
- __name: "FullWrapper",
1007
- setup(e) {
1008
- const o = V(), s = h(null), a = ce(s), t = v(() => {
1009
- var r;
1010
- const n = o.isAtMost("sm") ? 56 : 0;
1011
- return {
1012
- height: `calc(100dvh - ${((r = a.value) == null ? void 0 : r.top) + 24 + n}px)`
1013
- };
1014
- });
1015
- return (m, n) => (d(), T("div", {
1016
- ref_key: "wrapper",
1017
- ref: s,
1018
- style: I(t.value)
1019
- }, [
1020
- D(m.$slots, "default")
1021
- ], 4));
1022
- }
1023
- }), de = { class: "flex justify-center items-center h-full w-full" }, pe = /* @__PURE__ */ u({
1024
- __name: "PageLoading",
1025
- setup(e) {
1026
- return (o, s) => {
1027
- const a = b("FmCircularProgress");
1028
- return d(), M(ue, null, {
1029
- default: B(() => [
1030
- $("div", de, [
1031
- z(a, { size: "xl" })
1032
- ])
1033
- ]),
1034
- _: 1
1035
- });
1036
- };
1037
- }
1038
- }), c = (e) => q({
1039
- loader: e,
1040
- loadingComponent: pe
1041
- });
1042
- var l = /* @__PURE__ */ ((e) => (e.HOME = "home", e.EMPLOYEE = "employee", e.ROLE = "role", e.TIMESHEET = "timesheet", e.TEAM = "team", e))(l || {});
1043
- const y = (e) => ({
1044
- validationManifest: {
1045
- requiredCaslPermissions: [
1046
- {
1047
- action: p.Action.manage,
1048
- subject: e
1049
- }
1050
- ]
1051
- }
1052
- }), he = S(c(() => import("./main-DlJuqlgg.js"))), be = S(
1053
- c(() => import("./TeamMemberList-BBl8auxB.js"))
1054
- ), Me = c(() => import("./EmployeeList-BU6n0y6w.js")), ge = c(() => import("./RoleList-kE8O8wyy.js")), fe = c(() => import("./TimesheetList-QmuwWz31.js")), Oe = [
1055
- {
1056
- path: "/",
1057
- name: "home",
1058
- component: he,
1059
- meta: y(p.Subject.Business.permission),
1060
- redirect: {
1061
- name: "employee"
1062
- /* EMPLOYEE */
1063
- },
1064
- children: [
1065
- {
1066
- path: "employee",
1067
- name: "employee",
1068
- component: Me
1069
- },
1070
- {
1071
- path: "role",
1072
- name: "role",
1073
- component: ge
1074
- },
1075
- {
1076
- path: "timesheet",
1077
- name: "timesheet",
1078
- component: fe
1079
- }
1080
- ]
1081
- },
1082
- {
1083
- path: "/team",
1084
- name: "team",
1085
- component: be,
1086
- meta: y(p.Subject.Business.permission)
1087
- }
1088
- ], ye = /* @__PURE__ */ u({
1089
- __name: "Navigator",
1090
- emits: ["close-navigation"],
1091
- setup(e, { emit: o }) {
1092
- const s = o, { t: a } = j(), t = A(), m = v(() => {
1093
- const r = [];
1094
- return r.push({
1095
- label: a("hr.employee.title"),
1096
- value: "employee",
1097
- action: () => {
1098
- t.push({
1099
- name: l.EMPLOYEE,
1100
- query: t.currentRoute.value.query
1101
- }), s("close-navigation");
1102
- }
1103
- }), r.push({
1104
- label: a("team.title"),
1105
- value: "team-member",
1106
- action: () => {
1107
- t.push({
1108
- name: l.TEAM,
1109
- query: t.currentRoute.value.query
1110
- }), s("close-navigation");
1111
- }
1112
- }), r;
1113
- }), n = h();
1114
- return F(() => {
1115
- var i;
1116
- let r = (i = t.currentRoute.value) == null ? void 0 : i.name;
1117
- switch (r) {
1118
- case l.EMPLOYEE:
1119
- case l.ROLE:
1120
- case l.TIMESHEET:
1121
- r = "employee";
1122
- break;
1123
- case l.TEAM:
1124
- r = "team-member";
1125
- break;
1126
- default:
1127
- r = "employee";
1128
- }
1129
- n.value !== r && (n.value = r);
1130
- }), (r, i) => {
1131
- const x = b("FmCollapsibleTabs");
1132
- return d(), M(x, {
1133
- modelValue: n.value,
1134
- "onUpdate:modelValue": i[0] || (i[0] = (R) => n.value = R),
1135
- items: m.value,
1136
- class: "py-16"
1137
- }, null, 8, ["modelValue", "items"]);
1138
- };
1139
- }
1140
- }), we = /* @__PURE__ */ u({
1141
- __name: "App",
1142
- setup(e) {
1143
- const o = Y();
1144
- return _(() => {
1145
- o.registerSidebarComponent(ye);
1146
- }), (s, a) => {
1147
- const t = b("RouterView");
1148
- return d(), M(t);
1149
- };
1150
- }
1151
- }), Ce = () => {
1152
- const e = [ie, ee], o = new Set(e.flatMap((s) => Object.keys(s)));
1153
- return Array.from(o).reduce(
1154
- (s, a) => {
1155
- const t = a;
1156
- return s[a] = e.reduce((m, n) => ({
1157
- ...m,
1158
- ...n[t] || {}
1159
- }), {}), s;
1160
- },
1161
- {}
1162
- );
1163
- };
1164
- export {
1165
- l as R,
1166
- ue as _,
1167
- we as a,
1168
- Ce as i,
1169
- Oe as r
1170
- };