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/components/personCard/index.jsx | 191 ++++++++++++++++++++++++++++------------------- 1 files changed, 114 insertions(+), 77 deletions(-) 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> ); }; -- Gitblit v1.8.0