广州市综治平台前端
liuwh
3 days ago fa5361c6776f01975737fb5630594a9c60924fc5
src/views/register/closeCaseEdit/component/visitorRegister.jsx
@@ -1,537 +1,549 @@
import React, { useState, useEffect, useRef } from "react";
import React, { useState, useEffect, useRef } from 'react';
import { Row, Col, Space, Tooltip, Button } from 'antd';
import { Form, Input, Radio, Select, DatePicker, Cascader, Modal, Alert, InputNumber } from '@arco-design/web-react';
import PersonCard from '@/components/personCard';
import MyTabsNew from '../../../../components/MyTabsNew';
import * as $$ from '@/utils/utility';
import {
  question1,
  majorStatus_1
} from '@/assets/images';
import { question1, majorStatus_1 } from '@/assets/images';
import '../../index.less';
import ApplyDialog from "./applyDialog";
import AgentDialog from "./agentDialog";
import ApplyDialog from './applyDialog';
import AgentDialog from './agentDialog';
import MapView from './map';
import SelectAddr from './selectAddr';
import { scan } from '@/assets/images/icon';
import { EventLevelDrawer, MattersDetail } from './levelDetail';
import DocumentScanner from '../../matterDetail/FileUpLoad';
import FileTable from "../../matterDetail/FileTable";
import FileTable from '../../matterDetail/FileTable';
const RadioGroup = Radio.Group;// 根据调解案号获取纠纷登记信息
const RadioGroup = Radio.Group; // 根据调解案号获取纠纷登记信息
const FormItem = Form.Item;
const InputSearch = Input.Search;
const VisitorRegister = (props) => {
  const [dialogType, setDialogType] = useState();//添加当事人的类型
  const [addVisabled, setAddVisabled] = useState(false);//添加当事人弹窗控制
  const [fakeData, setFakeData] = useState([]);//当事人信息数据
  const [scanFile, setScanFile] = useState(false);
  const [ocrText, setOcrText] = useState('');
   const [dialogType, setDialogType] = useState(); //添加当事人的类型
   const [addVisabled, setAddVisabled] = useState(false); //添加当事人弹窗控制
   const [fakeData, setFakeData] = useState([]); //当事人信息数据
   const [scanFile, setScanFile] = useState(false);
   const [ocrText, setOcrText] = useState('');
  const [mapView, setMapView] = useState(false);
  const [visible, setVisible] = useState(false);
  const [apply, setApply] = useState(false);
  const [editData, setEditData] = useState(null);
  const [agentVisible, setAgentVisible] = useState(false);
  const [mediateTab, setMediateTab] = useState('1'); //选择纠纷发生地1,地图 2.手动输入
   const [mapView, setMapView] = useState(false);
   const [visible, setVisible] = useState(false);
   const [apply, setApply] = useState(false);
   const [editData, setEditData] = useState(null);
   const [agentVisible, setAgentVisible] = useState(false);
   const [mediateTab, setMediateTab] = useState('1'); //选择纠纷发生地1,地图 2.手动输入
  const peopleMap = {
    '15_020008-1': '申请方',
    '15_020008-2': '被申请方',
    '24_00006-1': '申请方代理人',
    '24_00006-2': '被申请方代理人'
  }
   const peopleMap = {
      '15_020008-1': '申请方',
      '15_020008-2': '被申请方',
      '24_00006-1': '申请方代理人',
      '24_00006-2': '被申请方代理人',
   };
  useEffect(() => {
    if (props.formRef.current) {
      //引入当事人数据
      props.formRef.current.setFieldValue('fakeData', fakeData)
    }
  }, [fakeData])
   useEffect(() => {
      if (props.formRef.current) {
         //引入当事人数据
         props.formRef.current.setFieldValue('fakeData', fakeData);
      }
   }, [fakeData]);
  useEffect(() => {
    setFakeData(props.partyList || [])
  }, [props.partyList])
   useEffect(() => {
      setFakeData(props.partyList || []);
   }, [props.partyList]);
  //获取当前时间
  const getFormattedDateTime = () => {
    let now = new Date();
    let year = now.getFullYear();
    let month = (now.getMonth() + 1).toString().padStart(2, '0'); // 月份是从0开始的,所以要+1
    let day = now.getDate().toString().padStart(2, '0');
    let hours = now.getHours().toString().padStart(2, '0');
    let minutes = now.getMinutes().toString().padStart(2, '0');
   //获取当前时间
   const getFormattedDateTime = () => {
      let now = new Date();
      let year = now.getFullYear();
      let month = (now.getMonth() + 1).toString().padStart(2, '0'); // 月份是从0开始的,所以要+1
      let day = now.getDate().toString().padStart(2, '0');
      let hours = now.getHours().toString().padStart(2, '0');
      let minutes = now.getMinutes().toString().padStart(2, '0');
    return `${year}-${month}-${day} ${hours}:${minutes}`;
  }
      return `${year}-${month}-${day} ${hours}:${minutes}`;
   };
  //添加当事人
  const handleAdd = (type) => {
    if (type === '24_00006-1' || type === '24_00006-2') {
      setAgentVisible(true)
    } else {
      setAddVisabled(true)
    }
    setDialogType(type)
  }
   //添加当事人
   const handleAdd = (type) => {
      if (type === '24_00006-1' || type === '24_00006-2') {
         setAgentVisible(true);
      } else {
         setAddVisabled(true);
      }
      setDialogType(type);
   };
  const handleConfirm = (scanContent) => {
    // 处理确认逻辑
    props.formRef.current.setFieldValue(ocrText, scanContent)
    setScanFile(false);
  };
   const handleConfirm = (scanContent) => {
      // 处理确认逻辑
      props.formRef.current.setFieldValue(ocrText, scanContent);
      setScanFile(false);
   };
  const handleCancel = () => {
    // 处理取消逻辑
    setScanFile(false);
  };
   const handleCancel = () => {
      // 处理取消逻辑
      setScanFile(false);
   };
  //添加当事人
  const handleAddParty = (value, isEdit) => {
    if (isEdit) {
      //编辑
      const newList = fakeData.map(item => {
        if (item.id === value.id) {
          return value
        } else {
          return item
        }
      })
      setFakeData(newList)
      setEditData(null)
    } else {
      setFakeData([...fakeData, {
        ...value
      }])
    }
  }
   //添加当事人
   const handleAddParty = (value, isEdit) => {
      if (isEdit) {
         //编辑
         const newList = fakeData.map((item) => {
            if (item.id === value.id) {
               return value;
            } else {
               return item;
            }
         });
         setFakeData(newList);
         setEditData(null);
      } else {
         setFakeData([
            ...fakeData,
            {
               ...value,
            },
         ]);
      }
   };
  //删除当事人
  const handleDeleteParty = (event, value) => {
    $$.modalInfo({
      content: `确定删除${value.trueName}的当事人信息吗?`,
      onOk: () => {
        event.stopPropagation();
        const filterData = fakeData.filter(item => item.id !== value.id)
        setFakeData(filterData)
      },
    });
  }
   //删除当事人
   const handleDeleteParty = (event, value) => {
      $$.modalInfo({
         content: `确定删除${value.trueName}的当事人信息吗?`,
         onOk: () => {
            event.stopPropagation();
            const filterData = fakeData.filter((item) => item.id !== value.id);
            setFakeData(filterData);
         },
      });
   };
  //编辑
  const handleEdit = (value) => {
    if (value.perType === '15_020008-1' || value.perType === '15_020008-2') {
      //当事人
      setAddVisabled(true)
    } else {
      //代理人
      setAgentVisible(true)
    }
    setDialogType(value.perType)
    console.log('value', value);
   //编辑
   const handleEdit = (value) => {
      if (value.perType === '15_020008-1' || value.perType === '15_020008-2') {
         //当事人
         setAddVisabled(true);
      } else {
         //代理人
         setAgentVisible(true);
      }
      setDialogType(value.perType);
      console.log('value', value);
    setEditData(value)
  }
      setEditData(value);
   };
   return (
      <div className="" style={{ ...props.style }}>
         <Col span={24} style={{ display: 'flex', alignItems: 'center' }}>
            <Space size="small">
               <div className="MediationInfo-subTitle" style={{ marginTop: '-9px' }}></div>
               <div style={{ display: 'flex' }}>
                  <h4>当事人信息</h4>
               </div>
            </Space>
         </Col>
         <div style={{ margin: '16px 0' }}>
            <PersonCard isCheck={true} data={fakeData} handleAdd={handleAdd} handleDeleteParty={handleDeleteParty} handleEdit={handleEdit} />
         </div>
         <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '8px' }}>
            <Space size="small">
               <div className="MediationInfo-subTitle" style={{ marginTop: '-9px' }}></div>
               <h4>纠纷基本情况</h4>
            </Space>
         </Col>
         <Form
            ref={props.formRef}
            layout="vertical"
            requiredSymbol={false}
            scrollToFirstError={true}
            initialValues={{
               caseLevel: '3',
               visitPeopleNum: 1,
               visitTime: getFormattedDateTime(),
               occurTime: getFormattedDateTime(),
               majorStatus: 0,
            }} //默认值
            onValuesChange={props.onValuesChange}
         >
            <Row gutter={[32, 0]}>
               <Col span={8}>
                  <FormItem
                     label={
                        <div style={{ display: 'flex' }}>
                           事项等级
                           <Tooltip onClick={() => setApply(true)}>
                              <img src={question1} alt="" style={{ width: '13px', height: '13px', margin: '4px 4px 0px 4px', cursor: 'pointer' }} />
                           </Tooltip>
                        </div>
                     }
                     field="caseLevel"
                  >
                     <Select placeholder="请选择事项等级" allowClear options={$$.options.caseLevelList}></Select>
                  </FormItem>
               </Col>
               <Col span={8}>
                  <FormItem label="来访时间" field="visitTime">
                     <DatePicker style={{ width: '100%' }} format="YYYY-MM-DD HH:mm" showTime={true} />
                  </FormItem>
               </Col>
               <Col span={8}>
                  {props.canal === '22_00001-1' && (
                     <FormItem
                        rules={[{ message: '请填写来访人数', required: true }]}
                        label={
                           <div style={{ display: 'flex' }}>
                              来访人数(人)<div className="must">必填</div>
                           </div>
                        }
                        field="visitPeopleNum"
                     >
                        <InputNumber placeholder="请填写" min={1} precision={0} step={1} />
                     </FormItem>
                  )}
               </Col>
               <Col span={8}>
                  <FormItem
                     label={
                        <div style={{ display: 'flex' }}>
                           纠纷类型<div className="must">必填</div>
                        </div>
                     }
                     rules={[{ message: '请选择纠纷类型', required: true }]}
                     field="myCaseType"
                  >
                     <Cascader
                        placeholder="请选择"
                        options={$$.caseTypeSelect.caseTypeSelect}
                        onChange={(value, option) => {
                           if (option) {
                              props.formRef.current.setFieldsValue({
                                 caseTypeFirst: option[0].value,
                                 caseTypeFirstName: option[0].label,
                                 caseType: option[1].value,
                                 caseTypeName: option[1].label,
                              });
                           } else {
                              //清除数据
                              props.formRef.current.setFieldsValue({
                                 caseTypeFirst: undefined,
                                 caseTypeFirstName: undefined,
                                 caseType: undefined,
                                 caseTypeName: undefined,
                              });
                           }
                        }}
                        showSearch
                        allowClear
                     />
                  </FormItem>
               </Col>
               <Col span={8}>
                  <FormItem
                     label={
                        <div style={{ display: 'flex' }}>
                           纠纷发生时间<div className="must">必填</div>
                        </div>
                     }
                     rules={[{ message: '请选择纠纷发生时间', required: true }]}
                     field="occurTime"
                  >
                     <DatePicker style={{ width: '100%' }} placeholder="请选择" format="YYYY-MM-DD HH:mm" showTime={true} />
                  </FormItem>
               </Col>
               <Col span={8}>
                  <FormItem
                     label={
                        <div style={{ display: 'flex' }}>
                           纠纷发生地点<div className="must">必填</div>
                        </div>
                     }
                     rules={[{ message: '请选择纠纷发生地点', required: true }]}
                     field="addr"
                  >
                     <InputSearch
                        placeholder="选择纠纷发生地的详细地址"
                        searchButton="选择"
                        readOnly={true} // 设置为只读,防止直接编辑
                        onSearch={() => setMapView(true)}
                     />
                  </FormItem>
               </Col>
               <Col span={8}>
                  <FormItem
                     label={
                        <div style={{ display: 'flex' }}>
                           问题属地<div className="must">必填</div>
                        </div>
                     }
                     field="myQuesAddress"
                     rules={[{ message: '请选择问题属地', required: true }]}
                  >
                     <Cascader
                        placeholder="请选择"
                        changeOnSelect={true}
                        options={$$.locationOption()}
                        showSearch
                        onChange={(value, option) => {
                           if (option) {
                              props.formRef.current.setFieldsValue({
                                 // queProv: option[0].value,
                                 // queProvName: option[0].label,
                                 // queCity: option[1].value,
                                 // queCityName: option[1].label,
                                 queArea: option[0].value,
                                 queAreaName: option[0].label,
                                 queRoad: (option[1] && option[1].value) || '',
                                 queRoadName: (option[1] && option[1].label) || '',
                              });
                           } else {
                              //清除数据
                              props.formRef.current.setFieldsValue({
                                 // queProv: undefined,
                                 // queProvName: undefined,
                                 // queCity: undefined,
                                 // queCityName: undefined,
                                 queArea: undefined,
                                 queAreaName: undefined,
                                 queRoad: undefined,
                                 queRoadName: undefined,
                              });
                           }
                        }}
                        allowClear
                     />
                  </FormItem>
               </Col>
               <Col span={8}>
                  <FormItem label="涉及人数(人)" field="peopleNum">
                     <InputNumber placeholder="请填写" min={1} precision={0} step={1} />
                  </FormItem>
               </Col>
  return (
    <div className='' style={{ ...props.style }}>
      <Col span={24} style={{ display: 'flex', alignItems: 'center' }}>
        <Space size='small'>
          <div className='MediationInfo-subTitle' style={{ marginTop: '-9px', }}></div><div style={{ display: 'flex' }}><h4>当事人信息</h4></div>
        </Space>
      </Col>
      <div style={{ margin: '16px 0' }}>
        <PersonCard
          isCheck={true}
          data={fakeData}
          handleAdd={handleAdd}
          handleDeleteParty={handleDeleteParty}
          handleEdit={handleEdit}
        />
      </div>
      <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '8px' }}>
        <Space size='small'>
          <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>纠纷基本情况</h4>
        </Space>
      </Col>
      <Form
        ref={props.formRef}
        layout='vertical'
        requiredSymbol={false}
        scrollToFirstError={true}
        initialValues={{
          caseLevel: '3',
          visitPeopleNum: 1,
          visitTime: getFormattedDateTime(),
          occurTime: getFormattedDateTime(),
          majorStatus: 0,
        }}//默认值
        onValuesChange={props.onValuesChange}
      >
        <Row gutter={[32, 0]}>
          <Col span={8}>
            <FormItem
              label={<div style={{ display: 'flex' }}>
                事项等级
                <Tooltip onClick={() => setApply(true)}>
                  <img src={question1} alt="" style={{ width: '13px', height: '13px', margin: '4px 4px 0px 4px', cursor: 'pointer' }} />
                </Tooltip>
              </div>
              }
              field='caseLevel'
            >
              <Select placeholder='请选择事项等级' allowClear options={$$.options.caseLevelList}>
              </Select>
            </FormItem>
          </Col>
          <Col span={8}>
            <FormItem label='来访时间' field='visitTime'>
              <DatePicker
                style={{ width: '100%' }}
                format='YYYY-MM-DD HH:mm'
                showTime={true}
              />
            </FormItem>
          </Col>
          <Col span={8}>
            {props.canal==='22_00001-1' && (<FormItem rules={[{ message: '请填写来访人数', required: true }]} label={(<div style={{ display: 'flex' }}>来访人数(人)<div className="must">必填</div></div>)} field='visitPeopleNum'>
              <InputNumber
                placeholder='请填写'
                min={1}
                precision={0}
                step={1}
              />
            </FormItem>)}
          </Col>
          <Col span={8}>
            <FormItem
              label={(<div style={{ display: 'flex' }}>纠纷类型<div className="must">必填</div></div>)}
              rules={[{ message: '请选择纠纷类型', required: true }]}
              field='myCaseType'
            >
              <Cascader
                placeholder='请选择'
                options={$$.caseTypeSelect.caseTypeSelect}
                onChange={(value, option) => {
                  if (option) {
                    props.formRef.current.setFieldsValue({
                      caseTypeFirst: option[0].value,
                      caseTypeFirstName: option[0].label,
                      caseType: option[1].value,
                      caseTypeName: option[1].label,
                    })
                  } else {
                    //清除数据
                    props.formRef.current.setFieldsValue({
                      caseTypeFirst: undefined,
                      caseTypeFirstName: undefined,
                      caseType: undefined,
                      caseTypeName: undefined,
                    })
                  }
                }}
                showSearch
                allowClear
              />
            </FormItem>
          </Col>
          <Col span={8}>
            <FormItem
              label={(<div style={{ display: 'flex' }}>纠纷发生时间<div className="must">必填</div></div>)}
              rules={[{ message: '请选择纠纷发生时间', required: true }]}
              field='occurTime'
            >
              <DatePicker
                style={{ width: '100%' }}
                placeholder='请选择'
                format='YYYY-MM-DD HH:mm'
                showTime={true}
              />
            </FormItem>
          </Col>
          <Col span={8}>
            <FormItem
              label={(<div style={{ display: 'flex' }}>纠纷发生地点<div className="must">必填</div></div>)}
              rules={[{ message: '请选择纠纷发生地点', required: true }]}
              field='addr'
            >
              <InputSearch
                placeholder='选择纠纷发生地的详细地址'
                searchButton='选择'
                readOnly={true} // 设置为只读,防止直接编辑
                onSearch={() => setMapView(true)}
              />
            </FormItem>
          </Col>
          <Col span={8}>
            <FormItem
              label={(<div style={{ display: 'flex' }}>问题属地<div className="must">必填</div></div>)}
              field='myQuesAddress'
              rules={[{ message: '请选择问题属地', required: true }]}
            >
              <Cascader
                placeholder='请选择'
                options={$$.locationOption()}
                showSearch
                onChange={(value, option) => {
                  if (option) {
                    props.formRef.current.setFieldsValue({
                      // queProv: option[0].value,
                      // queProvName: option[0].label,
                      // queCity: option[1].value,
                      // queCityName: option[1].label,
                      queArea: option[0].value,
                      queAreaName: option[0].label,
                      queRoad: option[1] && option[1].value || '',
                      queRoadName: option[1] && option[1].label || '',
                    })
                  } else {
                    //清除数据
                    props.formRef.current.setFieldsValue({
                      // queProv: undefined,
                      // queProvName: undefined,
                      // queCity: undefined,
                      // queCityName: undefined,
                      queArea: undefined,
                      queAreaName: undefined,
                      queRoad: undefined,
                      queRoadName: undefined,
                    })
                  }
                }}
                allowClear
              />
            </FormItem>
          </Col>
          <Col span={8}>
            <FormItem label='涉及人数(人)' field='peopleNum'>
              <InputNumber
                placeholder='请填写'
                min={1}
                precision={0}
                step={1}
              />
            </FormItem>
          </Col>
          <Col span={8}>
            <FormItem label='涉及金额(元)' field='amount'>
              <InputNumber
                placeholder='请填写'
                formatter={(value) => {
                  return `${value}`.replace(/\B(?=(\d{3})+(?!\d))/g, ",")
                }}
                parser={(value) => value.replace(/,/g, '')}
              />
            </FormItem>
          </Col>
          <Col span={24}>
            <FormItem
              label={<div style={{ display: 'flex' }}>
                事项概况
                <Tooltip onClick={() => setVisible(true)}>
                  <img src={question1} alt="" style={{ width: '13px', height: '13px', margin: '4px 4px 0px 4px', cursor: 'pointer' }} />
                </Tooltip>
                <div className="must" style={{ marginLeft: '4px' }}>必填</div>
                <img src={scan} alt="" style={{ marginRight: '-2px', marginLeft: '8px' }} />
                <div style={{ marginLeft: '8px', color: '#1A6FB8', fontSize: '14px', cursor: 'pointer' }} onClick={() => { setScanFile(true); setOcrText('caseDes') }}>识别材料</div>
              </div>
              }
              field='caseDes'
              rules={[{ message: '请填写事项概况', required: true }]}
            >
              <Input.TextArea
                maxLength={2000}
                showWordLimit
                rows={7}
                placeholder='请完整描述事项概况,应具备5要素:发生时间+发生地点+人物情况+事项起因+事项经过'
                wrapperStyle={{ width: '100%' }}
              />
            </FormItem>
          </Col>
          <Col span={24}>
            <FormItem
              label={<div style={{ display: 'flex' }}>
                申请请求
                {/* <Tooltip onClick={() => setApply(true)}>
               <Col span={8}>
                  <FormItem label="涉及金额(元)" field="amount">
                     <InputNumber
                        placeholder="请填写"
                        formatter={(value) => {
                           return `${value}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
                        }}
                        parser={(value) => value.replace(/,/g, '')}
                     />
                  </FormItem>
               </Col>
               <Col span={24}>
                  <FormItem
                     label={
                        <div style={{ display: 'flex' }}>
                           事项概况
                           <Tooltip onClick={() => setVisible(true)}>
                              <img src={question1} alt="" style={{ width: '13px', height: '13px', margin: '4px 4px 0px 4px', cursor: 'pointer' }} />
                           </Tooltip>
                           <div className="must" style={{ marginLeft: '4px' }}>
                              必填
                           </div>
                           <img src={scan} alt="" style={{ marginRight: '-2px', marginLeft: '8px' }} />
                           <div
                              style={{ marginLeft: '8px', color: '#1A6FB8', fontSize: '14px', cursor: 'pointer' }}
                              onClick={() => {
                                 setScanFile(true);
                                 setOcrText('caseDes');
                              }}
                           >
                              识别材料
                           </div>
                        </div>
                     }
                     field="caseDes"
                     rules={[{ message: '请填写事项概况', required: true }]}
                  >
                     <Input.TextArea
                        maxLength={2000}
                        showWordLimit
                        rows={7}
                        placeholder="请完整描述事项概况,应具备5要素:发生时间+发生地点+人物情况+事项起因+事项经过"
                        wrapperStyle={{ width: '100%' }}
                     />
                  </FormItem>
               </Col>
               <Col span={24}>
                  <FormItem
                     label={
                        <div style={{ display: 'flex' }}>
                           申请请求
                           {/* <Tooltip onClick={() => setApply(true)}>
                  <img src={question1} alt="" style={{ width: '13px', height: '13px', margin:'4px 4px 0px 4px' }} />
                </Tooltip> */}
                <div className="must">必填</div>
                <img src={scan} alt="" style={{ marginRight: '-2px', marginLeft: '8px' }} />
                <div style={{ marginLeft: '8px', color: '#1A6FB8', fontSize: '14px', cursor: 'pointer' }} onClick={() => { setScanFile(true); setOcrText('caseClaim') }}>识别材料</div>
              </div>
              }
              field='caseClaim'
              rules={[{ message: '请填写申请请求', required: true }]}
            >
              <Input.TextArea
                maxLength={500}
                showWordLimit
                rows={7}
                placeholder='希望相关部门如何处理,建议分条描述,如请求1,请求2...'
                wrapperStyle={{ width: '100%' }}
              />
            </FormItem>
          </Col>
          <div style={{ padding: '0px 16px', borderRadius: '2px', display: 'flex', alignItems: 'center' }}>
            <img src={majorStatus_1} alt="" srcset="" />
            <FormItem
              label='是否重大矛盾纠纷'
              style={{ width: '300px', marginBottom: 0 }}
              field='majorStatus'
              layout='horizontal'
              labelCol={{ span: 11 }}
              wrapperCol={{ span: 13 }}
            >
              <RadioGroup options={[{ value: 0, label: '否' }, { value: 1, label: '是' }]} />
            </FormItem>
          </div>
        </Row>
      </Form >
      <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '8px', marginTop: '20px' }}>
        <Space size='small'>
          <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>事件材料</h4>
        </Space>
      </Col>
      <div style={{ marginBottom: '12px' }}>
        <FileTable
          mainId={props.mainId}
          fileInfoList={props.fileInfoList}
          isReview={false}
          isEdit={props.isEdit ? props.isEdit : false}
          handleSaveList={(list) => {
            props.formRef.current.setFieldValue('fileInfoList', list)
          }}
        />
      </div>
      <DocumentScanner
        visible={scanFile}
        onConfirm={handleConfirm}
        onCancel={handleCancel}
      />
      <Modal
        title={(editData ? '修改' : '添加') + peopleMap[dialogType]}
        visible={addVisabled}
        onOk={() => setAddVisabled(false)}
        onCancel={() => {
          setAddVisabled(false)
          setEditData(null)
        }}
        autoFocus={false}
        focusLock={true}
        footer={null}
        unmountOnExit={true}
        maskClosable={false}
      >
        <ApplyDialog
          dialogType={dialogType}
          onClose={() => setAddVisabled(false)}
          handleAddParty={handleAddParty}
          editData={editData}
          mainId={props.mainId}
          canal={props.canal}
        />
      </Modal>
      <Modal
        title={(editData ? '修改' : '添加') + peopleMap[dialogType]}
        visible={agentVisible}
        onOk={() => setAgentVisible(false)}
        onCancel={() => {
          setAgentVisible(false)
          setEditData(null)
        }}
        autoFocus={false}
        focusLock={true}
        footer={null}
        unmountOnExit={true}
        maskClosable={false}
      >
        <AgentDialog
          handleAddParty={handleAddParty}
          onClose={() => setAgentVisible(false)}
          fakeData={fakeData}
          dialogType={dialogType}
          editData={editData}
          mainId={props.mainId}
        />
      </Modal>
      <Modal
        style={{ width: '1200px' }}
        visible={mapView}
        onCancel={() => setMapView(false)}
        footer={null}
        title='选择纠纷发生地'
        centered
        unmountOnExit={true}
        maskClosable={false}
      >
        <div className="pageTabs">
          <MyTabsNew
            style={{ padding: '0 0 10px', }}
            tabs={[
              { key: '1', label: '手动输入' },
              { key: '2', label: '地图选择' },
            ]}
            activeKey={mediateTab}
            onChange={(activeKey) => {
              setMediateTab(activeKey);
            }}
          />
        </div>
        <div style={{ margin: '12px 0' }}>
          {
            mediateTab == '2' &&
            <Alert
              type='info'
              content={<span>根据纠纷入格要求,手动输入纠纷发生地时,需完整填写区、街镇、村社及具体地点信息</span>}
            />
          }
        </div>
        {
          mediateTab == '2' &&
          <MapView
            selectAdd={(data) => {
              props.formRef.current.setFieldsValue({
                addr: data.addName,
                lng: data.pt.lng,
                lat: data.pt.lat,
              })
              setMapView(false)
            }}
          />
        }
        {
          mediateTab == '1' &&
          <SelectAddr addAdressClick={(data, list) => {
            props.formRef.current.setFieldsValue({
              ...data,
              myQuesAddress: list
            })
            setMapView(false)
          }} />
        }
      </Modal>
      <MattersDetail
        visible={visible}
        onClose={() => setVisible(false)}
      />
      <EventLevelDrawer
        visible={apply}
        onClose={() => setApply(false)}
      />
    </div >
  )
}
                           <div className="must">必填</div>
                           <img src={scan} alt="" style={{ marginRight: '-2px', marginLeft: '8px' }} />
                           <div
                              style={{ marginLeft: '8px', color: '#1A6FB8', fontSize: '14px', cursor: 'pointer' }}
                              onClick={() => {
                                 setScanFile(true);
                                 setOcrText('caseClaim');
                              }}
                           >
                              识别材料
                           </div>
                        </div>
                     }
                     field="caseClaim"
                     rules={[{ message: '请填写申请请求', required: true }]}
                  >
                     <Input.TextArea
                        maxLength={500}
                        showWordLimit
                        rows={7}
                        placeholder="希望相关部门如何处理,建议分条描述,如请求1,请求2..."
                        wrapperStyle={{ width: '100%' }}
                     />
                  </FormItem>
               </Col>
               <div style={{ padding: '0px 16px', borderRadius: '2px', display: 'flex', alignItems: 'center' }}>
                  <img src={majorStatus_1} alt="" srcset="" />
                  <FormItem
                     label="是否重大矛盾纠纷"
                     style={{ width: '300px', marginBottom: 0 }}
                     field="majorStatus"
                     layout="horizontal"
                     labelCol={{ span: 11 }}
                     wrapperCol={{ span: 13 }}
                  >
                     <RadioGroup
                        options={[
                           { value: 0, label: '否' },
                           { value: 1, label: '是' },
                        ]}
                     />
                  </FormItem>
               </div>
            </Row>
         </Form>
         <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '8px', marginTop: '20px' }}>
            <Space size="small">
               <div className="MediationInfo-subTitle" style={{ marginTop: '-9px' }}></div>
               <h4>事件材料</h4>
            </Space>
         </Col>
         <div style={{ marginBottom: '12px' }}>
            <FileTable
               mainId={props.mainId}
               fileInfoList={props.fileInfoList}
               isReview={false}
               isEdit={props.isEdit ? props.isEdit : false}
               handleSaveList={(list) => {
                  props.formRef.current.setFieldValue('fileInfoList', list);
               }}
            />
         </div>
         <DocumentScanner visible={scanFile} onConfirm={handleConfirm} onCancel={handleCancel} />
         <Modal
            title={(editData ? '修改' : '添加') + peopleMap[dialogType]}
            visible={addVisabled}
            onOk={() => setAddVisabled(false)}
            onCancel={() => {
               setAddVisabled(false);
               setEditData(null);
            }}
            autoFocus={false}
            focusLock={true}
            footer={null}
            unmountOnExit={true}
            maskClosable={false}
         >
            <ApplyDialog
               dialogType={dialogType}
               onClose={() => setAddVisabled(false)}
               handleAddParty={handleAddParty}
               editData={editData}
               mainId={props.mainId}
               canal={props.canal}
            />
         </Modal>
         <Modal
            title={(editData ? '修改' : '添加') + peopleMap[dialogType]}
            visible={agentVisible}
            onOk={() => setAgentVisible(false)}
            onCancel={() => {
               setAgentVisible(false);
               setEditData(null);
            }}
            autoFocus={false}
            focusLock={true}
            footer={null}
            unmountOnExit={true}
            maskClosable={false}
         >
            <AgentDialog
               handleAddParty={handleAddParty}
               onClose={() => setAgentVisible(false)}
               fakeData={fakeData}
               dialogType={dialogType}
               editData={editData}
               mainId={props.mainId}
            />
         </Modal>
         <Modal
            style={{ width: '1200px' }}
            visible={mapView}
            onCancel={() => setMapView(false)}
            footer={null}
            title="选择纠纷发生地"
            centered
            unmountOnExit={true}
            maskClosable={false}
         >
            <div className="pageTabs">
               <MyTabsNew
                  style={{ padding: '0 0 10px' }}
                  tabs={[
                     { key: '1', label: '手动输入' },
                     { key: '2', label: '地图选择' },
                  ]}
                  activeKey={mediateTab}
                  onChange={(activeKey) => {
                     setMediateTab(activeKey);
                  }}
               />
            </div>
            <div style={{ margin: '12px 0' }}>
               {mediateTab == '2' && (
                  <Alert type="info" content={<span>根据纠纷入格要求,手动输入纠纷发生地时,需完整填写区、街镇、村社及具体地点信息</span>} />
               )}
            </div>
            {mediateTab == '2' && (
               <MapView
                  selectAdd={(data) => {
                     props.formRef.current.setFieldsValue({
                        addr: data.addName,
                        lng: data.pt.lng,
                        lat: data.pt.lat,
                     });
                     setMapView(false);
                  }}
               />
            )}
            {mediateTab == '1' && (
               <SelectAddr
                  addAdressClick={({ addr, addrNameList, addrList }) => {
                     props.formRef.current.setFieldsValue({
                        addr: addr,
                        myQuesAddress: addrList,
                        queArea: addrList[0],
                        queAreaName: addrNameList[0],
                        queRoad: addrList[1] ? addrList[1] : '',
                        queRoadName: addrNameList[1] ? addrNameList[1] : '',
                     });
                     setMapView(false);
                  }}
               />
            )}
         </Modal>
         <MattersDetail visible={visible} onClose={() => setVisible(false)} />
         <EventLevelDrawer visible={apply} onClose={() => setApply(false)} />
      </div>
   );
};
export default VisitorRegister;