index.jsx 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import React, { useState, useEffect } from 'react';
  2. import { useSearchParams } from '@umijs/max';
  3. import { Tabs, Card } from 'antd';
  4. import { PageContainer } from '@ant-design/pro-components';
  5. import { getGuaranteeTask } from '@/services/api/guaranteeTask';
  6. import BasicForm from './BasicForm';
  7. import DishList from './DishList';
  8. export default (props) => {
  9. const [activeTabKey, setActiveTabKey] = useState('item-1');
  10. const [loading, setLoading] = useState(false);
  11. const [dataSource, setDataSource] = useState();
  12. const [searchParams] = useSearchParams();
  13. const id = searchParams.get('id');
  14. const tabList = [
  15. { tab: '基本情况', key: 'item-1', }, // 务必填写 key
  16. { tab: '军供菜单', key: 'item-2', },
  17. ];
  18. useEffect(() => {
  19. if (id) {
  20. setLoading(true);
  21. getGuaranteeTask(id).then(res => {
  22. setLoading(false);
  23. setDataSource(res);
  24. }).catch(() => {
  25. setLoading(false);
  26. });
  27. }
  28. }, [id]);
  29. return (
  30. <PageContainer>
  31. <Card
  32. style={{ width: '100%' }}
  33. loading={loading}
  34. tabList={tabList}
  35. activeTabKey={activeTabKey}
  36. onTabChange={setActiveTabKey}>
  37. {
  38. activeTabKey === 'item-1' && <BasicForm dataSource={dataSource} setDataSource={setDataSource} />
  39. }
  40. {
  41. activeTabKey === 'item-2' && <DishList dataSource={dataSource} setDataSource={setDataSource} />
  42. }
  43. </Card>
  44. </PageContainer>
  45. )
  46. }