/*
|
* @Company: hugeInfo
|
* @Author: lwh
|
* @Date: 2024-12-11 09:38:40
|
* @LastEditTime: 2025-04-19 16:31:12
|
* @LastEditors: lwh
|
* @Version: 1.0.0
|
* @Description: 司法确认审核详情
|
*/
|
import React, { Fragment, useState, useEffect, useRef } from 'react';
|
import { Row, Col, Space, Typography } from 'antd';
|
import { Input, Select, Radio, Button, Form } from '@arco-design/web-react';
|
import { IconInfoCircle } from '@arco-design/web-react/icon';
|
import { Scrollbars } from 'react-custom-scrollbars';
|
import * as $$ from '../../utils/utility';
|
import NewPage from '../../components/NewPage';
|
import PreviewImage from '@/components/PreviewImage';
|
import NameCard2 from '../../components/NameCard2';
|
import MyPDF from '../../components/MyPDF';
|
import MyModal from '../../components/MyModal';
|
import { useSearchParams, useNavigate } from 'react-router-dom';
|
import CaseDetail from './CaseDetail';
|
import { judicial_5, judicial_6 } from '../../assets/images';
|
import './index.less';
|
// 司法确认详情接口
|
function getJudicInfoApi(submitData) {
|
return $$.ax.request({ url: 'judicInfo/getJudicInfo', type: 'get', data: submitData, service: 'mediate' });
|
}
|
|
// 根据judicId获取案件信息
|
function getCaseDataApi(submitData) {
|
return $$.ax.request({ url: `caseInfo/getCaseInfo`, data: submitData, type: 'get', service: 'mediate' });
|
}
|
|
function delFile(id) {
|
return $$.ax.request({ url: `fileInfo/deleteFileById`, type: 'get', service: 'sys', data: { id } });
|
}
|
|
// 办理结果(化解结果、协议文书等结案信息)
|
function getTransactResultApi(caseId) {
|
return $$.ax.request({ url: `caseInfoUnfold/getTransactResult?caseId=${caseId}`, type: 'get', service: 'mediate' });
|
}
|
|
const CourtAuditEdit = () => {
|
const formRef = useRef();
|
let navigate = useNavigate();
|
const [searchParams] = useSearchParams();
|
const judicId = $$.getQueryString('judicId');
|
const caseId = $$.getQueryString('caseId');
|
const caseTaskId = $$.getQueryString('caseTaskId');
|
|
const back = searchParams.get('back');
|
const tab = searchParams.get('tab');
|
|
const [caseCheckModal, setCaseCheckModal] = useState(false);
|
|
// 回显数据
|
const [data, setData] = useState([]);
|
// 数据
|
const [formData, setFormData] = useState({});
|
const [caseData, setCaseData] = useState({});
|
const [transactResult, setTransactResult] = useState(null);
|
|
// 初始化附件回显
|
async function getJudicialApply() {
|
global.setSpinning(true);
|
const res = await getJudicInfoApi({ judicId });
|
global.setSpinning(false);
|
if (res.type) {
|
setData(res.data);
|
}
|
}
|
async function getCaseData(id) {
|
global.setSpinning(true);
|
const res = await getCaseDataApi({ id });
|
global.setSpinning(false);
|
if (res.type) {
|
const { agentList, personList, ...rest } = res.data;
|
const parList = agentList.concat(personList);
|
const newParList =
|
parList?.map((item) => {
|
const fileInfoList = item.fileInfoList;
|
let file = []; //身份证明材料、企业登记材料
|
let file1 = []; //法人、机构身份证明材料、代理人授权委托书
|
if (fileInfoList && fileInfoList.length != 0) {
|
fileInfoList.forEach((item) => {
|
if (item.ownerType == '22_00018-202' || item.ownerType == '22_00018-203') {
|
item.fileList.forEach((res) => {
|
file.push({
|
...res,
|
uid: res.id,
|
});
|
});
|
}
|
if (item.ownerType == '22_00018-204' || item.ownerType == '22_00018-207') {
|
item.fileList.forEach((res) => {
|
file1.push({
|
...res,
|
uid: res.id,
|
});
|
});
|
}
|
});
|
}
|
return {
|
...item,
|
file,
|
file1,
|
};
|
}) || [];
|
const obj = {
|
...rest,
|
fakeData: newParList,
|
};
|
setCaseData(obj);
|
}
|
}
|
|
async function getTransactResult(id) {
|
const res = await getTransactResultApi(id);
|
if (res.type) {
|
if (res.data) {
|
setTransactResult({ ...res.data });
|
} else {
|
setTransactResult(null);
|
}
|
}
|
}
|
|
//初始化
|
useEffect(() => {
|
if (judicId) {
|
getCaseData(caseId);
|
getJudicialApply();
|
getTransactResult(caseId);
|
}
|
}, []);
|
|
return (
|
<NewPage pageHead={{ breadcrumbData: [{ title: '工作台' }, { title: '司法确认申请审核' }], title: '司法确认申请审核' }}>
|
<Fragment>
|
<Scrollbars style={{ height: 'calc(100vh - 219px)' }} autoHide>
|
<div className=" dataSync-noScrollPage">
|
<Row gutter={[16, 16]}>
|
<Col span={24}>
|
<Space>
|
<div className="MediationInfo-subTitle"></div>
|
<span style={{ fontSize: '16px', lineHeight: '24px' }}>申请信息</span>
|
</Space>
|
</Col>
|
<Col span={24}>
|
<div className="public-infoTitle">案件信息</div>
|
{/* <div className='judicialSubmit-audit-case' onClick={() => setCaseCheckModal(true)}> */}
|
<div
|
className="judicialSubmit-audit-case"
|
onClick={() => window.open(`${$$.windowUrl}/windowDetail?caseTaskId=${caseTaskId}&caseId=${caseId}`)}
|
>
|
<div style={{ display: 'flex', gap: '16px', alignItems: 'center' }}>
|
<div>
|
<img src={judicial_5} alt="" srcset="" />
|
</div>
|
<div>
|
<div className="judicialSubmit-audit-case-flex">
|
<div>承办部门:{transactResult?.mediateUnitName || '-'}</div>
|
<div className="judicialSubmit-audit-case-subTitle">
|
申请方:
|
{caseData.fakeData?.filter((i) => i.perType === '15_020008-1')?.length === 1
|
? caseData.fakeData?.filter((i) => i.perType === '15_020008-1')[0]?.trueName
|
: caseData.fakeData?.filter((i) => i.perType === '15_020008-1')?.length > 1
|
? `${caseData.fakeData?.filter((i) => i.perType === '15_020008-1')[0].trueName}...等共${
|
caseData.fakeData?.filter((i) => i.perType === '15_020008-1')?.length
|
}人`
|
: '-'}{' '}
|
| 被申请方:
|
{caseData.fakeData?.filter((i) => i.perType === '15_020008-2')?.length === 1
|
? caseData.fakeData?.filter((i) => i.perType === '15_020008-2')[0]?.trueName
|
: caseData.fakeData?.filter((i) => i.perType === '15_020008-2')?.length > 1
|
? `${caseData.fakeData?.filter((i) => i.perType === '15_020008-2')[0]?.trueName}...等共${
|
caseData.fakeData?.filter((i) => i.perType === '15_020008-2')?.length
|
}人`
|
: '-'}
|
</div>
|
</div>
|
<div className="judicialSubmit-audit-case-subTitle">
|
办结时间:{$$.minuteFormat(transactResult?.closeTime)} | {transactResult?.mediResultName || '-'}
|
</div>
|
</div>
|
</div>
|
<div>
|
<img src={judicial_6} alt="" srcset="" />
|
</div>
|
</div>
|
</Col>
|
<Col span={24}>
|
<div className="public-infoTitle">申请理由</div>
|
<div className="public-infoSubTitle">{data?.applyContent || '-'}</div>
|
</Col>
|
<Col span={24}>
|
<div className="public-infoTitle">调解协议书</div>
|
{data?.fileList?.find((i) => i.ownerType === '22_00018-412')?.fileList?.length ? (
|
data?.fileList
|
?.find((i) => i.ownerType === '22_00018-412')
|
?.fileList?.map((item, index) => {
|
return (
|
<>
|
<MyPDF key={index} name={item.name} fileUrl={item.showUrl} fileType={item.suffix} />
|
</>
|
);
|
})
|
) : (
|
<div className="public-infoSubTitle">-</div>
|
)}
|
</Col>
|
<Col span={24}>
|
<div className="public-infoTitle">非诉讼调解协议司法确认申请书</div>
|
{data?.fileList?.find((i) => i.ownerType === '22_00018-402')?.fileList?.length ? (
|
data?.fileList
|
?.find((i) => i.ownerType === '22_00018-402')
|
?.fileList?.map((item, index) => {
|
return (
|
<>
|
<MyPDF key={index} name={item.name} fileUrl={item.showUrl} fileType={item.suffix} />
|
</>
|
);
|
})
|
) : (
|
<div className="public-infoSubTitle">-</div>
|
)}
|
</Col>
|
<Col span={24}>
|
<div className="public-infoTitle">诉前联调协议案件移送函</div>
|
{data?.fileList?.find((i) => i.ownerType === '22_00018-403')?.fileList?.length ? (
|
data?.fileList
|
?.find((i) => i.ownerType === '22_00018-403')
|
?.fileList?.map((item, index) => {
|
return (
|
<>
|
<MyPDF key={index} name={item.name} fileUrl={item.showUrl} fileType={item.suffix} />
|
</>
|
);
|
})
|
) : (
|
<div className="public-infoSubTitle">-</div>
|
)}
|
</Col>
|
<Col span={24}>
|
<div className="public-infoTitle">送达地址确认书</div>
|
{data?.fileList?.find((i) => i.ownerType === '22_00018-108')?.fileList?.length ? (
|
data?.fileList
|
?.find((i) => i.ownerType === '22_00018-108')
|
?.fileList?.map((item, index) => {
|
return (
|
<>
|
<MyPDF key={index} name={item.name} fileUrl={item.showUrl} fileType={item.suffix} />
|
</>
|
);
|
})
|
) : (
|
<div className="public-infoSubTitle">-</div>
|
)}
|
</Col>
|
<Col span={24}>
|
<div className="public-infoTitle">申请时间</div>
|
<div className="public-infoSubTitle">{$$.minuteFormat(data?.applyTime)}</div>
|
</Col>
|
<Col span={24}>
|
<div className="public-infoTitle">申请人</div>
|
<div className="public-infoSubTitle">
|
<span className="public-nameCard2">
|
{data?.applyUnitName}
|
<NameCard2 name={data.applyUserName} userId={data.applyUserId} />
|
</span>
|
</div>
|
</Col>
|
</Row>
|
</div>
|
<div style={{ height: '16px' }}></div>
|
<div className=" dataSync-noScrollPage">
|
<Row gutter={[16, 16]}>
|
<Col span={24} style={{ marginBottom: '12px' }}>
|
<Space>
|
<div className="MediationInfo-subTitle"></div>
|
<span style={{ fontSize: '16px', lineHeight: '24px' }}>审核信息</span>
|
</Space>
|
</Col>
|
{data?.judicAudit === '24_00004-1' && (
|
<>
|
<Col span={24}>
|
<div className="public-infoTitle">审核结果</div>
|
<div className="public-infoSubTitle public-success">同意</div>
|
</Col>
|
<Col span={24}>
|
<div className="public-infoTitle">承办法官</div>
|
<div className="public-infoSubTitle">
|
<span className="public-nameCard2">
|
{data?.applyUnitName}
|
<NameCard2 name={data.judgeName} userId={data.judgeNameId} />
|
</span>
|
</div>
|
</Col>
|
<Col span={24}>
|
<div className="public-infoTitle">助理/书记员</div>
|
<div style={{ display: 'flex', gap: '16px', flexWrap: 'wrap' }} className="public-infoSubTitle">
|
{data?.judicAssistList?.map((i) => (
|
<span className="public-nameCard2">
|
{i?.assUnitName}
|
<NameCard2 name={i?.assUserName} userId={i?.assUserId} />
|
</span>
|
))}
|
</div>
|
</Col>
|
<Col span={24}>
|
<div className="public-infoTitle">审核时间</div>
|
<div className="public-infoSubTitle">{$$.minuteFormat(data?.applyTime)}</div>
|
</Col>
|
<Col span={24}>
|
<div className="public-infoTitle">审核人</div>
|
<div className="public-infoSubTitle">
|
<span className="public-nameCard2">
|
{data?.applyUnitName}
|
<NameCard2 name={data.applyUserName} userId={data.applyUserId} />
|
</span>
|
</div>
|
</Col>
|
</>
|
)}
|
{data?.judicAudit === '24_00004-2' && (
|
<>
|
<Col span={24}>
|
<div className="public-infoTitle">审核结果</div>
|
<div className="public-infoSubTitle public-danger">不同意</div>
|
</Col>
|
<Col span={24}>
|
<div className="public-infoTitle">理由说明</div>
|
<div className="public-infoSubTitle">{data?.handleContent || '-'}</div>
|
</Col>
|
<Col span={24}>
|
<div className="public-infoTitle">附件材料</div>
|
<div style={{ display: 'flex', gap: '8px' }}>
|
{data?.fileList?.find((i) => i.ownerType === '22_00018-411')?.fileList?.length ? (
|
data?.fileList
|
?.find((i) => i.ownerType === '22_00018-411')
|
?.fileList?.map((item, index) => {
|
return (
|
<>
|
<MyPDF key={index} name={item.name} fileUrl={item.showUrl} fileType={item.suffix} />
|
</>
|
);
|
})
|
) : (
|
<div className="public-infoSubTitle">-</div>
|
)}
|
</div>
|
</Col>
|
<Col span={24}>
|
<div className="public-infoTitle">审核时间</div>
|
<div className="public-infoSubTitle">{$$.minuteFormat(data?.handleTime)}</div>
|
</Col>
|
<Col span={24}>
|
<div className="public-infoTitle">审核人</div>
|
<div className="public-infoSubTitle">
|
<span className="public-nameCard2">
|
{data?.handleUnitName}
|
<NameCard2 name={data.handleUserName} userId={data.handleUserId} />
|
</span>
|
</div>
|
</Col>
|
</>
|
)}
|
</Row>
|
</div>
|
</Scrollbars>
|
<div className="dataSync-excel">
|
<Space size="large" style={{ margin: '4px 14px' }}>
|
<Button type="secondary" onClick={() => navigate(`${back}?isBack=true&tab=${tab}`, { replace: true })}>
|
返回上级页面
|
</Button>
|
</Space>
|
</div>
|
</Fragment>
|
<MyModal width={1200} visible={caseCheckModal} onCancel={() => setCaseCheckModal(false)} footer={false}>
|
<CaseDetail caseId={caseId} caseData={caseData} />
|
</MyModal>
|
</NewPage>
|
);
|
};
|
|
export default CourtAuditEdit;
|