DetailPage.js 1.9 KB
Newer Older
王绍森's avatar
王绍森 committed
1 2
import React, { useState, useEffect } from 'react';
import { Form, Spin } from 'antd';
王绍森's avatar
王绍森 committed
3
import { router } from 'umi';
王绍森's avatar
王绍森 committed
4
import Shell from '@/baseComponent/Shell';
王绍森's avatar
王绍森 committed
5
import HistoryForm from '@/webPublic/FormInsertDiy/HistoryForm';
王绍森's avatar
王绍森 committed
6 7
import { getHistoryFormDetail } from '../../Services';
import withGoBack from '@/highOrderComponent/withGoBack';
8
import { ModalInfo } from '@/baseComponent/Modal';
王绍森's avatar
王绍森 committed
9
import AuditButton from '../AuditButton';
王绍森's avatar
王绍森 committed
10

11
// 查看详情, 传申报数据的code
王绍森's avatar
王绍森 committed
12
let DetailPage = ({ form, code }) => {
王绍森's avatar
王绍森 committed
13 14 15 16 17 18 19 20 21 22 23 24 25
  const [data, setData] = useState(null);
  const [loading, setLoading] = useState(false);

  useEffect(() => {
    if (typeof code === 'undefined') return;
    setLoading(true);
    getHistoryFormDetail({ code }).then(res => {
      setLoading(false);
      if (res && !res.errMsg) {
        setData(res);
      }
    });
  }, []);
26 27 28 29 30

  function submitCb(res) {
    ModalInfo(`提交${res ? '成功' : '失败'}!`, { onOk: () => router.goBack() });
  }

王绍森's avatar
王绍森 committed
31 32 33 34
  return (
    <Shell styleShell={{ marginTop: 0 }}>
      <Spin spinning={loading}>
        {data && (
35 36 37 38 39 40 41
          <>
            <HistoryForm
              data={data} // 'affair/getIdFormDetail' 接口返回数据
              form={form} // form控件
              isNewForm={data.isSecond ?? false} // 是否渲染需要当前用户填写的审核表单 为false只会渲染历史回显表单
            />
            {data.isSecond && (
王绍森's avatar
王绍森 committed
42 43 44 45 46
              <AuditButton
                data={data} // 为 'affair/getIdFormDetail' 接口请求到的数据
                callback={submitCb} // 提交完成后回调函数
                form={form} // form表单控件
              />
47 48
            )}
          </>
王绍森's avatar
王绍森 committed
49 50 51 52 53 54 55 56 57 58 59 60
        )}
      </Spin>
    </Shell>
  );
};

DetailPage = Form.create()(DetailPage);

export default ({ hasGoBack = true, ...rest }) => {
  const WithGoBack = withGoBack(DetailPage);
  return hasGoBack ? <WithGoBack {...rest} /> : <DetailPage {...rest} />;
};