/*
|
* @Company: hugeInfo
|
* @Author: lwh
|
* @Date: 2022-03-23 09:39:49
|
* @LastEditTime: 2023-05-12 20:18:16
|
* @LastEditors: lwh
|
* @Version: 1.0.0
|
* @Description: 调度记录
|
*/
|
import React, { useEffect, useState } from 'react';
|
import { Space, Typography, Row, Col, Button } from 'antd';
|
import { ShareAltOutlined } from '@ant-design/icons';
|
import FilesDrawer from '../../../components/FilesDrawer';
|
import NameCard from '../../../components/NameCard';
|
import * as $$ from '../../../utils/utility';
|
import { mediator2, mediator1, mediationUnit, mediateRecord_3 } from '../../../assets/images/icon';
|
import ProgressStep from '../../../components/ProgressStep';
|
import BatchDispatch from '../../../components/dispatch/mediateList/BatchDispatch';
|
|
// 获取处理的详情
|
function getByIdApi(caseId) {
|
return $$.ax.request({ url: 'caseDisp/getByCaseId?caseId=' + caseId, type: 'get', service: 'disp' });
|
}
|
|
//调解力量
|
function getMediatePowerApi(caseId) {
|
return $$.ax.request({ url: 'caseInfo/getMediatePower?caseId=' + caseId, type: 'get', service: 'mediate' });
|
}
|
|
const { Text } = Typography;
|
|
/**
|
* isEdit:bool, // 'edit':判断来自调度历史-系统调度方式点击进入可展示重新调度按钮
|
*/
|
const DispatchRecord = ({ caseId, dispId, isEdit, handleReturn }) => {
|
const [data, setData] = useState({});
|
|
const [powerData, setPowerData] = useState({}); // 调解力量列表
|
|
// drawer
|
const [drawerVisible, setDrawerVisible] = useState(false);
|
|
|
useEffect(() => {
|
// 获取详情
|
async function getSignForDetailData() {
|
global.setSpinning(true);
|
const res = await getByIdApi(caseId);
|
global.setSpinning(false);
|
if (res.type) {
|
setData(res.data || {});
|
}
|
}
|
// 调解力量
|
async function getMediatePowerData() {
|
global.setSpinning(true);
|
const res = await getMediatePowerApi(caseId);
|
global.setSpinning(false);
|
if (res.type) {
|
setPowerData(res.data || {});
|
}
|
}
|
getSignForDetailData();
|
getMediatePowerData();
|
}, [caseId]);
|
|
const headPortrait = (type) => (
|
<div className="dispatchRecord-dis-posi">
|
<img className="dispatchRecord-dis-img" src={mediator2} alt="" />
|
<div className={`dispatchRecord-dis-${type === 'accept' ? (data.signStatusName === '已签收' ? 'status1' : 'status2') : 'status3'}`}>
|
{type === 'accept' ? data.signStatusName || '-' : '协助'}
|
<img className="dispatchRecord-dis-img2" src={mediateRecord_3} alt="" />
|
</div>
|
</div>
|
);
|
|
return (
|
<>
|
<div className="dispatchRecord">
|
<div className="caseDetail-card dispatchRecord-left">
|
<div style={{ flex: 1 }}>
|
<Row gutter={[16, 12]}>
|
<Col span={24}>
|
<Space size='small'>
|
<div className='MediationInfo-subTitle'></div><h5> 处理信息</h5>
|
</Space>
|
</Col>
|
<Col span={24}>
|
<h5>签收信息</h5>
|
</Col>
|
<Col span={24}>
|
{
|
data.acceptObjName ?
|
<div className="dispatchRecord-dis">
|
{headPortrait('accept')}
|
<div>
|
<div style={{ marginBottom: '4px' }}>
|
<div>{data.acceptObjName}</div>
|
{/* <NameCard name={data.acceptObjName} userId={data.acceptObjId} /> */}
|
</div>
|
<div>调度时间:{$$.timeFormat(data.dispTime)}</div>
|
<div>签收时间:{$$.timeFormat(data.acceptSignTime)}</div>
|
</div>
|
</div> :
|
<>{$$.MyEmpty({ description: '暂无数据' })}</>
|
}
|
</Col>
|
<Col span={24}>
|
<div className="caseDetail-divider" />
|
</Col>
|
<Col span={24}>
|
<h5>调解力量</h5>
|
</Col>
|
<Col span={24}>{powerData.mediator ? <>
|
<div className="public-fileCard public-fileCard-noBorder2" style={{ marginBottom: '16px' }}>
|
<img src={mediationUnit} style={{ width: '58px', height: '58px' }} alt="" />
|
<Space size={12} direction="vertical">
|
<div>{powerData.mediateUnit?.name}</div>
|
<div className={`public-tag public-tag-default`}>调解组织</div>
|
</Space>
|
</div>
|
<div className="public-fileCard public-fileCard-noBorder2" style={{ marginBottom: '16px' }}>
|
<img src={mediator1} style={{ width: '58px', height: '58px' }} alt="" />
|
<Space size={12} direction="vertical">
|
<div>{powerData.mediator?.name}</div>
|
<div className={`public-tag public-tag-default`}>调解员</div>
|
</Space>
|
</div>
|
|
{
|
powerData.assistMediators?.map((item, index) => (
|
<div className="public-fileCard public-fileCard-noBorder2" style={{ marginBottom: '16px' }} key={index}>
|
<img src={mediator2} style={{ width: '58px', height: '58px' }} alt="" />
|
<Space size={12} direction="vertical">
|
<div>{item.assUserName || '-'}</div>
|
<div className={`public-tag public-tag-tagBlue2`}>协助调解员</div>
|
</Space>
|
</div>
|
))
|
}
|
</> : $$.MyEmpty({ description: '暂无数据' })}</Col>
|
</Row>
|
</div>
|
{isEdit && (
|
<div className="dispatchRecord-left-button">
|
<Button className="public-mainBtn" onClick={() => setDrawerVisible(true)}>
|
重新调度
|
</Button>
|
</div>
|
)}
|
</div>
|
<div className="caseDetail-card dispatchRecord-right">
|
<div className="caseDetail-cardTitle">
|
<Space size="small">
|
<div className="caseDetail-cardTitle-icon caseDetail-cardTitle-iconOrange">
|
<ShareAltOutlined />
|
</div>
|
<h5>案件进度</h5>
|
</Space>
|
</div>
|
<div className="caseDetail-cardMain">
|
<ProgressStep caseId={caseId} pageFrom="dispatchRecord" />
|
</div>
|
</div>
|
</div>
|
<BatchDispatch
|
dispId={dispId}
|
title="重新调度"
|
drawerVisible={drawerVisible}
|
onClose={() => setDrawerVisible(false)}
|
onSubmitCallback={handleReturn}
|
/>
|
</>
|
);
|
};
|
|
export default DispatchRecord;
|