123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. import React, { useEffect, useState, useCallback } from 'react';
  2. import { Button, Form, Select, Input, InputNumber, Radio, message, Card, DatePicker, } from 'antd';
  3. import router from 'umi/router';
  4. import { fetch, apis, request } from '@/utils/request';
  5. // import { values } from 'lodash';
  6. const FormItem = Form.Item;
  7. const { RangePicker } = DatePicker
  8. const { Option } = Select;
  9. const updateTreeData = fetch(apis.Institution.instiAlert); //接口
  10. // const Treelist = fetch(apis.Institution.instIist)
  11. const TreedataFrom = React.forwardRef((props, ref) => {
  12. // const [treeData, onChangethis] = useState();
  13. const [treeData, settreeData] = useState(0)
  14. const { onChangethis } = props//获取父组件的方法
  15. // const [data, setData] = useState(treeData);
  16. const { form, treeTitle, } = props;
  17. const { getFieldDecorator, setFieldsValue, validateFields } = form;
  18. // const { institutionId } = history || {}
  19. const formItemLayout = {
  20. //布局
  21. labelCol: { span: 6 },
  22. wrapperCol: { span: 14 },
  23. };
  24. const formRef = React.createRef();
  25. const onChange = (date, dateString) => {
  26. onChangethis(value)
  27. console.log('fomr onChange---', date, dateString);
  28. }
  29. //
  30. const handleSubmitAdd = (value) => {
  31. let arr = []
  32. arr = props.form.getFieldsValue()//获取表单的值
  33. console.log('---------------arr', arr.institutionId)
  34. onChangethis(arr)//把表单值传入父组件的修改方法
  35. return arr()
  36. // setFieldsValue(treeData)
  37. }
  38. const handleSubmit11 = (values) => {
  39. updateTreeData({ urlData: { id: institutionId }, data: { ...values } }).then((data) => {
  40. }).catch((err) => {
  41. message.error(err.msg || err.message)
  42. })
  43. }
  44. const handleSubmit = (e, values) => {
  45. let arr = []
  46. arr = props.form.getFieldsValue()
  47. e.preventDefault();//阻止默认提交
  48. validateFields((err, value) => {
  49. updateTreeData({
  50. data: arr,
  51. urlData: { id: value.institutionId }
  52. }).then((data) => {
  53. setData(treeData)
  54. message.success('修改成功');
  55. }).catch((err) => {
  56. message.error(err.message || err);
  57. })
  58. });
  59. }
  60. //挂载
  61. const componentDidMount = () => {
  62. console.log('6666666666form挂载', this.props.FromValue)
  63. this.props.triggerRef(this)
  64. }
  65. return (
  66. <Form {...formItemLayout} ref={formRef}
  67. // onChange={onChange}
  68. onSubmit={handleSubmit}
  69. >
  70. <FormItem hidden >
  71. {getFieldDecorator('institutionId')(<Input />)}
  72. </FormItem> <FormItem hidden >
  73. {getFieldDecorator('key')(<Input />)}
  74. </FormItem>
  75. <FormItem label="名称">
  76. {getFieldDecorator('institutionName', {
  77. rules: [{ required: true, message: '请输入名称!' }],
  78. })(<Input />)}
  79. </FormItem>
  80. <FormItem wrapperCol={{ span: 12, offset: 5 }}>
  81. <Button type="primary" htmlType="submit" style={{ marginLeft: '80px', marginTop: '30px' }}>
  82. 修改
  83. </Button>
  84. {/* <Button type="danger">
  85. 删除
  86. </Button> */}
  87. </FormItem>
  88. </Form>
  89. )
  90. })
  91. export default Form.create({})(TreedataFrom);