import React, { useState } from 'react';
|
import { Form, Input, Radio, Button, Modal, Upload, Message } from '@arco-design/web-react';
|
import { Col, Space, Row, Empty, Image } from 'antd';
|
import * as $$ from '@/utils/utility';
|
import NameCard2 from '@/components/NameCard2';
|
import { link, timeLimit, empty } from '@/assets/images';
|
import PersonCard from './personCard';
|
|
const appUrl = $$.appUrl;
|
|
|
const ResponseDetail = ({ visible, handleOnCancel, data }) => {
|
const [personView, setPersonView] = useState(false)
|
const [personId, setPersonId] = useState('')
|
const [imgVisible, setImgVisible] = useState({ visible: false, src: '' })
|
|
|
const handlePersonDetail = (id) => {
|
setPersonId(id)
|
setPersonView(true)
|
}
|
|
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 (
|
<Modal visible={visible} onCancel={handleOnCancel} title='督办回复详情' centered footer={null}>
|
<Col span={24} style={{ marginBottom: '8px' }}>
|
<Space size='small'>
|
<div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>督办意见</h5>
|
</Space>
|
</Col>
|
<Row gutter={[16, 16]}>
|
<Col span={24} >
|
<div className="title-text">督办时间</div>
|
<div>{data.supTime || '-'}</div>
|
</Col>
|
<Col span={24}>
|
<div className="title-text">督办人</div>
|
<div style={{ display: 'flex' }}>
|
{data.supUnitName} <NameCard2 name={data.supUserName} userId={data.supUserId} />
|
</div>
|
</Col>
|
<Col span={24}>
|
<div className="title-text">督办内容</div>
|
<div>{data.supContent || '-'}</div>
|
</Col>
|
<Col span={24}>
|
<div>督办附件</div>
|
<div style={{ display: 'flex' }}>
|
|
{data.fileInfoList?.[0]?.fileList?.length > 0 ?
|
<div style={{ display: 'flex', alignItems: 'center', gap: '4px', color: '#1A6FB8' }}>
|
<img src={link} alt="" className="title-file" style={{ marginTop: '4px' }} />
|
<div>
|
{data.fileInfoList?.[0]?.fileList?.map((item1, index1) =>
|
<div key={index1} onClick={() => handleOpenFiles(item1)} style={{ cursor: 'pointer' }}>{item1.name || '-'}{index1 === data.fileInfoList?.[0]?.fileList?.length - 1 ? '' : ','}</div>
|
)}
|
</div>
|
</div> : '-'
|
}
|
</div>
|
</Col>
|
</Row>
|
<Col span={24} style={{ marginBottom: '8px', marginTop: '20px' }}>
|
<Space size='small'>
|
<div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>督办回复</h5>
|
</Space>
|
</Col>
|
{data.replyTime === null ?
|
<div>
|
<div style={{ backgroundColor: '#FFF7E8', padding: '5px 16px', display: 'flex' }}>
|
<img src={timeLimit} alt='' style={{ width: '16px', height: '16px', marginRight: '8px', marginTop: '4px' }} />
|
<div>回复时限剩{$$.getRemainingTime(data.supTime, data.replyTerm).hours}小时</div>
|
</div>
|
<Empty image={empty} description='督办部门未回复' style={{ color: '#86909C' }} />
|
</div>
|
:
|
<Row gutter={[16, 16]}>
|
<Col span={24} >
|
<div className="title-text">回复时间</div>
|
<div>{$$.minuteFormat(data.replyTime) || '-'}</div>
|
</Col>
|
<Col span={24}>
|
<div className="title-text">回复人</div>
|
<NameCard2 name={data.replyUserName} userId={data.replyUserId} />
|
</Col>
|
<Col span={24}>
|
<div className="title-text">回复内容</div>
|
<div>{data.replyContent || '-'}</div>
|
</Col>
|
<Col span={24}>
|
<div className="title-text">附件材料</div>
|
<div style={{ display: 'flex' }}>
|
|
{data.fileInfoList?.[1]?.fileList?.length > 0 ?
|
<div style={{ display: 'flex', alignItems: 'center', gap: '4px', color: '#1A6FB8' }}>
|
<img src={link} alt="" className="title-file" style={{ marginTop: '4px' }} />
|
<div>
|
{data.fileInfoList?.[1]?.fileList?.map((item1, index1) =>
|
<div key={index1} onClick={() => handleOpenFiles(item1)} style={{ cursor: 'pointer' }}>{item1.name || '-'}{index1 === data.fileInfoList?.[1]?.fileList?.length - 1 ? '' : ','}</div>
|
)}
|
</div>
|
</div> : '-'
|
}
|
</div>
|
</Col>
|
</Row>
|
}
|
<PersonCard personView={personView} handleCancel={() => setPersonView(false)} personId={personId} />
|
<Image
|
// src={imgVisible?.src}
|
preview={{
|
visible: imgVisible?.visible,
|
src: imgVisible?.src,
|
onVisibleChange: (value) => setImgVisible({ visible: false }),
|
}}
|
/>
|
</Modal>
|
|
)
|
}
|
|
export default ResponseDetail;
|