From db35bd251144da64188dfb8fca63a4fd8c0f5973 Mon Sep 17 00:00:00 2001
From: dminyi <1301963064@qq.com>
Date: Fri, 30 Aug 2024 17:50:07 +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 | 2
gz-customerSystem/src/components/personCard/DetailDialog.jsx | 380 +++++++++++++++++++++
gz-customerSystem/src/views/register/visit/component/agentDialog.jsx | 8
gz-customerSystem/src/api/appUrl.js | 5
gz-customerSystem/src/utils/selectOption.js | 28 +
gz-customerSystem/src/utils/caseTypeSelect.js | 47 ++
/dev/null | 328 ------------------
gz-customerSystem/src/components/personCard/KeyVisits.jsx | 0
gz-customerSystem/src/views/register/index.less | 14
gz-customerSystem/src/views/register/visit/component/MattersInfo.jsx | 8
gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx | 27 -
gz-customerSystem/src/views/register/visit/preview.jsx | 4
gz-customerSystem/src/components/personCard/index.jsx | 191 ++++++----
gz-customerSystem/src/views/register/visit/index.jsx | 28 +
14 files changed, 615 insertions(+), 455 deletions(-)
diff --git a/gz-customerSystem/src/api/appUrl.js b/gz-customerSystem/src/api/appUrl.js
index 170b127..d07e8ae 100644
--- a/gz-customerSystem/src/api/appUrl.js
+++ b/gz-customerSystem/src/api/appUrl.js
@@ -10,11 +10,11 @@
export const debug = {
// web服务
// baseUrl: 'http://gz.hugeinfo.com.cn',
- baseUrl: 'http://192.168.3.108:9002',
+ baseUrl: 'http://tj4jd4.natappfree.cc',
// baseUrl: 'http://mdqgnh.natappfree.cc',
// 附件服务
- fileUrl: 'http://192.168.3.108:9002',
+ fileUrl: 'http://tj4jd4.natappfree.cc',
// fileUrl: 'http://gz.hugeinfo.com.cn',
@@ -33,6 +33,7 @@
oper: 'dyh-oper', // dyh-oper
sys: 'dyh-sys', // dyh-sys
disp: 'dyh-disp', //dyh-disp
+ utils: 'dyh-utils'
};
// 正式版
diff --git a/gz-customerSystem/src/components/personCard/DetailDialog.jsx b/gz-customerSystem/src/components/personCard/DetailDialog.jsx
new file mode 100644
index 0000000..a62c172
--- /dev/null
+++ b/gz-customerSystem/src/components/personCard/DetailDialog.jsx
@@ -0,0 +1,380 @@
+import React, { useEffect, useState } from 'react'
+import KeyVisits from "./KeyVisits";
+import { link } from '@/assets/images'
+
+export default function DetailDialog(props) {
+ const nuturalList = [
+ [
+ {
+ label: '姓名',
+ perClass: '',
+ value: '',
+ isName: true,//判断是否是姓名标签
+ field: 'trueName',
+ },
+ {
+ label: '联系方式',
+ value: '',
+ field: 'mobile',
+ },
+ ],
+ [
+ {
+ label: '证件类型',
+ value: '',
+ field: 'certiTypeName',
+ },
+ {
+ label: '证件号码',
+ value: '',
+ field: 'certiNo',
+ },
+ ],
+ [
+ {
+ label: '联系地址',
+ value: '',
+ field: 'addr',
+ },
+ {
+ label: '户籍地址',
+ value: '',
+ field: 'placeAddr',
+ },
+ ],
+ [
+ {
+ label: '工作单位',
+ value: '',
+ field: 'workUnit',
+ },
+ {
+ label: '民族',
+ value: '',
+ field: 'nationName',
+ },
+ ],
+ [
+ {
+ label: '性别',
+ value: '',
+ field: 'sexName',
+ },
+ {
+ label: '是否有个人极端倾向',
+ value: '',
+ field: 'extreme',
+ },
+ ],
+ [
+ {
+ label: '身份证明材料',
+ value: <a href="your-link-here.html" target="_blank">
+ <img src={link} alt="" className="title-file" />李晓明身份证明材料.pdf
+ </a>,
+ isFile: true
+ },
+ ],
+ ]
+ const legalList = [
+ [
+ {
+ label: '企业名称',
+ perClass: '',
+ value: '',
+ isName: true,//判断是否是姓名标签
+ field: 'trueName',
+ },
+ {
+ label: '联系方式',
+ value: '',
+ field: 'mobile',
+ },
+ ],
+ [
+ {
+ label: '企业所在地',
+ value: '',
+ field: 'addr',
+ },
+ {
+ label: '统一社会信用代码',
+ value: '',
+ field: 'orgaCode',
+ },
+ ],
+ [
+ {
+ label: '法定代表人',
+ value: '',
+ field: 'deputy',
+ },
+ {
+ label: '企业类型',
+ value: '',
+ field: 'orgaTypeName',
+ },
+ ],
+ [
+ {
+ label: '住所',
+ value: '',
+ field: 'placeAddr',
+ },
+ ],
+ [
+ {
+ label: '登记企业材料',
+ value: <a href="your-link-here.html" target="_blank">
+ <img src={link} alt="" className="title-file" />广东好又多餐饮有限公司营业执照.pdf
+ </a>,
+ isFile: true
+ },
+ {
+ label: '法定代表人身份证明材料',
+ value: <a href="your-link-here.html" target="_blank">
+ <img src={link} alt="" className="title-file" />江照月个人身份.pdf
+ </a>,
+ isFile: true
+ },
+ ],
+ ]
+ const organizationList = [
+ [
+ {
+ label: '机构名称',
+ perClass: '',
+ value: '',
+ isName: true,//判断是否是姓名标签
+ field: 'trueName',
+ },
+ {
+ label: '联系方式',
+ value: '',
+ field: 'mobile',
+ },
+ ],
+ [
+ {
+ label: '机构所在地',
+ value: '',
+ field: 'addr',
+ },
+ {
+ label: '机构组织代码',
+ value: '',
+ field: 'orgaCode',
+ },
+ ],
+ [
+ {
+ label: '机构代表人',
+ value: '',
+ field: 'deputy',
+ },
+ {
+ label: '机构类型',
+ value: '',
+ field: 'orgaTypeName',
+ },
+ ],
+ [
+ {
+ label: '住所',
+ value: '',
+ field: 'placeAddr',
+ },
+ ],
+ [
+ {
+ label: '机构登记材料',
+ value: <a href="your-link-here.html" target="_blank">
+ <img src={link} alt="" className="title-file" />广东好又多餐饮有限公司营业执照.pdf
+ </a>,
+ isFile: true
+ },
+ {
+ label: '机构代表人身份证明材料',
+ value: <a href="your-link-here.html" target="_blank">
+ <img src={link} alt="" className="title-file" />江照月个人身份.pdf
+ </a>,
+ isFile: true
+ },
+ ],
+ ]
+ const agentList = [
+ [
+ {
+ label: '姓名',
+ perClass: '',
+ value: '',
+ isName: true,//判断是否是姓名标签
+ field: 'trueName',
+ },
+ {
+ label: '联系方式',
+ value: '',
+ field: 'mobile',
+ },
+ ],
+ [
+ {
+ label: '证件类型',
+ value: '',
+ field: 'certiTypeName',
+ },
+ {
+ label: '证件号码',
+ value: '',
+ field: 'certiNo',
+ },
+ ],
+ [
+ {
+ label: '联系地址',
+ value: '',
+ field: 'addr',
+ },
+ {
+ label: '户籍地址',
+ value: '',
+ field: 'placeAddr',
+ },
+ ],
+ [
+ {
+ label: '工作单位',
+ value: '',
+ field: 'workUnit',
+ },
+ {
+ label: '民族',
+ value: '',
+ field: 'nationName',
+ },
+ ],
+ [
+ {
+ label: '性别',
+ value: '',
+ field: 'sexName',
+ },
+ {
+ label: '是否有个人极端倾向',
+ value: '',
+ field: 'extreme',
+ },
+ ],
+ [
+ {
+ label: '委托关系',
+ value: '',
+ field: 'agentRelateName',
+ },
+ {
+ label: '委托类型',
+ value: '',
+ field: 'agentTypeName',
+ },
+ ],
+ [
+ {
+ label: '代理对象',
+ value: '',
+ field: 'personList',
+ },
+ ],
+ [
+ {
+ label: '身份证明材料',
+ value: <a href="your-link-here.html" target="_blank">
+ <img src={link} alt="" className="title-file" />广东好又多餐饮有限公司营业执照.pdf
+ </a>,
+ isFile: true,
+ },
+ {
+ label: '代理人授权委托书',
+ value: <a href="your-link-here.html" target="_blank">
+ <img src={link} alt="" className="title-file" />江照月个人身份.pdf
+ </a>,
+ isFile: true,
+ },
+ ],
+ ]
+
+ const [tableList, setTableList] = useState([])
+
+ useEffect(() => {
+ console.log(props.editData);
+ const data = props.editData
+ let newList
+ let mapList = []
+ if (data.perClass === "09_01001-1") {
+ //自然人
+ mapList = nuturalList
+ }
+ if (data.perClass === "09_01001-2") {
+ //法人组织
+ mapList = legalList
+ }
+ if (data.perClass === "09_01001-3") {
+ //非法人组织
+ mapList = organizationList
+ }
+ if (data.perType === "24_00006-1" || data.perType === "24_00006-1") {
+ //代理人
+ mapList = agentList
+ }
+ newList = mapList.map(item => {
+ return item.map(res => {
+ if (res.isFile) {
+ return res
+ }
+ if (res.isName) {
+ return {
+ ...res,
+ value: data[res.field],
+ perClass: data.perClassName || data.perTypeName
+ }
+ } else {
+ return {
+ ...res,
+ value: res.field === 'personList' ? data[res.field].join(',') : data[res.field]
+ }
+ }
+ })
+ })
+
+ setTableList(newList)
+ }, [])
+
+ return (
+ <div style={{ maxHeight: '590px', overflowY: 'scroll' }}>
+ <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='120'>{res.label}</th>
+ <td width={380}>
+ <div style={{ display: 'flex', minHeight: '22px' }}>
+ <div>{res.value}</div>
+ {res.isName && <div className="title-personRemark">{res.perClass}</div>}
+ </div>
+ </td>
+ </>
+ })
+ }
+ </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/keyVisits.jsx b/gz-customerSystem/src/components/personCard/KeyVisits.jsx
similarity index 100%
rename from gz-customerSystem/src/views/register/visit/component/keyVisits.jsx
rename to gz-customerSystem/src/components/personCard/KeyVisits.jsx
diff --git a/gz-customerSystem/src/components/personCard/index.jsx b/gz-customerSystem/src/components/personCard/index.jsx
index dc1acb3..df5109e 100644
--- a/gz-customerSystem/src/components/personCard/index.jsx
+++ b/gz-customerSystem/src/components/personCard/index.jsx
@@ -6,20 +6,30 @@
* @FilePath: \gzDyh\gz-customerSystem\src\components\personCard\index.jsx
* @Description: 来访登记当事人卡片
*/
-import React from 'react';
+import React, { Fragment, useState } from 'react';
import PropTypes from 'prop-types';
import { Typography, Row, Col, Space, Tooltip } from 'antd';
+import { Modal } from '@arco-design/web-react';
import { del, add } from '../../assets/images';
-import * as $$ from '@/utils/utility';
+import DetailDialog from "./DetailDialog";
const { Link, Text } = Typography;
/**
* isCheck, // 是否无操作
* data, // 当事人数据
- * handleCheckParty, // 点击查看详情
* handleDeleteParty, // 删除当事人
*/
-const PersonCard = ({ isCheck, data, handleCheckParty, handleDeleteParty, handleAdd, handleEdit }) => {
+const PersonCard = ({ isCheck, data, handleDeleteParty, handleAdd, handleEdit }) => {
+ const [editData, setEditData] = useState(null);
+ const [detailVisabled, setDetailVisabled] = useState(false);//查看信息弹窗控制
+ const [dialogType, setDialogType] = useState(0);//添加当事人的类型
+
+ const peopleMap = {
+ '15_020008-1': '申请方',
+ '15_020008-2': '被申请方',
+ '24_00006-1': '申请方代理人',
+ '24_00006-2': '被申请方代理人'
+ }
let isAgent = false
let isAgentFor = false
const typeList = data.map(item => {
@@ -31,83 +41,110 @@
if (typeList.indexOf('15_020008-2') != -1) {
isAgentFor = true
}
+
+ const handleCheckParty = (value) => {
+ setDialogType(value.perType)
+ setEditData(value)
+ setDetailVisabled(true)
+ }
+
return (
- <Row gutter={[24, 16]}>
- {data.map((x, t) => (
- <Col span={7} key={t}>
- <div className="public-personCard" style={{ cursor: 'pointer' }}>
- <div
- className={`public-personCard-card public-personCard-card-${(x.perType === '15_020008-1' || x.perType === '24_00006-1') ? 'blue' : 'orange'}`}
- onClick={() => handleCheckParty(x)}
- >
- {x.trueName.substr(0, 1)}
- <div className="public-personCard-card-check">查看</div>
- <img
- src={del}
- alt=''
- style={{ width: '16px', height: '16px', position: 'absolute', top: '-8px', left: '56px' }}
- onClick={(event) => { handleDeleteParty(event, x) }}
- />
- </div>
- <div className="public-personCard-content">
- <div className="public-personCard-title">
- <Text style={{ maxWidth: '80%', paddingRight: '8px' }} ellipsis={{ tooltip: x.trueName }}>
- {x.trueName}
- </Text>
- <Text onClick={() => { handleEdit(x) }} ellipsis={{ tooltip: x.perTypeName }} className={`public-personCard-tag public-personCard-tag-${(x.perType === '15_020008-1' || x.perType === '24_00006-1') ? 'blue' : 'orange'}`}>
- {x.perTypeName}
- </Text>
+ <Fragment>
+ <Row gutter={[24, 16]}>
+ {data.map((x, t) => (
+ <Col span={7} key={t}>
+ <div className="public-personCard" style={{ cursor: 'pointer' }}>
+ <div
+ className={`public-personCard-card public-personCard-card-${(x.perType === '15_020008-1' || x.perType === '24_00006-1') ? 'blue' : 'orange'}`}
+ onClick={() => handleCheckParty(x)}
+ >
+ {x.trueName.substr(0, 1)}
+ <div className="public-personCard-card-check">查看</div>
+ {isCheck && <img
+ src={del}
+ alt=''
+ style={{ width: '16px', height: '16px', position: 'absolute', top: '-8px', left: '56px' }}
+ onClick={(event) => { handleDeleteParty(event, x) }}
+ />}
</div>
- {
- (x.perClass === '09_01001-1' || !x.perClass) &&
- <>
- <div>证件号码:{x.certiNo}</div>
- <div>联系方式:{x.mobile}</div>
- </>
- }
- {
- x.perClass === '09_01001-2' &&
- <>
- <div>统一社会信用代码:{x.orgaCode}</div>
- <div>法定代表人:{x.deputy}</div>
- </>
- }
- {
- x.perClass === '09_01001-3' &&
- <>
- <div>组织机构代码:{x.orgaCode}</div>
- <div>机构代表人:{x.deputy}</div>
- </>
- }
- <Space style={{ display: 'flex', flexWrap: 'wrap' }}>
- {x.remark?.map((item, index) => (
- <div key={index} style={{ lineHeight: '22px', padding: '0px 8px', backgroundColor: `${item.color}`, width: 'fit-content', borderRadius: '4px', marginTop: '4px', color: '#fff' }}>{item.label}</div>
- ))}
- </Space>
+ <div className="public-personCard-content">
+ <div className="public-personCard-title">
+ <Text style={{ maxWidth: '80%', paddingRight: '8px' }} ellipsis={{ tooltip: x.trueName }}>
+ {x.trueName}
+ </Text>
+ <Text onClick={() => { handleEdit(x) }} ellipsis={{ tooltip: x.perTypeName }} className={`public-personCard-tag public-personCard-tag-${(x.perType === '15_020008-1' || x.perType === '24_00006-1') ? 'blue' : 'orange'}`}>
+ {x.perTypeName}
+ </Text>
+ </div>
+ {
+ (x.perClass === '09_01001-1' || !x.perClass) &&
+ <>
+ <div>证件号码:{x.certiNo}</div>
+ <div>联系方式:{x.mobile}</div>
+ </>
+ }
+ {
+ x.perClass === '09_01001-2' &&
+ <>
+ <div>统一社会信用代码:{x.orgaCode}</div>
+ <div>法定代表人:{x.deputy}</div>
+ </>
+ }
+ {
+ x.perClass === '09_01001-3' &&
+ <>
+ <div>组织机构代码:{x.orgaCode}</div>
+ <div>机构代表人:{x.deputy}</div>
+ </>
+ }
+ <Space style={{ display: 'flex', flexWrap: 'wrap' }}>
+ {x.remark?.map((item, index) => (
+ <div key={index} style={{ lineHeight: '22px', padding: '0px 8px', backgroundColor: `${item.color}`, width: 'fit-content', borderRadius: '4px', marginTop: '4px', color: '#fff' }}>{item.label}</div>
+ ))}
+ </Space>
+ </div>
</div>
- </div>
- </Col>
- ))}
- <Col span={3}>
- <div className="dataSync-addBtn">
- <Tooltip
- title={(<Space direction='vertical '>
- <div className="dataSync-btnApply" style={{ backgroundColor: '#1A6FB8' }} onClick={() => { handleAdd('15_020008-1') }}>申请方当事人</div>
- {isAgent && <div className="dataSync-btnApply" style={{ backgroundColor: '#3491FA' }} onClick={() => { handleAdd('24_00006-1') }}>申请方代理人</div>}
- <div className="dataSync-btnApply" style={{ backgroundColor: '#EF6C24' }} onClick={() => { handleAdd('15_020008-2') }}>被申请方当事人</div>
- {isAgentFor && <div className="dataSync-btnApply" style={{ backgroundColor: '#FA8C16' }} onClick={() => { handleAdd('24_00006-2') }}>被申请方代理人</div>}
- </Space>)}
- placement={data.length !== 0 && data.length % 3 === 0 ? 'left' : "right"}
- color='#ffff'
- overlayStyle={{}}
- >
- <div style={{ backgroundColor: '#f2f3f5', borderRadius: '50%', width: '64px', height: '64px' }}>
- <img src={add} alt="添加" style={{ width: '32px', margin: '16px' }} />
+ </Col>
+ ))}
+ {isCheck &&
+ <Col span={3}>
+ <div className="dataSync-addBtn">
+ <Tooltip
+ title={(<Space direction='vertical '>
+ <div className="dataSync-btnApply" style={{ backgroundColor: '#1A6FB8' }} onClick={() => { handleAdd('15_020008-1') }}>申请方当事人</div>
+ {isAgent && <div className="dataSync-btnApply" style={{ backgroundColor: '#3491FA' }} onClick={() => { handleAdd('24_00006-1') }}>申请方代理人</div>}
+ <div className="dataSync-btnApply" style={{ backgroundColor: '#EF6C24' }} onClick={() => { handleAdd('15_020008-2') }}>被申请方当事人</div>
+ {isAgentFor && <div className="dataSync-btnApply" style={{ backgroundColor: '#FA8C16' }} onClick={() => { handleAdd('24_00006-2') }}>被申请方代理人</div>}
+ </Space>)}
+ placement={data.length !== 0 && data.length % 3 === 0 ? 'left' : "right"}
+ color='#ffff'
+ overlayStyle={{}}
+ >
+ <div style={{ backgroundColor: '#f2f3f5', borderRadius: '50%', width: '64px', height: '64px' }}>
+ <img src={add} alt="添加" style={{ width: '32px', margin: '16px' }} />
+ </div>
+ </Tooltip>
</div>
- </Tooltip>
- </div>
- </Col>
- </Row>
+ </Col>
+ }
+ </Row>
+ <Modal
+ title={'查看' + peopleMap[dialogType]}
+ visible={detailVisabled}
+ onOk={() => setDetailVisabled(false)}
+ onCancel={() => {
+ setDetailVisabled(false)
+ setEditData(null)
+ }}
+ autoFocus={false}
+ focusLock={true}
+ footer={null}
+ unmountOnExit={true}
+ maskClosable={false}
+ >
+ <DetailDialog editData={editData} />
+ </Modal>
+ </Fragment>
);
};
diff --git a/gz-customerSystem/src/utils/caseTypeSelect.js b/gz-customerSystem/src/utils/caseTypeSelect.js
new file mode 100644
index 0000000..7858103
--- /dev/null
+++ b/gz-customerSystem/src/utils/caseTypeSelect.js
@@ -0,0 +1,47 @@
+/*
+ * @Company: hugeInfo
+ * @Author: ldh
+ * @Date: 2022-03-07 15:26:41
+ * @LastEditTime: 2023-06-15 16:59:50
+ * @LastEditors: lihl
+ * @Version: 1.0.0
+ * @Description: 纠纷类型下拉框
+ */
+
+let caseTypeSelect = [
+ {
+ 'label': '家庭邻里',
+ 'value': '24_000010-1',
+ 'parentId': 'root',
+ 'children': [
+ {
+ 'label': '邻里纠纷',
+ 'value': '24_000011-1',
+ 'parentId': '24_000010-1',
+ },
+ {
+ 'label': '婚姻家庭纠纷',
+ 'value': '24_000011-2',
+ 'parentId': '24_000010-1',
+ }
+ ]
+ },
+ {
+ 'label': '劳动社保',
+ 'value': '24_000010-2',
+ 'parentId': 'root',
+ 'children': [
+ {
+ 'label': '拖欠、克扣工资',
+ 'value': '24_000011-3',
+ 'parentId': '24_000010-2',
+ },
+ {
+ 'label': '门诊及住院待遇',
+ 'value': '24_000011-4',
+ 'parentId': '24_000010-2',
+ }
+ ]
+ },
+
+]
diff --git a/gz-customerSystem/src/utils/selectOption.js b/gz-customerSystem/src/utils/selectOption.js
index dc90dc7..5fb7fd1 100644
--- a/gz-customerSystem/src/utils/selectOption.js
+++ b/gz-customerSystem/src/utils/selectOption.js
@@ -516,6 +516,20 @@
label: '不同意'
},
];
+// 企业类型
+const enterpriseType = [
+ {
+ value: '24_00008-1',
+ label: '餐饮服务',
+ },
+];
+// 机构类型
+const orgaType = [
+ {
+ value: '24_00009-1',
+ label: '志愿者服务',
+ },
+];
//事项等级
const caseLevelList = [
{
@@ -782,6 +796,17 @@
{
value: '22_00036-10',
label: '其他部门委托移送',
+ },
+];
+// 委托关系
+const agentRelate = [
+ {
+ value: '24_00007-1',
+ label: '亲属',
+ },
+ {
+ value: '24_00007-2',
+ label: '监护人',
},
];
@@ -1091,6 +1116,9 @@
meetWay,
dispType,
auditResult,
+ agentRelate,
+ enterpriseType,
+ orgaType,
caseLevelList,
// VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV 暂时用不到,防止以后会用的,先保留 VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
diff --git a/gz-customerSystem/src/views/register/index.less b/gz-customerSystem/src/views/register/index.less
index 3dfa84b..c61cf04 100644
--- a/gz-customerSystem/src/views/register/index.less
+++ b/gz-customerSystem/src/views/register/index.less
@@ -131,14 +131,14 @@
margin-bottom: 8px;
padding-left: 8px;
}
+}
- .dialogTag {
- line-height: 22px;
- padding: 0 8px;
- border-radius: 4px;
- margin-top: 4px;
- color: #fff;
- }
+.dialogTag {
+ line-height: 22px;
+ padding: 0 8px;
+ border-radius: 4px;
+ margin-top: 4px;
+ color: #fff;
}
.visitTableClass {
diff --git a/gz-customerSystem/src/views/register/visit/component/MattersInfo.jsx b/gz-customerSystem/src/views/register/visit/component/MattersInfo.jsx
index 552af2f..8cbeda5 100644
--- a/gz-customerSystem/src/views/register/visit/component/MattersInfo.jsx
+++ b/gz-customerSystem/src/views/register/visit/component/MattersInfo.jsx
@@ -180,12 +180,8 @@
</Col>
<div style={{ margin: '16px 0' }}>
<PersonCard
- isCheck={true}
- partyType={'applicant'} // 这里设定为申请人
+ isCheck={false}
data={fakeData}
- handleCheckParty={handleCheckParty}
- handleAdd={handleAdd}
- handleDeleteParty={handleDeleteParty}
/>
</div>
<Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '4px' }}>
@@ -303,7 +299,7 @@
</Typography.Paragraph>
}
{
- props.active === '3' && <Typography.Paragraph style={style}>
+ (props.active === '3' && props.current === 3) && <Typography.Paragraph style={style}>
<Handle />
</Typography.Paragraph>
}
diff --git a/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx b/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx
index 1a2c4f0..f9f8031 100644
--- a/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx
+++ b/gz-customerSystem/src/views/register/visit/component/agentDialog.jsx
@@ -1,7 +1,7 @@
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 "@/components/personCard/KeyVisits";
import {
IconLink,
} from '@arco-design/web-react/icon';
@@ -275,6 +275,12 @@
label: <span>{x.trueName} <span style={{ color: '#86909c' }}>({x.perTypeName})</span></span>,
value: x.id,
}))}
+ onChange={(value) => {
+ if (value) {
+ const personList = visitList.filter(item => value.indexOf(item.id) != -1).map(item => item.trueName)
+ formRef.current.setFieldValue('personNameList', personList)
+ }
+ }}
>
</CheckboxGroup>
</FormItem>
diff --git a/gz-customerSystem/src/views/register/visit/component/applyDialog.jsx b/gz-customerSystem/src/views/register/visit/component/applyDialog.jsx
index f2cb86c..2fb2b3e 100644
--- a/gz-customerSystem/src/views/register/visit/component/applyDialog.jsx
+++ b/gz-customerSystem/src/views/register/visit/component/applyDialog.jsx
@@ -13,7 +13,7 @@
caseperfection_organize_active,
} from '@/assets/images/icon';
import { Form, Input, Button, Radio, Select, Modal, Cascader, Upload, Message } from '@arco-design/web-react';
-import KeyVisits from "./keyVisits";
+import KeyVisits from "@/components/personCard/KeyVisits";
import SelectUnitDialog from "./selectUnitDialog";
import {
IconLink,
diff --git a/gz-customerSystem/src/views/register/visit/component/detailDialog.jsx b/gz-customerSystem/src/views/register/visit/component/detailDialog.jsx
deleted file mode 100644
index cd9a8b9..0000000
--- a/gz-customerSystem/src/views/register/visit/component/detailDialog.jsx
+++ /dev/null
@@ -1,328 +0,0 @@
-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 style={{maxHeight: '590px', overflowY: 'scroll'}}>
- <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 57329ba..1e1a0c1 100644
--- a/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
+++ b/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
@@ -15,7 +15,6 @@
import '../../index.less';
import ApplyDialog from "./applyDialog";
import AgentDialog from "./agentDialog";
-import DetailDialog from "./detailDialog";
import NewFileCheck from '../../../filesCheck/newFileCheck';
import { IconLink } from '@arco-design/web-react/icon';
import MapView from './map'
@@ -32,7 +31,7 @@
const VisitorRegister = (props) => {
- const [dialogType, setDialogType] = useState(0);//添加当事人的类型
+ const [dialogType, setDialogType] = useState();//添加当事人的类型
const [addVisabled, setAddVisabled] = useState(false);//添加当事人弹窗控制
const [fakeData, setFakeData] = useState([]);//当事人信息数据
const [scanFile, setScanFile] = useState(false);
@@ -43,7 +42,6 @@
const [filesCheck, setFilesCheck] = useState(false);
const [fileView, setFileView] = useState();
const [fileTip, setFileTip] = useState('0');
- const [detailVisabled, setDetailVisabled] = useState(false);//查看信息弹窗控制
const [mapView, setMapView] = useState(false);
const [visible, setVisible] = useState(false);
const [apply, setApply] = useState(false);
@@ -299,12 +297,6 @@
}
}
- //查看
- const handleCheckParty = (value) => {
- setDialogType(value.perType)
- setDetailVisabled(true)
- }
-
//获取当前时间
const getFormattedDateTime = () => {
let now = new Date();
@@ -367,8 +359,7 @@
return (
- <div className='dataSync-page'>
-
+ <div className='dataSync-page' style={{ ...props.style }}>
<Col span={24} style={{ display: 'flex', alignItems: 'center' }}>
<Space size='small'>
<div className='MediationInfo-subTitle' style={{ marginTop: '-9px', }}></div><h4>当事人信息</h4>
@@ -378,7 +369,6 @@
<PersonCard
isCheck={true}
data={fakeData}
- handleCheckParty={handleCheckParty}
handleAdd={handleAdd}
handleDeleteParty={handleDeleteParty}
handleEdit={handleEdit}
@@ -760,19 +750,6 @@
dialogType={dialogType}
editData={editData}
/>
- </Modal>
- <Modal
- title={'查看' + peopleMap[dialogType]}
- visible={detailVisabled}
- onOk={() => setDetailVisabled(false)}
- onCancel={() => setDetailVisabled(false)}
- autoFocus={false}
- focusLock={true}
- footer={null}
- unmountOnExit={true}
- maskClosable={false}
- >
- <DetailDialog />
</Modal>
<Modal
style={{ width: '1200px' }}
diff --git a/gz-customerSystem/src/views/register/visit/index.jsx b/gz-customerSystem/src/views/register/visit/index.jsx
index 371c7df..8a3be63 100644
--- a/gz-customerSystem/src/views/register/visit/index.jsx
+++ b/gz-customerSystem/src/views/register/visit/index.jsx
@@ -39,7 +39,7 @@
const formRef = useRef();
const [isReview, setIsReview] = useState(false);//预览页面控制
- const [current, setCurrent] = useState(1);
+ const [current, setCurrent] = useState(2);
const [tabsActive, setTabsActive] = useState('1');
const [tabsList, setTabList] = useState([
{
@@ -56,6 +56,7 @@
])
const breadcrumbDataMap = {
1: { breadcrumbData: [{ title: '工作台' }, { title: '来访登记' }], title: '来访登记' },
+ 2: { breadcrumbData: [{ title: '工作台' }, { title: '事件中心' }], title: '办理反馈' },
3: { breadcrumbData: [{ title: '工作台' }, { title: '事件中心' }], title: '办理反馈' }
}
@@ -95,7 +96,14 @@
return {
...newObj,
personList: fakeData?.filter(item => item.perType === "15_020008-1" || item.perType === "15_020008-2"),
- agentList: fakeData?.filter(item => item.perType === "24_00006-1" || item.perType === "24_00006-2"),
+ agentList: fakeData?.filter(item => item.perType === "24_00006-1" || item.perType === "24_00006-2").map(item => {
+ //personNameList用于查看详情显示代理人名字,不需要上传,去除
+ const { personNameList, ...rest } = item
+ return {
+ ...rest,
+ personId: item.personId.join(',')
+ }
+ }),
}
} else {
const res = await getId()
@@ -103,7 +111,14 @@
return {
...newObj,
personList: fakeData?.filter(item => item.perType === "15_020008-1" || item.perType === "15_020008-2"),
- agentList: fakeData?.filter(item => item.perType === "24_00006-1" || item.perType === "24_00006-2"),
+ agentList: fakeData?.filter(item => item.perType === "24_00006-1" || item.perType === "24_00006-2").map(item => {
+ //personNameList用于查看详情显示代理人名字,不需要上传,去除
+ const { personNameList, ...rest } = item
+ return {
+ ...rest,
+ personId: item.personId.join(',')
+ }
+ }),
id: res.data
}
}
@@ -164,7 +179,8 @@
<Step title='结案归档' disabled />
</Steps>
</div>
- {isReview ? <Preview /> : <VisitorRegister formRef={formRef} />}
+ <Preview style={{ display: isReview ? '' : 'none' }} />
+ <VisitorRegister formRef={formRef} style={{ display: isReview ? 'none' : '' }} />
<div className="dataSync-excel">
<Space size="large" style={{ margin: '4px 14px' }}>
<Button type="primary" style={{ backgroundColor: '#1A6FB8' }} onClick={handleSave} >保存</Button>
@@ -177,7 +193,7 @@
</Fragment>
}
{
- current === 3 &&
+ (current === 2 || current === 3) &&
<Tabs defaultActiveTab='1' onChange={(v) => setTabsActive(v)}>
{tabsList?.map(item => {
return <TabPane
@@ -201,7 +217,7 @@
</Steps>
</div>
}
- <MattersInfo active={tabsActive} />
+ <MattersInfo active={tabsActive} current={current}/>
</TabPane>
})}
</Tabs>
diff --git a/gz-customerSystem/src/views/register/visit/preview.jsx b/gz-customerSystem/src/views/register/visit/preview.jsx
index 221e93f..6b201ec 100644
--- a/gz-customerSystem/src/views/register/visit/preview.jsx
+++ b/gz-customerSystem/src/views/register/visit/preview.jsx
@@ -17,7 +17,7 @@
import { EventLevelDrawer, MattersDetail } from './component/levelDetail'
-const Preview = () => {
+const Preview = (props) => {
const [filesCheck, setFilesCheck] = useState(false);
const [apply, setApply] = useState(false);
const [visible, setVisible] = useState(false);
@@ -128,7 +128,7 @@
return (
- <div style={{ backgroundColor: '#ffff', margin: '8px 16px 0px 16px', padding: '12px 18px 16px 16px', height: 'calc(100vh - 211px)', overflowY: 'scroll' }}>
+ <div style={{ backgroundColor: '#ffff', margin: '8px 8px 0px 16px', padding: '12px 18px 16px 16px', height: 'calc(100vh - 228px)', overflowY: 'scroll', ...props.style }}>
<Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '8px' }}>
<Space size='small'>
<div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>当事人信息</h4>
--
Gitblit v1.8.0