forked from gzzfw/frontEnd/gzDyh

dminyi
2024-09-11 8d6b46929dc3cb6d012c889f22cb8976fa6bd04d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
/*
 * @Company: hugeInfo
 * @Author: ldh
 * @Date: 2022-03-14 15:37:13
 * @LastEditTime: 2022-11-21 17:45:17
 * @LastEditors: ldh
 * @Version: 1.0.0
 * @Description: 当事人信息查看table
 */
import React from 'react';
import PropTypes from 'prop-types';
import { Popconfirm, Space, Typography, Row, Col } from 'antd';
import TableView from '../TableView';
 
const { Link, Text } = Typography;
/**
 * isCheck, // 是否无操作
 * partyType, // applicant:申请人, respondent:被申请人
 * data, // 当事人数据
 * handleCheckParty, // 点击查看详情
 * handleDeleteParty, // 删除当事人
 */
const PartyMsgTable = ({ isCheck, partyType, data, handleCheckParty, handleDeleteParty }) => {
    // 当事人columns
    const personsColumns = [
        {
            title: '序号',
            dataIndex: 'num',
            width: 50,
            render: (_, __, index) => <span>{index + 1}</span>,
        },
        {
            title: '类型',
            dataIndex: 'perClassName',
        },
        {
            title: '姓名/企业名称/机构名称',
            dataIndex: 'trueName',
        },
        {
            title: '联系电话',
            dataIndex: 'mobile',
        },
        {
            title: '代理人信息',
            dataIndex: 'agentStatus',
            width: 90,
            render: (text) => (text === '2' ? '有' : '无'),
        },
        {
            title: '操作',
            dataIndex: 'action',
            width: 150,
            render: (_, record, index) => {
                return (
                    <Space size="middle">
                        <Link onClick={() => handleCheckParty({ type: partyType, editType: 'check', values: record })}>查看</Link>
                        {!isCheck && <Link onClick={() => handleCheckParty({ type: partyType, editType: 'change', values: record, index })}>修改</Link>}
                        {!isCheck && (
                            <Popconfirm title="确认删除该当事人吗?" onConfirm={() => handleDeleteParty(partyType, index)}>
                                <Link>删除</Link>
                            </Popconfirm>
                        )}
                    </Space>
                );
            },
        },
    ];
 
    return !isCheck ? (
        <TableView columns={personsColumns} dataSource={data} scroll={{ y: 300 }} pagination={false} />
    ) : (
        <Row gutter={[24, 16]}>
            {data.map((x, t) => (
                <Col span={8} key={t}>
                    <div className="public-nameCard" style={{ cursor: 'pointer' }}>
                        <div
                            className={`public-nameCard-card public-nameCard-card-${partyType === 'applicant' ? 'blue' : 'orange'}`}
                            onClick={() => handleCheckParty({ type: partyType, editType: 'check', values: x })}
                        >
                            {x.trueName.substr(0, 1)}
                            <div className="public-nameCard-card-check">查看</div>
                        </div>
                        <div className="public-nameCard-content">
                            <div className="public-nameCard-title">
                                <Text style={{ maxWidth: '80%', paddingRight: '8px' }} ellipsis={{ tooltip: x.trueName }}>
                                    {x.trueName}
                                </Text>
                                <div className={`public-nameCard-tag public-nameCard-tag-${partyType === 'applicant' ? 'blue' : 'orange'}`}>
                                    {x.perClassName}
                                </div>
                            </div>
                            <div>联系电话:{x.mobile}</div>
                            <div>代理人信息:{x.agentStatus === '2' ? '有' : '无'}</div>
                        </div>
                    </div>
                </Col>
            ))}
        </Row>
    );
};
 
PartyMsgTable.propTypes = {
    isCheck: PropTypes.bool,
    partyType: PropTypes.string,
    data: PropTypes.array,
    handleCheckParty: PropTypes.func,
    handleDeleteParty: PropTypes.func,
};
 
export default PartyMsgTable;