forked from gzzfw/frontEnd/gzDyh

dminyi
2024-09-12 b444da33c9de750aec3724e8f1cb4efe8775b165
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
/*
 * @Author: dminyi 1301963064@qq.com
 * @Date: 2024-09-06 09:40:00
 * @LastEditors: dminyi 1301963064@qq.com
 * @LastEditTime: 2024-09-12 20:48:45
 * @FilePath: \gzDyh\gz-customerSystem\src\views\register\matterDetail\HandleRecord.jsx
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
import React, { useState, useEffect } from 'react';
import { Empty } from '@arco-design/web-react';
import { fold, down, empty, edit } from '@/assets/images';
import { Image } from 'antd';
// import {link} from '@/assets/image';
import * as $$ from '@/utils/utility';
 
 
export default function HandleRecord(props) {
  const appUrl = $$.appUrl;
  const [list, setList] = useState([]);
  const [imgVisible, setImgVisible] = useState({ visible: false, src: '' });
 
 
  useEffect(() => {
    setList(props.data)
  }, [props.data])
 
  const toggleView = (id) => {
    setList(list.map(record => {
      if (record.id === id) {
        return {
          ...record,
          showView: !record.showView,
        };
      }
      return record;
    }));
  };
 
  const handleEdit = (id) => {
    props.handleEdit(id)
  }
 
  function handleOpenFiles(record) {
    if (record.cat === '22_00017-3') {
      setImgVisible({ visible: true, src: `${appUrl.fileUrl}/${appUrl.sys}${record.showUrl}` });
    } else if (record.cat === '22_00017-6' || record.cat === '22_00017-1' || record.cat === '22_00017-2') {
      window.open(`${appUrl.fileUrl}${appUrl.fileShowUrl}${record.id}`);
    } else {
      $$.info({ type: 'warning', content: '抱歉,暂不支持在线查看,已下载请查看' });
      window.open(`${appUrl.fileUrl}${appUrl.fileDownUrl}${record.id}`);
    }
  }
 
 
  return (
    <div>
      {list?.length > 0 ?
        <div>
          {list?.map((record, index) => (
            <div key={record.id} className='container-bottom-left-record'>
              <div className='container-bottom-left-record-top' style={{ borderBottom: record.showView ? '1px solid #d9d9d9' : null }}>
                {
                  record.showView ? (
                    <img src={down} alt='' style={{ width: '18px', marginRight: '6px', cursor: 'pointer' }} onClick={() => toggleView(record.id)} />
                  ) : (
                    <img src={fold} alt='' className='container-bottom-left-record-top-icon' onClick={() => toggleView(record.id)} />
                  )
                }
                <div>{`${record.createTime} ${record.handleUnitName}`}</div>
                <div className={`container-bottom-left-record-top-${record.handleType === '2' ? 'remark' : 'hostOrg'}`}>{record.handleType === '2' ? '配合部门' : '承办部门'}</div>
                {!props.isReview && <div><img src={edit} alt='' className='container-bottom-left-record-top-edit' onClick={() => handleEdit(record)} /></div>}
              </div>
              <div className='container-bottom-left-record-bottom' style={{ display: record.showView ? 'block' : 'none' }}>
                <table border="1" cellpadding="8" className='container-bottom-left-record-bottom-table'>
                  <tr>
                    <th bgcolor="#F7F8FA" className="table-title" width="120">操作人</th>
                    <td>{record.handleUserName || '-'}</td>
                  </tr>
                  <tr>
                    <th bgcolor="#F7F8FA" className="table-title" width="120">办理意见</th>
                    <td>{record.handleContent || '-'}</td>
                  </tr>
                  <tr>
                    <th bgcolor="#F7F8FA" className="table-title" width="120">办理附件</th>
                    <div style={{ display: 'none' }}>
                      <Image
                        src={imgVisible.src}
                        preview={{
                          visible: imgVisible.visible,
                          src: imgVisible.src,
                          onVisibleChange: (value) => setImgVisible({ visible: false }),
                        }}
                      />
                    </div>
                    <td style={{color:'#1A6FB8'}} onClick={() => handleOpenFiles(record?.fileInfoList?.[0])}>
                      {/* <img src={link} alt=''/> */}
                      {record?.fileInfoList?.[0]?.name || '-'}
                      </td>
                  </tr>
                </table>
              </div>
            </div>
          ))}
        </div>
        :
        <Empty
          icon={
            <div
              style={{
                display: 'flex',
                justifyContent: 'center',
                marginBottom: '100px'
              }}
            >
              <img src={empty} alt='' style={{ width: '160px', height: '160px' }} />
            </div>
          }
          description='暂无数据'
        />
      }
 
    </div>
  )
}