From 6bbe73072fcb0ee0b7f190e0f3da286518c3d7a0 Mon Sep 17 00:00:00 2001
From: liyj <1003249715@qq.com>
Date: Thu, 05 Sep 2024 20:37:00 +0800
Subject: [PATCH] Merge branch 'master' of http://120.79.193.119:9090/r/gzzfw/frontEnd/gzDyh

---
 gz-customerSystem/src/views/register/visit/component/agentDialog.jsx |  119 +++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 79 insertions(+), 40 deletions(-)

diff --git a/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx b/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx
index b63946c..911d774 100644
--- a/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx
+++ b/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx
@@ -2,20 +2,29 @@
 import { Row, Col, Space } from 'antd';
 import { Form, Input, Button, Radio, Select, Checkbox, Upload } from '@arco-design/web-react';
 import KeyVisits from "@/components/personCard/KeyVisits";
-import {
-  IconLink,
-} from '@arco-design/web-react/icon';
 import * as $$ from '@/utils/utility';
+import ArcoUpload from '@/components/ArcoUpload';
+import { Scrollbars } from "react-custom-scrollbars";
 
 const FormItem = Form.Item;
 const Option = Select.Option;
 const InputSearch = Input.Search;
 const RadioGroup = Radio.Group;
 const CheckboxGroup = Checkbox.Group;
+const appUrl = $$.appUrl;
+
+function getId() {
+  return $$.ax.request({ url: `caseUtils/getNewTimeId`, type: 'get', service: 'utils' });
+}
+
+function delFile(id) {
+  return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'get', service: 'sys', data: { id } });
+}
 
 export default function AgentDialog(props) {
   const formRef = useRef();
   const [visitList, setVisitList] = useState([])
+  const [id, setId] = useState()
 
   useEffect(() => {
     if (props.editData) {
@@ -23,7 +32,6 @@
       formRef.current.setFieldsValue({
         ...props.editData
       })
-      console.log(props);
       //过滤代理人
       setVisitList(props.fakeData.filter(item => {
         if (props.editData.perType === '24_00006-1') {
@@ -41,8 +49,18 @@
           return item.perType === '15_020008-2'
         }
       }))
+      //获取id
+      getAppId()
     }
   }, [])
+
+  //获取id
+  const getAppId = async () => {
+    const res = await getId()
+    if (res.type) {
+      setId(res.data)
+    }
+  }
 
   //保存信息
   const handleSave = () => {
@@ -53,13 +71,14 @@
           if (props.editData) {
             props.handleAddParty({
               ...fieldValue
-            })
+            }, true)
           } else {
             props.handleAddParty({
               ...fieldValue,
               perType: props.dialogType,
               perTypeName: $$.options.personType.find(item => item.value === props.dialogType).label,
-            })
+              id: id
+            }, false)
           }
           props.onClose()
         }
@@ -67,9 +86,30 @@
     }
   }
 
+  //上传身份证识别
+  const handleChangeFile = (data) => {
+    if (data.data && data.data.length != 0) {
+      if (data.data[0].idcardOcrResult) {
+        const { birthday, ...rest } = data.data[0].idcardOcrResult
+        //回填信息
+        formRef.current.setFieldsValue({
+          ...rest
+        })
+      }
+    }
+  }
+
+  //删除文件
+  const handleDelFile = async (id) => {
+    const res = await delFile(id)
+    if (res.type) {
+      $$.infoSuccess({ content: '删除成功!' });
+    }
+  }
+
   return (
     <div className="applyDialog">
-      <div style={{ height: '590px', overflowY: 'scroll' }}>
+      <Scrollbars style={{ height: '590px' }} autoHide>
         <Row gutter={[16, 16]} style={{ margin: '0 2px 0 0' }}>
           <Col span={24}>
             <Form
@@ -81,40 +121,27 @@
               scrollToFirstError
             >
               <Row gutter={[32, 0]} style={{ margin: '0 -10px' }}>
-                <Col span={24}>
-                  <FormItem
-                    label='身份证明材料'
+                <Col span={24} className="doubleFile">
+                  <ArcoUpload
+                    params={{
+                      action: `${appUrl.fileUrl}/${appUrl.sys}/api/web/fileInfo/upload?mainId=${props.mainId}&ownerId=${id}&ownerType=22_00018-202`,
+                    }}
                     field='file'
-                  >
-                    <Upload
-                      drag
-                      multiple
-                      accept='image/*'
-                      action='/'
-                      onDrop={(e) => {
-                      }}
-                      tip='支持png、jpg、pdf格式的图片上传,每次上传大小不超过10M'
-                      showUploadList={{
-                        fileIcon: <IconLink style={{ color: '#1D2129' }} />,
-                      }}
-                    />
-                  </FormItem>
+                    handleChangeFile={handleChangeFile}
+                    label='身份证明材料'
+                    editData={props.editData}
+                    handleDelFile={handleDelFile}
+                  />
                 </Col>
-                <Col span={24}>
-                  <FormItem
-                    label='代理人委托书'
+                <Col span={24} className="doubleFile">
+                  <ArcoUpload
+                    params={{
+                      action: `${appUrl.fileUrl}/${appUrl.sys}/api/web/fileInfo/upload?mainId=${props.mainId}&ownerId=${id}&ownerType=22_00018-202`,
+                    }}
                     field='file1'
-                  >
-                    <Upload
-                      drag
-                      multiple
-                      accept='image/*'
-                      action='/'
-                      onDrop={(e) => {
-                      }}
-                      tip='支持png、jpg、pdf格式的图片上传,每次上传大小不超过10M'
-                    />
-                  </FormItem>
+                    label='代理人委托书'
+                    editData={props.editData}
+                  />
                 </Col>
                 <Col span={12}>
                   <FormItem
@@ -294,7 +321,7 @@
         <div style={{ width: 'calc(100% - 9px)', background: '#f2f3f5', marginBottom: '20px', padding: '12px' }}>
           <KeyVisits />
         </div>
-      </div>
+      </Scrollbars>
       <div className='dialogFooter'>
         <Button
           type="primary"
@@ -303,7 +330,19 @@
         >
           保存
         </Button>
-        <Button className="dialogBack">
+        <Button
+          className="dialogBack"
+          onClick={() => {
+            if (props.editData) {
+              formRef.current.resetFields();
+              formRef.current.setFieldsValue({
+                ...props.editData
+              })
+            } else {
+              formRef.current.resetFields();
+            }
+          }}
+        >
           重置
         </Button>
       </div>

--
Gitblit v1.8.0