index.jsx 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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: {
  42. formData,
  43. case_take_id:`${commonId.caseId}-${commonId.examId}`,
  44. worker_id:commonId.userId
  45. },
  46. });
  47. };
  48. const onFinishFailed = (errorInfo) => {
  49. console.log('Failed:', errorInfo);
  50. };
  51. return (
  52. <>
  53. <Form
  54. {...formItemLayout}
  55. form={form}
  56. layout="horizontal"
  57. className={styles.stepForm}
  58. initialValues={data}
  59. onFinish={onFinish}
  60. onFinishFailed={onFinishFailed}
  61. >
  62. <Form.Item label="报告名称" name="name" rules={[{ required: true, message: '请输入报告名称' }]}>
  63. <Input placeholder="请输入报告名称" />
  64. </Form.Item>
  65. <Form.Item label="设备名称" name="device_name" rules={[{ required: true, message: '请输入设备品牌' }]}>
  66. <Input placeholder="请输入设备名称" />
  67. </Form.Item>
  68. <Form.Item label="设备品牌" name="device_brand" rules={[{ required: true, message: '请输入设备品牌' }]}>
  69. <Input placeholder="请输入设备品牌" />
  70. </Form.Item>
  71. <Form.Item label="操作系统" name="device_os" rules={[{ required: true, message: '请输入操作系统' }]}>
  72. <Select placeholder="请选择操作系统">
  73. {osType.map((option) => {
  74. return <Select.Option value={option} key={option}>{option}</Select.Option>;
  75. })}
  76. </Select>
  77. </Form.Item>
  78. <Form.Item {...tailLayout}>
  79. <Button colSpan={12} type="primary" htmlType="submit"
  80. style={{ float: 'right' }}>
  81. 下一步
  82. </Button>
  83. </Form.Item>
  84. </Form>
  85. </>
  86. )
  87. };
  88. export default connect(({ editReport }) => ({
  89. data: editReport.step,
  90. osType: editReport.osType,
  91. commonId: editReport.commonId,
  92. }))(Step1);