From b6944bfda25eb9a6935d137792de7e9096e453b2 Mon Sep 17 00:00:00 2001
From: liuwh <964324856@qq.com>
Date: Tue, 10 Sep 2024 19:47:55 +0800
Subject: [PATCH] 上传材料修改
---
gz-customerSystem/src/views/register/matterDetail/FileUpLoad.jsx | 130 +++++++++++++++++++++++++++++++-----------
1 files changed, 95 insertions(+), 35 deletions(-)
diff --git a/gz-customerSystem/src/views/register/matterDetail/FileUpLoad.jsx b/gz-customerSystem/src/views/register/matterDetail/FileUpLoad.jsx
index e68d3ab..97f1cba 100644
--- a/gz-customerSystem/src/views/register/matterDetail/FileUpLoad.jsx
+++ b/gz-customerSystem/src/views/register/matterDetail/FileUpLoad.jsx
@@ -1,11 +1,13 @@
-import React, { useState, useEffect } from 'react';
-import { Typography, Button } from 'antd';
-import { CheckOutlined, } from '@ant-design/icons';
+import React, { useState, useRef } from 'react';
+import { Button } from 'antd';
+import * as $$ from '@/utils/utility';
import { Form, Input, Modal, Upload } from '@arco-design/web-react';
import { IconLink } from '@arco-design/web-react/icon';
-
+import './index.less'
const FormItem = Form.Item;
+const appUrl = $$.appUrl;
+
const DocumentScanner = ({
visible,
@@ -13,11 +15,12 @@
onCancel
}) => {
-
+ const formRef = useRef();
const [scanFile, setScanFile] = useState(false);
const [scanImage, setScanImage] = useState(false);
const [scaned, setScaned] = useState(false);
const [fileView, setFileView] = useState();
+ const [scanContent, setScanContent] = useState('');
const handleUploadChange = (info, currentFile) => {
if (info.length > 0) {
@@ -29,12 +32,59 @@
});
};
+ const handleScaned = () => {
+ setScaned(true)
+ const content = fileView.response.data.ocrResult.wordsResult.join('\n')
+ setTimeout(() => {
+ console.log(formRef.current, content);
+ formRef.current.setFieldValue('scanContent', content)
+ }, 0)
+ setScanContent(content)
+ }
-
+ const handleText = () => {
+ onConfirm(scanContent);
+ setScanFile(false);
+ setScanImage(false);
+ setScaned(false);
+ }
return (
<>
- <Modal style={{ width: '1200px' }} visible={visible} onCancel={onCancel} title='识别上传材料' centered footer={null}>
+
+ <Modal
+ style={{ width: '944px' }}
+ visible={scanImage}
+ onCancel={() => setScanImage(false)}
+ footer={null}
+ title='选择识别范围'
+ centered
+ unmountOnExit={true}
+ maskClosable={false}
+ >
+ <img
+ src={fileView?.url}
+ alt=""
+ style={{
+ display: 'block',
+ margin: 'auto',
+ maxWidth: '100%',
+ maxHeight: '100%',
+ objectFit: 'contain',
+ }}
+ />
+ <div><Button type="primary" onClick={() => handleScaned()} style={{ marginTop: '20px' }}>开始识别</Button></div>
+ </Modal>
+ <Modal
+ style={{ width: '1200px' }}
+ visible={visible}
+ onCancel={onCancel}
+ title='识别上传材料'
+ centered
+ footer={null}
+ unmountOnExit={true}
+ maskClosable={false}
+ >
<Form
layout='vertical'
requiredSymbol={false}
@@ -51,12 +101,12 @@
// multiple
limit={1}
accept='image/*'
- // action='/'
+ headers={{ Authorization: $$.getSessionStorage('customerSystemToken') }}
+ action={`${appUrl.fileUrl}/${appUrl.sys}/api/web/fileInfo/recognitionText`}
onDrop={(e) => {
}}
tip='支持png、 jpg、pdf等格式文件上传,每次上传大小不超过10M'
showUploadList={{
- // Please dont remove this comment
fileIcon: <IconLink style={{ color: '#1D2129' }} />,
}}
// onChange={(info, currentFile) => {
@@ -79,32 +129,42 @@
</Form>
- </Modal>
- <Modal style={{ width: '944px' }} visible={scanImage} onCancel={() => setScanImage(false)} footer={null} title='选择识别范围' centered>
- <img
- src={fileView?.url}
- alt=""
- style={{
- display: 'block',
- margin: 'auto',
- maxWidth: '100%',
- maxHeight: '100%',
- objectFit: 'contain',
- }}
- />
- <div><Button type="primary" onClick={() => setScaned(true)} style={{ marginTop: '20px' }}>开始识别</Button></div>
- </Modal>
- <Modal style={{ width: '1200px' }} visible={scaned} onCancel={() => setScaned(false)} footer={null} title='识别上传材料' centered>
- <div style={{ marginBottom: '8px' }}>识别内容</div>
- <Input.TextArea
- showWordLimit
- rows={5}
- placeholder=''
- wrapperStyle={{ width: '100%' }}
- defaultValue='识别内容'
- onChange={(v) => console.log(v, 'vvvvvv')}
- />
- <div style={{ marginTop: '24px' }}><Button type="primary" onClick={() => { onConfirm(); setScanFile(false); setScanImage(false); setScaned(false); }}>使用文字</Button></div>
+ </Modal >
+ <Modal
+ className='scan-modal'
+ style={{ width: '1200px' }}
+ wrapStyle={{ zIndex: 1002 }}
+ visible={scaned}
+ onCancel={() => setScaned(false)}
+ footer={null}
+ title='识别上传材料'
+ centered
+ unmountOnExit={true}
+ maskClosable={false}
+ mountOnEnter={false}
+ >
+ <Form
+ ref={formRef}
+ layout='vertical'
+ requiredSymbol={false}
+ scrollToFirstError={true}
+ initialValues={{
+ }}//默认值
+ >
+ <FormItem
+ label='识别内容'
+ field='scanContent'
+ >
+ <Input.TextArea
+ showWordLimit
+ rows={5}
+ placeholder=''
+ wrapperStyle={{ width: '100%' }}
+ onChange={(v) => console.log(v, 'vvvvvv')}
+ />
+ </FormItem>
+ <div style={{ marginTop: '24px' }}><Button type="primary" onClick={() => { handleText() }}>使用文字</Button></div>
+ </Form>
</Modal>
</>
--
Gitblit v1.8.0