@pisell/private-materials 3.2.13 → 3.2.14

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 (43) 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 +8 -8
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +4 -4
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +4 -4
  11. package/es/components/booking/components/footer/utils.js +1 -3
  12. package/es/components/booking/forms/footer.d.ts +7 -0
  13. package/es/components/booking/forms/footer.js +88 -0
  14. package/es/components/booking/forms/index.d.ts +1 -1
  15. package/es/components/booking/forms/index.js +25 -20
  16. package/es/components/booking/forms/index.less +7 -0
  17. package/es/components/booking/forms/sendModal/index.d.ts +27 -0
  18. package/es/components/booking/forms/sendModal/index.js +82 -0
  19. package/es/components/booking/forms/sendModal/index.less +9 -0
  20. package/es/components/booking/forms/sendModal/useSendModal.d.ts +9 -0
  21. package/es/components/booking/forms/sendModal/useSendModal.js +79 -0
  22. package/es/components/booking/forms/serve.d.ts +9 -0
  23. package/es/components/booking/forms/serve.js +20 -0
  24. package/es/components/booking/locales.d.ts +36 -0
  25. package/es/components/booking/locales.js +39 -3
  26. package/es/components/pisellSelectCustomerModal/RightPanel/Add/PhoneField/index.js +4 -1
  27. package/lib/components/booking/components/footer/utils.js +1 -3
  28. package/lib/components/booking/forms/footer.d.ts +7 -0
  29. package/lib/components/booking/forms/footer.js +81 -0
  30. package/lib/components/booking/forms/index.d.ts +1 -1
  31. package/lib/components/booking/forms/index.js +4 -2
  32. package/lib/components/booking/forms/index.less +7 -0
  33. package/lib/components/booking/forms/sendModal/index.d.ts +27 -0
  34. package/lib/components/booking/forms/sendModal/index.js +128 -0
  35. package/lib/components/booking/forms/sendModal/index.less +9 -0
  36. package/lib/components/booking/forms/sendModal/useSendModal.d.ts +9 -0
  37. package/lib/components/booking/forms/sendModal/useSendModal.js +70 -0
  38. package/lib/components/booking/forms/serve.d.ts +9 -0
  39. package/lib/components/booking/forms/serve.js +5 -2
  40. package/lib/components/booking/locales.d.ts +36 -0
  41. package/lib/components/booking/locales.js +39 -3
  42. package/lib/components/pisellSelectCustomerModal/RightPanel/Add/PhoneField/index.js +4 -1
  43. package/package.json +2 -2
@@ -277,7 +277,19 @@ export default {
277
277
  'pisell2.text.change.pet.confirm': 'Keep (Add to open items)',
278
278
  'pisell2.text.change.pet.cancel': 'Discard (Clear items)',
279
279
  'pisell2.text.booking-list': "List",
280
- 'pisell2.text.edit-booking': "Edit"
280
+ 'pisell2.text.edit-booking': "Edit",
281
+ 'pisell2.text.email-error-message': 'Email format error',
282
+ 'pisell2.text.phone-required-error-message': 'Please enter a phone number',
283
+ 'pisell2.text.email-required-error-message': 'Please enter an email address',
284
+ 'pisell2.text.send-form-reminder': 'Send Form Reminder',
285
+ 'pisell2.text.send-sms-reminder': 'Send SMS Reminder',
286
+ 'pisell2.text.send-email-reminder': 'Send Email Reminder',
287
+ 'pisell2.text.send-form-ok': 'Send',
288
+ 'pisell2.text.send-form-toast': 'Form reminder sent',
289
+ 'pisell2.text.send-form-reminder-completed': 'Requested Forms Completed',
290
+ 'pisell2.text.send-form-reminder-tooltip': 'Refresh forms',
291
+ 'pisell2.text.send-form-reminder-refresh': 'Forms refreshed successfully',
292
+ 'pisell2.text.send-form-reminder-error-message': 'Please select at least one reminder method'
281
293
  },
282
294
  'zh-CN': {
283
295
  'pisell2.text.refunded-amount': '已退金额',
@@ -561,7 +573,19 @@ export default {
561
573
  'pisell2.text.change.pet.confirm': '保留(添加到未分配中)',
562
574
  'pisell2.text.change.pet.cancel': '不保留(清空商品)',
563
575
  'pisell2.text.booking-list': "列表",
564
- 'pisell2.text.edit-booking': "编辑"
576
+ 'pisell2.text.edit-booking': "编辑",
577
+ 'pisell2.text.email-error-message': '电子邮件格式错误',
578
+ 'pisell2.text.phone-required-error-message': '请输入手机号码',
579
+ 'pisell2.text.email-required-error-message': '请输入邮箱地址',
580
+ 'pisell2.text.send-form-reminder': '发送表单提醒',
581
+ 'pisell2.text.send-sms-reminder': '发送短信提醒',
582
+ 'pisell2.text.send-email-reminder': '发送邮件提醒',
583
+ 'pisell2.text.send-form-ok': '发送',
584
+ 'pisell2.text.send-form-toast': '表单提醒已发送',
585
+ 'pisell2.text.send-form-reminder-completed': '已完成所需表单',
586
+ 'pisell2.text.send-form-reminder-tooltip': '刷新表单',
587
+ 'pisell2.text.send-form-reminder-refresh': '已刷新表单',
588
+ 'pisell2.text.send-form-reminder-error-message': '请至少选择一种提醒方式'
565
589
  },
566
590
  'zh-HK': {
567
591
  'pisell2.text.refunded-amount': '已退金額',
@@ -845,6 +869,18 @@ export default {
845
869
  'pisell2.text.change.pet.confirm': '保留(添加到未分配中)',
846
870
  'pisell2.text.change.pet.cancel': '不保留(清空商品)',
847
871
  'pisell2.text.booking-list': "列表",
848
- 'pisell2.text.edit-booking': "編輯"
872
+ 'pisell2.text.edit-booking': "編輯",
873
+ 'pisell2.text.email-error-message': '電子郵件格式錯誤',
874
+ 'pisell2.text.phone-required-error-message': '請輸入手機號碼',
875
+ 'pisell2.text.email-required-error-message': '請輸入電子郵件地址',
876
+ 'pisell2.text.send-form-reminder': '發送表單提醒',
877
+ 'pisell2.text.send-sms-reminder': '發送短信提醒',
878
+ 'pisell2.text.send-email-reminder': '發送郵件提醒',
879
+ 'pisell2.text.send-form-ok': '發送',
880
+ 'pisell2.text.send-form-toast': '表單提醒已發送',
881
+ 'pisell2.text.send-form-reminder-completed': '已完成所需表單',
882
+ 'pisell2.text.send-form-reminder-tooltip': '刷新表單',
883
+ 'pisell2.text.send-form-reminder-refresh': '已刷新表單',
884
+ 'pisell2.text.send-form-reminder-error-message': '請至少選擇一種提醒方式'
849
885
  }
850
886
  };
@@ -8,6 +8,8 @@ import React, { useEffect } from 'react';
8
8
  import { Select, Space, Input } from 'antd';
9
9
  import { useRequest } from 'ahooks';
10
10
  import { getCountries } from "./serve";
11
+ import { request } from "../../../../../utils";
12
+ import useEngineContext from "../../../../../hooks/useEngineContext";
11
13
  var defaultValue = {
12
14
  code: '+61',
13
15
  phone: ''
@@ -15,10 +17,11 @@ var defaultValue = {
15
17
  var PhoneField = function PhoneField(_ref) {
16
18
  var value = _ref.value,
17
19
  onChange = _ref.onChange;
20
+ var context = useEngineContext();
21
+ request.setRequest(context.appHelper.utils.request);
18
22
  var codes = useRequest(getCountries, {
19
23
  manual: true
20
24
  });
21
- console.log('codes', codes.data);
22
25
  useEffect(function () {
23
26
  codes.run();
24
27
  }, []);
@@ -248,9 +248,7 @@ var formatBookings = (data, values) => {
248
248
  return (_a = d._extend) == null ? void 0 : _a.holder_id;
249
249
  });
250
250
  }
251
- let dayParams = {
252
- relation_products: []
253
- };
251
+ let dayParams = {};
254
252
  const eventOtherParams = data.eventOtherParams;
255
253
  let bookings = [];
256
254
  bookings = list.map((item) => {
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ interface FooterProps {
3
+ state: any;
4
+ reload: () => void;
5
+ }
6
+ declare const Footer: ({ state, reload }: FooterProps) => JSX.Element | null;
7
+ export default Footer;
@@ -0,0 +1,81 @@
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/components/booking/forms/footer.tsx
30
+ var footer_exports = {};
31
+ __export(footer_exports, {
32
+ default: () => footer_default
33
+ });
34
+ module.exports = __toCommonJS(footer_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_materials = require("@pisell/materials");
37
+ var import_icons = require("@ant-design/icons");
38
+ var import_useSendModal = __toESM(require("./sendModal/useSendModal"));
39
+ var import_sendModal = __toESM(require("./sendModal"));
40
+ var import_utils = require("@pisell/utils");
41
+ var Footer = ({ state, reload }) => {
42
+ var _a, _b, _c, _d, _e;
43
+ const { open, setOpen, handleOpen, handleValuesChange, handleOk } = (0, import_useSendModal.default)(state == null ? void 0 : state.bookingId);
44
+ const handleReload = async () => {
45
+ await reload();
46
+ import_materials.message.success(import_utils.locales.getText("pisell2.text.send-form-reminder-refresh"));
47
+ };
48
+ const isAllCompleted = (0, import_react.useMemo)(() => {
49
+ var _a2;
50
+ return Object.values(((_a2 = state == null ? void 0 : state.form) == null ? void 0 : _a2.value) || {}).every(
51
+ (item) => item.length > 0
52
+ );
53
+ }, [(_a = state == null ? void 0 : state.form) == null ? void 0 : _a.value]);
54
+ const defaultValues = (0, import_react.useMemo)(() => {
55
+ var _a2, _b2, _c2, _d2, _e2, _f, _g, _h, _i, _j;
56
+ return {
57
+ sendSms: !!((_b2 = (_a2 = state.client) == null ? void 0 : _a2.value) == null ? void 0 : _b2.phone),
58
+ sendEmail: !!((_d2 = (_c2 = state.client) == null ? void 0 : _c2.value) == null ? void 0 : _d2.email),
59
+ email: (_f = (_e2 = state.client) == null ? void 0 : _e2.value) == null ? void 0 : _f.email,
60
+ phone: {
61
+ code: (_h = (_g = state.client) == null ? void 0 : _g.value) == null ? void 0 : _h.country_calling_code,
62
+ phone: (_j = (_i = state.client) == null ? void 0 : _i.value) == null ? void 0 : _j.phone
63
+ }
64
+ };
65
+ }, [(_b = state.client) == null ? void 0 : _b.value]);
66
+ if (!state.bookingId || !((_c = state == null ? void 0 : state.form) == null ? void 0 : _c.forms.length)) {
67
+ return null;
68
+ }
69
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode__booking-form-footer" }, /* @__PURE__ */ import_react.default.createElement(import_materials.Tooltip, { title: import_utils.locales.getText("pisell2.text.send-form-reminder-tooltip") }, /* @__PURE__ */ import_react.default.createElement(import_materials.Button, { size: "large", icon: /* @__PURE__ */ import_react.default.createElement(import_icons.ReloadOutlined, null), onClick: handleReload })), /* @__PURE__ */ import_react.default.createElement(import_materials.Button, { size: "large", block: true, type: "primary", onClick: handleOpen, disabled: isAllCompleted }, !isAllCompleted ? import_utils.locales.getText("pisell2.text.send-form-reminder") : import_utils.locales.getText("pisell2.text.send-form-reminder-completed")), /* @__PURE__ */ import_react.default.createElement(
70
+ import_sendModal.default,
71
+ {
72
+ refreshKey: (_e = (_d = state.client) == null ? void 0 : _d.value) == null ? void 0 : _e.id,
73
+ open,
74
+ onCancel: () => setOpen(false),
75
+ onOk: handleOk,
76
+ onValuesChange: handleValuesChange,
77
+ defaultValues
78
+ }
79
+ ));
80
+ };
81
+ var footer_default = Footer;
@@ -1,4 +1,4 @@
1
- import "./index.less";
1
+ import './index.less';
2
2
  export interface InfoProps {
3
3
  title?: string;
4
4
  style?: any;
@@ -42,9 +42,10 @@ var import_utils = require("@pisell/utils");
42
42
  var import_forms = __toESM(require("./forms"));
43
43
  var import_utils2 = require("../utils");
44
44
  var import_useEngineContext = __toESM(require("../../../hooks/useEngineContext"));
45
+ var import_footer = __toESM(require("./footer"));
45
46
  var relation_type = "appointment_booking";
46
47
  var Forms = (0, import_model.Provider)((props) => {
47
- var _a, _b, _c, _d, _e, _f, _g, _h;
48
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i;
48
49
  const { globalState } = props;
49
50
  const [loading, setLoading] = (0, import_react.useState)(true);
50
51
  const { state, dispatch } = (0, import_react.useContext)(import_model.Context);
@@ -215,7 +216,8 @@ var Forms = (0, import_model.Provider)((props) => {
215
216
  {
216
217
  header: import_utils.locales.getText("pisell2.text.forms"),
217
218
  loading: loading && globalState.bookingId,
218
- bodyClassName: "booking-forms-body"
219
+ bodyClassName: "booking-forms-body",
220
+ footer: state.bookingId && ((_i = state == null ? void 0 : state.form) == null ? void 0 : _i.forms.length) && /* @__PURE__ */ import_react.default.createElement(import_footer.default, { state: globalState, reload: geForms })
219
221
  },
220
222
  !globalState.bookingId ? /* @__PURE__ */ import_react.default.createElement(import_emptyBooking.default, null) : /* @__PURE__ */ import_react.default.createElement(
221
223
  import_forms.default,
@@ -16,4 +16,11 @@
16
16
 
17
17
  .booking-forms-body {
18
18
  padding-bottom: 32px !important;
19
+ }
20
+ .pisell-lowcode-send-form-wrap {
21
+ padding: 24px 0;
22
+ }
23
+ .pisell-lowcode__booking-form-footer {
24
+ display: flex;
25
+ gap: 8px;
19
26
  }
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import './index.less';
3
+ export declare type SendModalValues = {
4
+ sendSms: boolean;
5
+ sendEmail: boolean;
6
+ phone: {
7
+ code: string;
8
+ phone: string;
9
+ };
10
+ email: string;
11
+ };
12
+ interface SendModalProps {
13
+ open: boolean;
14
+ refreshKey: string;
15
+ onCancel: () => void;
16
+ onOk: (values: SendModalValues) => void;
17
+ defaultValues?: {
18
+ email?: string;
19
+ phone?: {
20
+ code?: string;
21
+ phone?: string;
22
+ };
23
+ };
24
+ onValuesChange?: (values: any) => void;
25
+ }
26
+ declare const SendModal: React.FC<SendModalProps>;
27
+ export default SendModal;
@@ -0,0 +1,128 @@
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/components/booking/forms/sendModal/index.tsx
30
+ var sendModal_exports = {};
31
+ __export(sendModal_exports, {
32
+ default: () => sendModal_default
33
+ });
34
+ module.exports = __toCommonJS(sendModal_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_antd = require("antd");
37
+ var import_materials = require("@pisell/materials");
38
+ var import_PhoneField = __toESM(require("../../../pisellSelectCustomerModal/RightPanel/Add/PhoneField"));
39
+ var import_utils = require("@pisell/utils");
40
+ var import_index = require("./index.less");
41
+ var SendModal = ({
42
+ open,
43
+ refreshKey,
44
+ onCancel,
45
+ onOk,
46
+ defaultValues = {},
47
+ onValuesChange
48
+ }) => {
49
+ const [form] = import_antd.Form.useForm();
50
+ const sendSms = import_antd.Form.useWatch("sendSms", form);
51
+ const sendEmail = import_antd.Form.useWatch("sendEmail", form);
52
+ const handleOk = () => {
53
+ form.validateFields().then((values) => {
54
+ onOk(values);
55
+ });
56
+ };
57
+ return /* @__PURE__ */ import_react.default.createElement(
58
+ import_materials.PisellModal,
59
+ {
60
+ open,
61
+ title: import_utils.locales.getText("pisell2.text.send-form-reminder"),
62
+ onCancel,
63
+ onOk: handleOk,
64
+ okText: import_utils.locales.getText("pisell2.text.send-form-ok")
65
+ },
66
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-lowcode-send-form-wrap" }, /* @__PURE__ */ import_react.default.createElement(
67
+ import_antd.Form,
68
+ {
69
+ form,
70
+ key: refreshKey,
71
+ onValuesChange,
72
+ layout: "vertical",
73
+ initialValues: defaultValues
74
+ },
75
+ /* @__PURE__ */ import_react.default.createElement(
76
+ import_antd.Form.Item,
77
+ {
78
+ name: "sendSms",
79
+ valuePropName: "checked",
80
+ style: { marginBottom: 12 }
81
+ },
82
+ /* @__PURE__ */ import_react.default.createElement(import_antd.Checkbox, null, import_utils.locales.getText("pisell2.text.send-sms-reminder"))
83
+ ),
84
+ /* @__PURE__ */ import_react.default.createElement(
85
+ import_antd.Form.Item,
86
+ {
87
+ name: "phone",
88
+ style: { marginLeft: 16 },
89
+ rules: [
90
+ {
91
+ required: sendSms,
92
+ message: import_utils.locales.getText("pisell2.text.phone-required-error-message")
93
+ }
94
+ ]
95
+ },
96
+ /* @__PURE__ */ import_react.default.createElement(import_PhoneField.default, null)
97
+ ),
98
+ /* @__PURE__ */ import_react.default.createElement(
99
+ import_antd.Form.Item,
100
+ {
101
+ name: "sendEmail",
102
+ valuePropName: "checked",
103
+ style: { marginBottom: 12 }
104
+ },
105
+ /* @__PURE__ */ import_react.default.createElement(import_antd.Checkbox, null, import_utils.locales.getText("pisell2.text.send-email-reminder"))
106
+ ),
107
+ /* @__PURE__ */ import_react.default.createElement(
108
+ import_antd.Form.Item,
109
+ {
110
+ name: "email",
111
+ style: { marginLeft: 16 },
112
+ rules: [
113
+ {
114
+ required: sendEmail,
115
+ message: import_utils.locales.getText("pisell2.text.email-required-error-message")
116
+ },
117
+ {
118
+ pattern: /^([a-zA-Z0-9_\-\.+])+@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,63})+$/,
119
+ message: import_utils.locales.getText("pisell2.text.email-error-message")
120
+ }
121
+ ]
122
+ },
123
+ /* @__PURE__ */ import_react.default.createElement(import_antd.Input, { size: "large" })
124
+ )
125
+ ))
126
+ );
127
+ };
128
+ var sendModal_default = SendModal;
@@ -0,0 +1,9 @@
1
+ .pisell-lowcode-send-form-wrap {
2
+ padding: 24px 0;
3
+
4
+ .ant-form-item {
5
+ &.ant-form-item-has-error {
6
+ margin-bottom: 24px;
7
+ }
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ import { SendModalValues } from './index';
2
+ declare const useSendModal: (bookingId?: number) => {
3
+ open: boolean;
4
+ setOpen: import("react").Dispatch<import("react").SetStateAction<boolean>>;
5
+ handleOpen: () => void;
6
+ handleValuesChange: (val: any) => void;
7
+ handleOk: (values: SendModalValues) => Promise<boolean | undefined>;
8
+ };
9
+ export default useSendModal;
@@ -0,0 +1,70 @@
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/components/booking/forms/sendModal/useSendModal.ts
20
+ var useSendModal_exports = {};
21
+ __export(useSendModal_exports, {
22
+ default: () => useSendModal_default
23
+ });
24
+ module.exports = __toCommonJS(useSendModal_exports);
25
+ var import_react = require("react");
26
+ var import_materials = require("@pisell/materials");
27
+ var import_utils = require("@pisell/utils");
28
+ var import_serve = require("../serve");
29
+ var useSendModal = (bookingId) => {
30
+ const [open, setOpen] = (0, import_react.useState)(false);
31
+ const handleOpen = () => {
32
+ setOpen(true);
33
+ };
34
+ const handleValuesChange = (val) => {
35
+ console.log(val, "val");
36
+ };
37
+ const handleOk = async (values) => {
38
+ if (!values.sendSms && !values.sendEmail) {
39
+ return import_materials.message.error(
40
+ import_utils.locales.getText("pisell2.text.send-form-reminder-error-message")
41
+ );
42
+ }
43
+ if (values.sendSms && !values.phone.phone) {
44
+ return import_materials.message.error(
45
+ import_utils.locales.getText("pisell2.text.phone-required-error-message")
46
+ );
47
+ }
48
+ if (values.sendEmail && !values.email) {
49
+ return import_materials.message.error(
50
+ import_utils.locales.getText("pisell2.text.email-required-error-message")
51
+ );
52
+ }
53
+ const value = await (0, import_serve.sendFormReminder)({
54
+ phone: values.sendSms ? values.phone.phone : void 0,
55
+ email: values.sendEmail ? values.email : void 0,
56
+ order_id: bookingId,
57
+ country_calling_code: values.sendSms ? values.phone.code.replace("+", "") : void 0
58
+ });
59
+ import_materials.message.success(import_utils.locales.getText("pisell2.text.send-form-toast"));
60
+ setOpen(false);
61
+ };
62
+ return {
63
+ open,
64
+ setOpen,
65
+ handleOpen,
66
+ handleValuesChange,
67
+ handleOk
68
+ };
69
+ };
70
+ var useSendModal_default = useSendModal;
@@ -7,3 +7,12 @@ export declare const getFormData: (params: {
7
7
  num: number;
8
8
  skip: number;
9
9
  }) => Promise<any>;
10
+ /**
11
+ * 发送表单填写提醒
12
+ */
13
+ export declare const sendFormReminder: (params: {
14
+ email?: string;
15
+ phone?: string;
16
+ order_id: number;
17
+ country_calling_code?: string;
18
+ }) => Promise<any>;
@@ -19,12 +19,15 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  // src/components/booking/forms/serve.ts
20
20
  var serve_exports = {};
21
21
  __export(serve_exports, {
22
- getFormData: () => getFormData
22
+ getFormData: () => getFormData,
23
+ sendFormReminder: () => sendFormReminder
23
24
  });
24
25
  module.exports = __toCommonJS(serve_exports);
25
26
  var import_utils = require("../utils");
26
27
  var getFormData = async (params) => import_utils.request.getRequest().get(`/shop/form/data/v1`, params);
28
+ var sendFormReminder = async (params) => import_utils.request.getRequest().post(`/shop/form/form-reminder`, params);
27
29
  // Annotate the CommonJS export names for ESM import in node:
28
30
  0 && (module.exports = {
29
- getFormData
31
+ getFormData,
32
+ sendFormReminder
30
33
  });
@@ -241,6 +241,18 @@ declare const _default: {
241
241
  'pisell2.text.change.pet.cancel': string;
242
242
  'pisell2.text.booking-list': string;
243
243
  'pisell2.text.edit-booking': string;
244
+ 'pisell2.text.email-error-message': string;
245
+ 'pisell2.text.phone-required-error-message': string;
246
+ 'pisell2.text.email-required-error-message': string;
247
+ 'pisell2.text.send-form-reminder': string;
248
+ 'pisell2.text.send-sms-reminder': string;
249
+ 'pisell2.text.send-email-reminder': string;
250
+ 'pisell2.text.send-form-ok': string;
251
+ 'pisell2.text.send-form-toast': string;
252
+ 'pisell2.text.send-form-reminder-completed': string;
253
+ 'pisell2.text.send-form-reminder-tooltip': string;
254
+ 'pisell2.text.send-form-reminder-refresh': string;
255
+ 'pisell2.text.send-form-reminder-error-message': string;
244
256
  };
245
257
  'zh-CN': {
246
258
  'pisell2.text.refunded-amount': string;
@@ -484,6 +496,18 @@ declare const _default: {
484
496
  'pisell2.text.change.pet.cancel': string;
485
497
  'pisell2.text.booking-list': string;
486
498
  'pisell2.text.edit-booking': string;
499
+ 'pisell2.text.email-error-message': string;
500
+ 'pisell2.text.phone-required-error-message': string;
501
+ 'pisell2.text.email-required-error-message': string;
502
+ 'pisell2.text.send-form-reminder': string;
503
+ 'pisell2.text.send-sms-reminder': string;
504
+ 'pisell2.text.send-email-reminder': string;
505
+ 'pisell2.text.send-form-ok': string;
506
+ 'pisell2.text.send-form-toast': string;
507
+ 'pisell2.text.send-form-reminder-completed': string;
508
+ 'pisell2.text.send-form-reminder-tooltip': string;
509
+ 'pisell2.text.send-form-reminder-refresh': string;
510
+ 'pisell2.text.send-form-reminder-error-message': string;
487
511
  };
488
512
  'zh-HK': {
489
513
  'pisell2.text.refunded-amount': string;
@@ -727,6 +751,18 @@ declare const _default: {
727
751
  'pisell2.text.change.pet.cancel': string;
728
752
  'pisell2.text.booking-list': string;
729
753
  'pisell2.text.edit-booking': string;
754
+ 'pisell2.text.email-error-message': string;
755
+ 'pisell2.text.phone-required-error-message': string;
756
+ 'pisell2.text.email-required-error-message': string;
757
+ 'pisell2.text.send-form-reminder': string;
758
+ 'pisell2.text.send-sms-reminder': string;
759
+ 'pisell2.text.send-email-reminder': string;
760
+ 'pisell2.text.send-form-ok': string;
761
+ 'pisell2.text.send-form-toast': string;
762
+ 'pisell2.text.send-form-reminder-completed': string;
763
+ 'pisell2.text.send-form-reminder-tooltip': string;
764
+ 'pisell2.text.send-form-reminder-refresh': string;
765
+ 'pisell2.text.send-form-reminder-error-message': string;
730
766
  };
731
767
  };
732
768
  export default _default;
@@ -296,7 +296,19 @@ var locales_default = {
296
296
  "pisell2.text.change.pet.confirm": "Keep (Add to open items)",
297
297
  "pisell2.text.change.pet.cancel": "Discard (Clear items)",
298
298
  "pisell2.text.booking-list": "List",
299
- "pisell2.text.edit-booking": "Edit"
299
+ "pisell2.text.edit-booking": "Edit",
300
+ "pisell2.text.email-error-message": "Email format error",
301
+ "pisell2.text.phone-required-error-message": "Please enter a phone number",
302
+ "pisell2.text.email-required-error-message": "Please enter an email address",
303
+ "pisell2.text.send-form-reminder": "Send Form Reminder",
304
+ "pisell2.text.send-sms-reminder": "Send SMS Reminder",
305
+ "pisell2.text.send-email-reminder": "Send Email Reminder",
306
+ "pisell2.text.send-form-ok": "Send",
307
+ "pisell2.text.send-form-toast": "Form reminder sent",
308
+ "pisell2.text.send-form-reminder-completed": "Requested Forms Completed",
309
+ "pisell2.text.send-form-reminder-tooltip": "Refresh forms",
310
+ "pisell2.text.send-form-reminder-refresh": "Forms refreshed successfully",
311
+ "pisell2.text.send-form-reminder-error-message": "Please select at least one reminder method"
300
312
  },
301
313
  "zh-CN": {
302
314
  "pisell2.text.refunded-amount": "已退金额",
@@ -565,7 +577,19 @@ var locales_default = {
565
577
  "pisell2.text.change.pet.confirm": "保留(添加到未分配中)",
566
578
  "pisell2.text.change.pet.cancel": "不保留(清空商品)",
567
579
  "pisell2.text.booking-list": "列表",
568
- "pisell2.text.edit-booking": "编辑"
580
+ "pisell2.text.edit-booking": "编辑",
581
+ "pisell2.text.email-error-message": "电子邮件格式错误",
582
+ "pisell2.text.phone-required-error-message": "请输入手机号码",
583
+ "pisell2.text.email-required-error-message": "请输入邮箱地址",
584
+ "pisell2.text.send-form-reminder": "发送表单提醒",
585
+ "pisell2.text.send-sms-reminder": "发送短信提醒",
586
+ "pisell2.text.send-email-reminder": "发送邮件提醒",
587
+ "pisell2.text.send-form-ok": "发送",
588
+ "pisell2.text.send-form-toast": "表单提醒已发送",
589
+ "pisell2.text.send-form-reminder-completed": "已完成所需表单",
590
+ "pisell2.text.send-form-reminder-tooltip": "刷新表单",
591
+ "pisell2.text.send-form-reminder-refresh": "已刷新表单",
592
+ "pisell2.text.send-form-reminder-error-message": "请至少选择一种提醒方式"
569
593
  },
570
594
  "zh-HK": {
571
595
  "pisell2.text.refunded-amount": "已退金額",
@@ -834,6 +858,18 @@ var locales_default = {
834
858
  "pisell2.text.change.pet.confirm": "保留(添加到未分配中)",
835
859
  "pisell2.text.change.pet.cancel": "不保留(清空商品)",
836
860
  "pisell2.text.booking-list": "列表",
837
- "pisell2.text.edit-booking": "編輯"
861
+ "pisell2.text.edit-booking": "編輯",
862
+ "pisell2.text.email-error-message": "電子郵件格式錯誤",
863
+ "pisell2.text.phone-required-error-message": "請輸入手機號碼",
864
+ "pisell2.text.email-required-error-message": "請輸入電子郵件地址",
865
+ "pisell2.text.send-form-reminder": "發送表單提醒",
866
+ "pisell2.text.send-sms-reminder": "發送短信提醒",
867
+ "pisell2.text.send-email-reminder": "發送郵件提醒",
868
+ "pisell2.text.send-form-ok": "發送",
869
+ "pisell2.text.send-form-toast": "表單提醒已發送",
870
+ "pisell2.text.send-form-reminder-completed": "已完成所需表單",
871
+ "pisell2.text.send-form-reminder-tooltip": "刷新表單",
872
+ "pisell2.text.send-form-reminder-refresh": "已刷新表單",
873
+ "pisell2.text.send-form-reminder-error-message": "請至少選擇一種提醒方式"
838
874
  }
839
875
  };
@@ -36,15 +36,18 @@ var import_react = __toESM(require("react"));
36
36
  var import_antd = require("antd");
37
37
  var import_ahooks = require("ahooks");
38
38
  var import_serve = require("./serve");
39
+ var import_utils = require("../../../../../utils");
40
+ var import_useEngineContext = __toESM(require("../../../../../hooks/useEngineContext"));
39
41
  var defaultValue = {
40
42
  code: "+61",
41
43
  phone: ""
42
44
  };
43
45
  var PhoneField = ({ value, onChange }) => {
46
+ const context = (0, import_useEngineContext.default)();
47
+ import_utils.request.setRequest(context.appHelper.utils.request);
44
48
  const codes = (0, import_ahooks.useRequest)(import_serve.getCountries, {
45
49
  manual: true
46
50
  });
47
- console.log("codes", codes.data);
48
51
  (0, import_react.useEffect)(() => {
49
52
  codes.run();
50
53
  }, []);