@kne-components/components-admin 1.1.3 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/build/asset-manifest.json +42 -42
  2. package/build/index.html +1 -1
  3. package/build/remoteEntry.js +1 -1
  4. package/build/remoteEntry.js.map +1 -1
  5. package/build/static/css/1668.57ad01cf.chunk.css +2 -0
  6. package/build/static/css/{1668.9ffe04d4.chunk.css.map → 1668.57ad01cf.chunk.css.map} +1 -1
  7. package/build/static/css/5582.57ad01cf.chunk.css +2 -0
  8. package/build/static/css/{5582.9ffe04d4.chunk.css.map → 5582.57ad01cf.chunk.css.map} +1 -1
  9. package/build/static/css/5808.9de4e8cd.chunk.css +2 -0
  10. package/build/static/css/5808.9de4e8cd.chunk.css.map +1 -0
  11. package/build/static/css/5912.44386767.chunk.css +2 -0
  12. package/build/static/css/5912.44386767.chunk.css.map +1 -0
  13. package/build/static/css/7478.3f24bd3b.chunk.css +2 -0
  14. package/build/static/css/{7478.e03a5e53.chunk.css.map → 7478.3f24bd3b.chunk.css.map} +1 -1
  15. package/build/static/css/8638.136e7426.chunk.css +2 -0
  16. package/build/static/css/8638.136e7426.chunk.css.map +1 -0
  17. package/build/static/css/9007.b24dff0c.chunk.css +12 -0
  18. package/build/static/css/9007.b24dff0c.chunk.css.map +1 -0
  19. package/build/static/css/9849.7763b244.chunk.css +2 -0
  20. package/build/static/css/{9849.5e3e5d3d.chunk.css.map → 9849.7763b244.chunk.css.map} +1 -1
  21. package/build/static/js/1668.1921f620.chunk.js +3 -0
  22. package/build/static/js/{1668.06e0fe53.chunk.js.map → 1668.1921f620.chunk.js.map} +1 -1
  23. package/build/static/js/3634.d49efcb4.chunk.js +2 -0
  24. package/build/static/js/{3634.a26320b8.chunk.js.map → 3634.d49efcb4.chunk.js.map} +1 -1
  25. package/build/static/js/{493.07d09857.chunk.js → 493.00b19922.chunk.js} +2 -2
  26. package/build/static/js/{493.07d09857.chunk.js.map → 493.00b19922.chunk.js.map} +1 -1
  27. package/build/static/js/{5582.b063dac8.chunk.js → 5582.552caec2.chunk.js} +3 -3
  28. package/build/static/js/{5582.b063dac8.chunk.js.map → 5582.552caec2.chunk.js.map} +1 -1
  29. package/build/static/js/{5808.2bbaaa37.chunk.js → 5808.e53099bd.chunk.js} +3 -3
  30. package/build/static/js/{5808.2bbaaa37.chunk.js.map → 5808.e53099bd.chunk.js.map} +1 -1
  31. package/build/static/js/7011.a696c04a.chunk.js +2 -0
  32. package/build/static/js/{7011.f901464e.chunk.js.map → 7011.a696c04a.chunk.js.map} +1 -1
  33. package/build/static/js/{7517.bc2bd126.chunk.js → 7517.2ab86ea7.chunk.js} +3 -3
  34. package/build/static/js/{7517.bc2bd126.chunk.js.map → 7517.2ab86ea7.chunk.js.map} +1 -1
  35. package/build/static/js/8638.3c14b8a5.chunk.js +2 -0
  36. package/build/static/js/8638.3c14b8a5.chunk.js.map +1 -0
  37. package/build/static/js/8849.9235f902.chunk.js +2 -0
  38. package/build/static/js/8849.9235f902.chunk.js.map +1 -0
  39. package/build/static/js/{9007.9c677436.chunk.js → 9007.1ac5e25e.chunk.js} +2 -2
  40. package/build/static/js/9007.1ac5e25e.chunk.js.map +1 -0
  41. package/build/static/js/{9849.c209596e.chunk.js → 9849.a2723e2a.chunk.js} +3 -3
  42. package/build/static/js/{9849.c209596e.chunk.js.map → 9849.a2723e2a.chunk.js.map} +1 -1
  43. package/build/static/js/{main.6f0a88b9.js → main.dfaeed8b.js} +2 -2
  44. package/build/static/js/{main.6f0a88b9.js.map → main.dfaeed8b.js.map} +1 -1
  45. package/package.json +1 -1
  46. package/build/static/css/1668.9ffe04d4.chunk.css +0 -2
  47. package/build/static/css/5582.9ffe04d4.chunk.css +0 -2
  48. package/build/static/css/5808.43a0996f.chunk.css +0 -2
  49. package/build/static/css/5808.43a0996f.chunk.css.map +0 -1
  50. package/build/static/css/5912.541c8047.chunk.css +0 -2
  51. package/build/static/css/5912.541c8047.chunk.css.map +0 -1
  52. package/build/static/css/6016.541c8047.chunk.css +0 -2
  53. package/build/static/css/6016.541c8047.chunk.css.map +0 -1
  54. package/build/static/css/7478.e03a5e53.chunk.css +0 -2
  55. package/build/static/css/9007.78ee3cab.chunk.css +0 -12
  56. package/build/static/css/9007.78ee3cab.chunk.css.map +0 -1
  57. package/build/static/css/9849.5e3e5d3d.chunk.css +0 -2
  58. package/build/static/js/1668.06e0fe53.chunk.js +0 -3
  59. package/build/static/js/3634.a26320b8.chunk.js +0 -2
  60. package/build/static/js/6016.76ab71c5.chunk.js +0 -2
  61. package/build/static/js/6016.76ab71c5.chunk.js.map +0 -1
  62. package/build/static/js/7011.f901464e.chunk.js +0 -2
  63. package/build/static/js/8849.b4c78cf6.chunk.js +0 -2
  64. package/build/static/js/8849.b4c78cf6.chunk.js.map +0 -1
  65. package/build/static/js/9007.9c677436.chunk.js.map +0 -1
  66. /package/build/static/js/{1668.06e0fe53.chunk.js.LICENSE.txt → 1668.1921f620.chunk.js.LICENSE.txt} +0 -0
  67. /package/build/static/js/{5582.b063dac8.chunk.js.LICENSE.txt → 5582.552caec2.chunk.js.LICENSE.txt} +0 -0
  68. /package/build/static/js/{5808.2bbaaa37.chunk.js.LICENSE.txt → 5808.e53099bd.chunk.js.LICENSE.txt} +0 -0
  69. /package/build/static/js/{7517.bc2bd126.chunk.js.LICENSE.txt → 7517.2ab86ea7.chunk.js.LICENSE.txt} +0 -0
  70. /package/build/static/js/{9849.c209596e.chunk.js.LICENSE.txt → 9849.a2723e2a.chunk.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"static/js/3634.a26320b8.chunk.js","mappings":"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","sources":["components/Tenant/TenantPermission/flattenPermissions.js","webpack://@kne-components/components-admin/./src/components/Tenant/CompanyInfo/style.module.scss?d51e","components/Tenant/CompanyInfo/DevelopmentHistory/FormInner.js","components/Tenant/CompanyInfo/DevelopmentHistory/index.js","components/Tenant/CompanyInfo/Basic/FormInner.js","components/Tenant/CompanyInfo/Basic/index.js","components/Tenant/CompanyInfo/Banner/FormInner.js","components/Tenant/CompanyInfo/Banner/index.js","components/Tenant/CompanyInfo/TeamDescription/FormInner.js","components/Tenant/CompanyInfo/TeamDescription/index.js","components/Tenant/CompanyInfo/index.js","components/BizUnit/Actions/Edit.js","components/BizUnit/Actions/SetStatus.js","components/BizUnit/Actions/Remove.js","components/BizUnit/Actions/index.js","components/BizUnit/Actions/Create.js","components/BizUnit/index.js","components/Tenant/Setting/Company.js","components/Tenant/Setting/Org.js","components/Tenant/Setting/User.js","components/Tenant/Setting/index.js","components/Tenant/OrgInfo/FormInner.js","webpack://@kne-components/components-admin/./src/components/Tenant/OrgInfo/style.module.scss?de9e","components/Tenant/OrgInfo/index.js","webpack://@kne-components/components-admin/./src/components/Tenant/LoginTenant/style.module.scss?025c","components/Tenant/LoginTenant/SelectTenant.js","components/Tenant/LoginTenant/index.js","components/Tenant/UserList/getColumns.js","components/Tenant/UserList/FormInner.js","components/Tenant/UserList/Actions/Edit.js","components/Tenant/UserList/Actions/SetStatus.js","components/Tenant/UserList/Actions/Invite.js","components/Tenant/UserList/Actions/Remove.js","components/Tenant/UserList/Actions/index.js","components/Tenant/UserList/Actions/Create.js","webpack://@kne-components/components-admin/./src/components/Tenant/UserList/UserCard/style.module.scss?8a3f","components/Tenant/UserList/UserCard/index.js","components/Tenant/UserList/index.js","components/Tenant/Role/getColumns.js","components/Tenant/Role/FormInner.js","components/Tenant/Role/index.js","webpack://@kne-components/components-admin/./src/components/Tenant/TenantPermission/style.module.scss?509d","components/Tenant/TenantPermission/index.js","components/Tenant/Permission/index.js","components/Tenant/Authenticate.js","components/Tenant/AfterTenantLoginLayout.js","components/Tenant/Tenant.js","webpack://@kne-components/components-admin/./src/components/Tenant/JoinInvitation/style.module.scss?d0ce","components/Tenant/JoinInvitation/index.js"],"sourcesContent":["const flattenPermissions = data => {\n const result = [];\n const processModule = (module, parentCode = '') => {\n const currentCode = parentCode ? `${parentCode}:${module.code}` : module.code;\n\n // 添加当前模块\n result.push({\n name: module.name,\n code: currentCode,\n type: 'module'\n });\n\n // 处理子模块\n if (module.modules) {\n module.modules.forEach(subModule => {\n processModule(subModule, currentCode);\n });\n }\n\n // 处理权限\n if (module.permissions) {\n module.permissions.forEach(permission => {\n result.push({\n name: permission.name,\n code: `${currentCode}:${permission.code}`,\n type: 'permission'\n });\n });\n }\n };\n // 处理所有顶级模块\n data.modules.forEach(module => {\n processModule(module);\n });\n\n return result;\n};\n\nmodule.exports = flattenPermissions;","// extracted by mini-css-extract-plugin\nexport default {\"company-info\":\"style_company-info__mHXzt__koOjQ\",\"section\":\"style_section__cli1h__koOjQ\",\"sectionTitle\":\"style_sectionTitle__3hq9-__koOjQ\",\"timeline\":\"style_timeline__Hfl6V__koOjQ\",\"form-section\":\"style_form-section__e+YVR__koOjQ\",\"images\":\"style_images__pOiQM__koOjQ\",\"image-item\":\"style_image-item__j61Dz__koOjQ\",\"team-card\":\"style_team-card__3XXv-__koOjQ\",\"member-avatar\":\"style_member-avatar__RviuV__koOjQ\"};","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport style from '../style.module.scss';\n\nconst FormInner = createWithRemoteLoader({\n modules: ['components-core:FormInfo']\n})(({ remoteModules }) => {\n const [FormInfo] = remoteModules;\n const { TableList } = FormInfo;\n const { DatePicker, Input } = FormInfo.fields;\n\n return <TableList className={style['form-section']} name=\"developmentHistory\" list={[<DatePicker name=\"time\" label=\"时间\" rule=\"REQ\" />, <Input name=\"event\" label=\"事件\" rule=\"REQ LEN-0-500\" />]} />;\n});\n\nexport default FormInner;\n","import { Timeline, Empty } from 'antd';\nimport dayjs from 'dayjs';\nimport style from '../style.module.scss';\n\nconst DevelopmentHistory = ({ data }) => {\n if (!(data.developmentHistory && data.developmentHistory.length > 0)) {\n return <Empty />;\n }\n return (\n <div className={style['section']}>\n <Timeline\n mode=\"left\"\n className={style['timeline']}\n items={data.developmentHistory.map(item => {\n return {\n label: dayjs(item.time).format('YYYY年MM月DD日'),\n children: item.event\n };\n })}\n />\n </div>\n );\n};\n\nexport default DevelopmentHistory;\n\nexport { default as FormInner } from './FormInner';\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport style from '../style.module.scss';\n\nconst FormInner = createWithRemoteLoader({\n modules: ['components-core:FormInfo']\n})(({ remoteModules }) => {\n const [FormInfo] = remoteModules;\n const { Input, TextArea } = FormInfo.fields;\n\n return (\n <FormInfo\n className={style['form-section']}\n list={[\n <Input name=\"name\" label=\"公司名称\" rule=\"REQ LEN-0-100\" />,\n <Input name=\"fullName\" label=\"公司全称\" rule=\"LEN-0-100\" />,\n <Input name=\"website\" label=\"公司主页\" rule=\"LEN-0-500\" block />,\n <TextArea name=\"description\" label=\"公司简介\" rule=\"LEN-0-5000\" block />\n ]}\n />\n );\n});\n\nexport default FormInner;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Typography, Empty } from 'antd';\nimport style from '../style.module.scss';\nimport dayjs from 'dayjs';\n\nconst { Title, Paragraph } = Typography;\n\nconst Basic = createWithRemoteLoader({\n modules: ['components-core:InfoPage@Content']\n})(({ remoteModules, data }) => {\n const [Content] = remoteModules;\n return (\n <div className={style['section']}>\n <Content\n col={2}\n list={[\n {\n label: '公司名称',\n content: data.name || '-'\n },\n {\n label: '公司全称',\n content: data.fullName || '-'\n },\n {\n label: '公司主页',\n content: data.website ? (\n <Typography.Link href={data.website} target=\"_blank\">\n {data.website}\n </Typography.Link>\n ) : (\n '-'\n )\n },\n {\n label: '公司简介',\n content: data.description || '-',\n block: true\n }\n ]}\n />\n </div>\n );\n});\n\nexport default Basic;\nexport { default as FormInner } from './FormInner';\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport style from '../style.module.scss';\n\nconst FormInner = createWithRemoteLoader({\n modules: ['components-core:FormInfo']\n})(({ remoteModules }) => {\n const [FormInfo] = remoteModules;\n const { Upload } = FormInfo.fields;\n return (\n <FormInfo\n className={style['form-section']}\n list={[\n <Upload\n name=\"banners\"\n label=\"Banner\"\n interceptor=\"photo-string-list\"\n block\n getPermission={type => {\n return ['preview', 'delete'].indexOf(type) > -1;\n }}\n />\n ]}\n />\n );\n});\n\nexport default FormInner;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Carousel } from 'antd';\nimport style from '../style.module.scss';\n\nconst Banner = createWithRemoteLoader({\n modules: ['components-core:Image']\n})(({ remoteModules, data }) => {\n const [Image] = remoteModules;\n if (!(data.banners && data.banners.length > 0)) {\n return null;\n }\n return (\n <div className={style['section']}>\n <Carousel arrows autoplay className={style['images']}>\n {data.banners.map((image, index) => {\n return (\n <div key={index}>\n <Image id={image} className={style['image-item']} />\n </div>\n );\n })}\n </Carousel>\n </div>\n );\n});\n\nexport default Banner;\nexport { default as FormInner } from './FormInner';\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport style from '../style.module.scss';\n\nconst FormInner = createWithRemoteLoader({\n modules: ['components-core:FormInfo']\n})(({ remoteModules }) => {\n const [FormInfo] = remoteModules;\n\n const { List } = FormInfo;\n const { Avatar, Input, TextArea } = FormInfo.fields;\n\n return (\n <List\n className={style['form-section']}\n name=\"teamDescription\"\n list={[\n <Avatar name=\"avatar\" label=\"头像\" interceptor=\"photo-string\" block />,\n <Input name=\"name\" label=\"姓名\" rule=\"REQ LEN-0-100\" />,\n <Input name=\"role\" label=\"角色\" rule=\"REQ LEN-0-100\" />,\n <TextArea name=\"description\" label=\"简介\" rule=\"LEN-0-500\" block />\n ]}\n />\n );\n});\n\nexport default FormInner;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Card, Empty, Typography, Row, Col } from 'antd';\nimport style from '../style.module.scss';\n\nconst { Title, Paragraph } = Typography;\n\nconst TeamMember = createWithRemoteLoader({\n modules: ['components-core:Image']\n})(({ remoteModules, avatar, name, role, description }) => {\n const [Image] = remoteModules;\n return (\n <Card className={style['team-card']}>\n <div className={style['member-avatar']}>\n <Image.Avatar size={100} id={avatar} />\n </div>\n <Title level={4}>{name}</Title>\n <Title level={5} type=\"secondary\">\n {role}\n </Title>\n <Paragraph>{description}</Paragraph>\n </Card>\n );\n});\n\nconst TeamDescription = ({ data }) => {\n if (!(data.teamDescription && data.teamDescription.length > 0)) {\n return <Empty />;\n }\n\n return (\n <div className={style['section']}>\n <Row gutter={[24, 24]} justify=\"center\">\n {data.teamDescription.map((item, index) => {\n return (\n <Col xs={24} sm={12} lg={8} key={index}>\n <TeamMember avatar={item.avatar} name={item.name} role={item.role} description={item.description} />\n </Col>\n );\n })}\n </Row>\n </div>\n );\n};\n\nexport default TeamDescription;\nexport { default as FormInner } from './FormInner';\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Button, Flex } from 'antd';\nimport { FormOutlined } from '@ant-design/icons';\nimport { useState } from 'react';\nimport DevelopmentHistory, { FormInner as DevelopmentHistoryFormInner } from './DevelopmentHistory';\nimport Basic, { FormInner as BasicFormInner } from './Basic';\nimport Banner, { FormInner as BannerFormInner } from './Banner';\nimport TeamDescription, { FormInner as TeamDescriptionFormInner } from './TeamDescription';\nimport style from './style.module.scss';\n\nconst CompanyDetail = createWithRemoteLoader({\n modules: ['components-core:InfoPage']\n})(({ remoteModules, data }) => {\n const [InfoPage] = remoteModules;\n\n return (\n <>\n <Banner data={data} />\n <InfoPage.Part>\n <Basic data={data} />\n </InfoPage.Part>\n <InfoPage.Part title=\"发展历程\">\n <DevelopmentHistory data={data} />\n </InfoPage.Part>\n <InfoPage.Part title=\"团队介绍\">\n <TeamDescription data={data} />\n </InfoPage.Part>\n </>\n );\n});\n\nconst CompanyInfo = createWithRemoteLoader({\n modules: ['components-core:InfoPage', 'components-core:FormInfo']\n})(({ remoteModules, data, onSubmit, apis }) => {\n const [InfoPage, FormInfo] = remoteModules;\n const [isEdit, setIsEdit] = useState(false);\n\n const { Form, SubmitButton, CancelButton } = FormInfo;\n\n if (isEdit) {\n return (\n <Form className={style['company-info']}\n type=\"default\"\n data={data}\n onSubmit={async formData => {\n if ((await onSubmit(formData)) === false) {\n return;\n }\n setIsEdit(false);\n }}\n >\n <InfoPage.Part title=\"公司信息\" className={style['section']}>\n <Flex gap={24} vertical>\n <InfoPage.Part>\n <BannerFormInner />\n </InfoPage.Part>\n <InfoPage.Part>\n <BasicFormInner />\n </InfoPage.Part>\n <InfoPage.Part title=\"发展历程\">\n <DevelopmentHistoryFormInner />\n </InfoPage.Part>\n <InfoPage.Part title=\"团队介绍\">\n <TeamDescriptionFormInner />\n </InfoPage.Part>\n <Flex justify=\"center\" gap={12}>\n <SubmitButton>保存</SubmitButton>\n <CancelButton\n onClick={() => {\n setIsEdit(false);\n }}\n >\n 取消\n </CancelButton>\n </Flex>\n </Flex>\n </InfoPage.Part>\n </Form>\n );\n }\n\n return (\n <InfoPage className={style['company-info']}>\n <InfoPage.Part\n className={style['section']}\n title=\"公司信息\"\n extra={\n <Button\n type=\"link\"\n icon={<FormOutlined />}\n onClick={() => {\n setIsEdit(true);\n }}\n >\n 编辑\n </Button>\n }\n >\n <CompanyDetail data={data} />\n </InfoPage.Part>\n </InfoPage>\n );\n});\n\nCompanyInfo.Detail = CompanyDetail;\nCompanyInfo.Banner = Banner;\nCompanyInfo.Basic = Basic;\nCompanyInfo.DevelopmentHistory = DevelopmentHistory;\nCompanyInfo.TeamDescription = TeamDescription;\n\nexport default CompanyInfo;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Button, App } from 'antd';\nimport merge from 'lodash/merge';\n\nconst Edit = createWithRemoteLoader({\n modules: ['components-core:FormInfo@useFormModal', 'components-core:Global@usePreset']\n})(({ remoteModules, apis, onSuccess, data, options, getFormInner, ...props }) => {\n const [useFormModal, usePreset] = remoteModules;\n const formModal = useFormModal();\n const { ajax } = usePreset();\n const { message } = App.useApp();\n return (\n <Button\n {...Object.assign({}, props, options.editButtonProps)}\n onClick={() => {\n formModal(\n merge(\n {},\n {\n title: `编辑${options.bizName}`,\n size: 'small',\n formProps: {\n data: Object.assign({}, data),\n onSubmit: async formData => {\n const { data: resData } = await ajax(\n typeof apis.save === 'function'\n ? apis.save({ formData, data, options })\n : merge({}, apis.save, {\n data: Object.assign({}, formData, { id: data.id })\n })\n );\n\n if (resData.code !== 0) {\n return false;\n }\n\n message.success(`保存${options.bizName}成功`);\n onSuccess && onSuccess();\n }\n },\n children: getFormInner({ apis, action: 'edit', options })\n },\n options.formModalProps,\n options.editFormModalProps\n )\n );\n }}\n />\n );\n});\n\nexport default Edit;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport merge from 'lodash/merge';\nimport { App } from 'antd';\n\nconst SetStatus = createWithRemoteLoader({\n modules: ['components-core:LoadingButton', 'components-core:ConfirmButton', 'components-core:Global@usePreset']\n})(({ remoteModules, data, onSuccess, apis, options, getFormInner, ...props }) => {\n const [LoadingButton, ConfirmButton, usePreset] = remoteModules;\n const { ajax } = usePreset();\n const { message } = App.useApp();\n const CurrentButton = props.message || props.confirm ? ConfirmButton : LoadingButton;\n return (\n <CurrentButton\n {...merge({}, props, data.status === 'open' ? options.closeButtonProps : options.openButtonProps)}\n onClick={async () => {\n const { data: resData } = await ajax(\n typeof apis.setStatus === 'function'\n ? apis.setStatus({ data, options })\n : merge({}, apis.setStatus, {\n data: { id: data.id, status: data.status === 'open' ? 'closed' : 'open' }\n })\n );\n if (resData.code !== 0) {\n return;\n }\n message.success(`修改${options.bizName}成功`);\n onSuccess && onSuccess();\n }}\n />\n );\n});\n\nexport default SetStatus;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport merge from 'lodash/merge';\nimport { App } from 'antd';\n\nconst Remove = createWithRemoteLoader({\n modules: ['components-core:LoadingButton', 'components-core:ConfirmButton', 'components-core:Global@usePreset']\n})(({ remoteModules, data, onSuccess, apis, options, getFormInner, ...props }) => {\n const [LoadingButton, ConfirmButton, usePreset] = remoteModules;\n const { ajax } = usePreset();\n const { message } = App.useApp();\n const CurrentButton = props.message || props.confirm ? ConfirmButton : LoadingButton;\n return (\n <CurrentButton\n {...Object.assign({}, props, options.removeButtonProps)}\n onClick={async () => {\n const { data: resData } = await ajax(\n typeof apis.remove === 'function'\n ? apis.remove({ data, options })\n : merge({}, apis.remove, {\n data: { id: data.id }\n })\n );\n if (resData.code !== 0) {\n return;\n }\n message.success(`删除${options.bizName}成功`);\n onSuccess && onSuccess();\n }}\n />\n );\n});\n\nexport default Remove;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport Edit from './Edit';\nimport SetStatus from './SetStatus';\nimport Remove from './Remove';\n\nconst Actions = createWithRemoteLoader({\n modules: ['components-core:ButtonGroup']\n})(({ remoteModules, moreType, children, itemClassName, getActionList, getFormInner, data, apis, onSuccess, options, ...otherProps }) => {\n const [ButtonGroup] = remoteModules;\n const actionList = [];\n\n const props = {\n ...otherProps,\n data,\n apis,\n onSuccess,\n options,\n getFormInner\n };\n\n const otherActionList = typeof getActionList === 'function' ? getActionList(props) : [];\n\n if (props.apis.save) {\n actionList.push({\n ...props,\n name: 'save',\n buttonComponent: Edit\n });\n }\n\n if (props.apis.setStatus) {\n actionList.push(\n {\n ...props,\n name: 'setStatusOpen',\n buttonComponent: SetStatus,\n hidden: props.data?.status === 'open'\n },\n {\n ...props,\n name: 'setStatusClose',\n buttonComponent: SetStatus,\n hidden: props.data?.status === 'closed',\n message: props.options?.closeMessage || `确定要关闭${props.options?.bizName}吗?`,\n isDelete: false\n }\n );\n }\n\n if (props.apis.remove) {\n actionList.push({\n ...props,\n name: 'remove',\n buttonComponent: Remove,\n message: props.options?.removeMessage || `确定要删除${props.options?.bizName}吗?`\n });\n }\n\n if (Array.isArray(otherActionList) && otherActionList.length > 0) {\n otherActionList.forEach(({ index, ...item }) => {\n if (item.name) {\n const existItem = actionList.find(target => target.name === item.name);\n if (existItem) {\n Object.assign(existItem, item);\n return;\n }\n }\n item.buttonComponent && actionList.splice(item.index || 0, 0, item);\n });\n }\n\n if (typeof children === 'function') {\n return children({\n itemClassName,\n moreType,\n list: actionList\n });\n }\n return <ButtonGroup itemClassName={itemClassName} list={actionList} moreType={moreType} />;\n});\n\nexport default Actions;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Button, App } from 'antd';\nimport merge from 'lodash/merge';\n\nconst Create = createWithRemoteLoader({\n modules: ['components-core:FormInfo@useFormModal', 'components-core:Global@usePreset']\n})(({ remoteModules, apis, onSuccess, getFormInner, data, options, ...props }) => {\n const [useFormModal, usePreset] = remoteModules;\n const formModal = useFormModal();\n const { ajax } = usePreset();\n const { message } = App.useApp();\n return (\n <Button\n {...Object.assign({}, props, options.createButtonProps)}\n onClick={() => {\n formModal(\n merge(\n {},\n {\n title: `添加${options.bizName}`,\n size: 'small',\n formProps: {\n onSubmit: async formData => {\n const { data: resData } = await ajax(\n typeof apis.create === 'function'\n ? apis.create({ formData, data, options })\n : merge({}, apis.create, {\n data: formData\n })\n );\n if (resData.code !== 0) {\n return false;\n }\n message.success(`添加${options.bizName}成功`);\n onSuccess && onSuccess();\n }\n },\n children: getFormInner({ apis, action: 'create', options })\n },\n options.formModalProps,\n options.createFormModalProps\n )\n );\n }}\n />\n );\n});\n\nexport default Create;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { useRef, useState } from 'react';\nimport { Flex } from 'antd';\nimport merge from 'lodash/merge';\nimport Actions from './Actions';\nimport Create from './Actions/Create';\n\nconst BizUnit = createWithRemoteLoader({\n modules: ['components-core:Table@TablePage', 'components-core:Filter']\n})(({\n remoteModules,\n topOptionsSize,\n apis = {},\n name,\n children,\n getColumns,\n getFormInner,\n filterList = [],\n getActionList,\n allowKeywordSearch = true,\n options\n}) => {\n options = merge(\n {},\n {\n bizName: '',\n createButtonProps: {\n children: '添加',\n type: 'primary'\n },\n editButtonProps: {\n children: '编辑'\n },\n removeButtonProps: {\n children: '删除'\n },\n openButtonProps: {\n children: '开启'\n },\n closeButtonProps: {\n children: '关闭'\n },\n tableProps: {\n pagination: { paramsType: 'params' }\n }\n },\n options\n );\n const [TablePage, Filter] = remoteModules;\n const ref = useRef();\n const { SearchInput, getFilterValue } = Filter;\n const [filter, setFilter] = useState([]);\n const filterValue = getFilterValue(filter);\n const topOptions = (\n <Flex gap={8}>\n {allowKeywordSearch && <SearchInput size={topOptionsSize} name=\"keyword\" label=\"关键字\" />}\n {apis.create && (\n <Create\n getFormInner={getFormInner}\n apis={apis}\n options={options}\n onSuccess={() => {\n tableOptions.ref.current.reload();\n }}\n />\n )}\n </Flex>\n );\n const tableOptions = merge(\n {},\n options.tableProps,\n merge({}, apis.list, {\n params: {\n filter: filterValue\n }\n }),\n {\n ref,\n columns: [\n ...getColumns(),\n {\n name: 'options',\n type: 'options',\n title: '操作',\n fixed: 'right',\n valueOf: item => {\n return {\n children: (\n <Actions\n moreType=\"link\"\n data={item}\n apis={apis}\n options={options}\n getActionList={getActionList}\n getFormInner={getFormInner}\n onSuccess={() => {\n tableOptions.ref.current.reload();\n }}\n />\n )\n };\n }\n }\n ],\n name\n }\n );\n\n if (typeof children === 'function') {\n return children({\n filter,\n topOptions,\n tableOptions\n });\n }\n return (\n <Flex vertical gap={8}>\n <Filter value={filter} onChange={setFilter} extra={topOptions} list={filterList} />\n <TablePage {...tableOptions} />\n </Flex>\n );\n});\n\nexport default BizUnit;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport CompanyInfo from '../CompanyInfo';\nimport Fetch from '@kne/react-fetch';\nimport { App } from 'antd';\n\nconst Company = createWithRemoteLoader({\n modules: ['components-core:Layout@Page', 'components-core:Global@usePreset']\n})(({ remoteModules, menu }) => {\n const [Page, usePreset] = remoteModules;\n const { ajax, apis } = usePreset();\n const { message } = App.useApp();\n return (\n <Page menu={menu} title=\"公司信息\">\n <Fetch\n {...Object.assign({}, apis.tenant.companyDetail)}\n render={({ data, reload }) => {\n return (\n <CompanyInfo\n data={data}\n onSubmit={async formData => {\n const { data: resData } = await ajax(\n Object.assign({}, apis.tenant.companySave, {\n data: Object.assign({}, formData)\n })\n );\n if (resData.code !== 0) {\n return false;\n }\n message.success('公司信息保存成功');\n reload();\n }}\n />\n );\n }}\n />\n </Page>\n );\n});\n\nexport default Company;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport OrgInfo from '../OrgInfo';\nimport Fetch from '@kne/react-fetch';\n\nconst Org = createWithRemoteLoader({\n modules: ['components-core:Layout@Page', 'components-core:Global@usePreset', 'components-core:Global@useGlobalContext']\n})(({ remoteModules, menu }) => {\n const [Page, usePreset, useGlobalContext] = remoteModules;\n const { apis } = usePreset();\n const { global } = useGlobalContext('userInfo');\n return (\n <Page title=\"组织架构\" menu={menu}>\n <Fetch\n {...Object.assign({}, apis.tenant.orgList)}\n render={({ data, reload }) => {\n return (\n <OrgInfo\n data={data}\n companyName={global.tenant?.tenantCompany?.name || global.tenant.name}\n onSuccess={reload}\n apis={{\n create: Object.assign({}, apis.tenant.orgCreate),\n save: Object.assign({}, apis.tenant.orgSave),\n remove: Object.assign({}, apis.tenant.orgRemove)\n }}\n />\n );\n }}\n />\n </Page>\n );\n});\n\nexport default Org;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport UserList from '../UserList';\n\nconst Org = createWithRemoteLoader({\n modules: ['components-core:Layout@Page', 'components-core:Global@usePreset']\n})(({ remoteModules, menu }) => {\n const [Page, usePreset] = remoteModules;\n const { apis } = usePreset();\n return (\n <Page title=\"用户管理\" menu={menu}>\n <UserList\n apis={{\n list: Object.assign({}, apis.tenant.userList),\n orgList: Object.assign({}, apis.tenant.orgList),\n create: Object.assign({}, apis.tenant.userCreate),\n save: Object.assign({}, apis.tenant.userSave),\n remove: Object.assign({}, apis.tenant.userRemove),\n setStatus: Object.assign({}, apis.tenant.userSetStatus),\n inviteToken: Object.assign({}, apis.tenant.userInviteToken),\n userInviteMessage: Object.assign({}, apis.tenant.userInviteMessage)\n }}\n />\n </Page>\n );\n});\n\nexport default Org;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Routes, Route, Navigate } from 'react-router-dom';\nimport AppChildrenRouter from '@kne/app-children-router';\nimport Company from './Company';\nimport Org from './Org';\nimport User from './User';\n\nconst Setting = createWithRemoteLoader({\n modules: ['components-core:Global@usePreset', 'components-core:Layout@Menu']\n})(({ remoteModules, baseUrl: originalBaseUrl }) => {\n const baseUrl = `${originalBaseUrl}/setting`;\n const [usePreset, Menu] = remoteModules;\n const { apis } = usePreset();\n const menu = (\n <Menu\n items={[\n { key: 'company', label: '公司信息', path: `${baseUrl}/company` },\n {\n key: 'org',\n label: '组织架构',\n path: `${baseUrl}/org`\n },\n {\n key: 'user',\n label: '用户管理',\n path: `${baseUrl}/user`\n }\n ]}\n />\n );\n\n return (\n <AppChildrenRouter\n baseUrl={`${baseUrl}`}\n list={[\n {\n index: true,\n element: <Navigate to={`${baseUrl}/company`} replace />\n },\n {\n path: 'company',\n element: <Company menu={menu} />\n },\n {\n path: 'org',\n element: <Org menu={menu} />\n },\n {\n path: 'user',\n element: <User menu={menu} />\n }\n ]}\n />\n );\n});\n\nexport default Setting;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\n\nconst FormInner = createWithRemoteLoader({\n modules: ['components-core:FormInfo']\n})(({ remoteModules }) => {\n const [FormInfo] = remoteModules;\n const { Input, TextArea } = FormInfo.fields;\n return (\n <FormInfo\n column={1}\n list={[<Input name=\"name\" label=\"名称\" rule=\"REQ LEN-0-100\" />, <TextArea name=\"description\" label=\"描述\" rule=\"LEN-0-500\" />]}\n />\n );\n});\n\nexport default FormInner;\n","// extracted by mini-css-extract-plugin\nexport default {\"org\":\"style_org__F6NDb__koOjQ\",\"tree-node-options\":\"style_tree-node-options__oHvxz__koOjQ\",\"tree-node\":\"style_tree-node__NlDNF__koOjQ\",\"tree-node-title\":\"style_tree-node-title__yDu+R__koOjQ\",\"tree-node-description\":\"style_tree-node-description__d6Phe__koOjQ\",\"org-chart-outer\":\"style_org-chart-outer__t8hrr__koOjQ\",\"org-chart\":\"style_org-chart__iY4lN__koOjQ\",\"org-card\":\"style_org-card__s9taG__koOjQ\",\"org-btn\":\"style_org-btn__W2aUe__koOjQ\"};","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Flex, Tree, App, Card, Button } from 'antd';\nimport { useEffect, useMemo, useState } from 'react';\nimport OrgChart from '@kne/react-org-chart';\nimport merge from 'lodash/merge';\nimport { PlusCircleOutlined, MinusCircleOutlined } from '@ant-design/icons';\nimport FormInner from './FormInner';\nimport style from './style.module.scss';\nimport '@kne/react-org-chart/dist/index.css';\n\nconst OrgOptions = createWithRemoteLoader({\n modules: ['components-core:Global@usePreset', 'components-core:ButtonGroup', 'components-core:Icon', 'components-core:FormInfo@useFormModal']\n})(({ remoteModules, showLength = 3, data, apis, onSuccess }) => {\n const [usePreset, ButtonGroup, Icon, useFormModal] = remoteModules;\n const { ajax } = usePreset();\n const formModal = useFormModal();\n const { message } = App.useApp();\n return (\n <ButtonGroup\n itemClassName=\"btn-no-padding\"\n moreType=\"link\"\n list={[\n {\n icon: <Icon type=\"tianjia\" />,\n type: 'link',\n children: '新增子级组织',\n onClick: async () => {\n formModal({\n title: '新增子级组织',\n size: 'small',\n formProps: {\n onSubmit: async formData => {\n const { data: resData } = await ajax(\n merge({}, apis.create, {\n data: Object.assign(\n {},\n formData,\n data.id && data.id !== 'root'\n ? {\n parentId: data.id\n }\n : {}\n )\n })\n );\n if (resData.code !== 0) {\n return false;\n }\n message.success('添加成功');\n onSuccess && onSuccess();\n }\n },\n children: <FormInner />\n });\n }\n },\n {\n icon: <Icon type=\"bianji\" />,\n type: 'link',\n children: '编辑',\n hidden: !(data.id && data.id !== 'root'),\n onClick: async () => {\n formModal({\n title: '编辑组织节点',\n size: 'small',\n formProps: {\n data: Object.assign({}, data),\n onSubmit: async formData => {\n const { data: resData } = await ajax(\n merge({}, apis.save, {\n data: Object.assign({}, formData, {\n parentId: data.parentId,\n id: data.id\n })\n })\n );\n if (resData.code !== 0) {\n return false;\n }\n message.success('保存成功');\n onSuccess && onSuccess();\n }\n },\n children: <FormInner />\n });\n }\n },\n {\n icon: <Icon type=\"shanchu\" />,\n type: 'link',\n children: '删除',\n hidden: !(data.id && data.id !== 'root'),\n confirm: true,\n disabled: data.children && data.children.length > 0,\n onClick: async () => {\n const { data: resData } = await ajax(\n merge({}, apis.remove, {\n data: { id: data.id }\n })\n );\n if (resData.code !== 0) {\n return;\n }\n message.success('删除成功');\n onSuccess && onSuccess();\n }\n }\n ]}\n />\n );\n});\n\nconst GraphOrg = createWithRemoteLoader({\n modules: ['components-core:Common@SimpleBar']\n})(({ remoteModules, data, apis, onSuccess }) => {\n const [SimpleBar] = remoteModules;\n const [expandIds, setExpandIds] = useState([]);\n const renderNode = data => {\n return data.map(node => {\n const card = (\n <Card type=\"inner\" hoverable size=\"small\" className={style['org-card']} extra={<OrgOptions data={node} apis={apis} onSuccess={onSuccess} showLength={0} />}>\n <div className={style['tree-node-title']}>{node.name}</div>\n <div className={style['tree-node-description']}>{node.description}</div>\n {node.children && node.children.length > 0 && (\n <Button\n icon={expandIds.indexOf(node.id) === -1 ? <MinusCircleOutlined /> : <PlusCircleOutlined />}\n shape=\"circle\"\n size=\"small\"\n type=\"link\"\n className={style['org-btn']}\n onClick={() => {\n setExpandIds(expandIds => {\n const newExpandIds = expandIds.slice(0);\n const index = expandIds.indexOf(node.id);\n if (index === -1) {\n newExpandIds.push(node.id);\n } else {\n newExpandIds.splice(index, 1);\n }\n return newExpandIds;\n });\n }}\n />\n )}\n </Card>\n );\n if (node.id === 'root') {\n return (\n <OrgChart className={style['org-chart']} key={node.id} label={card}>\n {renderNode(expandIds.indexOf(node.id) === -1 ? node.children : [])}\n </OrgChart>\n );\n }\n return (\n <OrgChart.Node key={node.id} label={card}>\n {renderNode(expandIds.indexOf(node.id) === -1 ? node.children : [])}\n </OrgChart.Node>\n );\n });\n };\n return (\n <SimpleBar className={style['org-chart-outer']} autoHide={false}>\n {renderNode(data)}\n </SimpleBar>\n );\n});\n\nconst TreeOrg = ({ data, ids, apis, onSuccess }) => {\n const [expandedKeys, setExpandedKeys] = useState(['root']);\n useEffect(() => {\n ids && ids.length > 0 && setExpandedKeys(['root', ...ids]);\n }, [ids]);\n return (\n <Tree\n showLine\n showIcon\n selectable={false}\n expandedKeys={expandedKeys}\n fieldNames={{ title: 'name', key: 'id', children: 'children' }}\n treeData={data}\n onExpand={expandedKeys => {\n setExpandedKeys(expandedKeys);\n }}\n titleRender={nodeData => {\n return (\n <Flex vertical className={style['tree-node']}>\n <Flex gap={36}>\n <span className={style['tree-node-title']}>{nodeData.name}</span>\n <span className={style['tree-node-options']}>\n <OrgOptions data={nodeData} apis={apis} onSuccess={onSuccess} />\n </span>\n </Flex>\n <div className={style['tree-node-description']}>{nodeData.description}</div>\n </Flex>\n );\n }}\n />\n );\n};\n\nconst OrgInfo = createWithRemoteLoader({\n modules: ['components-core:StateBar']\n})(({ remoteModules, data, companyName, apis, onSuccess }) => {\n const [StateBar] = remoteModules;\n const [activeKey, setActiveKey] = useState('tree');\n const { treeData, ids } = useMemo(() => {\n const output = [\n {\n id: 'root',\n name: companyName || '未命名公司'\n }\n ];\n\n const parseTree = output => {\n return output.map(node => {\n const children = data.filter(item => {\n if (node.id === 'root') {\n return !item.parentId;\n }\n return item.parentId === node.id;\n });\n return Object.assign({}, node, { children: parseTree(children) });\n });\n };\n\n return {\n treeData: parseTree(output),\n ids: data.map(item => item.id)\n };\n }, [data, companyName]);\n return (\n <Flex vertical>\n <StateBar\n activeKey={activeKey}\n onChange={setActiveKey}\n type=\"radio\"\n stateOption={[\n { tab: '树形', key: 'tree' },\n { tab: '图形', key: 'graph' }\n ]}\n />\n <div className={style['org']}>\n {activeKey === 'tree' && <TreeOrg ids={ids} data={treeData} apis={apis} onSuccess={onSuccess} />}\n {activeKey === 'graph' && <GraphOrg ids={ids} data={treeData} apis={apis} onSuccess={onSuccess} />}\n </div>\n </Flex>\n );\n});\n\nexport default OrgInfo;\n","// extracted by mini-css-extract-plugin\nexport default {\"card\":\"style_card__DgzMi__koOjQ\",\"tenant-item\":\"style_tenant-item__zITH1__koOjQ\",\"is-selected\":\"style_is-selected__eJNP7__koOjQ\",\"tenant-avatar\":\"style_tenant-avatar__Nbj8h__koOjQ\"};","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Card, List, Flex, Button, App, Badge } from 'antd';\nimport Fetch from '@kne/react-fetch';\nimport { useState } from 'react';\nimport classnames from 'classnames';\nimport style from './style.module.scss';\n\nconst SelectTenant = createWithRemoteLoader({\n modules: ['components-core:Global@usePreset', 'components-core:Image', 'components-core:InfoPage@SplitLine', 'components-core:Icon']\n})(({ remoteModules, tenantPath }) => {\n const [usePreset, Image, SplitLine, Icon] = remoteModules;\n const { apis, ajax } = usePreset();\n const { message } = App.useApp();\n const [loading, setLoading] = useState(false);\n return (\n <Card title=\"选择登录租户\">\n <Fetch\n {...Object.assign({}, apis.tenant.availableList)}\n render={({ data, reload }) => {\n return (\n <Flex vertical gap={60}>\n <List\n loading={loading}\n dataSource={data.list}\n renderItem={item => {\n const itemInner = (\n <List.Item.Meta\n avatar={<Image id={item.tenant?.tenantCompany?.logo || item.tenant?.logo} className={style['tenant-avatar']} />}\n title={item.tenant?.tenantCompany?.name}\n description={\n <SplitLine\n dataSource={item}\n columns={[\n {\n name: 'name',\n title: '姓名'\n },\n {\n name: 'tenantOrg.name',\n title: '所属部门'\n }\n ]}\n />\n }\n />\n );\n const isSelected = item.tenantId === data.defaultTenantId;\n return (\n <List.Item\n key={item.id}\n onClick={async () => {\n if (isSelected) {\n return;\n }\n setLoading(true);\n const { data: resData } = await ajax(\n Object.assign({}, apis.tenant.switchDefaultTenant, {\n data: { tenantId: item.tenantId }\n })\n );\n if (resData.code !== 0) {\n setLoading(false);\n return;\n }\n message.success('切换默认租户成功');\n reload();\n setLoading(false);\n }}\n className={classnames(style['tenant-item'], {\n [style['is-selected']]: isSelected\n })}\n >\n {isSelected ? <Badge.Ribbon text=\"当前租户\">{itemInner}</Badge.Ribbon> : itemInner}\n </List.Item>\n );\n }}\n />\n {data.list.length > 0 && (\n <Flex justify=\"center\">\n <Button\n type=\"primary\"\n size=\"large\"\n onClick={() => {\n window.location.href = tenantPath;\n }}\n >\n 进入租户\n <Icon type=\"fasongduihua\" />\n </Button>\n </Flex>\n )}\n </Flex>\n );\n }}\n />\n </Card>\n );\n});\n\nexport default SelectTenant;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport SelectTenant from './SelectTenant';\nimport style from './style.module.scss';\n\nconst LoginTenant = createWithRemoteLoader({\n modules: ['components-core:Layout@Page']\n})(({ remoteModules, ...props }) => {\n const [Page] = remoteModules;\n return (\n <Page backgroundColor=\"transparent\">\n <div className={style['card']}>\n <SelectTenant {...props} />\n </div>\n </Page>\n );\n});\n\nexport default LoginTenant;\n\nexport { SelectTenant };\n","const getColumns = () => {\n return [\n {\n name: 'id',\n title: 'ID',\n type: 'serialNumber',\n primary: false,\n hover: false\n },\n {\n name: 'avatar',\n title: '头像',\n type: 'avatar',\n valueOf: (item, { name }) => Object.assign({}, { id: item[name] })\n },\n {\n name: 'name',\n title: '姓名',\n type: 'mainInfo',\n primary: false,\n hover: false\n },\n {\n name: 'phone',\n title: '电话',\n type: 'other'\n },\n {\n name: 'email',\n title: '邮箱',\n type: 'other'\n },\n {\n name: 'tenantOrg',\n title: '部门',\n valueOf: item => {\n return item.tenantOrg?.name;\n }\n },\n {\n name: 'description',\n type: 'description',\n title: '描述',\n ellipsis: true\n }\n ];\n};\n\nexport default getColumns;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Flex } from 'antd';\n\nconst FormInner = createWithRemoteLoader({\n modules: ['components-core:FormInfo']\n})(({ remoteModules, apis }) => {\n const [FormInfo] = remoteModules;\n const { Avatar, Input, PhoneNumber, TextArea, SuperSelectTree } = FormInfo.fields;\n return (\n <FormInfo\n column={1}\n list={[\n <Flex justify=\"center\">\n <Avatar name=\"avatar\" label=\"头像\" labelHidden interceptor=\"photo-string\" />\n </Flex>,\n <Input name=\"name\" label=\"姓名\" rule=\"REQ LEN-0-100\" />,\n <SuperSelectTree name=\"tenantOrgId\" label=\"部门\" api={apis.orgList} valueKey=\"id\" labelKey=\"name\" single interceptor=\"object-output-value\" />,\n <PhoneNumber name=\"phone\" label=\"手机\" format=\"string\" />,\n <Input name=\"email\" label=\"邮箱\" rule=\"EMAIL LEN-0-100\" />,\n <TextArea name=\"description\" label=\"描述\" block />\n ]}\n />\n );\n});\n\nexport default FormInner;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Button, App } from 'antd';\nimport FormInner from '../FormInner';\nimport merge from 'lodash/merge';\n\nconst Edit = createWithRemoteLoader({\n modules: ['components-core:FormInfo@useFormModal', 'components-core:Global@usePreset']\n})(({ remoteModules, apis, onSuccess, data, ...props }) => {\n const [useFormModal, usePreset] = remoteModules;\n const formModal = useFormModal();\n const { ajax } = usePreset();\n const { message } = App.useApp();\n\n return (\n <Button\n {...props}\n onClick={() => {\n formModal({\n title: '编辑用户',\n size: 'small',\n formProps: {\n data: Object.assign({}, data, {\n tenantOrgId: data.tenantOrg\n ? {\n id: data.tenantOrg.id,\n name: data.tenantOrg.name\n }\n : null\n }),\n onSubmit: async formData => {\n const { data: resData } = await ajax(\n merge({}, apis.save, {\n data: Object.assign({}, formData, { id: data.id })\n })\n );\n\n if (resData.code !== 0) {\n return false;\n }\n\n message.success('保存成功');\n onSuccess && onSuccess();\n }\n },\n children: <FormInner apis={apis} />\n });\n }}\n />\n );\n});\n\nexport default Edit;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport merge from 'lodash/merge';\nimport { App } from 'antd';\n\nconst SetStatus = createWithRemoteLoader({\n modules: ['components-core:LoadingButton', 'components-core:ConfirmButton', 'components-core:Global@usePreset']\n})(({ remoteModules, data, onSuccess, apis, ...props }) => {\n const [LoadingButton, ConfirmButton, usePreset] = remoteModules;\n const { ajax } = usePreset();\n const { message } = App.useApp();\n const CurrentButton = props.message || props.confirm ? ConfirmButton : LoadingButton;\n return (\n <CurrentButton\n {...props}\n onClick={async () => {\n const { data: resData } = await ajax(\n merge({}, apis.setStatus, {\n data: { id: data.id, status: data.status === 'open' ? 'closed' : 'open' }\n })\n );\n if (resData.code !== 0) {\n return;\n }\n message.success('修改成功');\n onSuccess && onSuccess();\n }}\n />\n );\n});\n\nexport default SetStatus;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport merge from 'lodash/merge';\nimport { Flex, App } from 'antd';\n\nconst Invite = createWithRemoteLoader({\n modules: ['components-core:LoadingButton', 'components-core:Modal@useModal', 'components-core:Global@usePreset', 'components-core:InfoPage@CentralContent']\n})(({ remoteModules, data, apis, onSuccess, ...props }) => {\n const [LoadingButton, useModal, usePreset, CentralContent] = remoteModules;\n const { ajax } = usePreset();\n const modal = useModal();\n const { message } = App.useApp();\n return (\n <LoadingButton\n {...props}\n onClick={async () => {\n const { data: resData } = await ajax(\n merge({}, apis.inviteToken, {\n params: { id: data.id }\n })\n );\n if (resData.code !== 0) {\n return;\n }\n modal({\n title: '邀请用户',\n footer: null,\n children: (\n <Flex vertical gap={40}>\n <Flex flex={1}>\n <CentralContent\n dataSource={Object.assign({}, data, {\n token: resData.data.token\n })}\n columns={[\n {\n name: 'id',\n title: 'ID'\n },\n {\n name: 'name',\n title: '姓名'\n },\n {\n name: 'token',\n title: '邀请链接',\n block: true,\n render: value => {\n return `${window.location.origin}/join-tenant?token=${value}`;\n }\n }\n ]}\n />\n </Flex>\n <Flex gap={8} justify=\"center\">\n <LoadingButton\n type=\"primary\"\n onClick={async () => {\n const { data: resData } = await ajax(\n merge({}, apis.userInviteMessage, {\n data: { id: data.id }\n })\n );\n if (resData.code !== 0) {\n return;\n }\n message.success('发送成功');\n }}\n >\n 发送邀请邮件\n </LoadingButton>\n <LoadingButton\n onClick={async () => {\n await navigator.clipboard.writeText(`${window.location.origin}/join-tenant?token=${resData.data.token}`);\n message.success('复制成功');\n }}\n >\n 复制邀请链接\n </LoadingButton>\n </Flex>\n </Flex>\n )\n });\n }}\n />\n );\n});\n\nexport default Invite;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport merge from 'lodash/merge';\nimport { App } from 'antd';\n\nconst Remove = createWithRemoteLoader({\n modules: ['components-core:LoadingButton', 'components-core:ConfirmButton', 'components-core:Global@usePreset']\n})(({ remoteModules, data, onSuccess, apis, ...props }) => {\n const [LoadingButton, ConfirmButton, usePreset] = remoteModules;\n const { ajax } = usePreset();\n const { message } = App.useApp();\n const CurrentButton = props.message || props.confirm ? ConfirmButton : LoadingButton;\n return (\n <CurrentButton\n {...props}\n onClick={async () => {\n const { data: resData } = await ajax(\n merge({}, apis.remove, {\n data: { id: data.id }\n })\n );\n if (resData.code !== 0) {\n return;\n }\n message.success('删除成功');\n onSuccess && onSuccess();\n }}\n />\n );\n});\n\nexport default Remove;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport Edit from './Edit';\nimport SetStatus from './SetStatus';\nimport Invite from './Invite';\nimport Remove from './Remove';\n\nconst Actions = createWithRemoteLoader({\n modules: ['components-core:ButtonGroup']\n})(({ remoteModules, moreType, children, itemClassName, ...props }) => {\n const [ButtonGroup] = remoteModules;\n const actionList = [\n {\n ...props,\n children: '编辑',\n buttonComponent: Edit\n },\n {\n ...props,\n children: '邀请',\n buttonComponent: Invite,\n hidden: props.data?.userId\n },\n {\n ...props,\n children: '开启',\n buttonComponent: SetStatus,\n hidden: props.data?.status === 'open'\n },\n {\n ...props,\n children: '关闭',\n buttonComponent: SetStatus,\n hidden: props.data?.status === 'closed',\n message: '确定要关闭用户吗?关闭后他将不能使用当前租户',\n isDelete: false\n },\n {\n ...props,\n children: '删除',\n buttonComponent: Remove,\n message: '确定要删除用户吗?删除后他将不能使用当前租户'\n }\n ];\n\n if (typeof children === 'function') {\n return children({\n itemClassName,\n moreType,\n list: actionList\n });\n }\n\n return <ButtonGroup itemClassName={itemClassName} list={actionList} moreType={moreType} />;\n});\n\nexport default Actions;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Button, App } from 'antd';\nimport merge from 'lodash/merge';\nimport FormInner from '../FormInner';\n\nconst Create = createWithRemoteLoader({\n modules: ['components-core:FormInfo@useFormModal', 'components-core:Global@usePreset']\n})(({ remoteModules, apis, onSuccess, ...props }) => {\n const [useFormModal, usePreset] = remoteModules;\n const formModal = useFormModal();\n const { ajax } = usePreset();\n const { message } = App.useApp();\n return (\n <Button\n {...props}\n onClick={() => {\n formModal({\n title: '添加用户',\n size: 'small',\n formProps: {\n onSubmit: async formData => {\n const { data: resData } = await ajax(\n merge({}, apis.create, {\n data: formData\n })\n );\n if (resData.code !== 0) {\n return false;\n }\n message.success('添加成功');\n onSuccess && onSuccess();\n }\n },\n children: <FormInner apis={apis} />\n });\n }}\n />\n );\n});\n\nexport default Create;\n","// extracted by mini-css-extract-plugin\nexport default {\"card\":\"style_card__CJL+p__koOjQ\",\"avatar\":\"style_avatar__GrE8R__koOjQ\"};","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Card, Typography } from 'antd';\nimport style from './style.module.scss';\n\nconst { Title, Paragraph } = Typography;\n\nconst UserCard = createWithRemoteLoader({\n modules: ['components-core:Image', 'components-core:InfoPage@SplitLine']\n})(({ remoteModules, data }) => {\n const [Image, SplitLine] = remoteModules;\n\n return (\n <Card className={style['card']}>\n <div className={style['avatar']}>\n <Image.Avatar size={100} id={data.avatar} />\n </div>\n <Title level={4}>{data.name}</Title>\n {data.tenantOrg && (\n <Title level={5} type=\"secondary\">\n {data.tenantOrg.name}\n </Title>\n )}\n <SplitLine\n dataSource={data}\n columns={[\n {\n name: 'phone',\n title: '手机号'\n },\n {\n name: 'email',\n title: '邮箱'\n }\n ]}\n />\n <Paragraph>{data.description}</Paragraph>\n </Card>\n );\n});\n\nexport default UserCard;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { useState, useRef } from 'react';\nimport merge from 'lodash/merge';\nimport { Flex, Button } from 'antd';\nimport getColumns from './getColumns';\nimport Actions from './Actions';\nimport Create from './Actions/Create';\n\nconst UserList = createWithRemoteLoader({\n modules: ['components-core:Table@TablePage', 'components-core:Filter']\n})(({ remoteModules, apis, topOptionsSize, children }) => {\n const [TablePage, Filter] = remoteModules;\n const ref = useRef();\n const { SearchInput, FilterProvider, getFilterValue } = Filter;\n const [filter, setFilter] = useState([]);\n const filterValue = getFilterValue(filter);\n const topOptions = (\n <Flex gap={8}>\n <SearchInput size={topOptionsSize} name=\"keyword\" label=\"关键字\" />\n <Create\n type=\"primary\"\n size={topOptionsSize}\n apis={apis}\n onSuccess={() => {\n ref.current.reload();\n }}\n >\n 添加\n </Create>\n </Flex>\n );\n\n const tableOptions = {\n ...merge({}, apis.list, {\n params: {\n filter: filterValue\n }\n }),\n ref,\n columns: [\n ...getColumns(),\n {\n name: 'options',\n type: 'options',\n title: '操作',\n fixed: 'right',\n valueOf: item => {\n return {\n children: (\n <Actions\n itemClassName=\"btn-no-padding\"\n moreType=\"link\"\n data={item}\n apis={apis}\n onSuccess={() => {\n ref.current.reload();\n }}\n />\n )\n };\n }\n }\n ],\n name: 'tenant-user-list',\n pagination: { paramsType: 'params' }\n };\n\n if (typeof children === 'function') {\n return children({\n filter,\n topOptions,\n tableOptions\n });\n }\n\n return (\n <Flex vertical gap={8}>\n <Flex justify=\"space-between\">\n <div></div>\n <FilterProvider value={filter} onChange={setFilter}>\n {topOptions}\n </FilterProvider>\n </Flex>\n <TablePage {...tableOptions} />\n </Flex>\n );\n});\n\nexport default UserList;\n\nexport { default as UserCard } from './UserCard';\n","const getColumns = () => {\n return [\n {\n name: 'id',\n title: 'ID',\n type: 'serialNumber',\n primary: false,\n hover: false\n },\n {\n name: 'name',\n title: '角色名称',\n type: 'mainInfo',\n primary: false,\n hover: false\n },\n {\n name: 'type',\n title: '类型',\n type: 'tag',\n valueOf: ({ type }) => {\n return type === 'system'\n ? {\n type: 'default',\n text: '系统'\n }\n : {\n type: 'info',\n text: '自定义'\n };\n }\n },\n {\n name: 'code',\n title: '角色编码'\n },\n {\n name: 'description',\n title: '描述',\n type: 'description',\n ellipsis: true\n }\n ];\n};\n\nexport default getColumns;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\n\nconst FormInner = createWithRemoteLoader({\n modules: ['components-core:FormInfo']\n})(({ remoteModules, action, ...props }) => {\n const [FormInfo] = remoteModules;\n const { Input, TextArea } = FormInfo.fields;\n return (\n <FormInfo\n column={1}\n list={[\n <Input name=\"name\" label=\"角色名称\" rule=\"REQ LEN-2-100\" />,\n <Input name=\"code\" label=\"角色编码\" rule=\"REQ LEN-2-100\" disabled={action === 'edit'} />,\n <TextArea name=\"description\" label=\"角色描述\" />\n ]}\n />\n );\n});\n\nexport default FormInner;\n","import BizUnit from '@components/BizUnit';\nimport getColumns from './getColumns';\nimport FormInner from './FormInner';\n\nconst Role = ({ apis }) => {\n return (\n <BizUnit\n apis={apis}\n getColumns={getColumns}\n getFormInner={props => {\n return <FormInner {...props} />;\n }}\n getActionList={({ data }) => {\n if (data.type === 'system') {\n return ['remove', 'setStatusOpen', 'setStatusClose', 'save'].map(name => {\n return { name, hidden: true };\n });\n }\n return [];\n }}\n name=\"role-list\"\n options={{\n bizName: '角色'\n }}\n />\n );\n};\n\nexport default Role;\n","// extracted by mini-css-extract-plugin\nexport default {\"tenant-permission\":\"style_tenant-permission__XoNlH__koOjQ\",\"modules-menu\":\"style_modules-menu__N5jU4__koOjQ\",\"permission-panel\":\"style_permission-panel__6A4F-__koOjQ\",\"permission-panel-checkbox\":\"style_permission-panel-checkbox__EwDbs__koOjQ\",\"permission-panel-col\":\"style_permission-panel-col__bkKe7__koOjQ\",\"empty\":\"style_empty__M27O1__koOjQ\",\"permission-panel-scroller\":\"style_permission-panel-scroller__Oa60Q__koOjQ\"};","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport useControlValue from '@kne/use-control-value';\nimport Fetch from '@kne/react-fetch';\nimport { Menu, Checkbox, Flex, Divider, Empty, Button } from 'antd';\nimport flattenPermissions from './flattenPermissions';\nimport { useState } from 'react';\nimport get from 'lodash/get';\nimport style from './style.module.scss';\n\nconst PermissionPanel = createWithRemoteLoader({\n modules: ['components-core:Common@SimpleBar']\n})(({ remoteModules, settings, ...props }) => {\n const [value, onChange] = useControlValue(props);\n const [SimpleBar] = remoteModules;\n const [currentList, setCurrentList] = useState([0]);\n const allPermission = flattenPermissions(settings).map(({ code }) => code);\n const onCheckedChange = ({ itemCode, checked, parentCodeList }) => {\n onChange(value => {\n if (checked) {\n return value.slice(0).concat(parentCodeList).concat(itemCode);\n } else {\n return value.slice(0).filter(item => item.indexOf(itemCode) !== 0);\n }\n });\n };\n const renderCol = ({\n code = '',\n parentCodeString = '',\n parentCodeList = [],\n modules,\n permissions,\n onActiveChange,\n currentIndex = 0,\n level = 0\n }) => {\n const valueCode = `${parentCodeString ? `${parentCodeString}:` : ''}${code}`;\n return (\n <>\n <Flex vertical className={style['permission-panel-col']} key={code || 'root'}>\n {modules && modules.length > 0 && (\n <Menu\n className={style['modules-menu']}\n selectedKeys={[modules[currentIndex].code]}\n onSelect={({ key }) => {\n const currentIndex = modules.findIndex(item => item.code === key);\n onActiveChange(currentIndex, level);\n }}\n items={modules.map(({ code, name }) => {\n const itemCode = `${valueCode ? `${valueCode}:` : ''}${code}`;\n const checked = value.indexOf(itemCode) > -1;\n const hasAllChildren = allPermission.filter(code => code.indexOf(itemCode) === 0).every(code => value.indexOf(code) > -1);\n return {\n key: code,\n label: (\n <Flex gap={8} align=\"center\" justify=\"space-between\">\n <Flex>\n <Checkbox\n checked={checked}\n onChange={e =>\n onCheckedChange({\n itemCode,\n checked: e.target.checked,\n parentCodeList: valueCode ? parentCodeList.concat(valueCode) : parentCodeList\n })\n }\n />\n <div>{name}</div>\n </Flex>\n {!hasAllChildren && (\n <Button\n type=\"link\"\n className=\"btn-no-padding\"\n onClick={() => {\n onChange(value => {\n const currentChildren = allPermission.filter(code => code.indexOf(itemCode) === 0 && value.indexOf(code) === -1);\n return value.slice(0).concat(currentChildren);\n });\n }}>\n 全选\n </Button>\n )}\n </Flex>\n )\n };\n })}\n />\n )}\n {modules && modules.length > 0 && permissions && permissions.length > 0 && <Divider />}\n {permissions && permissions.length > 0 && (\n <div className={style['permission-panel']}>\n {permissions.map(item => {\n const itemCode = `${valueCode ? `${valueCode}:` : ''}${item.code}`;\n return (\n <Checkbox\n key={item.code}\n checked={value.indexOf(itemCode) > -1}\n onChange={e =>\n onCheckedChange({\n itemCode,\n checked: e.target.checked,\n parentCodeList: valueCode ? parentCodeList.concat(valueCode) : parentCodeList\n })\n }>\n {item.name}\n </Checkbox>\n );\n })}\n </div>\n )}\n </Flex>\n {modules &&\n modules.length > 0 &&\n renderCol(\n Object.assign({}, get(modules, `[${currentIndex}]`), {\n currentIndex: currentList[level + 1] || 0,\n level: level + 1,\n parentCodeString: valueCode,\n parentCodeList: valueCode ? parentCodeList.concat(valueCode) : [],\n onActiveChange\n })\n )}\n {!(permissions && permissions.length > 0) && !(modules && modules.length > 0) && <Empty className={style['empty']} />}\n </>\n );\n };\n\n return (\n <SimpleBar className={style['permission-panel-scroller']}>\n <Flex className={style['permission-panel-wrapper']}>\n {renderCol(\n Object.assign({}, settings, {\n currentIndex: currentList[0] || 0,\n onActiveChange: (index, level) => {\n setCurrentList(currentList.slice(0, level).concat(index));\n }\n })\n )}\n </Flex>\n </SimpleBar>\n );\n});\n\nconst TenantPermission = createWithRemoteLoader({\n modules: ['components-core:Common@SimpleBar']\n})(({ remoteModules, apis, children }) => {\n const [SimpleBar] = remoteModules;\n\n const target = (\n <div className={style['tenant-permission']}>\n <Fetch\n {...Object.assign({}, apis.list)}\n render={({ data }) => {\n const { permissions, tenantPermissions } = data;\n return <PermissionPanel settings={permissions} defaultValue={tenantPermissions || []} />;\n }}\n />\n </div>\n );\n\n if (typeof children === 'function') {\n return children({\n children: target\n });\n }\n\n return target;\n});\n\nexport default TenantPermission;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { useState } from 'react';\nimport Role from '../Role';\nimport TenantPermission from '../TenantPermission';\n\nconst Permission = createWithRemoteLoader({\n modules: ['components-core:StateBar']\n})(({ remoteModules, apis, children }) => {\n const [StateBar] = remoteModules;\n const [activeKey, setActiveKey] = useState('tenant-permission');\n\n const stateBar = (\n <StateBar\n activeKey={activeKey}\n onChange={setActiveKey}\n type=\"radio\"\n stateOption={[\n { tab: '租户权限', key: 'tenant-permission' },\n { tab: '角色', key: 'role' },\n { tab: '共享组', key: 'sharedGroup' }\n ]}\n />\n );\n\n return (\n <>\n {typeof children === 'function' ? null : stateBar}\n {activeKey === 'tenant-permission' && (\n <TenantPermission apis={apis.permission}>\n {typeof children === 'function'\n ? props =>\n children(\n Object.assign({}, props, {\n stateBar\n })\n )\n : null}\n </TenantPermission>\n )}\n {activeKey === 'role' && (\n <Role apis={apis.role}>\n {typeof children === 'function'\n ? props =>\n children(\n Object.assign({}, props, {\n stateBar\n })\n )\n : null}\n </Role>\n )}\n {activeKey === 'sharedGroup' && '共享组'}\n </>\n );\n});\n\nexport default Permission;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport Fetch from '@kne/react-fetch';\nimport { App } from 'antd';\nimport dayjs from 'dayjs';\n\nconst TenantUserInfo = createWithRemoteLoader({\n modules: ['components-core:Global@SetGlobal', 'components-core:Global@usePreset']\n})(({ remoteModules, children }) => {\n const [SetGlobal, usePreset] = remoteModules;\n const { apis } = usePreset();\n const { notification } = App.useApp();\n return (\n <Fetch\n cache=\"tenant-user-info\"\n {...Object.assign({}, apis.tenant.getUserInfo)}\n render={({ data, reload }) => {\n const { serviceStartTime, serviceEndTime } = data.tenant;\n if (!(dayjs().isAfter(dayjs(serviceStartTime)) && dayjs().isBefore(dayjs(serviceEndTime).endOf('day')))) {\n notification.warning({\n message: '重要通知',\n description: `您的系统服务期限为${dayjs(serviceStartTime).format('YYYY-MM-DD')}~${dayjs(serviceEndTime).format('YYYY-MM-DD')},请联系管理员,超出服务期限系统可能会被禁用,目前暂时不影响使用`\n });\n }\n return (\n <>\n <SetGlobal globalKey=\"themeToken\" value={{ colorPrimary: data.tenant.themeColor }} />\n <SetGlobal\n globalKey=\"userInfo\"\n value={{\n tenantUserInfo: data.tenantUserInfo,\n company: data.company,\n tenant: data.tenant,\n userInfo: data.userInfo,\n reload\n }}\n needReady>\n {children}\n </SetGlobal>\n </>\n );\n }}\n />\n );\n});\n\nexport default TenantUserInfo;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Flex, Button } from 'antd';\nimport { Outlet, useNavigate } from 'react-router-dom';\nimport Authenticate from './Authenticate';\n\nconst AfterTenantLoginLayout = createWithRemoteLoader({\n modules: ['components-admin:Authenticate@MainLayout', 'components-admin:UserTool']\n})(({ remoteModules, navigation, switchTenantPath, ...props }) => {\n const [MainLayout, UserTool] = remoteModules;\n const navigate = useNavigate();\n return (\n <Authenticate>\n {({ global }) => {\n const { tenantUserInfo, company, tenant } = global;\n return (\n <MainLayout\n {...props}\n navigation={Object.assign(\n {},\n {\n headerLogo: {\n style: { width: '108px' },\n id: tenant.logo\n },\n rightOptions: (\n <UserTool\n name={tenantUserInfo.name}\n email={tenantUserInfo.email || tenantUserInfo.phone}\n avatar={tenantUserInfo.avatar}\n list={[\n {\n label: (\n <Flex justify=\"space-between\" flex={1} gap={8}>\n <span key=\"name\">{company.name}</span>\n <Button\n key=\"btn\"\n type=\"link\"\n className=\"btn-no-padding\"\n onClick={() => {\n navigate(switchTenantPath);\n }}>\n 切换租户\n </Button>\n </Flex>\n ),\n iconType: 'gongsi'\n }\n ]}\n />\n )\n },\n navigation\n )}>\n <Outlet />\n </MainLayout>\n );\n }}\n </Authenticate>\n );\n});\n\nexport default AfterTenantLoginLayout;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport AppChildrenRouter from '@kne/app-children-router';\nimport AfterTenantLoginLayout from './AfterTenantLoginLayout';\n\nconst Tenant = createWithRemoteLoader({\n modules: ['components-admin:Authenticate@AfterUserLoginLayout']\n})(({ remoteModules, baseUrl, navigation = {}, list = [], children, ...props }) => {\n const [AfterUserLoginLayout] = remoteModules;\n return (\n <AppChildrenRouter\n {...props}\n baseUrl={baseUrl}\n list={[\n {\n path: 'tenant/*',\n element: (\n <AppChildrenRouter\n baseUrl={`${baseUrl}/tenant`}\n element={\n <AfterTenantLoginLayout\n navigation={{\n base: `${baseUrl}/tenant`,\n showIndex: false,\n list: [\n ...(navigation.list || []),\n {\n key: 'setting',\n title: '系统设置',\n path: `${baseUrl}/tenant/setting`\n }\n ]\n }}\n switchTenantPath={`${baseUrl}/login-tenant`}\n />\n }\n list={[\n ...list,\n {\n path: 'setting/*',\n loader: () => import('./Setting')\n }\n ]}\n />\n )\n },\n {\n path: '*',\n element: (\n <AppChildrenRouter\n baseUrl={baseUrl}\n element={<AfterUserLoginLayout />}\n list={[\n {\n path: 'join-tenant',\n loader: () => import('./JoinInvitation')\n },\n {\n path: 'login-tenant',\n elementProps: {\n tenantPath: `${baseUrl}/tenant`\n },\n loader: () => import('./LoginTenant')\n }\n ]}>\n {children}\n </AppChildrenRouter>\n )\n }\n ]}\n />\n );\n});\n\nexport default Tenant;\n","// extracted by mini-css-extract-plugin\nexport default {\"card\":\"style_card__q-lvC__koOjQ\",\"steps\":\"style_steps__4er1b__koOjQ\"};","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { useState } from 'react';\nimport { Card, Button, Flex, Steps, Result } from 'antd';\nimport Fetch from '@kne/react-fetch';\nimport CountDown from '@kne/count-down';\nimport { useSearchParams, useNavigate } from 'react-router-dom';\nimport CompanyInfo from '../CompanyInfo';\nimport { UserCard } from '../UserList';\nimport style from './style.module.scss';\n\nconst JoinInvitation = createWithRemoteLoader({\n modules: ['components-core:Layout@Page', 'components-core:Global@usePreset', 'components-core:InfoPage', 'components-core:LoadingButton']\n})(({ remoteModules, baseUrl = '' }) => {\n const [Page, usePreset, InfoPage, LoadingButton] = remoteModules;\n const [current, setCurrent] = useState(0);\n const { apis, ajax } = usePreset();\n const [searchParams] = useSearchParams();\n const navigate = useNavigate();\n\n const token = searchParams.get('token');\n\n return (\n <Page backgroundColor=\"transparent\">\n <Fetch\n {...Object.assign({}, apis.tenant.parseJoinToken, {\n data: { token }\n })}\n render={({ data }) => {\n const { tenant, tenantUser } = data;\n if (!(tenant && tenant.status === 'open' && tenantUser && tenantUser.status === 'open')) {\n return <Result status=\"error\" title=\"邀请链接已失效\" subTitle=\"请联系管理员解决此问题\" />;\n }\n return (\n <Card className={style['card']} title={`邀请您加入【${data.company.name}】`}>\n <Flex vertical gap={40}>\n <Steps\n className={style['steps']}\n current={current}\n items={[\n {\n title: '确认公司信息'\n },\n {\n title: '确认员工信息'\n },\n {\n title: '完成'\n }\n ]}\n />\n {current === 0 && (\n <InfoPage>\n <InfoPage.Part title=\"公司信息\">\n <CompanyInfo.Detail data={data.company} />\n </InfoPage.Part>\n <Flex justify=\"center\">\n <Button\n type=\"primary\"\n size=\"large\"\n onClick={() => {\n setCurrent(1);\n }}\n >\n 确认公司信息\n </Button>\n </Flex>\n </InfoPage>\n )}\n {current === 1 && (\n <Flex vertical gap={60}>\n <UserCard data={data.tenantUser} />\n <Flex justify=\"center\">\n <LoadingButton\n type=\"primary\"\n size=\"large\"\n onClick={async () => {\n const { data: resData } = await ajax(\n Object.assign({}, apis.tenant.join, {\n data: {\n token\n }\n })\n );\n if (resData.code !== 0) {\n navigate(`${baseUrl}/login-tenant`);\n return;\n }\n setCurrent(2);\n }}\n >\n 确认员工信息\n </LoadingButton>\n </Flex>\n </Flex>\n )}\n {current === 2 && (\n <Flex vertical gap={60}>\n <Result\n status=\"success\"\n title={`欢迎您加入【${data.company.name}】!`}\n subTitle={\n <>\n <CountDown\n duration={5}\n format=\"s\"\n onComplete={() => {\n window.location.href = `${baseUrl}/tenant`;\n }}\n />\n 秒后自动跳转到系统首页\n </>\n }\n extra={\n <Button\n type=\"primary\"\n size=\"large\"\n onClick={() => {\n window.location.href = `${baseUrl}/tenant`;\n }}\n >\n 直接进入\n </Button>\n }\n />\n </Flex>\n )}\n </Flex>\n </Card>\n );\n }}\n />\n </Page>\n );\n});\n\nexport default JoinInvitation;\n"],"names":["module","exports","data","result","processModule","parentCode","arguments","length","undefined","currentCode","concat","code","push","name","type","modules","forEach","subModule","permissions","permission","createWithRemoteLoader","_ref","remoteModules","FormInfo","TableList","DatePicker","Input","fields","_jsx","className","style","list","label","rule","developmentHistory","children","Timeline","mode","items","map","item","dayjs","time","format","event","Empty","TextArea","block","Title","Paragraph","Typography","Content","col","content","fullName","website","Link","href","target","description","Upload","interceptor","getPermission","indexOf","Image","banners","Carousel","arrows","autoplay","image","index","id","List","Avatar","TeamMember","avatar","role","_jsxs","Card","size","level","_ref2","teamDescription","Row","gutter","justify","Col","xs","sm","lg","CompanyDetail","InfoPage","_Fragment","Banner","Part","Basic","title","DevelopmentHistory","TeamDescription","CompanyInfo","onSubmit","apis","isEdit","setIsEdit","useState","Form","SubmitButton","CancelButton","async","formData","Flex","gap","vertical","BannerFormInner","BasicFormInner","DevelopmentHistoryFormInner","TeamDescriptionFormInner","onClick","extra","Button","icon","FormOutlined","Detail","onSuccess","options","getFormInner","props","_objectWithoutProperties","_excluded","useFormModal","usePreset","formModal","ajax","message","App","useApp","_objectSpread","Object","assign","editButtonProps","merge","bizName","formProps","resData","save","success","action","formModalProps","editFormModalProps","LoadingButton","ConfirmButton","CurrentButton","confirm","status","closeButtonProps","openButtonProps","setStatus","removeButtonProps","remove","moreType","itemClassName","getActionList","otherProps","ButtonGroup","actionList","otherActionList","_props$data","_props$data2","_props$options","_props$options2","_props$options3","_props$options4","buttonComponent","Edit","SetStatus","hidden","closeMessage","isDelete","Remove","removeMessage","Array","isArray","_excluded2","existItem","find","splice","createButtonProps","create","createFormModalProps","topOptionsSize","getColumns","filterList","allowKeywordSearch","tableProps","pagination","paramsType","TablePage","Filter","ref","useRef","SearchInput","getFilterValue","filter","setFilter","filterValue","topOptions","Create","tableOptions","current","reload","params","columns","fixed","valueOf","Actions","value","onChange","menu","Page","Fetch","tenant","companyDetail","render","companySave","useGlobalContext","global","orgList","_global$tenant","_global$tenant$tenant","OrgInfo","companyName","tenantCompany","orgCreate","orgSave","orgRemove","UserList","userList","userCreate","userSave","userRemove","userSetStatus","inviteToken","userInviteToken","userInviteMessage","baseUrl","originalBaseUrl","Menu","key","path","AppChildrenRouter","element","Navigate","to","replace","Company","Org","User","column","OrgOptions","showLength","Icon","parentId","FormInner","disabled","GraphOrg","SimpleBar","expandIds","setExpandIds","renderNode","node","card","hoverable","MinusCircleOutlined","PlusCircleOutlined","shape","newExpandIds","slice","OrgChart","autoHide","TreeOrg","_ref3","ids","expandedKeys","setExpandedKeys","useEffect","Tree","showLine","showIcon","selectable","fieldNames","treeData","onExpand","titleRender","nodeData","_ref4","StateBar","activeKey","setActiveKey","useMemo","parseTree","output","stateOption","tab","tenantPath","SplitLine","loading","setLoading","availableList","dataSource","renderItem","_item$tenant","_item$tenant$tenantCo","_item$tenant2","_item$tenant3","_item$tenant3$tenantC","itemInner","Item","Meta","logo","isSelected","tenantId","defaultTenantId","switchDefaultTenant","classnames","Badge","Ribbon","text","window","location","backgroundColor","SelectTenant","primary","hover","_item$tenantOrg","tenantOrg","ellipsis","PhoneNumber","SuperSelectTree","labelHidden","api","valueKey","labelKey","single","tenantOrgId","useModal","CentralContent","modal","footer","flex","token","origin","navigator","clipboard","writeText","_props$data3","Invite","userId","FilterProvider","BizUnit","PermissionPanel","settings","useControlValue","currentList","setCurrentList","allPermission","flattenPermissions","onCheckedChange","itemCode","checked","parentCodeList","renderCol","parentCodeString","onActiveChange","currentIndex","valueCode","selectedKeys","onSelect","_ref5","findIndex","_ref6","hasAllChildren","every","align","Checkbox","e","currentChildren","Divider","get","_ref7","_ref8","tenantPermissions","defaultValue","stateBar","TenantPermission","Role","SetGlobal","notification","cache","getUserInfo","serviceStartTime","serviceEndTime","isAfter","isBefore","endOf","warning","globalKey","colorPrimary","themeColor","tenantUserInfo","company","userInfo","needReady","navigation","switchTenantPath","MainLayout","UserTool","navigate","useNavigate","Authenticate","headerLogo","width","rightOptions","email","phone","iconType","Outlet","AfterUserLoginLayout","AfterTenantLoginLayout","base","showIndex","loader","elementProps","setCurrent","searchParams","useSearchParams","parseJoinToken","tenantUser","Steps","UserCard","join","Result","subTitle","CountDown","duration","onComplete"],"ignoreList":[],"sourceRoot":""}
1
+ {"version":3,"file":"static/js/3634.d49efcb4.chunk.js","mappings":"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","sources":["components/Tenant/TenantPermission/flattenPermissions.js","webpack://@kne-components/components-admin/./src/components/Tenant/CompanyInfo/style.module.scss?d51e","components/Tenant/CompanyInfo/DevelopmentHistory/FormInner.js","components/Tenant/CompanyInfo/DevelopmentHistory/index.js","components/Tenant/CompanyInfo/Basic/FormInner.js","components/Tenant/CompanyInfo/Basic/index.js","components/Tenant/CompanyInfo/Banner/FormInner.js","components/Tenant/CompanyInfo/Banner/index.js","components/Tenant/CompanyInfo/TeamDescription/FormInner.js","components/Tenant/CompanyInfo/TeamDescription/index.js","components/Tenant/CompanyInfo/index.js","components/BizUnit/Actions/Edit.js","components/BizUnit/Actions/SetStatus.js","components/BizUnit/Actions/Remove.js","components/BizUnit/Actions/index.js","components/BizUnit/Actions/Create.js","components/BizUnit/index.js","components/Tenant/Setting/Company.js","components/Tenant/Setting/Org.js","components/Tenant/Setting/User.js","components/Tenant/Setting/index.js","components/Tenant/OrgInfo/FormInner.js","webpack://@kne-components/components-admin/./src/components/Tenant/OrgInfo/style.module.scss?de9e","components/Tenant/OrgInfo/index.js","webpack://@kne-components/components-admin/./src/components/Tenant/LoginTenant/style.module.scss?025c","components/Tenant/LoginTenant/SelectTenant.js","components/Tenant/LoginTenant/index.js","components/Tenant/UserList/getColumns.js","components/Tenant/UserList/FormInner.js","components/Tenant/UserList/Actions/Edit.js","components/Tenant/UserList/Actions/SetStatus.js","components/Tenant/UserList/Actions/Invite.js","components/Tenant/UserList/Actions/Remove.js","components/Tenant/UserList/Actions/index.js","components/Tenant/UserList/Actions/Create.js","webpack://@kne-components/components-admin/./src/components/Tenant/UserList/UserCard/style.module.scss?8a3f","components/Tenant/UserList/UserCard/index.js","components/Tenant/UserList/index.js","components/Tenant/Role/getColumns.js","components/Tenant/Role/FormInner.js","components/Tenant/Role/index.js","webpack://@kne-components/components-admin/./src/components/Tenant/TenantPermission/style.module.scss?509d","components/Tenant/TenantPermission/index.js","components/Tenant/Permission/index.js","components/Tenant/Authenticate.js","components/Tenant/AfterTenantLoginLayout.js","components/Tenant/Tenant.js","webpack://@kne-components/components-admin/./src/components/Tenant/JoinInvitation/style.module.scss?d0ce","components/Tenant/JoinInvitation/index.js"],"sourcesContent":["const flattenPermissions = data => {\n const result = [];\n const processModule = (module, parentCode = '') => {\n const currentCode = parentCode ? `${parentCode}:${module.code}` : module.code;\n\n // 添加当前模块\n result.push({\n name: module.name,\n code: currentCode,\n type: 'module'\n });\n\n // 处理子模块\n if (module.modules) {\n module.modules.forEach(subModule => {\n processModule(subModule, currentCode);\n });\n }\n\n // 处理权限\n if (module.permissions) {\n module.permissions.forEach(permission => {\n result.push({\n name: permission.name,\n code: `${currentCode}:${permission.code}`,\n type: 'permission'\n });\n });\n }\n };\n // 处理所有顶级模块\n data.modules.forEach(module => {\n processModule(module);\n });\n\n return result;\n};\n\nmodule.exports = flattenPermissions;","// extracted by mini-css-extract-plugin\nexport default {\"company-info\":\"style_company-info__mHXzt__S2Y+l\",\"section\":\"style_section__cli1h__S2Y+l\",\"sectionTitle\":\"style_sectionTitle__3hq9-__S2Y+l\",\"timeline\":\"style_timeline__Hfl6V__S2Y+l\",\"form-section\":\"style_form-section__e+YVR__S2Y+l\",\"images\":\"style_images__pOiQM__S2Y+l\",\"image-item\":\"style_image-item__j61Dz__S2Y+l\",\"team-card\":\"style_team-card__3XXv-__S2Y+l\",\"member-avatar\":\"style_member-avatar__RviuV__S2Y+l\"};","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport style from '../style.module.scss';\n\nconst FormInner = createWithRemoteLoader({\n modules: ['components-core:FormInfo']\n})(({ remoteModules }) => {\n const [FormInfo] = remoteModules;\n const { TableList } = FormInfo;\n const { DatePicker, Input } = FormInfo.fields;\n\n return <TableList className={style['form-section']} name=\"developmentHistory\" list={[<DatePicker name=\"time\" label=\"时间\" rule=\"REQ\" />, <Input name=\"event\" label=\"事件\" rule=\"REQ LEN-0-500\" />]} />;\n});\n\nexport default FormInner;\n","import { Timeline, Empty } from 'antd';\nimport dayjs from 'dayjs';\nimport style from '../style.module.scss';\n\nconst DevelopmentHistory = ({ data }) => {\n if (!(data.developmentHistory && data.developmentHistory.length > 0)) {\n return <Empty />;\n }\n return (\n <div className={style['section']}>\n <Timeline\n mode=\"left\"\n className={style['timeline']}\n items={data.developmentHistory.map(item => {\n return {\n label: dayjs(item.time).format('YYYY年MM月DD日'),\n children: item.event\n };\n })}\n />\n </div>\n );\n};\n\nexport default DevelopmentHistory;\n\nexport { default as FormInner } from './FormInner';\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport style from '../style.module.scss';\n\nconst FormInner = createWithRemoteLoader({\n modules: ['components-core:FormInfo']\n})(({ remoteModules }) => {\n const [FormInfo] = remoteModules;\n const { Input, TextArea } = FormInfo.fields;\n\n return (\n <FormInfo\n className={style['form-section']}\n list={[\n <Input name=\"name\" label=\"公司名称\" rule=\"REQ LEN-0-100\" />,\n <Input name=\"fullName\" label=\"公司全称\" rule=\"LEN-0-100\" />,\n <Input name=\"website\" label=\"公司主页\" rule=\"LEN-0-500\" block />,\n <TextArea name=\"description\" label=\"公司简介\" rule=\"LEN-0-5000\" block />\n ]}\n />\n );\n});\n\nexport default FormInner;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Typography, Empty } from 'antd';\nimport style from '../style.module.scss';\nimport dayjs from 'dayjs';\n\nconst { Title, Paragraph } = Typography;\n\nconst Basic = createWithRemoteLoader({\n modules: ['components-core:InfoPage@Content']\n})(({ remoteModules, data }) => {\n const [Content] = remoteModules;\n return (\n <div className={style['section']}>\n <Content\n col={2}\n list={[\n {\n label: '公司名称',\n content: data.name || '-'\n },\n {\n label: '公司全称',\n content: data.fullName || '-'\n },\n {\n label: '公司主页',\n content: data.website ? (\n <Typography.Link href={data.website} target=\"_blank\">\n {data.website}\n </Typography.Link>\n ) : (\n '-'\n )\n },\n {\n label: '公司简介',\n content: data.description || '-',\n block: true\n }\n ]}\n />\n </div>\n );\n});\n\nexport default Basic;\nexport { default as FormInner } from './FormInner';\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport style from '../style.module.scss';\n\nconst FormInner = createWithRemoteLoader({\n modules: ['components-core:FormInfo']\n})(({ remoteModules }) => {\n const [FormInfo] = remoteModules;\n const { Upload } = FormInfo.fields;\n return (\n <FormInfo\n className={style['form-section']}\n list={[\n <Upload\n name=\"banners\"\n label=\"Banner\"\n interceptor=\"photo-string-list\"\n block\n getPermission={type => {\n return ['preview', 'delete'].indexOf(type) > -1;\n }}\n />\n ]}\n />\n );\n});\n\nexport default FormInner;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Carousel } from 'antd';\nimport style from '../style.module.scss';\n\nconst Banner = createWithRemoteLoader({\n modules: ['components-core:Image']\n})(({ remoteModules, data }) => {\n const [Image] = remoteModules;\n if (!(data.banners && data.banners.length > 0)) {\n return null;\n }\n return (\n <div className={style['section']}>\n <Carousel arrows autoplay className={style['images']}>\n {data.banners.map((image, index) => {\n return (\n <div key={index}>\n <Image id={image} className={style['image-item']} />\n </div>\n );\n })}\n </Carousel>\n </div>\n );\n});\n\nexport default Banner;\nexport { default as FormInner } from './FormInner';\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport style from '../style.module.scss';\n\nconst FormInner = createWithRemoteLoader({\n modules: ['components-core:FormInfo']\n})(({ remoteModules }) => {\n const [FormInfo] = remoteModules;\n\n const { List } = FormInfo;\n const { Avatar, Input, TextArea } = FormInfo.fields;\n\n return (\n <List\n className={style['form-section']}\n name=\"teamDescription\"\n list={[\n <Avatar name=\"avatar\" label=\"头像\" interceptor=\"photo-string\" block />,\n <Input name=\"name\" label=\"姓名\" rule=\"REQ LEN-0-100\" />,\n <Input name=\"role\" label=\"角色\" rule=\"REQ LEN-0-100\" />,\n <TextArea name=\"description\" label=\"简介\" rule=\"LEN-0-500\" block />\n ]}\n />\n );\n});\n\nexport default FormInner;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Card, Empty, Typography, Row, Col } from 'antd';\nimport style from '../style.module.scss';\n\nconst { Title, Paragraph } = Typography;\n\nconst TeamMember = createWithRemoteLoader({\n modules: ['components-core:Image']\n})(({ remoteModules, avatar, name, role, description }) => {\n const [Image] = remoteModules;\n return (\n <Card className={style['team-card']}>\n <div className={style['member-avatar']}>\n <Image.Avatar size={100} id={avatar} />\n </div>\n <Title level={4}>{name}</Title>\n <Title level={5} type=\"secondary\">\n {role}\n </Title>\n <Paragraph>{description}</Paragraph>\n </Card>\n );\n});\n\nconst TeamDescription = ({ data }) => {\n if (!(data.teamDescription && data.teamDescription.length > 0)) {\n return <Empty />;\n }\n\n return (\n <div className={style['section']}>\n <Row gutter={[24, 24]} justify=\"center\">\n {data.teamDescription.map((item, index) => {\n return (\n <Col xs={24} sm={12} lg={8} key={index}>\n <TeamMember avatar={item.avatar} name={item.name} role={item.role} description={item.description} />\n </Col>\n );\n })}\n </Row>\n </div>\n );\n};\n\nexport default TeamDescription;\nexport { default as FormInner } from './FormInner';\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Button, Flex } from 'antd';\nimport { FormOutlined } from '@ant-design/icons';\nimport { useState } from 'react';\nimport DevelopmentHistory, { FormInner as DevelopmentHistoryFormInner } from './DevelopmentHistory';\nimport Basic, { FormInner as BasicFormInner } from './Basic';\nimport Banner, { FormInner as BannerFormInner } from './Banner';\nimport TeamDescription, { FormInner as TeamDescriptionFormInner } from './TeamDescription';\nimport style from './style.module.scss';\n\nconst CompanyDetail = createWithRemoteLoader({\n modules: ['components-core:InfoPage']\n})(({ remoteModules, data }) => {\n const [InfoPage] = remoteModules;\n\n return (\n <>\n <Banner data={data} />\n <InfoPage.Part>\n <Basic data={data} />\n </InfoPage.Part>\n <InfoPage.Part title=\"发展历程\">\n <DevelopmentHistory data={data} />\n </InfoPage.Part>\n <InfoPage.Part title=\"团队介绍\">\n <TeamDescription data={data} />\n </InfoPage.Part>\n </>\n );\n});\n\nconst CompanyInfo = createWithRemoteLoader({\n modules: ['components-core:InfoPage', 'components-core:FormInfo']\n})(({ remoteModules, data, onSubmit, apis }) => {\n const [InfoPage, FormInfo] = remoteModules;\n const [isEdit, setIsEdit] = useState(false);\n\n const { Form, SubmitButton, CancelButton } = FormInfo;\n\n if (isEdit) {\n return (\n <Form className={style['company-info']}\n type=\"default\"\n data={data}\n onSubmit={async formData => {\n if ((await onSubmit(formData)) === false) {\n return;\n }\n setIsEdit(false);\n }}\n >\n <InfoPage.Part title=\"公司信息\" className={style['section']}>\n <Flex gap={24} vertical>\n <InfoPage.Part>\n <BannerFormInner />\n </InfoPage.Part>\n <InfoPage.Part>\n <BasicFormInner />\n </InfoPage.Part>\n <InfoPage.Part title=\"发展历程\">\n <DevelopmentHistoryFormInner />\n </InfoPage.Part>\n <InfoPage.Part title=\"团队介绍\">\n <TeamDescriptionFormInner />\n </InfoPage.Part>\n <Flex justify=\"center\" gap={12}>\n <SubmitButton>保存</SubmitButton>\n <CancelButton\n onClick={() => {\n setIsEdit(false);\n }}\n >\n 取消\n </CancelButton>\n </Flex>\n </Flex>\n </InfoPage.Part>\n </Form>\n );\n }\n\n return (\n <InfoPage className={style['company-info']}>\n <InfoPage.Part\n className={style['section']}\n title=\"公司信息\"\n extra={\n <Button\n type=\"link\"\n icon={<FormOutlined />}\n onClick={() => {\n setIsEdit(true);\n }}\n >\n 编辑\n </Button>\n }\n >\n <CompanyDetail data={data} />\n </InfoPage.Part>\n </InfoPage>\n );\n});\n\nCompanyInfo.Detail = CompanyDetail;\nCompanyInfo.Banner = Banner;\nCompanyInfo.Basic = Basic;\nCompanyInfo.DevelopmentHistory = DevelopmentHistory;\nCompanyInfo.TeamDescription = TeamDescription;\n\nexport default CompanyInfo;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Button, App } from 'antd';\nimport merge from 'lodash/merge';\n\nconst Edit = createWithRemoteLoader({\n modules: ['components-core:FormInfo@useFormModal', 'components-core:Global@usePreset']\n})(({ remoteModules, apis, onSuccess, data, options, getFormInner, ...props }) => {\n const [useFormModal, usePreset] = remoteModules;\n const formModal = useFormModal();\n const { ajax } = usePreset();\n const { message } = App.useApp();\n return (\n <Button\n {...Object.assign({}, props, options.editButtonProps)}\n onClick={() => {\n formModal(\n merge(\n {},\n {\n title: `编辑${options.bizName}`,\n size: 'small',\n formProps: {\n data: Object.assign({}, data),\n onSubmit: async formData => {\n const { data: resData } = await ajax(\n typeof apis.save === 'function'\n ? apis.save({ formData, data, options })\n : merge({}, apis.save, {\n data: Object.assign({}, formData, { id: data.id })\n })\n );\n\n if (resData.code !== 0) {\n return false;\n }\n\n message.success(`保存${options.bizName}成功`);\n onSuccess && onSuccess();\n }\n },\n children: getFormInner({ apis, action: 'edit', options })\n },\n options.formModalProps,\n options.editFormModalProps\n )\n );\n }}\n />\n );\n});\n\nexport default Edit;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport merge from 'lodash/merge';\nimport { App } from 'antd';\n\nconst SetStatus = createWithRemoteLoader({\n modules: ['components-core:LoadingButton', 'components-core:ConfirmButton', 'components-core:Global@usePreset']\n})(({ remoteModules, data, onSuccess, apis, options, getFormInner, ...props }) => {\n const [LoadingButton, ConfirmButton, usePreset] = remoteModules;\n const { ajax } = usePreset();\n const { message } = App.useApp();\n const CurrentButton = props.message || props.confirm ? ConfirmButton : LoadingButton;\n return (\n <CurrentButton\n {...merge({}, props, data.status === 'open' ? options.closeButtonProps : options.openButtonProps)}\n onClick={async () => {\n const { data: resData } = await ajax(\n typeof apis.setStatus === 'function'\n ? apis.setStatus({ data, options })\n : merge({}, apis.setStatus, {\n data: { id: data.id, status: data.status === 'open' ? 'closed' : 'open' }\n })\n );\n if (resData.code !== 0) {\n return;\n }\n message.success(`修改${options.bizName}成功`);\n onSuccess && onSuccess();\n }}\n />\n );\n});\n\nexport default SetStatus;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport merge from 'lodash/merge';\nimport { App } from 'antd';\n\nconst Remove = createWithRemoteLoader({\n modules: ['components-core:LoadingButton', 'components-core:ConfirmButton', 'components-core:Global@usePreset']\n})(({ remoteModules, data, onSuccess, apis, options, getFormInner, ...props }) => {\n const [LoadingButton, ConfirmButton, usePreset] = remoteModules;\n const { ajax } = usePreset();\n const { message } = App.useApp();\n const CurrentButton = props.message || props.confirm ? ConfirmButton : LoadingButton;\n return (\n <CurrentButton\n {...Object.assign({}, props, options.removeButtonProps)}\n onClick={async () => {\n const { data: resData } = await ajax(\n typeof apis.remove === 'function'\n ? apis.remove({ data, options })\n : merge({}, apis.remove, {\n data: { id: data.id }\n })\n );\n if (resData.code !== 0) {\n return;\n }\n message.success(`删除${options.bizName}成功`);\n onSuccess && onSuccess();\n }}\n />\n );\n});\n\nexport default Remove;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport Edit from './Edit';\nimport SetStatus from './SetStatus';\nimport Remove from './Remove';\n\nconst Actions = createWithRemoteLoader({\n modules: ['components-core:ButtonGroup']\n})(({ remoteModules, moreType, children, itemClassName, getActionList, getFormInner, data, apis, onSuccess, options, ...otherProps }) => {\n const [ButtonGroup] = remoteModules;\n const actionList = [];\n\n const props = {\n ...otherProps,\n data,\n apis,\n onSuccess,\n options,\n getFormInner\n };\n\n const otherActionList = typeof getActionList === 'function' ? getActionList(props) : [];\n\n if (props.apis.save) {\n actionList.push({\n ...props,\n name: 'save',\n buttonComponent: Edit\n });\n }\n\n if (props.apis.setStatus) {\n actionList.push(\n {\n ...props,\n name: 'setStatusOpen',\n buttonComponent: SetStatus,\n hidden: props.data?.status === 'open'\n },\n {\n ...props,\n name: 'setStatusClose',\n buttonComponent: SetStatus,\n hidden: props.data?.status === 'closed',\n message: props.options?.closeMessage || `确定要关闭${props.options?.bizName}吗?`,\n isDelete: false\n }\n );\n }\n\n if (props.apis.remove) {\n actionList.push({\n ...props,\n name: 'remove',\n buttonComponent: Remove,\n message: props.options?.removeMessage || `确定要删除${props.options?.bizName}吗?`\n });\n }\n\n if (Array.isArray(otherActionList) && otherActionList.length > 0) {\n otherActionList.forEach(({ index, ...item }) => {\n if (item.name) {\n const existItem = actionList.find(target => target.name === item.name);\n if (existItem) {\n Object.assign(existItem, item);\n return;\n }\n }\n item.buttonComponent && actionList.splice(item.index || 0, 0, item);\n });\n }\n\n if (typeof children === 'function') {\n return children({\n itemClassName,\n moreType,\n list: actionList\n });\n }\n return <ButtonGroup itemClassName={itemClassName} list={actionList} moreType={moreType} />;\n});\n\nexport default Actions;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Button, App } from 'antd';\nimport merge from 'lodash/merge';\n\nconst Create = createWithRemoteLoader({\n modules: ['components-core:FormInfo@useFormModal', 'components-core:Global@usePreset']\n})(({ remoteModules, apis, onSuccess, getFormInner, data, options, ...props }) => {\n const [useFormModal, usePreset] = remoteModules;\n const formModal = useFormModal();\n const { ajax } = usePreset();\n const { message } = App.useApp();\n return (\n <Button\n {...Object.assign({}, props, options.createButtonProps)}\n onClick={() => {\n formModal(\n merge(\n {},\n {\n title: `添加${options.bizName}`,\n size: 'small',\n formProps: {\n onSubmit: async formData => {\n const { data: resData } = await ajax(\n typeof apis.create === 'function'\n ? apis.create({ formData, data, options })\n : merge({}, apis.create, {\n data: formData\n })\n );\n if (resData.code !== 0) {\n return false;\n }\n message.success(`添加${options.bizName}成功`);\n onSuccess && onSuccess();\n }\n },\n children: getFormInner({ apis, action: 'create', options })\n },\n options.formModalProps,\n options.createFormModalProps\n )\n );\n }}\n />\n );\n});\n\nexport default Create;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { useRef, useState } from 'react';\nimport { Flex } from 'antd';\nimport merge from 'lodash/merge';\nimport Actions from './Actions';\nimport Create from './Actions/Create';\n\nconst BizUnit = createWithRemoteLoader({\n modules: ['components-core:Table@TablePage', 'components-core:Filter']\n})(({\n remoteModules,\n topOptionsSize,\n apis = {},\n name,\n children,\n getColumns,\n getFormInner,\n filterList = [],\n getActionList,\n allowKeywordSearch = true,\n options\n}) => {\n options = merge(\n {},\n {\n bizName: '',\n createButtonProps: {\n children: '添加',\n type: 'primary'\n },\n editButtonProps: {\n children: '编辑'\n },\n removeButtonProps: {\n children: '删除'\n },\n openButtonProps: {\n children: '开启'\n },\n closeButtonProps: {\n children: '关闭'\n },\n tableProps: {\n pagination: { paramsType: 'params' }\n }\n },\n options\n );\n const [TablePage, Filter] = remoteModules;\n const ref = useRef();\n const { SearchInput, getFilterValue } = Filter;\n const [filter, setFilter] = useState([]);\n const filterValue = getFilterValue(filter);\n const topOptions = (\n <Flex gap={8}>\n {allowKeywordSearch && <SearchInput size={topOptionsSize} name=\"keyword\" label=\"关键字\" />}\n {apis.create && (\n <Create\n getFormInner={getFormInner}\n apis={apis}\n options={options}\n onSuccess={() => {\n tableOptions.ref.current.reload();\n }}\n />\n )}\n </Flex>\n );\n const tableOptions = merge(\n {},\n options.tableProps,\n merge({}, apis.list, {\n params: {\n filter: filterValue\n }\n }),\n {\n ref,\n columns: [\n ...getColumns(),\n {\n name: 'options',\n type: 'options',\n title: '操作',\n fixed: 'right',\n valueOf: item => {\n return {\n children: (\n <Actions\n moreType=\"link\"\n data={item}\n apis={apis}\n options={options}\n getActionList={getActionList}\n getFormInner={getFormInner}\n onSuccess={() => {\n tableOptions.ref.current.reload();\n }}\n />\n )\n };\n }\n }\n ],\n name\n }\n );\n\n if (typeof children === 'function') {\n return children({\n filter,\n topOptions,\n tableOptions\n });\n }\n return (\n <Flex vertical gap={8}>\n <Filter value={filter} onChange={setFilter} extra={topOptions} list={filterList} />\n <TablePage {...tableOptions} />\n </Flex>\n );\n});\n\nexport default BizUnit;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport CompanyInfo from '../CompanyInfo';\nimport Fetch from '@kne/react-fetch';\nimport { App } from 'antd';\n\nconst Company = createWithRemoteLoader({\n modules: ['components-core:Layout@Page', 'components-core:Global@usePreset']\n})(({ remoteModules, menu }) => {\n const [Page, usePreset] = remoteModules;\n const { ajax, apis } = usePreset();\n const { message } = App.useApp();\n return (\n <Page menu={menu} title=\"公司信息\">\n <Fetch\n {...Object.assign({}, apis.tenant.companyDetail)}\n render={({ data, reload }) => {\n return (\n <CompanyInfo\n data={data}\n onSubmit={async formData => {\n const { data: resData } = await ajax(\n Object.assign({}, apis.tenant.companySave, {\n data: Object.assign({}, formData)\n })\n );\n if (resData.code !== 0) {\n return false;\n }\n message.success('公司信息保存成功');\n reload();\n }}\n />\n );\n }}\n />\n </Page>\n );\n});\n\nexport default Company;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport OrgInfo from '../OrgInfo';\nimport Fetch from '@kne/react-fetch';\n\nconst Org = createWithRemoteLoader({\n modules: ['components-core:Layout@Page', 'components-core:Global@usePreset', 'components-core:Global@useGlobalContext']\n})(({ remoteModules, menu }) => {\n const [Page, usePreset, useGlobalContext] = remoteModules;\n const { apis } = usePreset();\n const { global } = useGlobalContext('userInfo');\n return (\n <Page title=\"组织架构\" menu={menu}>\n <Fetch\n {...Object.assign({}, apis.tenant.orgList)}\n render={({ data, reload }) => {\n return (\n <OrgInfo\n data={data}\n companyName={global.tenant?.tenantCompany?.name || global.tenant.name}\n onSuccess={reload}\n apis={{\n create: Object.assign({}, apis.tenant.orgCreate),\n save: Object.assign({}, apis.tenant.orgSave),\n remove: Object.assign({}, apis.tenant.orgRemove)\n }}\n />\n );\n }}\n />\n </Page>\n );\n});\n\nexport default Org;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport UserList from '../UserList';\n\nconst Org = createWithRemoteLoader({\n modules: ['components-core:Layout@Page', 'components-core:Global@usePreset']\n})(({ remoteModules, menu }) => {\n const [Page, usePreset] = remoteModules;\n const { apis } = usePreset();\n return (\n <Page title=\"用户管理\" menu={menu}>\n <UserList\n apis={{\n list: Object.assign({}, apis.tenant.userList),\n orgList: Object.assign({}, apis.tenant.orgList),\n create: Object.assign({}, apis.tenant.userCreate),\n save: Object.assign({}, apis.tenant.userSave),\n remove: Object.assign({}, apis.tenant.userRemove),\n setStatus: Object.assign({}, apis.tenant.userSetStatus),\n inviteToken: Object.assign({}, apis.tenant.userInviteToken),\n userInviteMessage: Object.assign({}, apis.tenant.userInviteMessage)\n }}\n />\n </Page>\n );\n});\n\nexport default Org;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Routes, Route, Navigate } from 'react-router-dom';\nimport AppChildrenRouter from '@kne/app-children-router';\nimport Company from './Company';\nimport Org from './Org';\nimport User from './User';\n\nconst Setting = createWithRemoteLoader({\n modules: ['components-core:Global@usePreset', 'components-core:Layout@Menu']\n})(({ remoteModules, baseUrl: originalBaseUrl }) => {\n const baseUrl = `${originalBaseUrl}/setting`;\n const [usePreset, Menu] = remoteModules;\n const { apis } = usePreset();\n const menu = (\n <Menu\n items={[\n { key: 'company', label: '公司信息', path: `${baseUrl}/company` },\n {\n key: 'org',\n label: '组织架构',\n path: `${baseUrl}/org`\n },\n {\n key: 'user',\n label: '用户管理',\n path: `${baseUrl}/user`\n }\n ]}\n />\n );\n\n return (\n <AppChildrenRouter\n baseUrl={`${baseUrl}`}\n list={[\n {\n index: true,\n element: <Navigate to={`${baseUrl}/company`} replace />\n },\n {\n path: 'company',\n element: <Company menu={menu} />\n },\n {\n path: 'org',\n element: <Org menu={menu} />\n },\n {\n path: 'user',\n element: <User menu={menu} />\n }\n ]}\n />\n );\n});\n\nexport default Setting;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\n\nconst FormInner = createWithRemoteLoader({\n modules: ['components-core:FormInfo']\n})(({ remoteModules }) => {\n const [FormInfo] = remoteModules;\n const { Input, TextArea } = FormInfo.fields;\n return (\n <FormInfo\n column={1}\n list={[<Input name=\"name\" label=\"名称\" rule=\"REQ LEN-0-100\" />, <TextArea name=\"description\" label=\"描述\" rule=\"LEN-0-500\" />]}\n />\n );\n});\n\nexport default FormInner;\n","// extracted by mini-css-extract-plugin\nexport default {\"org\":\"style_org__F6NDb__S2Y+l\",\"tree-node-options\":\"style_tree-node-options__oHvxz__S2Y+l\",\"tree-node\":\"style_tree-node__NlDNF__S2Y+l\",\"tree-node-title\":\"style_tree-node-title__yDu+R__S2Y+l\",\"tree-node-description\":\"style_tree-node-description__d6Phe__S2Y+l\",\"org-chart-outer\":\"style_org-chart-outer__t8hrr__S2Y+l\",\"org-chart\":\"style_org-chart__iY4lN__S2Y+l\",\"org-card\":\"style_org-card__s9taG__S2Y+l\",\"org-btn\":\"style_org-btn__W2aUe__S2Y+l\"};","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Flex, Tree, App, Card, Button } from 'antd';\nimport { useEffect, useMemo, useState } from 'react';\nimport OrgChart from '@kne/react-org-chart';\nimport merge from 'lodash/merge';\nimport { PlusCircleOutlined, MinusCircleOutlined } from '@ant-design/icons';\nimport FormInner from './FormInner';\nimport style from './style.module.scss';\nimport '@kne/react-org-chart/dist/index.css';\n\nconst OrgOptions = createWithRemoteLoader({\n modules: ['components-core:Global@usePreset', 'components-core:ButtonGroup', 'components-core:Icon', 'components-core:FormInfo@useFormModal']\n})(({ remoteModules, showLength = 3, data, apis, onSuccess }) => {\n const [usePreset, ButtonGroup, Icon, useFormModal] = remoteModules;\n const { ajax } = usePreset();\n const formModal = useFormModal();\n const { message } = App.useApp();\n return (\n <ButtonGroup\n itemClassName=\"btn-no-padding\"\n moreType=\"link\"\n list={[\n {\n icon: <Icon type=\"tianjia\" />,\n type: 'link',\n children: '新增子级组织',\n onClick: async () => {\n formModal({\n title: '新增子级组织',\n size: 'small',\n formProps: {\n onSubmit: async formData => {\n const { data: resData } = await ajax(\n merge({}, apis.create, {\n data: Object.assign(\n {},\n formData,\n data.id && data.id !== 'root'\n ? {\n parentId: data.id\n }\n : {}\n )\n })\n );\n if (resData.code !== 0) {\n return false;\n }\n message.success('添加成功');\n onSuccess && onSuccess();\n }\n },\n children: <FormInner />\n });\n }\n },\n {\n icon: <Icon type=\"bianji\" />,\n type: 'link',\n children: '编辑',\n hidden: !(data.id && data.id !== 'root'),\n onClick: async () => {\n formModal({\n title: '编辑组织节点',\n size: 'small',\n formProps: {\n data: Object.assign({}, data),\n onSubmit: async formData => {\n const { data: resData } = await ajax(\n merge({}, apis.save, {\n data: Object.assign({}, formData, {\n parentId: data.parentId,\n id: data.id\n })\n })\n );\n if (resData.code !== 0) {\n return false;\n }\n message.success('保存成功');\n onSuccess && onSuccess();\n }\n },\n children: <FormInner />\n });\n }\n },\n {\n icon: <Icon type=\"shanchu\" />,\n type: 'link',\n children: '删除',\n hidden: !(data.id && data.id !== 'root'),\n confirm: true,\n disabled: data.children && data.children.length > 0,\n onClick: async () => {\n const { data: resData } = await ajax(\n merge({}, apis.remove, {\n data: { id: data.id }\n })\n );\n if (resData.code !== 0) {\n return;\n }\n message.success('删除成功');\n onSuccess && onSuccess();\n }\n }\n ]}\n />\n );\n});\n\nconst GraphOrg = createWithRemoteLoader({\n modules: ['components-core:Common@SimpleBar']\n})(({ remoteModules, data, apis, onSuccess }) => {\n const [SimpleBar] = remoteModules;\n const [expandIds, setExpandIds] = useState([]);\n const renderNode = data => {\n return data.map(node => {\n const card = (\n <Card type=\"inner\" hoverable size=\"small\" className={style['org-card']} extra={<OrgOptions data={node} apis={apis} onSuccess={onSuccess} showLength={0} />}>\n <div className={style['tree-node-title']}>{node.name}</div>\n <div className={style['tree-node-description']}>{node.description}</div>\n {node.children && node.children.length > 0 && (\n <Button\n icon={expandIds.indexOf(node.id) === -1 ? <MinusCircleOutlined /> : <PlusCircleOutlined />}\n shape=\"circle\"\n size=\"small\"\n type=\"link\"\n className={style['org-btn']}\n onClick={() => {\n setExpandIds(expandIds => {\n const newExpandIds = expandIds.slice(0);\n const index = expandIds.indexOf(node.id);\n if (index === -1) {\n newExpandIds.push(node.id);\n } else {\n newExpandIds.splice(index, 1);\n }\n return newExpandIds;\n });\n }}\n />\n )}\n </Card>\n );\n if (node.id === 'root') {\n return (\n <OrgChart className={style['org-chart']} key={node.id} label={card}>\n {renderNode(expandIds.indexOf(node.id) === -1 ? node.children : [])}\n </OrgChart>\n );\n }\n return (\n <OrgChart.Node key={node.id} label={card}>\n {renderNode(expandIds.indexOf(node.id) === -1 ? node.children : [])}\n </OrgChart.Node>\n );\n });\n };\n return (\n <SimpleBar className={style['org-chart-outer']} autoHide={false}>\n {renderNode(data)}\n </SimpleBar>\n );\n});\n\nconst TreeOrg = ({ data, ids, apis, onSuccess }) => {\n const [expandedKeys, setExpandedKeys] = useState(['root']);\n useEffect(() => {\n ids && ids.length > 0 && setExpandedKeys(['root', ...ids]);\n }, [ids]);\n return (\n <Tree\n showLine\n showIcon\n selectable={false}\n expandedKeys={expandedKeys}\n fieldNames={{ title: 'name', key: 'id', children: 'children' }}\n treeData={data}\n onExpand={expandedKeys => {\n setExpandedKeys(expandedKeys);\n }}\n titleRender={nodeData => {\n return (\n <Flex vertical className={style['tree-node']}>\n <Flex gap={36}>\n <span className={style['tree-node-title']}>{nodeData.name}</span>\n <span className={style['tree-node-options']}>\n <OrgOptions data={nodeData} apis={apis} onSuccess={onSuccess} />\n </span>\n </Flex>\n <div className={style['tree-node-description']}>{nodeData.description}</div>\n </Flex>\n );\n }}\n />\n );\n};\n\nconst OrgInfo = createWithRemoteLoader({\n modules: ['components-core:StateBar']\n})(({ remoteModules, data, companyName, apis, onSuccess }) => {\n const [StateBar] = remoteModules;\n const [activeKey, setActiveKey] = useState('tree');\n const { treeData, ids } = useMemo(() => {\n const output = [\n {\n id: 'root',\n name: companyName || '未命名公司'\n }\n ];\n\n const parseTree = output => {\n return output.map(node => {\n const children = data.filter(item => {\n if (node.id === 'root') {\n return !item.parentId;\n }\n return item.parentId === node.id;\n });\n return Object.assign({}, node, { children: parseTree(children) });\n });\n };\n\n return {\n treeData: parseTree(output),\n ids: data.map(item => item.id)\n };\n }, [data, companyName]);\n return (\n <Flex vertical>\n <StateBar\n activeKey={activeKey}\n onChange={setActiveKey}\n type=\"radio\"\n stateOption={[\n { tab: '树形', key: 'tree' },\n { tab: '图形', key: 'graph' }\n ]}\n />\n <div className={style['org']}>\n {activeKey === 'tree' && <TreeOrg ids={ids} data={treeData} apis={apis} onSuccess={onSuccess} />}\n {activeKey === 'graph' && <GraphOrg ids={ids} data={treeData} apis={apis} onSuccess={onSuccess} />}\n </div>\n </Flex>\n );\n});\n\nexport default OrgInfo;\n","// extracted by mini-css-extract-plugin\nexport default {\"card\":\"style_card__DgzMi__S2Y+l\",\"tenant-item\":\"style_tenant-item__zITH1__S2Y+l\",\"is-selected\":\"style_is-selected__eJNP7__S2Y+l\",\"tenant-avatar\":\"style_tenant-avatar__Nbj8h__S2Y+l\"};","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Card, List, Flex, Button, App, Badge } from 'antd';\nimport Fetch from '@kne/react-fetch';\nimport { useState } from 'react';\nimport classnames from 'classnames';\nimport style from './style.module.scss';\n\nconst SelectTenant = createWithRemoteLoader({\n modules: ['components-core:Global@usePreset', 'components-core:Image', 'components-core:InfoPage@SplitLine', 'components-core:Icon']\n})(({ remoteModules, tenantPath }) => {\n const [usePreset, Image, SplitLine, Icon] = remoteModules;\n const { apis, ajax } = usePreset();\n const { message } = App.useApp();\n const [loading, setLoading] = useState(false);\n return (\n <Card title=\"选择登录租户\">\n <Fetch\n {...Object.assign({}, apis.tenant.availableList)}\n render={({ data, reload }) => {\n return (\n <Flex vertical gap={60}>\n <List\n loading={loading}\n dataSource={data.list}\n renderItem={item => {\n const itemInner = (\n <List.Item.Meta\n avatar={<Image id={item.tenant?.tenantCompany?.logo || item.tenant?.logo} className={style['tenant-avatar']} />}\n title={item.tenant?.tenantCompany?.name}\n description={\n <SplitLine\n dataSource={item}\n columns={[\n {\n name: 'name',\n title: '姓名'\n },\n {\n name: 'tenantOrg.name',\n title: '所属部门'\n }\n ]}\n />\n }\n />\n );\n const isSelected = item.tenantId === data.defaultTenantId;\n return (\n <List.Item\n key={item.id}\n onClick={async () => {\n if (isSelected) {\n return;\n }\n setLoading(true);\n const { data: resData } = await ajax(\n Object.assign({}, apis.tenant.switchDefaultTenant, {\n data: { tenantId: item.tenantId }\n })\n );\n if (resData.code !== 0) {\n setLoading(false);\n return;\n }\n message.success('切换默认租户成功');\n reload();\n setLoading(false);\n }}\n className={classnames(style['tenant-item'], {\n [style['is-selected']]: isSelected\n })}\n >\n {isSelected ? <Badge.Ribbon text=\"当前租户\">{itemInner}</Badge.Ribbon> : itemInner}\n </List.Item>\n );\n }}\n />\n {data.list.length > 0 && (\n <Flex justify=\"center\">\n <Button\n type=\"primary\"\n size=\"large\"\n onClick={() => {\n window.location.href = tenantPath;\n }}\n >\n 进入租户\n <Icon type=\"fasongduihua\" />\n </Button>\n </Flex>\n )}\n </Flex>\n );\n }}\n />\n </Card>\n );\n});\n\nexport default SelectTenant;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport SelectTenant from './SelectTenant';\nimport style from './style.module.scss';\n\nconst LoginTenant = createWithRemoteLoader({\n modules: ['components-core:Layout@Page']\n})(({ remoteModules, ...props }) => {\n const [Page] = remoteModules;\n return (\n <Page backgroundColor=\"transparent\">\n <div className={style['card']}>\n <SelectTenant {...props} />\n </div>\n </Page>\n );\n});\n\nexport default LoginTenant;\n\nexport { SelectTenant };\n","const getColumns = () => {\n return [\n {\n name: 'id',\n title: 'ID',\n type: 'serialNumber',\n primary: false,\n hover: false\n },\n {\n name: 'avatar',\n title: '头像',\n type: 'avatar',\n valueOf: (item, { name }) => Object.assign({}, { id: item[name] })\n },\n {\n name: 'name',\n title: '姓名',\n type: 'mainInfo',\n primary: false,\n hover: false\n },\n {\n name: 'phone',\n title: '电话',\n type: 'other'\n },\n {\n name: 'email',\n title: '邮箱',\n type: 'other'\n },\n {\n name: 'tenantOrg',\n title: '部门',\n valueOf: item => {\n return item.tenantOrg?.name;\n }\n },\n {\n name: 'description',\n type: 'description',\n title: '描述',\n ellipsis: true\n }\n ];\n};\n\nexport default getColumns;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Flex } from 'antd';\n\nconst FormInner = createWithRemoteLoader({\n modules: ['components-core:FormInfo']\n})(({ remoteModules, apis }) => {\n const [FormInfo] = remoteModules;\n const { Avatar, Input, PhoneNumber, TextArea, SuperSelectTree } = FormInfo.fields;\n return (\n <FormInfo\n column={1}\n list={[\n <Flex justify=\"center\">\n <Avatar name=\"avatar\" label=\"头像\" labelHidden interceptor=\"photo-string\" />\n </Flex>,\n <Input name=\"name\" label=\"姓名\" rule=\"REQ LEN-0-100\" />,\n <SuperSelectTree name=\"tenantOrgId\" label=\"部门\" api={apis.orgList} valueKey=\"id\" labelKey=\"name\" single interceptor=\"object-output-value\" />,\n <PhoneNumber name=\"phone\" label=\"手机\" format=\"string\" />,\n <Input name=\"email\" label=\"邮箱\" rule=\"EMAIL LEN-0-100\" />,\n <TextArea name=\"description\" label=\"描述\" block />\n ]}\n />\n );\n});\n\nexport default FormInner;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Button, App } from 'antd';\nimport FormInner from '../FormInner';\nimport merge from 'lodash/merge';\n\nconst Edit = createWithRemoteLoader({\n modules: ['components-core:FormInfo@useFormModal', 'components-core:Global@usePreset']\n})(({ remoteModules, apis, onSuccess, data, ...props }) => {\n const [useFormModal, usePreset] = remoteModules;\n const formModal = useFormModal();\n const { ajax } = usePreset();\n const { message } = App.useApp();\n\n return (\n <Button\n {...props}\n onClick={() => {\n formModal({\n title: '编辑用户',\n size: 'small',\n formProps: {\n data: Object.assign({}, data, {\n tenantOrgId: data.tenantOrg\n ? {\n id: data.tenantOrg.id,\n name: data.tenantOrg.name\n }\n : null\n }),\n onSubmit: async formData => {\n const { data: resData } = await ajax(\n merge({}, apis.save, {\n data: Object.assign({}, formData, { id: data.id })\n })\n );\n\n if (resData.code !== 0) {\n return false;\n }\n\n message.success('保存成功');\n onSuccess && onSuccess();\n }\n },\n children: <FormInner apis={apis} />\n });\n }}\n />\n );\n});\n\nexport default Edit;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport merge from 'lodash/merge';\nimport { App } from 'antd';\n\nconst SetStatus = createWithRemoteLoader({\n modules: ['components-core:LoadingButton', 'components-core:ConfirmButton', 'components-core:Global@usePreset']\n})(({ remoteModules, data, onSuccess, apis, ...props }) => {\n const [LoadingButton, ConfirmButton, usePreset] = remoteModules;\n const { ajax } = usePreset();\n const { message } = App.useApp();\n const CurrentButton = props.message || props.confirm ? ConfirmButton : LoadingButton;\n return (\n <CurrentButton\n {...props}\n onClick={async () => {\n const { data: resData } = await ajax(\n merge({}, apis.setStatus, {\n data: { id: data.id, status: data.status === 'open' ? 'closed' : 'open' }\n })\n );\n if (resData.code !== 0) {\n return;\n }\n message.success('修改成功');\n onSuccess && onSuccess();\n }}\n />\n );\n});\n\nexport default SetStatus;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport merge from 'lodash/merge';\nimport { Flex, App } from 'antd';\n\nconst Invite = createWithRemoteLoader({\n modules: ['components-core:LoadingButton', 'components-core:Modal@useModal', 'components-core:Global@usePreset', 'components-core:InfoPage@CentralContent']\n})(({ remoteModules, data, apis, onSuccess, ...props }) => {\n const [LoadingButton, useModal, usePreset, CentralContent] = remoteModules;\n const { ajax } = usePreset();\n const modal = useModal();\n const { message } = App.useApp();\n return (\n <LoadingButton\n {...props}\n onClick={async () => {\n const { data: resData } = await ajax(\n merge({}, apis.inviteToken, {\n params: { id: data.id }\n })\n );\n if (resData.code !== 0) {\n return;\n }\n modal({\n title: '邀请用户',\n footer: null,\n children: (\n <Flex vertical gap={40}>\n <Flex flex={1}>\n <CentralContent\n dataSource={Object.assign({}, data, {\n token: resData.data.token\n })}\n columns={[\n {\n name: 'id',\n title: 'ID'\n },\n {\n name: 'name',\n title: '姓名'\n },\n {\n name: 'token',\n title: '邀请链接',\n block: true,\n render: value => {\n return `${window.location.origin}/join-tenant?token=${value}`;\n }\n }\n ]}\n />\n </Flex>\n <Flex gap={8} justify=\"center\">\n <LoadingButton\n type=\"primary\"\n onClick={async () => {\n const { data: resData } = await ajax(\n merge({}, apis.userInviteMessage, {\n data: { id: data.id }\n })\n );\n if (resData.code !== 0) {\n return;\n }\n message.success('发送成功');\n }}\n >\n 发送邀请邮件\n </LoadingButton>\n <LoadingButton\n onClick={async () => {\n await navigator.clipboard.writeText(`${window.location.origin}/join-tenant?token=${resData.data.token}`);\n message.success('复制成功');\n }}\n >\n 复制邀请链接\n </LoadingButton>\n </Flex>\n </Flex>\n )\n });\n }}\n />\n );\n});\n\nexport default Invite;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport merge from 'lodash/merge';\nimport { App } from 'antd';\n\nconst Remove = createWithRemoteLoader({\n modules: ['components-core:LoadingButton', 'components-core:ConfirmButton', 'components-core:Global@usePreset']\n})(({ remoteModules, data, onSuccess, apis, ...props }) => {\n const [LoadingButton, ConfirmButton, usePreset] = remoteModules;\n const { ajax } = usePreset();\n const { message } = App.useApp();\n const CurrentButton = props.message || props.confirm ? ConfirmButton : LoadingButton;\n return (\n <CurrentButton\n {...props}\n onClick={async () => {\n const { data: resData } = await ajax(\n merge({}, apis.remove, {\n data: { id: data.id }\n })\n );\n if (resData.code !== 0) {\n return;\n }\n message.success('删除成功');\n onSuccess && onSuccess();\n }}\n />\n );\n});\n\nexport default Remove;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport Edit from './Edit';\nimport SetStatus from './SetStatus';\nimport Invite from './Invite';\nimport Remove from './Remove';\n\nconst Actions = createWithRemoteLoader({\n modules: ['components-core:ButtonGroup']\n})(({ remoteModules, moreType, children, itemClassName, ...props }) => {\n const [ButtonGroup] = remoteModules;\n const actionList = [\n {\n ...props,\n children: '编辑',\n buttonComponent: Edit\n },\n {\n ...props,\n children: '邀请',\n buttonComponent: Invite,\n hidden: props.data?.userId\n },\n {\n ...props,\n children: '开启',\n buttonComponent: SetStatus,\n hidden: props.data?.status === 'open'\n },\n {\n ...props,\n children: '关闭',\n buttonComponent: SetStatus,\n hidden: props.data?.status === 'closed',\n message: '确定要关闭用户吗?关闭后他将不能使用当前租户',\n isDelete: false\n },\n {\n ...props,\n children: '删除',\n buttonComponent: Remove,\n message: '确定要删除用户吗?删除后他将不能使用当前租户'\n }\n ];\n\n if (typeof children === 'function') {\n return children({\n itemClassName,\n moreType,\n list: actionList\n });\n }\n\n return <ButtonGroup itemClassName={itemClassName} list={actionList} moreType={moreType} />;\n});\n\nexport default Actions;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Button, App } from 'antd';\nimport merge from 'lodash/merge';\nimport FormInner from '../FormInner';\n\nconst Create = createWithRemoteLoader({\n modules: ['components-core:FormInfo@useFormModal', 'components-core:Global@usePreset']\n})(({ remoteModules, apis, onSuccess, ...props }) => {\n const [useFormModal, usePreset] = remoteModules;\n const formModal = useFormModal();\n const { ajax } = usePreset();\n const { message } = App.useApp();\n return (\n <Button\n {...props}\n onClick={() => {\n formModal({\n title: '添加用户',\n size: 'small',\n formProps: {\n onSubmit: async formData => {\n const { data: resData } = await ajax(\n merge({}, apis.create, {\n data: formData\n })\n );\n if (resData.code !== 0) {\n return false;\n }\n message.success('添加成功');\n onSuccess && onSuccess();\n }\n },\n children: <FormInner apis={apis} />\n });\n }}\n />\n );\n});\n\nexport default Create;\n","// extracted by mini-css-extract-plugin\nexport default {\"card\":\"style_card__CJL+p__S2Y+l\",\"avatar\":\"style_avatar__GrE8R__S2Y+l\"};","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Card, Typography } from 'antd';\nimport style from './style.module.scss';\n\nconst { Title, Paragraph } = Typography;\n\nconst UserCard = createWithRemoteLoader({\n modules: ['components-core:Image', 'components-core:InfoPage@SplitLine']\n})(({ remoteModules, data }) => {\n const [Image, SplitLine] = remoteModules;\n\n return (\n <Card className={style['card']}>\n <div className={style['avatar']}>\n <Image.Avatar size={100} id={data.avatar} />\n </div>\n <Title level={4}>{data.name}</Title>\n {data.tenantOrg && (\n <Title level={5} type=\"secondary\">\n {data.tenantOrg.name}\n </Title>\n )}\n <SplitLine\n dataSource={data}\n columns={[\n {\n name: 'phone',\n title: '手机号'\n },\n {\n name: 'email',\n title: '邮箱'\n }\n ]}\n />\n <Paragraph>{data.description}</Paragraph>\n </Card>\n );\n});\n\nexport default UserCard;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { useState, useRef } from 'react';\nimport merge from 'lodash/merge';\nimport { Flex, Button } from 'antd';\nimport getColumns from './getColumns';\nimport Actions from './Actions';\nimport Create from './Actions/Create';\n\nconst UserList = createWithRemoteLoader({\n modules: ['components-core:Table@TablePage', 'components-core:Filter']\n})(({ remoteModules, apis, topOptionsSize, children }) => {\n const [TablePage, Filter] = remoteModules;\n const ref = useRef();\n const { SearchInput, FilterProvider, getFilterValue } = Filter;\n const [filter, setFilter] = useState([]);\n const filterValue = getFilterValue(filter);\n const topOptions = (\n <Flex gap={8}>\n <SearchInput size={topOptionsSize} name=\"keyword\" label=\"关键字\" />\n <Create\n type=\"primary\"\n size={topOptionsSize}\n apis={apis}\n onSuccess={() => {\n ref.current.reload();\n }}\n >\n 添加\n </Create>\n </Flex>\n );\n\n const tableOptions = {\n ...merge({}, apis.list, {\n params: {\n filter: filterValue\n }\n }),\n ref,\n columns: [\n ...getColumns(),\n {\n name: 'options',\n type: 'options',\n title: '操作',\n fixed: 'right',\n valueOf: item => {\n return {\n children: (\n <Actions\n itemClassName=\"btn-no-padding\"\n moreType=\"link\"\n data={item}\n apis={apis}\n onSuccess={() => {\n ref.current.reload();\n }}\n />\n )\n };\n }\n }\n ],\n name: 'tenant-user-list',\n pagination: { paramsType: 'params' }\n };\n\n if (typeof children === 'function') {\n return children({\n filter,\n topOptions,\n tableOptions\n });\n }\n\n return (\n <Flex vertical gap={8}>\n <Flex justify=\"space-between\">\n <div></div>\n <FilterProvider value={filter} onChange={setFilter}>\n {topOptions}\n </FilterProvider>\n </Flex>\n <TablePage {...tableOptions} />\n </Flex>\n );\n});\n\nexport default UserList;\n\nexport { default as UserCard } from './UserCard';\n","const getColumns = () => {\n return [\n {\n name: 'id',\n title: 'ID',\n type: 'serialNumber',\n primary: false,\n hover: false\n },\n {\n name: 'name',\n title: '角色名称',\n type: 'mainInfo',\n primary: false,\n hover: false\n },\n {\n name: 'type',\n title: '类型',\n type: 'tag',\n valueOf: ({ type }) => {\n return type === 'system'\n ? {\n type: 'default',\n text: '系统'\n }\n : {\n type: 'info',\n text: '自定义'\n };\n }\n },\n {\n name: 'code',\n title: '角色编码'\n },\n {\n name: 'description',\n title: '描述',\n type: 'description',\n ellipsis: true\n }\n ];\n};\n\nexport default getColumns;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\n\nconst FormInner = createWithRemoteLoader({\n modules: ['components-core:FormInfo']\n})(({ remoteModules, action, ...props }) => {\n const [FormInfo] = remoteModules;\n const { Input, TextArea } = FormInfo.fields;\n return (\n <FormInfo\n column={1}\n list={[\n <Input name=\"name\" label=\"角色名称\" rule=\"REQ LEN-2-100\" />,\n <Input name=\"code\" label=\"角色编码\" rule=\"REQ LEN-2-100\" disabled={action === 'edit'} />,\n <TextArea name=\"description\" label=\"角色描述\" />\n ]}\n />\n );\n});\n\nexport default FormInner;\n","import BizUnit from '@components/BizUnit';\nimport getColumns from './getColumns';\nimport FormInner from './FormInner';\n\nconst Role = ({ apis }) => {\n return (\n <BizUnit\n apis={apis}\n getColumns={getColumns}\n getFormInner={props => {\n return <FormInner {...props} />;\n }}\n getActionList={({ data }) => {\n if (data.type === 'system') {\n return ['remove', 'setStatusOpen', 'setStatusClose', 'save'].map(name => {\n return { name, hidden: true };\n });\n }\n return [];\n }}\n name=\"role-list\"\n options={{\n bizName: '角色'\n }}\n />\n );\n};\n\nexport default Role;\n","// extracted by mini-css-extract-plugin\nexport default {\"tenant-permission\":\"style_tenant-permission__XoNlH__S2Y+l\",\"modules-menu\":\"style_modules-menu__N5jU4__S2Y+l\",\"permission-panel\":\"style_permission-panel__6A4F-__S2Y+l\",\"permission-panel-checkbox\":\"style_permission-panel-checkbox__EwDbs__S2Y+l\",\"permission-panel-col\":\"style_permission-panel-col__bkKe7__S2Y+l\",\"empty\":\"style_empty__M27O1__S2Y+l\",\"permission-panel-scroller\":\"style_permission-panel-scroller__Oa60Q__S2Y+l\"};","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport useControlValue from '@kne/use-control-value';\nimport Fetch from '@kne/react-fetch';\nimport { Menu, Checkbox, Flex, Divider, Empty, Button } from 'antd';\nimport flattenPermissions from './flattenPermissions';\nimport { useState } from 'react';\nimport get from 'lodash/get';\nimport style from './style.module.scss';\n\nconst PermissionPanel = createWithRemoteLoader({\n modules: ['components-core:Common@SimpleBar']\n})(({ remoteModules, settings, ...props }) => {\n const [value, onChange] = useControlValue(props);\n const [SimpleBar] = remoteModules;\n const [currentList, setCurrentList] = useState([0]);\n const allPermission = flattenPermissions(settings).map(({ code }) => code);\n const onCheckedChange = ({ itemCode, checked, parentCodeList }) => {\n onChange(value => {\n if (checked) {\n return value.slice(0).concat(parentCodeList).concat(itemCode);\n } else {\n return value.slice(0).filter(item => item.indexOf(itemCode) !== 0);\n }\n });\n };\n const renderCol = ({\n code = '',\n parentCodeString = '',\n parentCodeList = [],\n modules,\n permissions,\n onActiveChange,\n currentIndex = 0,\n level = 0\n }) => {\n const valueCode = `${parentCodeString ? `${parentCodeString}:` : ''}${code}`;\n return (\n <>\n <Flex vertical className={style['permission-panel-col']} key={code || 'root'}>\n {modules && modules.length > 0 && (\n <Menu\n className={style['modules-menu']}\n selectedKeys={[modules[currentIndex].code]}\n onSelect={({ key }) => {\n const currentIndex = modules.findIndex(item => item.code === key);\n onActiveChange(currentIndex, level);\n }}\n items={modules.map(({ code, name }) => {\n const itemCode = `${valueCode ? `${valueCode}:` : ''}${code}`;\n const checked = value.indexOf(itemCode) > -1;\n const hasAllChildren = allPermission.filter(code => code.indexOf(itemCode) === 0).every(code => value.indexOf(code) > -1);\n return {\n key: code,\n label: (\n <Flex gap={8} align=\"center\" justify=\"space-between\">\n <Flex>\n <Checkbox\n checked={checked}\n onChange={e =>\n onCheckedChange({\n itemCode,\n checked: e.target.checked,\n parentCodeList: valueCode ? parentCodeList.concat(valueCode) : parentCodeList\n })\n }\n />\n <div>{name}</div>\n </Flex>\n {!hasAllChildren && (\n <Button\n type=\"link\"\n className=\"btn-no-padding\"\n onClick={() => {\n onChange(value => {\n const currentChildren = allPermission.filter(code => code.indexOf(itemCode) === 0 && value.indexOf(code) === -1);\n return value.slice(0).concat(currentChildren);\n });\n }}>\n 全选\n </Button>\n )}\n </Flex>\n )\n };\n })}\n />\n )}\n {modules && modules.length > 0 && permissions && permissions.length > 0 && <Divider />}\n {permissions && permissions.length > 0 && (\n <div className={style['permission-panel']}>\n {permissions.map(item => {\n const itemCode = `${valueCode ? `${valueCode}:` : ''}${item.code}`;\n return (\n <Checkbox\n key={item.code}\n checked={value.indexOf(itemCode) > -1}\n onChange={e =>\n onCheckedChange({\n itemCode,\n checked: e.target.checked,\n parentCodeList: valueCode ? parentCodeList.concat(valueCode) : parentCodeList\n })\n }>\n {item.name}\n </Checkbox>\n );\n })}\n </div>\n )}\n </Flex>\n {modules &&\n modules.length > 0 &&\n renderCol(\n Object.assign({}, get(modules, `[${currentIndex}]`), {\n currentIndex: currentList[level + 1] || 0,\n level: level + 1,\n parentCodeString: valueCode,\n parentCodeList: valueCode ? parentCodeList.concat(valueCode) : [],\n onActiveChange\n })\n )}\n {!(permissions && permissions.length > 0) && !(modules && modules.length > 0) && <Empty className={style['empty']} />}\n </>\n );\n };\n\n return (\n <SimpleBar className={style['permission-panel-scroller']}>\n <Flex className={style['permission-panel-wrapper']}>\n {renderCol(\n Object.assign({}, settings, {\n currentIndex: currentList[0] || 0,\n onActiveChange: (index, level) => {\n setCurrentList(currentList.slice(0, level).concat(index));\n }\n })\n )}\n </Flex>\n </SimpleBar>\n );\n});\n\nconst TenantPermission = createWithRemoteLoader({\n modules: ['components-core:Common@SimpleBar']\n})(({ remoteModules, apis, children }) => {\n const [SimpleBar] = remoteModules;\n\n const target = (\n <div className={style['tenant-permission']}>\n <Fetch\n {...Object.assign({}, apis.list)}\n render={({ data }) => {\n const { permissions, tenantPermissions } = data;\n return <PermissionPanel settings={permissions} defaultValue={tenantPermissions || []} />;\n }}\n />\n </div>\n );\n\n if (typeof children === 'function') {\n return children({\n children: target\n });\n }\n\n return target;\n});\n\nexport default TenantPermission;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { useState } from 'react';\nimport Role from '../Role';\nimport TenantPermission from '../TenantPermission';\n\nconst Permission = createWithRemoteLoader({\n modules: ['components-core:StateBar']\n})(({ remoteModules, apis, children }) => {\n const [StateBar] = remoteModules;\n const [activeKey, setActiveKey] = useState('tenant-permission');\n\n const stateBar = (\n <StateBar\n activeKey={activeKey}\n onChange={setActiveKey}\n type=\"radio\"\n stateOption={[\n { tab: '租户权限', key: 'tenant-permission' },\n { tab: '角色', key: 'role' },\n { tab: '共享组', key: 'sharedGroup' }\n ]}\n />\n );\n\n return (\n <>\n {typeof children === 'function' ? null : stateBar}\n {activeKey === 'tenant-permission' && (\n <TenantPermission apis={apis.permission}>\n {typeof children === 'function'\n ? props =>\n children(\n Object.assign({}, props, {\n stateBar\n })\n )\n : null}\n </TenantPermission>\n )}\n {activeKey === 'role' && (\n <Role apis={apis.role}>\n {typeof children === 'function'\n ? props =>\n children(\n Object.assign({}, props, {\n stateBar\n })\n )\n : null}\n </Role>\n )}\n {activeKey === 'sharedGroup' && '共享组'}\n </>\n );\n});\n\nexport default Permission;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport Fetch from '@kne/react-fetch';\nimport { App } from 'antd';\nimport dayjs from 'dayjs';\n\nconst TenantUserInfo = createWithRemoteLoader({\n modules: ['components-core:Global@SetGlobal', 'components-core:Global@usePreset']\n})(({ remoteModules, children }) => {\n const [SetGlobal, usePreset] = remoteModules;\n const { apis } = usePreset();\n const { notification } = App.useApp();\n return (\n <Fetch\n cache=\"tenant-user-info\"\n {...Object.assign({}, apis.tenant.getUserInfo)}\n render={({ data, reload }) => {\n const { serviceStartTime, serviceEndTime } = data.tenant;\n if (!(dayjs().isAfter(dayjs(serviceStartTime)) && dayjs().isBefore(dayjs(serviceEndTime).endOf('day')))) {\n notification.warning({\n message: '重要通知',\n description: `您的系统服务期限为${dayjs(serviceStartTime).format('YYYY-MM-DD')}~${dayjs(serviceEndTime).format('YYYY-MM-DD')},请联系管理员,超出服务期限系统可能会被禁用,目前暂时不影响使用`\n });\n }\n return (\n <>\n <SetGlobal globalKey=\"themeToken\" value={{ colorPrimary: data.tenant.themeColor }} />\n <SetGlobal\n globalKey=\"userInfo\"\n value={{\n tenantUserInfo: data.tenantUserInfo,\n company: data.company,\n tenant: data.tenant,\n userInfo: data.userInfo,\n reload\n }}\n needReady>\n {children}\n </SetGlobal>\n </>\n );\n }}\n />\n );\n});\n\nexport default TenantUserInfo;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { Flex, Button } from 'antd';\nimport { Outlet, useNavigate } from 'react-router-dom';\nimport Authenticate from './Authenticate';\n\nconst AfterTenantLoginLayout = createWithRemoteLoader({\n modules: ['components-admin:Authenticate@MainLayout', 'components-admin:UserTool']\n})(({ remoteModules, navigation, switchTenantPath, ...props }) => {\n const [MainLayout, UserTool] = remoteModules;\n const navigate = useNavigate();\n return (\n <Authenticate>\n {({ global }) => {\n const { tenantUserInfo, company, tenant } = global;\n return (\n <MainLayout\n {...props}\n navigation={Object.assign(\n {},\n {\n headerLogo: {\n style: { width: '108px' },\n id: tenant.logo\n },\n rightOptions: (\n <UserTool\n name={tenantUserInfo.name}\n email={tenantUserInfo.email || tenantUserInfo.phone}\n avatar={tenantUserInfo.avatar}\n list={[\n {\n label: (\n <Flex justify=\"space-between\" flex={1} gap={8}>\n <span key=\"name\">{company.name}</span>\n <Button\n key=\"btn\"\n type=\"link\"\n className=\"btn-no-padding\"\n onClick={() => {\n navigate(switchTenantPath);\n }}>\n 切换租户\n </Button>\n </Flex>\n ),\n iconType: 'gongsi'\n }\n ]}\n />\n )\n },\n navigation\n )}>\n <Outlet />\n </MainLayout>\n );\n }}\n </Authenticate>\n );\n});\n\nexport default AfterTenantLoginLayout;\n","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport AppChildrenRouter from '@kne/app-children-router';\nimport AfterTenantLoginLayout from './AfterTenantLoginLayout';\n\nconst Tenant = createWithRemoteLoader({\n modules: ['components-admin:Authenticate@AfterUserLoginLayout']\n})(({ remoteModules, baseUrl, navigation = {}, list = [], children, ...props }) => {\n const [AfterUserLoginLayout] = remoteModules;\n return (\n <AppChildrenRouter\n {...props}\n baseUrl={baseUrl}\n list={[\n {\n path: 'tenant/*',\n element: (\n <AppChildrenRouter\n baseUrl={`${baseUrl}/tenant`}\n element={\n <AfterTenantLoginLayout\n navigation={{\n base: `${baseUrl}/tenant`,\n showIndex: false,\n list: [\n ...(navigation.list || []),\n {\n key: 'setting',\n title: '系统设置',\n path: `${baseUrl}/tenant/setting`\n }\n ]\n }}\n switchTenantPath={`${baseUrl}/login-tenant`}\n />\n }\n list={[\n ...list,\n {\n path: 'setting/*',\n loader: () => import('./Setting')\n }\n ]}\n />\n )\n },\n {\n path: '*',\n element: (\n <AppChildrenRouter\n baseUrl={baseUrl}\n element={<AfterUserLoginLayout />}\n list={[\n {\n path: 'join-tenant',\n loader: () => import('./JoinInvitation')\n },\n {\n path: 'login-tenant',\n elementProps: {\n tenantPath: `${baseUrl}/tenant`\n },\n loader: () => import('./LoginTenant')\n }\n ]}>\n {children}\n </AppChildrenRouter>\n )\n }\n ]}\n />\n );\n});\n\nexport default Tenant;\n","// extracted by mini-css-extract-plugin\nexport default {\"card\":\"style_card__q-lvC__S2Y+l\",\"steps\":\"style_steps__4er1b__S2Y+l\"};","import { createWithRemoteLoader } from '@kne/remote-loader';\nimport { useState } from 'react';\nimport { Card, Button, Flex, Steps, Result } from 'antd';\nimport Fetch from '@kne/react-fetch';\nimport CountDown from '@kne/count-down';\nimport { useSearchParams, useNavigate } from 'react-router-dom';\nimport CompanyInfo from '../CompanyInfo';\nimport { UserCard } from '../UserList';\nimport style from './style.module.scss';\n\nconst JoinInvitation = createWithRemoteLoader({\n modules: ['components-core:Layout@Page', 'components-core:Global@usePreset', 'components-core:InfoPage', 'components-core:LoadingButton']\n})(({ remoteModules, baseUrl = '' }) => {\n const [Page, usePreset, InfoPage, LoadingButton] = remoteModules;\n const [current, setCurrent] = useState(0);\n const { apis, ajax } = usePreset();\n const [searchParams] = useSearchParams();\n const navigate = useNavigate();\n\n const token = searchParams.get('token');\n\n return (\n <Page backgroundColor=\"transparent\">\n <Fetch\n {...Object.assign({}, apis.tenant.parseJoinToken, {\n data: { token }\n })}\n render={({ data }) => {\n const { tenant, tenantUser } = data;\n if (!(tenant && tenant.status === 'open' && tenantUser && tenantUser.status === 'open')) {\n return <Result status=\"error\" title=\"邀请链接已失效\" subTitle=\"请联系管理员解决此问题\" />;\n }\n return (\n <Card className={style['card']} title={`邀请您加入【${data.company.name}】`}>\n <Flex vertical gap={40}>\n <Steps\n className={style['steps']}\n current={current}\n items={[\n {\n title: '确认公司信息'\n },\n {\n title: '确认员工信息'\n },\n {\n title: '完成'\n }\n ]}\n />\n {current === 0 && (\n <InfoPage>\n <InfoPage.Part title=\"公司信息\">\n <CompanyInfo.Detail data={data.company} />\n </InfoPage.Part>\n <Flex justify=\"center\">\n <Button\n type=\"primary\"\n size=\"large\"\n onClick={() => {\n setCurrent(1);\n }}\n >\n 确认公司信息\n </Button>\n </Flex>\n </InfoPage>\n )}\n {current === 1 && (\n <Flex vertical gap={60}>\n <UserCard data={data.tenantUser} />\n <Flex justify=\"center\">\n <LoadingButton\n type=\"primary\"\n size=\"large\"\n onClick={async () => {\n const { data: resData } = await ajax(\n Object.assign({}, apis.tenant.join, {\n data: {\n token\n }\n })\n );\n if (resData.code !== 0) {\n navigate(`${baseUrl}/login-tenant`);\n return;\n }\n setCurrent(2);\n }}\n >\n 确认员工信息\n </LoadingButton>\n </Flex>\n </Flex>\n )}\n {current === 2 && (\n <Flex vertical gap={60}>\n <Result\n status=\"success\"\n title={`欢迎您加入【${data.company.name}】!`}\n subTitle={\n <>\n <CountDown\n duration={5}\n format=\"s\"\n onComplete={() => {\n window.location.href = `${baseUrl}/tenant`;\n }}\n />\n 秒后自动跳转到系统首页\n </>\n }\n extra={\n <Button\n type=\"primary\"\n size=\"large\"\n onClick={() => {\n window.location.href = `${baseUrl}/tenant`;\n }}\n >\n 直接进入\n </Button>\n }\n />\n </Flex>\n )}\n </Flex>\n </Card>\n );\n }}\n />\n </Page>\n );\n});\n\nexport default JoinInvitation;\n"],"names":["module","exports","data","result","processModule","parentCode","arguments","length","undefined","currentCode","concat","code","push","name","type","modules","forEach","subModule","permissions","permission","createWithRemoteLoader","_ref","remoteModules","FormInfo","TableList","DatePicker","Input","fields","_jsx","className","style","list","label","rule","developmentHistory","children","Timeline","mode","items","map","item","dayjs","time","format","event","Empty","TextArea","block","Title","Paragraph","Typography","Content","col","content","fullName","website","Link","href","target","description","Upload","interceptor","getPermission","indexOf","Image","banners","Carousel","arrows","autoplay","image","index","id","List","Avatar","TeamMember","avatar","role","_jsxs","Card","size","level","_ref2","teamDescription","Row","gutter","justify","Col","xs","sm","lg","CompanyDetail","InfoPage","_Fragment","Banner","Part","Basic","title","DevelopmentHistory","TeamDescription","CompanyInfo","onSubmit","apis","isEdit","setIsEdit","useState","Form","SubmitButton","CancelButton","async","formData","Flex","gap","vertical","BannerFormInner","BasicFormInner","DevelopmentHistoryFormInner","TeamDescriptionFormInner","onClick","extra","Button","icon","FormOutlined","Detail","onSuccess","options","getFormInner","props","_objectWithoutProperties","_excluded","useFormModal","usePreset","formModal","ajax","message","App","useApp","_objectSpread","Object","assign","editButtonProps","merge","bizName","formProps","resData","save","success","action","formModalProps","editFormModalProps","LoadingButton","ConfirmButton","CurrentButton","confirm","status","closeButtonProps","openButtonProps","setStatus","removeButtonProps","remove","moreType","itemClassName","getActionList","otherProps","ButtonGroup","actionList","otherActionList","_props$data","_props$data2","_props$options","_props$options2","_props$options3","_props$options4","buttonComponent","Edit","SetStatus","hidden","closeMessage","isDelete","Remove","removeMessage","Array","isArray","_excluded2","existItem","find","splice","createButtonProps","create","createFormModalProps","topOptionsSize","getColumns","filterList","allowKeywordSearch","tableProps","pagination","paramsType","TablePage","Filter","ref","useRef","SearchInput","getFilterValue","filter","setFilter","filterValue","topOptions","Create","tableOptions","current","reload","params","columns","fixed","valueOf","Actions","value","onChange","menu","Page","Fetch","tenant","companyDetail","render","companySave","useGlobalContext","global","orgList","_global$tenant","_global$tenant$tenant","OrgInfo","companyName","tenantCompany","orgCreate","orgSave","orgRemove","UserList","userList","userCreate","userSave","userRemove","userSetStatus","inviteToken","userInviteToken","userInviteMessage","baseUrl","originalBaseUrl","Menu","key","path","AppChildrenRouter","element","Navigate","to","replace","Company","Org","User","column","OrgOptions","showLength","Icon","parentId","FormInner","disabled","GraphOrg","SimpleBar","expandIds","setExpandIds","renderNode","node","card","hoverable","MinusCircleOutlined","PlusCircleOutlined","shape","newExpandIds","slice","OrgChart","autoHide","TreeOrg","_ref3","ids","expandedKeys","setExpandedKeys","useEffect","Tree","showLine","showIcon","selectable","fieldNames","treeData","onExpand","titleRender","nodeData","_ref4","StateBar","activeKey","setActiveKey","useMemo","parseTree","output","stateOption","tab","tenantPath","SplitLine","loading","setLoading","availableList","dataSource","renderItem","_item$tenant","_item$tenant$tenantCo","_item$tenant2","_item$tenant3","_item$tenant3$tenantC","itemInner","Item","Meta","logo","isSelected","tenantId","defaultTenantId","switchDefaultTenant","classnames","Badge","Ribbon","text","window","location","backgroundColor","SelectTenant","primary","hover","_item$tenantOrg","tenantOrg","ellipsis","PhoneNumber","SuperSelectTree","labelHidden","api","valueKey","labelKey","single","tenantOrgId","useModal","CentralContent","modal","footer","flex","token","origin","navigator","clipboard","writeText","_props$data3","Invite","userId","FilterProvider","BizUnit","PermissionPanel","settings","useControlValue","currentList","setCurrentList","allPermission","flattenPermissions","onCheckedChange","itemCode","checked","parentCodeList","renderCol","parentCodeString","onActiveChange","currentIndex","valueCode","selectedKeys","onSelect","_ref5","findIndex","_ref6","hasAllChildren","every","align","Checkbox","e","currentChildren","Divider","get","_ref7","_ref8","tenantPermissions","defaultValue","stateBar","TenantPermission","Role","SetGlobal","notification","cache","getUserInfo","serviceStartTime","serviceEndTime","isAfter","isBefore","endOf","warning","globalKey","colorPrimary","themeColor","tenantUserInfo","company","userInfo","needReady","navigation","switchTenantPath","MainLayout","UserTool","navigate","useNavigate","Authenticate","headerLogo","width","rightOptions","email","phone","iconType","Outlet","AfterUserLoginLayout","AfterTenantLoginLayout","base","showIndex","loader","elementProps","setCurrent","searchParams","useSearchParams","parseJoinToken","tenantUser","Steps","UserCard","join","Result","subTitle","CountDown","duration","onComplete"],"ignoreList":[],"sourceRoot":""}