@kne-components/components-core 0.2.7 → 0.2.8
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/asset-manifest.json +120 -120
- package/build/index.html +1 -1
- package/build/remoteEntry.js +1 -1
- package/build/remoteEntry.js.map +1 -1
- package/build/static/css/1151.fc15883c.chunk.css +2 -0
- package/build/static/css/{1151.3aa460eb.chunk.css.map → 1151.fc15883c.chunk.css.map} +1 -1
- package/build/static/css/1153.20736560.chunk.css +2 -0
- package/build/static/css/{1153.5f63768f.chunk.css.map → 1153.20736560.chunk.css.map} +1 -1
- package/build/static/css/1454.2aac70fb.chunk.css +2 -0
- package/build/static/css/{1454.724b064f.chunk.css.map → 1454.2aac70fb.chunk.css.map} +1 -1
- package/build/static/css/1554.b293de02.chunk.css +2 -0
- package/build/static/css/{1554.f94c98a1.chunk.css.map → 1554.b293de02.chunk.css.map} +1 -1
- package/build/static/css/{2503.74b6e452.chunk.css → 2503.bbb3e0f3.chunk.css} +2 -2
- package/build/static/css/{2503.74b6e452.chunk.css.map → 2503.bbb3e0f3.chunk.css.map} +1 -1
- package/build/static/css/{2517.2b55ed98.chunk.css → 2517.79081707.chunk.css} +2 -2
- package/build/static/css/{2517.2b55ed98.chunk.css.map → 2517.79081707.chunk.css.map} +1 -1
- package/build/static/css/2716.9c801e87.chunk.css +2 -0
- package/build/static/css/{2716.51d0460c.chunk.css.map → 2716.9c801e87.chunk.css.map} +1 -1
- package/build/static/css/{2730.a3a85165.chunk.css → 2730.b57178e8.chunk.css} +2 -2
- package/build/static/css/{2730.a3a85165.chunk.css.map → 2730.b57178e8.chunk.css.map} +1 -1
- package/build/static/css/{289.f135b71d.chunk.css → 289.3ce6c8a1.chunk.css} +2 -2
- package/build/static/css/{289.f135b71d.chunk.css.map → 289.3ce6c8a1.chunk.css.map} +1 -1
- package/build/static/css/{3142.0c7754f1.chunk.css → 3142.368252fe.chunk.css} +2 -2
- package/build/static/css/{3142.0c7754f1.chunk.css.map → 3142.368252fe.chunk.css.map} +1 -1
- package/build/static/css/3174.eff1a0f2.chunk.css +2 -0
- package/build/static/css/{3174.2fd5c06d.chunk.css.map → 3174.eff1a0f2.chunk.css.map} +1 -1
- package/build/static/css/3178.6fb4327a.chunk.css +2 -0
- package/build/static/css/{3178.1a38ed5e.chunk.css.map → 3178.6fb4327a.chunk.css.map} +1 -1
- package/build/static/css/3333.3dc1b16c.chunk.css +2 -0
- package/build/static/css/{3333.e3552f1d.chunk.css.map → 3333.3dc1b16c.chunk.css.map} +1 -1
- package/build/static/css/{3843.199c0ca8.chunk.css → 3843.45c0d51a.chunk.css} +2 -2
- package/build/static/css/{3843.199c0ca8.chunk.css.map → 3843.45c0d51a.chunk.css.map} +1 -1
- package/build/static/css/398.262d9569.chunk.css +2 -0
- package/build/static/css/{398.c36a661b.chunk.css.map → 398.262d9569.chunk.css.map} +1 -1
- package/build/static/css/4319.58a45538.chunk.css +2 -0
- package/build/static/css/{4319.7fd7ac46.chunk.css.map → 4319.58a45538.chunk.css.map} +1 -1
- package/build/static/css/4666.b9d9a8b5.chunk.css +2 -0
- package/build/static/css/{4666.060294e5.chunk.css.map → 4666.b9d9a8b5.chunk.css.map} +1 -1
- package/build/static/css/5443.6bfcfffd.chunk.css +2 -0
- package/build/static/css/{5443.11598437.chunk.css.map → 5443.6bfcfffd.chunk.css.map} +1 -1
- package/build/static/css/5600.fecb98ce.chunk.css +2 -0
- package/build/static/css/{5600.95dfd850.chunk.css.map → 5600.fecb98ce.chunk.css.map} +1 -1
- package/build/static/css/{5996.73762992.chunk.css → 5996.d396eb62.chunk.css} +2 -2
- package/build/static/css/{5996.73762992.chunk.css.map → 5996.d396eb62.chunk.css.map} +1 -1
- package/build/static/css/{6611.2a7c71c6.chunk.css → 6611.4aface83.chunk.css} +2 -2
- package/build/static/css/{6611.2a7c71c6.chunk.css.map → 6611.4aface83.chunk.css.map} +1 -1
- package/build/static/css/6779.ad7cf22e.chunk.css +2 -0
- package/build/static/css/{6779.82ab47aa.chunk.css.map → 6779.ad7cf22e.chunk.css.map} +1 -1
- package/build/static/css/7121.3c038dd4.chunk.css +2 -0
- package/build/static/css/{7121.bfe8fa87.chunk.css.map → 7121.3c038dd4.chunk.css.map} +1 -1
- package/build/static/css/7227.d3f612c8.chunk.css +2 -0
- package/build/static/css/{7227.a8cadb84.chunk.css.map → 7227.d3f612c8.chunk.css.map} +1 -1
- package/build/static/css/{8725.63ea28f6.chunk.css → 8725.ff39cc90.chunk.css} +2 -2
- package/build/static/css/{8725.63ea28f6.chunk.css.map → 8725.ff39cc90.chunk.css.map} +1 -1
- package/build/static/css/931.d14d1b8c.chunk.css +2 -0
- package/build/static/css/{931.6fb0c14a.chunk.css.map → 931.d14d1b8c.chunk.css.map} +1 -1
- package/build/static/css/9403.ea23c9e5.chunk.css +2 -0
- package/build/static/css/{9403.b85364aa.chunk.css.map → 9403.ea23c9e5.chunk.css.map} +1 -1
- package/build/static/css/{9449.1c30b736.chunk.css → 9449.ff7d71b3.chunk.css} +2 -2
- package/build/static/css/{9449.1c30b736.chunk.css.map → 9449.ff7d71b3.chunk.css.map} +1 -1
- package/build/static/js/1153.e9d86b4a.chunk.js +3 -0
- package/build/static/js/{1153.f720c42c.chunk.js.map → 1153.e9d86b4a.chunk.js.map} +1 -1
- package/build/static/js/1454.dd578852.chunk.js +3 -0
- package/build/static/js/{1454.ac140efb.chunk.js.map → 1454.dd578852.chunk.js.map} +1 -1
- package/build/static/js/1554.4783f20f.chunk.js +3 -0
- package/build/static/js/{1554.b9946985.chunk.js.map → 1554.4783f20f.chunk.js.map} +1 -1
- package/build/static/js/{2151.811bd52c.chunk.js → 2151.a3ebc615.chunk.js} +2 -2
- package/build/static/js/{2151.811bd52c.chunk.js.map → 2151.a3ebc615.chunk.js.map} +1 -1
- package/build/static/js/{2503.8c33afa2.chunk.js → 2503.697a7b30.chunk.js} +2 -2
- package/build/static/js/{2503.8c33afa2.chunk.js.map → 2503.697a7b30.chunk.js.map} +1 -1
- package/build/static/js/{2517.3cca9831.chunk.js → 2517.d142dae2.chunk.js} +2 -2
- package/build/static/js/{2517.3cca9831.chunk.js.map → 2517.d142dae2.chunk.js.map} +1 -1
- package/build/static/js/2716.634d0d5a.chunk.js +3 -0
- package/build/static/js/{2716.aad0a78f.chunk.js.map → 2716.634d0d5a.chunk.js.map} +1 -1
- package/build/static/js/{2730.8fa33a6e.chunk.js → 2730.ad186791.chunk.js} +2 -2
- package/build/static/js/{2730.8fa33a6e.chunk.js.map → 2730.ad186791.chunk.js.map} +1 -1
- package/build/static/js/{289.0208638d.chunk.js → 289.9ee86e6e.chunk.js} +2 -2
- package/build/static/js/{289.0208638d.chunk.js.map → 289.9ee86e6e.chunk.js.map} +1 -1
- package/build/static/js/{3142.cd42258e.chunk.js → 3142.8b14fd25.chunk.js} +2 -2
- package/build/static/js/{3142.cd42258e.chunk.js.map → 3142.8b14fd25.chunk.js.map} +1 -1
- package/build/static/js/3174.14abf420.chunk.js +2 -0
- package/build/static/js/3174.14abf420.chunk.js.map +1 -0
- package/build/static/js/3178.9b369da6.chunk.js +2 -0
- package/build/static/js/{3178.782d4f75.chunk.js.map → 3178.9b369da6.chunk.js.map} +1 -1
- package/build/static/js/{3333.d7457496.chunk.js → 3333.546871f1.chunk.js} +2 -2
- package/build/static/js/{3333.d7457496.chunk.js.map → 3333.546871f1.chunk.js.map} +1 -1
- package/build/static/js/{36.9209b35c.chunk.js → 36.211c6640.chunk.js} +2 -2
- package/build/static/js/{36.9209b35c.chunk.js.map → 36.211c6640.chunk.js.map} +1 -1
- package/build/static/js/{3843.ed3e3ecd.chunk.js → 3843.9bbd20dd.chunk.js} +2 -2
- package/build/static/js/{3843.ed3e3ecd.chunk.js.map → 3843.9bbd20dd.chunk.js.map} +1 -1
- package/build/static/js/{398.aa9d97e3.chunk.js → 398.083edfc3.chunk.js} +2 -2
- package/build/static/js/{398.aa9d97e3.chunk.js.map → 398.083edfc3.chunk.js.map} +1 -1
- package/build/static/js/{4319.3adf65ee.chunk.js → 4319.53f307cb.chunk.js} +2 -2
- package/build/static/js/{4319.3adf65ee.chunk.js.map → 4319.53f307cb.chunk.js.map} +1 -1
- package/build/static/js/{4666.7c97e1da.chunk.js → 4666.b7d3c1d0.chunk.js} +3 -3
- package/build/static/js/{4666.7c97e1da.chunk.js.map → 4666.b7d3c1d0.chunk.js.map} +1 -1
- package/build/static/js/{5443.7bec5e18.chunk.js → 5443.f57f3a39.chunk.js} +2 -2
- package/build/static/js/{5443.7bec5e18.chunk.js.map → 5443.f57f3a39.chunk.js.map} +1 -1
- package/build/static/js/{5600.a78ebfac.chunk.js → 5600.c3aa7455.chunk.js} +2 -2
- package/build/static/js/{5600.a78ebfac.chunk.js.map → 5600.c3aa7455.chunk.js.map} +1 -1
- package/build/static/js/{5996.aadd735e.chunk.js → 5996.ec0b433d.chunk.js} +2 -2
- package/build/static/js/{5996.aadd735e.chunk.js.map → 5996.ec0b433d.chunk.js.map} +1 -1
- package/build/static/js/6611.93d88c42.chunk.js +2 -0
- package/build/static/js/{6611.4a9e393f.chunk.js.map → 6611.93d88c42.chunk.js.map} +1 -1
- package/build/static/js/{6779.97af4ba3.chunk.js → 6779.d06658ae.chunk.js} +2 -2
- package/build/static/js/{6779.97af4ba3.chunk.js.map → 6779.d06658ae.chunk.js.map} +1 -1
- package/build/static/js/6915.7a260fe4.chunk.js +2 -0
- package/build/static/js/6915.7a260fe4.chunk.js.map +1 -0
- package/build/static/js/7121.7c61dca3.chunk.js +2 -0
- package/build/static/js/{7121.62ac9a1f.chunk.js.map → 7121.7c61dca3.chunk.js.map} +1 -1
- package/build/static/js/{7227.2d012609.chunk.js → 7227.789ccf51.chunk.js} +3 -3
- package/build/static/js/{7227.2d012609.chunk.js.map → 7227.789ccf51.chunk.js.map} +1 -1
- package/build/static/js/{8725.4573ee3c.chunk.js → 8725.758700d9.chunk.js} +2 -2
- package/build/static/js/{8725.4573ee3c.chunk.js.map → 8725.758700d9.chunk.js.map} +1 -1
- package/build/static/js/{931.b19f03e2.chunk.js → 931.bcf27595.chunk.js} +2 -2
- package/build/static/js/{931.b19f03e2.chunk.js.map → 931.bcf27595.chunk.js.map} +1 -1
- package/build/static/js/9403.14b66e35.chunk.js +2 -0
- package/build/static/js/9403.14b66e35.chunk.js.map +1 -0
- package/build/static/js/9449.3e2f28f9.chunk.js +2 -0
- package/build/static/js/{9449.0019b65c.chunk.js.map → 9449.3e2f28f9.chunk.js.map} +1 -1
- package/build/static/js/{main.a3e829b8.js → main.e519ba54.js} +2 -2
- package/build/static/js/{main.a3e829b8.js.map → main.e519ba54.js.map} +1 -1
- package/package.json +1 -1
- package/build/static/css/1151.3aa460eb.chunk.css +0 -2
- package/build/static/css/1153.5f63768f.chunk.css +0 -2
- package/build/static/css/1454.724b064f.chunk.css +0 -2
- package/build/static/css/1554.f94c98a1.chunk.css +0 -2
- package/build/static/css/2716.51d0460c.chunk.css +0 -2
- package/build/static/css/3174.2fd5c06d.chunk.css +0 -2
- package/build/static/css/3178.1a38ed5e.chunk.css +0 -2
- package/build/static/css/3333.e3552f1d.chunk.css +0 -2
- package/build/static/css/398.c36a661b.chunk.css +0 -2
- package/build/static/css/4319.7fd7ac46.chunk.css +0 -2
- package/build/static/css/4666.060294e5.chunk.css +0 -2
- package/build/static/css/5443.11598437.chunk.css +0 -2
- package/build/static/css/5600.95dfd850.chunk.css +0 -2
- package/build/static/css/6779.82ab47aa.chunk.css +0 -2
- package/build/static/css/7121.bfe8fa87.chunk.css +0 -2
- package/build/static/css/7227.a8cadb84.chunk.css +0 -2
- package/build/static/css/931.6fb0c14a.chunk.css +0 -2
- package/build/static/css/9403.b85364aa.chunk.css +0 -2
- package/build/static/js/1153.f720c42c.chunk.js +0 -3
- package/build/static/js/1454.ac140efb.chunk.js +0 -3
- package/build/static/js/1554.b9946985.chunk.js +0 -3
- package/build/static/js/2615.e1a3d078.chunk.js +0 -2
- package/build/static/js/2615.e1a3d078.chunk.js.map +0 -1
- package/build/static/js/2716.aad0a78f.chunk.js +0 -3
- package/build/static/js/3174.248cd717.chunk.js +0 -2
- package/build/static/js/3174.248cd717.chunk.js.map +0 -1
- package/build/static/js/3178.782d4f75.chunk.js +0 -2
- package/build/static/js/6611.4a9e393f.chunk.js +0 -2
- package/build/static/js/7121.62ac9a1f.chunk.js +0 -2
- package/build/static/js/9403.00845e95.chunk.js +0 -2
- package/build/static/js/9403.00845e95.chunk.js.map +0 -1
- package/build/static/js/9449.0019b65c.chunk.js +0 -2
- /package/build/static/js/{1153.f720c42c.chunk.js.LICENSE.txt → 1153.e9d86b4a.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{1454.ac140efb.chunk.js.LICENSE.txt → 1454.dd578852.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{1554.b9946985.chunk.js.LICENSE.txt → 1554.4783f20f.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{2716.aad0a78f.chunk.js.LICENSE.txt → 2716.634d0d5a.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{4666.7c97e1da.chunk.js.LICENSE.txt → 4666.b7d3c1d0.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{7227.2d012609.chunk.js.LICENSE.txt → 7227.789ccf51.chunk.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/4319.3adf65ee.chunk.js","mappings":"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","sources":["components/ConfirmButton/locale/index.js","webpack://@kne-components/components-core/./src/components/ConfirmButton/style.module.scss?9447","components/ConfirmButton/index.js","components/Enum/index.js","components/File/Download.js","webpack://@kne-components/components-core/./src/components/File/style.module.scss?4020","components/File/useFileModal.js","components/File/locale/index.js","components/File/List/OptionButtons.js","webpack://@kne-components/components-core/./src/components/File/List/style.module.scss?58ad","components/File/List/index.js","components/File/File.js","components/File/FileLink.js","webpack://@kne-components/components-core/./src/components/FilePreview/style.module.scss?a805","components/FilePreview/HtmlPreview.js","components/FilePreview/OfficePreview.js","components/FilePreview/PdfPreview.js","components/FilePreview/TextPreview.js","components/FilePreview/UnknownPreview.js","components/FilePreview/ImagePreview.js","components/FilePreview/typeFormat.js","components/FilePreview/OSSFilePreview.js","components/FilePreview/FilePreview.js","components/FlexBox/index.js","components/FormInfo/ErrorTip.js","components/FormInfo/FieldList.js","components/FormInfo/Form.js","components/FormInfo/FormApiButton.js","components/FormInfo/FormDrawer.js","components/FormInfo/FormInfo.js","components/FormInfo/FormItem.js","components/FormInfo/FormLangProvider.js","components/FormInfo/FormModal.js","components/FormInfo/FormStepModal.js","components/FormInfo/HelperGuideLabel.js","components/FormInfo/List.js","components/FormInfo/MultiField.js","webpack://@kne-components/components-core/./src/components/FormInfo/SelectInnerInput/style.module.scss?b967","components/FormInfo/SelectInnerInput/context.js","components/FormInfo/SelectInnerInput/index.js","components/FormInfo/TableList.js","components/FormInfo/fields/AddressSelect.js","components/FormInfo/fields/AdvancedSelect.js","webpack://@kne-components/components-core/./src/components/FormInfo/fields/Avatar/style.module.scss?d6b0","components/FormInfo/fields/Avatar/index.js","components/FormInfo/fields/Cascader.js","components/FormInfo/fields/FunctionSelect.js","components/FormInfo/fields/IndustrySelect.js","components/FormInfo/fields/InputUpperCase/index.js","webpack://@kne-components/components-core/./src/components/FormInfo/fields/MoneyInput/style.module.scss?25be","components/FormInfo/fields/MoneyInput/index.js","webpack://@kne-components/components-core/./src/components/FormInfo/fields/PhoneNumber/style.module.scss?c00f","components/FormInfo/fields/PhoneNumber/index.js","webpack://@kne-components/components-core/./src/components/FormInfo/fields/SalaryInput/style.module.scss?6af8","components/FormInfo/fields/SalaryInput/index.js","webpack://@kne-components/components-core/./src/components/FormInfo/fields/TableInput/style.module.scss?72b7","components/FormInfo/fields/TableInput/index.js","components/FormInfo/fields/TypeDateRangePicker.js","webpack://@kne-components/components-core/./src/components/FormInfo/fields/Upload/style.module.scss?391a","components/FormInfo/fields/Upload/index.js","components/FormInfo/fields/index.js","components/FormInfo/fields/Text/index.js","components/FormInfo/formModule.js","components/FormInfo/index.js","components/FormInfo/locale/index.js","components/FormInfo/preset.js","components/HelperGuide/locale/index.js","webpack://@kne-components/components-core/./src/components/HelperGuide/style.module.scss?bc31","components/HelperGuide/index.js","webpack://@kne-components/components-core/./src/components/InfoPage/style.module.scss?d163","components/InfoPage/Collapse.js","components/InfoPage/index.js","webpack://@kne-components/components-core/./src/components/Tooltip/style.module.scss?c30c","components/Tooltip/tooltip.js","components/Tooltip/tooltipInfoLabel.js","components/Tooltip/tooltipFetch.js","webpack://@kne-components/components-core/./src/components/FormInfo/style.module.scss?d1ff"],"sourcesContent":["const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","// extracted by mini-css-extract-plugin\nexport default {\"overlay\":\"style_overlay__99t5t__EWmWd\",\"is-danger\":\"style_is-danger__gxyAB__EWmWd\",\"title\":\"style_title__EEPu2__EWmWd\",\"content\":\"style_content__mZZg5__EWmWd\",\"has-title\":\"style_has-title__5+PEt__EWmWd\"};","import React from \"react\";\nimport { Button, Popconfirm, Space, Typography } from \"antd\";\nimport importMessages from \"./locale\";\nimport Icon from \"@components/Icon\";\nimport { createWithIntl, useIntl } from \"@components/Intl\";\nimport { useConfirmModal } from \"@components/Modal\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\n\nexport const withConfirm = (WrappedComponent) => {\n const ConfirmComponent = createWithIntl({\n moduleName: \"ConfirmButton\",\n importMessages,\n })(\n ({\n title,\n message,\n isDelete = true,\n onClick,\n onCancel,\n disabled,\n showCancel,\n cancelText,\n isModal,\n okText,\n placement,\n getContainer,\n ...props\n }) => {\n const { formatMessage } = useIntl({ moduleName: \"ConfirmButton\" });\n const modal = useConfirmModal();\n if (isModal) {\n return (\n <WrappedComponent\n {...props}\n disabled={disabled}\n onClick={(e) => {\n modal({\n type: \"confirm\",\n title: title,\n getContainer,\n danger: isDelete,\n confirmType: isDelete ? \"warning\" : \"info\",\n message: message || formatMessage({ id: \"message\" }),\n okText: okText\n ? okText\n : isDelete\n ? formatMessage({ id: \"delete\" })\n : formatMessage({ id: \"confirm\" }),\n cancelText: cancelText || formatMessage({ id: \"cancel\" }),\n onCancel,\n onOk: onClick,\n });\n }}\n />\n );\n }\n return (\n <Popconfirm\n title={\n <Space\n direction=\"vertical\"\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n {title && (\n <Space size={0} align=\"start\" className={style[\"title\"]}>\n {isDelete && (\n <Icon className=\"title-icon\" type=\"icon-tishi-tianchong\" />\n )}\n {title}\n </Space>\n )}\n <Space\n size={0}\n align=\"start\"\n className={classnames(style[\"content\"], {\n [style[\"has-title\"]]: title,\n })}\n >\n {!title && isDelete ? (\n <Icon className=\"title-icon\" type=\"icon-tishi-tianchong\" />\n ) : null}\n {message || formatMessage({ id: \"message\" })}\n </Space>\n </Space>\n }\n placement={placement}\n onConfirm={onClick}\n okButtonProps={{\n danger: isDelete,\n }}\n onCancel={onCancel}\n overlayClassName={classnames(style[\"overlay\"], {\n [style[\"is-danger\"]]: isDelete,\n })}\n getPopupContainer={getContainer}\n disabled={disabled}\n showCancel={showCancel}\n cancelText={cancelText}\n okText={\n okText\n ? okText\n : isDelete\n ? formatMessage({ id: \"delete\" })\n : formatMessage({ id: \"confirm\" })\n }\n >\n <WrappedComponent {...props} disabled={disabled} />\n </Popconfirm>\n );\n }\n );\n\n ConfirmComponent.defaultProps = {\n isModal: false,\n showCancel: true,\n };\n\n return ConfirmComponent;\n};\n\nexport const ConfirmLink = withConfirm(Typography.Link);\nexport const ConfirmText = withConfirm(Typography.Text);\n\nexport default withConfirm(Button);\n","import { useRef } from \"react\";\nimport { withFetch } from \"@kne/react-fetch\";\nimport { useGlobalContext, usePreset } from \"@components/Global\";\nimport memoize from \"lodash/memoize\";\nimport isNil from \"lodash/isNil\";\n\nconst baseLoaders = [\n [\n \"gender\",\n () => [\n { value: \"M\", description: \"男\" },\n {\n value: \"F\",\n description: \"女\",\n },\n ],\n ],\n [\n \"marital\",\n () => [\n { description: \"已婚\", value: \"Y\" },\n {\n description: \"未婚\",\n value: \"N\",\n },\n ],\n ],\n [\n \"confirm\",\n () => [\n { description: \"是\", value: \"Y\" },\n {\n description: \"否\",\n value: \"N\",\n },\n ],\n ],\n [\n \"political\",\n () => [\n { description: \"中共党员\", value: \"中共党员\" },\n {\n description: \"共青团员\",\n value: \"共青团员\",\n },\n { description: \"群众\", value: \"群众\" },\n {\n description: \"其他党派\",\n value: \"其他党派\",\n },\n ],\n ],\n [\n \"phoneStateEnum\",\n () => [\n {\n value: 0,\n description: \"空号\",\n },\n {\n value: 1,\n description: \"实号\",\n },\n {\n value: 2,\n description: \"停机\",\n },\n {\n value: 3,\n description: \"库无\",\n },\n {\n value: 4,\n description: \"沉默号\",\n },\n {\n value: 5,\n description: \"风险号\",\n },\n ],\n ],\n [\n \"degreeEnum\",\n () => [\n {\n description: \"初中\",\n value: 10,\n },\n {\n description: \"中专\",\n value: 20,\n },\n {\n description: \"高中\",\n value: 30,\n },\n {\n description: \"大专\",\n value: 40,\n },\n {\n description: \"本科\",\n value: 50,\n },\n {\n description: \"硕士研究生\",\n value: 60,\n },\n {\n description: \"博士研究生\",\n value: 70,\n },\n {\n description: \"博士后\",\n value: 75,\n },\n {\n description: \"学历不限\",\n value: 999,\n },\n ],\n ],\n];\n\nconst EnumLoaderFetch = withFetch(({ data, children }) => {\n return typeof children === \"function\"\n ? children(data)\n : children || data?.description;\n});\n\nconst getEnumsMap = memoize((enums) => {\n return new Map(\n baseLoaders.concat(\n Object.keys(Object.assign({}, enums)).map((key) => [key, enums[key]])\n )\n );\n});\n\nconst EnumLoader = ({ loader: enumsLoader, ...props }) => {\n const {\n global: { enumsRef },\n } = useGlobalContext();\n const prevLocaleRef = useRef(null);\n return (\n <EnumLoaderFetch\n {...props}\n loader={async (...args) => {\n const enums = getEnumsMap(await enumsLoader(...args));\n const { params } = args[0];\n const { moduleName, name, force, locale } = params;\n\n const getEnumMap = async (moduleName) => {\n return (\n (() => {\n return (\n force !== true &&\n prevLocaleRef.current === locale &&\n enumsRef.current.get(moduleName)\n );\n })() ||\n (await (async () => {\n const loader = enums.get(moduleName);\n const output = await (async () => {\n if (typeof loader === \"function\") {\n return new Map(\n (await loader({ locale })).map((item) => {\n return [item.value.toString(), item];\n })\n );\n }\n if (Array.isArray(loader)) {\n return new Map(\n loader.map((item) => [item.value.toString(), item])\n );\n }\n if (typeof loader === \"object\") {\n return new Map(\n Object.keys(loader).map((key) => [\n key.toString(),\n loader[key],\n ])\n );\n }\n console.warn(\"枚举值loader的设置可能不正确\");\n return new Map();\n })();\n enumsRef.current.set(moduleName, output);\n prevLocaleRef.current = locale;\n return output;\n })())\n );\n };\n if (Array.isArray(moduleName)) {\n return await Promise.all(\n moduleName.map((target) =>\n getEnumMap(target).then((enumMap) => Array.from(enumMap.values()))\n )\n );\n }\n\n const enumMap = await getEnumMap(moduleName);\n if (!isNil(name)) {\n return enumMap.get(name.toString());\n }\n return Array.from(enumMap.values());\n }}\n />\n );\n};\n\nconst Enum = ({ moduleName, name, force, children, ...props }) => {\n const preset = usePreset();\n return (\n <EnumLoader\n {...props}\n params={{\n moduleName,\n locale: preset?.locale,\n enums: preset?.enums,\n name,\n force,\n }}\n loader={({ params }) => params.enums}\n >\n {children}\n </EnumLoader>\n );\n};\n\nEnum.defaultProps = {\n force: false,\n};\n\nexport default Enum;\n","import get from \"lodash/get\";\nimport axios from \"axios\";\nimport { App, Button } from \"antd\";\nimport { usePreset } from \"@components/Global\";\nimport Icon from \"@components/Icon\";\nimport { useFetch } from \"@kne/react-fetch\";\nimport { useEffect, useState } from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\n\nexport const downloadBlobFile = async (res, filename) => {\n const download = (url) => {\n const element = document.createElement(\"a\"),\n event = new MouseEvent(\"click\");\n element.download = filename; // 设置文件名称\n element.href = url; // 将生成的URL设置为a.href属性\n element.dispatchEvent(event); // 触发a的单击事件\n };\n\n if (!res) {\n throw new Error(\"未获取到下载的文件信息\");\n }\n\n if (typeof res === \"string\" && /blob:http(s)?:/.test(res)) {\n download(res);\n return;\n }\n\n if (Object.prototype.toString.call(res) === \"[object Blob]\") {\n const blob = new Blob([res], {\n type: get(res, \"type\"),\n });\n download(URL.createObjectURL(blob));\n return;\n }\n\n const { data } = await axios({ url: res, responseType: \"blob\" });\n download(\n URL.createObjectURL(\n new Blob([data], {\n type: get(data, \"type\"),\n })\n )\n );\n};\n\nexport const useDownload = ({\n id,\n filename,\n staticUrl: staticUrlProps,\n apis: currentApis,\n onError,\n onSuccess,\n}) => {\n const { message } = App.useApp();\n const { apis: baseApis, staticUrl: staticUrlBase } = usePreset();\n const apis = Object.assign({}, baseApis, currentApis);\n const [downLoading, setDownLoading] = useState(false);\n\n const staticUrl = staticUrlProps || staticUrlBase || \"\";\n\n const { paramsType, paramsName, ...oss } = Object.assign(\n { paramsType: \"params\", paramsName: \"id\" },\n apis.oss\n );\n const fetchProps = {};\n fetchProps[paramsType] = { [paramsName]: id };\n const { isLoading, data, error, refresh, ...otherProps } = useFetch(\n Object.assign({}, oss, fetchProps, { auto: false })\n );\n\n const showError = useRefCallback(onError || message.error);\n const successHandler = useRefCallback(onSuccess);\n\n useEffect(() => {\n if (isLoading) {\n return;\n }\n if (error) {\n showError(error);\n return;\n }\n if (!data) {\n return;\n }\n setDownLoading(true);\n downloadBlobFile(\n /^https?:\\/\\//.test(data) ? data : staticUrl + data,\n filename\n )\n .then(successHandler)\n .catch((e) => {\n showError(e.message);\n })\n .then(() => {\n setDownLoading(false);\n });\n }, [isLoading, error, staticUrl, data, filename, showError, successHandler]);\n\n return {\n ...otherProps,\n isLoading: isLoading || downLoading,\n download: () => refresh(id && fetchProps),\n };\n};\n\nconst Download = ({\n id,\n filename,\n api,\n onSuccess,\n onError,\n onClick,\n ...props\n}) => {\n const { isLoading, download } = useDownload({\n id,\n filename,\n api,\n onError,\n onSuccess,\n });\n return (\n <Button\n icon={<Icon type=\"icon-xiazai\" />}\n {...props}\n loading={isLoading}\n onClick={(...args) => {\n onClick && onClick(...args);\n download();\n }}\n />\n );\n};\n\nDownload.defaultProps = {\n filename: \"未命名下载文件\",\n};\n\nDownload.useDownload = useDownload;\nDownload.downloadBlobFile = downloadBlobFile;\n\nexport default Download;\n","// extracted by mini-css-extract-plugin\nexport default {\"file-modal-outer\":\"style_file-modal-outer__1guNh__EWmWd\",\"file-title\":\"style_file-title__8bnUq__EWmWd\",\"ellipse\":\"style_ellipse__kDaLC__EWmWd\"};","import { useModal } from \"@components/Modal\";\nimport FilePreview from \"@components/FilePreview\";\nimport Download from \"./Download\";\nimport { App, Space } from \"antd\";\nimport { useCallback } from \"react\";\nimport style from \"./style.module.scss\";\n\nconst useFileModal = () => {\n const modal = useModal();\n const { message } = App.useApp();\n return useCallback(\n ({ title, id, originName, apis, openDownload = true, ...modalProps }) => {\n return modal(\n Object.assign(\n {\n footer: null,\n },\n modalProps,\n {\n title: (\n <Space size={10} className={style[\"file-title\"]}>\n <span className={style[\"ellipse\"]}>{title || originName}</span>\n {openDownload && (\n <Download\n className=\"btn-no-padding\"\n type=\"link\"\n id={id}\n apis={apis}\n filename={originName}\n onSuccess={() => {\n message.success(\"下载成功\");\n }}\n />\n )}\n </Space>\n ),\n children: (\n <div className={style[\"file-modal-outer\"]}>\n <FilePreview id={id} originName={originName} apis={apis} />\n </div>\n ),\n }\n )\n );\n },\n [modal, message]\n );\n};\n\nexport default useFileModal;\n","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","import { Button, Space } from \"antd\";\nimport Icon from \"@components/Icon\";\nimport ConfirmButton from \"@components/ConfirmButton\";\nimport DownloadButton from \"../Download\";\nimport FormInfo, { Input, useFormModal } from \"@components/FormInfo\";\nimport { createWithIntl, useIntl } from \"@components/Intl\";\nimport last from \"lodash/last\";\nimport dropRight from \"lodash/dropRight\";\nimport useFileModal from \"../useFileModal\";\nimport importMessages from \"../locale\";\n\nconst OptionButtons = createWithIntl({\n moduleName: \"File\",\n importMessages,\n})(({ item, hasPreview, getPermission, apis }) => {\n const { filename, id } = item;\n const { formatMessage } = useIntl({ moduleName: \"File\" });\n const formModal = useFormModal();\n const fileModal = useFileModal();\n return (\n <Space size={0}>\n {hasPreview && getPermission(\"preview\", item) && (\n <Button\n type=\"text\"\n icon={<Icon type=\"icon-yulan\" />}\n onClick={() => {\n apis.onPreview\n ? apis.onPreview(item)\n : fileModal({ id, originName: filename, apis });\n }}\n />\n )}\n {getPermission(\"edit\", item) && (\n <Button\n type=\"text\"\n icon={<Icon type=\"icon-bianji\" />}\n onClick={() => {\n const modalApi = formModal({\n size: \"small\",\n title: formatMessage({ id: \"editDocumentName\" }),\n formProps: {\n data: {\n name: dropRight(item.filename.split(\".\")).join(\".\"),\n },\n onSubmit: async (data) => {\n const res =\n apis.onEdit &&\n (await apis.onEdit({\n formData: Object.assign({}, data, {\n name: `${data.name}.${last(item.filename.split(\".\"))}`,\n }),\n item,\n }));\n if (res !== false) {\n modalApi.close();\n }\n },\n },\n children: (\n <FormInfo\n column={1}\n list={[\n <Input\n name=\"name\"\n label={formatMessage({ id: \"documentName\" })}\n rule=\"REQ LEN-0-100\"\n />,\n ]}\n />\n ),\n });\n }}\n />\n )}\n {getPermission(\"download\", item) && (\n <DownloadButton type=\"text\" id={id} filename={filename} />\n )}\n {getPermission(\"delete\", item) && (\n <ConfirmButton\n type=\"text\"\n icon={<Icon type=\"icon-shanchu\" />}\n onClick={() => {\n return apis.onDelete && apis.onDelete(item);\n }}\n />\n )}\n </Space>\n );\n});\n\nOptionButtons.defaultProps = {\n hasPreview: true,\n apis: {},\n getPermission: (type, item) => {\n return true;\n },\n};\n\nexport default OptionButtons;\n","// extracted by mini-css-extract-plugin\nexport default {\"list-item-outer\":\"style_list-item-outer__0jlCN__EWmWd\",\"list-item\":\"style_list-item__nmPCB__EWmWd\",\"split\":\"style_split__kgSlH__EWmWd\",\"loading\":\"style_loading__kQUX5__EWmWd\",\"list-options\":\"style_list-options__aEila__EWmWd\",\"list-time\":\"style_list-time__Khoxc__EWmWd\"};","import { Col, List as AntdList, Row, Space, Spin, Typography } from \"antd\";\nimport FileType from \"@kne/react-file-type\";\nimport OptionButtons from \"./OptionButtons\";\nimport last from \"lodash/last\";\nimport dayjs from \"dayjs\";\nimport style from \"./style.module.scss\";\nimport importMessages from \"../locale\";\nimport { FormattedMessage, IntlProvider } from \"@components/Intl\";\n\nconst List = ({\n className,\n dataSource,\n getPermission,\n infoItemRenders,\n apis,\n}) => {\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"File\">\n <AntdList\n className={className}\n dataSource={dataSource.map((item, index) => {\n item.index = index;\n return item;\n })}\n rowKey={(item) =>\n `item_${\n (item.uuid && `uuid_${item.uuid}`) ||\n (item.id && `id_${item.id}`) ||\n (item.ossId && `id_${item.ossId}`)\n }`\n }\n renderItem={(item) => {\n const { type, filename } = item;\n return (\n <AntdList.Item className={style[\"list-item-outer\"]}>\n <Row\n justify=\"space-between\"\n wrap={false}\n className={style[\"list-item\"]}\n >\n <Col flex={1}>\n <div className={style[\"split\"]} />\n <Space className=\"is-block\" align=\"start\" size={4}>\n <FileType type={last(filename?.split(\".\"))} size={14} />\n {filename}\n </Space>\n </Col>\n {infoItemRenders &&\n infoItemRenders.map((render, index) => {\n return (\n <Col span={render.span || 4} key={index}>\n {type !== \"uploading\" &&\n (typeof render === \"function\"\n ? render\n : render.render)(item)}\n <div className={style[\"split\"]} />\n </Col>\n );\n })}\n <Col className={style[\"list-options\"]}>\n {type !== \"uploading\" ? (\n <OptionButtons\n getPermission={getPermission}\n item={item}\n apis={apis}\n />\n ) : (\n <Space className={style[\"loading\"]}>\n <Spin size=\"small\" />\n <Typography.Link>\n <FormattedMessage id=\"uploading\" moduleName=\"File\" />\n </Typography.Link>\n </Space>\n )}\n </Col>\n </Row>\n </AntdList.Item>\n );\n }}\n bordered\n />\n </IntlProvider>\n );\n};\n\nList.defaultProps = {\n infoItemRenders: [\n (item) => {\n return item.userName ? (\n <Typography.Text>{item.userName}</Typography.Text>\n ) : null;\n },\n (item) => {\n return item.date ? (\n <Typography.Text>\n {dayjs(item.date).format(\"YYYY-MM-DD HH:mm:ss\")}\n </Typography.Text>\n ) : null;\n },\n ],\n};\n\nexport default List;\n\nexport { OptionButtons };\n","import withOSSFile from \"@common/hocs/withOSSFile\";\n\nconst File = withOSSFile(({ data, children, ...props }) => {\n return children({ url: data, ...props });\n});\n\nexport default File;\n","import { Typography } from \"antd\";\nimport useFileModal from \"./useFileModal\";\n\nconst FileLink = ({\n id,\n originName,\n openDownload,\n children,\n modalProps,\n ...props\n}) => {\n const modal = useFileModal();\n return (\n <Typography.Link\n {...props}\n onClick={() => {\n modal({ ...modalProps, id, originName, openDownload });\n }}\n >\n {children || originName}\n </Typography.Link>\n );\n};\n\nFileLink.defaultProps = {\n openDownload: true,\n};\n\nexport default FileLink;\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"style_container__9Fu-3__EWmWd\",\"container-html\":\"style_container-html__IsNVq__EWmWd\",\"html-inner\":\"style_html-inner__S05cI__EWmWd\",\"loading\":\"style_loading__r3aiE__EWmWd\",\"control-bar\":\"style_control-bar__kTKau__EWmWd\",\"scroller\":\"style_scroller__HOq7b__EWmWd\",\"outer\":\"style_outer__ntu--__EWmWd\",\"file-name\":\"style_file-name__UPbbe__EWmWd\",\"file-options\":\"style_file-options__5TE5l__EWmWd\",\"scale-input\":\"style_scale-input__JdF1K__EWmWd\",\"text-outer\":\"style_text-outer__TzhuG__EWmWd\",\"error\":\"style_error__wSaxt__EWmWd\",\"text-inner\":\"style_text-inner__jdi-A__EWmWd\",\"image-inner\":\"style_image-inner__zTiFU__EWmWd\"};","import iFrameResize from \"iframe-resizer\";\nimport { useEffect, useRef } from \"react\";\nimport { getPublicPath } from \"@kne/remote-loader\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\nimport { createWithFetch } from \"@kne/react-fetch\";\n\nconst HtmlInnerPreview = createWithFetch({\n transformResponse: ({ data }) => {\n return {\n data: {\n code: 200,\n results: data,\n },\n };\n },\n})(({ data }) => {\n const ref = useRef(null);\n useEffect(() => {\n const parser = new DOMParser();\n const domDocument = parser.parseFromString(data, \"text/html\");\n domDocument.querySelectorAll(\"script\").forEach((el) => {\n el.parentElement.removeChild(el);\n });\n const scriptPath =\n getPublicPath(\"components-core\") + \"/iframeResizer.contentWindow.js\";\n const script = document.createElement(\"script\");\n script.src = scriptPath;\n domDocument.head.appendChild(script);\n const style = document.createElement(\"style\");\n style.innerText =\n \"html,body{height:auto!important;}body{pointer-events: none;background: #FFFFFF;}\";\n domDocument.head.appendChild(style);\n ref.current.srcdoc = domDocument.documentElement.outerHTML;\n }, [data]);\n useEffect(() => {\n iFrameResize.iframeResize({ checkOrigin: false }, ref.current);\n }, []);\n return <iframe title=\"简历预览\" frameBorder=\"0\" width=\"100%\" ref={ref} />;\n});\n\nconst HtmlPreview = ({ className, url, maxWidth }) => {\n return (\n <div\n className={classnames(className, style[\"container\"])}\n style={{\n maxWidth,\n }}\n >\n <HtmlInnerPreview url={url} />\n {/*<iframe\n title=\"简历预览\"\n src={url}\n frameBorder=\"0\"\n width=\"100%\"\n ref={ref}\n onLoad={() => {\n const scriptPath =\n getPublicPath(\"components-core\") +\n \"/iframeResizer.contentWindow.js\";\n if (!ref.current.contentDocument) {\n console.warn(\n `跨域情况无法开启自动高度计算,请将${scriptPath}脚本加入目标页面`\n );\n return;\n }\n const script = document.createElement(\"script\");\n script.src = scriptPath;\n ref.current.contentDocument.head.appendChild(script);\n ref.current.contentDocument.body.style = \"pointer-events: none;\";\n }}\n />*/}\n </div>\n );\n};\n\nexport default HtmlPreview;\n","import { usePreset } from \"@components/Global\";\nimport { createWithFetch } from \"@kne/react-fetch\";\nimport { typeFormatComponent } from \"./typeFormat\";\n\nconst OfficePreviewInner = createWithFetch({\n cache: \"office-preview\",\n})(({ data, className, ...props }) => {\n const { data: fileList } = data;\n return fileList.map(({ url }) => {\n const PreviewComponent = typeFormatComponent(url);\n return (\n <PreviewComponent {...props} url={url} key={url} className={className} />\n );\n });\n});\n\nconst OfficePreview = ({ id, apis: propsApis, className, ...props }) => {\n const { apis: baseApis } = usePreset();\n const apis = Object.assign({}, baseApis, propsApis);\n return (\n <OfficePreviewInner\n {...props}\n {...apis.previewOffice}\n data={{ id }}\n className={className}\n />\n );\n};\n\nexport default OfficePreview;\n","import { memo, useState } from \"react\";\nimport { Space, Spin } from \"antd\";\nimport { Document, Page, pdfjs } from \"react-pdf\";\nimport \"react-pdf/dist/esm/Page/TextLayer.css\";\nimport style from \"./style.module.scss\";\nimport { useResize } from \"@components/Common\";\nimport { getPublicPath } from \"@kne/remote-loader\";\nimport classnames from \"classnames\";\n\nconst PdfPreview = memo(({ url, maxWidth, scale, rotate, className }) => {\n const [numPages, setNumPages] = useState(0);\n pdfjs.GlobalWorkerOptions.workerSrc =\n getPublicPath(\"components-core\") + \"/pdfjs/build/pdf.worker.js\";\n const [width, setWidth] = useState(maxWidth);\n const ref = useResize(() => {\n if (ref.current && ref.current.clientWidth) {\n setWidth(Math.min(ref.current.clientWidth, maxWidth));\n }\n });\n\n return (\n <div\n ref={ref}\n className={classnames(className, style[\"container\"])}\n style={{\n maxWidth: maxWidth,\n }}\n >\n <Document\n file={{ url }}\n options={{\n standardFontDataUrl:\n getPublicPath(\"components-core\") + \"/pdfjs/standard_fonts/\",\n cMapUrl: getPublicPath(\"components-core\") + \"/pdfjs/cmaps/\",\n cMapPacked: true,\n }}\n error=\"PDF文件加载失败\"\n loading={\n <div className={style[\"loading\"]}>\n <Spin />\n </div>\n }\n noData=\"未指定PDF文件\"\n onLoadSuccess={({ numPages }) => {\n setNumPages(numPages);\n console.log(\"onLoadSuccess\");\n }}\n onLoadError={(props) => {\n console.log(\"onLoadError\", props);\n }}\n onSourceError={(props) => {\n console.log(\"onSourceError\", props);\n }}\n >\n <Space direction=\"vertical\">\n {numPages >= 1 &&\n Array.from(new Array(numPages), (el, index) => (\n <Page\n key={`page_${index}`}\n className=\"preview-item\"\n scale={scale / 100}\n rotate={rotate}\n pageNumber={index + 1}\n width={width}\n loading={null}\n renderAnnotationLayer={false}\n renderTextLayer={true}\n noData=\"未指定页面\"\n />\n ))}\n </Space>\n </Document>\n </div>\n );\n});\n\nPdfPreview.defaultProps = {\n autoSize: true,\n renderTextLayer: false,\n scale: 100,\n rotate: 0,\n maxWidth: 1200,\n};\n\nexport default PdfPreview;\n","import { useState, useEffect } from \"react\";\nimport TextEscape from \"@kne/react-text-escape\";\nimport axios from \"axios\";\nimport style from \"./style.module.scss\";\nimport { Spin } from \"antd\";\nimport classnames from \"classnames\";\n\nconst TextPreview = ({ url, className, maxWidth }) => {\n const [text, setText] = useState(\"\");\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n useEffect(() => {\n axios.get(url).then(\n ({ data }) => {\n setText(data);\n setLoading(false);\n },\n () => {\n setLoading(false);\n setError(true);\n }\n );\n }, [url]);\n\n return (\n <div\n className={classnames(className, style[\"container\"])}\n style={{\n maxWidth,\n }}\n >\n {loading ? (\n <div className={style[\"loading\"]}>\n <Spin />\n </div>\n ) : null}\n <div className={style[\"text-outer\"]}>\n {error ? (\n <div className={style[\"error\"]}>文件加载失败</div>\n ) : (\n <TextEscape text={text} />\n )}\n </div>\n </div>\n );\n};\n\nexport default TextPreview;\n","import { Result } from \"antd\";\nimport style from \"./style.module.scss\";\n\nconst UnknownPreview = ({ maxWidth }) => {\n return (\n <div\n className={style[\"container\"]}\n style={{\n maxWidth,\n }}\n >\n <div className={style[\"text-outer\"]}>\n <Result\n status=\"500\"\n title=\"不支持的文件类型\"\n subTitle=\"系统不支持该文件类型预览,请下载到本地后进行预览\"\n />\n </div>\n </div>\n );\n};\n\nexport default UnknownPreview;\n","import { useEffect, useState } from \"react\";\nimport style from \"./style.module.scss\";\nimport { Spin } from \"antd\";\nimport classnames from \"classnames\";\n\nconst ImagePreview = ({ url, scale, rotate, className, maxWidth }) => {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n useEffect(() => {\n const image = new Image();\n image.src = url;\n const handlerLoad = () => {\n setLoading(false);\n };\n\n const handlerError = () => {\n setLoading(false);\n setError(true);\n };\n\n image.addEventListener(\"load\", handlerLoad);\n image.addEventListener(\"error\", handlerError);\n return () => {\n image.removeEventListener(\"load\", handlerLoad);\n image.removeEventListener(\"error\", handlerError);\n };\n }, [url, scale, rotate]);\n return (\n <div\n className={classnames(className, style[\"container\"])}\n style={{\n maxWidth,\n }}\n >\n {loading ? (\n <div className={style[\"loading\"]}>\n <Spin />\n </div>\n ) : null}\n {error ? (\n <div className={style[\"error\"]}>图片加载失败</div>\n ) : (\n <img src={url} alt=\"简历预览\" />\n )}\n </div>\n );\n};\n\nexport default ImagePreview;\n","import HtmlPreview from \"./HtmlPreview\";\nimport OfficePreview from \"./OfficePreview\";\nimport PdfPreview from \"./PdfPreview\";\nimport TextPreview from \"./TextPreview\";\nimport UnknownPreview from \"./UnknownPreview\";\nimport ImagePreview from \"./ImagePreview\";\n\nconst typeFormat = (url) => {\n const path = (url || \"\").split(\"?\")[0];\n const _path = path.toLowerCase();\n if (/.txt$/.test(_path)) {\n return \"txt\";\n }\n if (/.pdf$/.test(_path)) {\n return \"pdf\";\n }\n if (/.(png|jpg|jpeg)$/.test(_path)) {\n return \"image\";\n }\n if (/.(html|htm)$/.test(_path)) {\n return \"html\";\n }\n if (/.(doc|docx|xls|xlsx|ppt|pptx)$/.test(_path)) {\n return \"office\";\n }\n return \"unknown\";\n};\n\nexport default typeFormat;\n\nexport const typeFormatComponent = (url) => {\n const mapping = {\n txt: TextPreview,\n pdf: PdfPreview,\n image: ImagePreview,\n html: HtmlPreview,\n office: OfficePreview,\n unknown: UnknownPreview,\n };\n\n return mapping[typeFormat(url)];\n};\n","import withOSSFile from \"@common/hocs/withOSSFile\";\nimport typeFormat, { typeFormatComponent } from \"./typeFormat\";\nimport OfficePreview from \"./OfficePreview\";\n\nconst OSSFilePreview = withOSSFile(({ data, id, className, ...props }) => {\n const PreviewComponent = typeFormatComponent(data);\n if (typeFormat(data) === \"office\") {\n return <OfficePreview {...props} id={id} className={className} />;\n }\n return <PreviewComponent {...props} className={className} url={data} />;\n});\n\nexport default OSSFilePreview;\n","import typeFormat from \"./typeFormat\";\nimport OfficePreview from \"./OfficePreview\";\nimport OSSFilePreview from \"./OSSFilePreview\";\n\nconst FilePreview = ({ id, originName, ...props }) => {\n if (typeFormat(originName) === \"office\") {\n return <OfficePreview {...props} id={id} originName={originName} />;\n }\n return <OSSFilePreview {...props} id={id} originName={originName} />;\n};\n\nexport default FilePreview;\n","import useResize from \"@common/hooks/useResize\";\nimport last from \"lodash/last\";\nimport { forwardRef, useRef, useState } from \"react\";\nimport { List } from \"antd\";\nimport Fetch from \"@kne/react-fetch\";\nimport isEqual from \"lodash/isEqual\";\nimport classnames from \"classnames\";\n\nconst defaultColumns = [\n {\n width: 786,\n col: 1,\n size: 15,\n },\n {\n width: 960,\n col: 2,\n size: 12,\n },\n {\n width: 1360,\n col: 3,\n size: 12,\n },\n {\n width: 1680,\n col: 4,\n size: 12,\n },\n {\n width: 1920,\n col: 5,\n size: 15,\n },\n];\n\nexport const useFlexBox = (props) => {\n const { columns, onChange } = Object.assign(\n {},\n { columns: defaultColumns },\n props\n );\n const [column, setColumn] = useState(null);\n const columnRef = useRef(null);\n const ref = useResize((el) => {\n const width = el.clientWidth;\n const column =\n columns.find((item, index) => {\n return item.width >= width;\n }) || last(columns);\n if (!isEqual(column, columnRef.current)) {\n setColumn(column);\n columnRef.current && onChange && onChange(column);\n columnRef.current = column;\n }\n });\n\n return { ref, column };\n};\n\nconst FlexBox = ({ columns, outerClassName, gutter, ...props }) => {\n const { ref, column } = useFlexBox({ columns });\n return (\n <div ref={ref} className={outerClassName}>\n {column && (\n <List\n {...props}\n grid={{\n gutter,\n column: column.col,\n }}\n />\n )}\n </div>\n );\n};\n\nFlexBox.defaultProps = {\n gutter: 16,\n columns: defaultColumns,\n};\n\nFlexBox.Item = List.Item;\n\nconst FlexBoxFetch = forwardRef(\n (\n {\n columns,\n api,\n getFetchApi,\n outerClassName,\n className,\n gutter,\n dataFormat,\n ...props\n },\n forwardRef\n ) => {\n const { ref, column } = useFlexBox({ columns });\n return (\n <div ref={ref} className={outerClassName}>\n {column && (\n <Fetch\n {...(api || getFetchApi(column))}\n ref={forwardRef}\n render={({ data, isComplete }) => {\n return (\n <List\n {...props}\n className={classnames(className, \"loading-container\", {\n \"is-loading\": !isComplete,\n })}\n dataSource={dataFormat(data)}\n grid={{\n gutter,\n column: column.col,\n }}\n />\n );\n }}\n />\n )}\n </div>\n );\n }\n);\n\nFlexBoxFetch.defaultProps = {\n gutter: 16,\n columns: defaultColumns,\n dataFormat: (data) => {\n return data.pageData;\n },\n};\n\nFlexBox.Fetch = FlexBoxFetch;\n\nexport default FlexBox;\n","import { useFormContext, util } from \"@kne/react-form-antd\";\nimport { Popover } from \"antd\";\nimport { useLayoutEffect, useState, useRef, useEffect } from \"react\";\nimport classnames from \"classnames\";\nimport useClickOutside from \"@kne/use-click-outside\";\nimport style from \"./style.module.scss\";\n\nconst useErrorMsg = ({ name, groupName, groupIndex }) => {\n const { emitter, formState } = useFormContext();\n const targetFieldInfo = useRef({ name, groupName, groupIndex });\n targetFieldInfo.current = { name, groupName, groupIndex };\n const formStateRef = useRef(formState);\n formStateRef.current = formState;\n const [currentError, setCurrentError] = useState(null);\n useEffect(() => {\n const target = emitter.addListener(\n \"form-field-validate-complete\",\n ({ id, validate }) => {\n const field = formStateRef.current[id];\n if (!field) {\n return;\n }\n const currentField = targetFieldInfo.current;\n if (\n field.name === currentField.name &&\n (!currentField.groupName ||\n (field.groupName === currentField.groupName &&\n field.groupIndex === currentField.groupIndex))\n ) {\n setCurrentError(\n validate.status === 2\n ? Object.assign({}, validate, {\n label: field.label,\n errMsg: util.compileErrMsg(validate.msg, field.label),\n })\n : null\n );\n }\n }\n );\n return () => {\n target && target.remove();\n };\n }, [emitter]);\n return currentError;\n};\n\nconst ErrorTip = ({\n name,\n groupName,\n overlayClassName,\n errorRender,\n groupIndex,\n children,\n}) => {\n const currentError = useErrorMsg({ name, groupName, groupIndex });\n const [isHover, setIsHover] = useState(false);\n const open = currentError && isHover;\n const errorContent =\n open &&\n errorRender(\n Object.assign({}, currentError, { closeHover: () => setIsHover(false) })\n );\n const popoverChildrenRef = useRef(null),\n popoverContentRef = useRef(null);\n\n const outerRef = useClickOutside(() => {\n setIsHover(false);\n });\n outerRef.current = {\n contains: (target) => {\n return (\n popoverChildrenRef.current.contains(target) ||\n (popoverContentRef.current &&\n popoverContentRef.current.contains(target))\n );\n },\n };\n const [width, setWidth] = useState(0);\n useLayoutEffect(() => {\n const callback = () => {\n const target = popoverChildrenRef.current.querySelector(\n \".react-form__field-component\"\n );\n target && setWidth(target.clientWidth);\n };\n callback();\n const resizeObserver = new ResizeObserver(callback);\n resizeObserver.observe(popoverChildrenRef.current);\n const mutationObserver = new MutationObserver(callback);\n mutationObserver.observe(popoverChildrenRef.current, {\n subtree: true,\n childList: true,\n });\n return () => {\n mutationObserver.disconnect();\n resizeObserver.disconnect();\n };\n }, []);\n return (\n <Popover\n open={!!errorContent}\n overlayClassName={classnames(\n overlayClassName,\n style[\"error-tip-overlay\"]\n )}\n content={\n errorContent && (\n <div\n ref={popoverContentRef}\n style={{ width }}\n className={classnames(style[\"error-tip-overlay-content\"])}\n >\n {errorContent}\n </div>\n )\n }\n placement=\"bottom\"\n transitionName={\"ant-slide-up\"}\n arrow={false}\n >\n <div\n className={classnames(\"error-tip\")}\n ref={popoverChildrenRef}\n onMouseEnter={() => {\n setIsHover(true);\n }}\n >\n {children}\n </div>\n </Popover>\n );\n};\n\nErrorTip.defaultProps = {\n errorRender: () => {\n return null;\n },\n};\n\nexport default ErrorTip;\n","import { Col, Row } from \"antd\";\nimport { useFormContext } from \"@kne/react-form-antd\";\nimport Features from \"@components/Features\";\nimport { Fragment, useEffect, useRef, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport Tooltip from \"@components/Tooltip\";\nimport Icon from \"@components/Icon\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\n\nconst FieldList = ({ list, groupArgs, itemRender }) => {\n const context = useFormContext();\n const contextApi = Object.assign({}, context, groupArgs ? { groupArgs } : {});\n const hiddenRef = useRef(null);\n const [isMount, setIsMount] = useState(false);\n useEffect(() => {\n setIsMount(true);\n }, []);\n\n return (\n <>\n <div ref={hiddenRef} style={{ display: \"none\" }} />\n {list\n .filter((item) => {\n if (typeof item.props.display === \"function\") {\n return item.props.display(contextApi);\n }\n return item.props.display !== false;\n })\n .map((item, index) => {\n const key =\n item.props.name + index ||\n (groupArgs && groupArgs[0] + index) ||\n index;\n const targetProps = { key, list, props: item.props },\n componentProps = Object.assign({}, item.props),\n ComponentItem = item.type;\n [\n \"display\",\n \"block\",\n \"hidden\",\n \"setExtraProps\",\n \"isBlock\",\n \"featureId\",\n // \"tips\",\n ].forEach((key) => {\n if (item.props.hasOwnProperty(key)) {\n targetProps[key] = item.props[key];\n }\n delete componentProps[key];\n });\n\n if (targetProps.hasOwnProperty(\"isBlock\")) {\n componentProps[\"block\"] = targetProps.isBlock;\n }\n\n const innerComponent = (\n <ComponentItem\n {...Object.assign(\n {},\n componentProps,\n typeof targetProps.setExtraProps === \"function\"\n ? targetProps.setExtraProps({\n props: componentProps,\n contextApi,\n })\n : {}\n )}\n onChange={(...args) => {\n return (\n item.props.onChange &&\n item.props.onChange(...args, contextApi)\n );\n }}\n />\n );\n const inner = targetProps.hidden\n ? isMount && createPortal(innerComponent, hiddenRef.current)\n : itemRender(\n targetProps.tips ? (\n <Row gutter={8} align=\"top\">\n <Col flex={1}>{innerComponent}</Col>\n <Col>\n <Tooltip content={targetProps.tips}>\n <span\n className={classnames(style[\"field-tips\"], {\n [style[\"label-hidden\"]]: componentProps.labelHidden,\n })}\n >\n <Icon type=\"icon-xinxi-miaobian\" />\n </span>\n </Tooltip>\n </Col>\n </Row>\n ) : (\n innerComponent\n ),\n targetProps\n );\n return (\n <Fragment key={key}>\n {targetProps.hasOwnProperty(\"featureId\") ? (\n <Features id={targetProps.featureId} key={key}>\n {inner}\n </Features>\n ) : (\n inner\n )}\n </Fragment>\n );\n })}\n </>\n );\n};\n\nexport default FieldList;\n","import { forwardRef, useEffect, useState } from \"react\";\nimport { usePreset } from \"@components/Global\";\nimport get from \"lodash/get\";\nimport formPreset from \"@components/FormInfo/preset\";\nimport { IntlProvider } from \"@components/Intl\";\nimport importMessages from \"@components/FormInfo/locale\";\nimport FormLangProvider from \"@components/FormInfo/FormLangProvider\";\nimport InfoPage from \"@components/InfoPage\";\nimport { Provider as HelperGuideProvider } from \"@components/FormInfo/HelperGuideLabel\";\nimport { FormAntd as ReactForm } from \"@kne/react-form-antd\";\nimport classnames from \"classnames\";\nimport style from \"@components/FormInfo/style.module.scss\";\n\nconst SetPreset = ({ children }) => {\n const [isPreset, setIsPreset] = useState(false);\n const preset = usePreset();\n const formInfo = get(preset, \"formInfo\", {}),\n locale = get(preset, \"locale\");\n useEffect(() => {\n Promise.resolve(formPreset(formInfo, { locale })).then(() => {\n setIsPreset(true);\n });\n }, [formInfo, locale]);\n if (!isPreset) {\n return null;\n }\n return children;\n};\n\nconst Form = forwardRef(\n ({ className, helperGuideName, children, lang, ...props }, ref) => {\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"FormInfo\">\n <FormLangProvider value={lang}>\n <InfoPage>\n <HelperGuideProvider value={helperGuideName}>\n <ReactForm\n {...props}\n ref={ref}\n className={classnames(className, style[\"form-outer\"])}\n >\n <SetPreset>{children}</SetPreset>\n </ReactForm>\n </HelperGuideProvider>\n </InfoPage>\n </FormLangProvider>\n </IntlProvider>\n );\n }\n);\nForm.defaultProps = {\n type: \"inner\",\n};\n\nexport default Form;\n","import { useFormContext } from \"@kne/react-form-antd\";\nimport LoadingButton from \"@components/LoadingButton\";\n\nconst FormApiButton = ({ onClick, ...props }) => {\n const context = useFormContext();\n return (\n <LoadingButton\n {...props}\n onClick={(e) => {\n return onClick(context, e);\n }}\n />\n );\n};\n\nexport default FormApiButton;\n","import Drawer, { useDrawer } from \"@components/Drawer\";\nimport classnames from \"classnames\";\nimport {\n CancelButton,\n FormAntd as Form,\n SubmitButton,\n} from \"@kne/react-form-antd\";\nimport FetchButton from \"@common/components/FetchButton\";\nimport { IntlProvider } from \"@components/Intl\";\nimport style from \"./style.module.scss\";\nimport importMessages from \"./locale\";\n\nconst defaultFooterButtons = [\n { children: \"取消\", ButtonComponent: CancelButton },\n {\n type: \"primary\",\n children: \"保存\",\n ButtonComponent: SubmitButton,\n autoClose: false,\n },\n];\n\nconst computedCommonProps = ({\n className,\n withDecorator,\n footerButtons = defaultFooterButtons,\n formProps,\n ...props\n}) => {\n return {\n ...props,\n footerButtons,\n className: classnames(className, style[\"form-outer\"], style[\"form-drawer\"]),\n withDecorator: (render) => {\n const innerRender = (props) => {\n const _formProps =\n typeof formProps === \"function\" ? formProps(props) : formProps;\n return (\n <Form {..._formProps}>\n <IntlProvider importMessages={importMessages} moduleName=\"FormInfo\">\n {render(props)}\n </IntlProvider>\n </Form>\n );\n };\n return typeof withDecorator === \"function\"\n ? withDecorator(innerRender)\n : innerRender();\n },\n };\n};\n\nconst FormDrawer = (props) => {\n return <Drawer {...computedCommonProps(props)} />;\n};\n\nexport default FormDrawer;\n\nexport const useFormDrawer = () => {\n const drawer = useDrawer();\n return (props) => drawer(computedCommonProps(props));\n};\n\nexport const FormDrawerButton = (props) => {\n const formDrawer = useFormDrawer();\n return <FetchButton {...props} modalFunc={formDrawer} />;\n};\n","import { Col, Row } from \"antd\";\nimport InfoPage from \"@components/InfoPage\";\nimport { useFlexBox } from \"@components/FlexBox\";\nimport FieldList from \"./FieldList\";\nimport style from \"./style.module.scss\";\nimport classnames from \"classnames\";\n\nconst FormInfo = ({ list, groupArgs, column, gap, className, ...props }) => {\n const isFlexBox = !(Number.isInteger(column) && column > 0);\n const { ref: flexBoxRef, column: flexBoxColumn } = useFlexBox(\n isFlexBox ? column : {}\n );\n\n const renderInner = (column, notLayout) => {\n return (\n <Row\n gutter={[gap || 24, 0]}\n className={classnames({\n [style[\"column-not-layout\"]]: notLayout,\n })}\n >\n <FieldList\n list={list}\n groupArgs={groupArgs}\n itemRender={(children, targetProps) => {\n return (\n <Col\n span={\n targetProps.block === true\n ? 24\n : Math.round(24 / (column || 1))\n }\n >\n {children}\n </Col>\n );\n }}\n />\n </Row>\n );\n };\n\n const renderColumn = () => {\n if (!isFlexBox) {\n return renderInner(column);\n }\n if (flexBoxColumn) {\n return renderInner(flexBoxColumn.col);\n }\n\n return renderInner(2, true);\n };\n\n return (\n <InfoPage.Part\n {...props}\n className={classnames(className, style[\"form-info\"])}\n >\n <div ref={flexBoxRef} />\n {renderColumn()}\n </InfoPage.Part>\n );\n};\n\nFormInfo.defaultProps = {\n column: 2,\n list: [],\n};\n\nexport default FormInfo;\n","import { useFormContext } from \"@kne/react-form-antd\";\n\nconst FormItem = ({ children }) => {\n const { openApi, formData } = useFormContext();\n return children({ ...openApi, formData });\n};\n\nexport default FormItem;\n","import { createContext, useContext } from \"react\";\n\nconst context = createContext([]);\n\nexport const { Provider, Consumer } = context;\n\nexport const useFormLang = () => {\n return useContext(context);\n};\n\nexport default Provider;\n","import Modal, { useModal } from \"@components/Modal\";\nimport classnames from \"classnames\";\nimport { CancelButton, SubmitButton } from \"@kne/react-form-antd\";\nimport { Form } from \"./formModule\";\nimport FetchButton from \"@common/components/FetchButton\";\nimport { IntlProvider, FormattedMessage } from \"@components/Intl\";\nimport style from \"./style.module.scss\";\nimport importMessages from \"./locale\";\n\nconst localeModuleName = \"FormInfo\";\n\nconst computedCommonProps = ({\n className,\n withDecorator,\n footerButtons,\n formProps,\n ...props\n}) => {\n return {\n ...props,\n footerButtons: footerButtons || [\n {\n children: (\n <IntlProvider\n importMessages={importMessages}\n moduleName={localeModuleName}\n >\n <FormattedMessage id={\"Cancel\"} moduleName={localeModuleName} />\n </IntlProvider>\n ),\n ButtonComponent: CancelButton,\n },\n {\n type: \"primary\",\n children: (\n <IntlProvider\n importMessages={importMessages}\n moduleName={localeModuleName}\n >\n <FormattedMessage id={\"Save\"} moduleName={localeModuleName} />\n </IntlProvider>\n ),\n ButtonComponent: SubmitButton,\n autoClose: false,\n },\n ],\n className: classnames(className, style[\"form-outer\"], style[\"form-modal\"]),\n withDecorator: (render) => {\n const innerRender = (props) => {\n const _formProps =\n typeof formProps === \"function\" ? formProps(props) : formProps;\n return (\n <Form {..._formProps}>\n <IntlProvider importMessages={importMessages} moduleName=\"FormInfo\">\n {render(props)}\n </IntlProvider>\n </Form>\n );\n };\n return typeof withDecorator === \"function\"\n ? withDecorator(innerRender)\n : innerRender();\n },\n };\n};\n\nconst FormModal = (props) => {\n return <Modal {...computedCommonProps(props)} />;\n};\n\nexport default FormModal;\n\nexport const useFormModal = () => {\n const modal = useModal();\n return (props) => modal(computedCommonProps(props));\n};\n\nexport const FormModalButton = (props) => {\n const formModal = useFormModal();\n return <FetchButton {...props} modalFunc={formModal} />;\n};\n","import FormModal, { FormModalButton, useFormModal } from \"./FormModal\";\nimport { Space, Steps } from \"antd\";\nimport { useState } from \"react\";\nimport {\n CancelButton,\n SubmitButton,\n useFormContext,\n} from \"@kne/react-form-antd\";\n\nconst StepsContent = ({\n setCurrent,\n current,\n items,\n setStepData,\n stepData,\n}) => {\n const currentItem = items[current];\n const { formData } = useFormContext();\n return (\n <Space className=\"full-space\" direction=\"vertical\">\n <Steps\n current={current}\n onChange={(current) => {\n setStepData((stepData) => {\n const newStepData = stepData.slice(0);\n newStepData[current] = formData;\n return newStepData;\n });\n setCurrent(current);\n }}\n items={items}\n />\n {currentItem.children}\n </Space>\n );\n};\n\nconst useSteps = () => {\n const [stepData, setStepData] = useState([]);\n const [current, setCurrent] = useState(0);\n\n return ({ items, formProps }) => {\n const isLastStep = current === items.length - 1;\n return {\n stepData,\n formProps: Object.assign({}, formProps, {\n data: Object.assign({}, formProps.data?.[current], stepData[current]),\n onSubmit: (data) => {\n const newStepData = stepData.slice(0);\n newStepData[current] = data;\n setStepData(newStepData);\n if (isLastStep) {\n return formProps?.onSubmit(stepData);\n }\n setCurrent(current + 1);\n },\n }),\n children: (\n <StepsContent\n items={items}\n current={current}\n setCurrent={setCurrent}\n stepData={stepData}\n setStepData={setStepData}\n />\n ),\n footerButtons: [\n { children: \"取消\", ButtonComponent: CancelButton },\n {\n type: \"primary\",\n children: !isLastStep ? \"下一步\" : \"保存\",\n ButtonComponent: SubmitButton,\n autoClose: false,\n },\n ],\n };\n };\n};\n\nconst FormStepModal = (props) => {\n const createSteps = useSteps();\n const { footerButtons, children, formProps } = createSteps(props);\n return (\n <FormModal {...props} formProps={formProps} footerButtons={footerButtons}>\n {children}\n </FormModal>\n );\n};\n\nexport default FormStepModal;\n\nexport const useFormStepModal = () => {\n const formModal = useFormModal();\n const createSteps = useSteps();\n return (props) => {\n const { footerButtons, children, formProps } = createSteps(props);\n return formModal({\n ...props,\n formProps,\n footerButtons,\n children,\n });\n };\n};\n\nexport const FormStepModalButton = ({ modalProps, ...props }) => {\n const createSteps = useSteps();\n const { footerButtons, children, formProps } = createSteps(modalProps);\n return (\n <FormModalButton\n {...props}\n modalProps={Object.assign({}, modalProps, {\n formProps,\n footerButtons,\n children,\n })}\n />\n );\n};\n","import HelperGuide from \"@components/HelperGuide\";\nimport { createContext, useContext as useReactContext } from \"react\";\nimport { useGroup } from \"@kne/react-form-antd\";\nimport style from \"./style.module.scss\";\n\nconst context = createContext(\"\");\nexport const { Provider } = context;\n\nconst useContext = () => {\n return useReactContext(context);\n};\n\nconst HelperGuideLabel = ({ name }) => {\n const helperGuideName = useContext();\n const group = useGroup();\n return (\n helperGuideName && (\n <HelperGuide\n className={style[\"helper-guide-field\"]}\n name={\n helperGuideName + \"-\" + (group.name ? group.name + \"-\" : \"\") + name\n }\n />\n )\n );\n};\n\nexport default HelperGuideLabel;\n","import { cloneElement, useRef } from \"react\";\nimport { Button, Divider, Typography } from \"antd\";\nimport ConfirmButton from \"@components/ConfirmButton\";\nimport Icon from \"@components/Icon\";\nimport InfoPage from \"@components/InfoPage\";\nimport { GroupList, useFormContext } from \"@kne/react-form-antd\";\nimport FormInfo from \"./FormInfo\";\nimport classnames from \"classnames\";\nimport importMessages from \"./locale\";\nimport { createWithIntl, FormattedMessage, useIntl } from \"@components/Intl\";\nimport get from \"lodash/get\";\nimport style from \"./style.module.scss\";\n\nconst List = createWithIntl({ moduleName: \"FormInfo\", importMessages })(\n ({\n title,\n addText,\n minLength,\n isUnshift,\n maxLength,\n defaultLength,\n label,\n name,\n beforeAdd,\n afterDelete,\n column,\n list,\n listRender,\n itemTitle,\n outer,\n renderChildren,\n className,\n important,\n deleteButtonProps,\n }) => {\n const groupRef = useRef(null);\n const context = useFormContext();\n const { formData } = context;\n const allowAdd = !(\n maxLength && maxLength <= get(formData, `${name}.length`, 0)\n );\n const { formatMessage } = useIntl({ moduleName: \"FormInfo\" });\n const addHandler = () => {\n if (\n typeof beforeAdd === \"function\"\n ? beforeAdd(name, context, {\n isUnshift,\n group: groupRef.current,\n }) !== false\n : true\n ) {\n groupRef.current.onAdd({ isUnshift });\n }\n };\n return (\n <>\n {cloneElement(\n outer,\n {\n title,\n addText,\n className: classnames(className, style[\"list-part\"]),\n allowAdd: isUnshift && allowAdd,\n add: addHandler,\n },\n renderChildren(\n <GroupList name={name} defaultLength={defaultLength} ref={groupRef}>\n {(...groupArgs) => {\n const [key, { index, onRemove, length }] = groupArgs;\n const formInfoProps = {\n key,\n column,\n list:\n typeof list === \"function\"\n ? list(...groupArgs, context)\n : list,\n title:\n typeof itemTitle === \"function\"\n ? itemTitle({\n index,\n key,\n onRemove,\n })\n : itemTitle,\n groupArgs,\n extra: (\n <FormattedMessage id=\"delText\" moduleName=\"FormInfo\">\n {(text) =>\n !(minLength && minLength >= length) ? (\n <ConfirmButton\n danger\n className={\"btn-no-padding\"}\n message={formatMessage(\n { id: \"delConfirm\" },\n { name: label || title }\n )}\n type=\"link\"\n onClick={() => {\n onRemove(key);\n afterDelete && afterDelete(...groupArgs, context);\n }}\n {...Object.assign({}, deleteButtonProps)}\n >\n {deleteButtonProps?.children ? (\n deleteButtonProps?.children\n ) : (\n <>\n <Icon type=\"icon-shanchu\" />\n {text}\n </>\n )}\n </ConfirmButton>\n ) : null\n }\n </FormattedMessage>\n ),\n };\n return (\n <div\n key={key}\n className={classnames(style[\"list-item\"], {\n [style[\"is-important\"]]: important,\n })}\n >\n {typeof listRender === \"function\" ? (\n listRender(formInfoProps)\n ) : (\n <FormInfo\n {...formInfoProps}\n className={style[\"list-item-part\"]}\n gap={16}\n />\n )}\n <Divider />\n </div>\n );\n }}\n </GroupList>\n )\n )}\n {!isUnshift && allowAdd ? (\n <FormattedMessage id=\"addText\" moduleName=\"FormInfo\">\n {(text) => (\n <Button onClick={addHandler}>\n <Icon type=\"icon-tianjia\" />\n {addText || text}\n </Button>\n )}\n </FormattedMessage>\n ) : null}\n </>\n );\n }\n);\n\nconst Outer = ({ add, addText, className, allowAdd, ...props }) => {\n return (\n <InfoPage.Part\n {...props}\n className={className}\n extra={\n allowAdd && (\n <FormattedMessage id=\"addText\" moduleName=\"FormInfo\">\n {(text) => (\n <Typography.Text className={style[\"list-btn\"]} onClick={add}>\n <Icon type=\"icon-tianjia\" />\n {addText || text}\n </Typography.Text>\n )}\n </FormattedMessage>\n )\n }\n />\n );\n};\n\nList.defaultProps = {\n minLength: 0,\n isUnshift: true,\n defaultLength: 1,\n outer: <Outer />,\n renderChildren: (children) => children,\n};\n\nexport default List;\n","import { useRef } from \"react\";\nimport { Button } from \"antd\";\nimport { GroupList, useFormContext } from \"@kne/react-form-antd\";\nimport Icon from \"@components/Icon\";\nimport get from \"lodash/get\";\nimport style from \"./style.module.scss\";\nimport classnames from \"classnames\";\n\nconst MultiField = ({\n name,\n label,\n rule,\n field,\n defaultLength,\n minLength,\n maxLength,\n ...props\n}) => {\n const ref = useRef(null);\n const CurrentFiled = field;\n const context = useFormContext();\n const { formData } = context;\n const allowAdd = !(\n maxLength && maxLength <= get(formData, `${name}.length`, 0)\n );\n return (\n <div className={classnames(style[\"mult-field\"], \"mult-field\")}>\n <GroupList\n ref={ref}\n name={name}\n defaultLength={Math.max(defaultLength, minLength, 1)}\n >\n {(key, { index, onRemove, length }) => {\n return (\n <div\n key={key}\n className={classnames(\n style[\"mult-field-item\"],\n \"mult-field-item\",\n {\n [style[\"first-item\"]]: index === 0,\n }\n )}\n >\n <CurrentFiled {...props} name={name} label={label} rule={rule} />\n <div>\n <div className=\"react-form__field-label\" />\n <Button\n icon={<Icon type=\"shanchu\" />}\n onClick={onRemove}\n disabled={length <= Math.max(minLength, 1)}\n />\n </div>\n </div>\n );\n }}\n </GroupList>\n {allowAdd && (\n <Button\n className={style[\"mult-field-add-btn\"]}\n type=\"dashed\"\n onClick={() => ref.current.onAdd()}\n >\n <Icon type=\"tianjia\" />\n 添加{label}\n </Button>\n )}\n </div>\n );\n};\n\nMultiField.defaultProps = {\n minLength: 1,\n defaultLength: 1,\n};\n\nexport default MultiField;\n","// extracted by mini-css-extract-plugin\nexport default {\"ant-tag\":\"style_ant-tag__7ct2q__EWmWd\",\"overlay\":\"style_overlay__CXfU5__EWmWd\",\"input\":\"style_input__+OpvV__EWmWd\",\"is-disabled\":\"style_is-disabled__uX4qq__EWmWd\",\"input-icon\":\"style_input-icon__E3NjK__EWmWd\",\"large\":\"style_large__vMozz__EWmWd\",\"small\":\"style_small__ubqQ+__EWmWd\",\"input-inner\":\"style_input-inner__sY-6k__EWmWd\",\"input-custom\":\"style_input-custom__Kxq3n__EWmWd\",\"display-content\":\"style_display-content__qA1jn__EWmWd\",\"overlay-footer-extra\":\"style_overlay-footer-extra__yCzWX__EWmWd\",\"selected-tag\":\"style_selected-tag__BZsMM__EWmWd\",\"selected-tag-list\":\"style_selected-tag-list__As0ho__EWmWd\",\"selected-tag-inner\":\"style_selected-tag-inner__2NH59__EWmWd\",\"text-inner\":\"style_text-inner__Bq2Ji__EWmWd\",\"placeholder\":\"style_placeholder__odotY__EWmWd\",\"is-modal\":\"style_is-modal__4cj8L__EWmWd\",\"overlay-content\":\"style_overlay-content__kpGRn__EWmWd\"};","import createContext from \"@common/utils/createContext\";\n\nexport const { context, useContext, Provider, Consumer } = createContext();\n\nexport default context;\n","import style from \"./style.module.scss\";\nimport { Provider, useContext } from \"./context\";\nimport {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\nimport useControlValue from \"@kne/use-control-value\";\nimport { withFetch } from \"@kne/react-fetch\";\nimport get from \"lodash/get\";\nimport { App, Popover, Space, Tag } from \"antd\";\nimport classnames from \"classnames\";\nimport Modal from \"@components/Modal\";\nimport Icon from \"@components/Icon\";\nimport isNil from \"lodash/isNil\";\nimport clone from \"lodash/clone\";\nimport last from \"lodash/last\";\nimport SimpleBar from \"@common/components/SimpleBar\";\n\nconst createValueWithMaxLength =\n ({ maxLength, single, setValue, value, message }) =>\n (newValue) =>\n setValue(\n (() => {\n if (\n !single &&\n Number.isInteger(maxLength) &&\n maxLength > 0 &&\n newValue.length > maxLength\n ) {\n message(`最多选择${maxLength}个`);\n return value;\n }\n return newValue;\n })()\n );\n\nconst renderDisplayLabel = ({ single, value, mapping, onClose }) => {\n if (!value || !Array.isArray(value) || value.length === 0) {\n return null;\n }\n\n if (single) {\n return (\n <span className={style[\"text-inner\"]}>\n {get(mapping.get(value[0]), \"label\") || value[0]}\n </span>\n );\n }\n\n return value.map((item) => {\n const mappingItem = mapping.get(item);\n return (\n <Tag\n key={item}\n className={style[\"display-tag\"]}\n closable\n onClose={(e) => {\n e.preventDefault();\n onClose(item, mappingItem);\n }}\n >\n <span className={style[\"tag-inner\"]}>\n {get(mappingItem, \"label\") || item}\n </span>\n </Tag>\n );\n });\n};\n\nconst ModalContent = forwardRef(\n (\n {\n value: propsValue,\n onChange,\n extra,\n showSelectedTag,\n renderSelectedContent,\n children,\n ...props\n },\n ref\n ) => {\n const [value, setValue] = useState(propsValue);\n const propsValueRef = useRef(propsValue);\n propsValueRef.current = propsValue;\n const [modalOpen, setModalOpen] = useState(false);\n const { message } = App.useApp();\n const setValueWithMaxLength = createValueWithMaxLength({\n maxLength: props.maxLength,\n single: props.single,\n setValue,\n value,\n message: message.error,\n });\n useEffect(() => {\n if (modalOpen) {\n setValue(propsValueRef.current);\n }\n }, [modalOpen]);\n useImperativeHandle(ref, () => {\n return {\n modalOpen: () => {\n setModalOpen(true);\n },\n close: () => {\n setModalOpen(false);\n },\n };\n });\n return (\n <Modal\n {...props}\n open={modalOpen}\n onConfirm={() => {\n onChange(value);\n }}\n onClose={() => {\n setModalOpen(false);\n }}\n footer={\n (showSelectedTag || extra) && (\n <Space direction=\"vertical\" className={style[\"overlay-footer\"]}>\n {extra && (\n <div className={style[\"overlay-footer-extra\"]}>{extra}</div>\n )}\n {showSelectedTag &&\n renderSelectedContent({\n value,\n setValue: setValueWithMaxLength,\n })}\n </Space>\n )\n }\n >\n {typeof children === \"function\"\n ? children({ value, setValue: setValueWithMaxLength })\n : children}\n </Modal>\n );\n }\n);\n\nconst PopupContent = forwardRef(\n (\n {\n value,\n setValue,\n children,\n renderSelectedContent,\n showSelectedTag,\n placement,\n inputContent,\n single,\n extra,\n overlayWidth,\n wrapClassName,\n ...props\n },\n ref\n ) => {\n const [open, setOpen] = useState(false);\n useImperativeHandle(\n ref,\n () => {\n return {\n close: () => {\n setOpen(false);\n },\n };\n },\n []\n );\n return (\n <Popover\n {...props}\n open={open}\n onOpenChange={setOpen}\n overlayClassName={style[\"overlay\"]}\n arrow={false}\n content={\n <div\n style={overlayWidth ? { \"--overlay-width\": overlayWidth } : {}}\n className={style[\"overlay-content\"]}\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n <div className={style[\"overlay-inner\"]}>\n {typeof children === \"function\"\n ? children({\n value,\n setValue: (newValue) => {\n !(single && value[0] === newValue[0]) &&\n setValue(newValue);\n single && setOpen(false);\n },\n })\n : children}\n </div>\n {(showSelectedTag || extra) && (\n <div className={style[\"overlay-footer\"]}>\n {extra && (\n <div className={style[\"overlay-footer-extra\"]}>{extra}</div>\n )}\n {showSelectedTag && renderSelectedContent({ value, setValue })}\n </div>\n )}\n </div>\n }\n trigger=\"click\"\n placement={placement}\n >\n <div className={style[\"input-inner\"]}>{inputContent}</div>\n </Popover>\n );\n }\n);\n\nconst DisplayLabel = withFetch(\n ({ setFetchApi, wrapClassName, ...fetchApi }) => {\n const [hover, setHover] = useState(false);\n const modalRef = useRef(null);\n const popupRef = useRef(null);\n const selectInnerContext = useContext();\n const { valueState, mapping, props } = selectInnerContext;\n const [value, setValue] = valueState;\n const {\n single,\n placement,\n getPopupContainer,\n placeholder,\n isPopup,\n disabled,\n showSelectedTag,\n extra,\n inputContent: inputContentRender,\n } = props;\n const fetchApiRef = useRef(fetchApi);\n fetchApiRef.current = fetchApi;\n\n useEffect(() => {\n setFetchApi(\n Object.assign({}, fetchApiRef.current, {\n data: fetchApi.data,\n isComplete: fetchApi.isComplete,\n })\n );\n }, [fetchApi.data, setFetchApi, fetchApi.isComplete]);\n\n const inner = renderDisplayLabel({\n single,\n value,\n mapping,\n onClose: (item) => {\n setValue((value) => {\n const newValue = value.slice(0);\n const index = value.indexOf(item);\n index > -1 && newValue.splice(index, 1);\n return newValue;\n });\n },\n });\n\n const renderSelectedContent = ({ value, setValue }) => (\n <Space className={style[\"selected-tag\"]} align={\"center\"} wrap>\n <div>\n 已选\n {!props.single &&\n Number.isInteger(props.maxLength) &&\n props.maxLength > 0\n ? `(${value.length}/${props.maxLength})`\n : \"\"}\n :\n </div>\n <SimpleBar className={style[\"selected-tag-list\"]}>\n <div className={style[\"selected-tag-inner\"]}>\n {renderDisplayLabel({\n value,\n mapping,\n onClose: (item) => {\n setValue((value) => {\n const newValue = value.slice(0);\n const index = value.indexOf(item);\n index > -1 && newValue.splice(index, 1);\n return newValue;\n });\n },\n })}\n </div>\n </SimpleBar>\n </Space>\n );\n\n const inputContent = inputContentRender ? (\n inputContentRender(selectInnerContext)\n ) : (\n <Space\n className={style[\"display-content\"]}\n onMouseOver={() => {\n setHover(true);\n }}\n onMouseOut={() => {\n setHover(false);\n }}\n >\n <div>\n {inner || <span className={style[\"placeholder\"]}>{placeholder}</span>}\n </div>\n {hover && value && value.length > 0 && !disabled ? (\n <Icon\n className={classnames(\n style[\"close\"],\n style[\"input-icon\"],\n \"close\",\n \"input-icon\"\n )}\n type=\"icon-shibai\"\n onClick={(e) => {\n e.stopPropagation();\n setValue([]);\n }}\n />\n ) : (\n <Icon\n className={classnames(\n style[\"input-icon\"],\n \"input-icon-arrow\",\n \"input-icon\"\n )}\n type=\"icon-arrow-thin-down\"\n />\n )}\n </Space>\n );\n\n if (isPopup) {\n return (\n <PopupContent\n ref={popupRef}\n overlayWidth={props.overlayWidth}\n value={value}\n setValue={setValue}\n single={single}\n inputContent={inputContent}\n extra={\n typeof extra === \"function\"\n ? extra({\n close: () => popupRef.current.close(),\n context: selectInnerContext,\n })\n : extra\n }\n renderSelectedContent={renderSelectedContent}\n showSelectedTag={showSelectedTag}\n trigger=\"click\"\n placement={placement}\n getPopupContainer={getPopupContainer}\n >\n {props.children}\n </PopupContent>\n );\n }\n\n return (\n <div\n className={style[\"input-inner\"]}\n onClick={() => {\n modalRef.current.modalOpen();\n }}\n >\n <ModalContent\n size={props.modalSize}\n ref={modalRef}\n single={props.single}\n maxLength={props.maxLength}\n disabledScroller\n wrapClassName={classnames(\n style[\"overlay\"],\n style[\"is-modal\"],\n wrapClassName\n )}\n title={props.placeholder}\n value={value}\n onChange={setValue}\n extra={\n typeof extra === \"function\"\n ? extra({\n close: () => modalRef.current.close(),\n context: selectInnerContext,\n })\n : extra\n }\n showSelectedTag={showSelectedTag}\n renderSelectedContent={renderSelectedContent}\n >\n {props.children}\n </ModalContent>\n {inputContent}\n </div>\n );\n }\n);\n\nconst getValueInType = (value, mapping, type) => {\n if (type !== \"all\") {\n return value;\n }\n return value.map((item) => mapping.get(item));\n};\n\nconst setValueInType = (value, setMapping, type) => {\n if (type !== \"all\") {\n return value;\n }\n setMapping(value);\n return value.map((item) => item.value);\n};\n\nconst SelectInnerInput = ({\n api,\n className,\n displayItems,\n wrapClassName,\n ...props\n}) => {\n const [searchText, setSearchText] = useState(\"\");\n const [mapping, setMapping] = useState(\n new Map(displayItems.map((item) => [item.value, item]))\n );\n const [fetchApi, setFetchApi] = useState({});\n const { message } = App.useApp();\n const appendMapping = (items) => {\n const newItems = items.filter((item) => mapping.get(item.value) !== item);\n if (newItems.length === 0) {\n return;\n }\n\n setMapping((mapping) => {\n const newMapping = clone(mapping);\n newItems.forEach((item) => {\n newMapping.set(item.value, item);\n });\n return newMapping;\n });\n };\n\n const transformValue = (value) => {\n return setValueInType(\n props.single ? (isNil(value) ? [] : [value]) : value || [],\n appendMapping,\n props.valueType\n );\n };\n\n const [value, setValue] = useControlValue(\n Object.assign(\n {},\n props,\n {\n onChange: (value) => {\n const newValue = getValueInType(value, mapping, props.valueType);\n props.onChange &&\n props.onChange(props.single ? last(newValue) : newValue);\n },\n },\n \"value\" in props\n ? { value: transformValue(props.value) }\n : { defaultValue: transformValue(props.defaultValue) }\n )\n );\n\n const setValueWithMaxLength = createValueWithMaxLength({\n maxLength: props.maxLength,\n single: props.single,\n setValue,\n value,\n message: message.error,\n });\n\n return (\n <Provider\n value={{\n mapping,\n searchText,\n setSearchText,\n appendMapping,\n setItems: (data) => {\n fetchApi.setData(data);\n appendMapping(get(props.dataFormat(data), \"list\", []));\n },\n fetchApi,\n valueState: [value, setValueWithMaxLength],\n props,\n }}\n >\n <div\n className={classnames(\n style[\n `input${\n props.inputContent && typeof props.inputContent === \"function\"\n ? \"-custom\"\n : \"\"\n }`\n ],\n className\n )}\n >\n <DisplayLabel\n {...api}\n wrapClassName={wrapClassName}\n loading={null}\n setFetchApi={setFetchApi}\n onRequestSuccess={(data) => {\n appendMapping(get(props.dataFormat(data), \"list\", []));\n api.onRequestSuccess && api.onRequestSuccess(data);\n }}\n />\n </div>\n </Provider>\n );\n};\n\nSelectInnerInput.defaultProps = {\n placeholder: \"请选择\",\n displayItems: [],\n extra: null,\n api: {\n loader: () => [],\n },\n dataFormat: (data) => {\n return { list: data };\n },\n placement: \"bottomLeft\",\n getPopupContainer: null,\n showSelectedTag: true,\n};\n\nSelectInnerInput.useContext = useContext;\n\nexport default SelectInnerInput;\n","import List from \"./List\";\nimport FieldList from \"./FieldList\";\nimport { Col, Row } from \"antd\";\nimport clone from \"lodash/clone\";\nimport { forwardRef, useImperativeHandle, useRef, useState } from \"react\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\n\nconst TableHeader = forwardRef((props, ref) => {\n const [headers, setHeaders] = useState(new Map());\n useImperativeHandle(\n ref,\n () => {\n return (targetProps) => {\n setTimeout(() => {\n setHeaders((headers) => {\n if (headers.has(targetProps.key)) {\n return headers;\n }\n const newHeaders = clone(headers);\n newHeaders.set(targetProps.key, targetProps.props);\n return newHeaders;\n });\n });\n };\n },\n []\n );\n\n return (\n <Row\n wrap={false}\n className={style[\"table-list-header\"]}\n style={{\n \"--col-width\": `${100 / headers.size}%`,\n }}\n >\n {Array.from(headers).map(([key, { label, rule }]) => (\n <Col\n key={key}\n className={classnames({\n [style[\"is-req\"]]: (rule || \"\").split(\" \").indexOf(\"REQ\") === 0,\n })}\n >\n {label}\n </Col>\n ))}\n <Col className={style[\"table-list-extra\"]}></Col>\n </Row>\n );\n});\n\nconst TableList = ({ list, className, ...props }) => {\n const headerRef = useRef(null);\n return (\n <List\n {...props}\n className={classnames(className, style[\"table-list\"])}\n list={list}\n renderChildren={(children) => (\n <div className={style[\"table-list-inner\"]}>\n <TableHeader ref={headerRef} />\n {children}\n </div>\n )}\n listRender={({ list, groupArgs, extra, key }) => {\n return (\n <Row\n key={key}\n wrap={false}\n align=\"top\"\n style={{\n \"--col-width\": `${100 / list.length}%`,\n }}\n >\n <FieldList\n list={list}\n groupArgs={groupArgs}\n itemRender={(children, targetProps) => {\n headerRef.current(targetProps);\n return (\n <Col className={style[\"table-list-field\"]} flex={1}>\n {children}\n </Col>\n );\n }}\n />\n <Col className={style[\"table-list-extra\"]}>{extra}</Col>\n </Row>\n );\n }}\n />\n );\n};\n\nexport default TableList;\n","import { hooks } from \"@kne/react-form-antd\";\nimport { AddressInputField, AddressSelectField } from \"@components/Common\";\n\nconst { useOnChange, useDecorator } = hooks;\nconst AddressSelect = (props) => {\n const render = useOnChange(\n Object.assign({}, { placeholder: \"请选择\" + props.label }, props)\n );\n return render(AddressSelectField);\n};\n\nAddressSelect.Field = AddressSelectField;\nAddressSelect.AddressEnum = AddressSelectField.AddressEnum;\nAddressSelect.createAddressApi = AddressSelectField.createAddressApi;\nAddressSelect.withAddressApi = AddressSelectField.withAddressApi;\n\nexport default AddressSelect;\n\nexport const AddressInput = (props) => {\n const render = useDecorator(\n Object.assign(\n {},\n {\n placeholder: \"请选择\" + props.label,\n inputPlaceholder: \"请输入\" + props.label,\n },\n props\n )\n );\n return render(AddressInputField);\n};\n\nAddressInput.Field = AddressInputField;\n","import { hooks } from \"@kne/react-form-antd\";\nimport {\n AdvancedSelectField,\n createListField,\n TableField,\n UserField,\n} from \"@components/Common\";\n\nconst { useOnChange } = hooks;\n\nconst createdField = (WrappedComponent) => {\n const List = (props) => {\n const render = useOnChange(\n Object.assign({}, { placeholder: \"请选择\" + props.label }, props)\n );\n return render(WrappedComponent);\n };\n\n List.field = List.Field = WrappedComponent;\n\n return List;\n};\n\nexport const createdList = ({ renderList, defaultProps }) =>\n createdField(\n createListField({\n renderList,\n defaultProps,\n })\n );\n\nexport const User = createdField(UserField);\nexport const Table = createdField(TableField);\n\nconst AdvancedSelect = createdField(AdvancedSelectField);\nAdvancedSelect.createdList = createdList;\nAdvancedSelect.User = User;\nAdvancedSelect.Table = Table;\nexport default AdvancedSelect;\n","// extracted by mini-css-extract-plugin\nexport default {\"upload-btn\":\"style_upload-btn__-6XtP__EWmWd\",\"square\":\"style_square__UPkfA__EWmWd\",\"is-loading\":\"style_is-loading__wx6Pd__EWmWd\",\"upload-btn-tips\":\"style_upload-btn-tips__YtxWz__EWmWd\",\"drop-tips\":\"style_drop-tips__N-v59__EWmWd\",\"preview-area\":\"style_preview-area__aV3SN__EWmWd\"};","import { forwardRef, useLayoutEffect, useRef, useState } from \"react\";\nimport withInputFile, { InputFileLink } from \"@common/hocs/withInputFile\";\nimport Image from \"@components/Image\";\nimport { usePreset } from \"@components/Global\";\nimport { useModal } from \"@components/Modal\";\nimport Icon from \"@components/Icon\";\nimport {\n Avatar as AntdAvatar,\n Col,\n message,\n Row,\n Slider,\n Space,\n Spin,\n Tooltip,\n} from \"antd\";\nimport AvatarEditor from \"react-avatar-editor\";\nimport get from \"lodash/get\";\nimport classnames from \"classnames\";\nimport { useDebouncedCallback } from \"use-debounce\";\nimport { hooks } from \"@kne/react-form-antd\";\nimport merge from \"lodash/merge\";\nimport style from \"./style.module.scss\";\nimport defaultAvatar from \"../../../../defaultAvatar.svg\";\nimport { IntlProvider, FormattedMessage, useIntl } from \"@components/Intl\";\nimport importMessages from \"@components/FormInfo/locale\";\n\nconst { useOnChange } = hooks;\n\nconst AvatarDisplay = Image.Avatar;\n\nconst localeModuleName = \"FormInfo\";\n\nconst UploadButton = withInputFile(\n ({\n className,\n icon,\n loading,\n value,\n gender,\n width,\n height,\n children,\n shape,\n defaultAvatar,\n apis,\n }) => {\n const inner = (\n <>\n <AvatarDisplay\n id={get(value, \"id\")}\n gender={gender}\n width={(64 * width) / height}\n height={64}\n shape={shape}\n defaultAvatar={defaultAvatar}\n apis={apis}\n />\n <div className={style[\"upload-btn-tips\"]}>\n {icon || <Icon type=\"icon-chuanzhaopian\" size={16} />}\n </div>\n {children}\n </>\n );\n return (\n <div\n className={classnames(className, style[\"upload-btn\"], {\n [style[\"is-loading\"]]: loading,\n [style[\"square\"]]: shape === \"square\" || !(width && width === height),\n })}\n style={{ width: (64 * width) / height }}\n >\n {loading ? <Spin>{inner}</Spin> : inner}\n </div>\n );\n }\n);\n\nconst dataURLtoBlob = (dataURL) => {\n let arr = dataURL.split(\",\");\n // 注意base64的最后面中括号和引号是不转译的\n let _arr = arr[1].substring(0, arr[1].length - 2);\n let mime = arr[0].match(/:(.*?);/)[1],\n bstr = atob(_arr),\n n = bstr.length,\n u8arr = new Uint8Array(n);\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n return new Blob([u8arr], {\n type: mime,\n });\n};\n\nconst ControlAvatarEditor = forwardRef(\n (\n {\n image: propsImage,\n width,\n height,\n borderRadius,\n preview,\n fileSize,\n accept,\n renderTips,\n getApi,\n shape,\n border,\n ...props\n },\n ref\n ) => {\n const intl = useIntl({ moduleName: localeModuleName });\n const [baseWidth, setBaseWidth] = useState(0);\n const outerRef = useRef(null);\n const [image, setImage] = useState(propsImage);\n const [scale, setScale] = useState(1);\n const [rotate, setRotate] = useState(0);\n const [previewImg, setPreviewImg] = useState(\"\");\n const editorRef = useRef(null);\n useLayoutEffect(() => {\n setBaseWidth((outerRef.current.clientWidth * 2) / 3);\n }, []);\n getApi({\n getImage: () => {\n const canvas = editorRef.current.getImage();\n\n const targetCanvas = document.createElement(\"canvas\");\n const targetCtx = targetCanvas.getContext(\"2d\");\n targetCanvas.width = width;\n targetCanvas.height = height;\n\n targetCtx.drawImage(\n canvas,\n 0,\n 0,\n targetCanvas.width,\n targetCanvas.height\n );\n\n return new window.File(\n [dataURLtoBlob(targetCanvas.toDataURL())],\n image.name,\n { type: image.type }\n );\n },\n });\n const makePreviewInner = () => {\n setPreviewImg(editorRef.current.getImage().toDataURL());\n };\n const makePreview = useDebouncedCallback(makePreviewInner, 500);\n\n return (\n <div ref={outerRef}>\n <Row wrap={false} align=\"middle\">\n <Col span={preview ? 16 : 24}>\n {baseWidth && (\n <Space direction=\"vertical\">\n <AvatarEditor\n {...props}\n ref={editorRef}\n image={image}\n scale={scale}\n rotate={rotate}\n width={baseWidth - border * 2}\n height={\n (height * baseWidth) / width - (border * 2 * height) / width\n }\n border={border}\n color={[0, 0, 0, 0.6]}\n borderRadius={(borderRadius * baseWidth) / width}\n onImageReady={makePreviewInner}\n onImageChange={makePreview}\n />\n <div className={style[\"drop-tips\"]}>\n {renderTips(\n `${intl.formatMessage({ id: \"PictureFormat\" })}${accept\n .map((str) => str.replace(/^\\./, \"\"))\n .join(\" \")} ${intl.formatMessage({\n id: \"ImageSize\",\n })}${intl.formatMessage(\n { id: \"NotExceeding\" },\n { size: fileSize }\n )}`,\n {\n accept,\n fileSize,\n }\n )}\n </div>\n <Row gutter={14} align=\"middle\">\n <Col>\n <Tooltip\n title={intl.formatMessage({ id: \"Rotate\" })}\n placement=\"bottom\"\n >\n <Icon\n type=\"icon-xuanzhuan\"\n onClick={() => {\n setRotate((rotate) => {\n return (rotate - 90) % 360;\n });\n }}\n />\n </Tooltip>\n </Col>\n <Col>\n <Tooltip\n title={intl.formatMessage({ id: \"ImageFull\" })}\n placement=\"bottom\"\n >\n <Icon\n type=\"icon-chongman\"\n onClick={() => {\n setScale(1);\n }}\n />\n </Tooltip>\n </Col>\n <Col flex={1}>\n <Slider\n tooltip={{\n placement: \"bottom\",\n formatter: () => intl.formatMessage({ id: \"Size\" }),\n }}\n value={scale}\n step={0.05}\n min={0.2}\n max={3}\n onChange={setScale}\n />\n </Col>\n <Col>\n <InputFileLink\n accept={accept}\n onChange={(fileList) => {\n if (fileList[0].size > fileSize * 1024 * 1024) {\n message.error(\n intl.formatMessage(\n { id: \"FileNotExceeding\" },\n { name: fileList[0].name, size: fileSize }\n )\n );\n return;\n }\n setRotate(0);\n setScale(1);\n setImage(fileList[0]);\n }}\n >\n <FormattedMessage\n id={\"ReUpload\"}\n moduleName={localeModuleName}\n />\n </InputFileLink>\n </Col>\n </Row>\n </Space>\n )}\n </Col>\n {preview && (\n <Col span={8}>\n <div className={style[\"preview-area\"]}>\n <Space direction=\"vertical\">\n <AntdAvatar\n src={previewImg}\n // alt=\"预览\"\n shape={shape}\n style={{\n width: baseWidth / 2 - 36,\n height: ((baseWidth / 2 - 36) * height) / width,\n }}\n />\n <div\n style={{\n textAlign: \"center\",\n }}\n >\n <FormattedMessage\n id={\"Preview\"}\n moduleName={localeModuleName}\n />\n </div>\n </Space>\n </div>\n </Col>\n )}\n </Row>\n </div>\n );\n }\n);\n\nControlAvatarEditor.defaultProps = {\n border: 1,\n};\n\nconst useDropModal = () => {\n const modal = useModal();\n return (props) => {\n const {\n image,\n width,\n height,\n borderRadius,\n getApi,\n preview,\n fileSize,\n accept,\n renderTips,\n border,\n dropModalSize,\n ...others\n } = Object.assign(\n {},\n {\n title: \"编辑头像\",\n width: 200,\n height: 200,\n borderRadius:\n props.shape === \"circle\" &&\n props.width &&\n props.width === props.height\n ? props.width / 2\n : 2,\n preview: true,\n },\n props\n );\n return modal({\n ...others,\n size: dropModalSize,\n children: (\n <ControlAvatarEditor\n preview={preview}\n fileSize={fileSize}\n accept={accept}\n getApi={getApi}\n renderTips={renderTips}\n width={width}\n height={height}\n shape={\n props.shape === \"circle\" &&\n props.width &&\n props.width === props.height\n ? \"circle\"\n : \"square\"\n }\n borderRadius={borderRadius}\n image={image}\n border={border}\n scale={1}\n rotate={0}\n />\n ),\n });\n };\n};\n\nconst AvatarField = ({\n value,\n gender,\n fileSize,\n accept,\n openEditor,\n apis: currentApis,\n renderTips,\n onChange,\n shape,\n width,\n height,\n title,\n border,\n icon,\n dropModalSize,\n defaultAvatar,\n}) => {\n const [loading, setLoading] = useState(false);\n const { apis: baseApis } = usePreset();\n const apis = merge({}, baseApis, currentApis);\n const { ossUpload } = apis;\n const dropRef = useRef(null);\n const dropModal = useDropModal();\n const intl = useIntl({ moduleName: localeModuleName });\n return (\n <UploadButton\n value={value}\n gender={gender}\n accept={accept}\n width={width}\n height={height}\n shape={shape}\n icon={icon}\n loading={loading}\n defaultAvatar={defaultAvatar}\n apis={apis}\n onChange={(fileList) => {\n if (fileList[0].size > fileSize * 1024 * 1024) {\n message.error(\n intl.formatMessage(\n { id: \"FileNotExceeding\" },\n { name: fileList[0].name, size: fileSize }\n )\n );\n return;\n }\n const doUpload = (file) => {\n setLoading(true);\n return ossUpload({ file })\n .then(({ data }) => {\n if (data.code !== 0) {\n message.error(\n intl.formatMessage(\n { id: \"UploadFailed\" },\n { msg: data.msg ? \":\" + data.msg : \"\" }\n )\n );\n return;\n }\n onChange(data.data);\n })\n .finally(() => {\n setLoading(false);\n });\n };\n if (openEditor) {\n dropModal({\n image: fileList[0],\n width,\n height,\n title,\n shape,\n border,\n dropModalSize,\n getApi: (api) => (dropRef.current = api),\n fileSize,\n accept,\n renderTips,\n onConfirm: () => {\n doUpload(dropRef.current.getImage());\n },\n });\n return;\n }\n doUpload(fileList[0]);\n }}\n />\n );\n};\n\nAvatarField.defaultProps = {\n defaultAvatar,\n openEditor: true,\n fileSize: 2,\n width: 200,\n height: 200,\n dropModalSize: \"small\",\n border: 1,\n title: (\n <IntlProvider importMessages={importMessages} moduleName=\"FormInfo\">\n <FormattedMessage id={\"Crop\"} moduleName=\"FormInfo\" />\n </IntlProvider>\n ),\n accept: [\".jpg\", \".png\", \".jpeg\"],\n renderTips: (defaultTips) => {\n return defaultTips;\n },\n shape: \"circle\",\n};\n\nconst Avatar = (props) => {\n const render = useOnChange(props);\n return render(AvatarField);\n};\n\nAvatar.defaultProps = {};\n\nAvatar.Field = Avatar;\nAvatar.useDropModal = useDropModal;\n\nexport default Avatar;\n","import { hooks } from \"@kne/react-form-antd\";\nimport { CascaderField, createTreeUtils } from \"@components/Common\";\nconst { useOnChange } = hooks;\n\nconst Cascader = (props) => {\n const render = useOnChange(\n Object.assign({}, { placeholder: \"请选择\" + props.label }, props)\n );\n return render(CascaderField);\n};\n\nCascader.Field = CascaderField;\nCascader.createTreeUtils = createTreeUtils;\n\nexport { createTreeUtils };\nexport default Cascader;\n","import { FunctionSelectField } from \"@components/Common\";\nimport { hooks } from \"@kne/react-form-antd\";\n\nconst { useOnChange } = hooks;\n\nconst FunctionSelect = (props) => {\n const render = useOnChange(\n Object.assign({}, { placeholder: \"请选择\" + props.label }, props)\n );\n return render(FunctionSelectField);\n};\n\nFunctionSelect.Field = FunctionSelectField;\nFunctionSelect.Enum = FunctionSelectField.Enum;\n\nexport default FunctionSelect;\n","import { IndustrySelectField } from \"@components/Common\";\nimport { hooks } from \"@kne/react-form-antd\";\n\nconst { useOnChange } = hooks;\n\nconst IndustrySelect = (props) => {\n const render = useOnChange(\n Object.assign({}, { placeholder: \"请选择\" + props.label }, props)\n );\n return render(IndustrySelectField);\n};\n\nIndustrySelect.Field = IndustrySelectField;\nIndustrySelect.Enum = IndustrySelectField.Enum;\n\nexport default IndustrySelect;\n","import { Input } from \"antd\";\nimport useControlValue from \"@kne/use-control-value\";\nimport { createWithRemoteLoader } from \"@kne/remote-loader\";\n\nconst InputUpperCaseField = ({ ...props }) => {\n const [value, onChange] = useControlValue(props);\n\n return (\n <Input\n {...props}\n value={value}\n onChange={(e) => {\n onChange(\n e.target.value ? e.target.value.toUpperCase() : e.target.value,\n e\n );\n }}\n />\n );\n};\n\nconst InputUpperCase = createWithRemoteLoader({\n modules: [\"FormInfo@formModule\"],\n})(({ remoteModules, ...props }) => {\n const [formModule] = remoteModules;\n const { hooks } = formModule;\n const { useDecorator } = hooks;\n const render = useDecorator(\n Object.assign({ placeholder: `请输入${props.label || \"\"}` }, props)\n );\n return render(InputUpperCaseField);\n});\n\nInputUpperCase.field = InputUpperCaseField;\n\nexport default InputUpperCase;\n","// extracted by mini-css-extract-plugin\nexport default {\"money-input\":\"style_money-input__Pyur7__EWmWd\",\"money-description\":\"style_money-description__9pFk4__EWmWd\"};","import useControlValue from \"@kne/use-control-value\";\nimport { hooks, util } from \"@kne/react-form-antd\";\nimport { InputNumber } from \"antd\";\nimport changeMoneyToChinese, {\n MAX_NUM,\n} from \"@common/utils/changeMoneyToChinese\";\nimport style from \"./style.module.scss\";\nimport classnames from \"classnames\";\nimport merge from \"lodash/merge\";\nimport { useState } from \"react\";\n\nconst { isNotEmpty } = util;\nconst { useOnChange } = hooks;\nconst MoneyInputField = ({\n chineseEmpty,\n className,\n showError,\n errorDesc,\n transformMoneyToChinese,\n onBlur,\n moneyFormat,\n ...props\n}) => {\n const [status, setStatus] = useState(\"\");\n const [value, onChange] = useControlValue(props);\n const inputNumberProps = merge(\n {\n controls: false,\n precision: 2,\n addonAfter: \"元\",\n },\n props,\n {\n max: isNotEmpty(props.max)\n ? props.max > MAX_NUM\n ? MAX_NUM\n : props.max\n : MAX_NUM,\n }\n );\n return (\n <div className={classnames(className, \"money-input\", style[\"money-input\"])}>\n <InputNumber\n {...inputNumberProps}\n status={status}\n formatter={\n moneyFormat\n ? (value) => {\n return `${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n }\n : null\n }\n parser={(parserValue) => {\n const value = moneyFormat\n ? parserValue?.replace(/\\$\\s?|(,*)/g, \"\")\n : parserValue;\n if (isNotEmpty(value)) {\n if (\n Number(value) > Number(inputNumberProps.max) ||\n (isNotEmpty(inputNumberProps.min) &&\n Number(value) < Number(inputNumberProps.min))\n ) {\n setStatus(\"error\");\n }\n } else {\n setStatus(\"\");\n }\n return isNotEmpty(value) ? Number(value) : null;\n }}\n onChange={(val) => {\n onChange(val);\n }}\n onBlur={(e) => {\n onBlur && onBlur(e, setStatus);\n }}\n />\n <div className={classnames(style[\"money-description\"])}>\n {status === \"error\" && showError\n ? errorDesc\n : isNotEmpty(value)\n ? changeMoneyToChinese(\n transformMoneyToChinese ? transformMoneyToChinese(value) : value\n )\n : chineseEmpty}\n </div>\n </div>\n );\n};\n\nconst MoneyInput = (props) => {\n const render = useOnChange(\n Object.assign({ placeholder: `请输入${props.label || \"\"}` }, props)\n );\n return render(MoneyInputField);\n};\n\nMoneyInput.Field = MoneyInputField;\nMoneyInput.toChineseCharacter = changeMoneyToChinese;\n\nexport default MoneyInput;\n","// extracted by mini-css-extract-plugin\nexport default {\"country-select\":\"style_country-select__Ztf-V__EWmWd\",\"flag-img\":\"style_flag-img__RGhcM__EWmWd\"};","import {\n AsYouType,\n getCountryCallingCode,\n parsePhoneNumber,\n} from \"libphonenumber-js\";\nimport { Input, Select, Space } from \"antd\";\nimport { hooks } from \"@kne/react-form-antd\";\nimport useSimulationBlur from \"@kne/use-simulation-blur\";\nimport useControlValue from \"@kne/use-control-value\";\nimport get from \"lodash/get\";\nimport style from \"./style.module.scss\";\nimport { createWithRemoteLoader } from \"@kne/remote-loader\";\n\nconst { useDecorator } = hooks;\n\nconst CountrySelect = createWithRemoteLoader({\n modules: [\"components-iconfont:CountyFlag\"],\n})(({ remoteModules, value, onChange }) => {\n const [CountyFlag] = remoteModules;\n return (\n <CountyFlag>\n {({ list }) => {\n return (\n <Select\n popupMatchSelectWidth={300}\n className={style[\"country-select\"]}\n value={value || \"CN\"}\n onChange={onChange}\n placeholder=\"请选择国家\"\n showSearch\n filterOption={(input, option) => {\n return option.name.indexOf(input) > -1;\n }}\n optionLabelProp=\"code\"\n options={list.map(({ country_name_cn, country_code, ab }) => ({\n value: ab,\n code: `(+${country_code})`,\n name: country_name_cn,\n label: (\n <Space align=\"center\">\n <span className={style[\"country-name\"]}>\n {country_name_cn}\n </span>\n <div>(+{country_code})</div>\n </Space>\n ),\n }))}\n />\n );\n }}\n </CountyFlag>\n );\n});\n\nconst PhoneNumberField = (props) => {\n const { className, onBlur, name, ...others } = props;\n const [value, onChange] = useControlValue(props);\n const ref = useSimulationBlur(onBlur || (() => {}));\n const parsePhone = (value) => {\n const askType = new AsYouType(get(value, \"code\", \"CN\"));\n return askType.input(get(value, \"value\", \"\"));\n };\n return (\n <div className={className} ref={ref}>\n <Input\n {...others}\n addonBefore={\n <CountrySelect\n value={get(value, \"code\", \"CN\")}\n onChange={(code) => {\n onChange &&\n onChange(\n Object.assign({}, value, {\n code,\n value: parsePhone({ code, value: get(value, \"value\", \"\") }),\n })\n );\n onBlur && onBlur();\n }}\n />\n }\n value={get(value, \"value\", \"\")}\n onChange={(e) => {\n onChange &&\n onChange(\n Object.assign({ code: \"CN\" }, value, {\n value: e.target.value,\n code: get(value, \"code\", \"CN\"),\n })\n );\n }}\n onBlur={(e) => {\n onChange &&\n onChange(\n Object.assign({ code: \"CN\" }, value, {\n value: parsePhone({\n value: e.target.value,\n code: get(value, \"code\", \"CN\"),\n }),\n })\n );\n onBlur && onBlur();\n }}\n />\n </div>\n );\n};\n\nconst PhoneNumber = ({ rule, ...props }) => {\n const render = useDecorator(\n Object.assign(\n {\n placeholder: `请输入${props.label || \"\"}`,\n rule: ((rule) => {\n const rules = (rule || \"\").split(\" \");\n const reqIndex = rules.indexOf(\"REQ\");\n if (reqIndex > -1) {\n rules.splice(reqIndex + 1, 0, \"PHONE_NUMBER\");\n } else {\n rules.unshift(\"PHONE_NUMBER\");\n }\n return rules.join(\" \");\n })(rule),\n },\n props\n )\n );\n return render(PhoneNumberField);\n};\n\nPhoneNumber.Field = PhoneNumberField;\n\nPhoneNumber.defaultProps = {};\n\nPhoneNumber.format = ({ code, value }) => {\n const phoneCode = code ? getCountryCallingCode(code) : null;\n\n if (!phoneCode || !value) {\n return \"\";\n }\n return `+${phoneCode} ${value}`;\n};\n\nPhoneNumber.parsePhoneNumber = ({ phoneNumber }) => {\n const { country, countryCallingCode, nationalNumber } = phoneNumber\n ? parsePhoneNumber(phoneNumber)\n : null;\n\n if (!nationalNumber || !phoneNumber) {\n return \"\";\n }\n return { country, countryCallingCode, nationalNumber };\n};\n\nexport const PHONE_NUMBER = async (value, { field }) => {\n if (\n (field.rule || \"\").split(\" \").indexOf(\"REQ\") > -1 &&\n !get(value, \"value\")\n ) {\n return { result: false, errMsg: \"%s不能为空\" };\n }\n if (!get(value, \"value\")) {\n return { result: true };\n }\n\n const result = await import(\"libphonenumber-js/max\").then(\n ({ isValidPhoneNumber }) => {\n return isValidPhoneNumber(get(value, \"value\", \"\"), {\n defaultCountry: get(value, \"code\", \"CN\"),\n extract: true,\n });\n }\n );\n return { result, errMsg: \"%s格式不正确\" };\n};\n\nexport default PhoneNumber;\n","// extracted by mini-css-extract-plugin\nexport default {\"salary\":\"style_salary__sUOtT__EWmWd\",\"salary-type\":\"style_salary-type__Sl1LC__EWmWd\",\"input-number\":\"style_input-number__eoEZr__EWmWd\",\"full\":\"style_full__NPqJm__EWmWd\",\"input-group\":\"style_input-group__toLB7__EWmWd\",\"input-group-no-mb\":\"style_input-group-no-mb__C4nzh__EWmWd\"};","import React, { cloneElement } from \"react\";\nimport { hooks, Select } from \"@kne/react-form-antd\";\nimport useSimulationBlur from \"@kne/use-simulation-blur\";\nimport { Col, Input, InputNumber, Row } from \"antd\";\nimport style from \"./style.module.scss\";\nimport { IntlProvider, useIntl } from \"@components/Intl\";\nimport importMessages from \"../../locale\";\nimport Enum from \"@components/Enum\";\nimport useControlValue from \"@kne/use-control-value\";\nimport { get } from \"lodash\";\n\nconst { field: SelectField } = Select.Fetch;\n\nconst { useDecorator, useUIDecorator } = hooks;\n\nexport const InputNumberField = (props) => {\n const render = useUIDecorator(props);\n return render(InputNumber);\n};\nconst numberFormat = (value) => {\n if (!value) return \"\";\n const _value = isNaN(Number(value)) ? value : Math.abs(Number(value));\n return value.split(\".\")[1] && value.split(\".\")[1].length > 2\n ? _value.toFixed(2)\n : _value;\n};\n\nconst FormField = ({ children, isError }) => {\n return (\n <div\n style={{ marginBottom: 0 }}\n className={`react-form__field ${isError ? \"is-error\" : \"\"}`}\n >\n <div className=\"react-form__field-main\">\n <div className=\"react-form__field-input\">\n {cloneElement(children, { className: \"react-form__field-component\" })}\n </div>\n </div>\n </div>\n );\n};\n\nconst SalaryInputField = ({\n getPopupContainer,\n onBlur,\n api,\n isRange = true,\n placeholder,\n disabled,\n showMonth,\n remindUnit,\n req,\n ...props\n}) => {\n const [value, onChange] = useControlValue(props);\n const { formatMessage } = useIntl({ moduleName: \"FormInfo\" });\n const _placeholder = formatMessage(\n { id: \"defaultSelectPlaceholder\" },\n { label: \"\" }\n );\n const _placeholderInput = formatMessage(\n { id: \"defaultInputPlaceholder\" },\n { label: \"\" }\n );\n\n const isTenThousand = [6].indexOf(get(value, \"type\")) > -1,\n isFace = get(value, \"type\") === 1,\n isOther = get(value, \"type\") === 7;\n\n const transform = (value) => {\n if (!value) {\n return;\n }\n return isTenThousand ? value / 10000 : value;\n };\n\n const ref = useSimulationBlur(onBlur ? onBlur : () => {});\n\n return (\n <div ref={ref} className={style[\"salary\"]}>\n <Row wrap={false} gutter={10}>\n <Col>\n <SelectField\n className={style[\"salary-type\"]}\n {...api}\n value={get(value, \"type\")}\n onChange={(type) => {\n onChange &&\n onChange(\n Object.assign({}, isFace ? {} : value, {\n type,\n min: \"\",\n max: \"\",\n })\n );\n }}\n placeholder={placeholder || _placeholder}\n getPopupContainer={getPopupContainer}\n disabled={disabled}\n >\n {({ data }) => {\n return { options: data || [] };\n }}\n </SelectField>\n </Col>\n {isFace ? null : (\n <Col flex={1}>\n {isRange && (\n <Row\n className={\n remindUnit && [5, 6].includes(value?.type)\n ? style[\"input-group\"]\n : style[\"input-group-no-mb\"]\n }\n wrap={false}\n >\n <Col flex={1}>\n <FormField isError={!get(value, \"min\") && req}>\n <InputNumber\n disabled={disabled}\n placeholder={_placeholderInput}\n formatter={numberFormat}\n value={transform(get(value, \"min\"))}\n style={{\n textAlign: \"center\",\n }}\n onChange={(min) => {\n onChange(\n Object.assign({}, value, {\n min: isTenThousand ? min * 10000 : min,\n })\n );\n }}\n // status={'warning'}\n description={\n remindUnit && [5, 6].includes(value?.type) ? (\n <span style={{ color: \"#fc3333\" }}>\n 注意:\n <Enum\n name={value?.type}\n moduleName=\"salaryTypeEnum\"\n />\n 的单位为\n {isTenThousand\n ? formatMessage({ id: \"thousand\" })\n : isOther\n ? \"\"\n : formatMessage({ id: \"yuan\" })}\n </span>\n ) : null\n }\n />\n </FormField>\n </Col>\n <Col>\n <Input\n style={{\n width: 30,\n borderLeft: 0,\n borderRight: 0,\n pointerEvents: \"none\",\n }}\n placeholder=\"~\"\n disabled\n />\n </Col>\n <Col flex={1}>\n <FormField isError={!get(value, \"max\") && req}>\n <InputNumber\n disabled={disabled}\n placeholder={_placeholderInput}\n formatter={numberFormat}\n value={transform(get(value, \"max\"))}\n style={{\n textAlign: \"center\",\n }}\n addonAfter={\n isTenThousand\n ? formatMessage({ id: \"thousand\" })\n : isOther\n ? \"\"\n : formatMessage({ id: \"yuan\" })\n }\n onChange={(max) => {\n onChange(\n Object.assign({}, value, {\n max: isTenThousand ? max * 10000 : max,\n })\n );\n }}\n />\n </FormField>\n </Col>\n {get(value, \"type\") === 5 && showMonth && (\n <Col>\n <span\n className={\n get(value, \"max\") &&\n get(value, \"min\") &&\n !get(value, \"month\") &&\n req\n ? \"error\"\n : \"\"\n }\n >\n <span className={style[\"input-number\"]}>X</span>\n <InputNumber\n min={12}\n disabled={disabled}\n value={get(value, \"month\")}\n onChange={(v) => {\n onChange(Object.assign({}, value, { month: v }));\n }}\n style={{\n width: 100,\n textAlign: \"center\",\n }}\n placeholder=\"数量\"\n addonAfter=\"月\"\n />\n </span>\n </Col>\n )}\n </Row>\n )}\n {!isRange && !isOther && (\n <InputNumber\n disabled={disabled}\n min={0}\n max={100000000}\n placeholder={_placeholderInput}\n className={style.full}\n formatter={numberFormat}\n value={transform(get(value, \"max\"))}\n style={{\n textAlign: \"center\",\n }}\n addonAfter={\n isTenThousand\n ? formatMessage({ id: \"thousand\" })\n : isOther\n ? \"\"\n : formatMessage({ id: \"yuan\" })\n }\n onChange={(max) => {\n onChange(\n Object.assign({}, value, {\n max: isTenThousand ? max * 10000 : max,\n })\n );\n }}\n />\n )}\n {!isRange && isOther && (\n <Input\n disabled={disabled}\n placeholder={_placeholderInput}\n className={style.full}\n onChange={(e) => {\n onChange(Object.assign({}, value, { max: e.target.value }));\n }}\n value={get(value, \"max\")}\n style={{\n textAlign: \"center\",\n }}\n />\n )}\n </Col>\n )}\n </Row>\n </div>\n );\n};\nconst SalaryField = (props) => {\n return (\n <IntlProvider moduleName=\"FormInfo\" importMessages={importMessages}>\n <SalaryInputField {...props} />\n </IntlProvider>\n );\n};\n\nSalaryField.defaultProps = {\n api: {\n loader: () => {\n return [\n {\n value: 1,\n label: \"面议\",\n },\n {\n value: 2,\n label: \"时薪\",\n },\n {\n value: 3,\n label: \"日薪\",\n },\n {\n value: 4,\n label: \"周薪\",\n },\n {\n value: 5,\n label: \"月薪\",\n },\n {\n value: 6,\n label: \"年薪\",\n },\n ];\n },\n },\n defaultValue: {\n type: 5,\n min: \"\",\n max: \"\",\n month: 12,\n },\n};\n\nconst SalaryInput = (props) => {\n const render = useDecorator({\n ...props,\n req: props?.rule?.indexOf(\"REQ\") > -1,\n });\n return render(SalaryField);\n};\n\nSalaryInput.Field = SalaryField;\n\nexport default SalaryInput;\n","// extracted by mini-css-extract-plugin\nexport default {\"table\":\"style_table__A9nBK__EWmWd\"};","import { withFetch } from \"@kne/react-fetch\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\nimport { get, omit, pick } from \"lodash\";\nimport { Table } from \"@components/TablePage\";\nimport { hooks } from \"@kne/react-form-antd\";\nimport useControlValue from \"@kne/use-control-value\";\nimport { useEffect, useRef } from \"react\";\n\nconst { useOnChange } = hooks;\n\nconst TableInner = withFetch(({ ...props }) => {\n const [value, onChange] = useControlValue(props);\n const fetchProps = [\n \"isLoading\",\n \"isComplete\",\n \"data\",\n \"requestParams\",\n \"error\",\n \"send\",\n \"refresh\",\n \"reload\",\n \"loadMore\",\n \"setData\",\n ];\n const fetchApi = pick(props, fetchProps);\n const tableProps = omit(props, fetchProps);\n const {\n rowKey = \"id\",\n columns,\n className,\n innerName,\n headerRender,\n footerRender,\n } = tableProps;\n const formatData = props.dataFormat(fetchApi.data);\n\n const handleChange = (list, value, { current, rowKeyValue, dataIndex }) => {\n const result = {};\n const dataList = list.slice(0).map((item) => {\n if (item[rowKey] === rowKeyValue) {\n result[item[rowKey]] = {\n ...item,\n [dataIndex]: current,\n };\n return {\n ...item,\n [dataIndex]: current,\n };\n } else {\n const _currentItem = value[item[rowKey]];\n result[item[rowKey]] = Object.assign({}, item, _currentItem);\n return Object.assign({}, item, _currentItem);\n }\n });\n const data = {\n pageData: dataList,\n totalCount: dataList.length,\n };\n fetchApi.setData(data);\n onChange && onChange(result);\n };\n\n const changeRef = useRef(null);\n changeRef.current = handleChange;\n\n useEffect(() => {\n // 判断value中是否全部存在list属性值\n const hasExist = formatData.list.every((x) => {\n const obj = value[x[rowKey]] || {};\n return Object.keys(x).every((it) => obj.hasOwnProperty(it));\n });\n if (\n (!hasExist || Object.keys(value).length !== formatData.list.length) &&\n fetchApi.isComplete\n ) {\n changeRef.current(formatData.list, value, {});\n }\n }, [fetchApi.isComplete, value, formatData.list, rowKey]);\n\n return (\n <div>\n {headerRender && headerRender(fetchApi)}\n <Table\n {...tableProps}\n className={classnames(style[\"table\"], className)}\n rowKey={rowKey}\n dataSource={formatData.list}\n pagination={false}\n columns={columns.map((column) => {\n const item = { ...column };\n if (item.dataIndex) {\n return Object.assign({}, item, {\n render: (text, record, index) => {\n const editable = item.editable\n ? typeof item.editable === \"function\"\n ? item.editable(text, record, index, formatData.list)\n : item.editable\n : true;\n const rowKeyValue = record[rowKey];\n const valueItem = value[rowKeyValue];\n const defaultValue = get(valueItem, item.dataIndex) || text;\n if (editable && item.field) {\n if (item.field?.render) {\n return (\n <>\n {item.field.render(\n {\n value: defaultValue,\n name: `${innerName}.${rowKeyValue}.${item.dataIndex}`,\n label: \" \",\n labelHidden: item.labelHidden,\n onChange: (...args) => {\n const _value = item.field?.getValue\n ? item.field.getValue(args[0])\n : args[0];\n handleChange(formatData.list, value, {\n current: _value,\n rowKeyValue,\n dataIndex: item.dataIndex,\n });\n return (\n item.field.onChange &&\n item.field.onChange(...args, fetchApi)\n );\n },\n },\n record,\n index,\n fetchApi\n )}\n </>\n );\n }\n const Component = item.field?.type;\n return (\n <Component\n {...omit(item.field, [\"type\", \"getValue\"])}\n value={defaultValue}\n name={`${innerName}.${rowKeyValue}.${item.dataIndex}`}\n label={\" \"}\n labelHidden={item.labelHidden}\n onChange={(...args) => {\n const _value = item.field?.getValue\n ? item.field.getValue(args[0])\n : args[0];\n handleChange(formatData.list, value, {\n current: _value,\n rowKeyValue,\n dataIndex: item.dataIndex,\n });\n return (\n item.field.onChange &&\n item.field.onChange(...args, fetchApi)\n );\n }}\n />\n );\n } else {\n return item.render\n ? item.render(defaultValue, record, index)\n : defaultValue;\n }\n },\n });\n }\n return item;\n })}\n />\n {footerRender && footerRender(fetchApi)}\n </div>\n );\n});\n\nTableInner.defaultProps = {\n mergeList: (data, newData) => {\n return Object.assign({}, newData, {\n pageData: (data.pageData || []).concat(newData.pageData || []),\n });\n },\n dataFormat: (data) => {\n return {\n list: data.pageData,\n total: data.totalCount,\n };\n },\n};\n\nconst TableInputField = ({ api, ...props }) => {\n return <TableInner {...props} {...api} />;\n};\n\nTableInputField.defaultProps = {\n api: {},\n value: {},\n};\n\nconst TableInput = (props) => {\n const render = useOnChange(\n Object.assign(\n {\n placeholder: `请选择${props.label}`,\n innerName: props.name,\n },\n props\n )\n );\n return render(TableInputField);\n};\n\nTableInput.Field = TableInputField;\n\nexport default TableInput;\n","import TypeDateRangePickerField from \"@common/components/TypeDateRangePickerField\";\nimport { hooks } from \"@kne/react-form-antd\";\n\nconst { useOnChange } = hooks;\n\nconst TypeDateRangePicker = (props) => {\n const render = useOnChange(Object.assign({}, {}, props));\n return render(TypeDateRangePickerField);\n};\n\nTypeDateRangePicker.Field = TypeDateRangePickerField;\n\nexport default TypeDateRangePicker;\n","// extracted by mini-css-extract-plugin\nexport default {\"upload\":\"style_upload__t422Q__EWmWd\",\"upload-list\":\"style_upload-list__Q9HDc__EWmWd\",\"upload-input\":\"style_upload-input__vXk4w__EWmWd\",\"tips\":\"style_tips__3Gpnu__EWmWd\"};","import { Space } from \"antd\";\nimport classnames from \"classnames\";\nimport useControlValue from \"@kne/use-control-value\";\nimport style from \"./style.module.scss\";\nimport Icon from \"@components/Icon\";\nimport { List as FileList } from \"@components/File\";\nimport { hooks } from \"@kne/react-form-antd\";\nimport omit from \"lodash/omit\";\nimport { InputFileButton, useFileUpload } from \"@common/hocs/withInputFile\";\n\nconst { useOnChange } = hooks;\n\nconst UploadField = ({\n className,\n fileSize,\n maxLength,\n multiple,\n size,\n accept,\n children,\n renderTips,\n showUploadList,\n onSave,\n ossUpload,\n getPermission,\n ...props\n}) => {\n const [propsValue, onChange] = useControlValue(props);\n const value = propsValue || [];\n const { fileList: uploadingList, onFileSelected } = useFileUpload({\n multiple,\n onSave,\n ossUpload,\n fileSize,\n maxLength,\n value,\n onChange,\n concurrentCount: 10,\n });\n const previewFileList = [...uploadingList, ...value];\n\n const tipsText = renderTips(\n `支持扩展名${accept\n .map((str) => str.replace(/^\\./, \"\"))\n .join(\"、\")},单个文件大小不超过${fileSize}M,最多上传${maxLength}个附件`,\n {\n fileSize,\n maxLength,\n accept,\n }\n );\n\n return (\n <Space direction=\"vertical\">\n <Space>\n <InputFileButton\n {...omit(props, [\"value\", \"onChange\"])}\n size={size}\n multiple={multiple}\n accept={accept}\n className={classnames(style[\"upload\"], className)}\n onChange={onFileSelected}\n >\n {children}\n </InputFileButton>\n {tipsText && <div className={style[\"tips\"]}>{tipsText}</div>}\n </Space>\n {showUploadList && previewFileList.length > 0 && (\n <FileList\n className={style[\"upload-list\"]}\n dataSource={previewFileList}\n infoItemRenders={[]}\n getPermission={\n getPermission\n ? getPermission\n : (type) => {\n return type === \"delete\";\n }\n }\n apis={{\n onDelete: (target) => {\n const newList = value.slice(0);\n const index = newList.indexOf(target);\n index > -1 && newList.splice(index, 1);\n onChange(newList);\n },\n }}\n />\n )}\n </Space>\n );\n};\n\nUploadField.defaultProps = {\n defaultValue: [],\n children: (\n <>\n <Icon type=\"icon-shangchuanfujian\" />\n 上传附件\n </>\n ),\n accept: [\n \".pdf\",\n \".jpg\",\n \".png\",\n \".jpeg\",\n \".doc\",\n \".docx\",\n \".xls\",\n \".xlsx\",\n \".html\",\n \".msg\",\n \".zip\",\n ],\n renderTips: (defaultTips) => {\n return defaultTips;\n },\n multiple: true,\n showUploadList: true,\n maxLength: 10,\n fileSize: 30,\n};\n\nconst Upload = (props) => {\n const render = useOnChange(props);\n return render(UploadField);\n};\n\nUpload.defaultProps = {\n interceptor: \"file-format\",\n};\n\nUpload.Field = UploadField;\n\nexport default Upload;\n","import {\n DatePicker as ReactDatePicker,\n DatePickerToday as ReactDatePickerToday,\n Input as ReactInput,\n InputNumber as ReactInputNumber,\n Select as ReactSelect,\n TextArea as ReactTextArea,\n TimePicker as ReactTimePicker,\n TreeSelect as ReactTreeSelect,\n RadioGroup,\n CheckboxGroup,\n Switch,\n Rate,\n Slider,\n} from \"@kne/react-form-antd\";\nimport AdvancedSelectField from \"./AdvancedSelect\";\nimport AddressSelect, { AddressInput } from \"./AddressSelect\";\nimport Cascader from \"./Cascader\";\nimport FunctionSelect from \"./FunctionSelect\";\nimport IndustrySelect from \"./IndustrySelect\";\nimport MoneyInput from \"./MoneyInput\";\nimport PhoneNumber from \"./PhoneNumber\";\nimport Upload from \"./Upload\";\nimport Avatar from \"./Avatar\";\nimport SalaryInput from \"./SalaryInput\";\nimport InputUpperCaseField from \"./InputUpperCase\";\nimport TableInput from \"./TableInput\";\nimport compose from \"@kne/compose\";\nimport { forwardRef } from \"react\";\nimport { FormattedMessage, useIntl } from \"@components/Intl\";\nimport { useGroup } from \"@kne/react-form-antd\";\nimport get from \"lodash/get\";\nimport { get as _get } from \"lodash\";\nimport { useFormLang } from \"@components/FormInfo/FormLangProvider\";\nimport TypeDateRangePicker from \"./TypeDateRangePicker\";\nimport Tooltip from \"@components/Tooltip\";\nimport Icon from \"@components/Icon\";\nimport { Space } from \"antd\";\nimport classnames from \"classnames\";\nimport style from \"../style.module.scss\";\n\nconst createWithFieldDecorator = (decoratorList) => (WrappedComponent) => {\n const TargetComponent = compose(...decoratorList)(\n ({ forwardedRef, label, placeholder, ...props }) => (\n <WrappedComponent\n {...props}\n label={label}\n labelRender={() =>\n props.tips ? (\n <Space>\n {label}\n <Tooltip content={props.tips}>\n <span\n className={classnames(style[\"field-tips\"], {\n [style[\"label-hidden\"]]: props.labelHidden,\n })}\n >\n <Icon type=\"icon-xinxi-miaobian\" />\n </span>\n </Tooltip>\n </Space>\n ) : (\n label\n )\n }\n ref={forwardedRef}\n />\n )\n );\n const ForwardComponent = forwardRef((props, ref) => {\n return <TargetComponent {...props} forwardedRef={ref} />;\n });\n Object.keys(WrappedComponent)\n .filter((key) => {\n return [\"$$typeof\", \"render\", \"field\"].indexOf(key) === -1;\n })\n .forEach((key) => {\n ForwardComponent[key] = WrappedComponent[key];\n });\n\n return ForwardComponent;\n};\n\nconst withInputDefaultPlaceholder = (WrappedComponent) => {\n return ({ placeholder, label, ...props }) => (\n <FormattedMessage\n id=\"defaultInputPlaceholder\"\n moduleName=\"FormInfo\"\n values={{ label }}\n >\n {(text) => (\n <WrappedComponent\n {...props}\n label={label}\n placeholder={placeholder || text}\n />\n )}\n </FormattedMessage>\n );\n};\n\nconst withSelectDefaultPlaceholder = (WrappedComponent) => {\n return ({ placeholder, label, ...props }) => (\n <FormattedMessage\n id=\"defaultSelectPlaceholder\"\n moduleName=\"FormInfo\"\n values={{ label }}\n >\n {(text) => (\n <WrappedComponent\n {...props}\n label={label}\n placeholder={placeholder || text}\n />\n )}\n </FormattedMessage>\n );\n};\n\nconst withLang = (WrappedComponent) => {\n return (props) => {\n const group = useGroup();\n const groupName = get(group, \"name\");\n const groupIndex = _get(group, \"index\");\n const lang = useFormLang();\n if (lang && Array.isArray(lang) && lang.length > 0) {\n return lang.map((item) => {\n if (typeof item === \"string\") {\n return <WrappedComponent {...props} key={item} />;\n }\n const { name, label, options } = item;\n const ignoreList = get(options, \"ignore\", []),\n disabledList = get(options, \"disabled\", []),\n fields = get(options, \"fields\", []);\n const getCurrentField = (item) =>\n props.name === item.name &&\n !(item.hasOwnProperty(\"groupName\") && item.groupName !== groupName) &&\n !(\n item.hasOwnProperty(\"groupIndex\") && item.groupIndex !== groupIndex\n );\n\n if (ignoreList.length > 0 && ignoreList.find(getCurrentField)) {\n return null;\n }\n\n if (fields.length > 0 && !fields.find(getCurrentField)) {\n return null;\n }\n\n let newProps = Object.assign({}, props, {\n name: get(\n options,\n \"nameTransform\",\n (name, langName) => `${name}${langName}`\n )(props.name, name),\n label: get(\n options,\n \"labelTransform\",\n (label, langLabel) => label && `${label}${langLabel}`\n )(props.label, label),\n });\n\n if (disabledList.length > 0 && disabledList.find(getCurrentField)) {\n newProps.disabled = true;\n newProps.rule = \"\";\n }\n return <WrappedComponent {...newProps} key={name} />;\n });\n }\n\n return <WrappedComponent {...props} />;\n };\n};\n\nconst Input = createWithFieldDecorator([withLang, withInputDefaultPlaceholder])(\n ReactInput\n);\n\nconst InputNumber = createWithFieldDecorator([\n withLang,\n withInputDefaultPlaceholder,\n])(ReactInputNumber);\nInput.Password = createWithFieldDecorator([\n withLang,\n withInputDefaultPlaceholder,\n])(ReactInput.Password);\n\nconst DatePicker = createWithFieldDecorator([\n withLang,\n withSelectDefaultPlaceholder,\n])(ReactDatePicker);\nDatePicker.MonthPicker = createWithFieldDecorator([\n withLang,\n withSelectDefaultPlaceholder,\n])(ReactDatePicker.MonthPicker);\n\nDatePicker.RangePicker = createWithFieldDecorator([\n withLang,\n withSelectDefaultPlaceholder,\n])(ReactDatePicker.RangePicker);\n\nDatePicker.WeekPicker = createWithFieldDecorator([\n withLang,\n withSelectDefaultPlaceholder,\n])(ReactDatePicker.WeekPicker);\n\nconst TimePicker = createWithFieldDecorator([\n withLang,\n withSelectDefaultPlaceholder,\n])(ReactTimePicker);\n\nTimePicker.RangePicker = createWithFieldDecorator([\n withLang,\n withSelectDefaultPlaceholder,\n])(ReactTimePicker.RangePicker);\n\nconst DatePickerToday = createWithFieldDecorator([withLang])(\n ({ placeholder, label, soFarText, ...props }) => {\n const { formatMessage } = useIntl({ moduleName: \"FormInfo\" });\n return (\n <ReactDatePickerToday\n {...props}\n label={label}\n placeholder={[\n formatMessage({ id: \"startDate\" }),\n formatMessage({ id: \"endDate\" }),\n ]}\n soFarText={soFarText || formatMessage({ id: \"soFarText\" })}\n />\n );\n }\n);\n\nconst fields = {\n Input,\n InputNumber,\n DatePicker,\n TimePicker,\n DatePickerToday,\n RadioGroup: createWithFieldDecorator([withLang])(RadioGroup),\n CheckboxGroup: createWithFieldDecorator([withLang])(CheckboxGroup),\n Rate: createWithFieldDecorator([withLang])(Rate),\n Switch: createWithFieldDecorator([withLang])(Switch),\n Slider: createWithFieldDecorator([withLang])(Slider),\n TableInput: createWithFieldDecorator([withLang])(TableInput),\n SalaryInput: createWithFieldDecorator([withLang])(SalaryInput),\n TypeDateRangePicker: createWithFieldDecorator([withLang])(\n TypeDateRangePicker\n ),\n MoneyInput: createWithFieldDecorator([withLang])(MoneyInput),\n PhoneNumber: createWithFieldDecorator([withLang])(PhoneNumber),\n Upload: createWithFieldDecorator([withLang])(Upload),\n Avatar: createWithFieldDecorator([withLang])(Avatar),\n FunctionSelect: createWithFieldDecorator([\n withLang,\n withSelectDefaultPlaceholder,\n ])(FunctionSelect),\n IndustrySelect: createWithFieldDecorator([\n withLang,\n withSelectDefaultPlaceholder,\n ])(IndustrySelect),\n Cascader: createWithFieldDecorator([withLang, withSelectDefaultPlaceholder])(\n Cascader\n ),\n AddressSelect: createWithFieldDecorator([\n withLang,\n withSelectDefaultPlaceholder,\n ])(AddressSelect),\n AddressInput: createWithFieldDecorator([\n withLang,\n withSelectDefaultPlaceholder,\n ])(AddressInput),\n TreeSelect: createWithFieldDecorator([\n withLang,\n withSelectDefaultPlaceholder,\n ])(ReactTreeSelect),\n ReactInputNumber: createWithFieldDecorator([\n withLang,\n withInputDefaultPlaceholder,\n ])(ReactInputNumber),\n InputUpperCase: createWithFieldDecorator([\n withLang,\n withInputDefaultPlaceholder,\n ])(InputUpperCaseField),\n Select: createWithFieldDecorator([withLang, withSelectDefaultPlaceholder])(\n ReactSelect\n ),\n TextArea: createWithFieldDecorator([withLang, withInputDefaultPlaceholder])(\n ReactTextArea\n ),\n AdvancedSelect: createWithFieldDecorator([\n withLang,\n withSelectDefaultPlaceholder,\n ])(AdvancedSelectField),\n};\n\nexport default fields;\n\nexport const fieldDecorator = {\n createWithFieldDecorator,\n withInputDefaultPlaceholder,\n withSelectDefaultPlaceholder,\n withLang,\n};\n","import { hooks } from \"@kne/react-form-antd\";\nimport { Input, Typography } from \"antd\";\nimport useControlValue from \"@kne/use-control-value\";\n\nconst { useDecorator } = hooks;\n\nconst TextField = ({ children, ...props }) => {\n const [value] = useControlValue(props);\n return (\n <Typography.Text {...props}>\n <div style={{ height: 0, width: 0, overflow: \"hidden\" }}>\n <Input value={value} />\n </div>\n {children ? children : value}\n </Typography.Text>\n );\n};\n\nconst Text = (props) => {\n const render = useDecorator(props);\n return render(TextField);\n};\n\nText.Field = TextField;\n\nexport default Text;\n","import * as reactFormAntd from \"@kne/react-form-antd\";\nimport {\n DatePicker as ReactDatePicker,\n DatePickerToday as ReactDatePickerToday,\n Input as ReactInput,\n InputNumber as ReactInputNumber,\n Select as ReactSelect,\n TextArea as ReactTextArea,\n TimePicker as ReactTimePicker,\n TreeSelect as ReactTreeSelect,\n Rate,\n Switch,\n Slider,\n} from \"@kne/react-form-antd\";\nimport Form from \"./Form\";\nimport { FormattedMessage, useIntl } from \"@components/Intl\";\nimport { forwardRef } from \"react\";\nimport FormItem from \"./FormItem\";\nimport style from \"./style.module.scss\";\nimport AdvancedSelectField from \"./fields/AdvancedSelect\";\nimport AddressSelect, {\n AddressInput as AddressInputField,\n} from \"./fields/AddressSelect\";\nimport Cascader from \"./fields/Cascader\";\nimport FunctionSelect from \"./fields/FunctionSelect\";\nimport IndustrySelect from \"./fields/IndustrySelect\";\nimport MoneyInput from \"./fields/MoneyInput\";\nimport PhoneNumber from \"./fields/PhoneNumber\";\nimport Upload from \"./fields/Upload\";\nimport Avatar from \"./fields/Avatar\";\nimport SalaryInput from \"./fields/SalaryInput\";\nimport InputUpperCaseField from \"./fields/InputUpperCase\";\nimport TypeDateRangePicker from \"./fields/TypeDateRangePicker\";\nimport TableInput from \"./fields/TableInput\";\nimport Text from \"./fields/Text\";\nimport ErrorTip from \"./ErrorTip\";\n\nconst withInputDefaultPlaceholder = (WrappedComponent) => {\n const TargetComponent = forwardRef(\n ({ placeholder, label, ...props }, ref) => (\n <FormattedMessage\n id=\"defaultInputPlaceholder\"\n moduleName=\"FormInfo\"\n values={{ label }}\n >\n {(text) => (\n <WrappedComponent\n {...props}\n ref={ref}\n label={label}\n placeholder={placeholder || text}\n />\n )}\n </FormattedMessage>\n )\n );\n Object.keys(WrappedComponent)\n .filter((key) => {\n return [\"$$typeof\", \"render\", \"field\"].indexOf(key) === -1;\n })\n .forEach((key) => {\n TargetComponent[key] = WrappedComponent[key];\n });\n\n return TargetComponent;\n};\n\nconst withTextAreaDefaultPlaceholder =\n (WrappedComponent) =>\n ({ placeholder, label, className, ...props }) =>\n (\n <FormattedMessage\n id=\"defaultInputPlaceholder\"\n moduleName=\"FormInfo\"\n values={{ label }}\n >\n {(text) => (\n <div className={style[\"textarea-wrapped-component\"]}>\n <WrappedComponent\n {...props}\n label={label}\n placeholder={placeholder || text}\n />\n </div>\n )}\n </FormattedMessage>\n );\n\nconst withSelectDefaultPlaceholder = (WrappedComponent) => {\n const TargetComponent = forwardRef(\n ({ placeholder, label, ...props }, ref) => (\n <FormattedMessage\n id=\"defaultSelectPlaceholder\"\n moduleName=\"FormInfo\"\n values={{ label }}\n >\n {(text) => (\n <WrappedComponent\n {...props}\n ref={ref}\n label={label}\n placeholder={placeholder || text}\n />\n )}\n </FormattedMessage>\n )\n );\n\n Object.keys(WrappedComponent)\n .filter((key) => {\n return [\"$$typeof\", \"render\", \"field\"].indexOf(key) === -1;\n })\n .forEach((key) => {\n TargetComponent[key] = WrappedComponent[key];\n });\n\n return TargetComponent;\n};\n\nexport { default as ErrorTip } from \"./ErrorTip\";\n\nexport { default as FormItem } from \"./FormItem\";\n\n// export { default as AdvancedSelect } from \"./fields/AdvancedSelect\";\nexport const AdvancedSelect = withSelectDefaultPlaceholder(AdvancedSelectField);\n\nexport { default as AddressSelect } from \"./fields/AddressSelect\";\nexport const AddressInput = withSelectDefaultPlaceholder(AddressInputField);\n\nexport {\n Cascader,\n FunctionSelect,\n IndustrySelect,\n MoneyInput,\n PhoneNumber,\n Upload,\n Avatar,\n SalaryInput,\n TableInput,\n Text,\n Rate,\n Switch,\n Slider,\n TypeDateRangePicker,\n};\nexport const InputUpperCase = withInputDefaultPlaceholder(InputUpperCaseField);\nexport const Input = withInputDefaultPlaceholder(ReactInput);\nInput.Password = withInputDefaultPlaceholder(ReactInput.Password);\n\nexport const TextArea = withTextAreaDefaultPlaceholder(ReactTextArea);\n\nexport const Select = withSelectDefaultPlaceholder(ReactSelect);\n\nSelect.Fetch = withSelectDefaultPlaceholder(ReactSelect.Fetch);\nSelect.Fetch.field = ReactSelect.Fetch.field;\n\nexport const InputNumber = withInputDefaultPlaceholder(ReactInputNumber);\n\nexport const TreeSelect = withSelectDefaultPlaceholder(ReactTreeSelect);\nTreeSelect.Fetch = withSelectDefaultPlaceholder(ReactTreeSelect.Fetch);\nTreeSelect.Fetch.field = ReactTreeSelect.Fetch.field;\n\nexport const TimePicker = withSelectDefaultPlaceholder(ReactTimePicker);\n\nTimePicker.RangePicker = withSelectDefaultPlaceholder(\n ReactTimePicker.RangePicker\n);\n\nexport const DatePicker = withSelectDefaultPlaceholder(ReactDatePicker);\n\nDatePicker.MonthPicker = withSelectDefaultPlaceholder(\n ReactDatePicker.MonthPicker\n);\n\nDatePicker.RangePicker = withSelectDefaultPlaceholder(\n ReactDatePicker.RangePicker\n);\n\nDatePicker.WeekPicker = withSelectDefaultPlaceholder(\n ReactDatePicker.WeekPicker\n);\n\nexport const DatePickerToday = ({\n placeholder,\n label,\n soFarText,\n ...props\n}) => {\n const { formatMessage } = useIntl({ moduleName: \"FormInfo\" });\n return (\n <ReactDatePickerToday\n {...props}\n label={label}\n placeholder={[\n formatMessage({ id: \"startDate\" }),\n formatMessage({ id: \"endDate\" }),\n ]}\n soFarText={soFarText || formatMessage({ id: \"soFarText\" })}\n />\n );\n};\n\nexport { Form };\n\nexport const formModule = Object.assign({}, reactFormAntd, {\n Input,\n InputUpperCase,\n TextArea,\n Select,\n InputNumber,\n TreeSelect,\n TimePicker,\n DatePicker,\n DatePickerToday,\n Form,\n FormItem,\n AdvancedSelect,\n AddressSelect,\n AddressInput,\n MoneyInput,\n PhoneNumber,\n Cascader,\n FunctionSelect,\n IndustrySelect,\n TypeDateRangePicker,\n Upload,\n Avatar,\n SalaryInput,\n TableInput,\n Text,\n Rate,\n Switch,\n Slider,\n ErrorTip,\n});\n","import preset from \"./preset\";\nimport FormInfo from \"./FormInfo\";\nimport fields, { fieldDecorator } from \"./fields\";\nimport List from \"./List\";\nimport TableList from \"./TableList\";\nimport FormApiButton from \"./FormApiButton\";\nimport FormModal, { useFormModal, FormModalButton } from \"./FormModal\";\nimport FormStepModal, {\n useFormStepModal,\n FormStepModalButton,\n} from \"./FormStepModal\";\nimport FormDrawer, { useFormDrawer, FormDrawerButton } from \"./FormDrawer\";\nimport Form from \"./Form\";\nimport FormItem from \"./FormItem\";\nimport ErrorTip from \"./ErrorTip\";\nimport MultiField from \"./MultiField\";\nimport { SubmitButton, CancelButton } from \"@kne/react-form-antd\";\n\npreset();\n\nFormInfo.fields = fields;\nFormInfo.List = List;\nFormInfo.TableList = TableList;\nFormInfo.FormApiButton = FormApiButton;\nFormInfo.FormModal = FormModal;\nFormInfo.useFormModal = useFormModal;\nFormInfo.FormModalButton = FormModalButton;\nFormInfo.FormStepModal = FormStepModal;\nFormInfo.useFormStepModal = useFormStepModal;\nFormInfo.FormStepModalButton = FormStepModalButton;\nFormInfo.FormDrawer = FormDrawer;\nFormInfo.useFormDrawer = useFormDrawer;\nFormInfo.FormDrawerButton = FormDrawerButton;\nFormInfo.Form = Form;\nFormInfo.FormItem = FormItem;\nFormInfo.ErrorTip = ErrorTip;\nFormInfo.SubmitButton = SubmitButton;\nFormInfo.CancelButton = CancelButton;\nFormInfo.fieldDecorator = fieldDecorator;\nFormInfo.MultiField = MultiField;\n\nexport * from \"@kne/react-form-antd\";\n\nexport * from \"./formModule\";\n\nexport {\n Form,\n FormItem,\n ErrorTip,\n fields,\n fieldDecorator,\n List,\n TableList,\n FormApiButton,\n FormModal,\n useFormModal,\n FormModalButton,\n FormStepModal,\n useFormStepModal,\n FormStepModalButton,\n FormDrawer,\n useFormDrawer,\n FormDrawerButton,\n MultiField,\n};\n\nexport { default as SelectInnerInput } from \"./SelectInnerInput\";\n\nexport default FormInfo;\n","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","import { interceptors, preset, RULES } from \"@kne/react-form-antd\";\nimport dayjs from \"dayjs\";\nimport merge from \"lodash/merge\";\nimport get from \"lodash/get\";\nimport \"@kne/react-form-antd/dist/index.css\";\nimport { PHONE_NUMBER } from \"./fields/PhoneNumber\";\nimport HelperGuideLabel from \"@components/FormInfo/HelperGuideLabel\";\nimport { loadModule } from \"@kne/remote-loader\";\n\nconst formPreset = async (options, otherOptions) => {\n const { locale } = Object.assign({}, otherOptions);\n\n interceptors.input.use(\"photo-string\", (value) => {\n if (value && typeof value === \"string\") {\n const id = value.split(\"?\")[0];\n return { id };\n }\n return value;\n });\n\n interceptors.output.use(\"photo-string\", (value) => {\n if (!value || typeof value === \"string\") {\n return value;\n }\n return value.id?.split(\"?\")?.[0] || value.id;\n });\n\n interceptors.input.use(\"to-array\", (value) => {\n return Array.isArray(value) ? value[0] : value;\n });\n\n interceptors.output.use(\"to-array\", (value) => {\n return [value];\n });\n\n interceptors.input.use(\"array-single\", (value) => {\n return value ? [value] : [];\n });\n\n interceptors.output.use(\"array-single\", (value) => {\n return value ? value[0] : null;\n });\n\n interceptors.input.use(\"boolean-number\", (value) => {\n return value === 1 || value === \"1\";\n });\n\n interceptors.output.use(\"boolean-number\", (value) => {\n return value ? 1 : 0;\n });\n\n interceptors.input.use(\"un-boolean\", (value) => {\n return !value;\n });\n\n interceptors.output.use(\"un-boolean\", (value) => {\n return !value;\n });\n\n interceptors.output.use(\"object-output-value\", (value) => {\n if (!value) {\n return value;\n }\n return value.value || value.id;\n });\n\n interceptors.input.use(\"date-string\", (value) => {\n return value ? dayjs(value) : null;\n });\n\n interceptors.output.use(\"date-string\", (value) => {\n return value ? new Date(value.valueOf()).toISOString() : \"\";\n });\n\n interceptors.input.use(\"date-range-string\", (value) => {\n if (!Array.isArray(value)) {\n return [];\n }\n\n const output = [];\n\n if (value[0]) {\n output.push(dayjs(value[0]));\n }\n if (value[0] && value[1] && value[1] === \"sofar\") {\n output.push(\"至今\");\n }\n if (value[0] && value[1] && value[1] !== \"至今\") {\n output.push(dayjs(value[1]));\n }\n\n return output;\n });\n\n interceptors.output.use(\"date-range-string\", (value) => {\n if (!Array.isArray(value)) {\n return [];\n }\n\n const output = [];\n\n if (value[0]) {\n output.push(new Date(value[0].valueOf()).toISOString());\n }\n if (value[0] && value[1] && value[1] === \"至今\") {\n output.push(\"sofar\");\n }\n if (value[0] && value[1] && value[1] !== \"至今\") {\n output.push(new Date(value[1].valueOf()).toISOString());\n }\n return output;\n });\n\n interceptors.output.use(\"file-format\", (value) => {\n if (!Array.isArray(value)) {\n return [];\n }\n return value.map((item) =>\n Object.assign({}, item, {\n id: item.id || item.ossId,\n originalName: item.filename,\n })\n );\n });\n\n interceptors.input.use(\"file-format\", (value) => {\n if (!Array.isArray(value)) {\n return [];\n }\n return value.map((item) => ({\n id: item.id || item.ossId,\n ossId: item.id || item.ossId,\n filename: item.originalName || item.filename,\n }));\n });\n\n const { default: loadCountyList } = await loadModule(\n \"components-iconfont:CountyFlag@load\"\n );\n const countyList = await loadCountyList();\n\n const countyAbMap = new Map(\n countyList.map(({ ab, country_code }) => [ab, country_code])\n );\n const countyCodeMap = new Map(\n countyList.map(({ ab, country_code }) => [country_code, ab])\n );\n\n interceptors.output.use(\"phone-number-string\", (value) => {\n if (!(value.code && value.value)) {\n return \"\";\n }\n\n return `+${countyAbMap.get(value.code)} ${value.value.replace(/\\s+/g, \"\")}`;\n });\n\n interceptors.input.use(\"phone-number-string\", (value) => {\n if (!value) {\n return {};\n }\n const matcher = value.match(/^\\+(\\d+)\\s(.*)/);\n if (!(matcher && matcher.length >= 3)) {\n return { code: countyCodeMap.get(86), value };\n }\n return { code: countyCodeMap.get(Number(matcher[1])), value: matcher[2] };\n });\n\n const _olderREQ = RULES.REQ;\n const _olderLEN = RULES.LEN;\n\n const getLocaleMsg = (type, values) => {\n values = Object.assign({}, values);\n const mapping = {\n REQ: {\n \"zh-CN\": \"%s不能为空\",\n \"en-US\": \"%s cannot be empty \",\n },\n LENGTH_EQUAL: {\n \"zh-CN\": `%s必须等于${values.end}`,\n \"en-US\": `%s must be equal to ${values.end}`,\n },\n LENGTH_MORE: {\n \"zh-CN\": `%s必须大于${values.start}`,\n \"en-US\": `%s must be greater than ${values.start}`,\n },\n LENGTH_LESS: {\n \"zh-CN\": `%s必须小于${values.end}`,\n \"en-US\": `%s must be less than ${values.end}`,\n },\n };\n const target = get(mapping, `${type}.${locale}`);\n if (target) {\n return target;\n }\n return get(mapping, `${type}.zh-CN`);\n };\n\n preset(\n merge(\n {},\n {\n rules: {\n REQ: (...args) => {\n return Object.assign({}, _olderREQ(...args), {\n errMsg: getLocaleMsg(\"REQ\"),\n });\n },\n LEN: (...args) => {\n const [value, start, end] = args;\n let ruleName = \"\";\n if (end === start && value.length !== Number(end)) {\n ruleName = \"LENGTH_EQUAL\";\n }\n if (value.length < start) {\n ruleName = \"LENGTH_MORE\";\n }\n if (end && value.length > end) {\n ruleName = \"LENGTH_LESS\";\n }\n return Object.assign({}, _olderLEN(...args), {\n errMsg: getLocaleMsg(ruleName, { start, end }),\n });\n },\n PHONE_NUMBER,\n ARRAY_LENGTH: (value, start, end) => {\n if (end === start && value.length !== Number(end)) {\n return {\n result: false,\n errMsg: getLocaleMsg(\"LENGTH_EQUAL\", { start, end }),\n };\n }\n if (value.length < start) {\n return {\n result: false,\n errMsg: getLocaleMsg(\"LENGTH_MORE\", { start, end }),\n };\n }\n if (end && value.length > end) {\n return {\n result: false,\n errMsg: getLocaleMsg(\"LENGTH_LESS\", { start, end }),\n };\n }\n return { result: true };\n },\n },\n field: {\n datePicker: {\n defaultProps: {\n interceptor: \"date-string\",\n },\n },\n rangeDatePicker: {\n defaultProps: {\n interceptor: \"date-range-string\",\n },\n },\n textArea: {\n defaultProps: {\n autoSize: {\n minRows: 2,\n maxRows: 6,\n },\n },\n },\n },\n globalProps: {\n labelTips: (props) => {\n return <HelperGuideLabel {...props} />;\n },\n },\n },\n typeof options === \"function\" ? options({ interceptors, RULES }) : options\n )\n );\n};\n\nexport default formPreset;\n","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","// extracted by mini-css-extract-plugin\nexport default {\"helper-guide\":\"style_helper-guide__K5xFw__EWmWd\",\"inner\":\"style_inner__bMKeU__EWmWd\",\"content\":\"style_content__xTfWZ__EWmWd\",\"link\":\"style_link__93j7O__EWmWd\"};","import importMessages from \"./locale\";\nimport { IntlProvider } from \"@components/Intl\";\nimport Icon from \"@components/Icon\";\nimport { Space, Typography } from \"antd\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\nimport Enum from \"@components/Enum\";\n\nconst HelperGuide = ({ name, className }) => {\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"HelperGuide\">\n <Enum moduleName=\"helperGuide\" name={name}>\n {(data) => {\n return (\n data &&\n data.value && (\n <div className={classnames(style[\"helper-guide\"], className)}>\n <Space className={style[\"inner\"]}>\n <Icon colorful type=\"icon-color-bangzhuyindao\" />\n <span className={style[\"content\"]}>{data.content}</span>\n {data.url && (\n <Typography.Link\n className={style[\"link\"]}\n href={data.url}\n target=\"_blank\"\n >\n 查看帮助\n <Icon type=\"icon-shuangjiantou-right\" />\n </Typography.Link>\n )}\n </Space>\n </div>\n )\n );\n }}\n </Enum>\n </IntlProvider>\n );\n};\n\nexport default HelperGuide;\n","// extracted by mini-css-extract-plugin\nexport default {\"part\":\"style_part__+Vw3+__EWmWd\",\"no-title\":\"style_no-title__nO8sX__EWmWd\",\"part-title\":\"style_part-title__Uw+4K__EWmWd\",\"collapse\":\"style_collapse__ARl-O__EWmWd\",\"is-active\":\"style_is-active__i1zHH__EWmWd\",\"part-title-sub\":\"style_part-title-sub__fcxT7__EWmWd\"};","import { Collapse as CollapseAntd } from \"antd\";\nimport Icon from \"@components/Icon\";\nimport style from \"./style.module.scss\";\nimport classnames from \"classnames\";\n\nconst Collapse = ({ children, className, ...props }) => {\n return (\n <CollapseAntd\n {...props}\n className={classnames(style[\"collapse\"], \"collapse\", className)}\n expandIcon={({ isActive }) => (\n <Icon\n size={12}\n className={classnames({\n [style[\"is-active\"]]: isActive,\n \"is-active\": isActive,\n })}\n type=\"icon-triangle-right\"\n />\n )}\n >\n {children}\n </CollapseAntd>\n );\n};\n\nCollapse.Panel = CollapseAntd.Panel;\n\nexport default Collapse;\n","import { Card, Space } from \"antd\";\nimport classnames from \"classnames\";\nimport Collapse from \"./Collapse\";\nimport style from \"./style.module.scss\";\n\nconst Part = ({ className, title, subTitle, extra, children, ...props }) => {\n return (\n <Card\n className={classnames(style[\"part\"], \"part\", className, {\n \"no-title\": !title,\n [style[\"no-title\"]]: !title,\n })}\n bordered={false}\n title={\n title && (\n <>\n <div className={classnames(\"part-title\", style[\"part-title\"])}>\n {title}\n </div>\n {subTitle && (\n <div\n className={classnames(\n \"part-title-sub\",\n style[\"part-title-sub\"]\n )}\n >\n {subTitle}\n </div>\n )}\n </>\n )\n }\n extra={extra}\n {...props}\n >\n {children}\n </Card>\n );\n};\n\nconst InfoPage = ({ className, children, ...props }) => {\n return (\n <Space {...props} className={className} direction=\"vertical\" size={24}>\n {children}\n </Space>\n );\n};\n\nInfoPage.Part = Part;\nInfoPage.Collapse = Collapse;\nexport default InfoPage;\n","// extracted by mini-css-extract-plugin\nexport default {\"tooltip\":\"style_tooltip__zHGMI__EWmWd\",\"large\":\"style_large__lvmsm__EWmWd\",\"small\":\"style_small__nUt0r__EWmWd\",\"popup-content\":\"style_popup-content__-rKQN__EWmWd\",\"title\":\"style_title__1EQPq__EWmWd\",\"important-info\":\"style_important-info__qTSZY__EWmWd\",\"error\":\"style_error__yTTq3__EWmWd\",\"warning\":\"style_warning__CMJxz__EWmWd\",\"success\":\"style_success__AvJVx__EWmWd\",\"sub-title\":\"style_sub-title__uD8CH__EWmWd\",\"content\":\"style_content__lzgUz__EWmWd\",\"alone\":\"style_alone__q6q82__EWmWd\",\"fetch-content\":\"style_fetch-content__tEOEV__EWmWd\",\"fetch-loading\":\"style_fetch-loading__tN-WB__EWmWd\",\"title-info-icon\":\"style_title-info-icon__iY8Q+__EWmWd\"};","import { Space, Tooltip as AntdTooltip } from \"antd\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\n\nconst Tooltip = ({\n overlayClassName,\n title,\n size,\n subtitle,\n content,\n importantInfo,\n importantInfoType,\n moreInfo,\n ...props\n}) => {\n return (\n <AntdTooltip\n {...props}\n overlayClassName={classnames(overlayClassName, style[\"tooltip\"], {\n [style[\"small\"]]: size === \"small\",\n [style[\"large\"]]: size === \"large\",\n })}\n title={\n <Space direction=\"vertical\" className={style[\"popup-content\"]}>\n {title && <div className={style[\"title\"]}>{title}</div>}\n {importantInfo && (\n <div\n className={classnames(style[\"important-info\"], {\n [style[\"success\"]]: importantInfoType === \"success\",\n [style[\"warning\"]]: importantInfoType === \"warning\",\n [style[\"error\"]]: importantInfoType === \"error\",\n })}\n >\n {importantInfo}\n </div>\n )}\n {subtitle && <div className={style[\"sub-title\"]}>{subtitle}</div>}\n {content && (\n <div\n className={classnames(style[\"content\"], {\n [style[\"alone\"]]: [\n title,\n subtitle,\n importantInfo,\n moreInfo,\n ].every((item) => !item),\n })}\n >\n {content}\n </div>\n )}\n {moreInfo && <div>{moreInfo}</div>}\n </Space>\n }\n />\n );\n};\n\nTooltip.defaultProps = {};\n\nexport default Tooltip;\n","import style from \"./style.module.scss\";\nimport Tooltip from \"./index\";\nimport Icon from \"@components/Icon\";\n\nconst TooltipInfoLabel = ({ title, tooltipTitle }) => {\n return (\n <div>\n {title}\n {tooltipTitle ? (\n <Tooltip {...tooltipTitle}>\n <span>\n <Icon\n type=\"icon-xinxi-miaobian\"\n className={style[\"title-info-icon\"]}\n size={14}\n />\n </span>\n </Tooltip>\n ) : null}\n </div>\n );\n};\n\nexport default TooltipInfoLabel;\n","import { useState } from \"react\";\nimport { useFetch } from \"@kne/react-fetch\";\nimport { Spin } from \"antd\";\nimport style from \"./style.module.scss\";\nimport Tooltip from \"./index\";\nimport classnames from \"classnames\";\n\nconst TooltipFetch = ({\n api,\n children,\n fetchContent,\n showLoading,\n loadingClassName,\n force,\n ...props\n}) => {\n const [open, setOpen] = useState(false);\n const fetchApi = useFetch(Object.assign({}, api, { auto: false }));\n const { isComplete, isLoading, data, send } = fetchApi;\n return (\n <Tooltip\n {...Object.assign(\n {},\n props,\n isComplete ? fetchContent(data, fetchApi) : {}\n )}\n open={open}\n onOpenChange={async (open) => {\n if (open && (!isComplete || force)) {\n await send({ type: \"refresh\" });\n }\n setOpen(open);\n }}\n >\n <span className={style[\"fetch-content\"]}>\n {children}\n {showLoading && isLoading ? (\n <Spin\n size=\"small\"\n className={classnames(loadingClassName, style[\"fetch-loading\"])}\n />\n ) : null}\n </span>\n </Tooltip>\n );\n};\n\nTooltipFetch.defaultProps = {\n showLoading: true,\n};\n\nexport default TooltipFetch;\n","// extracted by mini-css-extract-plugin\nexport default {\"form-outer\":\"style_form-outer__IWUs0__EWmWd\",\"form-drawer\":\"style_form-drawer__uYDXS__EWmWd\",\"table-list\":\"style_table-list__6lp-A__EWmWd\",\"list-item\":\"style_list-item__hVzQa__EWmWd\",\"table-list-inner\":\"style_table-list-inner__uc8DK__EWmWd\",\"table-list-field\":\"style_table-list-field__JSJfB__EWmWd\",\"table-list-header\":\"style_table-list-header__KXvKa__EWmWd\",\"is-req\":\"style_is-req__LfXQf__EWmWd\",\"table-list-extra\":\"style_table-list-extra__faYTK__EWmWd\",\"list-btn\":\"style_list-btn__WKYkm__EWmWd\",\"form-info\":\"style_form-info__B8bAP__EWmWd\",\"list-part\":\"style_list-part__Ld0GA__EWmWd\",\"is-important\":\"style_is-important__vaBk1__EWmWd\",\"list-item-part\":\"style_list-item-part__MzKP7__EWmWd\",\"money-input\":\"style_money-input__J86Pb__EWmWd\",\"money-description\":\"style_money-description__Gz3p7__EWmWd\",\"components-upload-wrapper\":\"style_components-upload-wrapper__Ir0gz__EWmWd\",\"textarea-wrapped-component\":\"style_textarea-wrapped-component__r1oKc__EWmWd\",\"helper-guide-field\":\"style_helper-guide-field__Wke3w__EWmWd\",\"error-tip-overlay\":\"style_error-tip-overlay__aNCGc__EWmWd\",\"error-tip-overlay-content\":\"style_error-tip-overlay-content__kDOoQ__EWmWd\",\"column-not-layout\":\"style_column-not-layout__+SXC+__EWmWd\",\"mult-field-item\":\"style_mult-field-item__eS0nJ__EWmWd\",\"first-item\":\"style_first-item__fLirI__EWmWd\",\"mult-field-add-btn\":\"style_mult-field-add-btn__5Baxz__EWmWd\"};"],"names":["locale","en-US","zh-CN","withConfirm","WrappedComponent","ConfirmComponent","createWithIntl","moduleName","importMessages","_ref","title","message","isDelete","onClick","onCancel","disabled","showCancel","cancelText","isModal","okText","placement","getContainer","props","formatMessage","useIntl","modal","useConfirmModal","_jsx","e","type","danger","confirmType","id","onOk","Popconfirm","_jsxs","Space","direction","stopPropagation","children","size","align","className","style","Icon","classnames","onConfirm","okButtonProps","overlayClassName","getPopupContainer","defaultProps","ConfirmLink","Typography","Link","ConfirmText","Text","Button","baseLoaders","value","description","EnumLoaderFetch","withFetch","data","getEnumsMap","memoize","enums","Map","concat","Object","keys","assign","map","key","EnumLoader","_ref2","loader","enumsLoader","global","enumsRef","useGlobalContext","prevLocaleRef","useRef","async","arguments","params","length","undefined","name","force","getEnumMap","current","get","output","item","toString","Array","isArray","console","warn","set","Promise","all","target","then","enumMap","from","values","isNil","Enum","_ref3","preset","usePreset","_ref4","downloadBlobFile","res","filename","download","url","element","document","createElement","event","MouseEvent","href","dispatchEvent","Error","test","prototype","call","blob","Blob","URL","createObjectURL","axios","responseType","useDownload","staticUrl","staticUrlProps","apis","currentApis","onError","onSuccess","App","useApp","baseApis","staticUrlBase","downLoading","setDownLoading","useState","paramsType","paramsName","oss","fetchProps","isLoading","error","refresh","otherProps","useFetch","auto","showError","useRefCallback","successHandler","useEffect","catch","Download","api","icon","loading","useFileModal","useModal","useCallback","originName","openDownload","modalProps","footer","success","FilePreview","OptionButtons","hasPreview","getPermission","formModal","useFormModal","fileModal","onPreview","modalApi","formProps","dropRight","split","join","onSubmit","onEdit","formData","last","close","FormInfo","column","list","Input","label","rule","DownloadButton","ConfirmButton","onDelete","List","dataSource","infoItemRenders","IntlProvider","AntdList","index","rowKey","uuid","ossId","renderItem","Item","Row","justify","wrap","Col","flex","FileType","render","span","Spin","FormattedMessage","bordered","userName","date","dayjs","format","withOSSFile","FileLink","HtmlInnerPreview","createWithFetch","transformResponse","code","results","ref","domDocument","DOMParser","parseFromString","querySelectorAll","forEach","el","parentElement","removeChild","scriptPath","getPublicPath","script","src","head","appendChild","innerText","srcdoc","documentElement","outerHTML","iFrameResize","checkOrigin","frameBorder","width","maxWidth","OfficePreviewInner","cache","fileList","PreviewComponent","typeFormatComponent","_createElement","propsApis","previewOffice","PdfPreview","memo","scale","rotate","numPages","setNumPages","pdfjs","GlobalWorkerOptions","workerSrc","setWidth","useResize","clientWidth","Math","min","Document","file","options","standardFontDataUrl","cMapUrl","cMapPacked","noData","onLoadSuccess","log","onLoadError","onSourceError","Page","pageNumber","renderAnnotationLayer","renderTextLayer","autoSize","text","setText","setLoading","setError","TextEscape","Result","status","subTitle","image","Image","handlerLoad","handlerError","addEventListener","removeEventListener","alt","typeFormat","_path","toLowerCase","txt","TextPreview","pdf","ImagePreview","html","HtmlPreview","office","OfficePreview","unknown","UnknownPreview","OSSFilePreview","defaultColumns","col","useFlexBox","columns","onChange","setColumn","columnRef","find","isEqual","FlexBox","outerClassName","gutter","grid","FlexBoxFetch","forwardRef","getFetchApi","dataFormat","Fetch","isComplete","pageData","ErrorTip","groupName","errorRender","groupIndex","currentError","emitter","formState","useFormContext","targetFieldInfo","formStateRef","setCurrentError","addListener","validate","field","currentField","errMsg","util","compileErrMsg","msg","remove","useErrorMsg","isHover","setIsHover","errorContent","closeHover","popoverChildrenRef","popoverContentRef","useClickOutside","contains","useLayoutEffect","callback","querySelector","resizeObserver","ResizeObserver","observe","mutationObserver","MutationObserver","subtree","childList","disconnect","Popover","open","content","transitionName","arrow","onMouseEnter","groupArgs","itemRender","context","contextApi","hiddenRef","isMount","setIsMount","_Fragment","display","filter","targetProps","componentProps","ComponentItem","hasOwnProperty","isBlock","innerComponent","setExtraProps","_len","args","_key","inner","hidden","createPortal","tips","Tooltip","labelHidden","Fragment","Features","featureId","SetPreset","isPreset","setIsPreset","formInfo","resolve","formPreset","Form","helperGuideName","lang","FormLangProvider","InfoPage","HelperGuideProvider","ReactForm","LoadingButton","defaultFooterButtons","ButtonComponent","CancelButton","SubmitButton","autoClose","computedCommonProps","withDecorator","footerButtons","innerRender","_formProps","Drawer","useFormDrawer","drawer","useDrawer","FormDrawerButton","formDrawer","FetchButton","modalFunc","gap","isFlexBox","Number","isInteger","flexBoxRef","flexBoxColumn","renderInner","notLayout","FieldList","block","round","Part","openApi","createContext","Provider","Consumer","useFormLang","useContext","localeModuleName","Modal","FormModalButton","StepsContent","setCurrent","items","setStepData","stepData","currentItem","Steps","newStepData","slice","useSteps","_formProps$data","isLastStep","createSteps","FormModal","useFormStepModal","FormStepModalButton","useReactContext","group","useGroup","HelperGuide","addText","minLength","isUnshift","maxLength","defaultLength","beforeAdd","afterDelete","listRender","itemTitle","outer","renderChildren","important","deleteButtonProps","groupRef","allowAdd","addHandler","onAdd","cloneElement","add","GroupList","onRemove","formInfoProps","extra","Divider","MultiField","CurrentFiled","max","createValueWithMaxLength","single","setValue","newValue","renderDisplayLabel","mapping","onClose","mappingItem","Tag","closable","preventDefault","ModalContent","propsValue","showSelectedTag","renderSelectedContent","propsValueRef","modalOpen","setModalOpen","setValueWithMaxLength","useImperativeHandle","PopupContent","inputContent","overlayWidth","wrapClassName","setOpen","onOpenChange","trigger","DisplayLabel","_ref5","setFetchApi","fetchApi","hover","setHover","modalRef","popupRef","selectInnerContext","valueState","placeholder","isPopup","inputContentRender","fetchApiRef","indexOf","splice","_ref6","SimpleBar","onMouseOver","onMouseOut","modalSize","disabledScroller","SelectInnerInput","_ref7","displayItems","searchText","setSearchText","setMapping","appendMapping","newItems","newMapping","clone","transformValue","setValueInType","valueType","useControlValue","getValueInType","defaultValue","setItems","setData","onRequestSuccess","TableHeader","headers","setHeaders","setTimeout","has","newHeaders","headerRef","useOnChange","useDecorator","hooks","AddressSelect","AddressSelectField","Field","AddressEnum","createAddressApi","withAddressApi","AddressInput","inputPlaceholder","AddressInputField","createdField","User","UserField","Table","TableField","AdvancedSelect","AdvancedSelectField","createdList","renderList","createListField","AvatarDisplay","Avatar","UploadButton","withInputFile","gender","height","shape","defaultAvatar","dataURLtoBlob","dataURL","arr","_arr","substring","mime","match","bstr","atob","n","u8arr","Uint8Array","charCodeAt","ControlAvatarEditor","propsImage","borderRadius","preview","fileSize","accept","renderTips","getApi","border","intl","baseWidth","setBaseWidth","outerRef","setImage","setScale","setRotate","previewImg","setPreviewImg","editorRef","getImage","canvas","targetCanvas","targetCtx","getContext","drawImage","window","File","toDataURL","makePreviewInner","makePreview","useDebouncedCallback","AvatarEditor","color","onImageReady","onImageChange","str","replace","Slider","tooltip","formatter","step","InputFileLink","AntdAvatar","textAlign","useDropModal","dropModalSize","others","AvatarField","openEditor","merge","ossUpload","dropRef","dropModal","doUpload","finally","defaultTips","Cascader","CascaderField","createTreeUtils","FunctionSelect","FunctionSelectField","IndustrySelect","IndustrySelectField","InputUpperCaseField","toUpperCase","InputUpperCase","createWithRemoteLoader","modules","remoteModules","formModule","isNotEmpty","MoneyInputField","chineseEmpty","errorDesc","transformMoneyToChinese","onBlur","moneyFormat","setStatus","inputNumberProps","controls","precision","addonAfter","MAX_NUM","InputNumber","parser","parserValue","val","changeMoneyToChinese","MoneyInput","toChineseCharacter","CountrySelect","CountyFlag","Select","popupMatchSelectWidth","showSearch","filterOption","input","option","optionLabelProp","country_name_cn","country_code","ab","PhoneNumberField","useSimulationBlur","parsePhone","AsYouType","addonBefore","PhoneNumber","rules","reqIndex","unshift","phoneCode","getCountryCallingCode","parsePhoneNumber","phoneNumber","country","countryCallingCode","nationalNumber","PHONE_NUMBER","result","_ref8","isValidPhoneNumber","defaultCountry","extract","SelectField","useUIDecorator","numberFormat","_value","isNaN","abs","toFixed","FormField","isError","marginBottom","SalaryInputField","isRange","showMonth","remindUnit","req","_placeholder","_placeholderInput","isTenThousand","isFace","isOther","transform","includes","borderLeft","borderRight","pointerEvents","v","month","SalaryField","SalaryInput","_props$rule","TableInner","pick","tableProps","omit","innerName","headerRender","footerRender","formatData","handleChange","rowKeyValue","dataIndex","dataList","_currentItem","totalCount","changeRef","every","x","obj","it","pagination","record","editable","valueItem","_item$field","_item$field3","_item$field2","getValue","Component","_item$field4","_len2","_key2","mergeList","newData","total","TableInputField","TableInput","TypeDateRangePicker","TypeDateRangePickerField","UploadField","multiple","showUploadList","onSave","uploadingList","onFileSelected","useFileUpload","concurrentCount","previewFileList","tipsText","InputFileButton","FileList","newList","Upload","interceptor","createWithFieldDecorator","decoratorList","TargetComponent","compose","forwardedRef","labelRender","ForwardComponent","withInputDefaultPlaceholder","withSelectDefaultPlaceholder","withLang","_get","ignoreList","disabledList","fields","getCurrentField","newProps","langName","langLabel","ReactInput","ReactInputNumber","Password","DatePicker","ReactDatePicker","MonthPicker","RangePicker","WeekPicker","TimePicker","ReactTimePicker","DatePickerToday","soFarText","ReactDatePickerToday","RadioGroup","CheckboxGroup","Rate","Switch","TreeSelect","ReactTreeSelect","ReactSelect","TextArea","ReactTextArea","fieldDecorator","TextField","overflow","reactFormAntd","FormItem","TableList","FormApiButton","FormStepModal","FormDrawer","otherOptions","interceptors","use","_value$id","_value$id$split","Date","valueOf","toISOString","push","originalName","default","loadCountyList","loadModule","countyList","countyAbMap","countyCodeMap","matcher","_olderREQ","RULES","REQ","_olderLEN","LEN","getLocaleMsg","LENGTH_EQUAL","end","LENGTH_MORE","start","LENGTH_LESS","ruleName","ARRAY_LENGTH","datePicker","rangeDatePicker","textArea","minRows","maxRows","globalProps","labelTips","HelperGuideLabel","colorful","Collapse","CollapseAntd","expandIcon","isActive","Panel","Card","subtitle","importantInfo","importantInfoType","moreInfo","AntdTooltip","tooltipTitle","TooltipFetch","fetchContent","showLoading","loadingClassName","send"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"static/js/4319.53f307cb.chunk.js","mappings":"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","sources":["components/ConfirmButton/locale/index.js","webpack://@kne-components/components-core/./src/components/ConfirmButton/style.module.scss?9447","components/ConfirmButton/index.js","components/Enum/index.js","components/File/Download.js","webpack://@kne-components/components-core/./src/components/File/style.module.scss?4020","components/File/useFileModal.js","components/File/locale/index.js","components/File/List/OptionButtons.js","webpack://@kne-components/components-core/./src/components/File/List/style.module.scss?58ad","components/File/List/index.js","components/File/File.js","components/File/FileLink.js","webpack://@kne-components/components-core/./src/components/FilePreview/style.module.scss?a805","components/FilePreview/HtmlPreview.js","components/FilePreview/OfficePreview.js","components/FilePreview/PdfPreview.js","components/FilePreview/TextPreview.js","components/FilePreview/UnknownPreview.js","components/FilePreview/ImagePreview.js","components/FilePreview/typeFormat.js","components/FilePreview/OSSFilePreview.js","components/FilePreview/FilePreview.js","components/FlexBox/index.js","components/FormInfo/ErrorTip.js","components/FormInfo/FieldList.js","components/FormInfo/Form.js","components/FormInfo/FormApiButton.js","components/FormInfo/FormDrawer.js","components/FormInfo/FormInfo.js","components/FormInfo/FormItem.js","components/FormInfo/FormLangProvider.js","components/FormInfo/FormModal.js","components/FormInfo/FormStepModal.js","components/FormInfo/HelperGuideLabel.js","components/FormInfo/List.js","components/FormInfo/MultiField.js","webpack://@kne-components/components-core/./src/components/FormInfo/SelectInnerInput/style.module.scss?b967","components/FormInfo/SelectInnerInput/context.js","components/FormInfo/SelectInnerInput/index.js","components/FormInfo/TableList.js","components/FormInfo/fields/AddressSelect.js","components/FormInfo/fields/AdvancedSelect.js","webpack://@kne-components/components-core/./src/components/FormInfo/fields/Avatar/style.module.scss?d6b0","components/FormInfo/fields/Avatar/index.js","components/FormInfo/fields/Cascader.js","components/FormInfo/fields/FunctionSelect.js","components/FormInfo/fields/IndustrySelect.js","components/FormInfo/fields/InputUpperCase/index.js","webpack://@kne-components/components-core/./src/components/FormInfo/fields/MoneyInput/style.module.scss?25be","components/FormInfo/fields/MoneyInput/index.js","webpack://@kne-components/components-core/./src/components/FormInfo/fields/PhoneNumber/style.module.scss?c00f","components/FormInfo/fields/PhoneNumber/index.js","webpack://@kne-components/components-core/./src/components/FormInfo/fields/SalaryInput/style.module.scss?6af8","components/FormInfo/fields/SalaryInput/index.js","webpack://@kne-components/components-core/./src/components/FormInfo/fields/TableInput/style.module.scss?72b7","components/FormInfo/fields/TableInput/index.js","components/FormInfo/fields/TypeDateRangePicker.js","webpack://@kne-components/components-core/./src/components/FormInfo/fields/Upload/style.module.scss?391a","components/FormInfo/fields/Upload/index.js","components/FormInfo/fields/index.js","components/FormInfo/fields/Text/index.js","components/FormInfo/formModule.js","components/FormInfo/index.js","components/FormInfo/locale/index.js","components/FormInfo/preset.js","components/HelperGuide/locale/index.js","webpack://@kne-components/components-core/./src/components/HelperGuide/style.module.scss?bc31","components/HelperGuide/index.js","webpack://@kne-components/components-core/./src/components/InfoPage/style.module.scss?d163","components/InfoPage/Collapse.js","components/InfoPage/index.js","webpack://@kne-components/components-core/./src/components/Tooltip/style.module.scss?c30c","components/Tooltip/tooltip.js","components/Tooltip/tooltipInfoLabel.js","components/Tooltip/tooltipFetch.js","webpack://@kne-components/components-core/./src/components/FormInfo/style.module.scss?d1ff"],"sourcesContent":["const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","// extracted by mini-css-extract-plugin\nexport default {\"overlay\":\"style_overlay__99t5t__XDz7c\",\"is-danger\":\"style_is-danger__gxyAB__XDz7c\",\"title\":\"style_title__EEPu2__XDz7c\",\"content\":\"style_content__mZZg5__XDz7c\",\"has-title\":\"style_has-title__5+PEt__XDz7c\"};","import React from \"react\";\nimport { Button, Popconfirm, Space, Typography } from \"antd\";\nimport importMessages from \"./locale\";\nimport Icon from \"@components/Icon\";\nimport { createWithIntl, useIntl } from \"@components/Intl\";\nimport { useConfirmModal } from \"@components/Modal\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\n\nexport const withConfirm = (WrappedComponent) => {\n const ConfirmComponent = createWithIntl({\n moduleName: \"ConfirmButton\",\n importMessages,\n })(\n ({\n title,\n message,\n isDelete = true,\n onClick,\n onCancel,\n disabled,\n showCancel,\n cancelText,\n isModal,\n okText,\n placement,\n getContainer,\n ...props\n }) => {\n const { formatMessage } = useIntl({ moduleName: \"ConfirmButton\" });\n const modal = useConfirmModal();\n if (isModal) {\n return (\n <WrappedComponent\n {...props}\n disabled={disabled}\n onClick={(e) => {\n modal({\n type: \"confirm\",\n title: title,\n getContainer,\n danger: isDelete,\n confirmType: isDelete ? \"warning\" : \"info\",\n message: message || formatMessage({ id: \"message\" }),\n okText: okText\n ? okText\n : isDelete\n ? formatMessage({ id: \"delete\" })\n : formatMessage({ id: \"confirm\" }),\n cancelText: cancelText || formatMessage({ id: \"cancel\" }),\n onCancel,\n onOk: onClick,\n });\n }}\n />\n );\n }\n return (\n <Popconfirm\n title={\n <Space\n direction=\"vertical\"\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n {title && (\n <Space size={0} align=\"start\" className={style[\"title\"]}>\n {isDelete && (\n <Icon className=\"title-icon\" type=\"icon-tishi-tianchong\" />\n )}\n {title}\n </Space>\n )}\n <Space\n size={0}\n align=\"start\"\n className={classnames(style[\"content\"], {\n [style[\"has-title\"]]: title,\n })}\n >\n {!title && isDelete ? (\n <Icon className=\"title-icon\" type=\"icon-tishi-tianchong\" />\n ) : null}\n {message || formatMessage({ id: \"message\" })}\n </Space>\n </Space>\n }\n placement={placement}\n onConfirm={onClick}\n okButtonProps={{\n danger: isDelete,\n }}\n onCancel={onCancel}\n overlayClassName={classnames(style[\"overlay\"], {\n [style[\"is-danger\"]]: isDelete,\n })}\n getPopupContainer={getContainer}\n disabled={disabled}\n showCancel={showCancel}\n cancelText={cancelText}\n okText={\n okText\n ? okText\n : isDelete\n ? formatMessage({ id: \"delete\" })\n : formatMessage({ id: \"confirm\" })\n }\n >\n <WrappedComponent {...props} disabled={disabled} />\n </Popconfirm>\n );\n }\n );\n\n ConfirmComponent.defaultProps = {\n isModal: false,\n showCancel: true,\n };\n\n return ConfirmComponent;\n};\n\nexport const ConfirmLink = withConfirm(Typography.Link);\nexport const ConfirmText = withConfirm(Typography.Text);\n\nexport default withConfirm(Button);\n","import { useRef } from \"react\";\nimport { withFetch } from \"@kne/react-fetch\";\nimport { useGlobalContext, usePreset } from \"@components/Global\";\nimport memoize from \"lodash/memoize\";\nimport isNil from \"lodash/isNil\";\n\nconst baseLoaders = [\n [\n \"gender\",\n () => [\n { value: \"M\", description: \"男\" },\n {\n value: \"F\",\n description: \"女\",\n },\n ],\n ],\n [\n \"marital\",\n () => [\n { description: \"已婚\", value: \"Y\" },\n {\n description: \"未婚\",\n value: \"N\",\n },\n ],\n ],\n [\n \"confirm\",\n () => [\n { description: \"是\", value: \"Y\" },\n {\n description: \"否\",\n value: \"N\",\n },\n ],\n ],\n [\n \"political\",\n () => [\n { description: \"中共党员\", value: \"中共党员\" },\n {\n description: \"共青团员\",\n value: \"共青团员\",\n },\n { description: \"群众\", value: \"群众\" },\n {\n description: \"其他党派\",\n value: \"其他党派\",\n },\n ],\n ],\n [\n \"phoneStateEnum\",\n () => [\n {\n value: 0,\n description: \"空号\",\n },\n {\n value: 1,\n description: \"实号\",\n },\n {\n value: 2,\n description: \"停机\",\n },\n {\n value: 3,\n description: \"库无\",\n },\n {\n value: 4,\n description: \"沉默号\",\n },\n {\n value: 5,\n description: \"风险号\",\n },\n ],\n ],\n [\n \"degreeEnum\",\n () => [\n {\n description: \"初中\",\n value: 10,\n },\n {\n description: \"中专\",\n value: 20,\n },\n {\n description: \"高中\",\n value: 30,\n },\n {\n description: \"大专\",\n value: 40,\n },\n {\n description: \"本科\",\n value: 50,\n },\n {\n description: \"硕士研究生\",\n value: 60,\n },\n {\n description: \"博士研究生\",\n value: 70,\n },\n {\n description: \"博士后\",\n value: 75,\n },\n {\n description: \"学历不限\",\n value: 999,\n },\n ],\n ],\n];\n\nconst EnumLoaderFetch = withFetch(({ data, children }) => {\n return typeof children === \"function\"\n ? children(data)\n : children || data?.description;\n});\n\nconst getEnumsMap = memoize((enums) => {\n return new Map(\n baseLoaders.concat(\n Object.keys(Object.assign({}, enums)).map((key) => [key, enums[key]])\n )\n );\n});\n\nconst EnumLoader = ({ loader: enumsLoader, ...props }) => {\n const {\n global: { enumsRef },\n } = useGlobalContext();\n const prevLocaleRef = useRef(null);\n return (\n <EnumLoaderFetch\n {...props}\n loader={async (...args) => {\n const enums = getEnumsMap(await enumsLoader(...args));\n const { params } = args[0];\n const { moduleName, name, force, locale } = params;\n\n const getEnumMap = async (moduleName) => {\n return (\n (() => {\n return (\n force !== true &&\n prevLocaleRef.current === locale &&\n enumsRef.current.get(moduleName)\n );\n })() ||\n (await (async () => {\n const loader = enums.get(moduleName);\n const output = await (async () => {\n if (typeof loader === \"function\") {\n return new Map(\n (await loader({ locale })).map((item) => {\n return [item.value.toString(), item];\n })\n );\n }\n if (Array.isArray(loader)) {\n return new Map(\n loader.map((item) => [item.value.toString(), item])\n );\n }\n if (typeof loader === \"object\") {\n return new Map(\n Object.keys(loader).map((key) => [\n key.toString(),\n loader[key],\n ])\n );\n }\n console.warn(\"枚举值loader的设置可能不正确\");\n return new Map();\n })();\n enumsRef.current.set(moduleName, output);\n prevLocaleRef.current = locale;\n return output;\n })())\n );\n };\n if (Array.isArray(moduleName)) {\n return await Promise.all(\n moduleName.map((target) =>\n getEnumMap(target).then((enumMap) => Array.from(enumMap.values()))\n )\n );\n }\n\n const enumMap = await getEnumMap(moduleName);\n if (!isNil(name)) {\n return enumMap.get(name.toString());\n }\n return Array.from(enumMap.values());\n }}\n />\n );\n};\n\nconst Enum = ({ moduleName, name, force, children, ...props }) => {\n const preset = usePreset();\n return (\n <EnumLoader\n {...props}\n params={{\n moduleName,\n locale: preset?.locale,\n enums: preset?.enums,\n name,\n force,\n }}\n loader={({ params }) => params.enums}\n >\n {children}\n </EnumLoader>\n );\n};\n\nEnum.defaultProps = {\n force: false,\n};\n\nexport default Enum;\n","import get from \"lodash/get\";\nimport axios from \"axios\";\nimport { App, Button } from \"antd\";\nimport { usePreset } from \"@components/Global\";\nimport Icon from \"@components/Icon\";\nimport { useFetch } from \"@kne/react-fetch\";\nimport { useEffect, useState } from \"react\";\nimport useRefCallback from \"@kne/use-ref-callback\";\n\nexport const downloadBlobFile = async (res, filename) => {\n const download = (url) => {\n const element = document.createElement(\"a\"),\n event = new MouseEvent(\"click\");\n element.download = filename; // 设置文件名称\n element.href = url; // 将生成的URL设置为a.href属性\n element.dispatchEvent(event); // 触发a的单击事件\n };\n\n if (!res) {\n throw new Error(\"未获取到下载的文件信息\");\n }\n\n if (typeof res === \"string\" && /blob:http(s)?:/.test(res)) {\n download(res);\n return;\n }\n\n if (Object.prototype.toString.call(res) === \"[object Blob]\") {\n const blob = new Blob([res], {\n type: get(res, \"type\"),\n });\n download(URL.createObjectURL(blob));\n return;\n }\n\n const { data } = await axios({ url: res, responseType: \"blob\" });\n download(\n URL.createObjectURL(\n new Blob([data], {\n type: get(data, \"type\"),\n })\n )\n );\n};\n\nexport const useDownload = ({\n id,\n filename,\n staticUrl: staticUrlProps,\n apis: currentApis,\n onError,\n onSuccess,\n}) => {\n const { message } = App.useApp();\n const { apis: baseApis, staticUrl: staticUrlBase } = usePreset();\n const apis = Object.assign({}, baseApis, currentApis);\n const [downLoading, setDownLoading] = useState(false);\n\n const staticUrl = staticUrlProps || staticUrlBase || \"\";\n\n const { paramsType, paramsName, ...oss } = Object.assign(\n { paramsType: \"params\", paramsName: \"id\" },\n apis.oss\n );\n const fetchProps = {};\n fetchProps[paramsType] = { [paramsName]: id };\n const { isLoading, data, error, refresh, ...otherProps } = useFetch(\n Object.assign({}, oss, fetchProps, { auto: false })\n );\n\n const showError = useRefCallback(onError || message.error);\n const successHandler = useRefCallback(onSuccess);\n\n useEffect(() => {\n if (isLoading) {\n return;\n }\n if (error) {\n showError(error);\n return;\n }\n if (!data) {\n return;\n }\n setDownLoading(true);\n downloadBlobFile(\n /^https?:\\/\\//.test(data) ? data : staticUrl + data,\n filename\n )\n .then(successHandler)\n .catch((e) => {\n showError(e.message);\n })\n .then(() => {\n setDownLoading(false);\n });\n }, [isLoading, error, staticUrl, data, filename, showError, successHandler]);\n\n return {\n ...otherProps,\n isLoading: isLoading || downLoading,\n download: () => refresh(id && fetchProps),\n };\n};\n\nconst Download = ({\n id,\n filename,\n api,\n onSuccess,\n onError,\n onClick,\n ...props\n}) => {\n const { isLoading, download } = useDownload({\n id,\n filename,\n api,\n onError,\n onSuccess,\n });\n return (\n <Button\n icon={<Icon type=\"icon-xiazai\" />}\n {...props}\n loading={isLoading}\n onClick={(...args) => {\n onClick && onClick(...args);\n download();\n }}\n />\n );\n};\n\nDownload.defaultProps = {\n filename: \"未命名下载文件\",\n};\n\nDownload.useDownload = useDownload;\nDownload.downloadBlobFile = downloadBlobFile;\n\nexport default Download;\n","// extracted by mini-css-extract-plugin\nexport default {\"file-modal-outer\":\"style_file-modal-outer__1guNh__XDz7c\",\"file-title\":\"style_file-title__8bnUq__XDz7c\",\"ellipse\":\"style_ellipse__kDaLC__XDz7c\"};","import { useModal } from \"@components/Modal\";\nimport FilePreview from \"@components/FilePreview\";\nimport Download from \"./Download\";\nimport { App, Space } from \"antd\";\nimport { useCallback } from \"react\";\nimport style from \"./style.module.scss\";\n\nconst useFileModal = () => {\n const modal = useModal();\n const { message } = App.useApp();\n return useCallback(\n ({ title, id, originName, apis, openDownload = true, ...modalProps }) => {\n return modal(\n Object.assign(\n {\n footer: null,\n },\n modalProps,\n {\n title: (\n <Space size={10} className={style[\"file-title\"]}>\n <span className={style[\"ellipse\"]}>{title || originName}</span>\n {openDownload && (\n <Download\n className=\"btn-no-padding\"\n type=\"link\"\n id={id}\n apis={apis}\n filename={originName}\n onSuccess={() => {\n message.success(\"下载成功\");\n }}\n />\n )}\n </Space>\n ),\n children: (\n <div className={style[\"file-modal-outer\"]}>\n <FilePreview id={id} originName={originName} apis={apis} />\n </div>\n ),\n }\n )\n );\n },\n [modal, message]\n );\n};\n\nexport default useFileModal;\n","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","import { Button, Space } from \"antd\";\nimport Icon from \"@components/Icon\";\nimport ConfirmButton from \"@components/ConfirmButton\";\nimport DownloadButton from \"../Download\";\nimport FormInfo, { Input, useFormModal } from \"@components/FormInfo\";\nimport { createWithIntl, useIntl } from \"@components/Intl\";\nimport last from \"lodash/last\";\nimport dropRight from \"lodash/dropRight\";\nimport useFileModal from \"../useFileModal\";\nimport importMessages from \"../locale\";\n\nconst OptionButtons = createWithIntl({\n moduleName: \"File\",\n importMessages,\n})(({ item, hasPreview, getPermission, apis }) => {\n const { filename, id } = item;\n const { formatMessage } = useIntl({ moduleName: \"File\" });\n const formModal = useFormModal();\n const fileModal = useFileModal();\n return (\n <Space size={0}>\n {hasPreview && getPermission(\"preview\", item) && (\n <Button\n type=\"text\"\n icon={<Icon type=\"icon-yulan\" />}\n onClick={() => {\n apis.onPreview\n ? apis.onPreview(item)\n : fileModal({ id, originName: filename, apis });\n }}\n />\n )}\n {getPermission(\"edit\", item) && (\n <Button\n type=\"text\"\n icon={<Icon type=\"icon-bianji\" />}\n onClick={() => {\n const modalApi = formModal({\n size: \"small\",\n title: formatMessage({ id: \"editDocumentName\" }),\n formProps: {\n data: {\n name: dropRight(item.filename.split(\".\")).join(\".\"),\n },\n onSubmit: async (data) => {\n const res =\n apis.onEdit &&\n (await apis.onEdit({\n formData: Object.assign({}, data, {\n name: `${data.name}.${last(item.filename.split(\".\"))}`,\n }),\n item,\n }));\n if (res !== false) {\n modalApi.close();\n }\n },\n },\n children: (\n <FormInfo\n column={1}\n list={[\n <Input\n name=\"name\"\n label={formatMessage({ id: \"documentName\" })}\n rule=\"REQ LEN-0-100\"\n />,\n ]}\n />\n ),\n });\n }}\n />\n )}\n {getPermission(\"download\", item) && (\n <DownloadButton type=\"text\" id={id} filename={filename} />\n )}\n {getPermission(\"delete\", item) && (\n <ConfirmButton\n type=\"text\"\n icon={<Icon type=\"icon-shanchu\" />}\n onClick={() => {\n return apis.onDelete && apis.onDelete(item);\n }}\n />\n )}\n </Space>\n );\n});\n\nOptionButtons.defaultProps = {\n hasPreview: true,\n apis: {},\n getPermission: (type, item) => {\n return true;\n },\n};\n\nexport default OptionButtons;\n","// extracted by mini-css-extract-plugin\nexport default {\"list-item-outer\":\"style_list-item-outer__0jlCN__XDz7c\",\"list-item\":\"style_list-item__nmPCB__XDz7c\",\"split\":\"style_split__kgSlH__XDz7c\",\"loading\":\"style_loading__kQUX5__XDz7c\",\"list-options\":\"style_list-options__aEila__XDz7c\",\"list-time\":\"style_list-time__Khoxc__XDz7c\"};","import { Col, List as AntdList, Row, Space, Spin, Typography } from \"antd\";\nimport FileType from \"@kne/react-file-type\";\nimport OptionButtons from \"./OptionButtons\";\nimport last from \"lodash/last\";\nimport dayjs from \"dayjs\";\nimport style from \"./style.module.scss\";\nimport importMessages from \"../locale\";\nimport { FormattedMessage, IntlProvider } from \"@components/Intl\";\n\nconst List = ({\n className,\n dataSource,\n getPermission,\n infoItemRenders,\n apis,\n}) => {\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"File\">\n <AntdList\n className={className}\n dataSource={dataSource.map((item, index) => {\n item.index = index;\n return item;\n })}\n rowKey={(item) =>\n `item_${\n (item.uuid && `uuid_${item.uuid}`) ||\n (item.id && `id_${item.id}`) ||\n (item.ossId && `id_${item.ossId}`)\n }`\n }\n renderItem={(item) => {\n const { type, filename } = item;\n return (\n <AntdList.Item className={style[\"list-item-outer\"]}>\n <Row\n justify=\"space-between\"\n wrap={false}\n className={style[\"list-item\"]}\n >\n <Col flex={1}>\n <div className={style[\"split\"]} />\n <Space className=\"is-block\" align=\"start\" size={4}>\n <FileType type={last(filename?.split(\".\"))} size={14} />\n {filename}\n </Space>\n </Col>\n {infoItemRenders &&\n infoItemRenders.map((render, index) => {\n return (\n <Col span={render.span || 4} key={index}>\n {type !== \"uploading\" &&\n (typeof render === \"function\"\n ? render\n : render.render)(item)}\n <div className={style[\"split\"]} />\n </Col>\n );\n })}\n <Col className={style[\"list-options\"]}>\n {type !== \"uploading\" ? (\n <OptionButtons\n getPermission={getPermission}\n item={item}\n apis={apis}\n />\n ) : (\n <Space className={style[\"loading\"]}>\n <Spin size=\"small\" />\n <Typography.Link>\n <FormattedMessage id=\"uploading\" moduleName=\"File\" />\n </Typography.Link>\n </Space>\n )}\n </Col>\n </Row>\n </AntdList.Item>\n );\n }}\n bordered\n />\n </IntlProvider>\n );\n};\n\nList.defaultProps = {\n infoItemRenders: [\n (item) => {\n return item.userName ? (\n <Typography.Text>{item.userName}</Typography.Text>\n ) : null;\n },\n (item) => {\n return item.date ? (\n <Typography.Text>\n {dayjs(item.date).format(\"YYYY-MM-DD HH:mm:ss\")}\n </Typography.Text>\n ) : null;\n },\n ],\n};\n\nexport default List;\n\nexport { OptionButtons };\n","import withOSSFile from \"@common/hocs/withOSSFile\";\n\nconst File = withOSSFile(({ data, children, ...props }) => {\n return children({ url: data, ...props });\n});\n\nexport default File;\n","import { Typography } from \"antd\";\nimport useFileModal from \"./useFileModal\";\n\nconst FileLink = ({\n id,\n originName,\n openDownload,\n children,\n modalProps,\n ...props\n}) => {\n const modal = useFileModal();\n return (\n <Typography.Link\n {...props}\n onClick={() => {\n modal({ ...modalProps, id, originName, openDownload });\n }}\n >\n {children || originName}\n </Typography.Link>\n );\n};\n\nFileLink.defaultProps = {\n openDownload: true,\n};\n\nexport default FileLink;\n","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"style_container__9Fu-3__XDz7c\",\"container-html\":\"style_container-html__IsNVq__XDz7c\",\"html-inner\":\"style_html-inner__S05cI__XDz7c\",\"loading\":\"style_loading__r3aiE__XDz7c\",\"control-bar\":\"style_control-bar__kTKau__XDz7c\",\"scroller\":\"style_scroller__HOq7b__XDz7c\",\"outer\":\"style_outer__ntu--__XDz7c\",\"file-name\":\"style_file-name__UPbbe__XDz7c\",\"file-options\":\"style_file-options__5TE5l__XDz7c\",\"scale-input\":\"style_scale-input__JdF1K__XDz7c\",\"text-outer\":\"style_text-outer__TzhuG__XDz7c\",\"error\":\"style_error__wSaxt__XDz7c\",\"text-inner\":\"style_text-inner__jdi-A__XDz7c\",\"image-inner\":\"style_image-inner__zTiFU__XDz7c\"};","import iFrameResize from \"iframe-resizer\";\nimport { useEffect, useRef } from \"react\";\nimport { getPublicPath } from \"@kne/remote-loader\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\nimport { createWithFetch } from \"@kne/react-fetch\";\n\nconst HtmlInnerPreview = createWithFetch({\n transformResponse: ({ data }) => {\n return {\n data: {\n code: 200,\n results: data,\n },\n };\n },\n})(({ data }) => {\n const ref = useRef(null);\n useEffect(() => {\n const parser = new DOMParser();\n const domDocument = parser.parseFromString(data, \"text/html\");\n domDocument.querySelectorAll(\"script\").forEach((el) => {\n el.parentElement.removeChild(el);\n });\n const scriptPath =\n getPublicPath(\"components-core\") + \"/iframeResizer.contentWindow.js\";\n const script = document.createElement(\"script\");\n script.src = scriptPath;\n domDocument.head.appendChild(script);\n const style = document.createElement(\"style\");\n style.innerText =\n \"html,body{height:auto!important;}body{pointer-events: none;background: #FFFFFF;}\";\n domDocument.head.appendChild(style);\n ref.current.srcdoc = domDocument.documentElement.outerHTML;\n }, [data]);\n useEffect(() => {\n iFrameResize.iframeResize({ checkOrigin: false }, ref.current);\n }, []);\n return <iframe title=\"简历预览\" frameBorder=\"0\" width=\"100%\" ref={ref} />;\n});\n\nconst HtmlPreview = ({ className, url, maxWidth }) => {\n return (\n <div\n className={classnames(className, style[\"container\"])}\n style={{\n maxWidth,\n }}\n >\n <HtmlInnerPreview url={url} />\n {/*<iframe\n title=\"简历预览\"\n src={url}\n frameBorder=\"0\"\n width=\"100%\"\n ref={ref}\n onLoad={() => {\n const scriptPath =\n getPublicPath(\"components-core\") +\n \"/iframeResizer.contentWindow.js\";\n if (!ref.current.contentDocument) {\n console.warn(\n `跨域情况无法开启自动高度计算,请将${scriptPath}脚本加入目标页面`\n );\n return;\n }\n const script = document.createElement(\"script\");\n script.src = scriptPath;\n ref.current.contentDocument.head.appendChild(script);\n ref.current.contentDocument.body.style = \"pointer-events: none;\";\n }}\n />*/}\n </div>\n );\n};\n\nexport default HtmlPreview;\n","import { usePreset } from \"@components/Global\";\nimport { createWithFetch } from \"@kne/react-fetch\";\nimport { typeFormatComponent } from \"./typeFormat\";\n\nconst OfficePreviewInner = createWithFetch({\n cache: \"office-preview\",\n})(({ data, className, ...props }) => {\n const { data: fileList } = data;\n return fileList.map(({ url }) => {\n const PreviewComponent = typeFormatComponent(url);\n return (\n <PreviewComponent {...props} url={url} key={url} className={className} />\n );\n });\n});\n\nconst OfficePreview = ({ id, apis: propsApis, className, ...props }) => {\n const { apis: baseApis } = usePreset();\n const apis = Object.assign({}, baseApis, propsApis);\n return (\n <OfficePreviewInner\n {...props}\n {...apis.previewOffice}\n data={{ id }}\n className={className}\n />\n );\n};\n\nexport default OfficePreview;\n","import { memo, useState } from \"react\";\nimport { Space, Spin } from \"antd\";\nimport { Document, Page, pdfjs } from \"react-pdf\";\nimport \"react-pdf/dist/esm/Page/TextLayer.css\";\nimport style from \"./style.module.scss\";\nimport { useResize } from \"@components/Common\";\nimport { getPublicPath } from \"@kne/remote-loader\";\nimport classnames from \"classnames\";\n\nconst PdfPreview = memo(({ url, maxWidth, scale, rotate, className }) => {\n const [numPages, setNumPages] = useState(0);\n pdfjs.GlobalWorkerOptions.workerSrc =\n getPublicPath(\"components-core\") + \"/pdfjs/build/pdf.worker.js\";\n const [width, setWidth] = useState(maxWidth);\n const ref = useResize(() => {\n if (ref.current && ref.current.clientWidth) {\n setWidth(Math.min(ref.current.clientWidth, maxWidth));\n }\n });\n\n return (\n <div\n ref={ref}\n className={classnames(className, style[\"container\"])}\n style={{\n maxWidth: maxWidth,\n }}\n >\n <Document\n file={{ url }}\n options={{\n standardFontDataUrl:\n getPublicPath(\"components-core\") + \"/pdfjs/standard_fonts/\",\n cMapUrl: getPublicPath(\"components-core\") + \"/pdfjs/cmaps/\",\n cMapPacked: true,\n }}\n error=\"PDF文件加载失败\"\n loading={\n <div className={style[\"loading\"]}>\n <Spin />\n </div>\n }\n noData=\"未指定PDF文件\"\n onLoadSuccess={({ numPages }) => {\n setNumPages(numPages);\n console.log(\"onLoadSuccess\");\n }}\n onLoadError={(props) => {\n console.log(\"onLoadError\", props);\n }}\n onSourceError={(props) => {\n console.log(\"onSourceError\", props);\n }}\n >\n <Space direction=\"vertical\">\n {numPages >= 1 &&\n Array.from(new Array(numPages), (el, index) => (\n <Page\n key={`page_${index}`}\n className=\"preview-item\"\n scale={scale / 100}\n rotate={rotate}\n pageNumber={index + 1}\n width={width}\n loading={null}\n renderAnnotationLayer={false}\n renderTextLayer={true}\n noData=\"未指定页面\"\n />\n ))}\n </Space>\n </Document>\n </div>\n );\n});\n\nPdfPreview.defaultProps = {\n autoSize: true,\n renderTextLayer: false,\n scale: 100,\n rotate: 0,\n maxWidth: 1200,\n};\n\nexport default PdfPreview;\n","import { useState, useEffect } from \"react\";\nimport TextEscape from \"@kne/react-text-escape\";\nimport axios from \"axios\";\nimport style from \"./style.module.scss\";\nimport { Spin } from \"antd\";\nimport classnames from \"classnames\";\n\nconst TextPreview = ({ url, className, maxWidth }) => {\n const [text, setText] = useState(\"\");\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n useEffect(() => {\n axios.get(url).then(\n ({ data }) => {\n setText(data);\n setLoading(false);\n },\n () => {\n setLoading(false);\n setError(true);\n }\n );\n }, [url]);\n\n return (\n <div\n className={classnames(className, style[\"container\"])}\n style={{\n maxWidth,\n }}\n >\n {loading ? (\n <div className={style[\"loading\"]}>\n <Spin />\n </div>\n ) : null}\n <div className={style[\"text-outer\"]}>\n {error ? (\n <div className={style[\"error\"]}>文件加载失败</div>\n ) : (\n <TextEscape text={text} />\n )}\n </div>\n </div>\n );\n};\n\nexport default TextPreview;\n","import { Result } from \"antd\";\nimport style from \"./style.module.scss\";\n\nconst UnknownPreview = ({ maxWidth }) => {\n return (\n <div\n className={style[\"container\"]}\n style={{\n maxWidth,\n }}\n >\n <div className={style[\"text-outer\"]}>\n <Result\n status=\"500\"\n title=\"不支持的文件类型\"\n subTitle=\"系统不支持该文件类型预览,请下载到本地后进行预览\"\n />\n </div>\n </div>\n );\n};\n\nexport default UnknownPreview;\n","import { useEffect, useState } from \"react\";\nimport style from \"./style.module.scss\";\nimport { Spin } from \"antd\";\nimport classnames from \"classnames\";\n\nconst ImagePreview = ({ url, scale, rotate, className, maxWidth }) => {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n useEffect(() => {\n const image = new Image();\n image.src = url;\n const handlerLoad = () => {\n setLoading(false);\n };\n\n const handlerError = () => {\n setLoading(false);\n setError(true);\n };\n\n image.addEventListener(\"load\", handlerLoad);\n image.addEventListener(\"error\", handlerError);\n return () => {\n image.removeEventListener(\"load\", handlerLoad);\n image.removeEventListener(\"error\", handlerError);\n };\n }, [url, scale, rotate]);\n return (\n <div\n className={classnames(className, style[\"container\"])}\n style={{\n maxWidth,\n }}\n >\n {loading ? (\n <div className={style[\"loading\"]}>\n <Spin />\n </div>\n ) : null}\n {error ? (\n <div className={style[\"error\"]}>图片加载失败</div>\n ) : (\n <img src={url} alt=\"简历预览\" />\n )}\n </div>\n );\n};\n\nexport default ImagePreview;\n","import HtmlPreview from \"./HtmlPreview\";\nimport OfficePreview from \"./OfficePreview\";\nimport PdfPreview from \"./PdfPreview\";\nimport TextPreview from \"./TextPreview\";\nimport UnknownPreview from \"./UnknownPreview\";\nimport ImagePreview from \"./ImagePreview\";\n\nconst typeFormat = (url) => {\n const path = (url || \"\").split(\"?\")[0];\n const _path = path.toLowerCase();\n if (/.txt$/.test(_path)) {\n return \"txt\";\n }\n if (/.pdf$/.test(_path)) {\n return \"pdf\";\n }\n if (/.(png|jpg|jpeg)$/.test(_path)) {\n return \"image\";\n }\n if (/.(html|htm)$/.test(_path)) {\n return \"html\";\n }\n if (/.(doc|docx|xls|xlsx|ppt|pptx)$/.test(_path)) {\n return \"office\";\n }\n return \"unknown\";\n};\n\nexport default typeFormat;\n\nexport const typeFormatComponent = (url) => {\n const mapping = {\n txt: TextPreview,\n pdf: PdfPreview,\n image: ImagePreview,\n html: HtmlPreview,\n office: OfficePreview,\n unknown: UnknownPreview,\n };\n\n return mapping[typeFormat(url)];\n};\n","import withOSSFile from \"@common/hocs/withOSSFile\";\nimport typeFormat, { typeFormatComponent } from \"./typeFormat\";\nimport OfficePreview from \"./OfficePreview\";\n\nconst OSSFilePreview = withOSSFile(({ data, id, className, ...props }) => {\n const PreviewComponent = typeFormatComponent(data);\n if (typeFormat(data) === \"office\") {\n return <OfficePreview {...props} id={id} className={className} />;\n }\n return <PreviewComponent {...props} className={className} url={data} />;\n});\n\nexport default OSSFilePreview;\n","import typeFormat from \"./typeFormat\";\nimport OfficePreview from \"./OfficePreview\";\nimport OSSFilePreview from \"./OSSFilePreview\";\n\nconst FilePreview = ({ id, originName, ...props }) => {\n if (typeFormat(originName) === \"office\") {\n return <OfficePreview {...props} id={id} originName={originName} />;\n }\n return <OSSFilePreview {...props} id={id} originName={originName} />;\n};\n\nexport default FilePreview;\n","import useResize from \"@common/hooks/useResize\";\nimport last from \"lodash/last\";\nimport { forwardRef, useRef, useState } from \"react\";\nimport { List } from \"antd\";\nimport Fetch from \"@kne/react-fetch\";\nimport isEqual from \"lodash/isEqual\";\nimport classnames from \"classnames\";\n\nconst defaultColumns = [\n {\n width: 786,\n col: 1,\n size: 15,\n },\n {\n width: 960,\n col: 2,\n size: 12,\n },\n {\n width: 1360,\n col: 3,\n size: 12,\n },\n {\n width: 1680,\n col: 4,\n size: 12,\n },\n {\n width: 1920,\n col: 5,\n size: 15,\n },\n];\n\nexport const useFlexBox = (props) => {\n const { columns, onChange } = Object.assign(\n {},\n { columns: defaultColumns },\n props\n );\n const [column, setColumn] = useState(null);\n const columnRef = useRef(null);\n const ref = useResize((el) => {\n const width = el.clientWidth;\n const column =\n columns.find((item, index) => {\n return item.width >= width;\n }) || last(columns);\n if (!isEqual(column, columnRef.current)) {\n setColumn(column);\n columnRef.current && onChange && onChange(column);\n columnRef.current = column;\n }\n });\n\n return { ref, column };\n};\n\nconst FlexBox = ({ columns, outerClassName, gutter, ...props }) => {\n const { ref, column } = useFlexBox({ columns });\n return (\n <div ref={ref} className={outerClassName}>\n {column && (\n <List\n {...props}\n grid={{\n gutter,\n column: column.col,\n }}\n />\n )}\n </div>\n );\n};\n\nFlexBox.defaultProps = {\n gutter: 16,\n columns: defaultColumns,\n};\n\nFlexBox.Item = List.Item;\n\nconst FlexBoxFetch = forwardRef(\n (\n {\n columns,\n api,\n getFetchApi,\n outerClassName,\n className,\n gutter,\n dataFormat,\n ...props\n },\n forwardRef\n ) => {\n const { ref, column } = useFlexBox({ columns });\n return (\n <div ref={ref} className={outerClassName}>\n {column && (\n <Fetch\n {...(api || getFetchApi(column))}\n ref={forwardRef}\n render={({ data, isComplete }) => {\n return (\n <List\n {...props}\n className={classnames(className, \"loading-container\", {\n \"is-loading\": !isComplete,\n })}\n dataSource={dataFormat(data)}\n grid={{\n gutter,\n column: column.col,\n }}\n />\n );\n }}\n />\n )}\n </div>\n );\n }\n);\n\nFlexBoxFetch.defaultProps = {\n gutter: 16,\n columns: defaultColumns,\n dataFormat: (data) => {\n return data.pageData;\n },\n};\n\nFlexBox.Fetch = FlexBoxFetch;\n\nexport default FlexBox;\n","import { useFormContext, util } from \"@kne/react-form-antd\";\nimport { Popover } from \"antd\";\nimport { useLayoutEffect, useState, useRef, useEffect } from \"react\";\nimport classnames from \"classnames\";\nimport useClickOutside from \"@kne/use-click-outside\";\nimport style from \"./style.module.scss\";\n\nconst useErrorMsg = ({ name, groupName, groupIndex }) => {\n const { emitter, formState } = useFormContext();\n const targetFieldInfo = useRef({ name, groupName, groupIndex });\n targetFieldInfo.current = { name, groupName, groupIndex };\n const formStateRef = useRef(formState);\n formStateRef.current = formState;\n const [currentError, setCurrentError] = useState(null);\n useEffect(() => {\n const target = emitter.addListener(\n \"form-field-validate-complete\",\n ({ id, validate }) => {\n const field = formStateRef.current[id];\n if (!field) {\n return;\n }\n const currentField = targetFieldInfo.current;\n if (\n field.name === currentField.name &&\n (!currentField.groupName ||\n (field.groupName === currentField.groupName &&\n field.groupIndex === currentField.groupIndex))\n ) {\n setCurrentError(\n validate.status === 2\n ? Object.assign({}, validate, {\n label: field.label,\n errMsg: util.compileErrMsg(validate.msg, field.label),\n })\n : null\n );\n }\n }\n );\n return () => {\n target && target.remove();\n };\n }, [emitter]);\n return currentError;\n};\n\nconst ErrorTip = ({\n name,\n groupName,\n overlayClassName,\n errorRender,\n groupIndex,\n children,\n}) => {\n const currentError = useErrorMsg({ name, groupName, groupIndex });\n const [isHover, setIsHover] = useState(false);\n const open = currentError && isHover;\n const errorContent =\n open &&\n errorRender(\n Object.assign({}, currentError, { closeHover: () => setIsHover(false) })\n );\n const popoverChildrenRef = useRef(null),\n popoverContentRef = useRef(null);\n\n const outerRef = useClickOutside(() => {\n setIsHover(false);\n });\n outerRef.current = {\n contains: (target) => {\n return (\n popoverChildrenRef.current.contains(target) ||\n (popoverContentRef.current &&\n popoverContentRef.current.contains(target))\n );\n },\n };\n const [width, setWidth] = useState(0);\n useLayoutEffect(() => {\n const callback = () => {\n const target = popoverChildrenRef.current.querySelector(\n \".react-form__field-component\"\n );\n target && setWidth(target.clientWidth);\n };\n callback();\n const resizeObserver = new ResizeObserver(callback);\n resizeObserver.observe(popoverChildrenRef.current);\n const mutationObserver = new MutationObserver(callback);\n mutationObserver.observe(popoverChildrenRef.current, {\n subtree: true,\n childList: true,\n });\n return () => {\n mutationObserver.disconnect();\n resizeObserver.disconnect();\n };\n }, []);\n return (\n <Popover\n open={!!errorContent}\n overlayClassName={classnames(\n overlayClassName,\n style[\"error-tip-overlay\"]\n )}\n content={\n errorContent && (\n <div\n ref={popoverContentRef}\n style={{ width }}\n className={classnames(style[\"error-tip-overlay-content\"])}\n >\n {errorContent}\n </div>\n )\n }\n placement=\"bottom\"\n transitionName={\"ant-slide-up\"}\n arrow={false}\n >\n <div\n className={classnames(\"error-tip\")}\n ref={popoverChildrenRef}\n onMouseEnter={() => {\n setIsHover(true);\n }}\n >\n {children}\n </div>\n </Popover>\n );\n};\n\nErrorTip.defaultProps = {\n errorRender: () => {\n return null;\n },\n};\n\nexport default ErrorTip;\n","import { Col, Row } from \"antd\";\nimport { useFormContext } from \"@kne/react-form-antd\";\nimport Features from \"@components/Features\";\nimport { Fragment, useEffect, useRef, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport Tooltip from \"@components/Tooltip\";\nimport Icon from \"@components/Icon\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\n\nconst FieldList = ({ list, groupArgs, itemRender }) => {\n const context = useFormContext();\n const contextApi = Object.assign({}, context, groupArgs ? { groupArgs } : {});\n const hiddenRef = useRef(null);\n const [isMount, setIsMount] = useState(false);\n useEffect(() => {\n setIsMount(true);\n }, []);\n\n return (\n <>\n <div ref={hiddenRef} style={{ display: \"none\" }} />\n {list\n .filter((item) => {\n if (typeof item.props.display === \"function\") {\n return item.props.display(contextApi);\n }\n return item.props.display !== false;\n })\n .map((item, index) => {\n const key =\n item.props.name + index ||\n (groupArgs && groupArgs[0] + index) ||\n index;\n const targetProps = { key, list, props: item.props },\n componentProps = Object.assign({}, item.props),\n ComponentItem = item.type;\n [\n \"display\",\n \"block\",\n \"hidden\",\n \"setExtraProps\",\n \"isBlock\",\n \"featureId\",\n // \"tips\",\n ].forEach((key) => {\n if (item.props.hasOwnProperty(key)) {\n targetProps[key] = item.props[key];\n }\n delete componentProps[key];\n });\n\n if (targetProps.hasOwnProperty(\"isBlock\")) {\n componentProps[\"block\"] = targetProps.isBlock;\n }\n\n const innerComponent = (\n <ComponentItem\n {...Object.assign(\n {},\n componentProps,\n typeof targetProps.setExtraProps === \"function\"\n ? targetProps.setExtraProps({\n props: componentProps,\n contextApi,\n })\n : {}\n )}\n onChange={(...args) => {\n return (\n item.props.onChange &&\n item.props.onChange(...args, contextApi)\n );\n }}\n />\n );\n const inner = targetProps.hidden\n ? isMount && createPortal(innerComponent, hiddenRef.current)\n : itemRender(\n targetProps.tips ? (\n <Row gutter={8} align=\"top\">\n <Col flex={1}>{innerComponent}</Col>\n <Col>\n <Tooltip content={targetProps.tips}>\n <span\n className={classnames(style[\"field-tips\"], {\n [style[\"label-hidden\"]]: componentProps.labelHidden,\n })}\n >\n <Icon type=\"icon-xinxi-miaobian\" />\n </span>\n </Tooltip>\n </Col>\n </Row>\n ) : (\n innerComponent\n ),\n targetProps\n );\n return (\n <Fragment key={key}>\n {targetProps.hasOwnProperty(\"featureId\") ? (\n <Features id={targetProps.featureId} key={key}>\n {inner}\n </Features>\n ) : (\n inner\n )}\n </Fragment>\n );\n })}\n </>\n );\n};\n\nexport default FieldList;\n","import { forwardRef, useEffect, useState } from \"react\";\nimport { usePreset } from \"@components/Global\";\nimport get from \"lodash/get\";\nimport formPreset from \"@components/FormInfo/preset\";\nimport { IntlProvider } from \"@components/Intl\";\nimport importMessages from \"@components/FormInfo/locale\";\nimport FormLangProvider from \"@components/FormInfo/FormLangProvider\";\nimport InfoPage from \"@components/InfoPage\";\nimport { Provider as HelperGuideProvider } from \"@components/FormInfo/HelperGuideLabel\";\nimport { FormAntd as ReactForm } from \"@kne/react-form-antd\";\nimport classnames from \"classnames\";\nimport style from \"@components/FormInfo/style.module.scss\";\n\nconst SetPreset = ({ children }) => {\n const [isPreset, setIsPreset] = useState(false);\n const preset = usePreset();\n const formInfo = get(preset, \"formInfo\", {}),\n locale = get(preset, \"locale\");\n useEffect(() => {\n Promise.resolve(formPreset(formInfo, { locale })).then(() => {\n setIsPreset(true);\n });\n }, [formInfo, locale]);\n if (!isPreset) {\n return null;\n }\n return children;\n};\n\nconst Form = forwardRef(\n ({ className, helperGuideName, children, lang, ...props }, ref) => {\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"FormInfo\">\n <FormLangProvider value={lang}>\n <InfoPage>\n <HelperGuideProvider value={helperGuideName}>\n <ReactForm\n {...props}\n ref={ref}\n className={classnames(className, style[\"form-outer\"])}\n >\n <SetPreset>{children}</SetPreset>\n </ReactForm>\n </HelperGuideProvider>\n </InfoPage>\n </FormLangProvider>\n </IntlProvider>\n );\n }\n);\nForm.defaultProps = {\n type: \"inner\",\n};\n\nexport default Form;\n","import { useFormContext } from \"@kne/react-form-antd\";\nimport LoadingButton from \"@components/LoadingButton\";\n\nconst FormApiButton = ({ onClick, ...props }) => {\n const context = useFormContext();\n return (\n <LoadingButton\n {...props}\n onClick={(e) => {\n return onClick(context, e);\n }}\n />\n );\n};\n\nexport default FormApiButton;\n","import Drawer, { useDrawer } from \"@components/Drawer\";\nimport classnames from \"classnames\";\nimport {\n CancelButton,\n FormAntd as Form,\n SubmitButton,\n} from \"@kne/react-form-antd\";\nimport FetchButton from \"@common/components/FetchButton\";\nimport { IntlProvider } from \"@components/Intl\";\nimport style from \"./style.module.scss\";\nimport importMessages from \"./locale\";\n\nconst defaultFooterButtons = [\n { children: \"取消\", ButtonComponent: CancelButton },\n {\n type: \"primary\",\n children: \"保存\",\n ButtonComponent: SubmitButton,\n autoClose: false,\n },\n];\n\nconst computedCommonProps = ({\n className,\n withDecorator,\n footerButtons = defaultFooterButtons,\n formProps,\n ...props\n}) => {\n return {\n ...props,\n footerButtons,\n className: classnames(className, style[\"form-outer\"], style[\"form-drawer\"]),\n withDecorator: (render) => {\n const innerRender = (props) => {\n const _formProps =\n typeof formProps === \"function\" ? formProps(props) : formProps;\n return (\n <Form {..._formProps}>\n <IntlProvider importMessages={importMessages} moduleName=\"FormInfo\">\n {render(props)}\n </IntlProvider>\n </Form>\n );\n };\n return typeof withDecorator === \"function\"\n ? withDecorator(innerRender)\n : innerRender();\n },\n };\n};\n\nconst FormDrawer = (props) => {\n return <Drawer {...computedCommonProps(props)} />;\n};\n\nexport default FormDrawer;\n\nexport const useFormDrawer = () => {\n const drawer = useDrawer();\n return (props) => drawer(computedCommonProps(props));\n};\n\nexport const FormDrawerButton = (props) => {\n const formDrawer = useFormDrawer();\n return <FetchButton {...props} modalFunc={formDrawer} />;\n};\n","import { Col, Row } from \"antd\";\nimport InfoPage from \"@components/InfoPage\";\nimport { useFlexBox } from \"@components/FlexBox\";\nimport FieldList from \"./FieldList\";\nimport style from \"./style.module.scss\";\nimport classnames from \"classnames\";\n\nconst FormInfo = ({ list, groupArgs, column, gap, className, ...props }) => {\n const isFlexBox = !(Number.isInteger(column) && column > 0);\n const { ref: flexBoxRef, column: flexBoxColumn } = useFlexBox(\n isFlexBox ? column : {}\n );\n\n const renderInner = (column, notLayout) => {\n return (\n <Row\n gutter={[gap || 24, 0]}\n className={classnames({\n [style[\"column-not-layout\"]]: notLayout,\n })}\n >\n <FieldList\n list={list}\n groupArgs={groupArgs}\n itemRender={(children, targetProps) => {\n return (\n <Col\n span={\n targetProps.block === true\n ? 24\n : Math.round(24 / (column || 1))\n }\n >\n {children}\n </Col>\n );\n }}\n />\n </Row>\n );\n };\n\n const renderColumn = () => {\n if (!isFlexBox) {\n return renderInner(column);\n }\n if (flexBoxColumn) {\n return renderInner(flexBoxColumn.col);\n }\n\n return renderInner(2, true);\n };\n\n return (\n <InfoPage.Part\n {...props}\n className={classnames(className, style[\"form-info\"])}\n >\n <div ref={flexBoxRef} />\n {renderColumn()}\n </InfoPage.Part>\n );\n};\n\nFormInfo.defaultProps = {\n column: 2,\n list: [],\n};\n\nexport default FormInfo;\n","import { useFormContext } from \"@kne/react-form-antd\";\n\nconst FormItem = ({ children }) => {\n const { openApi, formData } = useFormContext();\n return children({ ...openApi, formData });\n};\n\nexport default FormItem;\n","import { createContext, useContext } from \"react\";\n\nconst context = createContext([]);\n\nexport const { Provider, Consumer } = context;\n\nexport const useFormLang = () => {\n return useContext(context);\n};\n\nexport default Provider;\n","import Modal, { useModal } from \"@components/Modal\";\nimport classnames from \"classnames\";\nimport { CancelButton, SubmitButton } from \"@kne/react-form-antd\";\nimport { Form } from \"./formModule\";\nimport FetchButton from \"@common/components/FetchButton\";\nimport { IntlProvider, FormattedMessage } from \"@components/Intl\";\nimport style from \"./style.module.scss\";\nimport importMessages from \"./locale\";\n\nconst localeModuleName = \"FormInfo\";\n\nconst computedCommonProps = ({\n className,\n withDecorator,\n footerButtons,\n formProps,\n ...props\n}) => {\n return {\n ...props,\n footerButtons: footerButtons || [\n {\n children: (\n <IntlProvider\n importMessages={importMessages}\n moduleName={localeModuleName}\n >\n <FormattedMessage id={\"Cancel\"} moduleName={localeModuleName} />\n </IntlProvider>\n ),\n ButtonComponent: CancelButton,\n },\n {\n type: \"primary\",\n children: (\n <IntlProvider\n importMessages={importMessages}\n moduleName={localeModuleName}\n >\n <FormattedMessage id={\"Save\"} moduleName={localeModuleName} />\n </IntlProvider>\n ),\n ButtonComponent: SubmitButton,\n autoClose: false,\n },\n ],\n className: classnames(className, style[\"form-outer\"], style[\"form-modal\"]),\n withDecorator: (render) => {\n const innerRender = (props) => {\n const _formProps =\n typeof formProps === \"function\" ? formProps(props) : formProps;\n return (\n <Form {..._formProps}>\n <IntlProvider importMessages={importMessages} moduleName=\"FormInfo\">\n {render(props)}\n </IntlProvider>\n </Form>\n );\n };\n return typeof withDecorator === \"function\"\n ? withDecorator(innerRender)\n : innerRender();\n },\n };\n};\n\nconst FormModal = (props) => {\n return <Modal {...computedCommonProps(props)} />;\n};\n\nexport default FormModal;\n\nexport const useFormModal = () => {\n const modal = useModal();\n return (props) => modal(computedCommonProps(props));\n};\n\nexport const FormModalButton = (props) => {\n const formModal = useFormModal();\n return <FetchButton {...props} modalFunc={formModal} />;\n};\n","import FormModal, { FormModalButton, useFormModal } from \"./FormModal\";\nimport { Space, Steps } from \"antd\";\nimport { useState } from \"react\";\nimport {\n CancelButton,\n SubmitButton,\n useFormContext,\n} from \"@kne/react-form-antd\";\n\nconst StepsContent = ({\n setCurrent,\n current,\n items,\n setStepData,\n stepData,\n}) => {\n const currentItem = items[current];\n const { formData } = useFormContext();\n return (\n <Space className=\"full-space\" direction=\"vertical\">\n <Steps\n current={current}\n onChange={(current) => {\n setStepData((stepData) => {\n const newStepData = stepData.slice(0);\n newStepData[current] = formData;\n return newStepData;\n });\n setCurrent(current);\n }}\n items={items}\n />\n {currentItem.children}\n </Space>\n );\n};\n\nconst useSteps = () => {\n const [stepData, setStepData] = useState([]);\n const [current, setCurrent] = useState(0);\n\n return ({ items, formProps }) => {\n const isLastStep = current === items.length - 1;\n return {\n stepData,\n formProps: Object.assign({}, formProps, {\n data: Object.assign({}, formProps.data?.[current], stepData[current]),\n onSubmit: (data) => {\n const newStepData = stepData.slice(0);\n newStepData[current] = data;\n setStepData(newStepData);\n if (isLastStep) {\n return formProps?.onSubmit(stepData);\n }\n setCurrent(current + 1);\n },\n }),\n children: (\n <StepsContent\n items={items}\n current={current}\n setCurrent={setCurrent}\n stepData={stepData}\n setStepData={setStepData}\n />\n ),\n footerButtons: [\n { children: \"取消\", ButtonComponent: CancelButton },\n {\n type: \"primary\",\n children: !isLastStep ? \"下一步\" : \"保存\",\n ButtonComponent: SubmitButton,\n autoClose: false,\n },\n ],\n };\n };\n};\n\nconst FormStepModal = (props) => {\n const createSteps = useSteps();\n const { footerButtons, children, formProps } = createSteps(props);\n return (\n <FormModal {...props} formProps={formProps} footerButtons={footerButtons}>\n {children}\n </FormModal>\n );\n};\n\nexport default FormStepModal;\n\nexport const useFormStepModal = () => {\n const formModal = useFormModal();\n const createSteps = useSteps();\n return (props) => {\n const { footerButtons, children, formProps } = createSteps(props);\n return formModal({\n ...props,\n formProps,\n footerButtons,\n children,\n });\n };\n};\n\nexport const FormStepModalButton = ({ modalProps, ...props }) => {\n const createSteps = useSteps();\n const { footerButtons, children, formProps } = createSteps(modalProps);\n return (\n <FormModalButton\n {...props}\n modalProps={Object.assign({}, modalProps, {\n formProps,\n footerButtons,\n children,\n })}\n />\n );\n};\n","import HelperGuide from \"@components/HelperGuide\";\nimport { createContext, useContext as useReactContext } from \"react\";\nimport { useGroup } from \"@kne/react-form-antd\";\nimport style from \"./style.module.scss\";\n\nconst context = createContext(\"\");\nexport const { Provider } = context;\n\nconst useContext = () => {\n return useReactContext(context);\n};\n\nconst HelperGuideLabel = ({ name }) => {\n const helperGuideName = useContext();\n const group = useGroup();\n return (\n helperGuideName && (\n <HelperGuide\n className={style[\"helper-guide-field\"]}\n name={\n helperGuideName + \"-\" + (group.name ? group.name + \"-\" : \"\") + name\n }\n />\n )\n );\n};\n\nexport default HelperGuideLabel;\n","import { cloneElement, useRef } from \"react\";\nimport { Button, Divider, Typography } from \"antd\";\nimport ConfirmButton from \"@components/ConfirmButton\";\nimport Icon from \"@components/Icon\";\nimport InfoPage from \"@components/InfoPage\";\nimport { GroupList, useFormContext } from \"@kne/react-form-antd\";\nimport FormInfo from \"./FormInfo\";\nimport classnames from \"classnames\";\nimport importMessages from \"./locale\";\nimport { createWithIntl, FormattedMessage, useIntl } from \"@components/Intl\";\nimport get from \"lodash/get\";\nimport style from \"./style.module.scss\";\n\nconst List = createWithIntl({ moduleName: \"FormInfo\", importMessages })(\n ({\n title,\n addText,\n minLength,\n isUnshift,\n maxLength,\n defaultLength,\n label,\n name,\n beforeAdd,\n afterDelete,\n column,\n list,\n listRender,\n itemTitle,\n outer,\n renderChildren,\n className,\n important,\n deleteButtonProps,\n }) => {\n const groupRef = useRef(null);\n const context = useFormContext();\n const { formData } = context;\n const allowAdd = !(\n maxLength && maxLength <= get(formData, `${name}.length`, 0)\n );\n const { formatMessage } = useIntl({ moduleName: \"FormInfo\" });\n const addHandler = () => {\n if (\n typeof beforeAdd === \"function\"\n ? beforeAdd(name, context, {\n isUnshift,\n group: groupRef.current,\n }) !== false\n : true\n ) {\n groupRef.current.onAdd({ isUnshift });\n }\n };\n return (\n <>\n {cloneElement(\n outer,\n {\n title,\n addText,\n className: classnames(className, style[\"list-part\"]),\n allowAdd: isUnshift && allowAdd,\n add: addHandler,\n },\n renderChildren(\n <GroupList name={name} defaultLength={defaultLength} ref={groupRef}>\n {(...groupArgs) => {\n const [key, { index, onRemove, length }] = groupArgs;\n const formInfoProps = {\n key,\n column,\n list:\n typeof list === \"function\"\n ? list(...groupArgs, context)\n : list,\n title:\n typeof itemTitle === \"function\"\n ? itemTitle({\n index,\n key,\n onRemove,\n })\n : itemTitle,\n groupArgs,\n extra: (\n <FormattedMessage id=\"delText\" moduleName=\"FormInfo\">\n {(text) =>\n !(minLength && minLength >= length) ? (\n <ConfirmButton\n danger\n className={\"btn-no-padding\"}\n message={formatMessage(\n { id: \"delConfirm\" },\n { name: label || title }\n )}\n type=\"link\"\n onClick={() => {\n onRemove(key);\n afterDelete && afterDelete(...groupArgs, context);\n }}\n {...Object.assign({}, deleteButtonProps)}\n >\n {deleteButtonProps?.children ? (\n deleteButtonProps?.children\n ) : (\n <>\n <Icon type=\"icon-shanchu\" />\n {text}\n </>\n )}\n </ConfirmButton>\n ) : null\n }\n </FormattedMessage>\n ),\n };\n return (\n <div\n key={key}\n className={classnames(style[\"list-item\"], {\n [style[\"is-important\"]]: important,\n })}\n >\n {typeof listRender === \"function\" ? (\n listRender(formInfoProps)\n ) : (\n <FormInfo\n {...formInfoProps}\n className={style[\"list-item-part\"]}\n gap={16}\n />\n )}\n <Divider />\n </div>\n );\n }}\n </GroupList>\n )\n )}\n {!isUnshift && allowAdd ? (\n <FormattedMessage id=\"addText\" moduleName=\"FormInfo\">\n {(text) => (\n <Button onClick={addHandler}>\n <Icon type=\"icon-tianjia\" />\n {addText || text}\n </Button>\n )}\n </FormattedMessage>\n ) : null}\n </>\n );\n }\n);\n\nconst Outer = ({ add, addText, className, allowAdd, ...props }) => {\n return (\n <InfoPage.Part\n {...props}\n className={className}\n extra={\n allowAdd && (\n <FormattedMessage id=\"addText\" moduleName=\"FormInfo\">\n {(text) => (\n <Typography.Text className={style[\"list-btn\"]} onClick={add}>\n <Icon type=\"icon-tianjia\" />\n {addText || text}\n </Typography.Text>\n )}\n </FormattedMessage>\n )\n }\n />\n );\n};\n\nList.defaultProps = {\n minLength: 0,\n isUnshift: true,\n defaultLength: 1,\n outer: <Outer />,\n renderChildren: (children) => children,\n};\n\nexport default List;\n","import { useRef } from \"react\";\nimport { Button } from \"antd\";\nimport { GroupList, useFormContext } from \"@kne/react-form-antd\";\nimport Icon from \"@components/Icon\";\nimport get from \"lodash/get\";\nimport style from \"./style.module.scss\";\nimport classnames from \"classnames\";\n\nconst MultiField = ({\n name,\n label,\n rule,\n field,\n defaultLength,\n minLength,\n maxLength,\n ...props\n}) => {\n const ref = useRef(null);\n const CurrentFiled = field;\n const context = useFormContext();\n const { formData } = context;\n const allowAdd = !(\n maxLength && maxLength <= get(formData, `${name}.length`, 0)\n );\n return (\n <div className={classnames(style[\"mult-field\"], \"mult-field\")}>\n <GroupList\n ref={ref}\n name={name}\n defaultLength={Math.max(defaultLength, minLength, 1)}\n >\n {(key, { index, onRemove, length }) => {\n return (\n <div\n key={key}\n className={classnames(\n style[\"mult-field-item\"],\n \"mult-field-item\",\n {\n [style[\"first-item\"]]: index === 0,\n }\n )}\n >\n <CurrentFiled {...props} name={name} label={label} rule={rule} />\n <div>\n <div className=\"react-form__field-label\" />\n <Button\n icon={<Icon type=\"shanchu\" />}\n onClick={onRemove}\n disabled={length <= Math.max(minLength, 1)}\n />\n </div>\n </div>\n );\n }}\n </GroupList>\n {allowAdd && (\n <Button\n className={style[\"mult-field-add-btn\"]}\n type=\"dashed\"\n onClick={() => ref.current.onAdd()}\n >\n <Icon type=\"tianjia\" />\n 添加{label}\n </Button>\n )}\n </div>\n );\n};\n\nMultiField.defaultProps = {\n minLength: 1,\n defaultLength: 1,\n};\n\nexport default MultiField;\n","// extracted by mini-css-extract-plugin\nexport default {\"ant-tag\":\"style_ant-tag__7ct2q__XDz7c\",\"overlay\":\"style_overlay__CXfU5__XDz7c\",\"input\":\"style_input__+OpvV__XDz7c\",\"is-disabled\":\"style_is-disabled__uX4qq__XDz7c\",\"input-icon\":\"style_input-icon__E3NjK__XDz7c\",\"large\":\"style_large__vMozz__XDz7c\",\"small\":\"style_small__ubqQ+__XDz7c\",\"input-inner\":\"style_input-inner__sY-6k__XDz7c\",\"input-custom\":\"style_input-custom__Kxq3n__XDz7c\",\"display-content\":\"style_display-content__qA1jn__XDz7c\",\"overlay-footer-extra\":\"style_overlay-footer-extra__yCzWX__XDz7c\",\"selected-tag\":\"style_selected-tag__BZsMM__XDz7c\",\"selected-tag-list\":\"style_selected-tag-list__As0ho__XDz7c\",\"selected-tag-inner\":\"style_selected-tag-inner__2NH59__XDz7c\",\"text-inner\":\"style_text-inner__Bq2Ji__XDz7c\",\"placeholder\":\"style_placeholder__odotY__XDz7c\",\"is-modal\":\"style_is-modal__4cj8L__XDz7c\",\"overlay-content\":\"style_overlay-content__kpGRn__XDz7c\"};","import createContext from \"@common/utils/createContext\";\n\nexport const { context, useContext, Provider, Consumer } = createContext();\n\nexport default context;\n","import style from \"./style.module.scss\";\nimport { Provider, useContext } from \"./context\";\nimport {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\nimport useControlValue from \"@kne/use-control-value\";\nimport { withFetch } from \"@kne/react-fetch\";\nimport get from \"lodash/get\";\nimport { App, Popover, Space, Tag } from \"antd\";\nimport classnames from \"classnames\";\nimport Modal from \"@components/Modal\";\nimport Icon from \"@components/Icon\";\nimport isNil from \"lodash/isNil\";\nimport clone from \"lodash/clone\";\nimport last from \"lodash/last\";\nimport SimpleBar from \"@common/components/SimpleBar\";\n\nconst createValueWithMaxLength =\n ({ maxLength, single, setValue, value, message }) =>\n (newValue) =>\n setValue(\n (() => {\n if (\n !single &&\n Number.isInteger(maxLength) &&\n maxLength > 0 &&\n newValue.length > maxLength\n ) {\n message(`最多选择${maxLength}个`);\n return value;\n }\n return newValue;\n })()\n );\n\nconst renderDisplayLabel = ({ single, value, mapping, onClose }) => {\n if (!value || !Array.isArray(value) || value.length === 0) {\n return null;\n }\n\n if (single) {\n return (\n <span className={style[\"text-inner\"]}>\n {get(mapping.get(value[0]), \"label\") || value[0]}\n </span>\n );\n }\n\n return value.map((item) => {\n const mappingItem = mapping.get(item);\n return (\n <Tag\n key={item}\n className={style[\"display-tag\"]}\n closable\n onClose={(e) => {\n e.preventDefault();\n onClose(item, mappingItem);\n }}\n >\n <span className={style[\"tag-inner\"]}>\n {get(mappingItem, \"label\") || item}\n </span>\n </Tag>\n );\n });\n};\n\nconst ModalContent = forwardRef(\n (\n {\n value: propsValue,\n onChange,\n extra,\n showSelectedTag,\n renderSelectedContent,\n children,\n ...props\n },\n ref\n ) => {\n const [value, setValue] = useState(propsValue);\n const propsValueRef = useRef(propsValue);\n propsValueRef.current = propsValue;\n const [modalOpen, setModalOpen] = useState(false);\n const { message } = App.useApp();\n const setValueWithMaxLength = createValueWithMaxLength({\n maxLength: props.maxLength,\n single: props.single,\n setValue,\n value,\n message: message.error,\n });\n useEffect(() => {\n if (modalOpen) {\n setValue(propsValueRef.current);\n }\n }, [modalOpen]);\n useImperativeHandle(ref, () => {\n return {\n modalOpen: () => {\n setModalOpen(true);\n },\n close: () => {\n setModalOpen(false);\n },\n };\n });\n return (\n <Modal\n {...props}\n open={modalOpen}\n onConfirm={() => {\n onChange(value);\n }}\n onClose={() => {\n setModalOpen(false);\n }}\n footer={\n (showSelectedTag || extra) && (\n <Space direction=\"vertical\" className={style[\"overlay-footer\"]}>\n {extra && (\n <div className={style[\"overlay-footer-extra\"]}>{extra}</div>\n )}\n {showSelectedTag &&\n renderSelectedContent({\n value,\n setValue: setValueWithMaxLength,\n })}\n </Space>\n )\n }\n >\n {typeof children === \"function\"\n ? children({ value, setValue: setValueWithMaxLength })\n : children}\n </Modal>\n );\n }\n);\n\nconst PopupContent = forwardRef(\n (\n {\n value,\n setValue,\n children,\n renderSelectedContent,\n showSelectedTag,\n placement,\n inputContent,\n single,\n extra,\n overlayWidth,\n wrapClassName,\n ...props\n },\n ref\n ) => {\n const [open, setOpen] = useState(false);\n useImperativeHandle(\n ref,\n () => {\n return {\n close: () => {\n setOpen(false);\n },\n };\n },\n []\n );\n return (\n <Popover\n {...props}\n open={open}\n onOpenChange={setOpen}\n overlayClassName={style[\"overlay\"]}\n arrow={false}\n content={\n <div\n style={overlayWidth ? { \"--overlay-width\": overlayWidth } : {}}\n className={style[\"overlay-content\"]}\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n <div className={style[\"overlay-inner\"]}>\n {typeof children === \"function\"\n ? children({\n value,\n setValue: (newValue) => {\n !(single && value[0] === newValue[0]) &&\n setValue(newValue);\n single && setOpen(false);\n },\n })\n : children}\n </div>\n {(showSelectedTag || extra) && (\n <div className={style[\"overlay-footer\"]}>\n {extra && (\n <div className={style[\"overlay-footer-extra\"]}>{extra}</div>\n )}\n {showSelectedTag && renderSelectedContent({ value, setValue })}\n </div>\n )}\n </div>\n }\n trigger=\"click\"\n placement={placement}\n >\n <div className={style[\"input-inner\"]}>{inputContent}</div>\n </Popover>\n );\n }\n);\n\nconst DisplayLabel = withFetch(\n ({ setFetchApi, wrapClassName, ...fetchApi }) => {\n const [hover, setHover] = useState(false);\n const modalRef = useRef(null);\n const popupRef = useRef(null);\n const selectInnerContext = useContext();\n const { valueState, mapping, props } = selectInnerContext;\n const [value, setValue] = valueState;\n const {\n single,\n placement,\n getPopupContainer,\n placeholder,\n isPopup,\n disabled,\n showSelectedTag,\n extra,\n inputContent: inputContentRender,\n } = props;\n const fetchApiRef = useRef(fetchApi);\n fetchApiRef.current = fetchApi;\n\n useEffect(() => {\n setFetchApi(\n Object.assign({}, fetchApiRef.current, {\n data: fetchApi.data,\n isComplete: fetchApi.isComplete,\n })\n );\n }, [fetchApi.data, setFetchApi, fetchApi.isComplete]);\n\n const inner = renderDisplayLabel({\n single,\n value,\n mapping,\n onClose: (item) => {\n setValue((value) => {\n const newValue = value.slice(0);\n const index = value.indexOf(item);\n index > -1 && newValue.splice(index, 1);\n return newValue;\n });\n },\n });\n\n const renderSelectedContent = ({ value, setValue }) => (\n <Space className={style[\"selected-tag\"]} align={\"center\"} wrap>\n <div>\n 已选\n {!props.single &&\n Number.isInteger(props.maxLength) &&\n props.maxLength > 0\n ? `(${value.length}/${props.maxLength})`\n : \"\"}\n :\n </div>\n <SimpleBar className={style[\"selected-tag-list\"]}>\n <div className={style[\"selected-tag-inner\"]}>\n {renderDisplayLabel({\n value,\n mapping,\n onClose: (item) => {\n setValue((value) => {\n const newValue = value.slice(0);\n const index = value.indexOf(item);\n index > -1 && newValue.splice(index, 1);\n return newValue;\n });\n },\n })}\n </div>\n </SimpleBar>\n </Space>\n );\n\n const inputContent = inputContentRender ? (\n inputContentRender(selectInnerContext)\n ) : (\n <Space\n className={style[\"display-content\"]}\n onMouseOver={() => {\n setHover(true);\n }}\n onMouseOut={() => {\n setHover(false);\n }}\n >\n <div>\n {inner || <span className={style[\"placeholder\"]}>{placeholder}</span>}\n </div>\n {hover && value && value.length > 0 && !disabled ? (\n <Icon\n className={classnames(\n style[\"close\"],\n style[\"input-icon\"],\n \"close\",\n \"input-icon\"\n )}\n type=\"icon-shibai\"\n onClick={(e) => {\n e.stopPropagation();\n setValue([]);\n }}\n />\n ) : (\n <Icon\n className={classnames(\n style[\"input-icon\"],\n \"input-icon-arrow\",\n \"input-icon\"\n )}\n type=\"icon-arrow-thin-down\"\n />\n )}\n </Space>\n );\n\n if (isPopup) {\n return (\n <PopupContent\n ref={popupRef}\n overlayWidth={props.overlayWidth}\n value={value}\n setValue={setValue}\n single={single}\n inputContent={inputContent}\n extra={\n typeof extra === \"function\"\n ? extra({\n close: () => popupRef.current.close(),\n context: selectInnerContext,\n })\n : extra\n }\n renderSelectedContent={renderSelectedContent}\n showSelectedTag={showSelectedTag}\n trigger=\"click\"\n placement={placement}\n getPopupContainer={getPopupContainer}\n >\n {props.children}\n </PopupContent>\n );\n }\n\n return (\n <div\n className={style[\"input-inner\"]}\n onClick={() => {\n modalRef.current.modalOpen();\n }}\n >\n <ModalContent\n size={props.modalSize}\n ref={modalRef}\n single={props.single}\n maxLength={props.maxLength}\n disabledScroller\n wrapClassName={classnames(\n style[\"overlay\"],\n style[\"is-modal\"],\n wrapClassName\n )}\n title={props.placeholder}\n value={value}\n onChange={setValue}\n extra={\n typeof extra === \"function\"\n ? extra({\n close: () => modalRef.current.close(),\n context: selectInnerContext,\n })\n : extra\n }\n showSelectedTag={showSelectedTag}\n renderSelectedContent={renderSelectedContent}\n >\n {props.children}\n </ModalContent>\n {inputContent}\n </div>\n );\n }\n);\n\nconst getValueInType = (value, mapping, type) => {\n if (type !== \"all\") {\n return value;\n }\n return value.map((item) => mapping.get(item));\n};\n\nconst setValueInType = (value, setMapping, type) => {\n if (type !== \"all\") {\n return value;\n }\n setMapping(value);\n return value.map((item) => item.value);\n};\n\nconst SelectInnerInput = ({\n api,\n className,\n displayItems,\n wrapClassName,\n ...props\n}) => {\n const [searchText, setSearchText] = useState(\"\");\n const [mapping, setMapping] = useState(\n new Map(displayItems.map((item) => [item.value, item]))\n );\n const [fetchApi, setFetchApi] = useState({});\n const { message } = App.useApp();\n const appendMapping = (items) => {\n const newItems = items.filter((item) => mapping.get(item.value) !== item);\n if (newItems.length === 0) {\n return;\n }\n\n setMapping((mapping) => {\n const newMapping = clone(mapping);\n newItems.forEach((item) => {\n newMapping.set(item.value, item);\n });\n return newMapping;\n });\n };\n\n const transformValue = (value) => {\n return setValueInType(\n props.single ? (isNil(value) ? [] : [value]) : value || [],\n appendMapping,\n props.valueType\n );\n };\n\n const [value, setValue] = useControlValue(\n Object.assign(\n {},\n props,\n {\n onChange: (value) => {\n const newValue = getValueInType(value, mapping, props.valueType);\n props.onChange &&\n props.onChange(props.single ? last(newValue) : newValue);\n },\n },\n \"value\" in props\n ? { value: transformValue(props.value) }\n : { defaultValue: transformValue(props.defaultValue) }\n )\n );\n\n const setValueWithMaxLength = createValueWithMaxLength({\n maxLength: props.maxLength,\n single: props.single,\n setValue,\n value,\n message: message.error,\n });\n\n return (\n <Provider\n value={{\n mapping,\n searchText,\n setSearchText,\n appendMapping,\n setItems: (data) => {\n fetchApi.setData(data);\n appendMapping(get(props.dataFormat(data), \"list\", []));\n },\n fetchApi,\n valueState: [value, setValueWithMaxLength],\n props,\n }}\n >\n <div\n className={classnames(\n style[\n `input${\n props.inputContent && typeof props.inputContent === \"function\"\n ? \"-custom\"\n : \"\"\n }`\n ],\n className\n )}\n >\n <DisplayLabel\n {...api}\n wrapClassName={wrapClassName}\n loading={null}\n setFetchApi={setFetchApi}\n onRequestSuccess={(data) => {\n appendMapping(get(props.dataFormat(data), \"list\", []));\n api.onRequestSuccess && api.onRequestSuccess(data);\n }}\n />\n </div>\n </Provider>\n );\n};\n\nSelectInnerInput.defaultProps = {\n placeholder: \"请选择\",\n displayItems: [],\n extra: null,\n api: {\n loader: () => [],\n },\n dataFormat: (data) => {\n return { list: data };\n },\n placement: \"bottomLeft\",\n getPopupContainer: null,\n showSelectedTag: true,\n};\n\nSelectInnerInput.useContext = useContext;\n\nexport default SelectInnerInput;\n","import List from \"./List\";\nimport FieldList from \"./FieldList\";\nimport { Col, Row } from \"antd\";\nimport clone from \"lodash/clone\";\nimport { forwardRef, useImperativeHandle, useRef, useState } from \"react\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\n\nconst TableHeader = forwardRef((props, ref) => {\n const [headers, setHeaders] = useState(new Map());\n useImperativeHandle(\n ref,\n () => {\n return (targetProps) => {\n setTimeout(() => {\n setHeaders((headers) => {\n if (headers.has(targetProps.key)) {\n return headers;\n }\n const newHeaders = clone(headers);\n newHeaders.set(targetProps.key, targetProps.props);\n return newHeaders;\n });\n });\n };\n },\n []\n );\n\n return (\n <Row\n wrap={false}\n className={style[\"table-list-header\"]}\n style={{\n \"--col-width\": `${100 / headers.size}%`,\n }}\n >\n {Array.from(headers).map(([key, { label, rule }]) => (\n <Col\n key={key}\n className={classnames({\n [style[\"is-req\"]]: (rule || \"\").split(\" \").indexOf(\"REQ\") === 0,\n })}\n >\n {label}\n </Col>\n ))}\n <Col className={style[\"table-list-extra\"]}></Col>\n </Row>\n );\n});\n\nconst TableList = ({ list, className, ...props }) => {\n const headerRef = useRef(null);\n return (\n <List\n {...props}\n className={classnames(className, style[\"table-list\"])}\n list={list}\n renderChildren={(children) => (\n <div className={style[\"table-list-inner\"]}>\n <TableHeader ref={headerRef} />\n {children}\n </div>\n )}\n listRender={({ list, groupArgs, extra, key }) => {\n return (\n <Row\n key={key}\n wrap={false}\n align=\"top\"\n style={{\n \"--col-width\": `${100 / list.length}%`,\n }}\n >\n <FieldList\n list={list}\n groupArgs={groupArgs}\n itemRender={(children, targetProps) => {\n headerRef.current(targetProps);\n return (\n <Col className={style[\"table-list-field\"]} flex={1}>\n {children}\n </Col>\n );\n }}\n />\n <Col className={style[\"table-list-extra\"]}>{extra}</Col>\n </Row>\n );\n }}\n />\n );\n};\n\nexport default TableList;\n","import { hooks } from \"@kne/react-form-antd\";\nimport { AddressInputField, AddressSelectField } from \"@components/Common\";\n\nconst { useOnChange, useDecorator } = hooks;\nconst AddressSelect = (props) => {\n const render = useOnChange(\n Object.assign({}, { placeholder: \"请选择\" + props.label }, props)\n );\n return render(AddressSelectField);\n};\n\nAddressSelect.Field = AddressSelectField;\nAddressSelect.AddressEnum = AddressSelectField.AddressEnum;\nAddressSelect.createAddressApi = AddressSelectField.createAddressApi;\nAddressSelect.withAddressApi = AddressSelectField.withAddressApi;\n\nexport default AddressSelect;\n\nexport const AddressInput = (props) => {\n const render = useDecorator(\n Object.assign(\n {},\n {\n placeholder: \"请选择\" + props.label,\n inputPlaceholder: \"请输入\" + props.label,\n },\n props\n )\n );\n return render(AddressInputField);\n};\n\nAddressInput.Field = AddressInputField;\n","import { hooks } from \"@kne/react-form-antd\";\nimport {\n AdvancedSelectField,\n createListField,\n TableField,\n UserField,\n} from \"@components/Common\";\n\nconst { useOnChange } = hooks;\n\nconst createdField = (WrappedComponent) => {\n const List = (props) => {\n const render = useOnChange(\n Object.assign({}, { placeholder: \"请选择\" + props.label }, props)\n );\n return render(WrappedComponent);\n };\n\n List.field = List.Field = WrappedComponent;\n\n return List;\n};\n\nexport const createdList = ({ renderList, defaultProps }) =>\n createdField(\n createListField({\n renderList,\n defaultProps,\n })\n );\n\nexport const User = createdField(UserField);\nexport const Table = createdField(TableField);\n\nconst AdvancedSelect = createdField(AdvancedSelectField);\nAdvancedSelect.createdList = createdList;\nAdvancedSelect.User = User;\nAdvancedSelect.Table = Table;\nexport default AdvancedSelect;\n","// extracted by mini-css-extract-plugin\nexport default {\"upload-btn\":\"style_upload-btn__-6XtP__XDz7c\",\"square\":\"style_square__UPkfA__XDz7c\",\"is-loading\":\"style_is-loading__wx6Pd__XDz7c\",\"upload-btn-tips\":\"style_upload-btn-tips__YtxWz__XDz7c\",\"drop-tips\":\"style_drop-tips__N-v59__XDz7c\",\"preview-area\":\"style_preview-area__aV3SN__XDz7c\"};","import { forwardRef, useLayoutEffect, useRef, useState } from \"react\";\nimport withInputFile, { InputFileLink } from \"@common/hocs/withInputFile\";\nimport Image from \"@components/Image\";\nimport { usePreset } from \"@components/Global\";\nimport { useModal } from \"@components/Modal\";\nimport Icon from \"@components/Icon\";\nimport {\n Avatar as AntdAvatar,\n Col,\n message,\n Row,\n Slider,\n Space,\n Spin,\n Tooltip,\n} from \"antd\";\nimport AvatarEditor from \"react-avatar-editor\";\nimport get from \"lodash/get\";\nimport classnames from \"classnames\";\nimport { useDebouncedCallback } from \"use-debounce\";\nimport { hooks } from \"@kne/react-form-antd\";\nimport merge from \"lodash/merge\";\nimport style from \"./style.module.scss\";\nimport defaultAvatar from \"../../../../defaultAvatar.svg\";\nimport { IntlProvider, FormattedMessage, useIntl } from \"@components/Intl\";\nimport importMessages from \"@components/FormInfo/locale\";\n\nconst { useOnChange } = hooks;\n\nconst AvatarDisplay = Image.Avatar;\n\nconst localeModuleName = \"FormInfo\";\n\nconst UploadButton = withInputFile(\n ({\n className,\n icon,\n loading,\n value,\n gender,\n width,\n height,\n children,\n shape,\n defaultAvatar,\n apis,\n }) => {\n const inner = (\n <>\n <AvatarDisplay\n id={get(value, \"id\")}\n gender={gender}\n width={(64 * width) / height}\n height={64}\n shape={shape}\n defaultAvatar={defaultAvatar}\n apis={apis}\n />\n <div className={style[\"upload-btn-tips\"]}>\n {icon || <Icon type=\"icon-chuanzhaopian\" size={16} />}\n </div>\n {children}\n </>\n );\n return (\n <div\n className={classnames(className, style[\"upload-btn\"], {\n [style[\"is-loading\"]]: loading,\n [style[\"square\"]]: shape === \"square\" || !(width && width === height),\n })}\n style={{ width: (64 * width) / height }}\n >\n {loading ? <Spin>{inner}</Spin> : inner}\n </div>\n );\n }\n);\n\nconst dataURLtoBlob = (dataURL) => {\n let arr = dataURL.split(\",\");\n // 注意base64的最后面中括号和引号是不转译的\n let _arr = arr[1].substring(0, arr[1].length - 2);\n let mime = arr[0].match(/:(.*?);/)[1],\n bstr = atob(_arr),\n n = bstr.length,\n u8arr = new Uint8Array(n);\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n return new Blob([u8arr], {\n type: mime,\n });\n};\n\nconst ControlAvatarEditor = forwardRef(\n (\n {\n image: propsImage,\n width,\n height,\n borderRadius,\n preview,\n fileSize,\n accept,\n renderTips,\n getApi,\n shape,\n border,\n ...props\n },\n ref\n ) => {\n const intl = useIntl({ moduleName: localeModuleName });\n const [baseWidth, setBaseWidth] = useState(0);\n const outerRef = useRef(null);\n const [image, setImage] = useState(propsImage);\n const [scale, setScale] = useState(1);\n const [rotate, setRotate] = useState(0);\n const [previewImg, setPreviewImg] = useState(\"\");\n const editorRef = useRef(null);\n useLayoutEffect(() => {\n setBaseWidth((outerRef.current.clientWidth * 2) / 3);\n }, []);\n getApi({\n getImage: () => {\n const canvas = editorRef.current.getImage();\n\n const targetCanvas = document.createElement(\"canvas\");\n const targetCtx = targetCanvas.getContext(\"2d\");\n targetCanvas.width = width;\n targetCanvas.height = height;\n\n targetCtx.drawImage(\n canvas,\n 0,\n 0,\n targetCanvas.width,\n targetCanvas.height\n );\n\n return new window.File(\n [dataURLtoBlob(targetCanvas.toDataURL())],\n image.name,\n { type: image.type }\n );\n },\n });\n const makePreviewInner = () => {\n setPreviewImg(editorRef.current.getImage().toDataURL());\n };\n const makePreview = useDebouncedCallback(makePreviewInner, 500);\n\n return (\n <div ref={outerRef}>\n <Row wrap={false} align=\"middle\">\n <Col span={preview ? 16 : 24}>\n {baseWidth && (\n <Space direction=\"vertical\">\n <AvatarEditor\n {...props}\n ref={editorRef}\n image={image}\n scale={scale}\n rotate={rotate}\n width={baseWidth - border * 2}\n height={\n (height * baseWidth) / width - (border * 2 * height) / width\n }\n border={border}\n color={[0, 0, 0, 0.6]}\n borderRadius={(borderRadius * baseWidth) / width}\n onImageReady={makePreviewInner}\n onImageChange={makePreview}\n />\n <div className={style[\"drop-tips\"]}>\n {renderTips(\n `${intl.formatMessage({ id: \"PictureFormat\" })}${accept\n .map((str) => str.replace(/^\\./, \"\"))\n .join(\" \")} ${intl.formatMessage({\n id: \"ImageSize\",\n })}${intl.formatMessage(\n { id: \"NotExceeding\" },\n { size: fileSize }\n )}`,\n {\n accept,\n fileSize,\n }\n )}\n </div>\n <Row gutter={14} align=\"middle\">\n <Col>\n <Tooltip\n title={intl.formatMessage({ id: \"Rotate\" })}\n placement=\"bottom\"\n >\n <Icon\n type=\"icon-xuanzhuan\"\n onClick={() => {\n setRotate((rotate) => {\n return (rotate - 90) % 360;\n });\n }}\n />\n </Tooltip>\n </Col>\n <Col>\n <Tooltip\n title={intl.formatMessage({ id: \"ImageFull\" })}\n placement=\"bottom\"\n >\n <Icon\n type=\"icon-chongman\"\n onClick={() => {\n setScale(1);\n }}\n />\n </Tooltip>\n </Col>\n <Col flex={1}>\n <Slider\n tooltip={{\n placement: \"bottom\",\n formatter: () => intl.formatMessage({ id: \"Size\" }),\n }}\n value={scale}\n step={0.05}\n min={0.2}\n max={3}\n onChange={setScale}\n />\n </Col>\n <Col>\n <InputFileLink\n accept={accept}\n onChange={(fileList) => {\n if (fileList[0].size > fileSize * 1024 * 1024) {\n message.error(\n intl.formatMessage(\n { id: \"FileNotExceeding\" },\n { name: fileList[0].name, size: fileSize }\n )\n );\n return;\n }\n setRotate(0);\n setScale(1);\n setImage(fileList[0]);\n }}\n >\n <FormattedMessage\n id={\"ReUpload\"}\n moduleName={localeModuleName}\n />\n </InputFileLink>\n </Col>\n </Row>\n </Space>\n )}\n </Col>\n {preview && (\n <Col span={8}>\n <div className={style[\"preview-area\"]}>\n <Space direction=\"vertical\">\n <AntdAvatar\n src={previewImg}\n // alt=\"预览\"\n shape={shape}\n style={{\n width: baseWidth / 2 - 36,\n height: ((baseWidth / 2 - 36) * height) / width,\n }}\n />\n <div\n style={{\n textAlign: \"center\",\n }}\n >\n <FormattedMessage\n id={\"Preview\"}\n moduleName={localeModuleName}\n />\n </div>\n </Space>\n </div>\n </Col>\n )}\n </Row>\n </div>\n );\n }\n);\n\nControlAvatarEditor.defaultProps = {\n border: 1,\n};\n\nconst useDropModal = () => {\n const modal = useModal();\n return (props) => {\n const {\n image,\n width,\n height,\n borderRadius,\n getApi,\n preview,\n fileSize,\n accept,\n renderTips,\n border,\n dropModalSize,\n ...others\n } = Object.assign(\n {},\n {\n title: \"编辑头像\",\n width: 200,\n height: 200,\n borderRadius:\n props.shape === \"circle\" &&\n props.width &&\n props.width === props.height\n ? props.width / 2\n : 2,\n preview: true,\n },\n props\n );\n return modal({\n ...others,\n size: dropModalSize,\n children: (\n <ControlAvatarEditor\n preview={preview}\n fileSize={fileSize}\n accept={accept}\n getApi={getApi}\n renderTips={renderTips}\n width={width}\n height={height}\n shape={\n props.shape === \"circle\" &&\n props.width &&\n props.width === props.height\n ? \"circle\"\n : \"square\"\n }\n borderRadius={borderRadius}\n image={image}\n border={border}\n scale={1}\n rotate={0}\n />\n ),\n });\n };\n};\n\nconst AvatarField = ({\n value,\n gender,\n fileSize,\n accept,\n openEditor,\n apis: currentApis,\n renderTips,\n onChange,\n shape,\n width,\n height,\n title,\n border,\n icon,\n dropModalSize,\n defaultAvatar,\n}) => {\n const [loading, setLoading] = useState(false);\n const { apis: baseApis } = usePreset();\n const apis = merge({}, baseApis, currentApis);\n const { ossUpload } = apis;\n const dropRef = useRef(null);\n const dropModal = useDropModal();\n const intl = useIntl({ moduleName: localeModuleName });\n return (\n <UploadButton\n value={value}\n gender={gender}\n accept={accept}\n width={width}\n height={height}\n shape={shape}\n icon={icon}\n loading={loading}\n defaultAvatar={defaultAvatar}\n apis={apis}\n onChange={(fileList) => {\n if (fileList[0].size > fileSize * 1024 * 1024) {\n message.error(\n intl.formatMessage(\n { id: \"FileNotExceeding\" },\n { name: fileList[0].name, size: fileSize }\n )\n );\n return;\n }\n const doUpload = (file) => {\n setLoading(true);\n return ossUpload({ file })\n .then(({ data }) => {\n if (data.code !== 0) {\n message.error(\n intl.formatMessage(\n { id: \"UploadFailed\" },\n { msg: data.msg ? \":\" + data.msg : \"\" }\n )\n );\n return;\n }\n onChange(data.data);\n })\n .finally(() => {\n setLoading(false);\n });\n };\n if (openEditor) {\n dropModal({\n image: fileList[0],\n width,\n height,\n title,\n shape,\n border,\n dropModalSize,\n getApi: (api) => (dropRef.current = api),\n fileSize,\n accept,\n renderTips,\n onConfirm: () => {\n doUpload(dropRef.current.getImage());\n },\n });\n return;\n }\n doUpload(fileList[0]);\n }}\n />\n );\n};\n\nAvatarField.defaultProps = {\n defaultAvatar,\n openEditor: true,\n fileSize: 2,\n width: 200,\n height: 200,\n dropModalSize: \"small\",\n border: 1,\n title: (\n <IntlProvider importMessages={importMessages} moduleName=\"FormInfo\">\n <FormattedMessage id={\"Crop\"} moduleName=\"FormInfo\" />\n </IntlProvider>\n ),\n accept: [\".jpg\", \".png\", \".jpeg\"],\n renderTips: (defaultTips) => {\n return defaultTips;\n },\n shape: \"circle\",\n};\n\nconst Avatar = (props) => {\n const render = useOnChange(props);\n return render(AvatarField);\n};\n\nAvatar.defaultProps = {};\n\nAvatar.Field = Avatar;\nAvatar.useDropModal = useDropModal;\n\nexport default Avatar;\n","import { hooks } from \"@kne/react-form-antd\";\nimport { CascaderField, createTreeUtils } from \"@components/Common\";\nconst { useOnChange } = hooks;\n\nconst Cascader = (props) => {\n const render = useOnChange(\n Object.assign({}, { placeholder: \"请选择\" + props.label }, props)\n );\n return render(CascaderField);\n};\n\nCascader.Field = CascaderField;\nCascader.createTreeUtils = createTreeUtils;\n\nexport { createTreeUtils };\nexport default Cascader;\n","import { FunctionSelectField } from \"@components/Common\";\nimport { hooks } from \"@kne/react-form-antd\";\n\nconst { useOnChange } = hooks;\n\nconst FunctionSelect = (props) => {\n const render = useOnChange(\n Object.assign({}, { placeholder: \"请选择\" + props.label }, props)\n );\n return render(FunctionSelectField);\n};\n\nFunctionSelect.Field = FunctionSelectField;\nFunctionSelect.Enum = FunctionSelectField.Enum;\n\nexport default FunctionSelect;\n","import { IndustrySelectField } from \"@components/Common\";\nimport { hooks } from \"@kne/react-form-antd\";\n\nconst { useOnChange } = hooks;\n\nconst IndustrySelect = (props) => {\n const render = useOnChange(\n Object.assign({}, { placeholder: \"请选择\" + props.label }, props)\n );\n return render(IndustrySelectField);\n};\n\nIndustrySelect.Field = IndustrySelectField;\nIndustrySelect.Enum = IndustrySelectField.Enum;\n\nexport default IndustrySelect;\n","import { Input } from \"antd\";\nimport useControlValue from \"@kne/use-control-value\";\nimport { createWithRemoteLoader } from \"@kne/remote-loader\";\n\nconst InputUpperCaseField = ({ ...props }) => {\n const [value, onChange] = useControlValue(props);\n\n return (\n <Input\n {...props}\n value={value}\n onChange={(e) => {\n onChange(\n e.target.value ? e.target.value.toUpperCase() : e.target.value,\n e\n );\n }}\n />\n );\n};\n\nconst InputUpperCase = createWithRemoteLoader({\n modules: [\"FormInfo@formModule\"],\n})(({ remoteModules, ...props }) => {\n const [formModule] = remoteModules;\n const { hooks } = formModule;\n const { useDecorator } = hooks;\n const render = useDecorator(\n Object.assign({ placeholder: `请输入${props.label || \"\"}` }, props)\n );\n return render(InputUpperCaseField);\n});\n\nInputUpperCase.field = InputUpperCaseField;\n\nexport default InputUpperCase;\n","// extracted by mini-css-extract-plugin\nexport default {\"money-input\":\"style_money-input__Pyur7__XDz7c\",\"money-description\":\"style_money-description__9pFk4__XDz7c\"};","import useControlValue from \"@kne/use-control-value\";\nimport { hooks, util } from \"@kne/react-form-antd\";\nimport { InputNumber } from \"antd\";\nimport changeMoneyToChinese, {\n MAX_NUM,\n} from \"@common/utils/changeMoneyToChinese\";\nimport style from \"./style.module.scss\";\nimport classnames from \"classnames\";\nimport merge from \"lodash/merge\";\nimport { useState } from \"react\";\n\nconst { isNotEmpty } = util;\nconst { useOnChange } = hooks;\nconst MoneyInputField = ({\n chineseEmpty,\n className,\n showError,\n errorDesc,\n transformMoneyToChinese,\n onBlur,\n moneyFormat,\n ...props\n}) => {\n const [status, setStatus] = useState(\"\");\n const [value, onChange] = useControlValue(props);\n const inputNumberProps = merge(\n {\n controls: false,\n precision: 2,\n addonAfter: \"元\",\n },\n props,\n {\n max: isNotEmpty(props.max)\n ? props.max > MAX_NUM\n ? MAX_NUM\n : props.max\n : MAX_NUM,\n }\n );\n return (\n <div className={classnames(className, \"money-input\", style[\"money-input\"])}>\n <InputNumber\n {...inputNumberProps}\n status={status}\n formatter={\n moneyFormat\n ? (value) => {\n return `${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n }\n : null\n }\n parser={(parserValue) => {\n const value = moneyFormat\n ? parserValue?.replace(/\\$\\s?|(,*)/g, \"\")\n : parserValue;\n if (isNotEmpty(value)) {\n if (\n Number(value) > Number(inputNumberProps.max) ||\n (isNotEmpty(inputNumberProps.min) &&\n Number(value) < Number(inputNumberProps.min))\n ) {\n setStatus(\"error\");\n }\n } else {\n setStatus(\"\");\n }\n return isNotEmpty(value) ? Number(value) : null;\n }}\n onChange={(val) => {\n onChange(val);\n }}\n onBlur={(e) => {\n onBlur && onBlur(e, setStatus);\n }}\n />\n <div className={classnames(style[\"money-description\"])}>\n {status === \"error\" && showError\n ? errorDesc\n : isNotEmpty(value)\n ? changeMoneyToChinese(\n transformMoneyToChinese ? transformMoneyToChinese(value) : value\n )\n : chineseEmpty}\n </div>\n </div>\n );\n};\n\nconst MoneyInput = (props) => {\n const render = useOnChange(\n Object.assign({ placeholder: `请输入${props.label || \"\"}` }, props)\n );\n return render(MoneyInputField);\n};\n\nMoneyInput.Field = MoneyInputField;\nMoneyInput.toChineseCharacter = changeMoneyToChinese;\n\nexport default MoneyInput;\n","// extracted by mini-css-extract-plugin\nexport default {\"country-select\":\"style_country-select__Ztf-V__XDz7c\",\"flag-img\":\"style_flag-img__RGhcM__XDz7c\"};","import {\n AsYouType,\n getCountryCallingCode,\n parsePhoneNumber,\n} from \"libphonenumber-js\";\nimport { Input, Select, Space } from \"antd\";\nimport { hooks } from \"@kne/react-form-antd\";\nimport useSimulationBlur from \"@kne/use-simulation-blur\";\nimport useControlValue from \"@kne/use-control-value\";\nimport get from \"lodash/get\";\nimport style from \"./style.module.scss\";\nimport { createWithRemoteLoader } from \"@kne/remote-loader\";\n\nconst { useDecorator } = hooks;\n\nconst CountrySelect = createWithRemoteLoader({\n modules: [\"components-iconfont:CountyFlag\"],\n})(({ remoteModules, value, onChange }) => {\n const [CountyFlag] = remoteModules;\n return (\n <CountyFlag>\n {({ list }) => {\n return (\n <Select\n popupMatchSelectWidth={300}\n className={style[\"country-select\"]}\n value={value || \"CN\"}\n onChange={onChange}\n placeholder=\"请选择国家\"\n showSearch\n filterOption={(input, option) => {\n return option.name.indexOf(input) > -1;\n }}\n optionLabelProp=\"code\"\n options={list.map(({ country_name_cn, country_code, ab }) => ({\n value: ab,\n code: `(+${country_code})`,\n name: country_name_cn,\n label: (\n <Space align=\"center\">\n <span className={style[\"country-name\"]}>\n {country_name_cn}\n </span>\n <div>(+{country_code})</div>\n </Space>\n ),\n }))}\n />\n );\n }}\n </CountyFlag>\n );\n});\n\nconst PhoneNumberField = (props) => {\n const { className, onBlur, name, ...others } = props;\n const [value, onChange] = useControlValue(props);\n const ref = useSimulationBlur(onBlur || (() => {}));\n const parsePhone = (value) => {\n const askType = new AsYouType(get(value, \"code\", \"CN\"));\n return askType.input(get(value, \"value\", \"\"));\n };\n return (\n <div className={className} ref={ref}>\n <Input\n {...others}\n addonBefore={\n <CountrySelect\n value={get(value, \"code\", \"CN\")}\n onChange={(code) => {\n onChange &&\n onChange(\n Object.assign({}, value, {\n code,\n value: parsePhone({ code, value: get(value, \"value\", \"\") }),\n })\n );\n onBlur && onBlur();\n }}\n />\n }\n value={get(value, \"value\", \"\")}\n onChange={(e) => {\n onChange &&\n onChange(\n Object.assign({ code: \"CN\" }, value, {\n value: e.target.value,\n code: get(value, \"code\", \"CN\"),\n })\n );\n }}\n onBlur={(e) => {\n onChange &&\n onChange(\n Object.assign({ code: \"CN\" }, value, {\n value: parsePhone({\n value: e.target.value,\n code: get(value, \"code\", \"CN\"),\n }),\n })\n );\n onBlur && onBlur();\n }}\n />\n </div>\n );\n};\n\nconst PhoneNumber = ({ rule, ...props }) => {\n const render = useDecorator(\n Object.assign(\n {\n placeholder: `请输入${props.label || \"\"}`,\n rule: ((rule) => {\n const rules = (rule || \"\").split(\" \");\n const reqIndex = rules.indexOf(\"REQ\");\n if (reqIndex > -1) {\n rules.splice(reqIndex + 1, 0, \"PHONE_NUMBER\");\n } else {\n rules.unshift(\"PHONE_NUMBER\");\n }\n return rules.join(\" \");\n })(rule),\n },\n props\n )\n );\n return render(PhoneNumberField);\n};\n\nPhoneNumber.Field = PhoneNumberField;\n\nPhoneNumber.defaultProps = {};\n\nPhoneNumber.format = ({ code, value }) => {\n const phoneCode = code ? getCountryCallingCode(code) : null;\n\n if (!phoneCode || !value) {\n return \"\";\n }\n return `+${phoneCode} ${value}`;\n};\n\nPhoneNumber.parsePhoneNumber = ({ phoneNumber }) => {\n const { country, countryCallingCode, nationalNumber } = phoneNumber\n ? parsePhoneNumber(phoneNumber)\n : null;\n\n if (!nationalNumber || !phoneNumber) {\n return \"\";\n }\n return { country, countryCallingCode, nationalNumber };\n};\n\nexport const PHONE_NUMBER = async (value, { field }) => {\n if (\n (field.rule || \"\").split(\" \").indexOf(\"REQ\") > -1 &&\n !get(value, \"value\")\n ) {\n return { result: false, errMsg: \"%s不能为空\" };\n }\n if (!get(value, \"value\")) {\n return { result: true };\n }\n\n const result = await import(\"libphonenumber-js/max\").then(\n ({ isValidPhoneNumber }) => {\n return isValidPhoneNumber(get(value, \"value\", \"\"), {\n defaultCountry: get(value, \"code\", \"CN\"),\n extract: true,\n });\n }\n );\n return { result, errMsg: \"%s格式不正确\" };\n};\n\nexport default PhoneNumber;\n","// extracted by mini-css-extract-plugin\nexport default {\"salary\":\"style_salary__sUOtT__XDz7c\",\"salary-type\":\"style_salary-type__Sl1LC__XDz7c\",\"input-number\":\"style_input-number__eoEZr__XDz7c\",\"full\":\"style_full__NPqJm__XDz7c\",\"input-group\":\"style_input-group__toLB7__XDz7c\",\"input-group-no-mb\":\"style_input-group-no-mb__C4nzh__XDz7c\"};","import React, { cloneElement } from \"react\";\nimport { hooks, Select } from \"@kne/react-form-antd\";\nimport useSimulationBlur from \"@kne/use-simulation-blur\";\nimport { Col, Input, InputNumber, Row } from \"antd\";\nimport style from \"./style.module.scss\";\nimport { IntlProvider, useIntl } from \"@components/Intl\";\nimport importMessages from \"../../locale\";\nimport Enum from \"@components/Enum\";\nimport useControlValue from \"@kne/use-control-value\";\nimport { get } from \"lodash\";\n\nconst { field: SelectField } = Select.Fetch;\n\nconst { useDecorator, useUIDecorator } = hooks;\n\nexport const InputNumberField = (props) => {\n const render = useUIDecorator(props);\n return render(InputNumber);\n};\nconst numberFormat = (value) => {\n if (!value) return \"\";\n const _value = isNaN(Number(value)) ? value : Math.abs(Number(value));\n return value.split(\".\")[1] && value.split(\".\")[1].length > 2\n ? _value.toFixed(2)\n : _value;\n};\n\nconst FormField = ({ children, isError }) => {\n return (\n <div\n style={{ marginBottom: 0 }}\n className={`react-form__field ${isError ? \"is-error\" : \"\"}`}\n >\n <div className=\"react-form__field-main\">\n <div className=\"react-form__field-input\">\n {cloneElement(children, { className: \"react-form__field-component\" })}\n </div>\n </div>\n </div>\n );\n};\n\nconst SalaryInputField = ({\n getPopupContainer,\n onBlur,\n api,\n isRange = true,\n placeholder,\n disabled,\n showMonth,\n remindUnit,\n req,\n ...props\n}) => {\n const [value, onChange] = useControlValue(props);\n const { formatMessage } = useIntl({ moduleName: \"FormInfo\" });\n const _placeholder = formatMessage(\n { id: \"defaultSelectPlaceholder\" },\n { label: \"\" }\n );\n const _placeholderInput = formatMessage(\n { id: \"defaultInputPlaceholder\" },\n { label: \"\" }\n );\n\n const isTenThousand = [6].indexOf(get(value, \"type\")) > -1,\n isFace = get(value, \"type\") === 1,\n isOther = get(value, \"type\") === 7;\n\n const transform = (value) => {\n if (!value) {\n return;\n }\n return isTenThousand ? value / 10000 : value;\n };\n\n const ref = useSimulationBlur(onBlur ? onBlur : () => {});\n\n return (\n <div ref={ref} className={style[\"salary\"]}>\n <Row wrap={false} gutter={10}>\n <Col>\n <SelectField\n className={style[\"salary-type\"]}\n {...api}\n value={get(value, \"type\")}\n onChange={(type) => {\n onChange &&\n onChange(\n Object.assign({}, isFace ? {} : value, {\n type,\n min: \"\",\n max: \"\",\n })\n );\n }}\n placeholder={placeholder || _placeholder}\n getPopupContainer={getPopupContainer}\n disabled={disabled}\n >\n {({ data }) => {\n return { options: data || [] };\n }}\n </SelectField>\n </Col>\n {isFace ? null : (\n <Col flex={1}>\n {isRange && (\n <Row\n className={\n remindUnit && [5, 6].includes(value?.type)\n ? style[\"input-group\"]\n : style[\"input-group-no-mb\"]\n }\n wrap={false}\n >\n <Col flex={1}>\n <FormField isError={!get(value, \"min\") && req}>\n <InputNumber\n disabled={disabled}\n placeholder={_placeholderInput}\n formatter={numberFormat}\n value={transform(get(value, \"min\"))}\n style={{\n textAlign: \"center\",\n }}\n onChange={(min) => {\n onChange(\n Object.assign({}, value, {\n min: isTenThousand ? min * 10000 : min,\n })\n );\n }}\n // status={'warning'}\n description={\n remindUnit && [5, 6].includes(value?.type) ? (\n <span style={{ color: \"#fc3333\" }}>\n 注意:\n <Enum\n name={value?.type}\n moduleName=\"salaryTypeEnum\"\n />\n 的单位为\n {isTenThousand\n ? formatMessage({ id: \"thousand\" })\n : isOther\n ? \"\"\n : formatMessage({ id: \"yuan\" })}\n </span>\n ) : null\n }\n />\n </FormField>\n </Col>\n <Col>\n <Input\n style={{\n width: 30,\n borderLeft: 0,\n borderRight: 0,\n pointerEvents: \"none\",\n }}\n placeholder=\"~\"\n disabled\n />\n </Col>\n <Col flex={1}>\n <FormField isError={!get(value, \"max\") && req}>\n <InputNumber\n disabled={disabled}\n placeholder={_placeholderInput}\n formatter={numberFormat}\n value={transform(get(value, \"max\"))}\n style={{\n textAlign: \"center\",\n }}\n addonAfter={\n isTenThousand\n ? formatMessage({ id: \"thousand\" })\n : isOther\n ? \"\"\n : formatMessage({ id: \"yuan\" })\n }\n onChange={(max) => {\n onChange(\n Object.assign({}, value, {\n max: isTenThousand ? max * 10000 : max,\n })\n );\n }}\n />\n </FormField>\n </Col>\n {get(value, \"type\") === 5 && showMonth && (\n <Col>\n <span\n className={\n get(value, \"max\") &&\n get(value, \"min\") &&\n !get(value, \"month\") &&\n req\n ? \"error\"\n : \"\"\n }\n >\n <span className={style[\"input-number\"]}>X</span>\n <InputNumber\n min={12}\n disabled={disabled}\n value={get(value, \"month\")}\n onChange={(v) => {\n onChange(Object.assign({}, value, { month: v }));\n }}\n style={{\n width: 100,\n textAlign: \"center\",\n }}\n placeholder=\"数量\"\n addonAfter=\"月\"\n />\n </span>\n </Col>\n )}\n </Row>\n )}\n {!isRange && !isOther && (\n <InputNumber\n disabled={disabled}\n min={0}\n max={100000000}\n placeholder={_placeholderInput}\n className={style.full}\n formatter={numberFormat}\n value={transform(get(value, \"max\"))}\n style={{\n textAlign: \"center\",\n }}\n addonAfter={\n isTenThousand\n ? formatMessage({ id: \"thousand\" })\n : isOther\n ? \"\"\n : formatMessage({ id: \"yuan\" })\n }\n onChange={(max) => {\n onChange(\n Object.assign({}, value, {\n max: isTenThousand ? max * 10000 : max,\n })\n );\n }}\n />\n )}\n {!isRange && isOther && (\n <Input\n disabled={disabled}\n placeholder={_placeholderInput}\n className={style.full}\n onChange={(e) => {\n onChange(Object.assign({}, value, { max: e.target.value }));\n }}\n value={get(value, \"max\")}\n style={{\n textAlign: \"center\",\n }}\n />\n )}\n </Col>\n )}\n </Row>\n </div>\n );\n};\nconst SalaryField = (props) => {\n return (\n <IntlProvider moduleName=\"FormInfo\" importMessages={importMessages}>\n <SalaryInputField {...props} />\n </IntlProvider>\n );\n};\n\nSalaryField.defaultProps = {\n api: {\n loader: () => {\n return [\n {\n value: 1,\n label: \"面议\",\n },\n {\n value: 2,\n label: \"时薪\",\n },\n {\n value: 3,\n label: \"日薪\",\n },\n {\n value: 4,\n label: \"周薪\",\n },\n {\n value: 5,\n label: \"月薪\",\n },\n {\n value: 6,\n label: \"年薪\",\n },\n ];\n },\n },\n defaultValue: {\n type: 5,\n min: \"\",\n max: \"\",\n month: 12,\n },\n};\n\nconst SalaryInput = (props) => {\n const render = useDecorator({\n ...props,\n req: props?.rule?.indexOf(\"REQ\") > -1,\n });\n return render(SalaryField);\n};\n\nSalaryInput.Field = SalaryField;\n\nexport default SalaryInput;\n","// extracted by mini-css-extract-plugin\nexport default {\"table\":\"style_table__A9nBK__XDz7c\"};","import { withFetch } from \"@kne/react-fetch\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\nimport { get, omit, pick } from \"lodash\";\nimport { Table } from \"@components/TablePage\";\nimport { hooks } from \"@kne/react-form-antd\";\nimport useControlValue from \"@kne/use-control-value\";\nimport { useEffect, useRef } from \"react\";\n\nconst { useOnChange } = hooks;\n\nconst TableInner = withFetch(({ ...props }) => {\n const [value, onChange] = useControlValue(props);\n const fetchProps = [\n \"isLoading\",\n \"isComplete\",\n \"data\",\n \"requestParams\",\n \"error\",\n \"send\",\n \"refresh\",\n \"reload\",\n \"loadMore\",\n \"setData\",\n ];\n const fetchApi = pick(props, fetchProps);\n const tableProps = omit(props, fetchProps);\n const {\n rowKey = \"id\",\n columns,\n className,\n innerName,\n headerRender,\n footerRender,\n } = tableProps;\n const formatData = props.dataFormat(fetchApi.data);\n\n const handleChange = (list, value, { current, rowKeyValue, dataIndex }) => {\n const result = {};\n const dataList = list.slice(0).map((item) => {\n if (item[rowKey] === rowKeyValue) {\n result[item[rowKey]] = {\n ...item,\n [dataIndex]: current,\n };\n return {\n ...item,\n [dataIndex]: current,\n };\n } else {\n const _currentItem = value[item[rowKey]];\n result[item[rowKey]] = Object.assign({}, item, _currentItem);\n return Object.assign({}, item, _currentItem);\n }\n });\n const data = {\n pageData: dataList,\n totalCount: dataList.length,\n };\n fetchApi.setData(data);\n onChange && onChange(result);\n };\n\n const changeRef = useRef(null);\n changeRef.current = handleChange;\n\n useEffect(() => {\n // 判断value中是否全部存在list属性值\n const hasExist = formatData.list.every((x) => {\n const obj = value[x[rowKey]] || {};\n return Object.keys(x).every((it) => obj.hasOwnProperty(it));\n });\n if (\n (!hasExist || Object.keys(value).length !== formatData.list.length) &&\n fetchApi.isComplete\n ) {\n changeRef.current(formatData.list, value, {});\n }\n }, [fetchApi.isComplete, value, formatData.list, rowKey]);\n\n return (\n <div>\n {headerRender && headerRender(fetchApi)}\n <Table\n {...tableProps}\n className={classnames(style[\"table\"], className)}\n rowKey={rowKey}\n dataSource={formatData.list}\n pagination={false}\n columns={columns.map((column) => {\n const item = { ...column };\n if (item.dataIndex) {\n return Object.assign({}, item, {\n render: (text, record, index) => {\n const editable = item.editable\n ? typeof item.editable === \"function\"\n ? item.editable(text, record, index, formatData.list)\n : item.editable\n : true;\n const rowKeyValue = record[rowKey];\n const valueItem = value[rowKeyValue];\n const defaultValue = get(valueItem, item.dataIndex) || text;\n if (editable && item.field) {\n if (item.field?.render) {\n return (\n <>\n {item.field.render(\n {\n value: defaultValue,\n name: `${innerName}.${rowKeyValue}.${item.dataIndex}`,\n label: \" \",\n labelHidden: item.labelHidden,\n onChange: (...args) => {\n const _value = item.field?.getValue\n ? item.field.getValue(args[0])\n : args[0];\n handleChange(formatData.list, value, {\n current: _value,\n rowKeyValue,\n dataIndex: item.dataIndex,\n });\n return (\n item.field.onChange &&\n item.field.onChange(...args, fetchApi)\n );\n },\n },\n record,\n index,\n fetchApi\n )}\n </>\n );\n }\n const Component = item.field?.type;\n return (\n <Component\n {...omit(item.field, [\"type\", \"getValue\"])}\n value={defaultValue}\n name={`${innerName}.${rowKeyValue}.${item.dataIndex}`}\n label={\" \"}\n labelHidden={item.labelHidden}\n onChange={(...args) => {\n const _value = item.field?.getValue\n ? item.field.getValue(args[0])\n : args[0];\n handleChange(formatData.list, value, {\n current: _value,\n rowKeyValue,\n dataIndex: item.dataIndex,\n });\n return (\n item.field.onChange &&\n item.field.onChange(...args, fetchApi)\n );\n }}\n />\n );\n } else {\n return item.render\n ? item.render(defaultValue, record, index)\n : defaultValue;\n }\n },\n });\n }\n return item;\n })}\n />\n {footerRender && footerRender(fetchApi)}\n </div>\n );\n});\n\nTableInner.defaultProps = {\n mergeList: (data, newData) => {\n return Object.assign({}, newData, {\n pageData: (data.pageData || []).concat(newData.pageData || []),\n });\n },\n dataFormat: (data) => {\n return {\n list: data.pageData,\n total: data.totalCount,\n };\n },\n};\n\nconst TableInputField = ({ api, ...props }) => {\n return <TableInner {...props} {...api} />;\n};\n\nTableInputField.defaultProps = {\n api: {},\n value: {},\n};\n\nconst TableInput = (props) => {\n const render = useOnChange(\n Object.assign(\n {\n placeholder: `请选择${props.label}`,\n innerName: props.name,\n },\n props\n )\n );\n return render(TableInputField);\n};\n\nTableInput.Field = TableInputField;\n\nexport default TableInput;\n","import TypeDateRangePickerField from \"@common/components/TypeDateRangePickerField\";\nimport { hooks } from \"@kne/react-form-antd\";\n\nconst { useOnChange } = hooks;\n\nconst TypeDateRangePicker = (props) => {\n const render = useOnChange(Object.assign({}, {}, props));\n return render(TypeDateRangePickerField);\n};\n\nTypeDateRangePicker.Field = TypeDateRangePickerField;\n\nexport default TypeDateRangePicker;\n","// extracted by mini-css-extract-plugin\nexport default {\"upload\":\"style_upload__t422Q__XDz7c\",\"upload-list\":\"style_upload-list__Q9HDc__XDz7c\",\"upload-input\":\"style_upload-input__vXk4w__XDz7c\",\"tips\":\"style_tips__3Gpnu__XDz7c\"};","import { Space } from \"antd\";\nimport classnames from \"classnames\";\nimport useControlValue from \"@kne/use-control-value\";\nimport style from \"./style.module.scss\";\nimport Icon from \"@components/Icon\";\nimport { List as FileList } from \"@components/File\";\nimport { hooks } from \"@kne/react-form-antd\";\nimport omit from \"lodash/omit\";\nimport { InputFileButton, useFileUpload } from \"@common/hocs/withInputFile\";\n\nconst { useOnChange } = hooks;\n\nconst UploadField = ({\n className,\n fileSize,\n maxLength,\n multiple,\n size,\n accept,\n children,\n renderTips,\n showUploadList,\n onSave,\n ossUpload,\n getPermission,\n ...props\n}) => {\n const [propsValue, onChange] = useControlValue(props);\n const value = propsValue || [];\n const { fileList: uploadingList, onFileSelected } = useFileUpload({\n multiple,\n onSave,\n ossUpload,\n fileSize,\n maxLength,\n value,\n onChange,\n concurrentCount: 10,\n });\n const previewFileList = [...uploadingList, ...value];\n\n const tipsText = renderTips(\n `支持扩展名${accept\n .map((str) => str.replace(/^\\./, \"\"))\n .join(\"、\")},单个文件大小不超过${fileSize}M,最多上传${maxLength}个附件`,\n {\n fileSize,\n maxLength,\n accept,\n }\n );\n\n return (\n <Space direction=\"vertical\">\n <Space>\n <InputFileButton\n {...omit(props, [\"value\", \"onChange\"])}\n size={size}\n multiple={multiple}\n accept={accept}\n className={classnames(style[\"upload\"], className)}\n onChange={onFileSelected}\n >\n {children}\n </InputFileButton>\n {tipsText && <div className={style[\"tips\"]}>{tipsText}</div>}\n </Space>\n {showUploadList && previewFileList.length > 0 && (\n <FileList\n className={style[\"upload-list\"]}\n dataSource={previewFileList}\n infoItemRenders={[]}\n getPermission={\n getPermission\n ? getPermission\n : (type) => {\n return type === \"delete\";\n }\n }\n apis={{\n onDelete: (target) => {\n const newList = value.slice(0);\n const index = newList.indexOf(target);\n index > -1 && newList.splice(index, 1);\n onChange(newList);\n },\n }}\n />\n )}\n </Space>\n );\n};\n\nUploadField.defaultProps = {\n defaultValue: [],\n children: (\n <>\n <Icon type=\"icon-shangchuanfujian\" />\n 上传附件\n </>\n ),\n accept: [\n \".pdf\",\n \".jpg\",\n \".png\",\n \".jpeg\",\n \".doc\",\n \".docx\",\n \".xls\",\n \".xlsx\",\n \".html\",\n \".msg\",\n \".zip\",\n ],\n renderTips: (defaultTips) => {\n return defaultTips;\n },\n multiple: true,\n showUploadList: true,\n maxLength: 10,\n fileSize: 30,\n};\n\nconst Upload = (props) => {\n const render = useOnChange(props);\n return render(UploadField);\n};\n\nUpload.defaultProps = {\n interceptor: \"file-format\",\n};\n\nUpload.Field = UploadField;\n\nexport default Upload;\n","import {\n DatePicker as ReactDatePicker,\n DatePickerToday as ReactDatePickerToday,\n Input as ReactInput,\n InputNumber as ReactInputNumber,\n Select as ReactSelect,\n TextArea as ReactTextArea,\n TimePicker as ReactTimePicker,\n TreeSelect as ReactTreeSelect,\n RadioGroup,\n CheckboxGroup,\n Switch,\n Rate,\n Slider,\n} from \"@kne/react-form-antd\";\nimport AdvancedSelectField from \"./AdvancedSelect\";\nimport AddressSelect, { AddressInput } from \"./AddressSelect\";\nimport Cascader from \"./Cascader\";\nimport FunctionSelect from \"./FunctionSelect\";\nimport IndustrySelect from \"./IndustrySelect\";\nimport MoneyInput from \"./MoneyInput\";\nimport PhoneNumber from \"./PhoneNumber\";\nimport Upload from \"./Upload\";\nimport Avatar from \"./Avatar\";\nimport SalaryInput from \"./SalaryInput\";\nimport InputUpperCaseField from \"./InputUpperCase\";\nimport TableInput from \"./TableInput\";\nimport compose from \"@kne/compose\";\nimport { forwardRef } from \"react\";\nimport { FormattedMessage, useIntl } from \"@components/Intl\";\nimport { useGroup } from \"@kne/react-form-antd\";\nimport get from \"lodash/get\";\nimport { get as _get } from \"lodash\";\nimport { useFormLang } from \"@components/FormInfo/FormLangProvider\";\nimport TypeDateRangePicker from \"./TypeDateRangePicker\";\nimport Tooltip from \"@components/Tooltip\";\nimport Icon from \"@components/Icon\";\nimport { Space } from \"antd\";\nimport classnames from \"classnames\";\nimport style from \"../style.module.scss\";\n\nconst createWithFieldDecorator = (decoratorList) => (WrappedComponent) => {\n const TargetComponent = compose(...decoratorList)(\n ({ forwardedRef, label, placeholder, ...props }) => (\n <WrappedComponent\n {...props}\n label={label}\n labelRender={() =>\n props.tips ? (\n <Space>\n {label}\n <Tooltip content={props.tips}>\n <span\n className={classnames(style[\"field-tips\"], {\n [style[\"label-hidden\"]]: props.labelHidden,\n })}\n >\n <Icon type=\"icon-xinxi-miaobian\" />\n </span>\n </Tooltip>\n </Space>\n ) : (\n label\n )\n }\n ref={forwardedRef}\n />\n )\n );\n const ForwardComponent = forwardRef((props, ref) => {\n return <TargetComponent {...props} forwardedRef={ref} />;\n });\n Object.keys(WrappedComponent)\n .filter((key) => {\n return [\"$$typeof\", \"render\", \"field\"].indexOf(key) === -1;\n })\n .forEach((key) => {\n ForwardComponent[key] = WrappedComponent[key];\n });\n\n return ForwardComponent;\n};\n\nconst withInputDefaultPlaceholder = (WrappedComponent) => {\n return ({ placeholder, label, ...props }) => (\n <FormattedMessage\n id=\"defaultInputPlaceholder\"\n moduleName=\"FormInfo\"\n values={{ label }}\n >\n {(text) => (\n <WrappedComponent\n {...props}\n label={label}\n placeholder={placeholder || text}\n />\n )}\n </FormattedMessage>\n );\n};\n\nconst withSelectDefaultPlaceholder = (WrappedComponent) => {\n return ({ placeholder, label, ...props }) => (\n <FormattedMessage\n id=\"defaultSelectPlaceholder\"\n moduleName=\"FormInfo\"\n values={{ label }}\n >\n {(text) => (\n <WrappedComponent\n {...props}\n label={label}\n placeholder={placeholder || text}\n />\n )}\n </FormattedMessage>\n );\n};\n\nconst withLang = (WrappedComponent) => {\n return (props) => {\n const group = useGroup();\n const groupName = get(group, \"name\");\n const groupIndex = _get(group, \"index\");\n const lang = useFormLang();\n if (lang && Array.isArray(lang) && lang.length > 0) {\n return lang.map((item) => {\n if (typeof item === \"string\") {\n return <WrappedComponent {...props} key={item} />;\n }\n const { name, label, options } = item;\n const ignoreList = get(options, \"ignore\", []),\n disabledList = get(options, \"disabled\", []),\n fields = get(options, \"fields\", []);\n const getCurrentField = (item) =>\n props.name === item.name &&\n !(item.hasOwnProperty(\"groupName\") && item.groupName !== groupName) &&\n !(\n item.hasOwnProperty(\"groupIndex\") && item.groupIndex !== groupIndex\n );\n\n if (ignoreList.length > 0 && ignoreList.find(getCurrentField)) {\n return null;\n }\n\n if (fields.length > 0 && !fields.find(getCurrentField)) {\n return null;\n }\n\n let newProps = Object.assign({}, props, {\n name: get(\n options,\n \"nameTransform\",\n (name, langName) => `${name}${langName}`\n )(props.name, name),\n label: get(\n options,\n \"labelTransform\",\n (label, langLabel) => label && `${label}${langLabel}`\n )(props.label, label),\n });\n\n if (disabledList.length > 0 && disabledList.find(getCurrentField)) {\n newProps.disabled = true;\n newProps.rule = \"\";\n }\n return <WrappedComponent {...newProps} key={name} />;\n });\n }\n\n return <WrappedComponent {...props} />;\n };\n};\n\nconst Input = createWithFieldDecorator([withLang, withInputDefaultPlaceholder])(\n ReactInput\n);\n\nconst InputNumber = createWithFieldDecorator([\n withLang,\n withInputDefaultPlaceholder,\n])(ReactInputNumber);\nInput.Password = createWithFieldDecorator([\n withLang,\n withInputDefaultPlaceholder,\n])(ReactInput.Password);\n\nconst DatePicker = createWithFieldDecorator([\n withLang,\n withSelectDefaultPlaceholder,\n])(ReactDatePicker);\nDatePicker.MonthPicker = createWithFieldDecorator([\n withLang,\n withSelectDefaultPlaceholder,\n])(ReactDatePicker.MonthPicker);\n\nDatePicker.RangePicker = createWithFieldDecorator([\n withLang,\n withSelectDefaultPlaceholder,\n])(ReactDatePicker.RangePicker);\n\nDatePicker.WeekPicker = createWithFieldDecorator([\n withLang,\n withSelectDefaultPlaceholder,\n])(ReactDatePicker.WeekPicker);\n\nconst TimePicker = createWithFieldDecorator([\n withLang,\n withSelectDefaultPlaceholder,\n])(ReactTimePicker);\n\nTimePicker.RangePicker = createWithFieldDecorator([\n withLang,\n withSelectDefaultPlaceholder,\n])(ReactTimePicker.RangePicker);\n\nconst DatePickerToday = createWithFieldDecorator([withLang])(\n ({ placeholder, label, soFarText, ...props }) => {\n const { formatMessage } = useIntl({ moduleName: \"FormInfo\" });\n return (\n <ReactDatePickerToday\n {...props}\n label={label}\n placeholder={[\n formatMessage({ id: \"startDate\" }),\n formatMessage({ id: \"endDate\" }),\n ]}\n soFarText={soFarText || formatMessage({ id: \"soFarText\" })}\n />\n );\n }\n);\n\nconst fields = {\n Input,\n InputNumber,\n DatePicker,\n TimePicker,\n DatePickerToday,\n RadioGroup: createWithFieldDecorator([withLang])(RadioGroup),\n CheckboxGroup: createWithFieldDecorator([withLang])(CheckboxGroup),\n Rate: createWithFieldDecorator([withLang])(Rate),\n Switch: createWithFieldDecorator([withLang])(Switch),\n Slider: createWithFieldDecorator([withLang])(Slider),\n TableInput: createWithFieldDecorator([withLang])(TableInput),\n SalaryInput: createWithFieldDecorator([withLang])(SalaryInput),\n TypeDateRangePicker: createWithFieldDecorator([withLang])(\n TypeDateRangePicker\n ),\n MoneyInput: createWithFieldDecorator([withLang])(MoneyInput),\n PhoneNumber: createWithFieldDecorator([withLang])(PhoneNumber),\n Upload: createWithFieldDecorator([withLang])(Upload),\n Avatar: createWithFieldDecorator([withLang])(Avatar),\n FunctionSelect: createWithFieldDecorator([\n withLang,\n withSelectDefaultPlaceholder,\n ])(FunctionSelect),\n IndustrySelect: createWithFieldDecorator([\n withLang,\n withSelectDefaultPlaceholder,\n ])(IndustrySelect),\n Cascader: createWithFieldDecorator([withLang, withSelectDefaultPlaceholder])(\n Cascader\n ),\n AddressSelect: createWithFieldDecorator([\n withLang,\n withSelectDefaultPlaceholder,\n ])(AddressSelect),\n AddressInput: createWithFieldDecorator([\n withLang,\n withSelectDefaultPlaceholder,\n ])(AddressInput),\n TreeSelect: createWithFieldDecorator([\n withLang,\n withSelectDefaultPlaceholder,\n ])(ReactTreeSelect),\n ReactInputNumber: createWithFieldDecorator([\n withLang,\n withInputDefaultPlaceholder,\n ])(ReactInputNumber),\n InputUpperCase: createWithFieldDecorator([\n withLang,\n withInputDefaultPlaceholder,\n ])(InputUpperCaseField),\n Select: createWithFieldDecorator([withLang, withSelectDefaultPlaceholder])(\n ReactSelect\n ),\n TextArea: createWithFieldDecorator([withLang, withInputDefaultPlaceholder])(\n ReactTextArea\n ),\n AdvancedSelect: createWithFieldDecorator([\n withLang,\n withSelectDefaultPlaceholder,\n ])(AdvancedSelectField),\n};\n\nexport default fields;\n\nexport const fieldDecorator = {\n createWithFieldDecorator,\n withInputDefaultPlaceholder,\n withSelectDefaultPlaceholder,\n withLang,\n};\n","import { hooks } from \"@kne/react-form-antd\";\nimport { Input, Typography } from \"antd\";\nimport useControlValue from \"@kne/use-control-value\";\n\nconst { useDecorator } = hooks;\n\nconst TextField = ({ children, ...props }) => {\n const [value] = useControlValue(props);\n return (\n <Typography.Text {...props}>\n <div style={{ height: 0, width: 0, overflow: \"hidden\" }}>\n <Input value={value} />\n </div>\n {children ? children : value}\n </Typography.Text>\n );\n};\n\nconst Text = (props) => {\n const render = useDecorator(props);\n return render(TextField);\n};\n\nText.Field = TextField;\n\nexport default Text;\n","import * as reactFormAntd from \"@kne/react-form-antd\";\nimport {\n DatePicker as ReactDatePicker,\n DatePickerToday as ReactDatePickerToday,\n Input as ReactInput,\n InputNumber as ReactInputNumber,\n Select as ReactSelect,\n TextArea as ReactTextArea,\n TimePicker as ReactTimePicker,\n TreeSelect as ReactTreeSelect,\n Rate,\n Switch,\n Slider,\n} from \"@kne/react-form-antd\";\nimport Form from \"./Form\";\nimport { FormattedMessage, useIntl } from \"@components/Intl\";\nimport { forwardRef } from \"react\";\nimport FormItem from \"./FormItem\";\nimport style from \"./style.module.scss\";\nimport AdvancedSelectField from \"./fields/AdvancedSelect\";\nimport AddressSelect, {\n AddressInput as AddressInputField,\n} from \"./fields/AddressSelect\";\nimport Cascader from \"./fields/Cascader\";\nimport FunctionSelect from \"./fields/FunctionSelect\";\nimport IndustrySelect from \"./fields/IndustrySelect\";\nimport MoneyInput from \"./fields/MoneyInput\";\nimport PhoneNumber from \"./fields/PhoneNumber\";\nimport Upload from \"./fields/Upload\";\nimport Avatar from \"./fields/Avatar\";\nimport SalaryInput from \"./fields/SalaryInput\";\nimport InputUpperCaseField from \"./fields/InputUpperCase\";\nimport TypeDateRangePicker from \"./fields/TypeDateRangePicker\";\nimport TableInput from \"./fields/TableInput\";\nimport Text from \"./fields/Text\";\nimport ErrorTip from \"./ErrorTip\";\n\nconst withInputDefaultPlaceholder = (WrappedComponent) => {\n const TargetComponent = forwardRef(\n ({ placeholder, label, ...props }, ref) => (\n <FormattedMessage\n id=\"defaultInputPlaceholder\"\n moduleName=\"FormInfo\"\n values={{ label }}\n >\n {(text) => (\n <WrappedComponent\n {...props}\n ref={ref}\n label={label}\n placeholder={placeholder || text}\n />\n )}\n </FormattedMessage>\n )\n );\n Object.keys(WrappedComponent)\n .filter((key) => {\n return [\"$$typeof\", \"render\", \"field\"].indexOf(key) === -1;\n })\n .forEach((key) => {\n TargetComponent[key] = WrappedComponent[key];\n });\n\n return TargetComponent;\n};\n\nconst withTextAreaDefaultPlaceholder =\n (WrappedComponent) =>\n ({ placeholder, label, className, ...props }) =>\n (\n <FormattedMessage\n id=\"defaultInputPlaceholder\"\n moduleName=\"FormInfo\"\n values={{ label }}\n >\n {(text) => (\n <div className={style[\"textarea-wrapped-component\"]}>\n <WrappedComponent\n {...props}\n label={label}\n placeholder={placeholder || text}\n />\n </div>\n )}\n </FormattedMessage>\n );\n\nconst withSelectDefaultPlaceholder = (WrappedComponent) => {\n const TargetComponent = forwardRef(\n ({ placeholder, label, ...props }, ref) => (\n <FormattedMessage\n id=\"defaultSelectPlaceholder\"\n moduleName=\"FormInfo\"\n values={{ label }}\n >\n {(text) => (\n <WrappedComponent\n {...props}\n ref={ref}\n label={label}\n placeholder={placeholder || text}\n />\n )}\n </FormattedMessage>\n )\n );\n\n Object.keys(WrappedComponent)\n .filter((key) => {\n return [\"$$typeof\", \"render\", \"field\"].indexOf(key) === -1;\n })\n .forEach((key) => {\n TargetComponent[key] = WrappedComponent[key];\n });\n\n return TargetComponent;\n};\n\nexport { default as ErrorTip } from \"./ErrorTip\";\n\nexport { default as FormItem } from \"./FormItem\";\n\n// export { default as AdvancedSelect } from \"./fields/AdvancedSelect\";\nexport const AdvancedSelect = withSelectDefaultPlaceholder(AdvancedSelectField);\n\nexport { default as AddressSelect } from \"./fields/AddressSelect\";\nexport const AddressInput = withSelectDefaultPlaceholder(AddressInputField);\n\nexport {\n Cascader,\n FunctionSelect,\n IndustrySelect,\n MoneyInput,\n PhoneNumber,\n Upload,\n Avatar,\n SalaryInput,\n TableInput,\n Text,\n Rate,\n Switch,\n Slider,\n TypeDateRangePicker,\n};\nexport const InputUpperCase = withInputDefaultPlaceholder(InputUpperCaseField);\nexport const Input = withInputDefaultPlaceholder(ReactInput);\nInput.Password = withInputDefaultPlaceholder(ReactInput.Password);\n\nexport const TextArea = withTextAreaDefaultPlaceholder(ReactTextArea);\n\nexport const Select = withSelectDefaultPlaceholder(ReactSelect);\n\nSelect.Fetch = withSelectDefaultPlaceholder(ReactSelect.Fetch);\nSelect.Fetch.field = ReactSelect.Fetch.field;\n\nexport const InputNumber = withInputDefaultPlaceholder(ReactInputNumber);\n\nexport const TreeSelect = withSelectDefaultPlaceholder(ReactTreeSelect);\nTreeSelect.Fetch = withSelectDefaultPlaceholder(ReactTreeSelect.Fetch);\nTreeSelect.Fetch.field = ReactTreeSelect.Fetch.field;\n\nexport const TimePicker = withSelectDefaultPlaceholder(ReactTimePicker);\n\nTimePicker.RangePicker = withSelectDefaultPlaceholder(\n ReactTimePicker.RangePicker\n);\n\nexport const DatePicker = withSelectDefaultPlaceholder(ReactDatePicker);\n\nDatePicker.MonthPicker = withSelectDefaultPlaceholder(\n ReactDatePicker.MonthPicker\n);\n\nDatePicker.RangePicker = withSelectDefaultPlaceholder(\n ReactDatePicker.RangePicker\n);\n\nDatePicker.WeekPicker = withSelectDefaultPlaceholder(\n ReactDatePicker.WeekPicker\n);\n\nexport const DatePickerToday = ({\n placeholder,\n label,\n soFarText,\n ...props\n}) => {\n const { formatMessage } = useIntl({ moduleName: \"FormInfo\" });\n return (\n <ReactDatePickerToday\n {...props}\n label={label}\n placeholder={[\n formatMessage({ id: \"startDate\" }),\n formatMessage({ id: \"endDate\" }),\n ]}\n soFarText={soFarText || formatMessage({ id: \"soFarText\" })}\n />\n );\n};\n\nexport { Form };\n\nexport const formModule = Object.assign({}, reactFormAntd, {\n Input,\n InputUpperCase,\n TextArea,\n Select,\n InputNumber,\n TreeSelect,\n TimePicker,\n DatePicker,\n DatePickerToday,\n Form,\n FormItem,\n AdvancedSelect,\n AddressSelect,\n AddressInput,\n MoneyInput,\n PhoneNumber,\n Cascader,\n FunctionSelect,\n IndustrySelect,\n TypeDateRangePicker,\n Upload,\n Avatar,\n SalaryInput,\n TableInput,\n Text,\n Rate,\n Switch,\n Slider,\n ErrorTip,\n});\n","import preset from \"./preset\";\nimport FormInfo from \"./FormInfo\";\nimport fields, { fieldDecorator } from \"./fields\";\nimport List from \"./List\";\nimport TableList from \"./TableList\";\nimport FormApiButton from \"./FormApiButton\";\nimport FormModal, { useFormModal, FormModalButton } from \"./FormModal\";\nimport FormStepModal, {\n useFormStepModal,\n FormStepModalButton,\n} from \"./FormStepModal\";\nimport FormDrawer, { useFormDrawer, FormDrawerButton } from \"./FormDrawer\";\nimport Form from \"./Form\";\nimport FormItem from \"./FormItem\";\nimport ErrorTip from \"./ErrorTip\";\nimport MultiField from \"./MultiField\";\nimport { SubmitButton, CancelButton } from \"@kne/react-form-antd\";\n\npreset();\n\nFormInfo.fields = fields;\nFormInfo.List = List;\nFormInfo.TableList = TableList;\nFormInfo.FormApiButton = FormApiButton;\nFormInfo.FormModal = FormModal;\nFormInfo.useFormModal = useFormModal;\nFormInfo.FormModalButton = FormModalButton;\nFormInfo.FormStepModal = FormStepModal;\nFormInfo.useFormStepModal = useFormStepModal;\nFormInfo.FormStepModalButton = FormStepModalButton;\nFormInfo.FormDrawer = FormDrawer;\nFormInfo.useFormDrawer = useFormDrawer;\nFormInfo.FormDrawerButton = FormDrawerButton;\nFormInfo.Form = Form;\nFormInfo.FormItem = FormItem;\nFormInfo.ErrorTip = ErrorTip;\nFormInfo.SubmitButton = SubmitButton;\nFormInfo.CancelButton = CancelButton;\nFormInfo.fieldDecorator = fieldDecorator;\nFormInfo.MultiField = MultiField;\n\nexport * from \"@kne/react-form-antd\";\n\nexport * from \"./formModule\";\n\nexport {\n Form,\n FormItem,\n ErrorTip,\n fields,\n fieldDecorator,\n List,\n TableList,\n FormApiButton,\n FormModal,\n useFormModal,\n FormModalButton,\n FormStepModal,\n useFormStepModal,\n FormStepModalButton,\n FormDrawer,\n useFormDrawer,\n FormDrawerButton,\n MultiField,\n};\n\nexport { default as SelectInnerInput } from \"./SelectInnerInput\";\n\nexport default FormInfo;\n","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","import { interceptors, preset, RULES } from \"@kne/react-form-antd\";\nimport dayjs from \"dayjs\";\nimport merge from \"lodash/merge\";\nimport get from \"lodash/get\";\nimport \"@kne/react-form-antd/dist/index.css\";\nimport { PHONE_NUMBER } from \"./fields/PhoneNumber\";\nimport HelperGuideLabel from \"@components/FormInfo/HelperGuideLabel\";\nimport { loadModule } from \"@kne/remote-loader\";\n\nconst formPreset = async (options, otherOptions) => {\n const { locale } = Object.assign({}, otherOptions);\n\n interceptors.input.use(\"photo-string\", (value) => {\n if (value && typeof value === \"string\") {\n const id = value.split(\"?\")[0];\n return { id };\n }\n return value;\n });\n\n interceptors.output.use(\"photo-string\", (value) => {\n if (!value || typeof value === \"string\") {\n return value;\n }\n return value.id?.split(\"?\")?.[0] || value.id;\n });\n\n interceptors.input.use(\"to-array\", (value) => {\n return Array.isArray(value) ? value[0] : value;\n });\n\n interceptors.output.use(\"to-array\", (value) => {\n return [value];\n });\n\n interceptors.input.use(\"array-single\", (value) => {\n return value ? [value] : [];\n });\n\n interceptors.output.use(\"array-single\", (value) => {\n return value ? value[0] : null;\n });\n\n interceptors.input.use(\"boolean-number\", (value) => {\n return value === 1 || value === \"1\";\n });\n\n interceptors.output.use(\"boolean-number\", (value) => {\n return value ? 1 : 0;\n });\n\n interceptors.input.use(\"un-boolean\", (value) => {\n return !value;\n });\n\n interceptors.output.use(\"un-boolean\", (value) => {\n return !value;\n });\n\n interceptors.output.use(\"object-output-value\", (value) => {\n if (!value) {\n return value;\n }\n return value.value || value.id;\n });\n\n interceptors.input.use(\"date-string\", (value) => {\n return value ? dayjs(value) : null;\n });\n\n interceptors.output.use(\"date-string\", (value) => {\n return value ? new Date(value.valueOf()).toISOString() : \"\";\n });\n\n interceptors.input.use(\"date-range-string\", (value) => {\n if (!Array.isArray(value)) {\n return [];\n }\n\n const output = [];\n\n if (value[0]) {\n output.push(dayjs(value[0]));\n }\n if (value[0] && value[1] && value[1] === \"sofar\") {\n output.push(\"至今\");\n }\n if (value[0] && value[1] && value[1] !== \"至今\") {\n output.push(dayjs(value[1]));\n }\n\n return output;\n });\n\n interceptors.output.use(\"date-range-string\", (value) => {\n if (!Array.isArray(value)) {\n return [];\n }\n\n const output = [];\n\n if (value[0]) {\n output.push(new Date(value[0].valueOf()).toISOString());\n }\n if (value[0] && value[1] && value[1] === \"至今\") {\n output.push(\"sofar\");\n }\n if (value[0] && value[1] && value[1] !== \"至今\") {\n output.push(new Date(value[1].valueOf()).toISOString());\n }\n return output;\n });\n\n interceptors.output.use(\"file-format\", (value) => {\n if (!Array.isArray(value)) {\n return [];\n }\n return value.map((item) =>\n Object.assign({}, item, {\n id: item.id || item.ossId,\n originalName: item.filename,\n })\n );\n });\n\n interceptors.input.use(\"file-format\", (value) => {\n if (!Array.isArray(value)) {\n return [];\n }\n return value.map((item) => ({\n id: item.id || item.ossId,\n ossId: item.id || item.ossId,\n filename: item.originalName || item.filename,\n }));\n });\n\n const { default: loadCountyList } = await loadModule(\n \"components-iconfont:CountyFlag@load\"\n );\n const countyList = await loadCountyList();\n\n const countyAbMap = new Map(\n countyList.map(({ ab, country_code }) => [ab, country_code])\n );\n const countyCodeMap = new Map(\n countyList.map(({ ab, country_code }) => [country_code, ab])\n );\n\n interceptors.output.use(\"phone-number-string\", (value) => {\n if (!(value.code && value.value)) {\n return \"\";\n }\n\n return `+${countyAbMap.get(value.code)} ${value.value.replace(/\\s+/g, \"\")}`;\n });\n\n interceptors.input.use(\"phone-number-string\", (value) => {\n if (!value) {\n return {};\n }\n const matcher = value.match(/^\\+(\\d+)\\s(.*)/);\n if (!(matcher && matcher.length >= 3)) {\n return { code: countyCodeMap.get(86), value };\n }\n return { code: countyCodeMap.get(Number(matcher[1])), value: matcher[2] };\n });\n\n const _olderREQ = RULES.REQ;\n const _olderLEN = RULES.LEN;\n\n const getLocaleMsg = (type, values) => {\n values = Object.assign({}, values);\n const mapping = {\n REQ: {\n \"zh-CN\": \"%s不能为空\",\n \"en-US\": \"%s cannot be empty \",\n },\n LENGTH_EQUAL: {\n \"zh-CN\": `%s必须等于${values.end}`,\n \"en-US\": `%s must be equal to ${values.end}`,\n },\n LENGTH_MORE: {\n \"zh-CN\": `%s必须大于${values.start}`,\n \"en-US\": `%s must be greater than ${values.start}`,\n },\n LENGTH_LESS: {\n \"zh-CN\": `%s必须小于${values.end}`,\n \"en-US\": `%s must be less than ${values.end}`,\n },\n };\n const target = get(mapping, `${type}.${locale}`);\n if (target) {\n return target;\n }\n return get(mapping, `${type}.zh-CN`);\n };\n\n preset(\n merge(\n {},\n {\n rules: {\n REQ: (...args) => {\n return Object.assign({}, _olderREQ(...args), {\n errMsg: getLocaleMsg(\"REQ\"),\n });\n },\n LEN: (...args) => {\n const [value, start, end] = args;\n let ruleName = \"\";\n if (end === start && value.length !== Number(end)) {\n ruleName = \"LENGTH_EQUAL\";\n }\n if (value.length < start) {\n ruleName = \"LENGTH_MORE\";\n }\n if (end && value.length > end) {\n ruleName = \"LENGTH_LESS\";\n }\n return Object.assign({}, _olderLEN(...args), {\n errMsg: getLocaleMsg(ruleName, { start, end }),\n });\n },\n PHONE_NUMBER,\n ARRAY_LENGTH: (value, start, end) => {\n if (end === start && value.length !== Number(end)) {\n return {\n result: false,\n errMsg: getLocaleMsg(\"LENGTH_EQUAL\", { start, end }),\n };\n }\n if (value.length < start) {\n return {\n result: false,\n errMsg: getLocaleMsg(\"LENGTH_MORE\", { start, end }),\n };\n }\n if (end && value.length > end) {\n return {\n result: false,\n errMsg: getLocaleMsg(\"LENGTH_LESS\", { start, end }),\n };\n }\n return { result: true };\n },\n },\n field: {\n datePicker: {\n defaultProps: {\n interceptor: \"date-string\",\n },\n },\n rangeDatePicker: {\n defaultProps: {\n interceptor: \"date-range-string\",\n },\n },\n textArea: {\n defaultProps: {\n autoSize: {\n minRows: 2,\n maxRows: 6,\n },\n },\n },\n },\n globalProps: {\n labelTips: (props) => {\n return <HelperGuideLabel {...props} />;\n },\n },\n },\n typeof options === \"function\" ? options({ interceptors, RULES }) : options\n )\n );\n};\n\nexport default formPreset;\n","const importMessages = (locale) => {\n return {\n \"en-US\": () => import(\"./en-US\"),\n \"zh-CN\": () => import(\"./zh-CN\"),\n }[locale]();\n};\n\nexport default importMessages;\n","// extracted by mini-css-extract-plugin\nexport default {\"helper-guide\":\"style_helper-guide__K5xFw__XDz7c\",\"inner\":\"style_inner__bMKeU__XDz7c\",\"content\":\"style_content__xTfWZ__XDz7c\",\"link\":\"style_link__93j7O__XDz7c\"};","import importMessages from \"./locale\";\nimport { IntlProvider } from \"@components/Intl\";\nimport Icon from \"@components/Icon\";\nimport { Space, Typography } from \"antd\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\nimport Enum from \"@components/Enum\";\n\nconst HelperGuide = ({ name, className }) => {\n return (\n <IntlProvider importMessages={importMessages} moduleName=\"HelperGuide\">\n <Enum moduleName=\"helperGuide\" name={name}>\n {(data) => {\n return (\n data &&\n data.value && (\n <div className={classnames(style[\"helper-guide\"], className)}>\n <Space className={style[\"inner\"]}>\n <Icon colorful type=\"icon-color-bangzhuyindao\" />\n <span className={style[\"content\"]}>{data.content}</span>\n {data.url && (\n <Typography.Link\n className={style[\"link\"]}\n href={data.url}\n target=\"_blank\"\n >\n 查看帮助\n <Icon type=\"icon-shuangjiantou-right\" />\n </Typography.Link>\n )}\n </Space>\n </div>\n )\n );\n }}\n </Enum>\n </IntlProvider>\n );\n};\n\nexport default HelperGuide;\n","// extracted by mini-css-extract-plugin\nexport default {\"part\":\"style_part__+Vw3+__XDz7c\",\"no-title\":\"style_no-title__nO8sX__XDz7c\",\"part-title\":\"style_part-title__Uw+4K__XDz7c\",\"collapse\":\"style_collapse__ARl-O__XDz7c\",\"is-active\":\"style_is-active__i1zHH__XDz7c\",\"part-title-sub\":\"style_part-title-sub__fcxT7__XDz7c\"};","import { Collapse as CollapseAntd } from \"antd\";\nimport Icon from \"@components/Icon\";\nimport style from \"./style.module.scss\";\nimport classnames from \"classnames\";\n\nconst Collapse = ({ children, className, ...props }) => {\n return (\n <CollapseAntd\n {...props}\n className={classnames(style[\"collapse\"], \"collapse\", className)}\n expandIcon={({ isActive }) => (\n <Icon\n size={12}\n className={classnames({\n [style[\"is-active\"]]: isActive,\n \"is-active\": isActive,\n })}\n type=\"icon-triangle-right\"\n />\n )}\n >\n {children}\n </CollapseAntd>\n );\n};\n\nCollapse.Panel = CollapseAntd.Panel;\n\nexport default Collapse;\n","import { Card, Space } from \"antd\";\nimport classnames from \"classnames\";\nimport Collapse from \"./Collapse\";\nimport style from \"./style.module.scss\";\n\nconst Part = ({ className, title, subTitle, extra, children, ...props }) => {\n return (\n <Card\n className={classnames(style[\"part\"], \"part\", className, {\n \"no-title\": !title,\n [style[\"no-title\"]]: !title,\n })}\n bordered={false}\n title={\n title && (\n <>\n <div className={classnames(\"part-title\", style[\"part-title\"])}>\n {title}\n </div>\n {subTitle && (\n <div\n className={classnames(\n \"part-title-sub\",\n style[\"part-title-sub\"]\n )}\n >\n {subTitle}\n </div>\n )}\n </>\n )\n }\n extra={extra}\n {...props}\n >\n {children}\n </Card>\n );\n};\n\nconst InfoPage = ({ className, children, ...props }) => {\n return (\n <Space {...props} className={className} direction=\"vertical\" size={24}>\n {children}\n </Space>\n );\n};\n\nInfoPage.Part = Part;\nInfoPage.Collapse = Collapse;\nexport default InfoPage;\n","// extracted by mini-css-extract-plugin\nexport default {\"tooltip\":\"style_tooltip__zHGMI__XDz7c\",\"large\":\"style_large__lvmsm__XDz7c\",\"small\":\"style_small__nUt0r__XDz7c\",\"popup-content\":\"style_popup-content__-rKQN__XDz7c\",\"title\":\"style_title__1EQPq__XDz7c\",\"important-info\":\"style_important-info__qTSZY__XDz7c\",\"error\":\"style_error__yTTq3__XDz7c\",\"warning\":\"style_warning__CMJxz__XDz7c\",\"success\":\"style_success__AvJVx__XDz7c\",\"sub-title\":\"style_sub-title__uD8CH__XDz7c\",\"content\":\"style_content__lzgUz__XDz7c\",\"alone\":\"style_alone__q6q82__XDz7c\",\"fetch-content\":\"style_fetch-content__tEOEV__XDz7c\",\"fetch-loading\":\"style_fetch-loading__tN-WB__XDz7c\",\"title-info-icon\":\"style_title-info-icon__iY8Q+__XDz7c\"};","import { Space, Tooltip as AntdTooltip } from \"antd\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\n\nconst Tooltip = ({\n overlayClassName,\n title,\n size,\n subtitle,\n content,\n importantInfo,\n importantInfoType,\n moreInfo,\n ...props\n}) => {\n return (\n <AntdTooltip\n {...props}\n overlayClassName={classnames(overlayClassName, style[\"tooltip\"], {\n [style[\"small\"]]: size === \"small\",\n [style[\"large\"]]: size === \"large\",\n })}\n title={\n <Space direction=\"vertical\" className={style[\"popup-content\"]}>\n {title && <div className={style[\"title\"]}>{title}</div>}\n {importantInfo && (\n <div\n className={classnames(style[\"important-info\"], {\n [style[\"success\"]]: importantInfoType === \"success\",\n [style[\"warning\"]]: importantInfoType === \"warning\",\n [style[\"error\"]]: importantInfoType === \"error\",\n })}\n >\n {importantInfo}\n </div>\n )}\n {subtitle && <div className={style[\"sub-title\"]}>{subtitle}</div>}\n {content && (\n <div\n className={classnames(style[\"content\"], {\n [style[\"alone\"]]: [\n title,\n subtitle,\n importantInfo,\n moreInfo,\n ].every((item) => !item),\n })}\n >\n {content}\n </div>\n )}\n {moreInfo && <div>{moreInfo}</div>}\n </Space>\n }\n />\n );\n};\n\nTooltip.defaultProps = {};\n\nexport default Tooltip;\n","import style from \"./style.module.scss\";\nimport Tooltip from \"./index\";\nimport Icon from \"@components/Icon\";\n\nconst TooltipInfoLabel = ({ title, tooltipTitle }) => {\n return (\n <div>\n {title}\n {tooltipTitle ? (\n <Tooltip {...tooltipTitle}>\n <span>\n <Icon\n type=\"icon-xinxi-miaobian\"\n className={style[\"title-info-icon\"]}\n size={14}\n />\n </span>\n </Tooltip>\n ) : null}\n </div>\n );\n};\n\nexport default TooltipInfoLabel;\n","import { useState } from \"react\";\nimport { useFetch } from \"@kne/react-fetch\";\nimport { Spin } from \"antd\";\nimport style from \"./style.module.scss\";\nimport Tooltip from \"./index\";\nimport classnames from \"classnames\";\n\nconst TooltipFetch = ({\n api,\n children,\n fetchContent,\n showLoading,\n loadingClassName,\n force,\n ...props\n}) => {\n const [open, setOpen] = useState(false);\n const fetchApi = useFetch(Object.assign({}, api, { auto: false }));\n const { isComplete, isLoading, data, send } = fetchApi;\n return (\n <Tooltip\n {...Object.assign(\n {},\n props,\n isComplete ? fetchContent(data, fetchApi) : {}\n )}\n open={open}\n onOpenChange={async (open) => {\n if (open && (!isComplete || force)) {\n await send({ type: \"refresh\" });\n }\n setOpen(open);\n }}\n >\n <span className={style[\"fetch-content\"]}>\n {children}\n {showLoading && isLoading ? (\n <Spin\n size=\"small\"\n className={classnames(loadingClassName, style[\"fetch-loading\"])}\n />\n ) : null}\n </span>\n </Tooltip>\n );\n};\n\nTooltipFetch.defaultProps = {\n showLoading: true,\n};\n\nexport default TooltipFetch;\n","// extracted by mini-css-extract-plugin\nexport default {\"form-outer\":\"style_form-outer__IWUs0__XDz7c\",\"form-drawer\":\"style_form-drawer__uYDXS__XDz7c\",\"table-list\":\"style_table-list__6lp-A__XDz7c\",\"list-item\":\"style_list-item__hVzQa__XDz7c\",\"table-list-inner\":\"style_table-list-inner__uc8DK__XDz7c\",\"table-list-field\":\"style_table-list-field__JSJfB__XDz7c\",\"table-list-header\":\"style_table-list-header__KXvKa__XDz7c\",\"is-req\":\"style_is-req__LfXQf__XDz7c\",\"table-list-extra\":\"style_table-list-extra__faYTK__XDz7c\",\"list-btn\":\"style_list-btn__WKYkm__XDz7c\",\"form-info\":\"style_form-info__B8bAP__XDz7c\",\"list-part\":\"style_list-part__Ld0GA__XDz7c\",\"is-important\":\"style_is-important__vaBk1__XDz7c\",\"list-item-part\":\"style_list-item-part__MzKP7__XDz7c\",\"money-input\":\"style_money-input__J86Pb__XDz7c\",\"money-description\":\"style_money-description__Gz3p7__XDz7c\",\"components-upload-wrapper\":\"style_components-upload-wrapper__Ir0gz__XDz7c\",\"textarea-wrapped-component\":\"style_textarea-wrapped-component__r1oKc__XDz7c\",\"helper-guide-field\":\"style_helper-guide-field__Wke3w__XDz7c\",\"error-tip-overlay\":\"style_error-tip-overlay__aNCGc__XDz7c\",\"error-tip-overlay-content\":\"style_error-tip-overlay-content__kDOoQ__XDz7c\",\"column-not-layout\":\"style_column-not-layout__+SXC+__XDz7c\",\"mult-field-item\":\"style_mult-field-item__eS0nJ__XDz7c\",\"first-item\":\"style_first-item__fLirI__XDz7c\",\"mult-field-add-btn\":\"style_mult-field-add-btn__5Baxz__XDz7c\"};"],"names":["locale","en-US","zh-CN","withConfirm","WrappedComponent","ConfirmComponent","createWithIntl","moduleName","importMessages","_ref","title","message","isDelete","onClick","onCancel","disabled","showCancel","cancelText","isModal","okText","placement","getContainer","props","formatMessage","useIntl","modal","useConfirmModal","_jsx","e","type","danger","confirmType","id","onOk","Popconfirm","_jsxs","Space","direction","stopPropagation","children","size","align","className","style","Icon","classnames","onConfirm","okButtonProps","overlayClassName","getPopupContainer","defaultProps","ConfirmLink","Typography","Link","ConfirmText","Text","Button","baseLoaders","value","description","EnumLoaderFetch","withFetch","data","getEnumsMap","memoize","enums","Map","concat","Object","keys","assign","map","key","EnumLoader","_ref2","loader","enumsLoader","global","enumsRef","useGlobalContext","prevLocaleRef","useRef","async","arguments","params","length","undefined","name","force","getEnumMap","current","get","output","item","toString","Array","isArray","console","warn","set","Promise","all","target","then","enumMap","from","values","isNil","Enum","_ref3","preset","usePreset","_ref4","downloadBlobFile","res","filename","download","url","element","document","createElement","event","MouseEvent","href","dispatchEvent","Error","test","prototype","call","blob","Blob","URL","createObjectURL","axios","responseType","useDownload","staticUrl","staticUrlProps","apis","currentApis","onError","onSuccess","App","useApp","baseApis","staticUrlBase","downLoading","setDownLoading","useState","paramsType","paramsName","oss","fetchProps","isLoading","error","refresh","otherProps","useFetch","auto","showError","useRefCallback","successHandler","useEffect","catch","Download","api","icon","loading","useFileModal","useModal","useCallback","originName","openDownload","modalProps","footer","success","FilePreview","OptionButtons","hasPreview","getPermission","formModal","useFormModal","fileModal","onPreview","modalApi","formProps","dropRight","split","join","onSubmit","onEdit","formData","last","close","FormInfo","column","list","Input","label","rule","DownloadButton","ConfirmButton","onDelete","List","dataSource","infoItemRenders","IntlProvider","AntdList","index","rowKey","uuid","ossId","renderItem","Item","Row","justify","wrap","Col","flex","FileType","render","span","Spin","FormattedMessage","bordered","userName","date","dayjs","format","withOSSFile","FileLink","HtmlInnerPreview","createWithFetch","transformResponse","code","results","ref","domDocument","DOMParser","parseFromString","querySelectorAll","forEach","el","parentElement","removeChild","scriptPath","getPublicPath","script","src","head","appendChild","innerText","srcdoc","documentElement","outerHTML","iFrameResize","checkOrigin","frameBorder","width","maxWidth","OfficePreviewInner","cache","fileList","PreviewComponent","typeFormatComponent","_createElement","propsApis","previewOffice","PdfPreview","memo","scale","rotate","numPages","setNumPages","pdfjs","GlobalWorkerOptions","workerSrc","setWidth","useResize","clientWidth","Math","min","Document","file","options","standardFontDataUrl","cMapUrl","cMapPacked","noData","onLoadSuccess","log","onLoadError","onSourceError","Page","pageNumber","renderAnnotationLayer","renderTextLayer","autoSize","text","setText","setLoading","setError","TextEscape","Result","status","subTitle","image","Image","handlerLoad","handlerError","addEventListener","removeEventListener","alt","typeFormat","_path","toLowerCase","txt","TextPreview","pdf","ImagePreview","html","HtmlPreview","office","OfficePreview","unknown","UnknownPreview","OSSFilePreview","defaultColumns","col","useFlexBox","columns","onChange","setColumn","columnRef","find","isEqual","FlexBox","outerClassName","gutter","grid","FlexBoxFetch","forwardRef","getFetchApi","dataFormat","Fetch","isComplete","pageData","ErrorTip","groupName","errorRender","groupIndex","currentError","emitter","formState","useFormContext","targetFieldInfo","formStateRef","setCurrentError","addListener","validate","field","currentField","errMsg","util","compileErrMsg","msg","remove","useErrorMsg","isHover","setIsHover","errorContent","closeHover","popoverChildrenRef","popoverContentRef","useClickOutside","contains","useLayoutEffect","callback","querySelector","resizeObserver","ResizeObserver","observe","mutationObserver","MutationObserver","subtree","childList","disconnect","Popover","open","content","transitionName","arrow","onMouseEnter","groupArgs","itemRender","context","contextApi","hiddenRef","isMount","setIsMount","_Fragment","display","filter","targetProps","componentProps","ComponentItem","hasOwnProperty","isBlock","innerComponent","setExtraProps","_len","args","_key","inner","hidden","createPortal","tips","Tooltip","labelHidden","Fragment","Features","featureId","SetPreset","isPreset","setIsPreset","formInfo","resolve","formPreset","Form","helperGuideName","lang","FormLangProvider","InfoPage","HelperGuideProvider","ReactForm","LoadingButton","defaultFooterButtons","ButtonComponent","CancelButton","SubmitButton","autoClose","computedCommonProps","withDecorator","footerButtons","innerRender","_formProps","Drawer","useFormDrawer","drawer","useDrawer","FormDrawerButton","formDrawer","FetchButton","modalFunc","gap","isFlexBox","Number","isInteger","flexBoxRef","flexBoxColumn","renderInner","notLayout","FieldList","block","round","Part","openApi","createContext","Provider","Consumer","useFormLang","useContext","localeModuleName","Modal","FormModalButton","StepsContent","setCurrent","items","setStepData","stepData","currentItem","Steps","newStepData","slice","useSteps","_formProps$data","isLastStep","createSteps","FormModal","useFormStepModal","FormStepModalButton","useReactContext","group","useGroup","HelperGuide","addText","minLength","isUnshift","maxLength","defaultLength","beforeAdd","afterDelete","listRender","itemTitle","outer","renderChildren","important","deleteButtonProps","groupRef","allowAdd","addHandler","onAdd","cloneElement","add","GroupList","onRemove","formInfoProps","extra","Divider","MultiField","CurrentFiled","max","createValueWithMaxLength","single","setValue","newValue","renderDisplayLabel","mapping","onClose","mappingItem","Tag","closable","preventDefault","ModalContent","propsValue","showSelectedTag","renderSelectedContent","propsValueRef","modalOpen","setModalOpen","setValueWithMaxLength","useImperativeHandle","PopupContent","inputContent","overlayWidth","wrapClassName","setOpen","onOpenChange","trigger","DisplayLabel","_ref5","setFetchApi","fetchApi","hover","setHover","modalRef","popupRef","selectInnerContext","valueState","placeholder","isPopup","inputContentRender","fetchApiRef","indexOf","splice","_ref6","SimpleBar","onMouseOver","onMouseOut","modalSize","disabledScroller","SelectInnerInput","_ref7","displayItems","searchText","setSearchText","setMapping","appendMapping","newItems","newMapping","clone","transformValue","setValueInType","valueType","useControlValue","getValueInType","defaultValue","setItems","setData","onRequestSuccess","TableHeader","headers","setHeaders","setTimeout","has","newHeaders","headerRef","useOnChange","useDecorator","hooks","AddressSelect","AddressSelectField","Field","AddressEnum","createAddressApi","withAddressApi","AddressInput","inputPlaceholder","AddressInputField","createdField","User","UserField","Table","TableField","AdvancedSelect","AdvancedSelectField","createdList","renderList","createListField","AvatarDisplay","Avatar","UploadButton","withInputFile","gender","height","shape","defaultAvatar","dataURLtoBlob","dataURL","arr","_arr","substring","mime","match","bstr","atob","n","u8arr","Uint8Array","charCodeAt","ControlAvatarEditor","propsImage","borderRadius","preview","fileSize","accept","renderTips","getApi","border","intl","baseWidth","setBaseWidth","outerRef","setImage","setScale","setRotate","previewImg","setPreviewImg","editorRef","getImage","canvas","targetCanvas","targetCtx","getContext","drawImage","window","File","toDataURL","makePreviewInner","makePreview","useDebouncedCallback","AvatarEditor","color","onImageReady","onImageChange","str","replace","Slider","tooltip","formatter","step","InputFileLink","AntdAvatar","textAlign","useDropModal","dropModalSize","others","AvatarField","openEditor","merge","ossUpload","dropRef","dropModal","doUpload","finally","defaultTips","Cascader","CascaderField","createTreeUtils","FunctionSelect","FunctionSelectField","IndustrySelect","IndustrySelectField","InputUpperCaseField","toUpperCase","InputUpperCase","createWithRemoteLoader","modules","remoteModules","formModule","isNotEmpty","MoneyInputField","chineseEmpty","errorDesc","transformMoneyToChinese","onBlur","moneyFormat","setStatus","inputNumberProps","controls","precision","addonAfter","MAX_NUM","InputNumber","parser","parserValue","val","changeMoneyToChinese","MoneyInput","toChineseCharacter","CountrySelect","CountyFlag","Select","popupMatchSelectWidth","showSearch","filterOption","input","option","optionLabelProp","country_name_cn","country_code","ab","PhoneNumberField","useSimulationBlur","parsePhone","AsYouType","addonBefore","PhoneNumber","rules","reqIndex","unshift","phoneCode","getCountryCallingCode","parsePhoneNumber","phoneNumber","country","countryCallingCode","nationalNumber","PHONE_NUMBER","result","_ref8","isValidPhoneNumber","defaultCountry","extract","SelectField","useUIDecorator","numberFormat","_value","isNaN","abs","toFixed","FormField","isError","marginBottom","SalaryInputField","isRange","showMonth","remindUnit","req","_placeholder","_placeholderInput","isTenThousand","isFace","isOther","transform","includes","borderLeft","borderRight","pointerEvents","v","month","SalaryField","SalaryInput","_props$rule","TableInner","pick","tableProps","omit","innerName","headerRender","footerRender","formatData","handleChange","rowKeyValue","dataIndex","dataList","_currentItem","totalCount","changeRef","every","x","obj","it","pagination","record","editable","valueItem","_item$field","_item$field3","_item$field2","getValue","Component","_item$field4","_len2","_key2","mergeList","newData","total","TableInputField","TableInput","TypeDateRangePicker","TypeDateRangePickerField","UploadField","multiple","showUploadList","onSave","uploadingList","onFileSelected","useFileUpload","concurrentCount","previewFileList","tipsText","InputFileButton","FileList","newList","Upload","interceptor","createWithFieldDecorator","decoratorList","TargetComponent","compose","forwardedRef","labelRender","ForwardComponent","withInputDefaultPlaceholder","withSelectDefaultPlaceholder","withLang","_get","ignoreList","disabledList","fields","getCurrentField","newProps","langName","langLabel","ReactInput","ReactInputNumber","Password","DatePicker","ReactDatePicker","MonthPicker","RangePicker","WeekPicker","TimePicker","ReactTimePicker","DatePickerToday","soFarText","ReactDatePickerToday","RadioGroup","CheckboxGroup","Rate","Switch","TreeSelect","ReactTreeSelect","ReactSelect","TextArea","ReactTextArea","fieldDecorator","TextField","overflow","reactFormAntd","FormItem","TableList","FormApiButton","FormStepModal","FormDrawer","otherOptions","interceptors","use","_value$id","_value$id$split","Date","valueOf","toISOString","push","originalName","default","loadCountyList","loadModule","countyList","countyAbMap","countyCodeMap","matcher","_olderREQ","RULES","REQ","_olderLEN","LEN","getLocaleMsg","LENGTH_EQUAL","end","LENGTH_MORE","start","LENGTH_LESS","ruleName","ARRAY_LENGTH","datePicker","rangeDatePicker","textArea","minRows","maxRows","globalProps","labelTips","HelperGuideLabel","colorful","Collapse","CollapseAntd","expandIcon","isActive","Panel","Card","subtitle","importantInfo","importantInfoType","moreInfo","AntdTooltip","tooltipTitle","TooltipFetch","fetchContent","showLoading","loadingClassName","send"],"sourceRoot":""}
|