forked from gzzfw/frontEnd/gzDyh

liuwh
2024-09-13 9f705a54328c4b59ad9566c521bc6e0e7577acb3
gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
@@ -26,6 +26,7 @@
  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);
@@ -47,6 +48,35 @@
      props.formRef.current.setFieldValue('fakeData', fakeData)
    }
  }, [fakeData])
  useEffect(() => {
    setFakeData(props.partyList?.map(item => {
      const fileInfoList = item.fileInfoList
      let file = [];//身份证明材料、企业登记材料
      let file1 = [];//法人、机构身份证明材料、代理人授权委托书
      if (fileInfoList && fileInfoList.length != 0) {
        fileInfoList.forEach(item => {
          if (item.ownerType == '22_00018-202' || item.ownerType == '22_00018-203') {
            file.push({
              ...item.fileList[0],
              uid: item.fileList[0].id,
            })
          }
          if (item.ownerType == '22_00018-204' || item.ownerType == '22_00018-207') {
            file1.push({
              ...item.fileList[0],
              uid: item.fileList[0].id,
            })
          }
        })
      }
      return {
        ...item,
        file,
        file1
      }
    }) || [])
  }, [props.partyList])
  //获取当前时间
  const getFormattedDateTime = () => {
@@ -72,7 +102,7 @@
  const handleConfirm = (scanContent) => {
    // 处理确认逻辑
    props.formRef.current.setFieldValue('caseDes', scanContent)
    props.formRef.current.setFieldValue(ocrText, scanContent)
    setScanFile(false);
    console.log(scanContent, 'scanContent')
@@ -85,7 +115,7 @@
  //添加当事人
  const handleAddParty = (value, isEdit) => {
    console.log(value, isEdit);
    console.log(value);
    if (isEdit) {
      //编辑
      const newList = fakeData.map(item => {
@@ -153,6 +183,7 @@
        initialValues={{
          caseLevel: 3,
          visitTime: getFormattedDateTime(),
          occurTime: getFormattedDateTime(),
          majorStatus: 0,
        }}//默认值
      >
@@ -246,22 +277,27 @@
            </FormItem>
          </Col>
          <Col span={8}>
            <FormItem label='问题属地' field='myQuesAddress'>
            <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) {
                    console.log(option)
                    props.formRef.current.setFieldsValue({
                      queProv: option[0].value,
                      queProvName: option[0].label,
                      queCity: option[1].value,
                      queCityName: option[1].label,
                      queArea: option[2].value,
                      queAreaName: option[2].label,
                      queRoad: option[3] && option[3].value || '',
                      queRoadName: option[3] && option[3].label || '',
                      // 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 {
                    //清除数据
@@ -301,7 +337,7 @@
                </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)}>识别上传材料</div>
                <div style={{ marginLeft: '8px', color: '#1A6FB8', fontSize: '14px', cursor: 'pointer' }} onClick={() => { setScanFile(true); setOcrText('caseDes') }}>识别材料</div>
              </div>
              }
              field='caseDes'
@@ -325,7 +361,7 @@
                </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)}>识别上传材料</div>
                <div style={{ marginLeft: '8px', color: '#1A6FB8', fontSize: '14px', cursor: 'pointer' }} onClick={() => { setScanFile(true); setOcrText('caseClaim') }}>识别材料</div>
              </div>
              }
              field='caseClaim'
@@ -355,14 +391,22 @@
          </div>
        </Row>
      </Form>
      </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>
      <FileTable mainId={props.mainId}/>
      <div style={{ marginBottom: '65px' }}>
        <FileTable
          mainId={props.mainId}
          fileInfoList={props.fileInfoList}
          isReview={false}
          handleSaveList={(list) => {
            props.formRef.current.setFieldValue('fileInfoList', list)
          }}
        />
      </div>
      <DocumentScanner
        visible={scanFile}
        onConfirm={handleConfirm}