| | |
| | | * @Company: hugeInfo |
| | | * @Author: ldh |
| | | * @Date: 2022-02-16 11:25:57 |
| | | * @LastEditTime: 2024-08-31 10:29:49 |
| | | * @LastEditTime: 2024-09-02 10:43:43 |
| | | * @LastEditors: dminyi 1301963064@qq.com |
| | | * @Version: 1.0.0 |
| | | * @Description: api地址 |
| | | */ |
| | | export const debug = { |
| | | // web服务 |
| | | // baseUrl: 'http://gz.hugeinfo.com.cn', |
| | | baseUrl: 'http://b8bmfu.natappfree.cc', |
| | | // baseUrl: 'http://mdqgnh.natappfree.cc', |
| | | // web服务 |
| | | // baseUrl: 'http://gz.hugeinfo.com.cn', |
| | | baseUrl: "http://192.168.3.108:9002", |
| | | // baseUrl: 'http://mdqgnh.natappfree.cc', |
| | | |
| | | // 附件服务 |
| | | fileUrl: 'http://b8bmfu.natappfree.cc', |
| | | // fileUrl: 'http://gz.hugeinfo.com.cn', |
| | | // 附件服务 |
| | | fileUrl: "http://192.168.3.108:9002", |
| | | // fileUrl: 'http://gz.hugeinfo.com.cn', |
| | | |
| | | // 文件查看url 后面接附件编号 |
| | | fileShowUrl: "/dyh-sys/api/v1/fileInfo/show/", |
| | | // 文件下载url 后面接附件编号 |
| | | fileDownUrl: "/dyh-sys/api/v1/fileInfo/down/", |
| | | // 在线文档编辑链接 |
| | | fileDocx: "/word/docDraft/showWord", |
| | | // 签章的文档编辑链接 |
| | | fileDocx2: "/InsertSeal/Word/AddSeal1/Word1", |
| | | |
| | | // 文件查看url 后面接附件编号 |
| | | fileShowUrl: '/dyh-sys/api/v1/fileInfo/show/', |
| | | // 文件下载url 后面接附件编号 |
| | | fileDownUrl: '/dyh-sys/api/v1/fileInfo/down/', |
| | | // 在线文档编辑链接 |
| | | fileDocx: '/word/docDraft/showWord', |
| | | // 签章的文档编辑链接 |
| | | fileDocx2: '/InsertSeal/Word/AddSeal1/Word1', |
| | | |
| | | // 不同服务接口type |
| | | mediate: 'dyh-mediate', // dyh-mediate |
| | | cust: 'dyh-cust', // dyh-cust |
| | | oper: 'dyh-oper', // dyh-oper |
| | | sys: 'dyh-sys', // dyh-sys |
| | | disp: 'dyh-disp', //dyh-disp |
| | | utils: 'dyh-utils' |
| | | // 不同服务接口type |
| | | mediate: "dyh-mediate", // dyh-mediate |
| | | cust: "dyh-cust", // dyh-cust |
| | | oper: "dyh-oper", // dyh-oper |
| | | sys: "dyh-sys", // dyh-sys |
| | | disp: "dyh-disp", //dyh-disp |
| | | utils: "dyh-utils", |
| | | }; |
| | | |
| | | // 正式版 |
| | | export const web = { |
| | | // web服务 |
| | | baseUrl: 'https://zfw-dyh.by.gov.cn', |
| | | // baseUrl: 'http://146.4.99.61:8088/byzfw', |
| | | // web服务 |
| | | baseUrl: "https://zfw-dyh.by.gov.cn", |
| | | // baseUrl: 'http://146.4.99.61:8088/byzfw', |
| | | |
| | | // 附件服务 |
| | | fileUrl: 'https://dyh.hugeinfo.com.cn', |
| | | // 附件服务 |
| | | fileUrl: "https://dyh.hugeinfo.com.cn", |
| | | |
| | | // 文件查看url 后面接附件编号 |
| | | fileShowUrl: '/dyh-sys/api/v1/fileInfo/show/', |
| | | // 文件下载url 后面接附件编号 |
| | | fileDownUrl: '/dyh-sys/api/v1/fileInfo/down/', |
| | | // 在线文档编辑链接 |
| | | fileDocx: '/word/docDraft/showWord', |
| | | // 签章的文档编辑链接 |
| | | fileDocx2: '/InsertSeal/Word/AddSeal1/Word1', |
| | | // 文件查看url 后面接附件编号 |
| | | fileShowUrl: "/dyh-sys/api/v1/fileInfo/show/", |
| | | // 文件下载url 后面接附件编号 |
| | | fileDownUrl: "/dyh-sys/api/v1/fileInfo/down/", |
| | | // 在线文档编辑链接 |
| | | fileDocx: "/word/docDraft/showWord", |
| | | // 签章的文档编辑链接 |
| | | fileDocx2: "/InsertSeal/Word/AddSeal1/Word1", |
| | | |
| | | // 不同服务接口type |
| | | mediate: 'dyh-mediate', // dyh-mediate |
| | | cust: 'dyh-cust', // dyh-cust |
| | | oper: 'dyh-oper', // dyh-oper |
| | | sys: 'dyh-sys', // dyh-sys |
| | | disp: 'dyh-disp', //dyh-disp |
| | | // 不同服务接口type |
| | | mediate: "dyh-mediate", // dyh-mediate |
| | | cust: "dyh-cust", // dyh-cust |
| | | oper: "dyh-oper", // dyh-oper |
| | | sys: "dyh-sys", // dyh-sys |
| | | disp: "dyh-disp", //dyh-disp |
| | | }; |
| | |
| | | * @Company: hugeInfo |
| | | * @Author: ldh |
| | | * @Date: 2022-03-28 11:22:41 |
| | | * @LastEditTime: 2024-08-27 10:42:32 |
| | | * @LastEditTime: 2024-08-31 17:09:28 |
| | | * @LastEditors: dminyi 1301963064@qq.com |
| | | * @Version: 1.0.0 |
| | | * @Description: 路由 |
| | |
| | | <Route path="visit" element={<Visit />} /> |
| | | <Route path="visit/eventFlow" element={<EventFlow />} /> |
| | | <Route path="visit/handleFeedback" element={<HandleFeedback />} /> |
| | | |
| | | |
| | | {/* 工作流模块 */} |
| | | <Route path="workflowTemplate" element={<WorkflowTemplate />} /> |
| | | <Route path="workflowTemplate/workflowTemplateEdit" element={<WorkflowTemplateEdit />} /> |
| | |
| | | * @Author: dminyi 1301963064@qq.com |
| | | * @Date: 2024-08-09 09:59:43 |
| | | * @LastEditors: dminyi 1301963064@qq.com |
| | | * @LastEditTime: 2024-08-28 14:38:20 |
| | | * @LastEditTime: 2024-08-31 17:13:53 |
| | | * @FilePath: \gzDyh\gz-customerSystem\src\views\basicInformation\organization\index.jsx |
| | | * @Description: 来访登记 |
| | | */ |
| | |
| | | import { Button, Steps, Tabs, Message } from '@arco-design/web-react'; |
| | | import { question, register, Matter, transfer } from '@/assets/images' |
| | | import EventFlow from './component/EventFlow'; |
| | | import MatterDetali from '../matterDetail'; |
| | | import MatterDetail from '../matterDetail'; |
| | | |
| | | const Step = Steps.Step; |
| | | const TabPane = Tabs.TabPane; |
| | |
| | | </div> |
| | | } |
| | | {tabsActive === '1' && |
| | | <MatterDetali /> |
| | | <MatterDetail /> |
| | | } |
| | | { |
| | | (tabsActive === '2' && current === 2) && <EventFlow /> |
| | |
| | | import React, { useState, useEffect } from 'react'; |
| | | import { Typography, Button } from 'antd'; |
| | | import { CheckOutlined, } from '@ant-design/icons'; |
| | | import { Form, Input, Modal,Upload } from '@arco-design/web-react'; |
| | | import { Form, Input, Modal, Upload } from '@arco-design/web-react'; |
| | | import { IconLink } from '@arco-design/web-react/icon'; |
| | | |
| | | |
| | | const { TextArea } = Input; |
| | | const { Text } = Typography; |
| | | const FormItem = Form.Item; |
| | | |
| | | const DocumentScanner = ({ |
| | | visible, |
| | | onCancel, |
| | | onConfirm, |
| | | formRef, |
| | | onCancel |
| | | |
| | | }) => { |
| | | |
| | | const [scanFile, setScanFile] = useState(false); |
| | | const [scanImage, setScanImage] = useState(false); |
| | | const [scaned, setScaned] = useState(false); |
| | | const [fileView, setFileView] = useState(null); |
| | | const [fileView, setFileView] = useState(); |
| | | |
| | | useEffect(() => { |
| | | if (!visible) { |
| | | setScanImage(false); |
| | | setScaned(false); |
| | | setFileView(null); |
| | | } |
| | | }, [visible]); |
| | | |
| | | const handleUploadChange = (info) => { |
| | | if (info.fileList.length > 0) { |
| | | const handleUploadChange = (info, currentFile) => { |
| | | if (info.length > 0) { |
| | | setScanImage(true); |
| | | } |
| | | setFileView({ |
| | | ...info.fileList[0], |
| | | url: URL.createObjectURL(info.fileList[0].originFile), |
| | | ...currentFile, |
| | | url: URL.createObjectURL(currentFile.originFile), |
| | | }); |
| | | }; |
| | | |
| | | const handleStartRecognition = () => { |
| | | setScaned(true); |
| | | setScanImage(false); |
| | | }; |
| | | |
| | | const handleUseText = (text) => { |
| | | onConfirm(text); |
| | | onCancel(); // 关闭弹窗 |
| | | }; |
| | | |
| | | |
| | | return ( |
| | | <> |
| | | <Modal |
| | | style={{ width: '1200px' }} |
| | | visible={visible && !scanImage && !scaned} |
| | | onCancel={onCancel} |
| | | title='识别上传材料' |
| | | centered |
| | | footer={null} |
| | | > |
| | | <Modal style={{ width: '1200px' }} visible={visible} onCancel={onCancel} title='识别上传材料' centered footer={null}> |
| | | <Form |
| | | ref={formRef} |
| | | layout='vertical' |
| | | requiredSymbol={false} |
| | | initialValues={{ |
| | | }}//默认值 |
| | | style={{ marginTop: '4px' }} |
| | | > |
| | | <Form.Item label='选择图片' name='file'> |
| | | <FormItem |
| | | label='选择图片' |
| | | field='file' |
| | | > |
| | | <Upload |
| | | drag |
| | | // multiple |
| | | limit={1} |
| | | accept='image/*' |
| | | onDrop={() => {}} |
| | | tip='支持png、jpg、pdf等格式文件上传,每次上传大小不超过10M' |
| | | // action='/' |
| | | onDrop={(e) => { |
| | | }} |
| | | tip='支持png、 jpg、pdf等格式文件上传,每次上传大小不超过10M' |
| | | showUploadList={{ |
| | | // Please dont remove this comment |
| | | fileIcon: <IconLink style={{ color: '#1D2129' }} />, |
| | | }} |
| | | // onChange={(info, currentFile) => { |
| | | // console.log(currentFile, info, 'info', 'currentFile') |
| | | // if (info.length > 0) { |
| | | // setScanImage(true); |
| | | // } |
| | | // setFileView({ |
| | | // ...currentFile, |
| | | // url: URL.createObjectURL(currentFile.originFile), |
| | | |
| | | // }); |
| | | |
| | | // }} |
| | | onChange={handleUploadChange} |
| | | > |
| | | <Text>点击或者拖拽文件到这里</Text> |
| | | </Upload> |
| | | </Form.Item> |
| | | // onSuccess={() => setScanImage(true)} |
| | | /> |
| | | {/* <img src={file?.url} alt=""/> */} |
| | | </FormItem> |
| | | |
| | | </Form> |
| | | |
| | | </Modal> |
| | | <Modal |
| | | style={{ width: '944px' }} |
| | | visible={visible && scanImage} |
| | | onCancel={() => setScanImage(false)} |
| | | footer={null} |
| | | title='选择识别范围' |
| | | centered |
| | | > |
| | | <Modal style={{ width: '944px' }} visible={scanImage} onCancel={() => setScanImage(false)} footer={null} title='选择识别范围' centered> |
| | | <img |
| | | src={fileView?.url} |
| | | alt="" |
| | |
| | | objectFit: 'contain', |
| | | }} |
| | | /> |
| | | <div style={{ marginTop: '20px' }}> |
| | | <Button type="primary" onClick={handleStartRecognition}> |
| | | 开始识别 |
| | | </Button> |
| | | </div> |
| | | <div><Button type="primary" onClick={() => setScaned(true)} style={{ marginTop: '20px' }}>开始识别</Button></div> |
| | | </Modal> |
| | | <Modal |
| | | style={{ width: '1200px' }} |
| | | visible={visible && scaned} |
| | | onCancel={() => setScaned(false)} |
| | | footer={null} |
| | | title='识别上传材料' |
| | | centered |
| | | > |
| | | <div style={{ marginTop: '20px', marginBottom: '8px' }}>识别内容</div> |
| | | <TextArea |
| | | <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={(e) => handleUseText(e.target.value)} |
| | | onChange={(v) => console.log(v, 'vvvvvv')} |
| | | /> |
| | | <div style={{ marginTop: '24px' }}> |
| | | <Button type="primary" onClick={() => handleUseText('识别内容')}> |
| | | 使用文字 |
| | | </Button> |
| | | </div> |
| | | <div style={{ marginTop: '24px' }}><Button type="primary" onClick={() => { onConfirm(); setScanFile(false); setScanImage(false); setScaned(false); }}>使用文字</Button></div> |
| | | </Modal> |
| | | |
| | | </> |
| | | ); |
| | | }; |
| | |
| | | import React, { useState, useRef, useEffect } from 'react'; |
| | | import { Col, Space, Row, Tooltip, Button } from 'antd'; |
| | | import { Col, Space, Row, Tooltip } from 'antd'; |
| | | import { register, fold, down, empty, link } from '@/assets/images'; |
| | | import { Form, Input, Tabs, Typography, Empty } from '@arco-design/web-react'; |
| | | import { Form, Input, Tabs, Typography, Empty, Upload, Button, Modal } from '@arco-design/web-react'; |
| | | import { question1, } from '@/assets/images'; |
| | | import ProgressStep from '@/components/ProgressStep/VisitStep'; |
| | | import SelectObjModal from '@/components/SelectObjModal/selectPerson'; |
| | |
| | | import { scan } from '@/assets/images/icon' |
| | | import DocumentScanner from './FileUpLoad' |
| | | import * as $$ from '@/utils/utility'; |
| | | import { |
| | | IconLink, |
| | | } from '@arco-design/web-react/icon'; |
| | | |
| | | |
| | | const InputSearch = Input.Search; |
| | |
| | | const Handle = () => { |
| | | const [selectedTab, setSelectedTab] = useState('1'); // 默认选中第一个 tab |
| | | const [wantUser, setWantUser] = useState({}); |
| | | // const [scanFile, setScanFile] = useState(false); |
| | | const [formView, setFormView] = useState(false); |
| | | const [personView, setPersonView] = useState(false); |
| | | |
| | | const tabs = [ |
| | | { index: '1', label: '承办部门' }, |
| | |
| | | |
| | | const [scannerVisible, setScannerVisible] = useState(false); |
| | | |
| | | const handleConfirm = (text) => { |
| | | console.log('识别完成:', text); |
| | | const handleConfirm = () => { |
| | | // 处理确认逻辑 |
| | | setScannerVisible(false); |
| | | }; |
| | | |
| | | const handleCancel = () => { |
| | | // 处理取消逻辑 |
| | | setScannerVisible(false); |
| | | }; |
| | | |
| | | const openScanner = () => { |
| | | setScannerVisible(true); |
| | | formRef.current?.resetFields(); |
| | | formRef.current?.setFieldsValue({}); |
| | | }; |
| | | |
| | | const onCancel = () => { |
| | | setScannerVisible(false); |
| | | }; |
| | | |
| | | |
| | | |
| | |
| | | <FormItem label={<div style={{ display: 'flex' }}> |
| | | <span style={{ color: '#86909C' }}>经办人</span> |
| | | <Tooltip> |
| | | <img src={question1} alt="" style={{ width: '13px', height: '13px', margin: '4px 4px 0px 4px' }} /> |
| | | <img onClick={() => setPersonView(!personView)} src={question1} alt="" style={{ width: '13px', height: '13px', margin: '4px 4px 0px 4px' }} /> |
| | | </Tooltip> |
| | | </div> |
| | | } |
| | |
| | | description='暂无数据' |
| | | /> |
| | | } |
| | | <div className='Form'> |
| | | <Col span={24} style={{ marginBottom: '8px' }}> |
| | | <Space size='small'> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>添加办理记录</h5> |
| | | {formView && |
| | | <div className='Form'> |
| | | <Col span={24} style={{ marginBottom: '8px' }}> |
| | | <Space size='small'> |
| | | <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>添加办理记录</h5> |
| | | </Space> |
| | | </Col> |
| | | <Col span={24}> |
| | | <FormItem |
| | | label={<div style={{ display: 'flex' }}> |
| | | 办理意见 |
| | | <img src={scan} alt="" style={{ marginRight: '-2px', marginLeft: '8px' }} /> |
| | | <div style={{ marginLeft: '8px', color: '#1A6FB8', fontSize: '14px', cursor: 'pointer' }} onClick={openScanner}>识别材料</div> |
| | | </div> |
| | | } |
| | | field='caseDes' |
| | | rules={[{ message: '请填写事项概况', required: true }]} |
| | | > |
| | | <Input.TextArea |
| | | maxLength={2000} |
| | | showWordLimit |
| | | rows={5} |
| | | placeholder='请完整描述事项概况,应具备5要素:发生时间+发生地点+人物情况+事项起因+事项经过' |
| | | wrapperStyle={{ width: '100%' }} |
| | | /> |
| | | </FormItem> |
| | | </Col> |
| | | <Col span={24}> |
| | | <FormItem |
| | | label={<div style={{ display: 'flex' }}> |
| | | 办理附件 |
| | | </div> |
| | | } |
| | | field='caseDes' |
| | | rules={[{ message: '请填写事项概况', required: true }]} |
| | | > |
| | | <Upload |
| | | drag |
| | | multiple |
| | | accept='image/*' |
| | | action='/' |
| | | onDrop={(e) => { |
| | | }} |
| | | tip='支持png、jpg、pdf格式的图片上传,每次上传大小不超过10M' |
| | | showUploadList={{ |
| | | fileIcon: <IconLink style={{ color: '#1D2129' }} />, |
| | | }} |
| | | /> |
| | | </FormItem> |
| | | </Col> |
| | | <Space size='middle'> |
| | | <Button type='primary'>保存</Button> |
| | | <Button type='secondary'>取消添加</Button> |
| | | </Space> |
| | | </Col> |
| | | <Col span={24}> |
| | | <FormItem |
| | | label={<div style={{ display: 'flex' }}> |
| | | 办理意见 |
| | | <img src={scan} alt="" style={{ marginRight: '-2px', marginLeft: '8px' }} /> |
| | | <div style={{ marginLeft: '8px', color: '#1A6FB8', fontSize: '14px', cursor: 'pointer' }} onClick={openScanner}>识别材料</div> |
| | | </div> |
| | | } |
| | | field='caseDes' |
| | | rules={[{ message: '请填写事项概况', required: true }]} |
| | | > |
| | | <Input.TextArea |
| | | maxLength={2000} |
| | | showWordLimit |
| | | rows={5} |
| | | placeholder='请完整描述事项概况,应具备5要素:发生时间+发生地点+人物情况+事项起因+事项经过' |
| | | wrapperStyle={{ width: '100%' }} |
| | | /> |
| | | </FormItem> |
| | | </Col> |
| | | </div> |
| | | |
| | | </div> |
| | | } |
| | | </Col> |
| | | </Form> |
| | | <Space style={{ marginTop: '38px', position: 'absolute', bottom: '4px' }}> |
| | | <Button type="primary" style={{ backgroundColor: '#1A6FB8' }}>添加办理记录</Button> |
| | | <Space style={{ marginTop: '38px', bottom: '4px' }}> |
| | | <Button type="primary" style={{ backgroundColor: '#1A6FB8' }} onClick={() => setFormView(!formView)}>添加办理记录</Button> |
| | | <Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }} >结案申请</Button> |
| | | <Button type='outline' style={{ color: '#1A6FB8', border: '1px solid #1A6FB8' }}>联合处置申请</Button> |
| | | <Button type='secondary'>返回上级页面</Button> |
| | |
| | | |
| | | <DocumentScanner |
| | | visible={scannerVisible} |
| | | onCancel={onCancel} |
| | | onConfirm={handleConfirm} |
| | | formRef={formRef} |
| | | onCancel={handleCancel} |
| | | /> |
| | | </div > |
| | | |
| | | <Modal visible={personView} onCancel={() => setPersonView(false)} title='工作人员信息' centered footer={null}> |
| | | |
| | | </Modal> |
| | | |
| | | </div> |
| | | </> |
| | | ) |
| | | |
| | |
| | | border: 1px dashed #1a6fb8; |
| | | border-radius: 10px; |
| | | margin-top: 16px; |
| | | margin-right: 16px; |
| | | } |
| | | |
| | | .tabs-container .arco-tabs-header { |
| | |
| | | } |
| | | |
| | | |
| | | export default function MatterDetali() { |
| | | export default function MatterDetail() { |
| | | const [fakeData, setFakeData] = useState([{ |
| | | "trueName": "王大锤", |
| | | "mobile": "13380313412", |
| | |
| | | |
| | | if (res.type) { |
| | | let data = res.data |
| | | setInfoData([...fakeData1, { |
| | | setInfoData({ |
| | | ...data, |
| | | questionName: data.queProvName + '/' + data.queCityName + '/' + data.queAreaName + '/' + data.queRoadName + '/' + data.queVillageName, |
| | | caseType: data.caseTypeFirstName + '/' + data.caseTypeName |
| | | }]) |
| | | |
| | | questionName: data.queProvName === null ? '-' : data.queProvName + '/' + data.queCityName + '/' + data.queAreaName + '/' + data.queRoadName + '/' + data.queVillageName, |
| | | caseType: data.caseTypeFirstName === null ? '-' : data.caseTypeFirstName + '/' + data.caseTypeName |
| | | }) |
| | | setFakeData(data.personList.concat(data.agentList)) |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | <Row gutter={[16, 16]}> |
| | | <Col span={8}> |
| | | <div><div className="title-text">事项状态</div></div> |
| | | <div style={{ color: '#1A6FB8' }}>{infoData.statusName || '-'}</div> |
| | | <div style={{ color: '#1A6FB8' }}>{infoData?.statusName || '-'}</div> |
| | | </Col> |
| | | <Col span={16}> |
| | | <div><div className="title-text">事项编号</div></div> |
| | | <div>{infoData.caseId || '-'}</div> |
| | | <div>{infoData?.caseRef || '-'}</div> |
| | | </Col> |
| | | {/*事项等级分为三级,颜色需要做判断*/} |
| | | <Col span={8}> |
| | |
| | | {/*事项等级分为三级,颜色需要做判断*/} |
| | | <Col span={8}> |
| | | <div className="title"><div className="title-text">登记机构</div><img src={question} alt="" style={{ width: '14px', height: '14px', marginTop: '4px', marginLeft: '4px' }} /></div> |
| | | <div>天河区棠下街道综治中心</div> |
| | | <div>{infoData.inputUnitName || '-'}</div> |
| | | </Col> |
| | | <Col span={8}> |
| | | <div><div className="title-text">登记人</div></div> |
| | | <div style={{ display: 'flex' }}> |
| | | <div>李晓明</div> |
| | | <div>{infoData.inputUserName || '-'}</div> |
| | | <img src={register} alt='' style={{ width: '14px', height: '14px', marginLeft: '8px', marginTop: '4px' }} /> |
| | | </div> |
| | | </Col> |
| | | <Col span={8}> |
| | | <div ><div className="title-text">登记时间</div></div> |
| | | <div>2024-7-8 10:00</div> |
| | | <div>{infoData.createTime || '-'}</div> |
| | | </Col> |
| | | </Row> |
| | | <Button type='primary' style={{ marginTop: '20px' }}>修改</Button> |
| | |
| | | import MapView from './map' |
| | | import { scan } from '@/assets/images/icon' |
| | | import { EventLevelDrawer, MattersDetail } from './levelDetail' |
| | | import DocumentScanner from '../../handleFeedback/component/FileUpLoad' |
| | | |
| | | const RadioGroup = Radio.Group;// 根据调解案号获取纠纷登记信息 |
| | | const FormItem = Form.Item; |
| | |
| | | setDialogType(type) |
| | | } |
| | | |
| | | const handleConfirm = () => { |
| | | // 处理确认逻辑 |
| | | setScanFile(false); |
| | | }; |
| | | |
| | | const handleCancel = () => { |
| | | // 处理取消逻辑 |
| | | setScanFile(false); |
| | | }; |
| | | |
| | | //添加当事人 |
| | | const handleAddParty = (value) => { |
| | | if (value.id) { |
| | |
| | | style={{ marginBottom: '65px' }} |
| | | /> |
| | | |
| | | <Modal style={{ width: '1200px' }} visible={scanFile} onCancel={() => setScanFile(false)} title='识别上传材料' centered footer={null}> |
| | | <Form |
| | | ref={props.formRef} |
| | | layout='vertical' |
| | | requiredSymbol={false} |
| | | initialValues={{ |
| | | }}//默认值 |
| | | style={{ marginTop: '4px' }} |
| | | > |
| | | <FormItem |
| | | label='选择图片' |
| | | field='file' |
| | | > |
| | | <Upload |
| | | drag |
| | | // multiple |
| | | limit={1} |
| | | accept='image/*' |
| | | // action='/' |
| | | onDrop={(e) => { |
| | | }} |
| | | tip='支持png、 jpg、pdf等格式文件上传,每次上传大小不超过10M' |
| | | showUploadList={{ |
| | | // Please dont remove this comment |
| | | fileIcon: <IconLink style={{ color: '#1D2129' }} />, |
| | | }} |
| | | onChange={(info, currentFile) => { |
| | | console.log(currentFile, info, 'info', 'currentFile') |
| | | if (info.length > 0) { |
| | | setScanImage(true); |
| | | } |
| | | setFileView({ |
| | | ...currentFile, |
| | | url: URL.createObjectURL(currentFile.originFile), |
| | | |
| | | }); |
| | | |
| | | }} |
| | | onSuccess={() => setScanImage(true)} |
| | | /> |
| | | {/* <img src={file?.url} alt=""/> */} |
| | | </FormItem> |
| | | |
| | | </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%', // 图片最大宽度为容器宽度的100% |
| | | maxHeight: '100%', // 图片最大高度为容器高度的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={{ marginTop: '20px', 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={() => { setScanFile(false); setScanImage(false); setScaned(false) }}>使用文字</Button></div> |
| | | </Modal> |
| | | <DocumentScanner |
| | | visible={scanFile} |
| | | onConfirm={handleConfirm} |
| | | onCancel={handleCancel} |
| | | /> |
| | | <Modal style={{ width: '512px' }} visible={upload} onCancel={() => setUpLoad(false)} footer={null} title='上传材料' centered> |
| | | <div style={{ paddingTop: '8px' }}> |
| | | <Row gutter={[30, 24]}> |
| | |
| | | * @Author: dminyi 1301963064@qq.com |
| | | * @Date: 2024-08-09 09:59:43 |
| | | * @LastEditors: dminyi 1301963064@qq.com |
| | | * @LastEditTime: 2024-08-31 16:52:26 |
| | | * @LastEditTime: 2024-09-02 11:40:22 |
| | | * @FilePath: \gzDyh\gz-customerSystem\src\views\basicInformation\organization\index.jsx |
| | | * @Description: 来访登记 |
| | | */ |
| | |
| | | const formRef = useRef(); |
| | | |
| | | const [isReview, setIsReview] = useState(false);//预览页面控制 |
| | | const [current, setCurrent] = useState(1); |
| | | const [current, setCurrent] = useState(3); |
| | | |
| | | //提交信息,需要校验规则 |
| | | const handleSubmit = async () => { |