@kne-components/components-core 0.2.48 → 0.2.49
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 +108 -108
- package/build/index.html +1 -1
- package/build/remoteEntry.js +1 -1
- package/build/remoteEntry.js.map +1 -1
- package/build/static/css/1151.d531cb42.chunk.css +2 -0
- package/build/static/css/{1151.f40f6e6a.chunk.css.map → 1151.d531cb42.chunk.css.map} +1 -1
- package/build/static/css/1153.6bfd975b.chunk.css +2 -0
- package/build/static/css/1153.6bfd975b.chunk.css.map +1 -0
- package/build/static/css/1554.9b4ea595.chunk.css +2 -0
- package/build/static/css/{1554.e83d2267.chunk.css.map → 1554.9b4ea595.chunk.css.map} +1 -1
- package/build/static/css/2503.039df415.chunk.css +2 -0
- package/build/static/css/{2503.f2371958.chunk.css.map → 2503.039df415.chunk.css.map} +1 -1
- package/build/static/css/2517.8960d95a.chunk.css +2 -0
- package/build/static/css/{2517.2b4fc856.chunk.css.map → 2517.8960d95a.chunk.css.map} +1 -1
- package/build/static/css/2716.c63150a9.chunk.css +2 -0
- package/build/static/css/{2716.c000d45e.chunk.css.map → 2716.c63150a9.chunk.css.map} +1 -1
- package/build/static/css/2730.78e4f5a8.chunk.css +2 -0
- package/build/static/css/{2730.1f60a513.chunk.css.map → 2730.78e4f5a8.chunk.css.map} +1 -1
- package/build/static/css/3142.baacc098.chunk.css +2 -0
- package/build/static/css/{3142.e08f04e7.chunk.css.map → 3142.baacc098.chunk.css.map} +1 -1
- package/build/static/css/4029.a75a09cc.chunk.css +2 -0
- package/build/static/css/4029.a75a09cc.chunk.css.map +1 -0
- package/build/static/css/4265.9bf696cc.chunk.css +2 -0
- package/build/static/css/4265.9bf696cc.chunk.css.map +1 -0
- package/build/static/css/4666.4bd45148.chunk.css +2 -0
- package/build/static/css/{4666.05d09090.chunk.css.map → 4666.4bd45148.chunk.css.map} +1 -1
- package/build/static/css/5443.c9319052.chunk.css +2 -0
- package/build/static/css/5443.c9319052.chunk.css.map +1 -0
- package/build/static/css/5600.92cf0d42.chunk.css +2 -0
- package/build/static/css/{5600.b7714b1e.chunk.css.map → 5600.92cf0d42.chunk.css.map} +1 -1
- package/build/static/css/5962.c772f8d0.chunk.css +2 -0
- package/build/static/css/{5962.aea6e05a.chunk.css.map → 5962.c772f8d0.chunk.css.map} +1 -1
- package/build/static/css/{5996.9e578c74.chunk.css → 5996.6842d01b.chunk.css} +2 -2
- package/build/static/css/{5996.9e578c74.chunk.css.map → 5996.6842d01b.chunk.css.map} +1 -1
- package/build/static/css/6611.e8cb13a4.chunk.css +2 -0
- package/build/static/css/{6611.341eefe2.chunk.css.map → 6611.e8cb13a4.chunk.css.map} +1 -1
- package/build/static/css/6779.a1d9c772.chunk.css +2 -0
- package/build/static/css/{6779.d029fa93.chunk.css.map → 6779.a1d9c772.chunk.css.map} +1 -1
- package/build/static/css/6995.ccf433c2.chunk.css +2 -0
- package/build/static/css/{6995.5bb68455.chunk.css.map → 6995.ccf433c2.chunk.css.map} +1 -1
- package/build/static/css/7121.351b65d6.chunk.css +2 -0
- package/build/static/css/{7121.eb4fa5bb.chunk.css.map → 7121.351b65d6.chunk.css.map} +1 -1
- package/build/static/css/7227.869cd234.chunk.css +2 -0
- package/build/static/css/{7227.5f1a90dc.chunk.css.map → 7227.869cd234.chunk.css.map} +1 -1
- package/build/static/css/8017.6e51125e.chunk.css +2 -0
- package/build/static/css/8017.6e51125e.chunk.css.map +1 -0
- package/build/static/css/8332.1283d368.chunk.css +2 -0
- package/build/static/css/{8332.a3534d23.chunk.css.map → 8332.1283d368.chunk.css.map} +1 -1
- package/build/static/css/{8725.4a1a24b9.chunk.css → 8725.b83b84c9.chunk.css} +2 -2
- package/build/static/css/{8725.4a1a24b9.chunk.css.map → 8725.b83b84c9.chunk.css.map} +1 -1
- package/build/static/css/9968.bf7c8c4f.chunk.css +2 -0
- package/build/static/css/9968.bf7c8c4f.chunk.css.map +1 -0
- package/build/static/js/{1153.665a146b.chunk.js → 1153.b3e14a3c.chunk.js} +3 -3
- package/build/static/js/{1153.665a146b.chunk.js.map → 1153.b3e14a3c.chunk.js.map} +1 -1
- package/build/static/js/1554.41dff4cd.chunk.js +3 -0
- package/build/static/js/{1554.62727036.chunk.js.map → 1554.41dff4cd.chunk.js.map} +1 -1
- package/build/static/js/2503.b58a5071.chunk.js +2 -0
- package/build/static/js/{2503.cfdae4ae.chunk.js.map → 2503.b58a5071.chunk.js.map} +1 -1
- package/build/static/js/{2517.713b0d68.chunk.js → 2517.8985bc01.chunk.js} +2 -2
- package/build/static/js/{2517.713b0d68.chunk.js.map → 2517.8985bc01.chunk.js.map} +1 -1
- package/build/static/js/{2716.1a3cf021.chunk.js → 2716.ba8f83d6.chunk.js} +3 -3
- package/build/static/js/{2716.1a3cf021.chunk.js.map → 2716.ba8f83d6.chunk.js.map} +1 -1
- package/build/static/js/2730.ea7793a6.chunk.js +2 -0
- package/build/static/js/{2730.ee0befe4.chunk.js.map → 2730.ea7793a6.chunk.js.map} +1 -1
- package/build/static/js/2814.e9b34af7.chunk.js +2 -0
- package/build/static/js/{2814.ca4b7502.chunk.js.map → 2814.e9b34af7.chunk.js.map} +1 -1
- package/build/static/js/{3142.cddc627f.chunk.js → 3142.7ba43e5d.chunk.js} +2 -2
- package/build/static/js/{3142.cddc627f.chunk.js.map → 3142.7ba43e5d.chunk.js.map} +1 -1
- package/build/static/js/36.896e9537.chunk.js +2 -0
- package/build/static/js/36.896e9537.chunk.js.map +1 -0
- package/build/static/js/{4029.bbb47dbe.chunk.js → 4029.79d98096.chunk.js} +2 -2
- package/build/static/js/{4029.bbb47dbe.chunk.js.map → 4029.79d98096.chunk.js.map} +1 -1
- package/build/static/js/4265.bbc5239b.chunk.js +2 -0
- package/build/static/js/{4265.1adcfd10.chunk.js.map → 4265.bbc5239b.chunk.js.map} +1 -1
- package/build/static/js/{4666.40e9c7fa.chunk.js → 4666.182f4011.chunk.js} +3 -3
- package/build/static/js/{4666.40e9c7fa.chunk.js.map → 4666.182f4011.chunk.js.map} +1 -1
- package/build/static/js/5443.e97a3519.chunk.js +2 -0
- package/build/static/js/{5443.e2e5c228.chunk.js.map → 5443.e97a3519.chunk.js.map} +1 -1
- package/build/static/js/{5600.2ae5f60d.chunk.js → 5600.3fdca536.chunk.js} +2 -2
- package/build/static/js/{5600.2ae5f60d.chunk.js.map → 5600.3fdca536.chunk.js.map} +1 -1
- package/build/static/js/5962.92f1a359.chunk.js +2 -0
- package/build/static/js/{5962.96b625b0.chunk.js.map → 5962.92f1a359.chunk.js.map} +1 -1
- package/build/static/js/{5996.f18ec861.chunk.js → 5996.c59fde58.chunk.js} +2 -2
- package/build/static/js/{5996.f18ec861.chunk.js.map → 5996.c59fde58.chunk.js.map} +1 -1
- package/build/static/js/{6611.d296ef5b.chunk.js → 6611.abf93d05.chunk.js} +2 -2
- package/build/static/js/{6611.d296ef5b.chunk.js.map → 6611.abf93d05.chunk.js.map} +1 -1
- package/build/static/js/{6779.ec58c00c.chunk.js → 6779.84155da6.chunk.js} +2 -2
- package/build/static/js/{6779.ec58c00c.chunk.js.map → 6779.84155da6.chunk.js.map} +1 -1
- package/build/static/js/{6915.be6c9bb5.chunk.js → 6915.30c9ff90.chunk.js} +2 -2
- package/build/static/js/{6915.be6c9bb5.chunk.js.map → 6915.30c9ff90.chunk.js.map} +1 -1
- package/build/static/js/{6995.a26ca591.chunk.js → 6995.4e59b0d0.chunk.js} +2 -2
- package/build/static/js/{6995.a26ca591.chunk.js.map → 6995.4e59b0d0.chunk.js.map} +1 -1
- package/build/static/js/{7121.2505a6db.chunk.js → 7121.36ef61d5.chunk.js} +2 -2
- package/build/static/js/{7121.2505a6db.chunk.js.map → 7121.36ef61d5.chunk.js.map} +1 -1
- package/build/static/js/{7227.1491da92.chunk.js → 7227.da7eaa53.chunk.js} +3 -3
- package/build/static/js/{7227.1491da92.chunk.js.map → 7227.da7eaa53.chunk.js.map} +1 -1
- package/build/static/js/{7967.28a514e2.chunk.js → 7967.0069bd18.chunk.js} +2 -2
- package/build/static/js/{7967.28a514e2.chunk.js.map → 7967.0069bd18.chunk.js.map} +1 -1
- package/build/static/js/{8017.fc24364d.chunk.js → 8017.d07f9913.chunk.js} +2 -2
- package/build/static/js/{8017.fc24364d.chunk.js.map → 8017.d07f9913.chunk.js.map} +1 -1
- package/build/static/js/{8151.64a650e5.chunk.js → 8151.9a6aae96.chunk.js} +2 -2
- package/build/static/js/{8151.64a650e5.chunk.js.map → 8151.9a6aae96.chunk.js.map} +1 -1
- package/build/static/js/{8332.2c9776e4.chunk.js → 8332.00e4ab73.chunk.js} +2 -2
- package/build/static/js/{8332.2c9776e4.chunk.js.map → 8332.00e4ab73.chunk.js.map} +1 -1
- package/build/static/js/{8725.45184f26.chunk.js → 8725.204f19af.chunk.js} +2 -2
- package/build/static/js/{8725.45184f26.chunk.js.map → 8725.204f19af.chunk.js.map} +1 -1
- package/build/static/js/{9968.45a96856.chunk.js → 9968.625c4770.chunk.js} +2 -2
- package/build/static/js/{9968.45a96856.chunk.js.map → 9968.625c4770.chunk.js.map} +1 -1
- package/build/static/js/{main.7ccad8d0.js → main.b940efb7.js} +2 -2
- package/build/static/js/{main.7ccad8d0.js.map → main.b940efb7.js.map} +1 -1
- package/package.json +1 -1
- package/build/static/css/1151.f40f6e6a.chunk.css +0 -2
- package/build/static/css/1153.8b754dbb.chunk.css +0 -2
- package/build/static/css/1153.8b754dbb.chunk.css.map +0 -1
- package/build/static/css/1554.e83d2267.chunk.css +0 -2
- package/build/static/css/2503.f2371958.chunk.css +0 -2
- package/build/static/css/2517.2b4fc856.chunk.css +0 -2
- package/build/static/css/2716.c000d45e.chunk.css +0 -2
- package/build/static/css/2730.1f60a513.chunk.css +0 -2
- package/build/static/css/3142.e08f04e7.chunk.css +0 -2
- package/build/static/css/4029.5fdddb45.chunk.css +0 -2
- package/build/static/css/4029.5fdddb45.chunk.css.map +0 -1
- package/build/static/css/4265.b389c08f.chunk.css +0 -2
- package/build/static/css/4265.b389c08f.chunk.css.map +0 -1
- package/build/static/css/4666.05d09090.chunk.css +0 -2
- package/build/static/css/5443.ff76a7b9.chunk.css +0 -2
- package/build/static/css/5443.ff76a7b9.chunk.css.map +0 -1
- package/build/static/css/5600.b7714b1e.chunk.css +0 -2
- package/build/static/css/5962.aea6e05a.chunk.css +0 -2
- package/build/static/css/6611.341eefe2.chunk.css +0 -2
- package/build/static/css/6779.d029fa93.chunk.css +0 -2
- package/build/static/css/6995.5bb68455.chunk.css +0 -2
- package/build/static/css/7121.eb4fa5bb.chunk.css +0 -2
- package/build/static/css/7227.5f1a90dc.chunk.css +0 -2
- package/build/static/css/8017.9ee01a06.chunk.css +0 -2
- package/build/static/css/8017.9ee01a06.chunk.css.map +0 -1
- package/build/static/css/8332.a3534d23.chunk.css +0 -2
- package/build/static/css/9968.17c4111c.chunk.css +0 -2
- package/build/static/css/9968.17c4111c.chunk.css.map +0 -1
- package/build/static/js/1554.62727036.chunk.js +0 -3
- package/build/static/js/2503.cfdae4ae.chunk.js +0 -2
- package/build/static/js/2730.ee0befe4.chunk.js +0 -2
- package/build/static/js/2814.ca4b7502.chunk.js +0 -2
- package/build/static/js/36.f1bb8722.chunk.js +0 -2
- package/build/static/js/36.f1bb8722.chunk.js.map +0 -1
- package/build/static/js/4265.1adcfd10.chunk.js +0 -2
- package/build/static/js/5443.e2e5c228.chunk.js +0 -2
- package/build/static/js/5962.96b625b0.chunk.js +0 -2
- /package/build/static/js/{1153.665a146b.chunk.js.LICENSE.txt → 1153.b3e14a3c.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{1554.62727036.chunk.js.LICENSE.txt → 1554.41dff4cd.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{2716.1a3cf021.chunk.js.LICENSE.txt → 2716.ba8f83d6.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{4666.40e9c7fa.chunk.js.LICENSE.txt → 4666.182f4011.chunk.js.LICENSE.txt} +0 -0
- /package/build/static/js/{7227.1491da92.chunk.js.LICENSE.txt → 7227.da7eaa53.chunk.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/6995.a26ca591.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/AudioPreview.js","components/FilePreview/VideoPreview.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/computedModalCommonProps.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/Switch/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/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__Mz-vv\",\"is-danger\":\"style_is-danger__gxyAB__Mz-vv\",\"title\":\"style_title__EEPu2__Mz-vv\",\"content\":\"style_content__mZZg5__Mz-vv\",\"has-title\":\"style_has-title__5+PEt__Mz-vv\"};","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__Mz-vv\",\"file-title\":\"style_file-title__8bnUq__Mz-vv\",\"ellipse\":\"style_ellipse__kDaLC__Mz-vv\"};","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__Mz-vv\",\"list-item\":\"style_list-item__nmPCB__Mz-vv\",\"split\":\"style_split__kgSlH__Mz-vv\",\"loading\":\"style_loading__kQUX5__Mz-vv\",\"list-options\":\"style_list-options__aEila__Mz-vv\",\"list-time\":\"style_list-time__Khoxc__Mz-vv\"};","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__Mz-vv\",\"container-html\":\"style_container-html__IsNVq__Mz-vv\",\"html-inner\":\"style_html-inner__S05cI__Mz-vv\",\"loading\":\"style_loading__r3aiE__Mz-vv\",\"control-bar\":\"style_control-bar__kTKau__Mz-vv\",\"scroller\":\"style_scroller__HOq7b__Mz-vv\",\"outer\":\"style_outer__ntu--__Mz-vv\",\"file-name\":\"style_file-name__UPbbe__Mz-vv\",\"file-options\":\"style_file-options__5TE5l__Mz-vv\",\"scale-input\":\"style_scale-input__JdF1K__Mz-vv\",\"text-outer\":\"style_text-outer__TzhuG__Mz-vv\",\"error\":\"style_error__wSaxt__Mz-vv\",\"text-inner\":\"style_text-inner__jdi-A__Mz-vv\",\"image-inner\":\"style_image-inner__zTiFU__Mz-vv\",\"audio-inner\":\"style_audio-inner__2QoDC__Mz-vv\",\"video-inner\":\"style_video-inner__xmN5r__Mz-vv\",\"html-preview-iframe\":\"style_html-preview-iframe__bQQiA__Mz-vv\"};","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 isCrossDomain = (url) => {\n if (!/^http?s:\\/\\//.test(url)) {\n return false;\n }\n const currentURL = new URL(window.location.href);\n const targetURL = new URL(url);\n return [\"protocol\", \"hostname\", \"port\"].some(\n (name) => currentURL[name] !== targetURL[name]\n );\n};\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 {isCrossDomain(url) ? (\n <iframe\n title=\"文件预览\"\n src={url}\n frameBorder=\"0\"\n width=\"100%\"\n className={style[\"html-preview-iframe\"]}\n />\n ) : (\n <HtmlInnerPreview url={url} />\n )}\n </div>\n );\n};\n\nexport default HtmlPreview;\n","import { usePreset } from \"@components/Global\";\nimport { createWithFetch } from \"@kne/react-fetch\";\nimport { typeFormatComponent, typeComponentMapping } from \"./typeFormat\";\n\nconst OfficePreviewInner = createWithFetch({\n cache: \"office-preview\",\n})(({ data, className, ...props }) => {\n const { data: fileList } = data;\n return fileList.map(({ url, type }) => {\n const PreviewComponent =\n typeComponentMapping[type] || 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, staticUrl, ajax } = usePreset();\n const apis = Object.assign({}, baseApis, propsApis);\n return (\n <OfficePreviewInner\n {...props}\n {...(apis.previewOffice || {\n loader: async ({ data }) => {\n const { data: resData } = await ajax(\n Object.assign(\n {},\n apis.oss,\n apis.oss?.url\n ? {\n url: (apis.oss.url || \"\").replace(\"{id}\", data.id),\n }\n : {}\n )\n );\n return {\n data: [\n {\n url: `https://view.officeapps.live.com/op/view.aspx?src=${encodeURIComponent(\n (staticUrl || \"\") + resData\n )}&wdPrint=0&wdEmbedCode=0`,\n type: \"html\",\n },\n ],\n };\n },\n })}\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 style from \"./style.module.scss\";\n\nconst AudioPreview = ({ url, maxWidth, ...props }) => {\n return (\n <div\n className={style[\"container\"]}\n style={{\n maxWidth,\n }}\n >\n <div className={style[\"audio-inner\"]}>\n <audio {...props} src={url} controls />\n </div>\n </div>\n );\n};\n\nexport default AudioPreview;\n","import style from \"./style.module.scss\";\n\nconst VideoPreview = ({ url, maxWidth, ...props }) => {\n return (\n <div\n className={style[\"container\"]}\n style={{\n maxWidth,\n }}\n >\n <div className={style[\"video-inner\"]}>\n <video {...props} src={url} controls />\n </div>\n </div>\n );\n};\n\nexport default VideoPreview;\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\";\nimport AudioPreview from \"./AudioPreview\";\nimport VideoPreview from \"./VideoPreview\";\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 if (/.(mp3|wav|ogg|aac)$/.test(_path)) {\n return \"audio\";\n }\n if (/.(mp4|avi|mov|mkv|flv)$/.test(_path)) {\n return \"video\";\n }\n return \"unknown\";\n};\n\nexport default typeFormat;\n\nexport const typeComponentMapping = {\n txt: TextPreview,\n pdf: PdfPreview,\n image: ImagePreview,\n html: HtmlPreview,\n office: OfficePreview,\n audio: AudioPreview,\n video: VideoPreview,\n unknown: UnknownPreview,\n};\n\nexport const typeFormatComponent = (url) => {\n return typeComponentMapping[typeFormat(url)];\n};\n","import withOSSFile from \"@common/hocs/withOSSFile\";\nimport typeFormat, { typeFormatComponent } from \"./typeFormat\";\nimport OfficePreview from \"./OfficePreview\";\nimport { usePreset } from \"@components/Global\";\n\nconst OSSFilePreview = withOSSFile(\n ({ data, id, staticUrl: staticUrlProps, className, ...props }) => {\n const { staticUrl: staticUrlBase } = usePreset();\n const staticUrl = staticUrlProps || staticUrlBase || \"\";\n const PreviewComponent = typeFormatComponent(data);\n if (typeFormat(data) === \"office\") {\n return <OfficePreview {...props} id={id} className={className} />;\n }\n return (\n <PreviewComponent\n {...props}\n className={className}\n url={/^https?:\\/\\//.test(data) ? data : staticUrl + data}\n />\n );\n }\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 <HelperGuideProvider value={helperGuideName}>\n <ReactForm\n {...props}\n ref={ref}\n className={classnames(className, style[\"form-outer\"])}\n >\n <SetPreset>\n <InfoPage>{children}</InfoPage>\n </SetPreset>\n </ReactForm>\n </HelperGuideProvider>\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 FetchButton from \"@common/components/FetchButton\";\nimport style from \"./style.module.scss\";\nimport computedCommonProps from \"./computedModalCommonProps\";\n\nconst FormDrawer = (props) => {\n return (\n <Drawer\n {...computedCommonProps(\n Object.assign({}, props, { className: style[\"form-drawer\"] })\n )}\n />\n );\n};\n\nexport default FormDrawer;\n\nexport const useFormDrawer = () => {\n const drawer = useDrawer();\n return (props) =>\n drawer(\n computedCommonProps(\n Object.assign({}, props, { className: style[\"form-drawer\"] })\n )\n );\n};\n\nexport const FormDrawerButton = (props) => {\n const formDrawer = useFormDrawer();\n return <FetchButton {...props} modalFunc={formDrawer} />;\n};\n","import { Col, Row } from \"antd\";\nimport { cloneElement } from \"react\";\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 = ({\n list,\n groupArgs,\n column,\n gap,\n className,\n outer,\n ...props\n}) => {\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 cloneElement(\n outer,\n Object.assign({}, props, {\n className: classnames(className, style[\"form-info\"]),\n }),\n <>\n <div ref={flexBoxRef} />\n {renderColumn()}\n </>\n );\n};\n\nFormInfo.defaultProps = {\n column: 2,\n list: [],\n outer: <InfoPage.Part />,\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 FetchButton from \"@common/components/FetchButton\";\nimport { Button } from \"antd\";\nimport computedCommonProps from \"./computedModalCommonProps\";\nimport style from \"./style.module.scss\";\n\nconst FormModal = (props) => {\n return (\n <Modal\n {...computedCommonProps(\n Object.assign({}, props, { className: style[\"form-modal\"] })\n )}\n />\n );\n};\n\nexport default FormModal;\n\nexport const useFormModal = () => {\n const modal = useModal();\n return (props) =>\n modal(\n computedCommonProps(\n Object.assign({}, props, { className: style[\"form-modal\"] })\n )\n );\n};\n\nexport const FormModalButton = ({ classNames, ...props }) => {\n const formModal = useFormModal();\n if (!props.api) {\n const { modalProps, ...others } = props;\n return (\n <Button\n {...others}\n onClick={() => {\n formModal(modalProps);\n }}\n />\n );\n }\n return <FetchButton {...props} modalFunc={formModal} />;\n};\n","import Modal, { useModal } from \"@components/Modal\";\nimport { useState, useRef } from \"react\";\nimport { CancelButton, SubmitButton } from \"@kne/react-form-antd\";\nimport FetchButton from \"@common/components/FetchButton\";\nimport { IntlProvider, FormattedMessage } from \"@components/Intl\";\nimport style from \"./style.module.scss\";\nimport importMessages from \"./locale\";\nimport { Button, Steps, Flex } from \"antd\";\nimport computedModalCommonProps from \"./computedModalCommonProps\";\n\nconst localeModuleName = \"FormInfo\";\n\nconst FormStepState = ({ items, children }) => {\n const [currentIndex, setCurrentIndex] = useState(0);\n const stepCacheRef = useRef({});\n return children({\n currentIndex,\n setCurrentIndex,\n stepCacheRef,\n isLastStep: currentIndex === items.length - 1,\n currentProps: Object.assign({}, items[currentIndex]),\n });\n};\n\nconst computedCommonProps = ({\n footerButtons,\n cancelText,\n completeText,\n nextText,\n items,\n withDecorator,\n ...others\n}) => {\n return computedModalCommonProps(\n Object.assign({}, others, {\n footerButtons: ({ currentIndex, isLastStep }) => {\n const { footerButtons } = Object.assign({}, items[currentIndex]);\n return (\n footerButtons || [\n {\n children: (\n <IntlProvider\n importMessages={importMessages}\n moduleName={localeModuleName}\n >\n {cancelText || (\n <FormattedMessage\n id={\"Cancel\"}\n moduleName={localeModuleName}\n />\n )}\n </IntlProvider>\n ),\n ButtonComponent: CancelButton,\n },\n {\n type: \"primary\",\n children: (\n <IntlProvider\n importMessages={importMessages}\n moduleName={localeModuleName}\n >\n {isLastStep\n ? completeText || (\n <FormattedMessage\n id={\"Complete\"}\n moduleName={localeModuleName}\n />\n )\n : nextText || (\n <FormattedMessage\n id={\"Next\"}\n moduleName={localeModuleName}\n />\n )}\n </IntlProvider>\n ),\n ButtonComponent: SubmitButton,\n autoClose: false,\n },\n ]\n );\n },\n withDecorator: (render, args) => {\n const innerRender = (props) => {\n return (\n <FormStepState items={items}>\n {({\n currentIndex,\n isLastStep,\n setCurrentIndex,\n currentProps,\n stepCacheRef,\n }) => {\n const { formProps, title, ...otherProps } = currentProps;\n const { onSubmit, ..._formProps } =\n typeof formProps === \"function\"\n ? formProps(props)\n : formProps;\n\n return render(\n Object.assign({}, props, otherProps, {\n currentIndex,\n isLastStep,\n setCurrentIndex,\n stepSection: (\n <Steps\n className={style[\"form-step-section\"]}\n current={currentIndex}\n items={items.map(({ title }) => ({ title }))}\n />\n ),\n formProps: Object.assign({}, _formProps, {\n onSubmit: async (data, ...args) => {\n stepCacheRef.current[currentIndex] = { data };\n const res =\n onSubmit &&\n (await onSubmit(\n data,\n Object.assign(\n {},\n {\n currentIndex,\n isLastStep,\n setCurrentIndex,\n currentProps,\n stepCacheRef,\n }\n ),\n ...args\n ));\n if (!isLastStep && res !== false) {\n setCurrentIndex((currentIndex) => currentIndex + 1);\n }\n if (!isLastStep) {\n return false;\n }\n\n return res;\n },\n }),\n })\n );\n }}\n </FormStepState>\n );\n };\n return typeof withDecorator === \"function\"\n ? withDecorator(innerRender, args)\n : innerRender(args);\n },\n formProps: ({ formProps, ...others }) =>\n Object.assign({}, others, formProps),\n children: ({ children, stepSection, ...props }) => {\n return (\n <Flex vertical gap={24}>\n <Flex justify=\"center\">{stepSection}</Flex>\n {typeof children === \"function\" ? children(props) : children}\n </Flex>\n );\n },\n })\n );\n};\n\nconst FormStepModal = (props) => {\n return (\n <Modal\n {...computedCommonProps(\n Object.assign({}, props, { className: style[\"form-modal\"] })\n )}\n />\n );\n};\n\nexport default FormStepModal;\n\nexport const useFormStepModal = () => {\n const modal = useModal();\n return (props) =>\n modal(\n computedCommonProps(\n Object.assign({}, props, { className: style[\"form-modal\"] })\n )\n );\n};\n\nexport const FormStepModalButton = (props) => {\n const formModal = useFormStepModal();\n if (!props.api) {\n const { modalProps, ...others } = props;\n return (\n <Button\n {...others}\n onClick={() => {\n formModal(modalProps);\n }}\n />\n );\n }\n return <FetchButton {...props} modalFunc={formModal} />;\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 //这里兼容一下新老版本\n const {\n id: key,\n index,\n onRemove,\n length,\n } = ((groupArgs) => {\n if (typeof groupArgs[0] === \"object\") {\n return groupArgs[0];\n }\n const [key, { index, onRemove, length }] = groupArgs;\n return { id: key, index, onRemove, length };\n })(groupArgs);\n\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 {(...groupArgs) => {\n //这里兼容一下新老版本\n const {\n id: key,\n index,\n onRemove,\n length,\n } = ((groupArgs) => {\n if (typeof groupArgs[0] === \"object\") {\n return groupArgs[0];\n }\n const [key, { index, onRemove, length }] = groupArgs;\n return { id: key, index, onRemove, length };\n })(groupArgs);\n\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\n className={classnames(\n style[\"react-form__field-label\"],\n \"react-form__field-label\",\n \"mult-field-delete--label\"\n )}\n />\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__Mz-vv\",\"overlay\":\"style_overlay__CXfU5__Mz-vv\",\"input\":\"style_input__+OpvV__Mz-vv\",\"is-disabled\":\"style_is-disabled__uX4qq__Mz-vv\",\"input-icon\":\"style_input-icon__E3NjK__Mz-vv\",\"large\":\"style_large__vMozz__Mz-vv\",\"small\":\"style_small__ubqQ+__Mz-vv\",\"input-inner\":\"style_input-inner__sY-6k__Mz-vv\",\"input-custom\":\"style_input-custom__Kxq3n__Mz-vv\",\"display-content\":\"style_display-content__qA1jn__Mz-vv\",\"overlay-footer-extra\":\"style_overlay-footer-extra__yCzWX__Mz-vv\",\"selected-tag\":\"style_selected-tag__BZsMM__Mz-vv\",\"selected-tag-list\":\"style_selected-tag-list__As0ho__Mz-vv\",\"selected-tag-inner\":\"style_selected-tag-inner__2NH59__Mz-vv\",\"text-inner\":\"style_text-inner__Bq2Ji__Mz-vv\",\"placeholder\":\"style_placeholder__odotY__Mz-vv\",\"is-modal\":\"style_is-modal__4cj8L__Mz-vv\",\"overlay-content\":\"style_overlay-content__kpGRn__Mz-vv\"};","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 importMessages from \"./locale\";\nimport { CancelButton, SubmitButton } from \"@kne/react-form-antd\";\nimport { IntlProvider, FormattedMessage } from \"@components/Intl\";\nimport { Form } from \"./formModule\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\n\nconst localeModuleName = \"FormInfo\";\n\nconst computedCommonProps = ({\n className,\n withDecorator,\n footerButtons,\n formProps,\n cancelText,\n saveText,\n autoClose,\n ...modalProps\n}) => {\n return {\n ...modalProps,\n footerButtons: footerButtons || [\n {\n children: (\n <IntlProvider\n importMessages={importMessages}\n moduleName={localeModuleName}\n >\n {cancelText || (\n <FormattedMessage id={\"Cancel\"} moduleName={localeModuleName} />\n )}\n </IntlProvider>\n ),\n ButtonComponent: CancelButton,\n },\n {\n type: \"primary\",\n children: (\n <IntlProvider\n importMessages={importMessages}\n moduleName={localeModuleName}\n >\n {saveText || (\n <FormattedMessage id={\"Save\"} moduleName={localeModuleName} />\n )}\n </IntlProvider>\n ),\n ButtonComponent: SubmitButton,\n autoClose: false,\n },\n ],\n withDecorator: (render, args) => {\n const innerRender = (props) => {\n const { onSubmit, ..._formProps } =\n typeof formProps === \"function\" ? formProps(props) : formProps;\n return (\n <Form\n {..._formProps}\n onSubmit={async (...args) => {\n const res = onSubmit && (await onSubmit(...args));\n if (res !== false) {\n autoClose && props.close();\n }\n }}\n >\n <IntlProvider importMessages={importMessages} moduleName=\"FormInfo\">\n {render(props)}\n </IntlProvider>\n </Form>\n );\n };\n return typeof withDecorator === \"function\"\n ? withDecorator(innerRender, args)\n : innerRender(args);\n },\n className: classnames(className, style[\"form-outer\"]),\n };\n};\n\nexport default computedCommonProps;\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__Mz-vv\",\"square\":\"style_square__UPkfA__Mz-vv\",\"is-loading\":\"style_is-loading__wx6Pd__Mz-vv\",\"upload-btn-tips\":\"style_upload-btn-tips__YtxWz__Mz-vv\",\"drop-tips\":\"style_drop-tips__N-v59__Mz-vv\",\"preview-area\":\"style_preview-area__aV3SN__Mz-vv\"};","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\";\nimport { createWithIntl } from \"../../../Intl\";\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 = createWithIntl({ importMessages, moduleName: \"FormInfo\" })(\n ({\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);\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 = AvatarField;\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__Mz-vv\",\"money-description\":\"style_money-description__9pFk4__Mz-vv\"};","import useControlValue from \"@kne/use-control-value\";\nimport { hooks, util, formUtils } 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 || formUtils;\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__Mz-vv\",\"flag-img\":\"style_flag-img__RGhcM__Mz-vv\"};","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, ...props }) => {\n const [CountyFlag] = remoteModules;\n return (\n <CountyFlag>\n {({ list }) => {\n return (\n <Select\n {...props}\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 disabled={others.disabled}\n readOnly={others.readOnly}\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__Mz-vv\",\"salary-type\":\"style_salary-type__Sl1LC__Mz-vv\",\"input-number\":\"style_input-number__eoEZr__Mz-vv\",\"full\":\"style_full__NPqJm__Mz-vv\",\"input-group\":\"style_input-group__toLB7__Mz-vv\",\"input-group-no-mb\":\"style_input-group-no-mb__C4nzh__Mz-vv\"};","import React, { cloneElement } from \"react\";\nimport { withFetch } from \"@kne/react-fetch\";\nimport { hooks } from \"@kne/react-form-antd\";\nimport useSimulationBlur from \"@kne/use-simulation-blur\";\nimport { Col, Input, InputNumber, Row, Select } 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 SelectField = withFetch(({ data, ...props }) => {\n return <Select {...props} options={data} />;\n});\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 </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__Mz-vv\"};","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__Mz-vv\",\"upload-list\":\"style_upload-list__Q9HDc__Mz-vv\",\"upload-input\":\"style_upload-input__vXk4w__Mz-vv\",\"tips\":\"style_tips__3Gpnu__Mz-vv\"};","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 \".eml\",\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 { Switch as AntdSwitch, Space } from \"antd\";\nimport { hooks, hoc } from \"@kne/react-form-antd\";\n\nconst { useOnChange, useCheckedToValue } = hooks;\nconst { withChecked } = hoc;\nconst WithSwitch = withChecked(({ checked, children = null, ...props }) => {\n return (\n <Space>\n <AntdSwitch checked={checked} {...props} />\n {typeof children === \"function\" ? children({ checked }) : children}\n </Space>\n );\n});\n\nconst Switch = (props) => {\n props = Object.assign(\n {},\n {\n fieldName: \"switch\",\n },\n props\n );\n const checkedProps = useCheckedToValue(props);\n const render = useOnChange(checkedProps);\n return render(WithSwitch);\n};\n\nSwitch.Field = AntdSwitch;\n\nexport default Switch;\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 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 Switch from \"./Switch\";\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 Password: Input.Password,\n InputNumber,\n DatePicker,\n MonthPicker: DatePicker.MonthPicker,\n WeekPicker: DatePicker.WeekPicker,\n DateRangePicker: DatePicker.RangePicker,\n TimeRangePicker: TimePicker.RangePicker,\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\nexport const InputNumber = withInputDefaultPlaceholder(ReactInputNumber);\n\nexport const TreeSelect = withSelectDefaultPlaceholder(ReactTreeSelect);\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 {\n SubmitButton,\n CancelButton,\n useFormContext,\n hooks,\n widget,\n utils,\n formUtils,\n} 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;\nFormInfo.useFormContext = useFormContext;\nFormInfo.hooks = hooks;\nFormInfo.widget = widget;\nFormInfo.utils = utils;\nFormInfo.formUtils = formUtils;\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 inputNumber: {\n defaultProps: {\n changeOnWheel: false,\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__Mz-vv\",\"inner\":\"style_inner__bMKeU__Mz-vv\",\"content\":\"style_content__xTfWZ__Mz-vv\",\"link\":\"style_link__93j7O__Mz-vv\"};","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 {\"tooltip\":\"style_tooltip__zHGMI__Mz-vv\",\"large\":\"style_large__lvmsm__Mz-vv\",\"small\":\"style_small__nUt0r__Mz-vv\",\"popup-content\":\"style_popup-content__-rKQN__Mz-vv\",\"title\":\"style_title__1EQPq__Mz-vv\",\"important-info\":\"style_important-info__qTSZY__Mz-vv\",\"error\":\"style_error__yTTq3__Mz-vv\",\"warning\":\"style_warning__CMJxz__Mz-vv\",\"success\":\"style_success__AvJVx__Mz-vv\",\"sub-title\":\"style_sub-title__uD8CH__Mz-vv\",\"content\":\"style_content__lzgUz__Mz-vv\",\"alone\":\"style_alone__q6q82__Mz-vv\",\"fetch-content\":\"style_fetch-content__tEOEV__Mz-vv\",\"fetch-loading\":\"style_fetch-loading__tN-WB__Mz-vv\",\"title-info-icon\":\"style_title-info-icon__iY8Q+__Mz-vv\"};","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__Mz-vv\",\"form-drawer\":\"style_form-drawer__uYDXS__Mz-vv\",\"table-list\":\"style_table-list__6lp-A__Mz-vv\",\"list-item\":\"style_list-item__hVzQa__Mz-vv\",\"table-list-inner\":\"style_table-list-inner__uc8DK__Mz-vv\",\"table-list-field\":\"style_table-list-field__JSJfB__Mz-vv\",\"table-list-header\":\"style_table-list-header__KXvKa__Mz-vv\",\"is-req\":\"style_is-req__LfXQf__Mz-vv\",\"table-list-extra\":\"style_table-list-extra__faYTK__Mz-vv\",\"list-btn\":\"style_list-btn__WKYkm__Mz-vv\",\"form-info\":\"style_form-info__B8bAP__Mz-vv\",\"list-part\":\"style_list-part__Ld0GA__Mz-vv\",\"is-important\":\"style_is-important__vaBk1__Mz-vv\",\"list-item-part\":\"style_list-item-part__MzKP7__Mz-vv\",\"money-input\":\"style_money-input__J86Pb__Mz-vv\",\"money-description\":\"style_money-description__Gz3p7__Mz-vv\",\"components-upload-wrapper\":\"style_components-upload-wrapper__Ir0gz__Mz-vv\",\"textarea-wrapped-component\":\"style_textarea-wrapped-component__r1oKc__Mz-vv\",\"helper-guide-field\":\"style_helper-guide-field__Wke3w__Mz-vv\",\"error-tip-overlay\":\"style_error-tip-overlay__aNCGc__Mz-vv\",\"error-tip-overlay-content\":\"style_error-tip-overlay-content__kDOoQ__Mz-vv\",\"column-not-layout\":\"style_column-not-layout__+SXC+__Mz-vv\",\"mult-field-item\":\"style_mult-field-item__eS0nJ__Mz-vv\",\"first-item\":\"style_first-item__fLirI__Mz-vv\",\"react-form__field-label\":\"style_react-form__field-label__2U91E__Mz-vv\",\"mult-field-add-btn\":\"style_mult-field-add-btn__5Baxz__Mz-vv\",\"form-step-section\":\"style_form-step-section__RvkHy__Mz-vv\"};"],"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","isCrossDomain","currentURL","window","location","targetURL","some","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","typeComponentMapping","typeFormatComponent","_createElement","propsApis","ajax","previewOffice","_apis$oss","resData","replace","encodeURIComponent","PdfPreview","memo","scale","rotate","numPages","setNumPages","pdfjs","GlobalWorkerOptions","workerSrc","setWidth","useResize","clientWidth","Math","min","Document","file","options","standardFontDataUrl","cMapUrl","cMapPacked","noData","onLoadSuccess","onLoadError","onSourceError","Page","pageNumber","renderAnnotationLayer","renderTextLayer","autoSize","text","setText","setLoading","setError","TextEscape","Result","status","subTitle","image","Image","handlerLoad","handlerError","addEventListener","removeEventListener","alt","controls","typeFormat","_path","toLowerCase","txt","TextPreview","pdf","ImagePreview","html","HtmlPreview","office","OfficePreview","audio","AudioPreview","video","VideoPreview","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","HelperGuideProvider","ReactForm","InfoPage","LoadingButton","Drawer","computedCommonProps","useFormDrawer","drawer","useDrawer","FormDrawerButton","formDrawer","FetchButton","modalFunc","gap","outer","isFlexBox","Number","isInteger","flexBoxRef","flexBoxColumn","renderInner","notLayout","FieldList","block","round","cloneElement","Part","openApi","createContext","Provider","Consumer","useFormLang","useContext","Modal","FormModalButton","classNames","others","localeModuleName","FormStepState","items","currentIndex","setCurrentIndex","stepCacheRef","isLastStep","currentProps","footerButtons","completeText","nextText","withDecorator","computedModalCommonProps","ButtonComponent","CancelButton","SubmitButton","autoClose","innerRender","_formProps","stepSection","Steps","_ref5","_ref6","_ref7","Flex","vertical","useFormStepModal","FormStepModalButton","useReactContext","group","useGroup","HelperGuide","addText","minLength","isUnshift","maxLength","defaultLength","beforeAdd","afterDelete","listRender","itemTitle","renderChildren","important","deleteButtonProps","groupRef","allowAdd","addHandler","onAdd","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","setFetchApi","fetchApi","hover","setHover","modalRef","popupRef","selectInnerContext","valueState","placeholder","isPopup","inputContentRender","fetchApiRef","slice","indexOf","splice","SimpleBar","onMouseOver","onMouseOut","modalSize","disabledScroller","SelectInnerInput","displayItems","searchText","setSearchText","setMapping","appendMapping","newItems","newMapping","clone","transformValue","setValueInType","valueType","useControlValue","getValueInType","defaultValue","setItems","setData","onRequestSuccess","TableHeader","headers","setHeaders","setTimeout","has","newHeaders","headerRef","saveText","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","File","toDataURL","makePreviewInner","makePreview","useDebouncedCallback","AvatarEditor","color","onImageReady","onImageChange","str","Slider","tooltip","formatter","step","InputFileLink","AntdAvatar","textAlign","useDropModal","dropModalSize","AvatarField","openEditor","merge","ossUpload","dropRef","dropModal","doUpload","finally","defaultTips","Cascader","CascaderField","createTreeUtils","FunctionSelect","FunctionSelectField","IndustrySelect","IndustrySelectField","InputUpperCaseField","toUpperCase","InputUpperCase","createWithRemoteLoader","modules","remoteModules","formModule","isNotEmpty","formUtils","MoneyInputField","chineseEmpty","errorDesc","transformMoneyToChinese","onBlur","moneyFormat","setStatus","inputNumberProps","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","readOnly","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","useCheckedToValue","withChecked","hoc","WithSwitch","checked","AntdSwitch","Switch","fieldName","checkedProps","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","DateRangePicker","TimeRangePicker","RadioGroup","CheckboxGroup","Rate","TreeSelect","ReactTreeSelect","ReactSelect","TextArea","ReactTextArea","fieldDecorator","TextField","overflow","reactFormAntd","FormItem","TableList","FormApiButton","FormModal","FormStepModal","FormDrawer","widget","utils","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","inputNumber","changeOnWheel","textArea","minRows","maxRows","globalProps","labelTips","HelperGuideLabel","colorful","subtitle","importantInfo","importantInfoType","moreInfo","AntdTooltip","tooltipTitle","TooltipFetch","fetchContent","showLoading","loadingClassName","send"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"static/js/6995.4e59b0d0.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/AudioPreview.js","components/FilePreview/VideoPreview.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/computedModalCommonProps.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/Switch/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/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__+BqSZ\",\"is-danger\":\"style_is-danger__gxyAB__+BqSZ\",\"title\":\"style_title__EEPu2__+BqSZ\",\"content\":\"style_content__mZZg5__+BqSZ\",\"has-title\":\"style_has-title__5+PEt__+BqSZ\"};","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__+BqSZ\",\"file-title\":\"style_file-title__8bnUq__+BqSZ\",\"ellipse\":\"style_ellipse__kDaLC__+BqSZ\"};","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__+BqSZ\",\"list-item\":\"style_list-item__nmPCB__+BqSZ\",\"split\":\"style_split__kgSlH__+BqSZ\",\"loading\":\"style_loading__kQUX5__+BqSZ\",\"list-options\":\"style_list-options__aEila__+BqSZ\",\"list-time\":\"style_list-time__Khoxc__+BqSZ\"};","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__+BqSZ\",\"container-html\":\"style_container-html__IsNVq__+BqSZ\",\"html-inner\":\"style_html-inner__S05cI__+BqSZ\",\"loading\":\"style_loading__r3aiE__+BqSZ\",\"control-bar\":\"style_control-bar__kTKau__+BqSZ\",\"scroller\":\"style_scroller__HOq7b__+BqSZ\",\"outer\":\"style_outer__ntu--__+BqSZ\",\"file-name\":\"style_file-name__UPbbe__+BqSZ\",\"file-options\":\"style_file-options__5TE5l__+BqSZ\",\"scale-input\":\"style_scale-input__JdF1K__+BqSZ\",\"text-outer\":\"style_text-outer__TzhuG__+BqSZ\",\"error\":\"style_error__wSaxt__+BqSZ\",\"text-inner\":\"style_text-inner__jdi-A__+BqSZ\",\"image-inner\":\"style_image-inner__zTiFU__+BqSZ\",\"audio-inner\":\"style_audio-inner__2QoDC__+BqSZ\",\"video-inner\":\"style_video-inner__xmN5r__+BqSZ\",\"html-preview-iframe\":\"style_html-preview-iframe__bQQiA__+BqSZ\"};","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 isCrossDomain = (url) => {\n if (!/^http?s:\\/\\//.test(url)) {\n return false;\n }\n const currentURL = new URL(window.location.href);\n const targetURL = new URL(url);\n return [\"protocol\", \"hostname\", \"port\"].some(\n (name) => currentURL[name] !== targetURL[name]\n );\n};\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 {isCrossDomain(url) ? (\n <iframe\n title=\"文件预览\"\n src={url}\n frameBorder=\"0\"\n width=\"100%\"\n className={style[\"html-preview-iframe\"]}\n />\n ) : (\n <HtmlInnerPreview url={url} />\n )}\n </div>\n );\n};\n\nexport default HtmlPreview;\n","import { usePreset } from \"@components/Global\";\nimport { createWithFetch } from \"@kne/react-fetch\";\nimport { typeFormatComponent, typeComponentMapping } from \"./typeFormat\";\n\nconst OfficePreviewInner = createWithFetch({\n cache: \"office-preview\",\n})(({ data, className, ...props }) => {\n const { data: fileList } = data;\n return fileList.map(({ url, type }) => {\n const PreviewComponent =\n typeComponentMapping[type] || 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, staticUrl, ajax } = usePreset();\n const apis = Object.assign({}, baseApis, propsApis);\n return (\n <OfficePreviewInner\n {...props}\n {...(apis.previewOffice || {\n loader: async ({ data }) => {\n const { data: resData } = await ajax(\n Object.assign(\n {},\n apis.oss,\n apis.oss?.url\n ? {\n url: (apis.oss.url || \"\").replace(\"{id}\", data.id),\n }\n : {}\n )\n );\n return {\n data: [\n {\n url: `https://view.officeapps.live.com/op/view.aspx?src=${encodeURIComponent(\n (staticUrl || \"\") + resData\n )}&wdPrint=0&wdEmbedCode=0`,\n type: \"html\",\n },\n ],\n };\n },\n })}\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 style from \"./style.module.scss\";\n\nconst AudioPreview = ({ url, maxWidth, ...props }) => {\n return (\n <div\n className={style[\"container\"]}\n style={{\n maxWidth,\n }}\n >\n <div className={style[\"audio-inner\"]}>\n <audio {...props} src={url} controls />\n </div>\n </div>\n );\n};\n\nexport default AudioPreview;\n","import style from \"./style.module.scss\";\n\nconst VideoPreview = ({ url, maxWidth, ...props }) => {\n return (\n <div\n className={style[\"container\"]}\n style={{\n maxWidth,\n }}\n >\n <div className={style[\"video-inner\"]}>\n <video {...props} src={url} controls />\n </div>\n </div>\n );\n};\n\nexport default VideoPreview;\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\";\nimport AudioPreview from \"./AudioPreview\";\nimport VideoPreview from \"./VideoPreview\";\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 if (/.(mp3|wav|ogg|aac)$/.test(_path)) {\n return \"audio\";\n }\n if (/.(mp4|avi|mov|mkv|flv)$/.test(_path)) {\n return \"video\";\n }\n return \"unknown\";\n};\n\nexport default typeFormat;\n\nexport const typeComponentMapping = {\n txt: TextPreview,\n pdf: PdfPreview,\n image: ImagePreview,\n html: HtmlPreview,\n office: OfficePreview,\n audio: AudioPreview,\n video: VideoPreview,\n unknown: UnknownPreview,\n};\n\nexport const typeFormatComponent = (url) => {\n return typeComponentMapping[typeFormat(url)];\n};\n","import withOSSFile from \"@common/hocs/withOSSFile\";\nimport typeFormat, { typeFormatComponent } from \"./typeFormat\";\nimport OfficePreview from \"./OfficePreview\";\nimport { usePreset } from \"@components/Global\";\n\nconst OSSFilePreview = withOSSFile(\n ({ data, id, staticUrl: staticUrlProps, className, ...props }) => {\n const { staticUrl: staticUrlBase } = usePreset();\n const staticUrl = staticUrlProps || staticUrlBase || \"\";\n const PreviewComponent = typeFormatComponent(data);\n if (typeFormat(data) === \"office\") {\n return <OfficePreview {...props} id={id} className={className} />;\n }\n return (\n <PreviewComponent\n {...props}\n className={className}\n url={/^https?:\\/\\//.test(data) ? data : staticUrl + data}\n />\n );\n }\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 <HelperGuideProvider value={helperGuideName}>\n <ReactForm\n {...props}\n ref={ref}\n className={classnames(className, style[\"form-outer\"])}\n >\n <SetPreset>\n <InfoPage>{children}</InfoPage>\n </SetPreset>\n </ReactForm>\n </HelperGuideProvider>\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 FetchButton from \"@common/components/FetchButton\";\nimport style from \"./style.module.scss\";\nimport computedCommonProps from \"./computedModalCommonProps\";\n\nconst FormDrawer = (props) => {\n return (\n <Drawer\n {...computedCommonProps(\n Object.assign({}, props, { className: style[\"form-drawer\"] })\n )}\n />\n );\n};\n\nexport default FormDrawer;\n\nexport const useFormDrawer = () => {\n const drawer = useDrawer();\n return (props) =>\n drawer(\n computedCommonProps(\n Object.assign({}, props, { className: style[\"form-drawer\"] })\n )\n );\n};\n\nexport const FormDrawerButton = (props) => {\n const formDrawer = useFormDrawer();\n return <FetchButton {...props} modalFunc={formDrawer} />;\n};\n","import { Col, Row } from \"antd\";\nimport { cloneElement } from \"react\";\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 = ({\n list,\n groupArgs,\n column,\n gap,\n className,\n outer,\n ...props\n}) => {\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 cloneElement(\n outer,\n Object.assign({}, props, {\n className: classnames(className, style[\"form-info\"]),\n }),\n <>\n <div ref={flexBoxRef} />\n {renderColumn()}\n </>\n );\n};\n\nFormInfo.defaultProps = {\n column: 2,\n list: [],\n outer: <InfoPage.Part />,\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 FetchButton from \"@common/components/FetchButton\";\nimport { Button } from \"antd\";\nimport computedCommonProps from \"./computedModalCommonProps\";\nimport style from \"./style.module.scss\";\n\nconst FormModal = (props) => {\n return (\n <Modal\n {...computedCommonProps(\n Object.assign({}, props, { className: style[\"form-modal\"] })\n )}\n />\n );\n};\n\nexport default FormModal;\n\nexport const useFormModal = () => {\n const modal = useModal();\n return (props) =>\n modal(\n computedCommonProps(\n Object.assign({}, props, { className: style[\"form-modal\"] })\n )\n );\n};\n\nexport const FormModalButton = ({ classNames, ...props }) => {\n const formModal = useFormModal();\n if (!props.api) {\n const { modalProps, ...others } = props;\n return (\n <Button\n {...others}\n onClick={() => {\n formModal(modalProps);\n }}\n />\n );\n }\n return <FetchButton {...props} modalFunc={formModal} />;\n};\n","import Modal, { useModal } from \"@components/Modal\";\nimport { useState, useRef } from \"react\";\nimport { CancelButton, SubmitButton } from \"@kne/react-form-antd\";\nimport FetchButton from \"@common/components/FetchButton\";\nimport { IntlProvider, FormattedMessage } from \"@components/Intl\";\nimport style from \"./style.module.scss\";\nimport importMessages from \"./locale\";\nimport { Button, Steps, Flex } from \"antd\";\nimport computedModalCommonProps from \"./computedModalCommonProps\";\n\nconst localeModuleName = \"FormInfo\";\n\nconst FormStepState = ({ items, children }) => {\n const [currentIndex, setCurrentIndex] = useState(0);\n const stepCacheRef = useRef({});\n return children({\n currentIndex,\n setCurrentIndex,\n stepCacheRef,\n isLastStep: currentIndex === items.length - 1,\n currentProps: Object.assign({}, items[currentIndex]),\n });\n};\n\nconst computedCommonProps = ({\n footerButtons,\n cancelText,\n completeText,\n nextText,\n items,\n withDecorator,\n ...others\n}) => {\n return computedModalCommonProps(\n Object.assign({}, others, {\n footerButtons: ({ currentIndex, isLastStep }) => {\n const { footerButtons } = Object.assign({}, items[currentIndex]);\n return (\n footerButtons || [\n {\n children: (\n <IntlProvider\n importMessages={importMessages}\n moduleName={localeModuleName}\n >\n {cancelText || (\n <FormattedMessage\n id={\"Cancel\"}\n moduleName={localeModuleName}\n />\n )}\n </IntlProvider>\n ),\n ButtonComponent: CancelButton,\n },\n {\n type: \"primary\",\n children: (\n <IntlProvider\n importMessages={importMessages}\n moduleName={localeModuleName}\n >\n {isLastStep\n ? completeText || (\n <FormattedMessage\n id={\"Complete\"}\n moduleName={localeModuleName}\n />\n )\n : nextText || (\n <FormattedMessage\n id={\"Next\"}\n moduleName={localeModuleName}\n />\n )}\n </IntlProvider>\n ),\n ButtonComponent: SubmitButton,\n autoClose: false,\n },\n ]\n );\n },\n withDecorator: (render, args) => {\n const innerRender = (props) => {\n return (\n <FormStepState items={items}>\n {({\n currentIndex,\n isLastStep,\n setCurrentIndex,\n currentProps,\n stepCacheRef,\n }) => {\n const { formProps, title, ...otherProps } = currentProps;\n const { onSubmit, ..._formProps } =\n typeof formProps === \"function\"\n ? formProps(props)\n : formProps;\n\n return render(\n Object.assign({}, props, otherProps, {\n currentIndex,\n isLastStep,\n setCurrentIndex,\n stepSection: (\n <Steps\n className={style[\"form-step-section\"]}\n current={currentIndex}\n items={items.map(({ title }) => ({ title }))}\n />\n ),\n formProps: Object.assign({}, _formProps, {\n onSubmit: async (data, ...args) => {\n stepCacheRef.current[currentIndex] = { data };\n const res =\n onSubmit &&\n (await onSubmit(\n data,\n Object.assign(\n {},\n {\n currentIndex,\n isLastStep,\n setCurrentIndex,\n currentProps,\n stepCacheRef,\n }\n ),\n ...args\n ));\n if (!isLastStep && res !== false) {\n setCurrentIndex((currentIndex) => currentIndex + 1);\n }\n if (!isLastStep) {\n return false;\n }\n\n return res;\n },\n }),\n })\n );\n }}\n </FormStepState>\n );\n };\n return typeof withDecorator === \"function\"\n ? withDecorator(innerRender, args)\n : innerRender(args);\n },\n formProps: ({ formProps, ...others }) =>\n Object.assign({}, others, formProps),\n children: ({ children, stepSection, ...props }) => {\n return (\n <Flex vertical gap={24}>\n <Flex justify=\"center\">{stepSection}</Flex>\n {typeof children === \"function\" ? children(props) : children}\n </Flex>\n );\n },\n })\n );\n};\n\nconst FormStepModal = (props) => {\n return (\n <Modal\n {...computedCommonProps(\n Object.assign({}, props, { className: style[\"form-modal\"] })\n )}\n />\n );\n};\n\nexport default FormStepModal;\n\nexport const useFormStepModal = () => {\n const modal = useModal();\n return (props) =>\n modal(\n computedCommonProps(\n Object.assign({}, props, { className: style[\"form-modal\"] })\n )\n );\n};\n\nexport const FormStepModalButton = (props) => {\n const formModal = useFormStepModal();\n if (!props.api) {\n const { modalProps, ...others } = props;\n return (\n <Button\n {...others}\n onClick={() => {\n formModal(modalProps);\n }}\n />\n );\n }\n return <FetchButton {...props} modalFunc={formModal} />;\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 //这里兼容一下新老版本\n const {\n id: key,\n index,\n onRemove,\n length,\n } = ((groupArgs) => {\n if (typeof groupArgs[0] === \"object\") {\n return groupArgs[0];\n }\n const [key, { index, onRemove, length }] = groupArgs;\n return { id: key, index, onRemove, length };\n })(groupArgs);\n\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 {(...groupArgs) => {\n //这里兼容一下新老版本\n const {\n id: key,\n index,\n onRemove,\n length,\n } = ((groupArgs) => {\n if (typeof groupArgs[0] === \"object\") {\n return groupArgs[0];\n }\n const [key, { index, onRemove, length }] = groupArgs;\n return { id: key, index, onRemove, length };\n })(groupArgs);\n\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\n className={classnames(\n style[\"react-form__field-label\"],\n \"react-form__field-label\",\n \"mult-field-delete--label\"\n )}\n />\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__+BqSZ\",\"overlay\":\"style_overlay__CXfU5__+BqSZ\",\"input\":\"style_input__+OpvV__+BqSZ\",\"is-disabled\":\"style_is-disabled__uX4qq__+BqSZ\",\"input-icon\":\"style_input-icon__E3NjK__+BqSZ\",\"large\":\"style_large__vMozz__+BqSZ\",\"small\":\"style_small__ubqQ+__+BqSZ\",\"input-inner\":\"style_input-inner__sY-6k__+BqSZ\",\"input-custom\":\"style_input-custom__Kxq3n__+BqSZ\",\"display-content\":\"style_display-content__qA1jn__+BqSZ\",\"overlay-footer-extra\":\"style_overlay-footer-extra__yCzWX__+BqSZ\",\"selected-tag\":\"style_selected-tag__BZsMM__+BqSZ\",\"selected-tag-list\":\"style_selected-tag-list__As0ho__+BqSZ\",\"selected-tag-inner\":\"style_selected-tag-inner__2NH59__+BqSZ\",\"text-inner\":\"style_text-inner__Bq2Ji__+BqSZ\",\"placeholder\":\"style_placeholder__odotY__+BqSZ\",\"is-modal\":\"style_is-modal__4cj8L__+BqSZ\",\"overlay-content\":\"style_overlay-content__kpGRn__+BqSZ\"};","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 importMessages from \"./locale\";\nimport { CancelButton, SubmitButton } from \"@kne/react-form-antd\";\nimport { IntlProvider, FormattedMessage } from \"@components/Intl\";\nimport { Form } from \"./formModule\";\nimport classnames from \"classnames\";\nimport style from \"./style.module.scss\";\n\nconst localeModuleName = \"FormInfo\";\n\nconst computedCommonProps = ({\n className,\n withDecorator,\n footerButtons,\n formProps,\n cancelText,\n saveText,\n autoClose,\n ...modalProps\n}) => {\n return {\n ...modalProps,\n footerButtons: footerButtons || [\n {\n children: (\n <IntlProvider\n importMessages={importMessages}\n moduleName={localeModuleName}\n >\n {cancelText || (\n <FormattedMessage id={\"Cancel\"} moduleName={localeModuleName} />\n )}\n </IntlProvider>\n ),\n ButtonComponent: CancelButton,\n },\n {\n type: \"primary\",\n children: (\n <IntlProvider\n importMessages={importMessages}\n moduleName={localeModuleName}\n >\n {saveText || (\n <FormattedMessage id={\"Save\"} moduleName={localeModuleName} />\n )}\n </IntlProvider>\n ),\n ButtonComponent: SubmitButton,\n autoClose: false,\n },\n ],\n withDecorator: (render, args) => {\n const innerRender = (props) => {\n const { onSubmit, ..._formProps } =\n typeof formProps === \"function\" ? formProps(props) : formProps;\n return (\n <Form\n {..._formProps}\n onSubmit={async (...args) => {\n const res = onSubmit && (await onSubmit(...args));\n if (res !== false) {\n autoClose && props.close();\n }\n }}\n >\n <IntlProvider importMessages={importMessages} moduleName=\"FormInfo\">\n {render(props)}\n </IntlProvider>\n </Form>\n );\n };\n return typeof withDecorator === \"function\"\n ? withDecorator(innerRender, args)\n : innerRender(args);\n },\n className: classnames(className, style[\"form-outer\"]),\n };\n};\n\nexport default computedCommonProps;\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__+BqSZ\",\"square\":\"style_square__UPkfA__+BqSZ\",\"is-loading\":\"style_is-loading__wx6Pd__+BqSZ\",\"upload-btn-tips\":\"style_upload-btn-tips__YtxWz__+BqSZ\",\"drop-tips\":\"style_drop-tips__N-v59__+BqSZ\",\"preview-area\":\"style_preview-area__aV3SN__+BqSZ\"};","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\";\nimport { createWithIntl } from \"../../../Intl\";\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 = createWithIntl({ importMessages, moduleName: \"FormInfo\" })(\n ({\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);\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 = AvatarField;\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__+BqSZ\",\"money-description\":\"style_money-description__9pFk4__+BqSZ\"};","import useControlValue from \"@kne/use-control-value\";\nimport { hooks, util, formUtils } 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 || formUtils;\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__+BqSZ\",\"flag-img\":\"style_flag-img__RGhcM__+BqSZ\"};","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, ...props }) => {\n const [CountyFlag] = remoteModules;\n return (\n <CountyFlag>\n {({ list }) => {\n return (\n <Select\n {...props}\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 disabled={others.disabled}\n readOnly={others.readOnly}\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__+BqSZ\",\"salary-type\":\"style_salary-type__Sl1LC__+BqSZ\",\"input-number\":\"style_input-number__eoEZr__+BqSZ\",\"full\":\"style_full__NPqJm__+BqSZ\",\"input-group\":\"style_input-group__toLB7__+BqSZ\",\"input-group-no-mb\":\"style_input-group-no-mb__C4nzh__+BqSZ\"};","import React, { cloneElement } from \"react\";\nimport { withFetch } from \"@kne/react-fetch\";\nimport { hooks } from \"@kne/react-form-antd\";\nimport useSimulationBlur from \"@kne/use-simulation-blur\";\nimport { Col, Input, InputNumber, Row, Select } 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 SelectField = withFetch(({ data, ...props }) => {\n return <Select {...props} options={data} />;\n});\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 </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__+BqSZ\"};","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__+BqSZ\",\"upload-list\":\"style_upload-list__Q9HDc__+BqSZ\",\"upload-input\":\"style_upload-input__vXk4w__+BqSZ\",\"tips\":\"style_tips__3Gpnu__+BqSZ\"};","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 \".eml\",\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 { Switch as AntdSwitch, Space } from \"antd\";\nimport { hooks, hoc } from \"@kne/react-form-antd\";\n\nconst { useOnChange, useCheckedToValue } = hooks;\nconst { withChecked } = hoc;\nconst WithSwitch = withChecked(({ checked, children = null, ...props }) => {\n return (\n <Space>\n <AntdSwitch checked={checked} {...props} />\n {typeof children === \"function\" ? children({ checked }) : children}\n </Space>\n );\n});\n\nconst Switch = (props) => {\n props = Object.assign(\n {},\n {\n fieldName: \"switch\",\n },\n props\n );\n const checkedProps = useCheckedToValue(props);\n const render = useOnChange(checkedProps);\n return render(WithSwitch);\n};\n\nSwitch.Field = AntdSwitch;\n\nexport default Switch;\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 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 Switch from \"./Switch\";\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 Password: Input.Password,\n InputNumber,\n DatePicker,\n MonthPicker: DatePicker.MonthPicker,\n WeekPicker: DatePicker.WeekPicker,\n DateRangePicker: DatePicker.RangePicker,\n TimeRangePicker: TimePicker.RangePicker,\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\nexport const InputNumber = withInputDefaultPlaceholder(ReactInputNumber);\n\nexport const TreeSelect = withSelectDefaultPlaceholder(ReactTreeSelect);\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 {\n SubmitButton,\n CancelButton,\n useFormContext,\n hooks,\n widget,\n utils,\n formUtils,\n} 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;\nFormInfo.useFormContext = useFormContext;\nFormInfo.hooks = hooks;\nFormInfo.widget = widget;\nFormInfo.utils = utils;\nFormInfo.formUtils = formUtils;\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 inputNumber: {\n defaultProps: {\n changeOnWheel: false,\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__+BqSZ\",\"inner\":\"style_inner__bMKeU__+BqSZ\",\"content\":\"style_content__xTfWZ__+BqSZ\",\"link\":\"style_link__93j7O__+BqSZ\"};","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 {\"tooltip\":\"style_tooltip__zHGMI__+BqSZ\",\"large\":\"style_large__lvmsm__+BqSZ\",\"small\":\"style_small__nUt0r__+BqSZ\",\"popup-content\":\"style_popup-content__-rKQN__+BqSZ\",\"title\":\"style_title__1EQPq__+BqSZ\",\"important-info\":\"style_important-info__qTSZY__+BqSZ\",\"error\":\"style_error__yTTq3__+BqSZ\",\"warning\":\"style_warning__CMJxz__+BqSZ\",\"success\":\"style_success__AvJVx__+BqSZ\",\"sub-title\":\"style_sub-title__uD8CH__+BqSZ\",\"content\":\"style_content__lzgUz__+BqSZ\",\"alone\":\"style_alone__q6q82__+BqSZ\",\"fetch-content\":\"style_fetch-content__tEOEV__+BqSZ\",\"fetch-loading\":\"style_fetch-loading__tN-WB__+BqSZ\",\"title-info-icon\":\"style_title-info-icon__iY8Q+__+BqSZ\"};","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__+BqSZ\",\"form-drawer\":\"style_form-drawer__uYDXS__+BqSZ\",\"table-list\":\"style_table-list__6lp-A__+BqSZ\",\"list-item\":\"style_list-item__hVzQa__+BqSZ\",\"table-list-inner\":\"style_table-list-inner__uc8DK__+BqSZ\",\"table-list-field\":\"style_table-list-field__JSJfB__+BqSZ\",\"table-list-header\":\"style_table-list-header__KXvKa__+BqSZ\",\"is-req\":\"style_is-req__LfXQf__+BqSZ\",\"table-list-extra\":\"style_table-list-extra__faYTK__+BqSZ\",\"list-btn\":\"style_list-btn__WKYkm__+BqSZ\",\"form-info\":\"style_form-info__B8bAP__+BqSZ\",\"list-part\":\"style_list-part__Ld0GA__+BqSZ\",\"is-important\":\"style_is-important__vaBk1__+BqSZ\",\"list-item-part\":\"style_list-item-part__MzKP7__+BqSZ\",\"money-input\":\"style_money-input__J86Pb__+BqSZ\",\"money-description\":\"style_money-description__Gz3p7__+BqSZ\",\"components-upload-wrapper\":\"style_components-upload-wrapper__Ir0gz__+BqSZ\",\"textarea-wrapped-component\":\"style_textarea-wrapped-component__r1oKc__+BqSZ\",\"helper-guide-field\":\"style_helper-guide-field__Wke3w__+BqSZ\",\"error-tip-overlay\":\"style_error-tip-overlay__aNCGc__+BqSZ\",\"error-tip-overlay-content\":\"style_error-tip-overlay-content__kDOoQ__+BqSZ\",\"column-not-layout\":\"style_column-not-layout__+SXC+__+BqSZ\",\"mult-field-item\":\"style_mult-field-item__eS0nJ__+BqSZ\",\"first-item\":\"style_first-item__fLirI__+BqSZ\",\"react-form__field-label\":\"style_react-form__field-label__2U91E__+BqSZ\",\"mult-field-add-btn\":\"style_mult-field-add-btn__5Baxz__+BqSZ\",\"form-step-section\":\"style_form-step-section__RvkHy__+BqSZ\"};"],"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","isCrossDomain","currentURL","window","location","targetURL","some","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","typeComponentMapping","typeFormatComponent","_createElement","propsApis","ajax","previewOffice","_apis$oss","resData","replace","encodeURIComponent","PdfPreview","memo","scale","rotate","numPages","setNumPages","pdfjs","GlobalWorkerOptions","workerSrc","setWidth","useResize","clientWidth","Math","min","Document","file","options","standardFontDataUrl","cMapUrl","cMapPacked","noData","onLoadSuccess","onLoadError","onSourceError","Page","pageNumber","renderAnnotationLayer","renderTextLayer","autoSize","text","setText","setLoading","setError","TextEscape","Result","status","subTitle","image","Image","handlerLoad","handlerError","addEventListener","removeEventListener","alt","controls","typeFormat","_path","toLowerCase","txt","TextPreview","pdf","ImagePreview","html","HtmlPreview","office","OfficePreview","audio","AudioPreview","video","VideoPreview","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","HelperGuideProvider","ReactForm","InfoPage","LoadingButton","Drawer","computedCommonProps","useFormDrawer","drawer","useDrawer","FormDrawerButton","formDrawer","FetchButton","modalFunc","gap","outer","isFlexBox","Number","isInteger","flexBoxRef","flexBoxColumn","renderInner","notLayout","FieldList","block","round","cloneElement","Part","openApi","createContext","Provider","Consumer","useFormLang","useContext","Modal","FormModalButton","classNames","others","localeModuleName","FormStepState","items","currentIndex","setCurrentIndex","stepCacheRef","isLastStep","currentProps","footerButtons","completeText","nextText","withDecorator","computedModalCommonProps","ButtonComponent","CancelButton","SubmitButton","autoClose","innerRender","_formProps","stepSection","Steps","_ref5","_ref6","_ref7","Flex","vertical","useFormStepModal","FormStepModalButton","useReactContext","group","useGroup","HelperGuide","addText","minLength","isUnshift","maxLength","defaultLength","beforeAdd","afterDelete","listRender","itemTitle","renderChildren","important","deleteButtonProps","groupRef","allowAdd","addHandler","onAdd","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","setFetchApi","fetchApi","hover","setHover","modalRef","popupRef","selectInnerContext","valueState","placeholder","isPopup","inputContentRender","fetchApiRef","slice","indexOf","splice","SimpleBar","onMouseOver","onMouseOut","modalSize","disabledScroller","SelectInnerInput","displayItems","searchText","setSearchText","setMapping","appendMapping","newItems","newMapping","clone","transformValue","setValueInType","valueType","useControlValue","getValueInType","defaultValue","setItems","setData","onRequestSuccess","TableHeader","headers","setHeaders","setTimeout","has","newHeaders","headerRef","saveText","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","File","toDataURL","makePreviewInner","makePreview","useDebouncedCallback","AvatarEditor","color","onImageReady","onImageChange","str","Slider","tooltip","formatter","step","InputFileLink","AntdAvatar","textAlign","useDropModal","dropModalSize","AvatarField","openEditor","merge","ossUpload","dropRef","dropModal","doUpload","finally","defaultTips","Cascader","CascaderField","createTreeUtils","FunctionSelect","FunctionSelectField","IndustrySelect","IndustrySelectField","InputUpperCaseField","toUpperCase","InputUpperCase","createWithRemoteLoader","modules","remoteModules","formModule","isNotEmpty","formUtils","MoneyInputField","chineseEmpty","errorDesc","transformMoneyToChinese","onBlur","moneyFormat","setStatus","inputNumberProps","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","readOnly","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","useCheckedToValue","withChecked","hoc","WithSwitch","checked","AntdSwitch","Switch","fieldName","checkedProps","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","DateRangePicker","TimeRangePicker","RadioGroup","CheckboxGroup","Rate","TreeSelect","ReactTreeSelect","ReactSelect","TextArea","ReactTextArea","fieldDecorator","TextField","overflow","reactFormAntd","FormItem","TableList","FormApiButton","FormModal","FormStepModal","FormDrawer","widget","utils","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","inputNumber","changeOnWheel","textArea","minRows","maxRows","globalProps","labelTips","HelperGuideLabel","colorful","subtitle","importantInfo","importantInfoType","moreInfo","AntdTooltip","tooltipTitle","TooltipFetch","fetchContent","showLoading","loadingClassName","send"],"sourceRoot":""}
|