广州市综治平台前端
xusd
2025-06-07 ee685c9f350ec9241107d4e8a05799768a0bce9a
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
/*
 * @Company: hugeInfo
 * @Author: lwh
 * @Date: 2024-11-11 14:56:49
 * @LastEditTime: 2024-12-20 14:58:32
 * @LastEditors: lwh
 * @Version: 1.0.0
 * @Description: 统计列表组件
 */
import React, { useEffect, useState } from 'react';
import PropTypes from 'prop-types';
import { Input, Row, Col, Tooltip } from 'antd';
import { useSearchParams } from 'react-router-dom';
import './index.less';
import * as $$ from '../../utils/utility';
import { empty } from '../../assets/images';
 
// dataSource 列表数据
// columns表头内容
 
const TableView = ({ title, search, labels, dataSource, parentData }) => {
 
  const columns = [
    { label: <div className='systemOverview-table-oneHead'>序号</div>, color: 'blue', width: '5.55%' },
    { label: <div className='systemOverview-table-oneHead'>{search.queRoad ? '社区' : search.queArea ? '镇街' : '区域'}</div>, color: 'blue', width: '8.11%' },
    {
      label:
        <div className='systemOverview-table-twoHead'>
          <div className='systemOverview-table-subHead-top'>账号情况</div>
          <div className='systemOverview-table-subHead'>
            <div className='systemOverview-table-subHead-title'>登录账号(综治中心)</div>
            <div className='systemOverview-table-subHead-title'>登录账号(部门)</div>
            <div className='systemOverview-table-subHead-title'>新增账号</div>
          </div>
        </div>,
      color: 'blue',
      width: '19.66%'
    },
    {
      label: <div className='systemOverview-table-twoHead'>
        <div className='systemOverview-table-subHead-top'>纠纷登记情况</div>
        <div className='systemOverview-table-subHead'>
          <div className='systemOverview-table-subHead-title'>总登记</div>
          <div className='systemOverview-table-subHead-title'>大厅来访</div>
          <div className='systemOverview-table-subHead-title'>自行排查</div>
          <div className='systemOverview-table-subHead-title'>案件导入</div>
          <div className='systemOverview-table-subHead-title'>线上来访</div>
        </div>
      </div>,
      color: 'orange',
      width: '27.77%'
    },
    {
      label: <div className='systemOverview-table-twoHead' >
        <div className='systemOverview-table-subHead-top'>化解结果</div>
        <div className='systemOverview-table-subHead'>
          <div className='systemOverview-table-subHead-title'>化解成功</div>
          <div className='systemOverview-table-subHead-title'>化解不成功</div>
          <div className='systemOverview-table-subHead-title'>化解中</div>
          <div className='systemOverview-table-subHead-title'>不予受理</div>
        </div>
      </div>,
      color: 'blue1',
      width: '23.22%'
    },
    {
      label: <div className='systemOverview-table-twoHead' >
        <div className='systemOverview-table-subHead-top'>流转情况</div>
        <div className='systemOverview-table-subHead'>
          <div className='systemOverview-table-subHead-title'>自行受理</div>
          <div className='systemOverview-table-subHead-title'>流转受理</div>
          <div className='systemOverview-table-subHead-title'>流转中</div>
          <div className='systemOverview-table-subHead-title'>不予受理</div>
        </div>
      </div>,
      color: 'blue2',
      width: '21.22%'
    },
  ]
  return (
    <div className="systemOverview-table dataSync" >
      <div className="tableView-header-title">{title}</div>
      {
        dataSource?.length > 0 &&
        <div className='systemOverview-subTitle'>{search.startDate === search.endDate ? `${$$.myTimeFormat(search.startDate, 'YYYY年MM月DD日')}` : `${$$.myTimeFormat(search.startDate, 'YYYY年MM月DD日')}-${$$.myTimeFormat(search.endDate, 'YYYY年MM月DD日')}`},系统在<span className='public-color'>{labels[labels.length - 1]}</span>共<span className='public-color'>{(parentData?.accLoginBmNum || 0) + (parentData?.accLoginZzNum || 0)}名</span>用户登录使用系统,登记矛盾纠纷总数<span className='public-color'>{parentData?.caseAllNum || 0}宗</span>,化解情况总数<span className='public-color'>{parentData?.flowAllNum || 0}宗</span></div>
      }
      {
        dataSource?.length > 0 ?
          <>
            <div className='systemOverview-table-head'>
              {
                columns?.map((item, index) =>
                  <div key={index} style={{ width: item.width || 'auto' }} className={`systemOverview-table-head-item systemOverview-table-${item.color}`} >{item.label}</div>
                )
              }
            </div>
            <div className='systemOverview-table-i'>
              {
                dataSource?.map((item, index) =>
                  <div className='systemOverview-table-body' style={{ backgroundColor: index % 2 === 0 ? '#efeef2' : '#fff' }} key={'body' + index}>
                    <div style={{ color: '#000', width: '5.55%' }} className={`systemOverview-table-head-item`} >
                      <div className='systemOverview-table-oneHead'>{item.sort}</div>
                    </div>
                    <div style={{ color: '#000', width: '8.11%' }} className={`systemOverview-table-head-item`} >
                      <div className='systemOverview-table-oneHead'><Tooltip title={item.areaName}>{$$.ellipsis(item.areaName || '-', '8')}</Tooltip></div>
                    </div>
                    <div style={{ color: '#000', width: '19.66%' }} className={`systemOverview-table-head-item`} >
                      <div className='systemOverview-table-subHead'>
                        <div className='systemOverview-table-subHead-title'>{item.accLoginZzNum || 0}</div>
                        <div className='systemOverview-table-subHead-title'>{item.accLoginBmNum || 0}</div>
                        <div className='systemOverview-table-subHead-title'>{item.accAddNum || 0}</div>
                      </div>
                    </div>
                    <div style={{ color: '#000', width: '27.77%', backgroundColor: index % 2 === 0 ? '#FFF7E6' : '#fff' }} className={`systemOverview-table-head-item`} >
                      <div className='systemOverview-table-subHead'>
                        <div className='systemOverview-table-subHead-title'>{item.caseAllNum || 0}</div>
                        <div className='systemOverview-table-subHead-title'>{item.caseDtNum || 0}</div>
                        <div className='systemOverview-table-subHead-title'>{item.caseZxpcNum || 0}</div>
                        <div className='systemOverview-table-subHead-title'>{item.caseAjdrNum || 0}</div>
                        <div className='systemOverview-table-subHead-title'>{item.caseXsNum || 0}</div>
                      </div>
                    </div>
                    <div style={{ color: '#000', width: '23.22%', backgroundColor: index % 2 === 0 ? '#E8F7FF' : '#fff' }} className={`systemOverview-table-head-item`} >
                      <div className='systemOverview-table-subHead'>
                        <div className='systemOverview-table-subHead-title'>{item.sourceHjcgNum || 0}</div>
                        <div className='systemOverview-table-subHead-title'>{item.sourceHjbcgNum || 0}</div>
                        <div className='systemOverview-table-subHead-title'>{item.sourceHjzNum || 0}</div>
                        <div className='systemOverview-table-subHead-title'>{item.sourceByslNum || 0}</div>
                      </div>
                    </div>
                    <div style={{ color: '#000', width: '21.22%', backgroundColor: index % 2 === 0 ? '#E8F7FF' : '#fff' }} className={`systemOverview-table-head-item`} >
                      <div className='systemOverview-table-subHead'>
                        <div className='systemOverview-table-subHead-title'>{item.flowZxslNum || 0}</div>
                        <div className='systemOverview-table-subHead-title'>{item.flowLzslNum || 0}</div>
                        <div className='systemOverview-table-subHead-title'>{item.flowLzzNum || 0}</div>
                        <div className='systemOverview-table-subHead-title'>{item.flowByslNum || 0}</div>
                      </div>
                    </div>
                  </div>
                )
              }
            </div>
            {
              dataSource?.length > 0 &&
              <div className="systemOverview-table-bottom">
                <div className='systemOverview-table-body' >
                  <div style={{ color: '#000', width: '5.55%' }} className={`systemOverview-table-head-item`} >
                    <div className='systemOverview-table-oneHead'></div>
                  </div>
                  <div style={{ color: '#000', width: '8.11%' }} className={`systemOverview-table-head-item`} >
                    <div className='systemOverview-table-oneHead'>合计</div>
                  </div>
                  <div style={{ color: '#000', width: '19.66%' }} className={`systemOverview-table-head-item`} >
                    <div className='systemOverview-table-subHead'>
                      <div className='systemOverview-table-subHead-title'>{parentData?.accLoginZzNum || 0}</div>
                      <div className='systemOverview-table-subHead-title'>{parentData?.accLoginBmNum || 0}</div>
                      <div className='systemOverview-table-subHead-title'>{parentData?.accAddNum || 0}</div>
                    </div>
                  </div>
                  <div style={{ color: '#000', width: '27.77%' }} className={`systemOverview-table-head-item`} >
                    <div className='systemOverview-table-subHead'>
                      <div style={{ color: "#EF6C24", fontWeight: 600 }} className='systemOverview-table-subHead-title'>{parentData?.caseAllNum || 0}</div>
                      <div className='systemOverview-table-subHead-title'>{parentData.caseDtNum || 0}</div>
                      <div className='systemOverview-table-subHead-title'>{parentData.caseZxpcNum || 0}</div>
                      <div className='systemOverview-table-subHead-title'>{parentData.caseAjdrNum || 0}</div>
                      <div className='systemOverview-table-subHead-title'>{parentData.caseXsNum || 0}</div>
                    </div>
                  </div>
                  <div style={{ color: '#000', width: '23.22%' }} className={`systemOverview-table-head-item`} >
                    <div className='systemOverview-table-subHead'>
                      <div style={{ color: "#3491FA", fontWeight: 600 }}  className='systemOverview-table-subHead-title'>{parentData.sourceHjcgNum || 0}</div>
                      <div className='systemOverview-table-subHead-title'>{parentData.sourceHjbcgNum || 0}</div>
                      <div className='systemOverview-table-subHead-title'>{parentData.sourceHjzNum || 0}</div>
                      <div className='systemOverview-table-subHead-title'>{parentData.sourceByslNum || 0}</div>
                    </div>
                  </div>
                  <div style={{ color: '#000', width: '21.22%' }} className={`systemOverview-table-head-item`} >
                    <div className='systemOverview-table-subHead'>
                      <div className='systemOverview-table-subHead-title'>{parentData.flowZxslNum || 0}</div>
                      <div className='systemOverview-table-subHead-title'>{parentData.flowLzslNum || 0}</div>
                      <div className='systemOverview-table-subHead-title'>{parentData.flowLzzNum || 0}</div>
                      <div className='systemOverview-table-subHead-title'>{parentData.flowByslNum || 0}</div>
                    </div>
                  </div>
                </div>
              </div>
            }
          </>
          :
          ($$.MyNewEmpty({ description: '暂无数据', style: { margin: '50px auto' } }))
      }
    </div >
  );
};
 
TableView.propTypes = {
  dataSource: PropTypes.array,
  columns: PropTypes.array,
};
 
export default TableView;