react-toolkits 2.24.18 → 2.24.20

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 (82) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +14 -0
  3. package/lib/chunk-3VI7KSDA.js +2 -0
  4. package/lib/chunk-3VI7KSDA.js.map +1 -0
  5. package/lib/chunk-3ZT3BOPJ.js +3 -0
  6. package/lib/chunk-3ZT3BOPJ.js.map +1 -0
  7. package/lib/chunk-D5OM3OZU.js +2 -0
  8. package/lib/chunk-D5OM3OZU.js.map +1 -0
  9. package/lib/chunk-F3OT6ENF.js +2 -0
  10. package/lib/chunk-F3OT6ENF.js.map +1 -0
  11. package/lib/chunk-FD52RBG7.js +2 -0
  12. package/lib/chunk-FD52RBG7.js.map +1 -0
  13. package/lib/chunk-IWPBGSXS.js +2 -0
  14. package/lib/chunk-IWPBGSXS.js.map +1 -0
  15. package/lib/chunk-S4LUEDFA.js +2 -0
  16. package/lib/chunk-S4LUEDFA.js.map +1 -0
  17. package/lib/chunk-SMBHLRAO.js +2 -0
  18. package/lib/chunk-SMBHLRAO.js.map +1 -0
  19. package/lib/chunk-XX2BCZJU.js +2 -0
  20. package/lib/chunk-XX2BCZJU.js.map +1 -0
  21. package/lib/createMenuItem-5DDIEELO.js +2 -0
  22. package/lib/createMenuItem-5DDIEELO.js.map +1 -0
  23. package/lib/index.css +1 -1
  24. package/lib/index.d.ts +23 -11
  25. package/lib/index.js +2 -2
  26. package/lib/index.js.map +1 -1
  27. package/lib/menuItemList-4ZLZ7HSG.js +2 -0
  28. package/lib/menuItemList-4ZLZ7HSG.js.map +1 -0
  29. package/lib/{roleDetail-EYQ2HREL.js → roleDetail-42BOHDFS.js} +2 -2
  30. package/lib/roleDetail-42BOHDFS.js.map +1 -0
  31. package/lib/roleList-KWWO3IFL.js +2 -0
  32. package/lib/roleList-KWWO3IFL.js.map +1 -0
  33. package/lib/updateMenuItem-E5QMBR2S.js +2 -0
  34. package/lib/updateMenuItem-E5QMBR2S.js.map +1 -0
  35. package/lib/userDetail-L7Q3C67K.js +2 -0
  36. package/lib/userDetail-L7Q3C67K.js.map +1 -0
  37. package/lib/userList-IU4L5YRJ.js +2 -0
  38. package/lib/userList-IU4L5YRJ.js.map +1 -0
  39. package/locale/context.js.map +1 -1
  40. package/locale/en_GB.js +1 -1
  41. package/locale/en_GB.js.map +1 -1
  42. package/locale/hooks.js +1 -1
  43. package/locale/hooks.js.map +1 -1
  44. package/locale/index.d.ts +1 -1
  45. package/locale/ja_JP.js +1 -1
  46. package/locale/ja_JP.js.map +1 -1
  47. package/locale/ko_KR.js +1 -1
  48. package/locale/ko_KR.js.map +1 -1
  49. package/locale/zh_CN.js +1 -1
  50. package/locale/zh_CN.js.map +1 -1
  51. package/package.json +10 -10
  52. package/lib/chunk-2OEQYX3O.js +0 -2
  53. package/lib/chunk-2OEQYX3O.js.map +0 -1
  54. package/lib/chunk-47QCX44D.js +0 -2
  55. package/lib/chunk-47QCX44D.js.map +0 -1
  56. package/lib/chunk-4EBAPE4B.js +0 -2
  57. package/lib/chunk-4EBAPE4B.js.map +0 -1
  58. package/lib/chunk-4XO7JAVX.js +0 -2
  59. package/lib/chunk-4XO7JAVX.js.map +0 -1
  60. package/lib/chunk-RMU775LC.js +0 -2
  61. package/lib/chunk-RMU775LC.js.map +0 -1
  62. package/lib/chunk-RPEFI7RP.js +0 -3
  63. package/lib/chunk-RPEFI7RP.js.map +0 -1
  64. package/lib/chunk-WOYFKIRH.js +0 -2
  65. package/lib/chunk-WOYFKIRH.js.map +0 -1
  66. package/lib/chunk-Y3RYS76E.js +0 -2
  67. package/lib/chunk-Y3RYS76E.js.map +0 -1
  68. package/lib/chunk-ZFIKMQD3.js +0 -2
  69. package/lib/chunk-ZFIKMQD3.js.map +0 -1
  70. package/lib/createMenuItem-SETFJ7U7.js +0 -2
  71. package/lib/createMenuItem-SETFJ7U7.js.map +0 -1
  72. package/lib/menuItemList-VPYVIEYR.js +0 -2
  73. package/lib/menuItemList-VPYVIEYR.js.map +0 -1
  74. package/lib/roleDetail-EYQ2HREL.js.map +0 -1
  75. package/lib/roleList-ZW4RLM25.js +0 -2
  76. package/lib/roleList-ZW4RLM25.js.map +0 -1
  77. package/lib/updateMenuItem-2ZS3SMYT.js +0 -2
  78. package/lib/updateMenuItem-2ZS3SMYT.js.map +0 -1
  79. package/lib/userDetail-5NE5PUBC.js +0 -2
  80. package/lib/userDetail-5NE5PUBC.js.map +0 -1
  81. package/lib/userList-AFTI4FQV.js +0 -2
  82. package/lib/userList-AFTI4FQV.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/modules/menu/pages/menuItemList/index.tsx"],"names":["MenuItemList","withContext","t","useTranslation","message","App","remove","useRemoveMenu","refetch","useQueryListStore","refetchMenuList","useMenuList","navigate","useNavigate","jsx","Fragment","Card","Button","QueryList_default","value","_","record","jsxs","Space","Popconfirm","Highlight_default","data","menuItemList_default"],"mappings":"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","file":"menuItemList-VPYVIEYR.js","sourcesContent":["import type { TableColumnsType } from 'antd'\nimport { App, Button, Card, Popconfirm, Space } from 'antd'\nimport { useNavigate } from 'react-router-dom'\n\nimport { Highlight } from '@/components/highlight'\nimport { QueryList, useQueryListStore } from '@/components/queryList'\nimport { withContext } from '@/components/toolkitsProvider'\nimport { useTranslation } from '@/locale'\nimport { useMenuList } from '@/services'\nimport type { MenuListItem } from '@/types'\n\nimport { useRemoveMenu } from '../../services'\n\nconst MenuItemList = withContext(\n () => {\n const { t } = useTranslation()\n const { message } = App.useApp()\n const remove = useRemoveMenu()\n const { refetch } = useQueryListStore()\n const { refetch: refetchMenuList } = useMenuList()\n const navigate = useNavigate()\n\n const columns: TableColumnsType<MenuListItem> = [\n {\n title: '菜单名称',\n dataIndex: 'category',\n key: 'category',\n },\n {\n title: '前端路由',\n dataIndex: 'front_route',\n },\n {\n title: 'Order',\n dataIndex: 'order',\n },\n {\n title: 'Is Common',\n dataIndex: 'is_common',\n key: 'is_common',\n render: value => (value ? '是' : '否'),\n },\n {\n title: '模板名称',\n dataIndex: 'model_name',\n key: 'model_name',\n },\n // {\n // title: '是否预设',\n // dataIndex: 'is_model',\n // key: 'is_model',\n // render: value => (value ? '否' : '是'),\n // },\n {\n title: '操作',\n key: 'action',\n width: 150,\n align: 'center',\n render(_, record) {\n if (record.is_model) {\n return (\n <Space size=\"small\">\n <Button\n type=\"link\"\n onClick={() => {\n navigate(`./update/${record.id}`)\n }}\n >\n {t('global.update')}\n </Button>\n <Popconfirm\n title=\"删除菜单\"\n placement=\"topRight\"\n description={<Highlight texts={[record.category]}>确定要删除菜单 {record.category} 吗?</Highlight>}\n onConfirm={async () => {\n await remove.mutateAsync(record.id)\n // 触发所有相关实例的刷新\n refetch('menu-item-list')\n refetchMenuList()\n message.success('删除成功')\n }}\n >\n <Button danger type=\"link\" size=\"small\">\n {t('global.delete')}\n </Button>\n </Popconfirm>\n </Space>\n )\n }\n\n return null\n },\n },\n ]\n\n return (\n <>\n <Card\n title=\"菜单管理\"\n extra={\n <Button\n type=\"primary\"\n onClick={() => {\n navigate('./create')\n }}\n >\n 创建菜单项\n </Button>\n }\n >\n <QueryList<MenuListItem, undefined, MenuListItem[]>\n identifier=\"menu-item-list\"\n onePage={true}\n code=\"9900001\"\n rowKey=\"id\"\n columns={columns}\n request={{\n url: '/api/usystem/menu/list',\n method: 'GET',\n }}\n dataAdapter={data => ({\n items: data,\n })}\n />\n </Card>\n </>\n )\n },\n { isGlobal: true },\n)\n\nexport default MenuItemList\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/modules/permission/pages/roleDetail/index.tsx"],"names":["RoleDetail","params","useParams","t","useTranslation","data","isLoading","refetch","useRole","show","modal","useRoleModal","handleUpdateBtnClick","jsxs","Fragment","jsx","Breadcrumb","Link","Card","AuthButton_default","Skeleton","Descriptions","Divider","permissionList_default","roleDetail_default","withContext"],"mappings":"wYAUA,IAAMA,CAAa,CAAA,IAAM,CACvB,IAAMC,CAAAA,CAASC,SAAU,EAAA,CACnB,CAAE,CAAA,CAAAC,CAAE,CAAA,CAAIC,CAAe,EAAA,CACvB,CAAE,IAAA,CAAAC,CAAM,CAAA,SAAA,CAAAC,EAAW,OAAAC,CAAAA,CAAQ,CAAIC,CAAAA,CAAAA,CAAQP,CAAO,CAAA,IAAc,CAE5D,CAAA,CAAE,IAAAQ,CAAAA,CAAAA,CAAM,KAAAC,CAAAA,GAAM,CAAIC,CAAAA,GAAAA,CAAa,CACnC,IAAM,CAAA,QAAA,CACN,SAAY,EAAA,CACVJ,CAAQ,GACV,CACF,CAAC,CAAA,CAEKK,CAAuB,CAAA,SAAY,CACvCH,CAAAA,CAAK,CACH,aAAe,CAAA,CACb,WAAaJ,CAAAA,CAAAA,EAAM,WACnB,CAAA,IAAA,CAAMA,CAAM,EAAA,IAAA,CAAK,OAAQ,CAAA,QAAA,CAAU,EAAE,CACvC,CACA,CAAA,WAAA,CAAa,CACX,EAAIA,CAAAA,CAAAA,CAAM,EACZ,CACF,CAAC,EACH,CAEA,CAAA,OACEQ,IAAAC,CAAAA,QAAAA,CAAA,CACE,QAAA,CAAA,CAAAC,GAACC,CAAAA,UAAAA,CAAA,CACC,KAAO,CAAA,CAAE,YAAc,CAAA,QAAS,CAChC,CAAA,KAAA,CAAO,CACL,CACE,GAAK,CAAA,GAAA,CACL,KACED,CAAAA,GAAAA,CAACE,IAAA,CAAA,CAAK,GAAG,IAAK,CAAA,QAAA,CAAS,MACpB,CAAA,QAAA,CAAAd,CAAE,CAAA,aAAa,EAClB,CAEJ,CAAA,CACA,CACE,GAAA,CAAK,GACL,CAAA,KAAA,CAAOA,EAAE,kBAAkB,CAC7B,CACF,CAAA,CACF,CACAY,CAAAA,GAAAA,CAACG,IAAA,CAAA,CACC,KAAOf,CAAAA,CAAAA,CAAE,kBAAkB,CAAA,CAC3B,KACEY,CAAAA,GAAAA,CAACI,IAAA,CAAW,IAAA,CAAK,QAAS,CAAA,OAAA,CAASP,CAChC,CAAA,QAAA,CAAAT,CAAE,CAAA,eAAe,CACpB,CAAA,CAAA,CAGF,QAAAU,CAAAA,IAAAA,CAACO,QAAA,CAAA,CAAS,QAASd,CACjB,CAAA,QAAA,CAAA,CAAAO,IAACQ,CAAAA,YAAAA,CAAA,CAAa,MAAA,CAAQ,CAAG,CAAA,MAAA,CAAO,UAAW,CAAA,SAAA,CAAU,MACnD,CAAA,QAAA,CAAA,CAAAN,GAACM,CAAAA,YAAAA,CAAa,KAAb,CAAkB,KAAA,CAAOlB,CAAE,CAAA,aAAa,CAAI,CAAA,QAAA,CAAAE,GAAM,IAAK,CAAA,CAAA,CACxDU,GAACM,CAAAA,YAAAA,CAAa,IAAb,CAAA,CAAkB,MAAM,IAAM,CAAA,QAAA,CAAAhB,CAAM,EAAA,EAAA,CAAG,CACxCU,CAAAA,GAAAA,CAACM,YAAa,CAAA,IAAA,CAAb,CAAkB,KAAA,CAAOlB,CAAE,CAAA,qBAAqB,CAAI,CAAA,QAAA,CAAAE,GAAM,KAAM,CAAA,CAAA,CAAA,CACnE,CACAU,CAAAA,GAAAA,CAACO,OAAA,CAAA,EAAQ,CACTP,CAAAA,GAAAA,CAACQ,GAAA,CAAA,CAAe,QAAQ,CAAA,CAAA,CAAA,CAAC,KAAOlB,CAAAA,CAAAA,EAAM,YAAa,CACrD,CAAA,CAAA,CAAA,CACF,CACCK,CAAAA,GAAAA,CAAAA,CACH,CAEJ,CAAA,CAEOc,CAAQC,CAAAA,CAAAA,CAAYzB,CAAY,CAAA,CAAE,QAAU,CAAA,CAAA,CAAK,CAAC","file":"roleDetail-EYQ2HREL.js","sourcesContent":["import { Breadcrumb, Card, Descriptions, Divider, Skeleton } from 'antd'\nimport { Link, useParams } from 'react-router-dom'\n\nimport { AuthButton, withContext } from '@/components'\nimport { useTranslation } from '@/locale'\n\nimport { PermissionList } from '../../components'\nimport { useRoleModal } from '../../hooks'\nimport { useRole } from '../../services'\n\nconst RoleDetail = () => {\n const params = useParams()\n const { t } = useTranslation()\n const { data, isLoading, refetch } = useRole(params.name as string)\n\n const { show, modal } = useRoleModal({\n mode: 'update',\n onSuccess() {\n refetch()\n },\n })\n\n const handleUpdateBtnClick = async () => {\n show({\n initialValues: {\n permissions: data?.permissions,\n name: data?.name.replace(/^role_/, ''),\n },\n extraValues: {\n id: data!.id,\n },\n })\n }\n\n return (\n <>\n <Breadcrumb\n style={{ marginBottom: '1.5rem' }}\n items={[\n {\n key: '1',\n title: (\n <Link to=\"..\" relative=\"path\">\n {t('global.role')}\n </Link>\n ),\n },\n {\n key: '2',\n title: t('RoleDetail.title'),\n },\n ]}\n />\n <Card\n title={t('RoleDetail.title')}\n extra={\n <AuthButton code=\"200003\" onClick={handleUpdateBtnClick}>\n {t('global.update')}\n </AuthButton>\n }\n >\n <Skeleton loading={isLoading}>\n <Descriptions column={2} layout=\"vertical\" className=\"mb-6\">\n <Descriptions.Item label={t('global.name')}>{data?.name}</Descriptions.Item>\n <Descriptions.Item label=\"ID\">{data?.id}</Descriptions.Item>\n <Descriptions.Item label={t('global.creationTime')}>{data?.ctime}</Descriptions.Item>\n </Descriptions>\n <Divider />\n <PermissionList readonly value={data?.permissions} />\n </Skeleton>\n </Card>\n {modal}\n </>\n )\n}\n\nexport default withContext(RoleDetail, { isGlobal: true })\n"]}
@@ -1,2 +0,0 @@
1
- import {c,b as b$1,e as e$1}from'./chunk-2OEQYX3O.js';import {b}from'./chunk-RMU775LC.js';import {e}from'./chunk-4EBAPE4B.js';import {a as a$2}from'./chunk-Y3RYS76E.js';import {a as a$1}from'./chunk-4XO7JAVX.js';import {a}from'./chunk-ZFIKMQD3.js';import {j,i,l}from'./chunk-RPEFI7RP.js';import {UsergroupAddOutlined}from'@ant-design/icons';import {App,Space,Card}from'antd';import {Link}from'react-router-dom';import {jsx,Fragment,jsxs}from'react/jsx-runtime';var v=()=>{let{modal:g,message:k}=App.useApp(),{data:L}=a("200005"),{t}=a$1(),{permissionVersion:T}=i(e=>e),{refetch:s}=c(),b$2=l(),{show:C,modal:w}=b({mode:"create",onSuccess(){s("role-list",{page:1});}}),{show:A,modal:V}=b({mode:"update",onSuccess(){s("role-list");}}),I=e(),S=async e=>{let o=await b$2.get(`/api/usystem/role/info${T==="v2"?"V2":""}?name=${e.name}`);A({initialValues:{permissions:o.permissions,name:o.name.replace(/^role_/,"")},extraValues:{id:o?.id}});},x=[{title:t("global.name"),key:"name",render(e){return L?jsx(Link,{to:`${e.name}`,relative:"path",children:e.name}):jsx(Fragment,{children:e.name})}},{title:"ID",dataIndex:"id",key:"id"},{title:t("global.creationTime"),dataIndex:"ctime",key:"ctime"},{title:t("global.operation"),width:150,align:"center",render:(e,o)=>jsxs(Space,{size:"small",children:[jsx(a$2,{code:"200003",size:"small",type:"link",onClick:async()=>{S(o);},children:t("global.update")}),jsx(a$2,{danger:!0,code:"200004",size:"small",type:"link",onClick:()=>{g.confirm({title:t("Role.deleteTitle"),content:jsx(b$1,{texts:[o.name],children:t("Role.deleteContent",{role:o.name})}),async onOk(){await I.mutateAsync({id:o.id,name:o.name}),s("role-list"),k.success(t("Role.deleteSuccessfully"));}});},children:t("global.delete")})]})}];return jsxs(Fragment,{children:[jsx(Card,{title:t("global.role"),extra:jsx(a$2,{type:"primary",code:"200002",icon:jsx(UsergroupAddOutlined,{}),onClick:()=>{C();},children:t("Role.createTitle")}),children:jsx(e$1,{identifier:"role-list",rowKey:"name",columns:x,code:"200001",request:{url:"/api/usystem/role/list",method:"GET"},dataAdapter:e=>({total:e?.Total,items:e?.List})})}),w,V]})},P=j(v,{isGlobal:!0});export{P as default};//# sourceMappingURL=roleList-ZW4RLM25.js.map
2
- //# sourceMappingURL=roleList-ZW4RLM25.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/modules/permission/pages/roleList/index.tsx"],"names":["RoleList","modal","message","App","viewable","useAuth","useTranslation","permissionVersion","useToolkitsStore","s","refetch","useQueryListStore","ky","useKy","showCreateModal","createModal","useRoleModal","showUpdateModal","updateModal","remove","useRemoveRole","handleUpdateBtnClick","record","data","columns","value","jsx","Link","Fragment","_","jsxs","Space","AuthButton_default","Highlight_default","Card","UsergroupAddOutlined","QueryList_default","roleList_default","withContext"],"mappings":"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","file":"roleList-ZW4RLM25.js","sourcesContent":["import { UsergroupAddOutlined } from '@ant-design/icons'\nimport type { TableColumnsType } from 'antd'\nimport { App, Card, Space } from 'antd'\nimport { Link } from 'react-router-dom'\n\nimport { AuthButton, Highlight, QueryList, useQueryListStore, useToolkitsStore, withContext } from '@/components'\nimport { PermissionVersion } from '@/constants'\nimport { useKy } from '@/libs'\nimport { useTranslation } from '@/locale'\nimport { useAuth } from '@/services'\n\nimport { useRoleModal } from '../../hooks'\nimport { useRemoveRole } from '../../services'\nimport type { RoleListItem, RoleV1, RoleV2 } from '../../types'\n\nconst RoleList = () => {\n const { modal, message } = App.useApp()\n const { data: viewable } = useAuth('200005')\n const { t } = useTranslation()\n const { permissionVersion } = useToolkitsStore(s => s)\n const { refetch } = useQueryListStore()\n const ky = useKy()\n\n const { show: showCreateModal, modal: createModal } = useRoleModal({\n mode: 'create',\n onSuccess() {\n refetch('role-list', { page: 1 })\n },\n })\n const { show: showUpdateModal, modal: updateModal } = useRoleModal({\n mode: 'update',\n onSuccess() {\n refetch('role-list')\n },\n })\n\n const remove = useRemoveRole()\n\n const handleUpdateBtnClick = async (record: RoleListItem) => {\n const data = await ky.get<RoleV1 | RoleV2>(\n `/api/usystem/role/info${permissionVersion === PermissionVersion.V2 ? 'V2' : ''}?name=${record.name}`,\n )\n\n showUpdateModal({\n initialValues: {\n permissions: data.permissions,\n name: data.name.replace(/^role_/, ''),\n },\n extraValues: {\n id: data?.id,\n },\n })\n }\n\n const columns: TableColumnsType<RoleListItem> = [\n {\n title: t('global.name'),\n key: 'name',\n render(value: RoleListItem) {\n if (viewable) {\n return (\n <Link to={`${value.name}`} relative=\"path\">\n {value.name}\n </Link>\n )\n } else {\n return <>{value.name}</>\n }\n },\n },\n {\n title: 'ID',\n dataIndex: 'id',\n key: 'id',\n },\n {\n title: t('global.creationTime'),\n dataIndex: 'ctime',\n key: 'ctime',\n },\n {\n title: t('global.operation'),\n width: 150,\n align: 'center',\n render: (_, record) => {\n return (\n <Space size=\"small\">\n <AuthButton\n code=\"200003\"\n size=\"small\"\n type=\"link\"\n onClick={async () => {\n handleUpdateBtnClick(record)\n }}\n >\n {t('global.update')}\n </AuthButton>\n <AuthButton\n danger\n code=\"200004\"\n size=\"small\"\n type=\"link\"\n onClick={() => {\n modal.confirm({\n title: t('Role.deleteTitle'),\n content: (\n <Highlight texts={[record.name]}>{t('Role.deleteContent', { role: record.name })}</Highlight>\n ),\n async onOk() {\n await remove.mutateAsync({\n id: record.id,\n name: record.name,\n })\n\n refetch('role-list')\n\n message.success(t('Role.deleteSuccessfully'))\n },\n })\n }}\n >\n {t('global.delete')}\n </AuthButton>\n </Space>\n )\n },\n },\n ]\n\n return (\n <>\n <Card\n title={t('global.role')}\n extra={\n <AuthButton\n type=\"primary\"\n code=\"200002\"\n icon={<UsergroupAddOutlined />}\n onClick={() => {\n showCreateModal()\n }}\n >\n {t('Role.createTitle')}\n </AuthButton>\n }\n >\n <QueryList<RoleListItem, undefined, { List: RoleListItem[]; Total: number }>\n identifier=\"role-list\"\n rowKey=\"name\"\n columns={columns}\n code=\"200001\"\n request={{\n url: '/api/usystem/role/list',\n method: 'GET',\n }}\n dataAdapter={data => ({\n total: data?.Total,\n items: data?.List,\n })}\n />\n </Card>\n {createModal}\n {updateModal}\n </>\n )\n}\n\nexport default withContext(RoleList, {\n isGlobal: true,\n})\n"]}
@@ -1,2 +0,0 @@
1
- import {b}from'./chunk-WOYFKIRH.js';import {b as b$1}from'./chunk-ZFIKMQD3.js';import {j,l,m,f}from'./chunk-RPEFI7RP.js';import {Editor}from'@monaco-editor/react';import {useQuery}from'@tanstack/react-query';import {App,Form,Card,Input,Switch,InputNumber,Button}from'antd';import {useEffect}from'react';import {useNavigate,useParams}from'react-router-dom';import {jsx,jsxs}from'react/jsx-runtime';var A=j(()=>{let{message:b$2}=App.useApp(),[i]=Form.useForm(),l$1=useNavigate(),{mutateAsync:_}=b(),r=useParams(),{refetch:x}=b$1(),N=l(),{data:p,isLoading:v}=useQuery({queryKey:m.menus.detail(Number(r.id)),queryFn:()=>N.get(`/api/usystem/menu/info?id=${r.id}`),enabled:!!r.id}),q=async n=>{let{permissions:m,front_route:a,...u}=n;await _({...u,permissions:m?JSON.parse(m):void 0,front_route:f+a,id:+r.id}),x(),b$2.success("\u66F4\u65B0\u6210\u529F",.8,()=>l$1("../..",{relative:"route"}));};return useEffect(()=>{let{permissions:n,front_route:m,...a}=p??{},u=JSON.stringify(n||[],null,2),E=m?.replace(f,"");i.setFieldsValue({...a,permissions:u,front_route:E});},[p,i]),jsx(Card,{title:"\u66F4\u65B0\u83DC\u5355\u9879",loading:v,children:jsxs(Form,{scrollToFirstError:!0,form:i,labelCol:{flex:"120px"},initialValues:{is_common:!1,is_model:!1,order:0},onFinish:q,children:[jsx(Form.Item,{label:"\u83DC\u5355\u9879\u540D\u79F0",name:"category",rules:[{required:!0}],children:jsx(Input,{})}),jsx(Form.Item,{label:"\u524D\u7AEF\u8DEF\u7531",name:"front_route",rules:[{required:!0}],children:jsx(Input,{prefix:f})}),jsx(Form.Item,{label:"\u6A21\u677F\u540D\u79F0",name:"model_name",rules:[{required:!0}],children:jsx(Input,{})}),jsx(Form.Item,{label:"Is Common",name:"is_common",rules:[{required:!0}],valuePropName:"checked",children:jsx(Switch,{})}),jsx(Form.Item,{label:"Order",name:"order",children:jsx(InputNumber,{className:"w-full"})}),jsx(Form.Item,{label:"\u63A5\u53E3\u89C4\u5219",name:"permissions",children:jsx(Editor,{theme:"vs-dark",height:"300px",language:"json",options:{minimap:{enabled:!1}}})}),jsx(Form.Item,{label:"Schema",name:"scheme",rules:[{required:!0}],children:jsx(Editor,{theme:"vs-dark",height:"600px",language:"json",options:{minimap:{enabled:!1}}})}),jsx(Form.Item,{label:"Ext",name:"ext",children:jsx(Input.TextArea,{rows:5})}),jsx(Form.Item,{children:jsxs("div",{className:"flex justify-center gap-8",children:[jsx(Button,{type:"primary",htmlType:"submit",children:"\u63D0\u4EA4"}),jsx(Button,{onClick:()=>{l$1("../..",{relative:"path"});},children:"\u53D6\u6D88"})]})})]})})},{isGlobal:!0}),X=A;export{X as default};//# sourceMappingURL=updateMenuItem-2ZS3SMYT.js.map
2
- //# sourceMappingURL=updateMenuItem-2ZS3SMYT.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/modules/menu/pages/updateMenuItem/index.tsx"],"names":["EditMenuItem","withContext","message","App","form","Form","navigate","useNavigate","mutateAsync","useUpdateMenu","params","useParams","refetch","useMenuList","ky","useKy","data","isLoading","useQuery","queryKeys","onFinish","values","permissions","front_route","rest","FRONTEND_ROUTE_PREFIX","useEffect","permissionsString","frontRoute","jsx","Card","jsxs","Input","Switch","InputNumber","Editor","Button","updateMenuItem_default"],"mappings":"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","file":"updateMenuItem-2ZS3SMYT.js","sourcesContent":["import { Editor } from '@monaco-editor/react'\nimport { useQuery } from '@tanstack/react-query'\nimport { App, Button, Card, Form, Input, InputNumber, Switch } from 'antd'\nimport { useEffect } from 'react'\nimport { useNavigate, useParams } from 'react-router-dom'\n\nimport { withContext } from '@/components/toolkitsProvider'\nimport { FRONTEND_ROUTE_PREFIX } from '@/constants'\nimport { useKy } from '@/libs'\nimport { queryKeys } from '@/queryKeys'\nimport { useMenuList } from '@/services'\nimport type { MenuListItem } from '@/types'\n\nimport { useUpdateMenu } from '../../services'\n\ntype FormSchema = Omit<MenuListItem, 'id' | 'permissions'> & { permissions: string }\n\nconst EditMenuItem = withContext(\n () => {\n const { message } = App.useApp()\n const [form] = Form.useForm<FormSchema>()\n const navigate = useNavigate()\n const { mutateAsync } = useUpdateMenu()\n const params = useParams<'id'>()\n const { refetch } = useMenuList()\n const ky = useKy()\n\n const { data, isLoading } = useQuery({\n queryKey: queryKeys.menus.detail(Number(params.id)),\n queryFn: () => ky.get<MenuListItem>(`/api/usystem/menu/info?id=${params.id}`),\n enabled: !!params.id,\n })\n\n const onFinish = async (values: FormSchema) => {\n const { permissions, front_route, ...rest } = values\n\n await mutateAsync({\n ...rest,\n permissions: permissions ? JSON.parse(permissions) : undefined,\n front_route: FRONTEND_ROUTE_PREFIX + front_route,\n id: +params.id!,\n })\n refetch()\n message.success('更新成功', 0.8, () => navigate('../..', { relative: 'route' }))\n }\n\n useEffect(() => {\n const { permissions, front_route, ...rest } = data ?? {}\n const permissionsString = JSON.stringify(permissions || [], null, 2)\n const frontRoute = front_route?.replace(FRONTEND_ROUTE_PREFIX, '')\n form.setFieldsValue({\n ...rest,\n permissions: permissionsString,\n front_route: frontRoute,\n })\n }, [data, form])\n\n return (\n <Card title=\"更新菜单项\" loading={isLoading}>\n <Form\n scrollToFirstError\n form={form}\n labelCol={{ flex: '120px' }}\n initialValues={{ is_common: false, is_model: false, order: 0 }}\n onFinish={onFinish}\n >\n <Form.Item label=\"菜单项名称\" name=\"category\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item label=\"前端路由\" name=\"front_route\" rules={[{ required: true }]}>\n <Input prefix={FRONTEND_ROUTE_PREFIX} />\n </Form.Item>\n <Form.Item label=\"模板名称\" name=\"model_name\" rules={[{ required: true }]}>\n <Input />\n </Form.Item>\n <Form.Item label=\"Is Common\" name=\"is_common\" rules={[{ required: true }]} valuePropName=\"checked\">\n <Switch />\n </Form.Item>\n <Form.Item label=\"Order\" name=\"order\">\n <InputNumber className=\"w-full\" />\n </Form.Item>\n <Form.Item label=\"接口规则\" name=\"permissions\">\n <Editor\n theme=\"vs-dark\"\n height=\"300px\"\n language=\"json\"\n options={{\n minimap: {\n enabled: false,\n },\n }}\n />\n </Form.Item>\n <Form.Item label=\"Schema\" name=\"scheme\" rules={[{ required: true }]}>\n <Editor\n theme=\"vs-dark\"\n height=\"600px\"\n language=\"json\"\n options={{\n minimap: {\n enabled: false,\n },\n }}\n />\n </Form.Item>\n <Form.Item label=\"Ext\" name=\"ext\">\n <Input.TextArea rows={5} />\n </Form.Item>\n <Form.Item>\n <div className=\"flex justify-center gap-8\">\n <Button type=\"primary\" htmlType=\"submit\">\n 提交\n </Button>\n <Button\n onClick={() => {\n navigate('../..', { relative: 'path' })\n }}\n >\n 取消\n </Button>\n </div>\n </Form.Item>\n </Form>\n </Card>\n )\n },\n { isGlobal: true },\n)\n\nexport default EditMenuItem\n"]}
@@ -1,2 +0,0 @@
1
- import {b}from'./chunk-47QCX44D.js';import'./chunk-4EBAPE4B.js';import {a as a$2}from'./chunk-Y3RYS76E.js';import {a}from'./chunk-4XO7JAVX.js';import {c,a as a$1}from'./chunk-ZFIKMQD3.js';import {i,l,m,h}from'./chunk-RPEFI7RP.js';import {useQuery}from'@tanstack/react-query';import {Tag,Breadcrumb,Card,Descriptions,Table}from'antd';import {useParams,Link}from'react-router-dom';import {jsx,jsxs,Fragment}from'react/jsx-runtime';var $=()=>{let i$1=useParams(),{t:r}=a(),{gameApiV2:T,permissionVersion:D}=i(),V=D==="v3",h$1=l(),{data:s,isLoading:L,refetch:C}=useQuery({queryKey:m.users.detail(i$1.id||""),queryFn:()=>h$1.get(`/api/usystem/user/info?id=${i$1.id}`),enabled:!!i$1.id}),{data:x}=c(),{data:A}=a$1("200005"),{show:B,modal:K}=b({mode:"update",onSuccess(){C();}}),S=[V&&{key:"group",title:r("global.projectGroup"),dataIndex:"game_group",render(o){return o.map(t=>jsx(Tag,{children:t===h?"\u901A\u7528":t},t))}},{key:"game",title:r("global.game"),dataIndex:"game_ids",render(o){return o.map(t=>{let U=x?.find(m=>String(T?m.game_id:m.id)===t);return jsx(Tag,{children:U?.name??(t===h?"\u901A\u7528":t)},t)})}},{key:"role",title:r("global.role"),dataIndex:"role",render(o){return A?jsx(Link,{to:`../../role/${o}`,relative:"path",children:o}):o}}].filter(Boolean);return jsxs(Fragment,{children:[jsx(Breadcrumb,{style:{marginBottom:"1.5rem"},items:[{key:"1",title:jsx(Link,{to:"..",relative:"path",children:r("global.user")})},{key:"2",title:"\u7528\u6237\u8BE6\u60C5"}]}),jsx(Card,{title:"\u7528\u6237\u8BE6\u60C5",loading:L,extra:jsx(a$2,{code:"100003",onClick:()=>{B({initialValues:{name:s?.name,permissions:s?.permissions},extraValues:{id:s.id}});},children:r("global.update")}),children:jsxs(Descriptions,{bordered:!0,column:1,children:[jsx(Descriptions.Item,{label:r("global.name"),children:s?.name}),jsx(Descriptions.Item,{label:"ID",children:s?.id}),jsx(Descriptions.Item,{label:r("global.role"),children:jsx(Table,{rowKey:"role",columns:S,dataSource:s?.permissions,pagination:!1})})]})}),K]})},O=$;export{O as default};//# sourceMappingURL=userDetail-5NE5PUBC.js.map
2
- //# sourceMappingURL=userDetail-5NE5PUBC.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/modules/permission/pages/userDetail/index.tsx"],"names":["UserDetail","params","useParams","t","useTranslation","gameApiV2","permissionVersion","useToolkitsStore","isV3","ky","useKy","data","isLoading","refetch","useQuery","queryKeys","games","useGames","roleViewable","useAuth","show","modal","useUserModalV2","columns","value","item","jsx","Tag","WILDCARD","matchedGame","game","Link","jsxs","Fragment","Breadcrumb","Card","AuthButton_default","Descriptions","Table","userDetail_default"],"mappings":"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","file":"userDetail-5NE5PUBC.js","sourcesContent":["import { useQuery } from '@tanstack/react-query'\nimport type { TableColumnsType } from 'antd'\nimport { Breadcrumb, Card, Descriptions, Table, Tag } from 'antd'\nimport { Link, useParams } from 'react-router-dom'\n\nimport { AuthButton, useToolkitsStore } from '@/components'\nimport { PermissionVersion, WILDCARD } from '@/constants'\nimport { useKy } from '@/libs'\nimport { useTranslation } from '@/locale'\nimport { queryKeys } from '@/queryKeys'\nimport { useGames, useAuth } from '@/services'\n\nimport { useUserModalV2 } from '../../hooks'\nimport type { UserListItem } from '../../types'\n\nconst UserDetail = () => {\n const params = useParams<'id'>()\n const { t } = useTranslation()\n const { gameApiV2, permissionVersion } = useToolkitsStore()\n const isV3 = permissionVersion === PermissionVersion.V3\n const ky = useKy()\n\n const { data, isLoading, refetch } = useQuery({\n queryKey: queryKeys.users.detail(params.id || ''),\n queryFn: () => ky.get<UserListItem>(`/api/usystem/user/info?id=${params.id}`),\n enabled: !!params.id,\n })\n const { data: games } = useGames()\n const { data: roleViewable } = useAuth('200005')\n\n const { show, modal } = useUserModalV2({\n mode: 'update',\n onSuccess() {\n refetch()\n },\n })\n\n const columns = [\n isV3 && {\n key: 'group',\n title: t('global.projectGroup'),\n dataIndex: 'game_group',\n render(value: string[]) {\n return value.map(item => {\n return <Tag key={item}>{item === WILDCARD ? '通用' : item}</Tag>\n })\n },\n },\n {\n key: 'game',\n title: t('global.game'),\n dataIndex: 'game_ids',\n render(value: string[]) {\n return value.map(item => {\n const matchedGame = games?.find(game => String(gameApiV2 ? game.game_id : game.id) === item)\n return <Tag key={item}>{matchedGame?.name ?? (item === WILDCARD ? '通用' : item)}</Tag>\n })\n },\n },\n {\n key: 'role',\n title: t('global.role'),\n dataIndex: 'role',\n render(value: string) {\n return roleViewable ? (\n <Link to={`../../role/${value}`} relative=\"path\">\n {value}\n </Link>\n ) : (\n value\n )\n },\n },\n ].filter(Boolean) as TableColumnsType\n\n return (\n <>\n <Breadcrumb\n style={{ marginBottom: '1.5rem' }}\n items={[\n {\n key: '1',\n title: (\n <Link to=\"..\" relative=\"path\">\n {t('global.user')}\n </Link>\n ),\n },\n {\n key: '2',\n title: '用户详情',\n },\n ]}\n />\n <Card\n title=\"用户详情\"\n loading={isLoading}\n extra={\n <AuthButton\n code=\"100003\"\n onClick={() => {\n show({\n initialValues: {\n name: data?.name,\n permissions: data?.permissions,\n },\n extraValues: {\n id: data!.id,\n },\n })\n }}\n >\n {t('global.update')}\n </AuthButton>\n }\n >\n <Descriptions bordered column={1}>\n <Descriptions.Item label={t('global.name')}>{data?.name}</Descriptions.Item>\n <Descriptions.Item label=\"ID\">{data?.id}</Descriptions.Item>\n <Descriptions.Item label={t('global.role')}>\n <Table rowKey=\"role\" columns={columns} dataSource={data?.permissions} pagination={false} />\n </Descriptions.Item>\n </Descriptions>\n </Card>\n {modal}\n </>\n )\n}\n\nexport default UserDetail\n"]}
@@ -1,2 +0,0 @@
1
- import {a as a$1,b}from'./chunk-47QCX44D.js';import {c,b as b$1,e}from'./chunk-2OEQYX3O.js';import {h}from'./chunk-4EBAPE4B.js';import {a as a$2}from'./chunk-Y3RYS76E.js';import {a}from'./chunk-4XO7JAVX.js';import'./chunk-ZFIKMQD3.js';import {j,i}from'./chunk-RPEFI7RP.js';import {UserAddOutlined}from'@ant-design/icons';import {App,Row,Col,Tag,Space,Card,Form,Input}from'antd';import {Link}from'react-router-dom';import {jsx,jsxs,Fragment}from'react/jsx-runtime';var _=()=>{let{modal:b$2,message:I}=App.useApp(),{t:o}=a(),L=h(),{refetch:r}=c(),{permissionVersion:n}=i(t=>t),M=n==="v1",i$1=n==="v3",m=n==="v4",{show:x,modal:A}=a$1({mode:"create",onSuccess(){r("user-list",{page:1});}}),{show:S,modal:F}=a$1({mode:"update",onSuccess(){r("user-list");}}),{show:B,modal:R}=b({mode:"create",onSuccess(){r("user-list",{page:1});}}),{show:z,modal:G}=b({mode:"update",onSuccess(){r("user-list");}}),H=[{title:o("global.name"),dataIndex:"name",key:"name",render(t,s){return i$1||m?jsx(Link,{to:`./${s.id}`,children:t}):t}},{title:"ID",dataIndex:"id",key:"id"},(M||i$1)&&{title:o("global.role"),dataIndex:"roles",key:"roles",width:"40%",render(t){return jsx(Row,{gutter:[4,4],children:(t||[]).map(s=>jsx(Col,{children:s==="root"?jsx(Tag,{color:"#f50",children:s}):jsx(Tag,{color:"#ff5a00",children:jsx(Link,{to:`../role/${s}`,children:s})})},s))})}},{title:o("global.creationTime"),dataIndex:"Ctime",key:"ctime"},{title:o("global.operation"),width:150,align:"center",render:(t,s)=>{let{name:l,permissions:O,roles:Q,id:d}=s;return jsxs(Space,{children:[jsx(a$2,{size:"small",type:"link",code:"100003",onClick:()=>{i$1||m?z({initialValues:{name:l,permissions:O},extraValues:{id:d}}):S({initialValues:{name:l,roles:Q},extraValues:{id:d}});},children:o("global.update")}),jsx(a$2,{danger:!0,size:"small",code:"100004",type:"link",onClick:()=>{b$2.confirm({title:o("User.deleteTitle"),content:jsx(b$1,{texts:[l],children:o("User.deleteContent",{user:l})}),async onOk(){await L.mutateAsync({id:d,name:l}),r("user-list"),I.success(o("User.deleteSuccessfully"));}});},children:o("global.delete")})]})}}].filter(Boolean);return jsxs(Fragment,{children:[jsx(Card,{title:o("global.user"),extra:jsx(a$2,{type:"primary",icon:jsx(UserAddOutlined,{}),code:"100002",onClick:()=>{i$1||m?B():x();},children:o("User.createTitle")}),children:jsx(e,{identifier:"user-list",code:"100001",request:{url:"/api/usystem/user/list",method:"GET"},rowKey:"id",columns:H,dataAdapter:t=>({total:t?.Total,items:t?.List}),renderForm:t=>jsx(Form,{form:t,children:jsx(Form.Item,{label:"\u540D\u79F0",name:"name",children:jsx(Input,{})})})})}),A,F,R,G]})},te=j(_,{isGlobal:!0});export{te as default};//# sourceMappingURL=userList-AFTI4FQV.js.map
2
- //# sourceMappingURL=userList-AFTI4FQV.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/modules/permission/pages/userList/index.tsx"],"names":["UserList","modal","message","App","t","useTranslation","remove","useRemoveUser","refetch","useQueryListStore","permissionVersion","useToolkitsStore","s","isV1","isV3","isV4","showCreateModal","createModal","useUserModal","showUpdateModal","updateModal","showCreateModalV2","createModalV2","useUserModalV2","showUpdateModalV2","updateModalV2","columns","value","record","jsx","Link","Row","item","Col","Tag","_","name","permissions","roles","id","jsxs","Space","AuthButton_default","Highlight_default","Fragment","Card","UserAddOutlined","QueryList_default","data","form","Form","Input","userList_default","withContext"],"mappings":"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","file":"userList-AFTI4FQV.js","sourcesContent":["import { UserAddOutlined } from '@ant-design/icons'\nimport type { TableColumnsType } from 'antd'\nimport { App, Card, Col, Form, Input, Row, Space, Tag } from 'antd'\nimport { type FC } from 'react'\nimport { Link } from 'react-router-dom'\n\nimport { AuthButton, Highlight, QueryList, useQueryListStore, useToolkitsStore, withContext } from '@/components'\nimport { PermissionVersion } from '@/constants'\nimport { useTranslation } from '@/locale'\n\nimport { useUserModal, useUserModalV2 } from '../../hooks'\nimport { useRemoveUser } from '../../services'\nimport type { UserListItem } from '../../types'\n\nconst UserList: FC = () => {\n const { modal, message } = App.useApp()\n const { t } = useTranslation()\n const remove = useRemoveUser()\n const { refetch } = useQueryListStore()\n const { permissionVersion } = useToolkitsStore(s => s)\n const isV1 = permissionVersion === PermissionVersion.V1\n const isV3 = permissionVersion === PermissionVersion.V3\n const isV4 = permissionVersion === PermissionVersion.V4\n\n const { show: showCreateModal, modal: createModal } = useUserModal({\n mode: 'create',\n onSuccess() {\n refetch('user-list', { page: 1 })\n },\n })\n\n const { show: showUpdateModal, modal: updateModal } = useUserModal({\n mode: 'update',\n onSuccess() {\n refetch('user-list')\n },\n })\n\n const { show: showCreateModalV2, modal: createModalV2 } = useUserModalV2({\n mode: 'create',\n onSuccess() {\n refetch('user-list', { page: 1 })\n },\n })\n\n const { show: showUpdateModalV2, modal: updateModalV2 } = useUserModalV2({\n mode: 'update',\n onSuccess() {\n refetch('user-list')\n },\n })\n\n const columns = (\n [\n {\n title: t('global.name'),\n dataIndex: 'name',\n key: 'name',\n render(value: string, record) {\n if (isV3 || isV4) {\n return <Link to={`./${record.id}`}>{value}</Link>\n }\n return value\n },\n },\n {\n title: 'ID',\n dataIndex: 'id',\n key: 'id',\n },\n (isV1 || isV3) && {\n title: t('global.role'),\n dataIndex: 'roles',\n key: 'roles',\n width: '40%',\n render(value: string[]) {\n return (\n <Row gutter={[4, 4]}>\n {(value || []).map((item: string) => (\n <Col key={item}>\n {item === 'root' ? (\n <Tag color=\"#f50\">{item}</Tag>\n ) : (\n <Tag color=\"#ff5a00\">\n <Link to={`../role/${item}`}>{item}</Link>\n </Tag>\n )}\n </Col>\n ))}\n </Row>\n )\n },\n },\n {\n title: t('global.creationTime'),\n dataIndex: 'Ctime',\n key: 'ctime',\n },\n {\n title: t('global.operation'),\n width: 150,\n align: 'center',\n render: (_, record) => {\n const { name, permissions, roles, id } = record\n return (\n <Space>\n <AuthButton\n size=\"small\"\n type=\"link\"\n code=\"100003\"\n onClick={() => {\n if (isV3 || isV4) {\n showUpdateModalV2({\n initialValues: {\n name,\n permissions,\n },\n extraValues: {\n id,\n },\n })\n } else {\n showUpdateModal({\n initialValues: {\n name,\n roles,\n },\n extraValues: {\n id,\n },\n })\n }\n }}\n >\n {t('global.update')}\n </AuthButton>\n <AuthButton\n danger\n size=\"small\"\n code=\"100004\"\n type=\"link\"\n onClick={() => {\n modal.confirm({\n title: t('User.deleteTitle'),\n content: <Highlight texts={[name]}>{t('User.deleteContent', { user: name })}</Highlight>,\n async onOk() {\n await remove.mutateAsync({\n id,\n name,\n })\n refetch('user-list')\n message.success(t('User.deleteSuccessfully'))\n },\n })\n }}\n >\n {t('global.delete')}\n </AuthButton>\n </Space>\n )\n },\n },\n ] as TableColumnsType<UserListItem>\n ).filter(Boolean)\n\n return (\n <>\n <Card\n title={t('global.user')}\n extra={\n <AuthButton\n type=\"primary\"\n icon={<UserAddOutlined />}\n code=\"100002\"\n onClick={() => {\n if (isV3 || isV4) {\n showCreateModalV2()\n } else {\n showCreateModal()\n }\n }}\n >\n {t('User.createTitle')}\n </AuthButton>\n }\n >\n <QueryList<UserListItem, { name?: string }, { List: UserListItem[]; Total: number }>\n identifier=\"user-list\"\n code=\"100001\"\n request={{\n url: '/api/usystem/user/list',\n method: 'GET',\n }}\n rowKey=\"id\"\n columns={columns}\n dataAdapter={data => ({\n total: data?.Total,\n items: data?.List,\n })}\n renderForm={form => (\n <Form form={form}>\n <Form.Item label=\"名称\" name=\"name\">\n <Input />\n </Form.Item>\n </Form>\n )}\n />\n </Card>\n {createModal}\n {updateModal}\n {createModalV2}\n {updateModalV2}\n </>\n )\n}\n\nexport default withContext(UserList, { isGlobal: true })\n"]}