index.jsx 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. import React, { useEffect, useState } from 'react';
  2. import { Form, Button, Divider, Input, Select } from 'antd';
  3. import { connect } from 'umi';
  4. import styles from './index.less';
  5. const { Option } = Select;
  6. const formItemLayout = {
  7. labelCol: {
  8. span: 5,
  9. },
  10. wrapperCol: {
  11. span: 19,
  12. },
  13. };
  14. const tailLayout = {
  15. wrapperCol: { offset: 8, span: 16 },
  16. };
  17. const Step1 = (props) => {
  18. const { dispatch, data, osType ,commonId} = props;
  19. const [form] = Form.useForm();
  20. if (!data) {
  21. return null;
  22. }
  23. useEffect(() => {
  24. dispatch({
  25. type: 'editReport/getOsType',
  26. payload: { examId: commonId.examId },
  27. });
  28. }, [dispatch,commonId.examId]);
  29. const onFinish = (values) => {
  30. let formData = new FormData();
  31. formData.append('name', values.name);
  32. formData.append('case_id', commonId.caseId);
  33. formData.append('task_id', commonId.examId);
  34. formData.append('worker_id', commonId.userId);
  35. formData.append('case_take_id', `${commonId.caseId}-${commonId.examId}`);
  36. formData.append('device_model', values.device_brand);
  37. formData.append('device_brand', values.device_name);
  38. formData.append('device_os', values.device_os);
  39. dispatch({
  40. type: 'editReport/saveReportCommonDetail',
  41. payload: formData,
  42. });
  43. };
  44. const onFinishFailed = (errorInfo) => {
  45. console.log('Failed:', errorInfo);
  46. };
  47. return (
  48. <>
  49. <Form
  50. {...formItemLayout}
  51. form={form}
  52. layout="horizontal"
  53. className={styles.stepForm}
  54. initialValues={data}
  55. onFinish={onFinish}
  56. onFinishFailed={onFinishFailed}
  57. >
  58. <Form.Item label="报告名称" name="name" rules={[{ required: true, message: '请输入报告名称' }]}>
  59. <Input placeholder="请输入报告名称" />
  60. </Form.Item>
  61. <Form.Item label="设备名称" name="device_name" rules={[{ required: true, message: '请输入设备品牌' }]}>
  62. <Input placeholder="请输入设备名称" />
  63. </Form.Item>
  64. <Form.Item label="设备品牌" name="device_brand" rules={[{ required: true, message: '请输入设备品牌' }]}>
  65. <Input placeholder="请输入设备品牌" />
  66. </Form.Item>
  67. <Form.Item label="操作系统" name="device_os" rules={[{ required: true, message: '请输入操作系统' }]}>
  68. <Select placeholder="请选择操作系统">
  69. {osType.map((option) => {
  70. return <Select.Option value={option} key={option}>{option}</Select.Option>;
  71. })}
  72. </Select>
  73. </Form.Item>
  74. <Form.Item {...tailLayout}>
  75. <Button colSpan={12} type="primary" htmlType="submit"
  76. style={{ float: 'right' }}>
  77. 下一步
  78. </Button>
  79. </Form.Item>
  80. </Form>
  81. </>
  82. )
  83. };
  84. export default connect(({ editReport }) => ({
  85. data: editReport.step,
  86. osType: editReport.osType,
  87. commonId: editReport.commonId,
  88. }))(Step1);