index.tsx 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import { observer } from '@formily/react';
  2. import { PageContainer } from '@ant-design/pro-layout';
  3. import { useEffect, useState } from 'react';
  4. import { history, useParams } from 'umi';
  5. import TenantModel from '@/pages/system/Tenant/model';
  6. import { service } from '@/pages/system/Tenant';
  7. import Assets from '@/pages/system/Tenant/Detail/Assets';
  8. import Member from '@/pages/system/Tenant/Detail/Member';
  9. import Info from '@/pages/system/Tenant/Detail/Info';
  10. const TenantDetail = observer(() => {
  11. const [tab, setTab] = useState<string>('assets');
  12. const params = useParams<{ id: string }>();
  13. const getDetail = (id: string) => {
  14. service.queryDetail(id).subscribe((data) => {
  15. TenantModel.detail = data;
  16. });
  17. };
  18. useEffect(() => {
  19. const { id } = params;
  20. if (id) {
  21. getDetail(id);
  22. } else {
  23. history.goBack();
  24. }
  25. }, [params.id]);
  26. const list = [
  27. {
  28. key: 'assets',
  29. tab: '资产信息',
  30. component: <Assets />,
  31. },
  32. {
  33. key: 'member',
  34. tab: '成员管理',
  35. component: <Member />,
  36. },
  37. ];
  38. return (
  39. <PageContainer onBack={history.goBack} tabList={list} onTabChange={setTab} content={<Info />}>
  40. {list.find((k) => k.key === tab)?.component}
  41. </PageContainer>
  42. );
  43. });
  44. export default TenantDetail;