/*
|
* @Author: dminyi 1301963064@qq.com
|
* @Date: 2024-08-10 15:03:57
|
* @LastEditors: dminyi 1301963064@qq.com
|
* @LastEditTime: 2024-08-12 14:45:28
|
* @FilePath: \gzDyh\gz-customerSystem\src\components\personCard\index.jsx
|
* @Description: 来访登记当事人卡片
|
*/
|
import React from 'react';
|
import PropTypes from 'prop-types';
|
import { Typography, Row, Col, Space, Tooltip } from 'antd';
|
import { del, add } from '../../assets/images';
|
|
const { Link, Text } = Typography;
|
/**
|
* isCheck, // 是否无操作
|
* data, // 当事人数据
|
* handleCheckParty, // 点击查看详情
|
* handleDeleteParty, // 删除当事人
|
*/
|
const PersonCard = ({ isCheck, data, handleCheckParty, handleDeleteParty }) => {
|
|
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.partyType === 'applicant' ? 'blue' : 'orange'}`}
|
onClick={() => handleCheckParty({ type: x.partyType, editType: 'check', values: 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' }} />
|
</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 ellipsis={{ tooltip: x.perClassName }} className={`public-personCard-tag public-personCard-tag-${x.partyType === 'applicant' ? 'blue' : 'orange'}`}>
|
{x.perClassName}
|
</Text>
|
</div>
|
{
|
x.person &&
|
<>
|
<div>证件号码:{x.mobile}</div>
|
<div>联系方式:{x.personNumber}</div>
|
</>
|
}
|
{x.company &&
|
<>
|
<div>统一社会信用代码:{x.mobile}</div>
|
<div>法定代表人:{x.companyName}</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' }}>{item.label}</div>
|
))}
|
</Space>
|
</div>
|
</div>
|
</Col>
|
))}
|
<Col span={3}>
|
<div className="dataSync-addBtn">
|
<Tooltip
|
title={(<Space direction='vertical '>
|
<div className="dataSync-btnApply" style={{ backgroundColor: '#1A6FB8' }}>申请方</div>
|
<div className="dataSync-btnApply" style={{ backgroundColor: '#FA8C16' }}>被申请方</div>
|
<div className="dataSync-btnApply" style={{ backgroundColor: '#3491FA' }}>代理人</div>
|
</Space>)}
|
placement={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>
|
</Col>
|
</Row>
|
);
|
};
|
|
PersonCard.propTypes = {
|
isCheck: PropTypes.bool,
|
data: PropTypes.array,
|
handleCheckParty: PropTypes.func,
|
handleDeleteParty: PropTypes.func,
|
};
|
|
export default PersonCard;
|