From 625867cc91baf7ece9f1329eaa7710731727b2b8 Mon Sep 17 00:00:00 2001
From: zhangyongtian <1181606322@qq.com>
Date: Sat, 17 Aug 2024 18:15:25 +0800
Subject: [PATCH] feat: 添加当事人功能静态
---
gz-customerSystem/src/views/register/visit/component/applyDialog.jsx | 27 ++-
gz-customerSystem/src/views/register/index.less | 1
gz-customerSystem/src/views/register/visit/component/agentDialog.jsx | 6
gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx | 66 +++++---
gz-customerSystem/src/views/register/visit/component/detailDialog.jsx | 328 +++++++++++++++++++++++++++++++++++++++++
gz-customerSystem/src/components/personCard/index.jsx | 2
6 files changed, 394 insertions(+), 36 deletions(-)
diff --git a/gz-customerSystem/src/components/personCard/index.jsx b/gz-customerSystem/src/components/personCard/index.jsx
index 987bdae..30a1438 100644
--- a/gz-customerSystem/src/components/personCard/index.jsx
+++ b/gz-customerSystem/src/components/personCard/index.jsx
@@ -27,7 +27,7 @@
<div className="public-personCard" style={{ cursor: 'pointer' }}>
<div
className={`public-personCard-card public-personCard-card-${x.partyType === 'applicant' ? 'blue' : 'orange'}`}
- onClick={() => handleCheckParty({ type: x.partyType, editType: 'check', values: x })}
+ onClick={() => handleCheckParty(x)}
>
{x.trueName.substr(0, 1)}
<div className="public-personCard-card-check">查看</div>
diff --git a/gz-customerSystem/src/views/register/index.less b/gz-customerSystem/src/views/register/index.less
index 13ec458..e414e46 100644
--- a/gz-customerSystem/src/views/register/index.less
+++ b/gz-customerSystem/src/views/register/index.less
@@ -60,6 +60,7 @@
&-title {
color: #86909C;
+ text-align: center;
}
}
diff --git a/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx b/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx
index d3c4e7b..684f9a7 100644
--- a/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx
+++ b/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx
@@ -2,6 +2,9 @@
import { Row, Col, Space } from 'antd';
import { Form, Input, Button, Radio, Select, Checkbox, Upload } from '@arco-design/web-react';
import KeyVisits from "./keyVisits";
+import {
+ IconLink,
+} from '@arco-design/web-react/icon';
const FormItem = Form.Item;
const Option = Select.Option;
@@ -36,6 +39,9 @@
onDrop={(e) => {
}}
tip='支持png、jpg、pdf格式的图片上传,每次上传大小不超过10M'
+ showUploadList={{
+ fileIcon: <IconLink style={{ color: '#1D2129' }} />,
+ }}
/>
</FormItem>
</Col>
diff --git a/gz-customerSystem/src/views/register/visit/component/applyDialog.jsx b/gz-customerSystem/src/views/register/visit/component/applyDialog.jsx
index cfcb874..582ff74 100644
--- a/gz-customerSystem/src/views/register/visit/component/applyDialog.jsx
+++ b/gz-customerSystem/src/views/register/visit/component/applyDialog.jsx
@@ -15,6 +15,9 @@
import { Form, Input, Button, Radio, Select, Modal, Cascader, Upload, Message } from '@arco-design/web-react';
import KeyVisits from "./keyVisits";
import SelectUnitDialog from "./selectUnitDialog";
+import {
+ IconLink,
+} from '@arco-design/web-react/icon';
const FormItem = Form.Item;
const Option = Select.Option;
@@ -25,7 +28,7 @@
const formRef = useRef();
const [perClass, setPerClass] = useState('09_01001-1');
const [visible, setVisible] = useState(false);
-
+
const personIconType = (v) => {
switch (v) {
@@ -57,6 +60,9 @@
onDrop={(e) => {
}}
tip='支持png、jpg、pdf格式的图片上传,每次上传大小不超过10M'
+ showUploadList={{
+ fileIcon: <IconLink style={{ color: '#1D2129' }} />,
+ }}
/>
</FormItem>
</Col>
@@ -64,6 +70,7 @@
<FormItem
label={(<div style={{ display: 'flex' }}>姓名<div className="must">必填</div></div>)}
field='name'
+ rules={[{ required: true, message: '请输入姓名' }]}
>
<Input placeholder='请填写' />
</FormItem>
@@ -72,6 +79,7 @@
<FormItem
label={(<div style={{ display: 'flex' }}>联系方式<div className="must">必填</div></div>)}
field='phone'
+ rules={[{ required: true, message: '请输入联系方式' }]}
>
<Input placeholder='请填写' />
</FormItem>
@@ -79,7 +87,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) => (
@@ -93,7 +102,7 @@
<Col span={12}>
<FormItem
label={(<div style={{ display: 'flex' }}>证件号码<div className="must">必填</div></div>)}
- rules={[{ required: true }]}
+ rules={[{ required: true, message: '请输入证件号码' }]}
field='peopleNumber'
>
<InputSearch
@@ -103,24 +112,24 @@
</FormItem>
</Col>
<Col span={12}>
- <FormItem label='联系地址' field='money'>
+ <FormItem label='联系地址' field='phoneAddress'>
<Input placeholder='请填写' />
</FormItem>
</Col>
<Col span={12}>
- <FormItem label='户籍地址' field='money'>
+ <FormItem label='户籍地址' field='domicileAddress'>
<Input placeholder='请填写' />
</FormItem>
</Col>
<Col span={12}>
- <FormItem label='工作单位' field='money'>
+ <FormItem label='工作单位' field='workUnit'>
<Input placeholder='请填写' />
</FormItem>
</Col>
<Col span={12}>
<FormItem
label='民族'
- field='minzu'
+ field='nation'
>
<Select placeholder='请选择' allowClear>
{['汉族',].map((option, index) => (
@@ -229,7 +238,7 @@
</Col>
<Col span={12}>
<FormItem
- label={ isLegal ? '企业类型' : '机构类型'}
+ label={isLegal ? '企业类型' : '机构类型'}
field='minzu'
>
<Select placeholder='请选择' allowClear>
@@ -291,7 +300,7 @@
})}
<Col span={24}>
<Form
- ref={props.formRef}
+ ref={formRef}
layout='vertical'
requiredSymbol={false}
initialValues={{
diff --git a/gz-customerSystem/src/views/register/visit/component/detailDialog.jsx b/gz-customerSystem/src/views/register/visit/component/detailDialog.jsx
new file mode 100644
index 0000000..f58f8cc
--- /dev/null
+++ b/gz-customerSystem/src/views/register/visit/component/detailDialog.jsx
@@ -0,0 +1,328 @@
+import React, { useState } from 'react'
+import KeyVisits from "./keyVisits";
+import { link } from '../../../../assets/images'
+
+export default function DetailDialog(props) {
+ const nuturalList = [
+ [
+ {
+ label: '姓名',
+ perClass: '自然人',
+ width: '120',
+ value: '李晓明',
+ isName: true,//判断是否是姓名标签
+ },
+ {
+ label: '联系方式',
+ width: '120',
+ value: '13380313411',
+ },
+ ],
+ [
+ {
+ label: '证件类型',
+ value: '居民身份证',
+ },
+ {
+ label: '证件号码',
+ value: '440981199999999999',
+ },
+ ],
+ [
+ {
+ label: '联系地址',
+ value: '居民身份证',
+ },
+ {
+ label: '户籍地址',
+ value: '广州市天河区棠下街20号',
+ },
+ ],
+ [
+ {
+ label: '工作单位',
+ value: '好又多',
+ },
+ {
+ label: '民族',
+ value: '汉',
+ },
+ ],
+ [
+ {
+ label: '性别',
+ value: '男',
+ },
+ {
+ label: '是否有个人极端倾向',
+ value: '否',
+ },
+ ],
+ [
+ {
+ label: '身份证新材料',
+ value: <a href="your-link-here.html" target="_blank">
+ <img src={link} alt="" className="title-file" />李晓明身份证明材料.pdf
+ </a>,
+ },
+ ],
+ ]
+ const legalList = [
+ [
+ {
+ label: '企业名称',
+ perClass: '法人',
+ width: '120',
+ value: '李晓明',
+ isName: true,//判断是否是姓名标签
+ },
+ {
+ label: '联系方式',
+ width: '120',
+ value: '13380313411',
+ },
+ ],
+ [
+ {
+ label: '企业所在地',
+ value: '广州市天河区棠下街120号',
+ },
+ {
+ label: '统一社会信用代码',
+ value: '440981199999999999',
+ },
+ ],
+ [
+ {
+ label: '法定代表人',
+ value: '蒋照月',
+ },
+ {
+ label: '企业类型',
+ value: '餐饮服务',
+ },
+ ],
+ [
+ {
+ label: '住所',
+ value: '广州市天河区棠下街120号',
+ },
+ ],
+ [
+ {
+ label: '登记企业材料',
+ value: <a href="your-link-here.html" target="_blank">
+ <img src={link} alt="" className="title-file" />广东好又多餐饮有限公司营业执照.pdf
+ </a>,
+ },
+ {
+ label: '法定代表人身份证明材料',
+ value: <a href="your-link-here.html" target="_blank">
+ <img src={link} alt="" className="title-file" />江照月个人身份.pdf
+ </a>,
+ },
+ ],
+ ]
+ const organizationList = [
+ [
+ {
+ label: '机构名称',
+ perClass: '非法人组织',
+ width: '120',
+ value: '李晓明',
+ isName: true,//判断是否是姓名标签
+ },
+ {
+ label: '联系方式',
+ width: '120',
+ value: '13380313411',
+ },
+ ],
+ [
+ {
+ label: '机构所在地',
+ value: '广州市天河区棠下街120号',
+ },
+ {
+ label: '机构组织代码',
+ value: '440981199999999999',
+ },
+ ],
+ [
+ {
+ label: '机构代表人',
+ value: '蒋照月',
+ },
+ {
+ label: '机构类型',
+ value: '餐饮服务',
+ },
+ ],
+ [
+ {
+ label: '住所',
+ value: '广州市天河区棠下街120号',
+ },
+ ],
+ [
+ {
+ label: '机构登记材料',
+ value: <a href="your-link-here.html" target="_blank">
+ <img src={link} alt="" className="title-file" />广东好又多餐饮有限公司营业执照.pdf
+ </a>,
+ },
+ {
+ label: '机构代表人身份证明材料',
+ value: <a href="your-link-here.html" target="_blank">
+ <img src={link} alt="" className="title-file" />江照月个人身份.pdf
+ </a>,
+ },
+ ],
+ ]
+ const agentList = [
+ [
+ {
+ label: '姓名',
+ perClass: '代理人',
+ width: '120',
+ value: '李晓明',
+ isName: true,//判断是否是姓名标签
+ },
+ {
+ label: '联系方式',
+ width: '120',
+ value: '13380313411',
+ },
+ ],
+ [
+ {
+ label: '证件类型',
+ value: '居民身份证',
+ },
+ {
+ label: '证件号码',
+ value: '440981199999999999',
+ },
+ ],
+ [
+ {
+ label: '联系地址',
+ value: '居民身份证',
+ },
+ {
+ label: '户籍地址',
+ value: '广州市天河区棠下街20号',
+ },
+ ],
+ [
+ {
+ label: '工作单位',
+ value: '好又多',
+ },
+ {
+ label: '民族',
+ value: '汉',
+ },
+ ],
+ [
+ {
+ label: '性别',
+ value: '男',
+ },
+ {
+ label: '是否有个人极端倾向',
+ value: '否',
+ },
+ ],
+ [
+ {
+ label: '委托关系',
+ value: '亲属',
+ },
+ {
+ label: '委托类型',
+ value: '一般授权代理',
+ },
+ ],
+ [
+ {
+ label: '代理对象',
+ value: '广东好又多贸易公司',
+ },
+ ],
+ [
+ {
+ label: '身份证明材料',
+ value: <a href="your-link-here.html" target="_blank">
+ <img src={link} alt="" className="title-file" />广东好又多餐饮有限公司营业执照.pdf
+ </a>,
+ },
+ {
+ label: '代理人授权委托书',
+ value: <a href="your-link-here.html" target="_blank">
+ <img src={link} alt="" className="title-file" />江照月个人身份.pdf
+ </a>,
+ },
+ ],
+ ]
+ const tableList = agentList
+
+ return (
+ <div>
+ <table border="1" align="center" cellpadding="8" className="table" style={{marginBottom: '20px'}}>
+ {
+ tableList?.map((item, index) => {
+ return <tr key={index}>
+ {
+ item?.map(res => {
+ return <>
+ <th bgcolor="#F7F8FA" className="table-title" width={res.width ? res.width : ''}>{res.label}</th>
+ <td width='380'>
+ <div style={{ display: 'flex' }}>
+ <div>{res.value}</div>
+ {res.isName && <div className="title-personRemark">{res.perClass}</div>}
+ </div>
+ </td>
+ </>
+ })
+ }
+ </tr>
+ })
+ }
+ {/* <tr>
+ <th bgcolor="#F7F8FA" className="table-title" width="120">姓名</th>
+ <td width='380'><div style={{ display: 'flex' }}><div>李晓明</div><div className="title-personRemark">自然人</div></div></td>
+ <th bgcolor="#F7F8FA" className="table-title" width="120">联系方式</th>
+ <td width='380'>19</td>
+ <th bgcolor="#F7F8FA" className="table-title" width='140'>性别</th>
+ <td>汉</td>
+ </tr>
+ <tr>
+ <th bgcolor="#F7F8FA" className="table-title">证件类型</th>
+ <td>19970000</td>
+ <th bgcolor="#F7F8FA" className="table-title">证件号码</th>
+ <td>团员</td>
+ <th bgcolor="#F7F8FA" className="table-title">民族</th>
+ <td>本科</td>
+ </tr>
+ <tr>
+ <th bgcolor="#F7F8FA" className="table-title">联系地址</th>
+ <td>网络工程</td>
+ <th bgcolor="#F7F8FA" className="table-title">户籍地址</th>
+ <td>淮南师范学院</td>
+ <th bgcolor="#F7F8FA" className="table-title" rowspan="2" >是否有个人极端倾向</th>
+ <td rowspan="2" >237483</td>
+ </tr>
+ <tr>
+ <th bgcolor="#F7F8FA" className="table-title">工作单位</th>
+ <td>玩,拆,装</td>
+ <th bgcolor="#F7F8FA" className="table-title">身份证明材料</th>
+ </tr> */}
+ </table>
+ {/* 重复来访重点人员 */}
+ <div style={{ width: 'calc(100% - 9px)', background: '#f2f3f5', marginBottom: '20px', padding: '12px' }}>
+ <KeyVisits />
+ </div>
+ </div>
+ )
+}
diff --git a/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx b/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
index f8413d3..1bbe232 100644
--- a/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
+++ b/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
@@ -19,6 +19,7 @@
import '../../index.less';
import ApplyDialog from "./applyDialog";
import AgentDialog from "./agentDialog";
+import DetailDialog from "./detailDialog";
import FilesCheck from '../../../filesCheck';
import {
IconFileAudio,
@@ -39,15 +40,16 @@
const [dialogType, setDialogType] = useState(0);//添加当事人的类型
const [addVisabled, setAddVisabled] = useState(false);//添加当事人弹窗控制
const [fakeData, setFakeData] = useState([
- // {
- // id: 3,
- // perClassName: '申请方当事人',
- // trueName: '蓝海科技有限公司',
- // mobile: '9144010188453Z',
- // company: true,
- // companyName: '张晓梅',//公司法人
- // partyType: 'applicant',//申请人
- // },
+ {
+ id: 3,
+ perClassName: '申请方当事人',
+ trueName: '蓝海科技有限公司',
+ mobile: '9144010188453Z',
+ company: true,
+ companyName: '张晓梅',//公司法人
+ partyType: 'applicant',//申请人
+ type: 0,//申请人: 0、被申请人: 1、代理人: 2
+ },
// {
// id: 1,
// perClassName: '申请方代理人',
@@ -57,16 +59,17 @@
// personNumber: '13388888888',//联系方式
// partyType: 'applicant',
// },
- // {
- // id: 2,
- // perClassName: '被申请方当事人',
- // trueName: '大海科技有限公司',
- // mobile: '13800000002',
- // company: true,
- // companyName: '郭小聪',//公司法人
- // partyType: 'respondent',//被申请方
- // remark: [{ label: '精神障碍', color: '#C64FBE' }, { label: '吸毒', color: '#D8A247' }, { label: '社区矫正', color: '#B82F6E' }, { label: '刑满释放', color: '#199C8F' }, { label: '流浪', color: '#3ECB7A' }, { label: '重点青少年', color: '#117AC1' }, { label: '涉稳涉访', color: '#6865D7' }, { label: '潜在风险', color: '#2661CE' }]
- // },
+ {
+ id: 2,
+ perClassName: '被申请方当事人',
+ trueName: '大海科技有限公司',
+ mobile: '13800000002',
+ company: true,
+ companyName: '郭小聪',//公司法人
+ partyType: 'respondent',//被申请方
+ type: 1,
+ remark: [{ label: '精神障碍', color: '#C64FBE' }, { label: '吸毒', color: '#D8A247' }, { label: '社区矫正', color: '#B82F6E' }, { label: '刑满释放', color: '#199C8F' }, { label: '流浪', color: '#3ECB7A' }, { label: '重点青少年', color: '#117AC1' }, { label: '涉稳涉访', color: '#6865D7' }, { label: '潜在风险', color: '#2661CE' }]
+ },
// {
// id: 2,
// perClassName: '被申请方代理人',
@@ -108,6 +111,7 @@
const [fileView, setFileView] = useState();
const [selectedAddress, setSelectedAddress] = useState('');
const [fileTip, setFileTip] = useState('0');
+ const [detailVisabled, setDetailVisabled] = useState(false);//查看信息弹窗控制
const addressOptions = [
{ label: '地址1', value: 'address1' },
@@ -329,8 +333,11 @@
},
];
- const handleCheckParty = () => {
- console.log('check party');
+ //查看
+ const handleCheckParty = (value) => {
+ console.log(value);
+ setDialogType(value.type)
+ setDetailVisabled(true)
}
//获取当前时间
@@ -345,12 +352,9 @@
return `${year}-${month}-${day} ${hours}:${minutes}`;
}
-
-
-
//添加申请人: 0、被申请人: 1、代理人: 2
const handleAdd = (type) => {
- if(type === 2) {
+ if (type === 2) {
setAgentVisible(true)
} else {
setAddVisabled(true)
@@ -686,7 +690,6 @@
autoFocus={false}
focusLock={true}
footer={null}
- // style={{ width: '1000px' }}
>
<ApplyDialog />
</Modal>
@@ -701,6 +704,17 @@
>
<AgentDialog />
</Modal>
+ <Modal
+ title={'查看' + peopleMap[dialogType]}
+ visible={detailVisabled}
+ onOk={() => setDetailVisabled(false)}
+ onCancel={() => setDetailVisabled(false)}
+ autoFocus={false}
+ focusLock={true}
+ footer={null}
+ >
+ <DetailDialog />
+ </Modal>
</div>
)
}
--
Gitblit v1.8.0