edit.jsx 2.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import ProCard from '@ant-design/pro-card';
  2. import { PageHeaderWrapper } from '@ant-design/pro-layout';
  3. import BasicInfo from './components/BasicInfo.jsx';
  4. import ReimbursementPerson from './components/ReimbursementPerson';
  5. import InvoiceDetail from './components/InvoiceDetail.jsx';
  6. import { Button, message } from 'antd';
  7. import { useRef } from 'react';
  8. import { saveInvoiceDetail } from '@/services/invoiceDetail'
  9. import { getInvoicePersonList } from '@/services/invoicePerson'
  10. import { getInvoiceItemTplList } from '@/services/invoiceItemTpl'
  11. export default (props) => {
  12. const { location } = props;
  13. const { id } = location.query;
  14. const detailRef = useRef();
  15. const addDetail = () => {
  16. getInvoiceItemTplList({ invoiceId: id }).then(res => {
  17. if (res.records.length == 0) {
  18. message.info('清先添加报销项目信息')
  19. return
  20. } else {
  21. getInvoicePersonList({ invoiceId: id }).then(personRes => {
  22. if (personRes.records.length == 0) {
  23. message.info('清先添加报销人员信息')
  24. return
  25. } else {
  26. saveInvoiceDetail(id).then(detail => {
  27. message.success('生成成功')
  28. detailRef.current.refrash();
  29. }).catch(err => {
  30. message.info(err);
  31. console.log(err);
  32. })
  33. }
  34. }).catch(err => {
  35. message.info(err);
  36. console.log(err);
  37. })
  38. }
  39. }).catch(err => {
  40. message.info(err);
  41. console.log(err);
  42. })
  43. }
  44. return (
  45. <PageHeaderWrapper extra={[id && <Button key='addDetail' type='primary' onClick={addDetail}>生成模板</Button>]}>
  46. <ProCard tabs={{ type: 'card' }} style={{ minHeight: '700px' }}>
  47. <ProCard.TabPane key={1} tab="基本信息">
  48. <BasicInfo invoiceId={id} />
  49. {
  50. id &&
  51. <>报销模板
  52. <InvoiceDetail ref={detailRef} invoiceId={id} /></>
  53. }
  54. </ProCard.TabPane>
  55. <ProCard.TabPane key={2} disabled={!id} tab="报销人员">
  56. <ReimbursementPerson invoiceId={id} />
  57. </ProCard.TabPane>
  58. </ProCard>
  59. </PageHeaderWrapper>
  60. );
  61. };