@pisell/private-materials 3.4.76 → 3.4.78
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/build/lowcode/assets-daily.json +11 -11
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +11 -11
- package/build/lowcode/index.js +1 -1
- package/build/lowcode/meta.js +2 -2
- package/build/lowcode/preview.js +7 -7
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +9 -9
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +10 -10
- package/es/components/booking/addons/model.d.ts +1 -10
- package/es/components/booking/forms/model.d.ts +1 -10
- package/es/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +0 -1
- package/es/components/booking/info/hooks/useInfoHolder.d.ts +1 -0
- package/es/components/booking/info/model.d.ts +1 -10
- package/es/components/booking/info/service/addService/utils.d.ts +1 -1
- package/es/components/booking/info2/service/addService/utils.d.ts +1 -1
- package/es/components/booking/model.d.ts +1 -9
- package/es/components/booking/notes/model.d.ts +1 -10
- package/es/components/booking/payments/model.d.ts +1 -10
- package/es/components/booking/utils.d.ts +2 -2
- package/es/components/eftpos/hooks.d.ts +0 -1
- package/es/components/eftposPay/amount.d.ts +1 -1
- package/es/components/eftposPay/device.d.ts +1 -1
- package/es/components/eftposPay/hooks.d.ts +1 -1
- package/es/components/eftposPay/store/index.d.ts +2 -2
- package/es/components/eftposPay/tyro/hooks.d.ts +0 -1
- package/es/components/eventBooking/components/ErrorTip/index.d.ts +0 -1
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.d.ts +0 -1
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.d.ts +0 -1
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/DayItem/index.d.ts +0 -1
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.d.ts +0 -1
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +0 -1
- package/es/components/pay/toC/model.d.ts +1 -9
- package/es/components/schedules/model.d.ts +1 -9
- package/es/components/shoppingCart/components/Empty/index.d.ts +1 -0
- package/es/hooks/useTranslationOriginal.d.ts +1 -0
- package/es/hooks/useTranslationOriginal.js +10 -0
- package/es/index.d.ts +3 -0
- package/es/index.js +3 -0
- package/es/plus/clientCard/index.d.ts +7 -0
- package/es/plus/clientCard/index.js +462 -0
- package/es/plus/clientCard/index.less +515 -0
- package/es/plus/clientCard/line/index.d.ts +9 -0
- package/es/plus/clientCard/line/index.js +157 -0
- package/es/plus/clientCard/line/index.less +142 -0
- package/es/plus/clientCard/locales.d.ts +18 -0
- package/es/plus/clientCard/locales.js +17 -0
- package/es/plus/clientCard/types.d.ts +135 -0
- package/es/plus/clientCard/types.js +1 -0
- package/es/plus/clientCard/utils.d.ts +8 -0
- package/es/plus/clientCard/utils.js +59 -0
- package/es/plus/clinetSearch/Add/BirthdayField/index.d.ts +3 -0
- package/es/plus/clinetSearch/Add/BirthdayField/index.js +277 -0
- package/es/plus/clinetSearch/Add/GenderField/index.d.ts +3 -0
- package/es/plus/clinetSearch/Add/GenderField/index.js +18 -0
- package/es/plus/clinetSearch/Add/PhoneField/index.d.ts +3 -0
- package/es/plus/clinetSearch/Add/PhoneField/index.js +52 -0
- package/es/plus/clinetSearch/Add/PhoneField/serve.d.ts +2 -0
- package/es/plus/clinetSearch/Add/PhoneField/serve.js +166 -0
- package/es/plus/clinetSearch/Add/index.d.ts +18 -0
- package/es/plus/clinetSearch/Add/index.js +213 -0
- package/es/plus/clinetSearch/Add/index.less +30 -0
- package/es/plus/clinetSearch/InfiniteScroll/InfiniteScroll.d.ts +5 -0
- package/es/plus/clinetSearch/InfiniteScroll/InfiniteScroll.js +265 -0
- package/es/plus/clinetSearch/InfiniteScroll/index.d.ts +2 -0
- package/es/plus/clinetSearch/InfiniteScroll/index.js +1 -0
- package/es/plus/clinetSearch/InfiniteScroll/types.d.ts +46 -0
- package/es/plus/clinetSearch/InfiniteScroll/types.js +1 -0
- package/es/plus/clinetSearch/index.d.ts +18 -0
- package/es/plus/clinetSearch/index.js +234 -0
- package/es/plus/clinetSearch/index.less +95 -0
- package/es/plus/clinetSearch/locales.d.ts +108 -0
- package/es/plus/clinetSearch/locales.js +107 -0
- package/es/plus/clinetSearch/serve.d.ts +1 -0
- package/es/plus/clinetSearch/serve.js +31 -0
- package/es/plus/clinetSearch/types.d.ts +70 -0
- package/es/plus/clinetSearch/types.js +1 -0
- package/es/plus/saasAttendance/locales.d.ts +63 -0
- package/es/plus/saasAttendance/locales.js +71 -2
- package/es/plus/saasAttendance/settings/PermissonTab.d.ts +5 -0
- package/es/plus/saasAttendance/settings/PermissonTab.js +79 -0
- package/es/plus/saasAttendance/settings/ShiftScheduleTab.js +9 -3
- package/es/plus/saasAttendance/settings/components/MapField.js +69 -33
- package/es/plus/saasAttendance/settings/components/shiftModal/ShiftPreview.d.ts +7 -0
- package/es/plus/saasAttendance/settings/components/shiftModal/ShiftPreview.js +149 -0
- package/es/plus/saasAttendance/settings/components/shiftModal/ShiftPreview.less +119 -0
- package/es/plus/saasAttendance/settings/index.js +7 -0
- package/es/plus/saasAttendance/settings/index.less +15 -0
- package/es/plus/saasAttendance/settings/types.d.ts +6 -0
- package/es/plus/selectHolder/components/ErrorTip/index.d.ts +0 -1
- package/es/plus/walletPassGallery/components/passDetail/index.d.ts +2 -0
- package/es/plus/walletPassGallery/components/passDetail/index.js +104 -39
- package/es/plus/walletPassGallery/components/timelineSection/index.d.ts +2 -0
- package/es/plus/walletPassGallery/components/timelineSection/index.js +19 -2
- package/es/plus/walletPassGallery/index.d.ts +4 -0
- package/es/plus/walletPassGallery/index.js +121 -42
- package/es/plus/walletPassGallery/serve.d.ts +3 -1
- package/es/plus/walletPassGallery/serve.js +13 -13
- package/es/pro/pisellPhoneKeyboard/index.d.ts +13 -0
- package/es/pro/pisellPhoneKeyboard/index.js +210 -0
- package/es/pro/pisellPhoneKeyboard/index.less +157 -0
- package/es/pro/pisellPhoneKeyboard/locales.d.ts +12 -0
- package/es/pro/pisellPhoneKeyboard/locales.js +11 -0
- package/lib/components/booking/addons/model.d.ts +1 -10
- package/lib/components/booking/forms/model.d.ts +1 -10
- package/lib/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +0 -1
- package/lib/components/booking/info/hooks/useInfoHolder.d.ts +1 -0
- package/lib/components/booking/info/model.d.ts +1 -10
- package/lib/components/booking/info/service/addService/utils.d.ts +1 -1
- package/lib/components/booking/info2/service/addService/utils.d.ts +1 -1
- package/lib/components/booking/model.d.ts +1 -9
- package/lib/components/booking/notes/model.d.ts +1 -10
- package/lib/components/booking/payments/model.d.ts +1 -10
- package/lib/components/booking/utils.d.ts +2 -2
- package/lib/components/eftpos/hooks.d.ts +0 -1
- package/lib/components/eftposPay/amount.d.ts +1 -1
- package/lib/components/eftposPay/device.d.ts +1 -1
- package/lib/components/eftposPay/hooks.d.ts +1 -1
- package/lib/components/eftposPay/store/index.d.ts +2 -2
- package/lib/components/eftposPay/tyro/hooks.d.ts +0 -1
- package/lib/components/eventBooking/components/ErrorTip/index.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/DayItem/index.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.d.ts +0 -1
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +0 -1
- package/lib/components/pay/toC/model.d.ts +1 -9
- package/lib/components/schedules/model.d.ts +1 -9
- package/lib/components/shoppingCart/components/Empty/index.d.ts +1 -0
- package/lib/hooks/useTranslationOriginal.d.ts +1 -0
- package/lib/hooks/useTranslationOriginal.js +42 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +9 -0
- package/lib/plus/clientCard/index.d.ts +7 -0
- package/lib/plus/clientCard/index.js +457 -0
- package/lib/plus/clientCard/index.less +515 -0
- package/lib/plus/clientCard/line/index.d.ts +9 -0
- package/lib/plus/clientCard/line/index.js +153 -0
- package/lib/plus/clientCard/line/index.less +142 -0
- package/lib/plus/clientCard/locales.d.ts +18 -0
- package/lib/plus/clientCard/locales.js +41 -0
- package/lib/plus/clientCard/types.d.ts +135 -0
- package/lib/plus/clientCard/types.js +17 -0
- package/lib/plus/clientCard/utils.d.ts +8 -0
- package/lib/plus/clientCard/utils.js +75 -0
- package/lib/plus/clinetSearch/Add/BirthdayField/index.d.ts +3 -0
- package/lib/plus/clinetSearch/Add/BirthdayField/index.js +256 -0
- package/lib/plus/clinetSearch/Add/GenderField/index.d.ts +3 -0
- package/lib/plus/clinetSearch/Add/GenderField/index.js +52 -0
- package/lib/plus/clinetSearch/Add/PhoneField/index.d.ts +3 -0
- package/lib/plus/clinetSearch/Add/PhoneField/index.js +78 -0
- package/lib/plus/clinetSearch/Add/PhoneField/serve.d.ts +2 -0
- package/lib/plus/clinetSearch/Add/PhoneField/serve.js +193 -0
- package/lib/plus/clinetSearch/Add/index.d.ts +18 -0
- package/lib/plus/clinetSearch/Add/index.js +244 -0
- package/lib/plus/clinetSearch/Add/index.less +30 -0
- package/lib/plus/clinetSearch/InfiniteScroll/InfiniteScroll.d.ts +5 -0
- package/lib/plus/clinetSearch/InfiniteScroll/InfiniteScroll.js +235 -0
- package/lib/plus/clinetSearch/InfiniteScroll/index.d.ts +2 -0
- package/lib/plus/clinetSearch/InfiniteScroll/index.js +35 -0
- package/lib/plus/clinetSearch/InfiniteScroll/types.d.ts +46 -0
- package/lib/plus/clinetSearch/InfiniteScroll/types.js +17 -0
- package/lib/plus/clinetSearch/index.d.ts +18 -0
- package/lib/plus/clinetSearch/index.js +237 -0
- package/lib/plus/clinetSearch/index.less +95 -0
- package/lib/plus/clinetSearch/locales.d.ts +108 -0
- package/lib/plus/clinetSearch/locales.js +131 -0
- package/lib/plus/clinetSearch/serve.d.ts +1 -0
- package/lib/plus/clinetSearch/serve.js +33 -0
- package/lib/plus/clinetSearch/types.d.ts +70 -0
- package/lib/plus/clinetSearch/types.js +17 -0
- package/lib/plus/saasAttendance/locales.d.ts +63 -0
- package/lib/plus/saasAttendance/locales.js +65 -2
- package/lib/plus/saasAttendance/settings/PermissonTab.d.ts +5 -0
- package/lib/plus/saasAttendance/settings/PermissonTab.js +128 -0
- package/lib/plus/saasAttendance/settings/ShiftScheduleTab.js +2 -1
- package/lib/plus/saasAttendance/settings/components/MapField.js +50 -11
- package/lib/plus/saasAttendance/settings/components/shiftModal/ShiftPreview.d.ts +7 -0
- package/lib/plus/saasAttendance/settings/components/shiftModal/ShiftPreview.js +150 -0
- package/lib/plus/saasAttendance/settings/components/shiftModal/ShiftPreview.less +119 -0
- package/lib/plus/saasAttendance/settings/index.js +12 -0
- package/lib/plus/saasAttendance/settings/index.less +15 -0
- package/lib/plus/saasAttendance/settings/types.d.ts +6 -0
- package/lib/plus/selectHolder/components/ErrorTip/index.d.ts +0 -1
- package/lib/plus/walletPassGallery/components/passDetail/index.d.ts +2 -0
- package/lib/plus/walletPassGallery/components/passDetail/index.js +57 -5
- package/lib/plus/walletPassGallery/components/timelineSection/index.d.ts +2 -0
- package/lib/plus/walletPassGallery/components/timelineSection/index.js +17 -2
- package/lib/plus/walletPassGallery/index.d.ts +4 -0
- package/lib/plus/walletPassGallery/index.js +141 -42
- package/lib/plus/walletPassGallery/serve.d.ts +3 -1
- package/lib/plus/walletPassGallery/serve.js +2 -2
- package/lib/pro/pisellPhoneKeyboard/index.d.ts +13 -0
- package/lib/pro/pisellPhoneKeyboard/index.js +219 -0
- package/lib/pro/pisellPhoneKeyboard/index.less +157 -0
- package/lib/pro/pisellPhoneKeyboard/locales.d.ts +12 -0
- package/lib/pro/pisellPhoneKeyboard/locales.js +35 -0
- package/lowcode/client-card/fragments/cardStyle.ts +63 -0
- package/lowcode/client-card/fragments/nameStyle.ts +34 -0
- package/lowcode/client-card/fragments/pisellAvatar.ts +87 -0
- package/lowcode/client-card/fragments/tagConfig.ts +88 -0
- package/lowcode/client-card/meta.ts +343 -0
- package/lowcode/client-search/meta.ts +316 -0
- package/lowcode/eco-cup-list/meta.ts +1 -1
- package/lowcode/eco-customer-list/meta.ts +1 -1
- package/lowcode/wallet-pass-gallery/meta.ts +66 -1
- package/package.json +4 -4
|
@@ -25,6 +25,8 @@ export default {
|
|
|
25
25
|
'pisell2.attendance.group-settings.shift-schedule': 'Shift Schedule',
|
|
26
26
|
'pisell2.attendance.group-settings.clock-in-method': 'Clock-in Method',
|
|
27
27
|
'pisell2.attendance.group-settings.correction-policy': 'Correction Policy',
|
|
28
|
+
'pisell2.attendance.group-settings.data-permission': 'Data Permissions',
|
|
29
|
+
'pisell2.attendance.group-settings.data-permission.employee-data-view-range': 'Employee Data View Range',
|
|
28
30
|
'pisell2.attendance.group-settings.actions.search': 'Search',
|
|
29
31
|
'pisell2.attendance.group-settings.actions.cancel': 'Cancel',
|
|
30
32
|
'pisell2.attendance.group-settings.actions.confirm': 'Confirm',
|
|
@@ -32,6 +34,7 @@ export default {
|
|
|
32
34
|
'pisell2.attendance.group-settings.actions.save-settings': 'Save Settings',
|
|
33
35
|
'pisell2.attendance.group-settings.actions.add-location': 'Add Location',
|
|
34
36
|
'pisell2.attendance.group-settings.actions.add-location-confirm': 'Add Location',
|
|
37
|
+
'pisell2.attendance.group-settings.actions.edit-location-confirm': 'Save Changes',
|
|
35
38
|
'pisell2.attendance.group-settings.shift-schedule.fixed-shifts.title': 'Fixed-Based Attendance',
|
|
36
39
|
'pisell2.attendance.group-settings.shift-schedule.fixed-shifts.desc': 'Employees clock in/out according to fixed shifts',
|
|
37
40
|
'pisell2.attendance.group-settings.shift-schedule.scheduled-shifts.set-shifts': 'Set Shifts',
|
|
@@ -56,6 +59,19 @@ export default {
|
|
|
56
59
|
'pisell2.attendance.group-settings.shift-schedule.attendance-type.label': 'Attendance Type',
|
|
57
60
|
'pisell2.attendance.group-settings.shift-schedule.attendance-type.scheduled-shifts.title': 'Scheduled Shifts',
|
|
58
61
|
'pisell2.attendance.group-settings.shift-schedule.attendance-type.scheduled-shifts.desc': 'Employees clock in based on pre-assigned shifts',
|
|
62
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.working-days': 'Working Days',
|
|
63
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.days-per-week': 'days per week',
|
|
64
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.weekly-hours': 'Weekly Hours',
|
|
65
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.hours': 'hours',
|
|
66
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.table.day': 'Day',
|
|
67
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.table.shift-times': 'Shift Times',
|
|
68
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.table.duration': 'Duration',
|
|
69
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.no-shift': 'No shift scheduled',
|
|
70
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.duration': function pisell2AttendanceGroupSettingsShiftSchedulePreviewDuration(hours, minutes) {
|
|
71
|
+
return "".concat(hours, "h ").concat(minutes, "min");
|
|
72
|
+
},
|
|
73
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.period.am': 'AM',
|
|
74
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.period.pm': 'PM',
|
|
59
75
|
'pisell2.attendance.group-settings.clock-in-method.gps.title': 'GPS Location Verification',
|
|
60
76
|
'pisell2.attendance.group-settings.clock-in-method.gps.desc': 'Employees use Team APP for GPS-based clock-in. System verifies location within approved areas.',
|
|
61
77
|
'pisell2.attendance.group-settings.clock-in-method.approved-locations.label': function pisell2AttendanceGroupSettingsClockInMethodApprovedLocationsLabel(max) {
|
|
@@ -69,6 +85,7 @@ export default {
|
|
|
69
85
|
return "".concat(val, " meters");
|
|
70
86
|
},
|
|
71
87
|
'pisell2.attendance.group-settings.clock-in-method.add-location-modal.title': 'Add Location',
|
|
88
|
+
'pisell2.attendance.group-settings.clock-in-method.edit-location-modal.title': 'Edit Location',
|
|
72
89
|
'pisell2.attendance.group-settings.clock-in-method.add-location-modal.location-name.label': 'Location Name',
|
|
73
90
|
'pisell2.attendance.group-settings.clock-in-method.add-location-modal.location-name.placeholder': 'e.g., Main Office, Store A',
|
|
74
91
|
'pisell2.attendance.group-settings.clock-in-method.add-location-modal.location-name.validation': 'Please enter a location name',
|
|
@@ -80,6 +97,12 @@ export default {
|
|
|
80
97
|
'pisell2.attendance.group-settings.clock-in-method.add-location-modal.longitude.validation': 'Please enter a valid longitude',
|
|
81
98
|
'pisell2.attendance.group-settings.clock-in-method.add-location-modal.valid-range.label': 'Valid Range (meters)',
|
|
82
99
|
'pisell2.attendance.group-settings.clock-in-method.add-location-modal.tip.google-maps': 'Tip: Click on Google Maps to get coordinates',
|
|
100
|
+
'pisell2.attendance.group-settings.basic-info.permission.limited': 'Limited',
|
|
101
|
+
'pisell2.attendance.group-settings.basic-info.permission.unlimited': 'Unlimited',
|
|
102
|
+
'pisell2.attendance.group-settings.basic-info.permission.this-week': 'This Week',
|
|
103
|
+
'pisell2.attendance.group-settings.basic-info.permission.this-week.recommended': 'This Week (Recommended)',
|
|
104
|
+
'pisell2.attendance.group-settings.basic-info.permission.last-week': 'Last Week',
|
|
105
|
+
'pisell2.attendance.group-settings.basic-info.permission.this-month': 'This Month',
|
|
83
106
|
'pisell2.attendance.group-settings.correction-policy.allow-corrections.title': 'Allow Corrections',
|
|
84
107
|
'pisell2.attendance.group-settings.correction-policy.allow-corrections.desc': 'Employees can submit correction requests for approval',
|
|
85
108
|
'pisell2.attendance.group-settings.correction-policy.types.label': 'Correction Types',
|
|
@@ -142,6 +165,8 @@ export default {
|
|
|
142
165
|
'pisell2.attendance.group-settings.shift-schedule': '考勤班次',
|
|
143
166
|
'pisell2.attendance.group-settings.clock-in-method': '考勤方式',
|
|
144
167
|
'pisell2.attendance.group-settings.correction-policy': '补卡设置',
|
|
168
|
+
'pisell2.attendance.group-settings.data-permission': '数据权限',
|
|
169
|
+
'pisell2.attendance.group-settings.data-permission.employee-data-view-range': '员工数据查看范围',
|
|
145
170
|
'pisell2.attendance.group-settings.actions.search': '搜索',
|
|
146
171
|
'pisell2.attendance.group-settings.actions.cancel': '取消',
|
|
147
172
|
'pisell2.attendance.group-settings.actions.confirm': '确认',
|
|
@@ -149,6 +174,7 @@ export default {
|
|
|
149
174
|
'pisell2.attendance.group-settings.actions.save-settings': '保存设置',
|
|
150
175
|
'pisell2.attendance.group-settings.actions.add-location': '新增考勤地点',
|
|
151
176
|
'pisell2.attendance.group-settings.actions.add-location-confirm': '添加地点',
|
|
177
|
+
'pisell2.attendance.group-settings.actions.edit-location-confirm': '保存修改',
|
|
152
178
|
'pisell2.attendance.group-settings.shift-schedule.fixed-shifts.title': '固定班制考勤',
|
|
153
179
|
'pisell2.attendance.group-settings.shift-schedule.fixed-shifts.desc': '員工需按照预设的班次进行打卡。',
|
|
154
180
|
'pisell2.attendance.group-settings.shift-schedule.scheduled-shifts.set-shifts': '设置排班',
|
|
@@ -173,6 +199,19 @@ export default {
|
|
|
173
199
|
'pisell2.attendance.group-settings.shift-schedule.attendance-type.label': '考勤类型',
|
|
174
200
|
'pisell2.attendance.group-settings.shift-schedule.attendance-type.scheduled-shifts.title': '排班制',
|
|
175
201
|
'pisell2.attendance.group-settings.shift-schedule.attendance-type.scheduled-shifts.desc': '员工按照预设班次打卡',
|
|
202
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.working-days': '每周工作天数',
|
|
203
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.days-per-week': '天每周',
|
|
204
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.weekly-hours': '每周总工时',
|
|
205
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.hours': '小时',
|
|
206
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.table.day': '星期',
|
|
207
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.table.shift-times': '班次时间',
|
|
208
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.table.duration': '时长',
|
|
209
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.no-shift': '无班次',
|
|
210
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.duration': function pisell2AttendanceGroupSettingsShiftSchedulePreviewDuration(hours, minutes) {
|
|
211
|
+
return "".concat(hours, "\u5C0F\u65F6").concat(minutes, "\u5206\u949F");
|
|
212
|
+
},
|
|
213
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.period.am': '上午',
|
|
214
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.period.pm': '下午',
|
|
176
215
|
'pisell2.attendance.group-settings.clock-in-method.gps.title': 'GPS定位打卡',
|
|
177
216
|
'pisell2.attendance.group-settings.clock-in-method.gps.desc': '员工通过Team APP进行GPS定位打卡,系统验证是否在考勤范围内',
|
|
178
217
|
'pisell2.attendance.group-settings.clock-in-method.approved-locations.label': function pisell2AttendanceGroupSettingsClockInMethodApprovedLocationsLabel(max) {
|
|
@@ -186,6 +225,7 @@ export default {
|
|
|
186
225
|
return "".concat(val, " \u7C73");
|
|
187
226
|
},
|
|
188
227
|
'pisell2.attendance.group-settings.clock-in-method.add-location-modal.title': '新增考勤地点',
|
|
228
|
+
'pisell2.attendance.group-settings.clock-in-method.edit-location-modal.title': '编辑考勤地点',
|
|
189
229
|
'pisell2.attendance.group-settings.clock-in-method.add-location-modal.location-name.label': '地点名称',
|
|
190
230
|
'pisell2.attendance.group-settings.clock-in-method.add-location-modal.location-name.placeholder': '例如:总部大楼、门店A',
|
|
191
231
|
'pisell2.attendance.group-settings.clock-in-method.add-location-modal.location-name.validation': '请输入地点名称',
|
|
@@ -197,6 +237,12 @@ export default {
|
|
|
197
237
|
'pisell2.attendance.group-settings.clock-in-method.add-location-modal.longitude.validation': '请输入有效的经度',
|
|
198
238
|
'pisell2.attendance.group-settings.clock-in-method.add-location-modal.valid-range.label': '有效范围(米)',
|
|
199
239
|
'pisell2.attendance.group-settings.clock-in-method.add-location-modal.tip.google-maps': '提示:可以在Google Maps中点击位置获取经纬度坐标',
|
|
240
|
+
'pisell2.attendance.group-settings.basic-info.permission.limited': '限制',
|
|
241
|
+
'pisell2.attendance.group-settings.basic-info.permission.unlimited': '不限制',
|
|
242
|
+
'pisell2.attendance.group-settings.basic-info.permission.this-week': '本周',
|
|
243
|
+
'pisell2.attendance.group-settings.basic-info.permission.this-week.recommended': '本周(推荐)',
|
|
244
|
+
'pisell2.attendance.group-settings.basic-info.permission.last-week': '上周',
|
|
245
|
+
'pisell2.attendance.group-settings.basic-info.permission.this-month': '本月',
|
|
200
246
|
'pisell2.attendance.group-settings.correction-policy.allow-corrections.title': '允许补卡',
|
|
201
247
|
'pisell2.attendance.group-settings.correction-policy.allow-corrections.desc': '员工可以提交补卡申请,需要审批',
|
|
202
248
|
'pisell2.attendance.group-settings.correction-policy.types.label': '补卡类型',
|
|
@@ -208,7 +254,7 @@ export default {
|
|
|
208
254
|
'pisell2.attendance.group-settings.correction-policy.types.early-out.desc': '提前下班',
|
|
209
255
|
'pisell2.attendance.group-settings.correction-policy.types.normal.title': '正常',
|
|
210
256
|
'pisell2.attendance.group-settings.correction-policy.types.normal.desc': '正常打卡修正',
|
|
211
|
-
'pisell2.attendance.group-settings.correction-policy.approver.label': '
|
|
257
|
+
'pisell2.attendance.group-settings.correction-policy.approver.label': '审批人',
|
|
212
258
|
'pisell2.attendance.group-settings.correction-policy.approver.placeholder': '请选择审批人',
|
|
213
259
|
'pisell2.attendance.group-settings.correction-policy.approver.required': '请选择审批人',
|
|
214
260
|
'pisell2.attendance.group-settings.correction-policy.time-limit.label': '补卡时间限制',
|
|
@@ -259,6 +305,8 @@ export default {
|
|
|
259
305
|
'pisell2.attendance.group-settings.shift-schedule': '考勤班次',
|
|
260
306
|
'pisell2.attendance.group-settings.clock-in-method': '考勤方式',
|
|
261
307
|
'pisell2.attendance.group-settings.correction-policy': '補卡設定',
|
|
308
|
+
'pisell2.attendance.group-settings.data-permission': '數據權限',
|
|
309
|
+
'pisell2.attendance.group-settings.data-permission.employee-data-view-range': '員工數據查看範圍',
|
|
262
310
|
'pisell2.attendance.group-settings.actions.search': '搜索',
|
|
263
311
|
'pisell2.attendance.group-settings.actions.cancel': '取消',
|
|
264
312
|
'pisell2.attendance.group-settings.actions.confirm': '確認',
|
|
@@ -266,6 +314,7 @@ export default {
|
|
|
266
314
|
'pisell2.attendance.group-settings.actions.save-settings': '儲存設定',
|
|
267
315
|
'pisell2.attendance.group-settings.actions.add-location': '新增考勤地點',
|
|
268
316
|
'pisell2.attendance.group-settings.actions.add-location-confirm': '添加地點',
|
|
317
|
+
'pisell2.attendance.group-settings.actions.edit-location-confirm': '保存修改',
|
|
269
318
|
'pisell2.attendance.group-settings.shift-schedule.fixed-shifts.title': '固定班制考勤',
|
|
270
319
|
'pisell2.attendance.group-settings.shift-schedule.fixed-shifts.desc': '員工需按照預設的班次進行打卡。',
|
|
271
320
|
'pisell2.attendance.group-settings.shift-schedule.scheduled-shifts.set-shifts': '設置排班',
|
|
@@ -290,6 +339,19 @@ export default {
|
|
|
290
339
|
'pisell2.attendance.group-settings.shift-schedule.attendance-type.label': '考勤類型',
|
|
291
340
|
'pisell2.attendance.group-settings.shift-schedule.attendance-type.scheduled-shifts.title': '排班制',
|
|
292
341
|
'pisell2.attendance.group-settings.shift-schedule.attendance-type.scheduled-shifts.desc': '員工按照預設班次打卡',
|
|
342
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.working-days': '每週工作天數',
|
|
343
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.days-per-week': '天每週',
|
|
344
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.weekly-hours': '每週總工時',
|
|
345
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.hours': '小時',
|
|
346
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.table.day': '星期',
|
|
347
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.table.shift-times': '班次時間',
|
|
348
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.table.duration': '時長',
|
|
349
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.no-shift': '無班次',
|
|
350
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.duration': function pisell2AttendanceGroupSettingsShiftSchedulePreviewDuration(hours, minutes) {
|
|
351
|
+
return "".concat(hours, "\u5C0F\u6642").concat(minutes, "\u5206\u9418");
|
|
352
|
+
},
|
|
353
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.period.am': '上午',
|
|
354
|
+
'pisell2.attendance.group-settings.shift-schedule.preview.period.pm': '下午',
|
|
293
355
|
'pisell2.attendance.group-settings.clock-in-method.gps.title': 'GPS定位打卡',
|
|
294
356
|
'pisell2.attendance.group-settings.clock-in-method.gps.desc': '員工透過Team APP進行GPS定位打卡,系統驗證是否在考勤範圍內',
|
|
295
357
|
'pisell2.attendance.group-settings.clock-in-method.approved-locations.label': function pisell2AttendanceGroupSettingsClockInMethodApprovedLocationsLabel(max) {
|
|
@@ -303,6 +365,7 @@ export default {
|
|
|
303
365
|
return "".concat(val, " \u7C73");
|
|
304
366
|
},
|
|
305
367
|
'pisell2.attendance.group-settings.clock-in-method.add-location-modal.title': '新增考勤地點',
|
|
368
|
+
'pisell2.attendance.group-settings.clock-in-method.edit-location-modal.title': '編輯考勤地點',
|
|
306
369
|
'pisell2.attendance.group-settings.clock-in-method.add-location-modal.location-name.label': '地點名稱',
|
|
307
370
|
'pisell2.attendance.group-settings.clock-in-method.add-location-modal.location-name.placeholder': '例如:總部大樓、門店A',
|
|
308
371
|
'pisell2.attendance.group-settings.clock-in-method.add-location-modal.location-name.validation': '請輸入地點名稱',
|
|
@@ -314,6 +377,12 @@ export default {
|
|
|
314
377
|
'pisell2.attendance.group-settings.clock-in-method.add-location-modal.longitude.validation': '請輸入有效的經度',
|
|
315
378
|
'pisell2.attendance.group-settings.clock-in-method.add-location-modal.valid-range.label': '有效範圍(米)',
|
|
316
379
|
'pisell2.attendance.group-settings.clock-in-method.add-location-modal.tip.google-maps': '提示:可以在Google Maps中點擊位置獲取經緯度座標',
|
|
380
|
+
'pisell2.attendance.group-settings.basic-info.permission.limited': '限制',
|
|
381
|
+
'pisell2.attendance.group-settings.basic-info.permission.unlimited': '不限制',
|
|
382
|
+
'pisell2.attendance.group-settings.basic-info.permission.this-week': '本週',
|
|
383
|
+
'pisell2.attendance.group-settings.basic-info.permission.this-week.recommended': '本週(推薦)',
|
|
384
|
+
'pisell2.attendance.group-settings.basic-info.permission.last-week': '上週',
|
|
385
|
+
'pisell2.attendance.group-settings.basic-info.permission.this-month': '本月',
|
|
317
386
|
'pisell2.attendance.group-settings.correction-policy.allow-corrections.title': '允許補卡',
|
|
318
387
|
'pisell2.attendance.group-settings.correction-policy.allow-corrections.desc': '員工可以提交補卡申請,需要審批',
|
|
319
388
|
'pisell2.attendance.group-settings.correction-policy.types.label': '補卡類型',
|
|
@@ -325,7 +394,7 @@ export default {
|
|
|
325
394
|
'pisell2.attendance.group-settings.correction-policy.types.early-out.desc': '提前下班',
|
|
326
395
|
'pisell2.attendance.group-settings.correction-policy.types.normal.title': '正常',
|
|
327
396
|
'pisell2.attendance.group-settings.correction-policy.types.normal.desc': '正常打卡修正',
|
|
328
|
-
'pisell2.attendance.group-settings.correction-policy.approver.label': '
|
|
397
|
+
'pisell2.attendance.group-settings.correction-policy.approver.label': '審批人',
|
|
329
398
|
'pisell2.attendance.group-settings.correction-policy.approver.placeholder': '請選擇審批人',
|
|
330
399
|
'pisell2.attendance.group-settings.correction-policy.approver.required': '請選擇審批人',
|
|
331
400
|
'pisell2.attendance.group-settings.correction-policy.time-limit.label': '補卡時間限制',
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
import React, { useEffect } from 'react';
|
|
8
|
+
import { Form, Select, Radio } from 'antd';
|
|
9
|
+
import { locales } from '@pisell/utils';
|
|
10
|
+
var PermissionField = function PermissionField(props) {
|
|
11
|
+
var _props$value2;
|
|
12
|
+
useEffect(function () {
|
|
13
|
+
var _props$value;
|
|
14
|
+
if (typeof ((_props$value = props.value) === null || _props$value === void 0 ? void 0 : _props$value.member_data_view_range) === 'undefined') {
|
|
15
|
+
var _props$onChange;
|
|
16
|
+
(_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props, _objectSpread(_objectSpread({}, props.value || {}), {}, {
|
|
17
|
+
member_data_view_range: ['this_week']
|
|
18
|
+
}));
|
|
19
|
+
}
|
|
20
|
+
}, []);
|
|
21
|
+
var options = [{
|
|
22
|
+
label: locales.getText('pisell2.attendance.group-settings.basic-info.permission.this-week.recommended'),
|
|
23
|
+
value: 'this_week'
|
|
24
|
+
}, {
|
|
25
|
+
label: locales.getText('pisell2.attendance.group-settings.basic-info.permission.last-week'),
|
|
26
|
+
value: 'last_week'
|
|
27
|
+
}, {
|
|
28
|
+
label: locales.getText('pisell2.attendance.group-settings.basic-info.permission.this-month'),
|
|
29
|
+
value: 'this_month'
|
|
30
|
+
}];
|
|
31
|
+
var value = (_props$value2 = props.value) === null || _props$value2 === void 0 ? void 0 : _props$value2.member_data_view_range;
|
|
32
|
+
var isLimited = Array.isArray(value) && value.length > 0;
|
|
33
|
+
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Radio.Group, {
|
|
34
|
+
value: isLimited ? 'limited' : 'unlimited',
|
|
35
|
+
onChange: function onChange(e) {
|
|
36
|
+
var nextMode = e.target.value;
|
|
37
|
+
if (nextMode === 'limited') {
|
|
38
|
+
var _props$onChange2;
|
|
39
|
+
var next = Array.isArray(value) && value.length > 0 ? value : ['this_week'];
|
|
40
|
+
(_props$onChange2 = props.onChange) === null || _props$onChange2 === void 0 || _props$onChange2.call(props, _objectSpread(_objectSpread({}, props.value || {}), {}, {
|
|
41
|
+
member_data_view_range: next
|
|
42
|
+
}));
|
|
43
|
+
} else {
|
|
44
|
+
var _props$onChange3;
|
|
45
|
+
(_props$onChange3 = props.onChange) === null || _props$onChange3 === void 0 || _props$onChange3.call(props, _objectSpread(_objectSpread({}, props.value || {}), {}, {
|
|
46
|
+
member_data_view_range: []
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
style: {
|
|
51
|
+
marginBottom: 8
|
|
52
|
+
}
|
|
53
|
+
}, /*#__PURE__*/React.createElement(Radio, {
|
|
54
|
+
value: "limited"
|
|
55
|
+
}, locales.getText('pisell2.attendance.group-settings.basic-info.permission.limited')), /*#__PURE__*/React.createElement(Radio, {
|
|
56
|
+
value: "unlimited"
|
|
57
|
+
}, locales.getText('pisell2.attendance.group-settings.basic-info.permission.unlimited'))), isLimited && /*#__PURE__*/React.createElement(Select, {
|
|
58
|
+
mode: "multiple",
|
|
59
|
+
allowClear: true,
|
|
60
|
+
value: value,
|
|
61
|
+
options: options,
|
|
62
|
+
onChange: function onChange(next) {
|
|
63
|
+
var _props$onChange4;
|
|
64
|
+
(_props$onChange4 = props.onChange) === null || _props$onChange4 === void 0 || _props$onChange4.call(props, _objectSpread(_objectSpread({}, props.value || {}), {}, {
|
|
65
|
+
member_data_view_range: next.length > 0 ? next : []
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
}));
|
|
69
|
+
};
|
|
70
|
+
var PermissonTab = function PermissonTab(props) {
|
|
71
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
72
|
+
className: "saas-attendance-group-settings__panel",
|
|
73
|
+
id: props.id
|
|
74
|
+
}, /*#__PURE__*/React.createElement(Form.Item, {
|
|
75
|
+
label: locales.getText('pisell2.attendance.group-settings.data-permission.employee-data-view-range'),
|
|
76
|
+
name: "permission"
|
|
77
|
+
}, /*#__PURE__*/React.createElement(PermissionField, null)));
|
|
78
|
+
};
|
|
79
|
+
export default PermissonTab;
|
|
@@ -13,8 +13,7 @@ import { Button, Form, Radio } from 'antd';
|
|
|
13
13
|
import { Icon } from '@pisell/materials';
|
|
14
14
|
import { locales } from '@pisell/utils';
|
|
15
15
|
import ShiftModal from "./components/shiftModal";
|
|
16
|
-
|
|
17
|
-
// 注意时间,不要存在交叉的情况
|
|
16
|
+
import ShiftPreview from "./components/shiftModal/ShiftPreview";
|
|
18
17
|
var ScheduleSetting = function ScheduleSetting(props) {
|
|
19
18
|
var value = props.value,
|
|
20
19
|
onChange = props.onChange;
|
|
@@ -104,6 +103,13 @@ var ShiftScheduleTab = function ShiftScheduleTab(props) {
|
|
|
104
103
|
return validator;
|
|
105
104
|
}()
|
|
106
105
|
}]
|
|
107
|
-
}, /*#__PURE__*/React.createElement(ScheduleSetting, null))
|
|
106
|
+
}, /*#__PURE__*/React.createElement(ScheduleSetting, null)), /*#__PURE__*/React.createElement(Form.Item, {
|
|
107
|
+
noStyle: true,
|
|
108
|
+
shouldUpdate: true
|
|
109
|
+
}, function (form) {
|
|
110
|
+
return /*#__PURE__*/React.createElement(ShiftPreview, {
|
|
111
|
+
value: form.getFieldValue(['shift', 'fixed'])
|
|
112
|
+
});
|
|
113
|
+
}));
|
|
108
114
|
};
|
|
109
115
|
export default ShiftScheduleTab;
|
|
@@ -470,16 +470,20 @@ var MapField = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
470
470
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
471
471
|
editingLocationValue = _useState8[0],
|
|
472
472
|
setEditingLocationValue = _useState8[1];
|
|
473
|
+
var _useState9 = useState(null),
|
|
474
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
475
|
+
editingLocationId = _useState10[0],
|
|
476
|
+
setEditingLocationId = _useState10[1];
|
|
473
477
|
var locationFormMapRef = useRef(null);
|
|
474
478
|
var mapRef = useRef(null);
|
|
475
|
-
var
|
|
476
|
-
_useState10 = _slicedToArray(_useState9, 2),
|
|
477
|
-
isMapReady = _useState10[0],
|
|
478
|
-
setIsMapReady = _useState10[1];
|
|
479
|
-
var _useState11 = useState(null),
|
|
479
|
+
var _useState11 = useState(false),
|
|
480
480
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
481
|
-
|
|
482
|
-
|
|
481
|
+
isMapReady = _useState12[0],
|
|
482
|
+
setIsMapReady = _useState12[1];
|
|
483
|
+
var _useState13 = useState(null),
|
|
484
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
485
|
+
activeLocationId = _useState14[0],
|
|
486
|
+
setActiveLocationId = _useState14[1];
|
|
483
487
|
var context = useEngineContext();
|
|
484
488
|
useEffect(function () {
|
|
485
489
|
if (!onChange || !Array.isArray(value) || value.length === 0) return;
|
|
@@ -595,21 +599,19 @@ var MapField = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
595
599
|
validRangeMeters: defaultRadius
|
|
596
600
|
};
|
|
597
601
|
setAddLocationOpen(true);
|
|
602
|
+
setEditingLocationId(null);
|
|
598
603
|
setEditingLocationValue(baseFormValue);
|
|
599
|
-
|
|
600
|
-
// Request geolocation permission and get current position
|
|
601
|
-
_context4.next = 5;
|
|
604
|
+
_context4.next = 6;
|
|
602
605
|
return getCurrentPosition();
|
|
603
|
-
case
|
|
606
|
+
case 6:
|
|
604
607
|
currentPosition = _context4.sent;
|
|
605
608
|
if (currentPosition) {
|
|
606
|
-
// Pre-fill the form with current position
|
|
607
609
|
setEditingLocationValue(_objectSpread(_objectSpread({}, baseFormValue), {}, {
|
|
608
610
|
latitude: currentPosition.lat.toFixed(6),
|
|
609
611
|
longitude: currentPosition.lng.toFixed(6)
|
|
610
612
|
}));
|
|
611
613
|
}
|
|
612
|
-
case
|
|
614
|
+
case 8:
|
|
613
615
|
case "end":
|
|
614
616
|
return _context4.stop();
|
|
615
617
|
}
|
|
@@ -622,9 +624,9 @@ var MapField = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
622
624
|
}()
|
|
623
625
|
};
|
|
624
626
|
}, [defaultRadius]);
|
|
625
|
-
var
|
|
627
|
+
var handleSubmitLocation = /*#__PURE__*/function () {
|
|
626
628
|
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
|
|
627
|
-
var _values,
|
|
629
|
+
var _values, nextLocation, nextLocations, _nextLocations;
|
|
628
630
|
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
629
631
|
while (1) switch (_context5.prev = _context5.next) {
|
|
630
632
|
case 0:
|
|
@@ -639,37 +641,56 @@ var MapField = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
639
641
|
return locationFormMapRef.current.validate();
|
|
640
642
|
case 5:
|
|
641
643
|
_values = _context5.sent;
|
|
642
|
-
|
|
643
|
-
id: createLocationId(),
|
|
644
|
+
nextLocation = {
|
|
645
|
+
id: editingLocationId !== null && editingLocationId !== void 0 ? editingLocationId : createLocationId(),
|
|
644
646
|
name: toMultiLangName(_values.name),
|
|
645
647
|
radius: _values.validRangeMeters,
|
|
646
648
|
address: {
|
|
647
649
|
lat: parseFloat(_values.latitude) || 0,
|
|
648
650
|
lng: parseFloat(_values.longitude) || 0
|
|
649
651
|
}
|
|
650
|
-
};
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
652
|
+
};
|
|
653
|
+
if (editingLocationId) {
|
|
654
|
+
nextLocations = locations.map(function (loc) {
|
|
655
|
+
return loc.id === editingLocationId ? nextLocation : loc;
|
|
656
|
+
});
|
|
657
|
+
onChange === null || onChange === void 0 || onChange(nextLocations);
|
|
658
|
+
setActiveLocationId(editingLocationId);
|
|
659
|
+
} else {
|
|
660
|
+
_nextLocations = [nextLocation].concat(_toConsumableArray(locations));
|
|
661
|
+
onChange === null || onChange === void 0 || onChange(_nextLocations);
|
|
662
|
+
setActiveLocationId(nextLocation.id);
|
|
663
|
+
}
|
|
655
664
|
setAddLocationOpen(false);
|
|
656
665
|
setEditingLocationValue(null);
|
|
657
|
-
|
|
666
|
+
setEditingLocationId(null);
|
|
667
|
+
_context5.next = 16;
|
|
658
668
|
break;
|
|
659
|
-
case
|
|
660
|
-
_context5.prev =
|
|
669
|
+
case 13:
|
|
670
|
+
_context5.prev = 13;
|
|
661
671
|
_context5.t0 = _context5["catch"](2);
|
|
662
672
|
console.error('Validation failed:', _context5.t0);
|
|
663
|
-
case
|
|
673
|
+
case 16:
|
|
664
674
|
case "end":
|
|
665
675
|
return _context5.stop();
|
|
666
676
|
}
|
|
667
|
-
}, _callee5, null, [[2,
|
|
677
|
+
}, _callee5, null, [[2, 13]]);
|
|
668
678
|
}));
|
|
669
|
-
return function
|
|
679
|
+
return function handleSubmitLocation() {
|
|
670
680
|
return _ref.apply(this, arguments);
|
|
671
681
|
};
|
|
672
682
|
}();
|
|
683
|
+
var handleEditLocation = useCallback(function (location) {
|
|
684
|
+
var _location$address$lat, _location$address$lng, _location$radius;
|
|
685
|
+
setAddLocationOpen(true);
|
|
686
|
+
setEditingLocationId(location.id);
|
|
687
|
+
setEditingLocationValue({
|
|
688
|
+
name: toMultiLangName(location.name),
|
|
689
|
+
latitude: String((_location$address$lat = location.address.lat) !== null && _location$address$lat !== void 0 ? _location$address$lat : ''),
|
|
690
|
+
longitude: String((_location$address$lng = location.address.lng) !== null && _location$address$lng !== void 0 ? _location$address$lng : ''),
|
|
691
|
+
validRangeMeters: (_location$radius = location.radius) !== null && _location$radius !== void 0 ? _location$radius : defaultRadius
|
|
692
|
+
});
|
|
693
|
+
}, [defaultRadius]);
|
|
673
694
|
var handleRemoveLocation = function handleRemoveLocation(locationId) {
|
|
674
695
|
var nextLocations = locations.filter(function (loc) {
|
|
675
696
|
return loc.id !== locationId;
|
|
@@ -769,7 +790,21 @@ var MapField = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
769
790
|
className: "saas-attendance-map-field__location-header"
|
|
770
791
|
}, /*#__PURE__*/React.createElement("div", {
|
|
771
792
|
className: "saas-attendance-group-settings__location-name"
|
|
772
|
-
}, getLocationNameText(location.name)), /*#__PURE__*/React.createElement(
|
|
793
|
+
}, getLocationNameText(location.name)), /*#__PURE__*/React.createElement("div", {
|
|
794
|
+
className: "saas-attendance-map-field__location-actions"
|
|
795
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
796
|
+
type: "text",
|
|
797
|
+
size: "small",
|
|
798
|
+
icon: /*#__PURE__*/React.createElement(Icon, {
|
|
799
|
+
type: "pisell2-edit-05",
|
|
800
|
+
size: 16
|
|
801
|
+
}),
|
|
802
|
+
className: "saas-attendance-map-field__edit-btn",
|
|
803
|
+
onClick: function onClick(e) {
|
|
804
|
+
e.stopPropagation();
|
|
805
|
+
handleEditLocation(location);
|
|
806
|
+
}
|
|
807
|
+
}), /*#__PURE__*/React.createElement(Button, {
|
|
773
808
|
type: "text",
|
|
774
809
|
size: "small",
|
|
775
810
|
icon: /*#__PURE__*/React.createElement(Icon, {
|
|
@@ -781,7 +816,7 @@ var MapField = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
781
816
|
e.stopPropagation(); // Prevent triggering location item click
|
|
782
817
|
handleRemoveLocation(location.id);
|
|
783
818
|
}
|
|
784
|
-
})), /*#__PURE__*/React.createElement("div", {
|
|
819
|
+
}))), /*#__PURE__*/React.createElement("div", {
|
|
785
820
|
className: "saas-attendance-group-settings__location-meta"
|
|
786
821
|
}, locales.getText('pisell2.attendance.group-settings.clock-in-method.add-location-modal.valid-range.label'), ": ", /*#__PURE__*/React.createElement("span", null, location.radius || defaultRadius)));
|
|
787
822
|
})));
|
|
@@ -790,15 +825,16 @@ var MapField = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
790
825
|
className: "saas-attendance-group-settings__locations-box ".concat(className || '')
|
|
791
826
|
}, locations.length === 0 ? renderEmptyState() : renderLocationsList()), /*#__PURE__*/React.createElement(PisellModal, {
|
|
792
827
|
open: addLocationOpen,
|
|
793
|
-
title: locales.getText('pisell2.attendance.group-settings.clock-in-method.add-location-modal.title'),
|
|
828
|
+
title: locales.getText(editingLocationId ? 'pisell2.attendance.group-settings.clock-in-method.edit-location-modal.title' : 'pisell2.attendance.group-settings.clock-in-method.add-location-modal.title'),
|
|
794
829
|
destroyOnHidden: true,
|
|
795
830
|
onCancel: function onCancel() {
|
|
796
831
|
setAddLocationOpen(false);
|
|
797
832
|
setEditingLocationValue(null);
|
|
833
|
+
setEditingLocationId(null);
|
|
798
834
|
},
|
|
799
|
-
okText: locales.getText('pisell2.attendance.group-settings.actions.add-location-confirm'),
|
|
835
|
+
okText: locales.getText(editingLocationId ? 'pisell2.attendance.group-settings.actions.edit-location-confirm' : 'pisell2.attendance.group-settings.actions.add-location-confirm'),
|
|
800
836
|
cancelText: locales.getText('pisell2.attendance.group-settings.actions.cancel'),
|
|
801
|
-
onOk:
|
|
837
|
+
onOk: handleSubmitLocation
|
|
802
838
|
}, /*#__PURE__*/React.createElement(LocationFormMap, {
|
|
803
839
|
ref: locationFormMapRef,
|
|
804
840
|
value: editingLocationValue,
|