/*
|
* @Company: hugeInfo
|
* @Author: lwh
|
* @Date: 2025-04-24 11:06:12
|
* @LastEditTime: 2025-04-24 16:21:41
|
* @LastEditors: lwh
|
* @Version: 1.0.0
|
* @Description: 重复事项合并
|
*/
|
import React, { useState, useEffect } from 'react';
|
|
import { Scrollbars } from 'react-custom-scrollbars';
|
|
import NavBarPage from '../../components/NavBarPage';
|
import * as $$ from '../../utils/utility';
|
|
import { repeat_1 } from '../../assets/img';
|
import './index.less';
|
|
// 获取重复事项信息
|
function getRepeatCaseInfoApi(data) {
|
return $$.ax.request({ url: `caseRepeatInfo/getRepeatCaseInfo`, type: 'get', service: 'mediate', data });
|
}
|
|
// 保存重复事项
|
function saveRepeatCaseApi(data) {
|
return $$.ax.request({ url: `caseRepeatInfo/svaeRepeatCase`, type: 'post', service: 'mediate', data });
|
}
|
|
// 添加重复事项列表
|
function getRepeatCaseListApi(data) {
|
return $$.ax.request({ url: `caseRepeatInfo/pageCaseInfoDhb`, type: 'get', service: 'mediate', data });
|
}
|
|
// 获取重复事项信息
|
function listRepeatCaseApi(data) {
|
return $$.ax.request({ url: `caseRepeatInfo/listRepeatCase`, type: 'get', service: 'mediate', data });
|
}
|
|
// 取消重复事项
|
function cancelRepeatCaseApi(data) {
|
return $$.ax.request({ url: `caseRepeatInfo/cancelRepeatCase`, type: 'post', service: 'mediate', data });
|
}
|
|
const Repeat = () => {
|
const caseId = $$.getQueryString('caseId');
|
const repeatId = $$.getQueryString('repeatId');
|
const caseTaskId = $$.getQueryString('caseTaskId');
|
|
const [caseData, setCaseData] = useState({});
|
const [hisData, setHisData] = useState([]);
|
|
// 获取重复事项信息
|
async function getRepeatCaseInfo() {
|
global.setSpinning(true);
|
const res = await getRepeatCaseInfoApi({ caseId, repeatId });
|
global.setSpinning(false);
|
if (res.type) {
|
setCaseData(res.data.mainCaseInfo);
|
setHisData(res.data.repeatCaseInfoList || []);
|
}
|
}
|
|
// 删除重复事项
|
async function handleDelete(item) {
|
try {
|
global.setSpinning(true);
|
const res = await cancelRepeatCaseApi({
|
caseId: item.caseId,
|
repeatId,
|
});
|
global.setSpinning(false);
|
if (res.type) {
|
$$.showToast({ content: '删除成功' });
|
getRepeatCaseInfo();
|
}
|
} catch (error) {
|
global.setSpinning(false);
|
}
|
}
|
|
// 设为主体
|
async function handleSetMain(item) {
|
try {
|
global.setSpinning(true);
|
const res = await saveRepeatCaseApi({
|
caseId: item.caseId,
|
repeatId,
|
isMain: 1,
|
});
|
global.setSpinning(false);
|
if (res.type) {
|
$$.showToast({ content: '设置成功' });
|
getRepeatCaseInfo();
|
}
|
} catch (error) {
|
global.setSpinning(false);
|
}
|
}
|
|
useEffect(() => {
|
getRepeatCaseInfo();
|
}, []);
|
|
return (
|
<NavBarPage title="重复事项合并">
|
<Scrollbars style={{ height: 'calc(100vh - 104px)' }}>
|
<div className="repeat">
|
<div className="repeat-title">主体事项</div>
|
<div className="repeat-content">
|
<div className="repeat-item-header">
|
<div>
|
<div className="repeat-item-title2">
|
登记时间:<span className="repeat-item-value">{caseData.createTime}</span>
|
</div>
|
<div className="repeat-item-subtitle">事项编号:{caseData.caseRef}</div>
|
</div>
|
<div className="repeat-item-status">
|
<span className="public-color">{caseData.statusName}</span>
|
</div>
|
</div>
|
<div className="repeat-item-divider"></div>
|
|
<div className="repeat-item">
|
<div className="repeat-item-title">事项来源</div>
|
<div className="repeat-item-value">{caseData.caseSource || '-'}</div>
|
</div>
|
<div className="repeat-item">
|
<div className="repeat-item-title">数据来源</div>
|
<div className="repeat-item-value">{caseData.dataSource || '-'}</div>
|
</div>
|
<div className="repeat-item">
|
<div className="repeat-item-title">申请方</div>
|
<div className="repeat-item-value">
|
{caseData?.plaintiffList?.map((i) => (
|
<span key={i.id}>
|
{i.trueName || '-'}
|
{i.certiNo ? `(${i.certiNo})` : ''}
|
</span>
|
))}
|
</div>
|
</div>
|
<div className="repeat-item">
|
<div className="repeat-item-title">被申请方</div>
|
<div className="repeat-item-value">
|
{caseData?.defendantList?.map((i) => (
|
<span key={i.id}>
|
{i.trueName || '-'}
|
{i.certiNo ? `(${i.certiNo})` : ''}
|
</span>
|
))}
|
</div>
|
</div>
|
<div className="repeat-item">
|
<div className="repeat-item-title">问题属地</div>
|
<div className="repeat-item-value">
|
{caseData?.queAreaName || '-'}
|
{caseData?.queRoadName ? `/${caseData?.queRoadName}` : ''}
|
</div>
|
</div>
|
<div className="repeat-item">
|
<div className="repeat-item-title">纠纷发生地</div>
|
<div className="repeat-item-value">{caseData.addr || '-'}</div>
|
</div>
|
<div className="repeat-item">
|
<div className="repeat-item-title">登记机构</div>
|
<div className="repeat-item-value">{caseData.inputUnitName || '-'}</div>
|
</div>
|
<div className="repeat-item">
|
<div className="repeat-item-title">承办部门</div>
|
<div className="repeat-item-value">{caseData.mediateUnitName || '-'}</div>
|
</div>
|
<div className="repeat-item">
|
<div className="repeat-item-title">经办人</div>
|
<div className="repeat-item-value">{caseData.mediator || '-'}</div>
|
</div>
|
</div>
|
|
<div style={{ marginTop: '12px' }} className="repeat-title">
|
重复列表({hisData.length})
|
</div>
|
{/* 重复列表 */}
|
<div className="repeat-list">
|
{hisData.map((item) => (
|
<div key={item.caseId} className="repeat-list-item">
|
<div className="repeat-list-item-header">
|
<div className="repeat-list-item-header-left">
|
<div className="repeat-item-title2">
|
登记时间:<span className="repeat-item-value">{item.inputTime}</span>
|
</div>
|
<div className="repeat-item-subtitle">事项编号:{item.caseRef}</div>
|
</div>
|
<div className="repeat-list-item-header-right">相似度{item.similarity}%</div>
|
</div>
|
<div className="repeat-item-divider"></div>
|
|
<div className="repeat-item">
|
<div className="repeat-item-title">事项来源</div>
|
<div className="repeat-item-value">{item.caseSource || '-'}</div>
|
</div>
|
<div className="repeat-item">
|
<div className="repeat-item-title">数据来源</div>
|
<div className="repeat-item-value">{item.dataSource || '-'}</div>
|
</div>
|
<div className="repeat-item">
|
<div className="repeat-item-title">申请方</div>
|
<div className="repeat-item-value">
|
{item?.plaintiffList?.map((i) => (
|
<span key={i.id}>
|
{i.trueName || '-'}
|
{i.certiNo ? `(${i.certiNo})` : ''}
|
</span>
|
))}
|
</div>
|
</div>
|
<div className="repeat-item">
|
<div className="repeat-item-title">被申请方</div>
|
<div className="repeat-item-value">
|
{item?.defendantList?.map((i) => (
|
<span key={i.id}>
|
{i.trueName || '-'}
|
{i.certiNo ? `(${i.certiNo})` : ''}
|
</span>
|
))}
|
</div>
|
</div>
|
<div className="repeat-item">
|
<div className="repeat-item-title">问题属地</div>
|
<div className="repeat-item-value">
|
{item?.queAreaName || '-'}
|
{item?.queRoadName ? `/${item?.queRoadName}` : ''}
|
</div>
|
</div>
|
<div className="repeat-item">
|
<div className="repeat-item-title">纠纷发生地</div>
|
<div className="repeat-item-value">{item.addr || '-'}</div>
|
</div>
|
<div className="repeat-item">
|
<div className="repeat-item-title">登记机构</div>
|
<div className="repeat-item-value">{item.inputUnitName || '-'}</div>
|
</div>
|
<div className="repeat-item">
|
<div className="repeat-item-title">承办部门</div>
|
<div className="repeat-item-value">{item.mediateUnitName || '-'}</div>
|
</div>
|
<div className="repeat-item">
|
<div className="repeat-item-title">经办人</div>
|
<div className="repeat-item-value">{item.mediator || '-'}</div>
|
</div>
|
|
<div className="repeat-item-divider"></div>
|
|
<div className="repeat-list-item-footer">
|
<div className="btn btn-delete" onClick={() => handleDelete(item)}>
|
删除
|
</div>
|
<div className="btn btn-primary" onClick={() => handleSetMain(item)}>
|
设为主体
|
</div>
|
<div className="btn btn-view" onClick={() => {}}>
|
查看
|
</div>
|
</div>
|
</div>
|
))}
|
</div>
|
</div>
|
</Scrollbars>
|
<div className="repeat-bottom-button">
|
<div className="repeat-bottom-button-left">
|
<div className="repeat-bottom-button-add">
|
<img src={repeat_1} alt="添加" />
|
添加
|
</div>
|
<div className="repeat-bottom-button-cancel">
|
取消合并
|
</div>
|
</div>
|
<div className="repeat-bottom-button-submit">
|
提交
|
</div>
|
</div>
|
</NavBarPage>
|
);
|
};
|
|
export default Repeat;
|