From b7e03d58d1445031b293bb2cbef1f1fc36a6c268 Mon Sep 17 00:00:00 2001
From: dminyi <1301963064@qq.com>
Date: Sat, 17 Aug 2024 09:46:17 +0800
Subject: [PATCH] Merge branch 'master' of http://120.79.193.119:9090/r/gzzfw/frontEnd/gzDyh into master

---
 gz-customerSystem/src/views/register/visit/component/applyDialog.jsx      |   41 +++-
 gz-customerSystem/src/views/register/index.less                           |   26 ++
 gz-customerSystem/src/views/register/visit/component/agentDialog.jsx      |  214 ++++++++++++++++++++++++++
 gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx  |   25 ++
 gz-customerSystem/src/views/register/visit/component/selectUnitDialog.jsx |  142 +++++++++++++++++
 5 files changed, 427 insertions(+), 21 deletions(-)

diff --git a/gz-customerSystem/src/views/register/index.less b/gz-customerSystem/src/views/register/index.less
index 4ec9806..13ec458 100644
--- a/gz-customerSystem/src/views/register/index.less
+++ b/gz-customerSystem/src/views/register/index.less
@@ -153,20 +153,32 @@
 	}
 
 	.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr>th {
-		border-right: 1px solid rgba(0,0,0,0.2);
-		border-bottom: 1px solid rgba(0,0,0,0.2);
+		border-right: 1px solid rgba(0, 0, 0, 0.2);
+		border-bottom: 1px solid rgba(0, 0, 0, 0.2);
 	}
 
 	.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>td {
-		border-right: 1px solid rgba(0,0,0,0.2);
-		border-bottom: 1px solid rgba(0,0,0,0.2);
+		border-right: 1px solid rgba(0, 0, 0, 0.2);
+		border-bottom: 1px solid rgba(0, 0, 0, 0.2);
 	}
 
-	.ant-table.ant-table-bordered > .ant-table-container {
-		border-left: 1px solid rgba(0,0,0,0.2);
+	.ant-table.ant-table-bordered>.ant-table-container {
+		border-left: 1px solid rgba(0, 0, 0, 0.2);
 	}
 }
 
-.arco-upload-list-type-text .arco-upload-list-item:first-of-type, .arco-upload-list-type-picture-list .arco-upload-list-item:first-of-type{
+.arco-upload-list-type-text .arco-upload-list-item:first-of-type,
+.arco-upload-list-type-picture-list .arco-upload-list-item:first-of-type {
 	margin-top: 34px;
+
+}
+
+.unitDialogResult {
+	font-size: 16px;
+	font-family: PingFang SC, PingFang SC-400;
+	font-weight: 400;
+	text-align: LEFT;
+	color: #1d2129;
+	line-height: 24px;
+	margin-bottom: 20px;
 }
\ No newline at end of file
diff --git a/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx b/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx
new file mode 100644
index 0000000..d3c4e7b
--- /dev/null
+++ b/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx
@@ -0,0 +1,214 @@
+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";
+
+const FormItem = Form.Item;
+const Option = Select.Option;
+const InputSearch = Input.Search;
+const RadioGroup = Radio.Group;
+const CheckboxGroup = Checkbox.Group;
+
+export default function AgentDialog(props) {
+  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}
+              layout='vertical'
+              requiredSymbol={false}
+              initialValues={{
+              }}//默认值
+            >
+              <Row gutter={[32, 0]} style={{ margin: '0 -10px' }}>
+                <Col span={24}>
+                  <FormItem
+                    label='身份证明材料'
+                    field='file'
+                  >
+                    <Upload
+                      drag
+                      multiple
+                      accept='image/*'
+                      action='/'
+                      onDrop={(e) => {
+                      }}
+                      tip='支持png、jpg、pdf格式的图片上传,每次上传大小不超过10M'
+                    />
+                  </FormItem>
+                </Col>
+                <Col span={24}>
+                  <FormItem
+                    label='代理人委托书'
+                    field='file1'
+                  >
+                    <Upload
+                      drag
+                      multiple
+                      accept='image/*'
+                      action='/'
+                      onDrop={(e) => {
+                      }}
+                      tip='支持png、jpg、pdf格式的图片上传,每次上传大小不超过10M'
+                    />
+                  </FormItem>
+                </Col>
+                <Col span={12}>
+                  <FormItem
+                    label={(<div style={{ display: 'flex' }}>姓名<div className="must">必填</div></div>)}
+                    field='name'
+                  >
+                    <Input placeholder='请填写' />
+                  </FormItem>
+                </Col>
+                <Col span={12}>
+                  <FormItem
+                    label={(<div style={{ display: 'flex' }}>联系方式<div className="must">必填</div></div>)}
+                    field='phone'
+                  >
+                    <Input placeholder='请填写' />
+                  </FormItem>
+                </Col>
+                <Col span={12}>
+                  <FormItem
+                    label={(<div style={{ display: 'flex' }}>证件类型<div className="must">必填</div></div>)}
+                    field='zhengjian'
+                  >
+                    <Select placeholder='请选择' allowClear>
+                      {['居民身份证',].map((option, index) => (
+                        <Option key={option} value={option}>
+                          {option}
+                        </Option>
+                      ))}
+                    </Select>
+                  </FormItem>
+                </Col>
+                <Col span={12}>
+                  <FormItem
+                    label={(<div style={{ display: 'flex' }}>证件号码<div className="must">必填</div></div>)}
+                    rules={[{ required: true }]}
+                    field='peopleNumber'
+                  >
+                    <InputSearch
+                      searchButton='读取卡证'
+                      placeholder='请填写'
+                    />
+                  </FormItem>
+                </Col>
+                <Col span={12}>
+                  <FormItem label='联系地址' field='money'>
+                    <Input placeholder='请填写' />
+                  </FormItem>
+                </Col>
+                <Col span={12}>
+                  <FormItem label='户籍地址' field='money'>
+                    <Input placeholder='请填写' />
+                  </FormItem>
+                </Col>
+                <Col span={12}>
+                  <FormItem label='工作单位' field='money'>
+                    <Input placeholder='请填写' />
+                  </FormItem>
+                </Col>
+                <Col span={12}>
+                  <FormItem
+                    label='民族'
+                    field='minzu'
+                  >
+                    <Select placeholder='请选择' allowClear>
+                      {['汉族',].map((option, index) => (
+                        <Option key={option} value={option}>
+                          {option}
+                        </Option>
+                      ))}
+                    </Select>
+                  </FormItem>
+                </Col>
+                <Col span={12}>
+                  <FormItem
+                    label='性别'
+                    field='sex'
+                  >
+                    <RadioGroup
+                      type='button'
+                    >
+                      <Radio value='0'>男</Radio>
+                      <Radio value='1'>女</Radio>
+                    </RadioGroup>
+                  </FormItem>
+                </Col>
+                <Col span={12}>
+                  <FormItem
+                    label='是否极具个人极端倾向'
+                    field='isBad'
+                  >
+                    <RadioGroup>
+                      <Radio value='0'>否</Radio>
+                      <Radio value='1'>是</Radio>
+                    </RadioGroup>
+                  </FormItem>
+                </Col>
+                <Col span={12}>
+                  <FormItem
+                    label='委托关系'
+                    field='weituo'
+                  >
+                    <Select placeholder='请选择' allowClear>
+                      {['亲属',].map((option, index) => (
+                        <Option key={option} value={option}>
+                          {option}
+                        </Option>
+                      ))}
+                    </Select>
+                  </FormItem>
+                </Col>
+                <Col span={12}>
+                  <FormItem
+                    label='委托类型'
+                    field='type'
+                  >
+                    <Select placeholder='请选择' allowClear>
+                      {['一般授权代理',].map((option, index) => (
+                        <Option key={option} value={option}>
+                          {option}
+                        </Option>
+                      ))}
+                    </Select>
+                  </FormItem>
+                </Col>
+                <Col span={12}>
+                  <FormItem
+                    label={(<div style={{ display: 'flex' }}>代理对象<div className="must">必填</div></div>)}
+                    rules={[{ required: true }]}
+                    field='dailimap'
+                  >
+                    <CheckboxGroup direction='vertical' options={['张三丰', '广东好又多贸易有限公司', '广东科贸创意有限公司']} />
+                  </FormItem>
+                </Col>
+              </Row>
+            </Form>
+          </Col>
+        </Row>
+
+        {/* 重复来访重点人员 */}
+        <div style={{ width: 'calc(100% - 9px)', background: '#f2f3f5', marginBottom: '20px', padding: '12px' }}>
+          <KeyVisits />
+        </div>
+      </div>
+      <div className='dialogFooter'>
+        <Button
+          type="primary"
+          className="dialogPrimary"
+        // onClick={handleSave}
+        >
+          保存信息
+        </Button>
+        <Button className="dialogBack">
+          重置
+        </Button>
+      </div>
+    </div>
+  )
+}
diff --git a/gz-customerSystem/src/views/register/visit/component/applyDialog.jsx b/gz-customerSystem/src/views/register/visit/component/applyDialog.jsx
index 78003e0..cfcb874 100644
--- a/gz-customerSystem/src/views/register/visit/component/applyDialog.jsx
+++ b/gz-customerSystem/src/views/register/visit/component/applyDialog.jsx
@@ -12,8 +12,9 @@
   caseperfection_organize,
   caseperfection_organize_active,
 } from '../../../../assets/images/icon';
-import { Form, Input, Button, Radio, Select, DatePicker, Cascader, Upload, Message } from '@arco-design/web-react';
+import { Form, Input, Button, Radio, Select, Modal, Cascader, Upload, Message } from '@arco-design/web-react';
 import KeyVisits from "./keyVisits";
+import SelectUnitDialog from "./selectUnitDialog";
 
 const FormItem = Form.Item;
 const Option = Select.Option;
@@ -23,7 +24,8 @@
 export default function ApplyDialog(props) {
   const formRef = useRef();
   const [perClass, setPerClass] = useState('09_01001-1');
- 
+  const [visible, setVisible] = useState(false);
+
 
   const personIconType = (v) => {
     switch (v) {
@@ -157,11 +159,12 @@
       )
     } else {
       //法人、非法人组织
+      let isLegal = type === '09_01001-2'
       return (
         <>
           <Col span={24}>
             <FormItem
-              label='企业登记材料'
+              label={isLegal ? '企业登记材料' : '机构登记材料'}
               field='file'
             >
               <Upload
@@ -177,7 +180,7 @@
           </Col>
           <Col span={24}>
             <FormItem
-              label='法定代表人身份证明材料'
+              label={isLegal ? '法定代表人身份证明材料' : '机构代表人身份证明材料'}
               field='file1'
             >
               <Upload
@@ -193,13 +196,14 @@
           </Col>
           <Col span={12}>
             <FormItem
-              label='企业名称'
+              label={isLegal ? '企业名称' : '机构名称'}
               rules={[{ required: true }]}
               field='peopleNumber'
             >
               <InputSearch
                 searchButton='选择'
                 placeholder='请填写'
+                onSearch={handleSelect}
               />
             </FormItem>
           </Col>
@@ -209,23 +213,23 @@
             </FormItem>
           </Col>
           <Col span={12}>
-            <FormItem label='企业所在地' field='money'>
+            <FormItem label={isLegal ? '企业所在地' : '机构所在地'} field='money'>
               <Input placeholder='请填写' />
             </FormItem>
           </Col>
           <Col span={12}>
-            <FormItem label='统一社会信用代码' field='money'>
+            <FormItem label={isLegal ? '统一社会信用代码' : '组织机构代码'} field='money'>
               <Input placeholder='请填写' />
             </FormItem>
           </Col>
           <Col span={12}>
-            <FormItem label='法定代表人' field='money'>
+            <FormItem label={isLegal ? '法定代表人' : '机构代表人'} field='money'>
               <Input placeholder='请填写' />
             </FormItem>
           </Col>
           <Col span={12}>
             <FormItem
-              label='企业类型'
+              label={ isLegal ? '企业类型' : '机构类型'}
               field='minzu'
             >
               <Select placeholder='请选择' allowClear>
@@ -254,6 +258,11 @@
         console.log(errors, values);
       });
     }
+  }
+
+  //选择
+  const handleSelect = (value) => {
+    setVisible(true)
   }
 
   return (
@@ -288,10 +297,11 @@
               initialValues={{
               }}//默认值
             >
-              <Row gutter={[32, 0]}>{formType(perClass)}</Row>
+              <Row gutter={[32, 0]} style={{ margin: '0 -10px' }}>{formType(perClass)}</Row>
             </Form>
           </Col>
         </Row>
+
         {/* 重复来访重点人员 */}
         <div style={{ width: 'calc(100% - 9px)', background: '#f2f3f5', marginBottom: '20px', padding: '12px' }}>
           <KeyVisits />
@@ -309,6 +319,17 @@
           重置
         </Button>
       </div>
+      <Modal
+        title={'选择单位'}
+        visible={visible}
+        onOk={() => setVisible(false)}
+        onCancel={() => setVisible(false)}
+        autoFocus={false}
+        focusLock={true}
+        footer={null}
+      >
+        <SelectUnitDialog />
+      </Modal>
     </div>
   )
 }
diff --git a/gz-customerSystem/src/views/register/visit/component/selectUnitDialog.jsx b/gz-customerSystem/src/views/register/visit/component/selectUnitDialog.jsx
new file mode 100644
index 0000000..709d4c8
--- /dev/null
+++ b/gz-customerSystem/src/views/register/visit/component/selectUnitDialog.jsx
@@ -0,0 +1,142 @@
+import React, { useState, useRef } from 'react'
+import TableSearch from '../../../../components/TableSearch';
+import TableView from '../../../../components/TableView';
+import { Row, Col } from 'antd';
+import { Form, Input, Button, Divider } from '@arco-design/web-react';
+
+const FormItem = Form.Item;
+const formItemLayout = {
+  labelCol: {
+    span: 4,
+  },
+  wrapperCol: {
+    span: 17,
+  },
+};
+
+export default function SelectUnitDialog(props) {
+  const formRef = useRef();
+  const [search, setSearch] = useState({ page: 1, size: 10, status: '1' });// 搜索
+  // 数据
+  const [data, setData] = useState({});
+
+  const fakeData1 = [
+    {
+      id: 1,
+      caseNo: 'A20230101',
+      judicNo: 'J20230101',
+      perClassName: '自然人',
+      inputUserName: '张三',
+      mediateUserName: '李四',
+      judgeName: '王五',
+      mediator: '赵六',
+      handlerUserName: '钱七',
+      returnUserName: '孙八',
+      expireTime: '2023-08-10T08:00:00.000Z',
+      processName: '进行中',
+      otherMediator: '周九',
+      canalName: '网络',
+      judicResult: '通过',
+      assistName: '吴十',
+      mediTypeName: '民事调解',
+      serieStatus: '1', // 1 表示非系列案,2 表示系列案
+      // 更多字段...
+    },
+    // 更多数据...
+  ];
+
+  // 列配置
+  const fakeColumns = [
+    {
+      title: '序号',
+      dataIndex: 'caseNo',
+      key: 'caseNo',
+      render: (text, record, index) => <span>{index + 1}</span>,
+    },
+    {
+      title: '材料类型',
+      dataIndex: 'judicNo',
+      key: 'judicNo',
+    },
+    {
+      title: '材料数量',
+      dataIndex: 'perClassName',
+      key: 'perClassName',
+    },
+    {
+      title: '材料名称',
+      dataIndex: 'perClassName',
+      key: 'perClassName',
+    },
+    {
+      title: '上传时间',
+      dataIndex: 'perClassName',
+      key: 'perClassName',
+    },
+    {
+      title: '操作',
+      dataIndex: 'perClassName',
+      key: 'perClassName',
+      width: 120,
+      render: (text) => (
+        <div style={{ display: 'flex', color: '#1A6FB8', gap: '16px' }}>
+          <div>选择</div>
+        </div>
+      )
+    },
+    // 更多列配置...
+  ];
+
+  // 搜索 or 重置
+  function handleSearch(type, data) {
+    if (type === 'changePage') {
+      let obj = type === 'changeTabs' ? { page: 1, status: data } : { page: data[0], size: data[1] };
+      // getSignForListData({ ...search, ...obj });
+    }
+  }
+
+  return (
+    <div>
+      <Form
+        ref={formRef}
+        requiredSymbol={false}
+        layout='inline'
+        {...formItemLayout}
+      >
+        <FormItem
+          label='单位名称:'
+          field='name'
+        >
+          <Input placeholder='请填写' style={{width: '500px'}}/>
+        </FormItem>
+        <Button style={{marginRight: '20px'}}>
+          重置
+        </Button>
+        <Button
+          type="primary"
+          // onClick={handleSave}
+        >
+          查询
+        </Button>
+      </Form>
+      <Divider />
+      <div className='unitDialogResult'>
+        查询结果
+      </div>
+      <TableView
+        columns={fakeColumns}
+        dataSource={fakeData1}
+        size="small"
+        rowKey="id"
+        bordered={true}
+        style={{ marginBottom: '60px' }}
+        pagination={{
+          current: search.page,
+          pageSize: search.size,
+          total: data.total,
+          onChange: (page, pageSize) => handleSearch('changePage', [page, pageSize]),
+        }}
+      />
+    </div>
+  )
+}
diff --git a/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx b/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
index 1bb3f3e..f8413d3 100644
--- a/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
+++ b/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
@@ -18,6 +18,7 @@
 import TableView from '../../../../components/TableView';
 import '../../index.less';
 import ApplyDialog from "./applyDialog";
+import AgentDialog from "./agentDialog";
 import FilesCheck from '../../../filesCheck';
 import {
   IconFileAudio,
@@ -104,7 +105,7 @@
   const [upload, setUpLoad] = useState(false);
   const [sourceType, setSourceType] = useState('09_01010-1');
   const [filesCheck, setFilesCheck] = useState(false);
-  const [file, setFile] = useState();
+  const [fileView, setFileView] = useState();
   const [selectedAddress, setSelectedAddress] = useState('');
   const [fileTip, setFileTip] = useState('0');
 
@@ -114,6 +115,7 @@
     // 更多地址...
   ];
 
+  const [agentVisible, setAgentVisible] = useState(false);
 
   const personIconType = (v) => {
     switch (v) {
@@ -348,8 +350,12 @@
 
   //添加申请人: 0、被申请人: 1、代理人: 2
   const handleAdd = (type) => {
+    if(type === 2) {
+      setAgentVisible(true)
+    } else {
+      setAddVisabled(true)
+    }
     setDialogType(type)
-    setAddVisabled(true)
   }
 
 
@@ -586,7 +592,7 @@
                 if (info.length > 0) {
                   setScanImage(true);
                 }
-                setFile({
+                setFileView({
                   ...currentFile,
                   url: URL.createObjectURL(currentFile.originFile),
 
@@ -603,7 +609,7 @@
       </Modal>
       <Modal style={{ width: '944px' }} visible={scanImage} onCancel={() => setScanImage(false)} footer={null} title='选择识别范围' centered>
         <img
-          src={file?.url}
+          src={fileView?.url}
           alt=""
           style={{
             display: 'block',       // 确保图片在容器中居中显示
@@ -684,6 +690,17 @@
       >
         <ApplyDialog />
       </Modal>
+      <Modal
+        title={'添加代理人'}
+        visible={agentVisible}
+        onOk={() => setAgentVisible(false)}
+        onCancel={() => setAgentVisible(false)}
+        autoFocus={false}
+        focusLock={true}
+        footer={null}
+      >
+        <AgentDialog />
+      </Modal>
     </div>
   )
 }

--
Gitblit v1.8.0