@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,283 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/plus/saasAttendance/settings/index.tsx
30
+ var settings_exports = {};
31
+ __export(settings_exports, {
32
+ default: () => settings_default,
33
+ settingsContext: () => settingsContext
34
+ });
35
+ module.exports = __toCommonJS(settings_exports);
36
+ var import_react = __toESM(require("react"));
37
+ var import_classnames = __toESM(require("classnames"));
38
+ var import_antd = require("antd");
39
+ var import_materials = require("@pisell/materials");
40
+ var import_utils = require("@pisell/utils");
41
+ var import_ahooks = require("ahooks");
42
+ var import_useEngineContext = __toESM(require("../../../hooks/useEngineContext"));
43
+ var import_utils2 = require("../../../utils");
44
+ var import_locales = __toESM(require("../locales"));
45
+ var import_BasicInfoTab = __toESM(require("./BasicInfoTab"));
46
+ var import_ShiftScheduleTab = __toESM(require("./ShiftScheduleTab"));
47
+ var import_ClockInMethodTab = __toESM(require("./ClockInMethodTab"));
48
+ var import_CorrectionPolicyTab = __toESM(require("./CorrectionPolicyTab"));
49
+ var import_serve = require("./serve");
50
+ var import_index = require("./index.less");
51
+ var TAB_CONFIGS = [
52
+ {
53
+ key: "basic",
54
+ icon: "pisell2-settings-02",
55
+ labelKey: "pisell2.attendance.group-settings.basic-info"
56
+ },
57
+ {
58
+ key: "shift",
59
+ icon: "pisell2-calendar",
60
+ labelKey: "pisell2.attendance.group-settings.shift-schedule"
61
+ },
62
+ {
63
+ key: "clock",
64
+ icon: "pisell2-marker-pin-01",
65
+ labelKey: "pisell2.attendance.group-settings.clock-in-method"
66
+ },
67
+ {
68
+ key: "correction",
69
+ icon: "pisell2-clock",
70
+ labelKey: "pisell2.attendance.group-settings.correction-policy"
71
+ }
72
+ ];
73
+ var generateSimpleUUID = () => {
74
+ return Math.random().toString(36).substring(2) + Date.now().toString(36);
75
+ };
76
+ var settingsContext = (0, import_react.createContext)({
77
+ members: []
78
+ });
79
+ var Settings = (0, import_react.forwardRef)((props, ref) => {
80
+ var _a, _b, _c, _d;
81
+ const { value, customScrollParent } = props;
82
+ const context = (0, import_useEngineContext.default)();
83
+ import_utils.locales.init(import_locales.default, ((_b = (_a = context == null ? void 0 : context.engine) == null ? void 0 : _a.props) == null ? void 0 : _b.locale) || "en");
84
+ if ((_d = (_c = context == null ? void 0 : context.appHelper) == null ? void 0 : _c.utils) == null ? void 0 : _d.request) {
85
+ import_utils2.request.setRequest(context.appHelper.utils.request);
86
+ }
87
+ const [form] = import_antd.Form.useForm();
88
+ const [activeKey, setActiveKey] = (0, import_react.useState)("basic");
89
+ const uniqueIdRef = (0, import_react.useRef)(generateSimpleUUID().substring(0, 8));
90
+ const _uniqueId = uniqueIdRef.current;
91
+ const isManualChangeRef = (0, import_react.useRef)(false);
92
+ (0, import_react.useEffect)(() => {
93
+ document.body.id = "body";
94
+ }, []);
95
+ const { data: membersResp } = (0, import_ahooks.useRequest)(import_serve.getAllMembers, {
96
+ defaultParams: [
97
+ {
98
+ page: 1,
99
+ size: 499,
100
+ with: ["account"]
101
+ }
102
+ ]
103
+ });
104
+ (0, import_react.useEffect)(() => {
105
+ if (!value) return;
106
+ const valueAny = value;
107
+ const rawMembers = valueAny == null ? void 0 : valueAny.members;
108
+ const memberIdsFromMembers = Array.isArray(rawMembers) ? Array.from(
109
+ new Set(
110
+ rawMembers.map((item) => item == null ? void 0 : item.tenant_account_id).filter((id) => typeof id === "number" && !Number.isNaN(id))
111
+ )
112
+ ) : [];
113
+ const existingMemberIds = Array.isArray(valueAny == null ? void 0 : valueAny.member_ids) ? valueAny.member_ids : [];
114
+ const resolvedMemberIds = existingMemberIds.length > 0 ? existingMemberIds : memberIdsFromMembers;
115
+ const { members, ...rest } = valueAny;
116
+ form.setFieldsValue({
117
+ ...rest,
118
+ member_ids: resolvedMemberIds
119
+ });
120
+ }, [value, form]);
121
+ const debounceIndicator = (0, import_react.useCallback)((delay) => {
122
+ isManualChangeRef.current = true;
123
+ const timeoutId = setTimeout(() => {
124
+ isManualChangeRef.current = false;
125
+ }, delay);
126
+ return () => clearTimeout(timeoutId);
127
+ }, []);
128
+ (0, import_react.useImperativeHandle)(ref, () => ({
129
+ ...form
130
+ }));
131
+ const switchTab = (0, import_react.useCallback)(
132
+ (key) => {
133
+ setActiveKey(key);
134
+ debounceIndicator(300);
135
+ let scrollParent = null;
136
+ const formContainer = document.getElementById(
137
+ `saas-attendance-group-settings-${_uniqueId}`
138
+ );
139
+ if (typeof customScrollParent === "string") {
140
+ scrollParent = document.querySelector(
141
+ customScrollParent
142
+ );
143
+ } else {
144
+ scrollParent = customScrollParent || formContainer;
145
+ }
146
+ if (!scrollParent || !formContainer) return;
147
+ const target = document.getElementById(
148
+ `saas-attendance-settings-section-${_uniqueId}-${key}`
149
+ );
150
+ if (!target) return;
151
+ const scrollParentRect = scrollParent.getBoundingClientRect();
152
+ const tabIndex = TAB_CONFIGS.findIndex((item) => item.key === key);
153
+ if (tabIndex === 0) {
154
+ scrollParent.scrollTop = 0;
155
+ } else {
156
+ const targetRect = target.getBoundingClientRect();
157
+ const scrollOffset = targetRect.top - scrollParentRect.top + scrollParent.scrollTop;
158
+ scrollParent.scrollTop = scrollOffset - 16;
159
+ }
160
+ },
161
+ [customScrollParent, debounceIndicator, _uniqueId]
162
+ );
163
+ (0, import_react.useEffect)(() => {
164
+ let scrollParent = null;
165
+ const formContainer = document.getElementById(
166
+ `saas-attendance-group-settings-${_uniqueId}`
167
+ );
168
+ if (typeof customScrollParent === "string") {
169
+ scrollParent = document.querySelector(customScrollParent);
170
+ } else {
171
+ scrollParent = customScrollParent || formContainer;
172
+ }
173
+ if (!scrollParent || !formContainer) return;
174
+ const handleScroll = () => {
175
+ if (isManualChangeRef.current) return;
176
+ const tabsWrapper = document.getElementById(
177
+ `saas-attendance-settings-${_uniqueId}_tabs`
178
+ );
179
+ const tabsHeight = (tabsWrapper == null ? void 0 : tabsWrapper.offsetHeight) || 0;
180
+ const scrollParentRect = scrollParent.getBoundingClientRect();
181
+ const checkPoint = scrollParentRect.top + tabsHeight + 20;
182
+ let currentKey = "basic";
183
+ for (const config of TAB_CONFIGS) {
184
+ const section = document.getElementById(
185
+ `saas-attendance-settings-section-${_uniqueId}-${config.key}`
186
+ );
187
+ if (section) {
188
+ const sectionRect = section.getBoundingClientRect();
189
+ if (sectionRect.top <= checkPoint) {
190
+ currentKey = config.key;
191
+ }
192
+ }
193
+ }
194
+ if (currentKey !== activeKey) {
195
+ setActiveKey(currentKey);
196
+ }
197
+ };
198
+ scrollParent.addEventListener("scroll", handleScroll);
199
+ return () => {
200
+ scrollParent == null ? void 0 : scrollParent.removeEventListener("scroll", handleScroll);
201
+ };
202
+ }, [customScrollParent, _uniqueId, activeKey]);
203
+ const tabItems = (0, import_react.useMemo)(
204
+ () => TAB_CONFIGS.map((config) => ({
205
+ key: config.key,
206
+ label: /* @__PURE__ */ import_react.default.createElement("span", { className: "saas-attendance-group-settings__tab-label" }, /* @__PURE__ */ import_react.default.createElement(import_materials.Icon, { type: config.icon, size: 20 }), import_utils.locales.getText(config.labelKey)),
207
+ children: null
208
+ // 不在 tab content 中渲染内容
209
+ })),
210
+ []
211
+ );
212
+ return /* @__PURE__ */ import_react.default.createElement(settingsContext.Provider, { value: { members: (membersResp == null ? void 0 : membersResp.list) || [] } }, /* @__PURE__ */ import_react.default.createElement(
213
+ "div",
214
+ {
215
+ className: (0, import_classnames.default)(
216
+ "saas-attendance-group-settings",
217
+ props.className
218
+ ),
219
+ style: props.style
220
+ },
221
+ props.loading ? /* @__PURE__ */ import_react.default.createElement("div", { className: "saas-attendance-group-settings__loading" }, /* @__PURE__ */ import_react.default.createElement(import_antd.Spin, null)) : null,
222
+ /* @__PURE__ */ import_react.default.createElement(
223
+ "div",
224
+ {
225
+ className: "saas-attendance-group-settings__tabs-wrapper",
226
+ id: `saas-attendance-settings-${_uniqueId}_tabs`
227
+ },
228
+ /* @__PURE__ */ import_react.default.createElement(
229
+ import_antd.Tabs,
230
+ {
231
+ activeKey,
232
+ items: tabItems,
233
+ onChange: switchTab,
234
+ renderTabBar: (tabBarProps, DefaultTabBar) => /* @__PURE__ */ import_react.default.createElement(DefaultTabBar, { ...tabBarProps })
235
+ }
236
+ )
237
+ ),
238
+ /* @__PURE__ */ import_react.default.createElement(
239
+ import_antd.Form,
240
+ {
241
+ id: `saas-attendance-group-settings-${_uniqueId}`,
242
+ className: "saas-attendance-group-settings__form",
243
+ form,
244
+ layout: "vertical",
245
+ size: "large",
246
+ onValuesChange: props.onValuesChange,
247
+ onFinish: props.onFinish,
248
+ scrollToFirstError: true
249
+ },
250
+ /* @__PURE__ */ import_react.default.createElement(
251
+ import_BasicInfoTab.default,
252
+ {
253
+ id: `saas-attendance-settings-section-${_uniqueId}-basic`
254
+ }
255
+ ),
256
+ /* @__PURE__ */ import_react.default.createElement(
257
+ import_ShiftScheduleTab.default,
258
+ {
259
+ id: `saas-attendance-settings-section-${_uniqueId}-shift`
260
+ }
261
+ ),
262
+ /* @__PURE__ */ import_react.default.createElement(
263
+ import_ClockInMethodTab.default,
264
+ {
265
+ form,
266
+ id: `saas-attendance-settings-section-${_uniqueId}-clock`
267
+ }
268
+ ),
269
+ /* @__PURE__ */ import_react.default.createElement(
270
+ import_CorrectionPolicyTab.default,
271
+ {
272
+ form,
273
+ id: `saas-attendance-settings-section-${_uniqueId}-correction`
274
+ }
275
+ )
276
+ )
277
+ ));
278
+ });
279
+ var settings_default = Settings;
280
+ // Annotate the CommonJS export names for ESM import in node:
281
+ 0 && (module.exports = {
282
+ settingsContext
283
+ });