@pisell/private-materials 6.3.89 → 6.3.90

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 (94) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/index.js +1 -1
  5. package/build/lowcode/meta.js +1 -1
  6. package/build/lowcode/preview.js +7 -7
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +10 -10
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +10 -10
  11. package/es/components/appointmentBooking/components/TimeSlicing/components/SelectDateOS.d.ts +1 -0
  12. package/es/components/booking/info/date/index.d.ts +0 -1
  13. package/es/components/ecocup/components/CupInfoCard/index.d.ts +1 -0
  14. package/es/components/ecocup/components/CustomerCard/index.d.ts +1 -0
  15. package/es/components/eftposPay/windcave/windcave.d.ts +1 -0
  16. package/es/index.d.ts +1 -0
  17. package/es/index.js +1 -0
  18. package/es/plus/saasAttendance/index.d.ts +6 -0
  19. package/es/plus/saasAttendance/index.js +5 -0
  20. package/es/plus/saasAttendance/locales.d.ts +318 -0
  21. package/es/plus/saasAttendance/locales.js +354 -0
  22. package/es/plus/saasAttendance/settings/BasicInfoTab.d.ts +5 -0
  23. package/es/plus/saasAttendance/settings/BasicInfoTab.js +96 -0
  24. package/es/plus/saasAttendance/settings/ClockInMethodTab.d.ts +8 -0
  25. package/es/plus/saasAttendance/settings/ClockInMethodTab.js +81 -0
  26. package/es/plus/saasAttendance/settings/CorrectionPolicyTab.d.ts +8 -0
  27. package/es/plus/saasAttendance/settings/CorrectionPolicyTab.js +293 -0
  28. package/es/plus/saasAttendance/settings/ShiftScheduleTab.d.ts +5 -0
  29. package/es/plus/saasAttendance/settings/ShiftScheduleTab.js +109 -0
  30. package/es/plus/saasAttendance/settings/components/MapField.d.ts +78 -0
  31. package/es/plus/saasAttendance/settings/components/MapField.js +810 -0
  32. package/es/plus/saasAttendance/settings/components/index.d.ts +3 -0
  33. package/es/plus/saasAttendance/settings/components/index.js +2 -0
  34. package/es/plus/saasAttendance/settings/components/membersField/index.d.ts +7 -0
  35. package/es/plus/saasAttendance/settings/components/membersField/index.js +216 -0
  36. package/es/plus/saasAttendance/settings/components/membersField/index.less +70 -0
  37. package/es/plus/saasAttendance/settings/components/shiftModal/index.d.ts +18 -0
  38. package/es/plus/saasAttendance/settings/components/shiftModal/index.js +438 -0
  39. package/es/plus/saasAttendance/settings/index.d.ts +18 -0
  40. package/es/plus/saasAttendance/settings/index.js +255 -0
  41. package/es/plus/saasAttendance/settings/index.less +495 -0
  42. package/es/plus/saasAttendance/settings/serve.d.ts +27 -0
  43. package/es/plus/saasAttendance/settings/serve.js +83 -0
  44. package/es/plus/saasAttendance/settings/types.d.ts +128 -0
  45. package/es/plus/saasAttendance/settings/types.js +1 -0
  46. package/es/plus/selectHolder/locales.d.ts +6 -0
  47. package/es/plus/selectHolder/locales.js +6 -0
  48. package/es/plus/skuOptionsSelection/components/TitleExtra/index.d.ts +1 -0
  49. package/es/plus/skuOptionsSelection/components/VariantCard/index.d.ts +1 -0
  50. package/es/pro/Selector/demo.d.ts +1 -0
  51. package/lib/components/appointmentBooking/components/TimeSlicing/components/SelectDateOS.d.ts +1 -0
  52. package/lib/components/booking/info/date/index.d.ts +0 -1
  53. package/lib/components/ecocup/components/CupInfoCard/index.d.ts +1 -0
  54. package/lib/components/ecocup/components/CustomerCard/index.d.ts +1 -0
  55. package/lib/components/eftposPay/windcave/windcave.d.ts +1 -0
  56. package/lib/index.d.ts +1 -0
  57. package/lib/index.js +3 -0
  58. package/lib/plus/saasAttendance/index.d.ts +6 -0
  59. package/lib/plus/saasAttendance/index.js +39 -0
  60. package/lib/plus/saasAttendance/locales.d.ts +318 -0
  61. package/lib/plus/saasAttendance/locales.js +342 -0
  62. package/lib/plus/saasAttendance/settings/BasicInfoTab.d.ts +5 -0
  63. package/lib/plus/saasAttendance/settings/BasicInfoTab.js +152 -0
  64. package/lib/plus/saasAttendance/settings/ClockInMethodTab.d.ts +8 -0
  65. package/lib/plus/saasAttendance/settings/ClockInMethodTab.js +88 -0
  66. package/lib/plus/saasAttendance/settings/CorrectionPolicyTab.d.ts +8 -0
  67. package/lib/plus/saasAttendance/settings/CorrectionPolicyTab.js +369 -0
  68. package/lib/plus/saasAttendance/settings/ShiftScheduleTab.d.ts +5 -0
  69. package/lib/plus/saasAttendance/settings/ShiftScheduleTab.js +106 -0
  70. package/lib/plus/saasAttendance/settings/components/MapField.d.ts +78 -0
  71. package/lib/plus/saasAttendance/settings/components/MapField.js +631 -0
  72. package/lib/plus/saasAttendance/settings/components/index.d.ts +3 -0
  73. package/lib/plus/saasAttendance/settings/components/index.js +42 -0
  74. package/lib/plus/saasAttendance/settings/components/membersField/index.d.ts +7 -0
  75. package/lib/plus/saasAttendance/settings/components/membersField/index.js +247 -0
  76. package/lib/plus/saasAttendance/settings/components/membersField/index.less +70 -0
  77. package/lib/plus/saasAttendance/settings/components/shiftModal/index.d.ts +18 -0
  78. package/lib/plus/saasAttendance/settings/components/shiftModal/index.js +447 -0
  79. package/lib/plus/saasAttendance/settings/index.d.ts +18 -0
  80. package/lib/plus/saasAttendance/settings/index.js +283 -0
  81. package/lib/plus/saasAttendance/settings/index.less +495 -0
  82. package/lib/plus/saasAttendance/settings/serve.d.ts +27 -0
  83. package/lib/plus/saasAttendance/settings/serve.js +54 -0
  84. package/lib/plus/saasAttendance/settings/types.d.ts +128 -0
  85. package/lib/plus/saasAttendance/settings/types.js +17 -0
  86. package/lib/plus/selectHolder/locales.d.ts +6 -0
  87. package/lib/plus/selectHolder/locales.js +6 -0
  88. package/lib/plus/skuOptionsSelection/components/TitleExtra/index.d.ts +1 -0
  89. package/lib/plus/skuOptionsSelection/components/VariantCard/index.d.ts +1 -0
  90. package/lib/pro/Selector/demo.d.ts +1 -0
  91. package/lowcode/eco-cup-list/meta.ts +1 -1
  92. package/lowcode/eco-customer-list/meta.ts +1 -1
  93. package/lowcode/saas-attendance-settings/meta.ts +56 -0
  94. package/package.json +3 -3
@@ -0,0 +1,495 @@
1
+ .saas-attendance-group-settings {
2
+ width: 100%;
3
+ box-sizing: border-box;
4
+ display: flex;
5
+ flex-direction: column;
6
+ position: relative;
7
+
8
+ .pisell-lowcode-form-item {
9
+ margin-bottom: 16px;
10
+ }
11
+ }
12
+
13
+ .saas-attendance-group-settings__loading {
14
+ position: absolute;
15
+ inset: 0;
16
+ z-index: 100;
17
+ display: flex;
18
+ align-items: center;
19
+ justify-content: center;
20
+ background: rgba(255, 255, 255, 0.6);
21
+ }
22
+
23
+ .saas-attendance-group-settings__form {
24
+ flex: 1;
25
+ overflow: auto;
26
+ padding: 0 16px;
27
+ }
28
+
29
+ // Tabs wrapper - sticky positioning for scroll-to-section functionality
30
+ .saas-attendance-group-settings__tabs-wrapper {
31
+ position: sticky;
32
+ top: 0;
33
+ z-index: 10;
34
+ background: #fff;
35
+ border-bottom: 1px solid #e5e7eb;
36
+
37
+ // Hide tab content area since we render content outside
38
+ .pisell-lowcode-tabs-content-holder {
39
+ display: none;
40
+ }
41
+ }
42
+
43
+ .saas-attendance-group-settings__tab-label {
44
+ display: inline-flex;
45
+ align-items: center;
46
+ gap: 8px;
47
+ }
48
+
49
+ .saas-attendance-group-settings .pisell-lowcode-tabs-nav {
50
+ margin: 0;
51
+ padding: 0 16px;
52
+ }
53
+
54
+ .saas-attendance-group-settings .pisell-lowcode-tabs-tab {
55
+ padding: 14px 0;
56
+ }
57
+
58
+ .saas-attendance-group-settings .pisell-lowcode-tabs-content-holder {
59
+ padding: 0;
60
+ }
61
+
62
+ .saas-attendance-group-settings__panel {
63
+ &:not(:first-of-type) {
64
+ margin-top: 24px;
65
+ }
66
+ }
67
+
68
+ .saas-attendance-group-settings__section {
69
+ margin-top: 18px;
70
+ }
71
+
72
+ .saas-attendance-group-settings__section-head {
73
+ display: flex;
74
+ align-items: center;
75
+ justify-content: space-between;
76
+ gap: 12px;
77
+ }
78
+
79
+ .saas-attendance-group-settings__section-title {
80
+ font-weight: 500;
81
+ color: #374151;
82
+ }
83
+
84
+ .saas-attendance-group-settings__members-box {
85
+ display: flex;
86
+ align-items: center;
87
+ justify-content: space-between;
88
+ }
89
+
90
+ .saas-attendance-group-settings__members-count {
91
+ font-size: 13px;
92
+ color: #6b7280;
93
+ }
94
+
95
+ .saas-attendance-group-settings__link {
96
+ padding: 0;
97
+ height: auto;
98
+ }
99
+
100
+ .saas-attendance-group-settings__tip {
101
+ display: flex;
102
+ align-items: center;
103
+ gap: 8px;
104
+ font-size: 12px;
105
+ line-height: 18px;
106
+ color: #6b7280;
107
+ }
108
+
109
+ .saas-attendance-group-settings__help {
110
+ margin-top: 8px;
111
+ font-size: 12px;
112
+ line-height: 18px;
113
+ color: #6b7280;
114
+ }
115
+
116
+ .saas-attendance-group-settings__banner {
117
+ display: flex;
118
+ gap: 12px;
119
+ padding: 14px 16px;
120
+ border-radius: 10px;
121
+ border: 1px solid transparent;
122
+
123
+ .banner-icon {
124
+ height: 32px;
125
+ border-radius: 8px;
126
+ display: flex;
127
+ align-items: center;
128
+ justify-content: center;
129
+ flex: 0 0 auto;
130
+ }
131
+
132
+ .banner-title {
133
+ font-size: 16px;
134
+ line-height: 22px;
135
+ font-weight: 600;
136
+ color: #111827;
137
+ margin-bottom: 4px;
138
+ }
139
+
140
+ .banner-desc {
141
+ font-size: 14px;
142
+ line-height: 18px;
143
+ color: #4b5563;
144
+ }
145
+
146
+ &.banner-blue {
147
+ background: #eef5ff;
148
+ border-color: #dbeafe;
149
+
150
+ .banner-title {
151
+ color: #1e3a8a;
152
+ }
153
+
154
+ .banner-desc {
155
+ color: #1d4ed8;
156
+ }
157
+
158
+ svg {
159
+ color: #2563eb;
160
+ }
161
+ }
162
+
163
+ &.banner-green {
164
+ background: #ecfdf5;
165
+ border-color: #d1fae5;
166
+
167
+ .banner-title {
168
+ color: #14532d;
169
+ }
170
+
171
+ .banner-desc {
172
+ color: #15803d;
173
+ }
174
+
175
+ svg {
176
+ color: #16a34a;
177
+ }
178
+ }
179
+ }
180
+
181
+ .saas-attendance-group-settings__radio-cards {
182
+ display: flex;
183
+ flex-direction: column;
184
+ gap: 12px;
185
+ margin-top: 12px;
186
+
187
+ &:first-of-type {
188
+ margin-top: 0;
189
+ }
190
+ }
191
+
192
+ .saas-attendance-group-settings__radio-card {
193
+ display: flex;
194
+ align-items: center;
195
+ gap: 12px;
196
+ padding: 14px 16px;
197
+ border: 1px solid #e5e7eb;
198
+ border-radius: 10px;
199
+ background: #ffffff;
200
+ cursor: pointer;
201
+ transition: border-color 0.2s ease, background-color 0.2s ease;
202
+
203
+ &:hover {
204
+ border-color: var(--theme-color, #5d3f9f);
205
+ background: rgba(93, 63, 159, 0.04);
206
+ }
207
+ }
208
+
209
+ .saas-attendance-group-settings__radio-card--selected {
210
+ border-color: var(--theme-color, #5d3f9f);
211
+ background: rgba(93, 63, 159, 0.08);
212
+ }
213
+
214
+ .saas-attendance-group-settings__radio-title {
215
+ font-size: 14px;
216
+ line-height: 22px;
217
+ font-weight: 600;
218
+ color: #111827;
219
+ }
220
+
221
+ .saas-attendance-group-settings__radio-desc {
222
+ font-size: 12px;
223
+ line-height: 18px;
224
+ color: #6b7280;
225
+ }
226
+
227
+ .saas-attendance-group-settings__locations-box {
228
+ margin-top: 12px;
229
+ border: 1px dashed #d1d5db;
230
+ border-radius: 10px;
231
+ min-height: 220px;
232
+ display: flex;
233
+ align-items: center;
234
+ justify-content: center;
235
+ padding: 18px;
236
+ }
237
+
238
+ .saas-attendance-group-settings__locations-empty {
239
+ text-align: center;
240
+ color: #6b7280;
241
+ }
242
+
243
+ .saas-attendance-group-settings__locations-empty-icon {
244
+ font-size: 36px;
245
+ color: #9ca3af;
246
+ }
247
+
248
+ .saas-attendance-group-settings__locations-empty-title {
249
+ margin-top: 10px;
250
+ font-size: 14px;
251
+ line-height: 22px;
252
+ font-weight: 600;
253
+ color: #374151;
254
+ }
255
+
256
+ .saas-attendance-group-settings__locations-empty-desc {
257
+ margin-top: 2px;
258
+ font-size: 12px;
259
+ line-height: 18px;
260
+ color: #6b7280;
261
+ }
262
+
263
+ .saas-attendance-group-settings__locations-list {
264
+ width: 100%;
265
+ display: flex;
266
+ flex-direction: column;
267
+ gap: 10px;
268
+ }
269
+
270
+ .saas-attendance-group-settings__location-item {
271
+ padding: 12px 14px;
272
+ border: 1px solid #e5e7eb;
273
+ border-radius: 10px;
274
+ background: #ffffff;
275
+ transition: border-color 0.2s ease, background-color 0.2s ease;
276
+
277
+ &:hover {
278
+ border-color: var(--theme-color, #5d3f9f);
279
+ background: rgba(93, 63, 159, 0.04);
280
+ }
281
+ }
282
+
283
+ .saas-attendance-group-settings__location-item--active {
284
+ border-color: var(--theme-color, #5d3f9f);
285
+ background: rgba(93, 63, 159, 0.08);
286
+ }
287
+
288
+ .saas-attendance-group-settings__location-name {
289
+ font-size: 14px;
290
+ line-height: 22px;
291
+ font-weight: 600;
292
+ color: #111827;
293
+ }
294
+
295
+ .saas-attendance-group-settings__location-meta {
296
+ font-size: 12px;
297
+ line-height: 18px;
298
+ color: #6b7280;
299
+ }
300
+
301
+ .saas-attendance-group-settings__slider-row {
302
+ display: flex;
303
+ align-items: center;
304
+ gap: 14px;
305
+ margin-top: 10px;
306
+ }
307
+
308
+ .saas-attendance-group-settings__slider-row .pisell-lowcode-slider {
309
+ flex: 1 1 auto;
310
+ }
311
+
312
+ .saas-attendance-group-settings__slider-value {
313
+ flex: 0 0 auto;
314
+ padding: 8px 12px;
315
+ height: 32px;
316
+ border-radius: 10px;
317
+ display: flex;
318
+ align-items: center;
319
+ justify-content: center;
320
+ font-size: 13px;
321
+ color: #374151;
322
+ background: #f3f4f6;
323
+ }
324
+
325
+ .saas-attendance-group-settings__modal-grid {
326
+ display: grid;
327
+ grid-template-columns: 1fr 1fr;
328
+ gap: 12px;
329
+ }
330
+
331
+ .saas-attendance-group-settings__modal-slider-row {
332
+ display: flex;
333
+ align-items: center;
334
+ gap: 14px;
335
+ }
336
+
337
+ .saas-attendance-group-settings__modal-slider-row .pisell-lowcode-slider {
338
+ flex: 1 1 auto;
339
+ }
340
+
341
+ .saas-attendance-group-settings__map-placeholder {
342
+ border: 1px dashed #d1d5db;
343
+ border-radius: 10px;
344
+ height: 220px;
345
+ display: flex;
346
+ flex-direction: column;
347
+ align-items: center;
348
+ justify-content: center;
349
+ gap: 10px;
350
+ color: #6b7280;
351
+ }
352
+
353
+ .saas-attendance-group-settings__map-icon {
354
+ font-size: 42px;
355
+ color: #9ca3af;
356
+ }
357
+
358
+ .saas-attendance-group-settings__allow-corrections {
359
+ padding: 14px 16px;
360
+ border: 1px solid #e5e7eb;
361
+ border-radius: 10px;
362
+ background: #ffffff;
363
+ }
364
+
365
+ .saas-attendance-group-settings__allow-title {
366
+ font-size: 14px;
367
+ line-height: 22px;
368
+ font-weight: 600;
369
+ color: #111827;
370
+ }
371
+
372
+ .saas-attendance-group-settings__allow-desc {
373
+ margin-top: 2px;
374
+ font-size: 12px;
375
+ line-height: 18px;
376
+ color: #6b7280;
377
+ }
378
+
379
+ .saas-attendance-group-settings__check-cards {
380
+ display: grid;
381
+ grid-template-columns: 1fr 1fr;
382
+ gap: 12px;
383
+ }
384
+
385
+ .saas-attendance-group-settings__check-card {
386
+ display: flex;
387
+ gap: 12px;
388
+ align-items: center;
389
+ padding: 14px 16px;
390
+ border: 1px solid #e5e7eb;
391
+ border-radius: 10px;
392
+ background: #ffffff;
393
+ cursor: pointer;
394
+ transition: border-color 0.2s ease, background-color 0.2s ease;
395
+
396
+ &:hover {
397
+ border-color: var(--theme-color, #5d3f9f);
398
+ background: rgba(93, 63, 159, 0.04);
399
+ }
400
+ }
401
+
402
+ .saas-attendance-group-settings__check-card--checked {
403
+ border-color: var(--theme-color, #5d3f9f);
404
+ background: rgba(93, 63, 159, 0.08);
405
+ }
406
+
407
+ .saas-attendance-group-settings__check-content {
408
+ display: flex;
409
+ flex-direction: column;
410
+ gap: 4px;
411
+ }
412
+
413
+ .saas-attendance-group-settings__check-title {
414
+ font-size: 14px;
415
+ line-height: 22px;
416
+ font-weight: 600;
417
+ color: #111827;
418
+ }
419
+
420
+ .saas-attendance-group-settings__check-desc {
421
+ font-size: 12px;
422
+ line-height: 18px;
423
+ color: #6b7280;
424
+ }
425
+
426
+ .saas-attendance-group-settings__inline-input {
427
+ margin-top: 10px;
428
+ display: flex;
429
+ align-items: center;
430
+ gap: 10px;
431
+ flex-wrap: wrap;
432
+ }
433
+
434
+ .saas-attendance-group-settings__inline-text {
435
+ font-size: 13px;
436
+ line-height: 20px;
437
+ color: #374151;
438
+ }
439
+
440
+ .saas-attendance-group-settings__custom-period {
441
+ margin-top: 12px;
442
+ }
443
+
444
+ // Panel styles
445
+ .saas-attendance-group-settings__panel {
446
+ // padding: 16px 16px 0px 16px;
447
+ }
448
+
449
+ // MapField styles
450
+ .saas-attendance-map-field__map-container {
451
+ width: 100%;
452
+ height: 220px;
453
+ border-radius: 10px;
454
+ overflow: hidden;
455
+ margin-bottom: 12px;
456
+
457
+ capacitor-google-map {
458
+ display: block;
459
+ width: 100%;
460
+ height: 100%;
461
+ }
462
+ }
463
+
464
+ .saas-attendance-map-field__modal-map {
465
+ height: 220px;
466
+ overflow: hidden;
467
+
468
+ capacitor-google-map {
469
+ display: block;
470
+ width: 100%;
471
+ height: 100%;
472
+ }
473
+ }
474
+
475
+ .saas-attendance-map-field__locations {
476
+ display: flex;
477
+ flex-direction: column;
478
+ gap: 10px;
479
+ }
480
+
481
+ .saas-attendance-map-field__location-header {
482
+ display: flex;
483
+ align-items: center;
484
+ justify-content: space-between;
485
+ gap: 8px;
486
+ }
487
+
488
+ .saas-attendance-map-field__delete-btn {
489
+ color: #9ca3af;
490
+ transition: color 0.2s ease;
491
+
492
+ &:hover {
493
+ color: #ef4444;
494
+ }
495
+ }
@@ -0,0 +1,27 @@
1
+ import { TenantAccount } from './types';
2
+ /**
3
+ * 获取时区列表
4
+ * @param params
5
+ * @returns
6
+ */
7
+ export declare const getTimezoneList: (params: any) => Promise<any>;
8
+ /**
9
+ * 获取所有成员列表 (用于选择添加)
10
+ * GET: /tenant/account
11
+ */
12
+ export declare const getAllMembers: (params?: {
13
+ page?: number;
14
+ size?: number;
15
+ search?: string;
16
+ with?: string[];
17
+ }) => Promise<{
18
+ list: TenantAccount[];
19
+ }>;
20
+ /**
21
+ * 根据id列表获取团队成员列表
22
+ * @param params
23
+ * @returns
24
+ */
25
+ export declare const getGroupMembers: (params: {
26
+ ids: number[];
27
+ }) => Promise<any>;
@@ -0,0 +1,54 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/plus/saasAttendance/settings/serve.ts
20
+ var serve_exports = {};
21
+ __export(serve_exports, {
22
+ getAllMembers: () => getAllMembers,
23
+ getGroupMembers: () => getGroupMembers,
24
+ getTimezoneList: () => getTimezoneList
25
+ });
26
+ module.exports = __toCommonJS(serve_exports);
27
+ var import_utils = require("../../../utils");
28
+ var getTimezoneList = (params) => {
29
+ let req = import_utils.request.getRequest();
30
+ return req.get("/api/timezone:list", params, { isNocobase: true, headers: {
31
+ "x-data-source": "pisell2"
32
+ } });
33
+ };
34
+ var getAllMembers = async (params = {}) => {
35
+ const response = await import_utils.request.getRequest().get("/tenant/account", {
36
+ ...params
37
+ });
38
+ return response.data;
39
+ };
40
+ var getGroupMembers = async (params) => {
41
+ return {
42
+ data: params.ids.map((id) => ({
43
+ id,
44
+ name: `成员${id}`,
45
+ email: `member${id}@example.com`
46
+ }))
47
+ };
48
+ };
49
+ // Annotate the CommonJS export names for ESM import in node:
50
+ 0 && (module.exports = {
51
+ getAllMembers,
52
+ getGroupMembers,
53
+ getTimezoneList
54
+ });
@@ -0,0 +1,128 @@
1
+ /**
2
+ * 多语言名称
3
+ */
4
+ export interface MultiLangName {
5
+ en?: string;
6
+ 'zh-CN'?: string;
7
+ 'zh-HK'?: string;
8
+ original?: string;
9
+ }
10
+ /**
11
+ * 未排班时的打卡规则
12
+ * - anytime: 随时打卡
13
+ * - business_hours: 正常上下班(按照店铺营业时间打卡)
14
+ * - select_shift: 自选班次(员工需先选班次后打卡)
15
+ */
16
+ export declare type NoShiftPolicy = 'anytime' | 'business_hours' | 'select_shift';
17
+ /**
18
+ * 考勤规则
19
+ */
20
+ export interface AttendanceRule {
21
+ no_shift_policy: NoShiftPolicy;
22
+ }
23
+ /**
24
+ * 考勤地点
25
+ */
26
+ export interface AttendanceLocation {
27
+ id: string;
28
+ name: MultiLangName;
29
+ radius?: number;
30
+ address: {
31
+ lat: number;
32
+ lng: number;
33
+ };
34
+ }
35
+ /**
36
+ * 考勤地点配置
37
+ */
38
+ export interface AttendancePlace {
39
+ radius: number;
40
+ location: AttendanceLocation[];
41
+ }
42
+ /**
43
+ * 补卡类型
44
+ * - normal: 正常
45
+ * - late: 迟到
46
+ * - early_leave: 早退
47
+ * - missing: 缺卡
48
+ */
49
+ export declare type CorrectionType = 'normal' | 'late' | 'early_leave' | 'missing';
50
+ /**
51
+ * 补卡周期类型
52
+ * - natural_month: 自然月
53
+ * - custom: 自定义周期
54
+ */
55
+ export declare type FrequencyType = 'natural_month' | 'custom';
56
+ /**
57
+ * 补卡配置
58
+ */
59
+ export interface AttendanceCorrection {
60
+ allow: boolean;
61
+ types: CorrectionType[];
62
+ approver_ids: number[];
63
+ days_limit: number;
64
+ monthly_times: number;
65
+ period_type: FrequencyType;
66
+ period_custom: number | null;
67
+ }
68
+ /**
69
+ * 考勤组设置值 - 完整的API数据结构
70
+ */
71
+ export interface AttendanceGroupSettingsValue {
72
+ id?: number;
73
+ name: MultiLangName;
74
+ timezone: string;
75
+ rule: AttendanceRule;
76
+ place: AttendancePlace;
77
+ member_ids: number[];
78
+ correction: AttendanceCorrection;
79
+ creator_type?: string;
80
+ creator_id?: number;
81
+ editor_type?: string;
82
+ editor_id?: number;
83
+ created_at?: string;
84
+ updated_at?: string;
85
+ }
86
+ /**
87
+ * 基本信息Tab的值
88
+ */
89
+ export interface BasicInfoTabValue {
90
+ name: MultiLangName;
91
+ timezone: string;
92
+ member_ids: number[];
93
+ }
94
+ /**
95
+ * 排班规则Tab的值
96
+ */
97
+ export interface ShiftScheduleTabValue {
98
+ rule: AttendanceRule;
99
+ }
100
+ /**
101
+ * 打卡方式Tab的值
102
+ */
103
+ export interface ClockInMethodTabValue {
104
+ place: AttendancePlace;
105
+ }
106
+ /**
107
+ * 补卡规则Tab的值
108
+ */
109
+ export interface CorrectionPolicyTabValue {
110
+ correction: AttendanceCorrection;
111
+ }
112
+ export declare type AttendanceGroupSettingsSection = 'basic' | 'shift' | 'clock' | 'correction';
113
+ export interface TenantAccount {
114
+ account?: {
115
+ id: number;
116
+ email: string;
117
+ avatar: string;
118
+ };
119
+ account_id: number;
120
+ created_at: string;
121
+ id: number;
122
+ member_id: string;
123
+ nickname: string;
124
+ status: 'active' | 'inactive';
125
+ tenant_id: number;
126
+ type: 'founder' | 'staff';
127
+ updated_at: string;
128
+ }
@@ -0,0 +1,17 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
+
15
+ // src/plus/saasAttendance/settings/types.ts
16
+ var types_exports = {};
17
+ module.exports = __toCommonJS(types_exports);