From 950e277be6a245cd02e1e861db87a49b7cf96eb6 Mon Sep 17 00:00:00 2001
From: zhangyongtian <1181606322@qq.com>
Date: Thu, 29 Aug 2024 10:02:29 +0800
Subject: [PATCH] 更改命名

---
 gz-customerSystem/src/views/register/visit/component/agentDialog.jsx |   97 +++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 86 insertions(+), 11 deletions(-)

diff --git a/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx b/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx
index d3c4e7b..639a593 100644
--- a/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx
+++ b/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx
@@ -1,7 +1,10 @@
 import React, { useState, useEffect, useRef, Fragment } from "react";
 import { Row, Col, Space } from 'antd';
 import { Form, Input, Button, Radio, Select, Checkbox, Upload } from '@arco-design/web-react';
-import KeyVisits from "./keyVisits";
+import KeyVisits from "./KeyVisits";
+import {
+  IconLink,
+} from '@arco-design/web-react/icon';
 
 const FormItem = Form.Item;
 const Option = Select.Option;
@@ -10,17 +13,70 @@
 const CheckboxGroup = Checkbox.Group;
 
 export default function AgentDialog(props) {
+  const formRef = useRef();
+  const [visitList, setVisitList] = useState([])
+
+  useEffect(() => {
+    if (props.editData) {
+      //编辑
+      formRef.current.setFieldsValue({
+        ...props.editData
+      })
+      //过滤代理人
+      setVisitList(props.fakeData.filter(item => {
+        if (props.editData.dialogType === 2) {
+          return item.partyType === 0
+        } else {
+          return item.partyType === 1
+        }
+      }))
+    } else {
+      //过滤代理人
+      setVisitList(props.fakeData.filter(item => {
+        if (props.dialogType === 2) {
+          return item.partyType === 0
+        } else {
+          return item.partyType === 1
+        }
+      }))
+    }
+  }, [])
+
+  //保存信息
+  const handleSave = () => {
+    if (formRef.current) {
+      formRef.current.validate(undefined, (errors, values) => {
+        if (!errors) {
+          if (props.editData) {
+            props.handleAddParty({
+              ...props.editData,
+              ...values,
+            })
+          } else {
+            props.handleAddParty({
+              ...values,
+              partyType: props.dialogType,
+              perClassName: props.dialogType === 2 ? '申请方代理人' : '被申请方代理人',
+            })
+          }
+          props.onClose()
+        }
+      });
+    }
+  }
+
   return (
     <div className="applyDialog">
       <div style={{ height: '590px', overflowY: 'scroll' }}>
         <Row gutter={[16, 16]} style={{ margin: '0 2px 0 0' }}>
           <Col span={24}>
             <Form
-              ref={props.formRef}
+              ref={formRef}
               layout='vertical'
               requiredSymbol={false}
               initialValues={{
               }}//默认值
+              scrollToFirstError
             >
               <Row gutter={[32, 0]} style={{ margin: '0 -10px' }}>
                 <Col span={24}>
@@ -36,6 +92,9 @@
                       onDrop={(e) => {
                       }}
                       tip='支持png、jpg、pdf格式的图片上传,每次上传大小不超过10M'
+                      showUploadList={{
+                        fileIcon: <IconLink style={{ color: '#1D2129' }} />,
+                      }}
                     />
                   </FormItem>
                 </Col>
@@ -58,7 +117,8 @@
                 <Col span={12}>
                   <FormItem
                     label={(<div style={{ display: 'flex' }}>姓名<div className="must">必填</div></div>)}
-                    field='name'
+                    field='trueName'
+                    rules={[{ required: true, message: '请输入姓名' }]}
                   >
                     <Input placeholder='请填写' />
                   </FormItem>
@@ -66,7 +126,11 @@
                 <Col span={12}>
                   <FormItem
                     label={(<div style={{ display: 'flex' }}>联系方式<div className="must">必填</div></div>)}
-                    field='phone'
+                    field='personNumber'
+                    rules={[
+                      { required: true, message: '请输入联系方式' },
+                      { match: /^\+?(\d{1,3})?[-. (]*(\d{3})[-. )]*(\d{3})[-. ]*(\d{4})$/, message: '请输入正确的电话号码' },
+                    ]}
                   >
                     <Input placeholder='请填写' />
                   </FormItem>
@@ -74,7 +138,8 @@
                 <Col span={12}>
                   <FormItem
                     label={(<div style={{ display: 'flex' }}>证件类型<div className="must">必填</div></div>)}
-                    field='zhengjian'
+                    field='docType'
+                    rules={[{ required: true, message: '请选择证件类型' }]}
                   >
                     <Select placeholder='请选择' allowClear>
                       {['居民身份证',].map((option, index) => (
@@ -88,8 +153,11 @@
                 <Col span={12}>
                   <FormItem
                     label={(<div style={{ display: 'flex' }}>证件号码<div className="must">必填</div></div>)}
-                    rules={[{ required: true }]}
-                    field='peopleNumber'
+                    rules={[
+                      { required: true, message: '请输入证件号码' },
+                      { match: /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])\d{3}(\d|X)$/, message: '请输入正确的证件号码' }
+                    ]}
+                    field='mobile'
                   >
                     <InputSearch
                       searchButton='读取卡证'
@@ -181,10 +249,17 @@
                 <Col span={12}>
                   <FormItem
                     label={(<div style={{ display: 'flex' }}>代理对象<div className="must">必填</div></div>)}
-                    rules={[{ required: true }]}
+                    rules={[{ required: true, message: '请选择代理对象' }]}
                     field='dailimap'
                   >
-                    <CheckboxGroup direction='vertical' options={['张三丰', '广东好又多贸易有限公司', '广东科贸创意有限公司']} />
+                    <CheckboxGroup
+                      direction='vertical'
+                      options={visitList.map(x => ({
+                        label: <span>{x.trueName}&nbsp;&nbsp;<span style={{ color: '#86909c' }}>({x.perClassName})</span></span>,
+                        value: x.id,
+                      }))}
+                    >
+                    </CheckboxGroup>
                   </FormItem>
                 </Col>
               </Row>
@@ -201,9 +276,9 @@
         <Button
           type="primary"
           className="dialogPrimary"
-        // onClick={handleSave}
+          onClick={handleSave}
         >
-          保存信息
+          保存
         </Button>
         <Button className="dialogBack">
           重置

--
Gitblit v1.8.0