From 1373ca4e2cd04896254690e0bd24316067f1645d Mon Sep 17 00:00:00 2001
From: zhangyongtian <1181606322@qq.com>
Date: Tue, 10 Sep 2024 15:46:35 +0800
Subject: [PATCH] feat: 结案归档
---
gz-customerSystem/src/views/register/matterDetail/RateModule.jsx | 41 +
gz-customerSystem/src/views/register/matterDetail/RegisInfoModule.jsx | 38 +
gz-customerSystem/src/views/register/visit/component/previewTable.jsx | 107 +++
gz-customerSystem/src/views/register/index.less | 4
gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx | 5
gz-customerSystem/src/views/register/matterDetail/FileTable.jsx | 1
gz-customerSystem/src/views/register/visit/preview.jsx | 478 ++++++++----------
gz-customerSystem/src/api/appUrl.js | 4
gz-customerSystem/src/views/register/eventFlow/index.jsx | 6
gz-customerSystem/src/views/register/matterDetail/fileMessage.jsx | 772 ++++--------------------------
gz-customerSystem/src/views/register/visit/index.jsx | 7
11 files changed, 499 insertions(+), 964 deletions(-)
diff --git a/gz-customerSystem/src/api/appUrl.js b/gz-customerSystem/src/api/appUrl.js
index 85b85ee..3a5882e 100644
--- a/gz-customerSystem/src/api/appUrl.js
+++ b/gz-customerSystem/src/api/appUrl.js
@@ -10,11 +10,11 @@
export const debug = {
// web服务
// baseUrl: 'http://gz.hugeinfo.com.cn',
- baseUrl: "http://w88bsz.natappfree.cc",
+ baseUrl: "http://6dycet.natappfree.cc",
// baseUrl: 'http://mdqgnh.natappfree.cc',
// 附件服务
- fileUrl: "http://w88bsz.natappfree.cc",
+ fileUrl: "http://6dycet.natappfree.cc",
// fileUrl: 'http://gz.hugeinfo.com.cn',
// 文件查看url 后面接附件编号
diff --git a/gz-customerSystem/src/views/register/eventFlow/index.jsx b/gz-customerSystem/src/views/register/eventFlow/index.jsx
index b96e734..1f7019b 100644
--- a/gz-customerSystem/src/views/register/eventFlow/index.jsx
+++ b/gz-customerSystem/src/views/register/eventFlow/index.jsx
@@ -1,10 +1,10 @@
-import React, { useState, useRef, Fragment, useEffect } from "react";
+import React, { useState, useEffect } from "react";
import NewPage from '@/components/NewPage';
import * as $$ from '@/utils/utility';
import "@arco-themes/react-gzzz/css/arco.css";
import '../index.less';
import { Steps, Tabs } from '@arco-design/web-react';
-import { examine, Matter, transfer, applyRecord } from '@/assets/images'
+import { examine, Matter, applyRecord } from '@/assets/images'
import EventFlow from './component/EventFlow';
import Examine from "./component/Examine";
import ApplyInfo from "../matterDetail/ApplyInfo";
@@ -59,7 +59,7 @@
//获取权限tab和按钮权限
const getAuthor = async () => {
- console.log(routeData, 'routeData')
+ console.log(caseTaskId, caseId)
const res = await getTabButton({
caseTaskId: caseTaskId
})
diff --git a/gz-customerSystem/src/views/register/index.less b/gz-customerSystem/src/views/register/index.less
index 97b121f..71d05d2 100644
--- a/gz-customerSystem/src/views/register/index.less
+++ b/gz-customerSystem/src/views/register/index.less
@@ -88,7 +88,7 @@
width: 14px;
height: 14px;
margin-right: 4px;
- margin-top: 4px;
+ margin-top: -2px;
}
&-register {
@@ -141,7 +141,7 @@
align-items: center;
justify-content: space-between;
box-shadow: 0px -1px 2px 0px rgba(0, 0, 0, 0.25);
- z-index: 1;
+ z-index: 2;
}
&-hasTabPage {
diff --git a/gz-customerSystem/src/views/register/matterDetail/FileTable.jsx b/gz-customerSystem/src/views/register/matterDetail/FileTable.jsx
index f1cc458..d85e8ed 100644
--- a/gz-customerSystem/src/views/register/matterDetail/FileTable.jsx
+++ b/gz-customerSystem/src/views/register/matterDetail/FileTable.jsx
@@ -342,7 +342,6 @@
size="small"
rowKey="ownerType"
bordered={true}
- style={{ marginBottom: '65px' }}
scroll={{ x: 1300 }}
/>
<Modal
diff --git a/gz-customerSystem/src/views/register/matterDetail/RateModule.jsx b/gz-customerSystem/src/views/register/matterDetail/RateModule.jsx
new file mode 100644
index 0000000..5233d61
--- /dev/null
+++ b/gz-customerSystem/src/views/register/matterDetail/RateModule.jsx
@@ -0,0 +1,41 @@
+import React, { Fragment } from 'react'
+import { Row, Col, Space } from 'antd';
+import { Rate } from '@arco-design/web-react';
+
+export default function RateModule(props) {
+ return (
+ <Fragment>
+ <Col span={24} style={{ display: 'flex', alignItems: 'center', margin: '12px 0px 4px 0px' }}>
+ <Space size='small'>
+ <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>当事人评价</h4>
+ </Space>
+ </Col>
+ <Row gutter={[16, 16]}>
+ <Col span={8}>
+ <div className="title">
+ <div className="title-text">评价等级</div>
+ </div>
+ <div style={{ display: 'flex' }}><Rate value={props.grade?.evaluateGrade} disabled /></div>
+ </Col>
+ <Col span={8}>
+ <div className="title">
+ <div className="title-text">评价时间</div>
+ </div>
+ <div>{props.grade?.createTime || '-'}</div>
+ </Col>
+ <Col span={8}>
+ <div className="title">
+ <div className="title-text">评价人</div>
+ </div>
+ <div>{props.grade?.evaluateUserName || '-'}</div>
+ </Col>
+ <Col span={12}>
+ <div className="title">
+ <div className="title-text">评语</div>
+ </div>
+ <div>{props.grade?.evaluateContent}</div>
+ </Col>
+ </Row>
+ </Fragment>
+ )
+}
diff --git a/gz-customerSystem/src/views/register/matterDetail/RegisInfoModule.jsx b/gz-customerSystem/src/views/register/matterDetail/RegisInfoModule.jsx
new file mode 100644
index 0000000..2fa8d51
--- /dev/null
+++ b/gz-customerSystem/src/views/register/matterDetail/RegisInfoModule.jsx
@@ -0,0 +1,38 @@
+import React, { Fragment } from 'react';
+import { Row, Col, Space } from 'antd';
+import { register } from '@/assets/images';
+
+export default function RegisInfoModule(props) {
+ return (
+ <Fragment>
+ <Col span={24} style={{ display: 'flex', alignItems: 'center', margin: '12px 0px 4px 0px' }}>
+ <Space size='small'>
+ <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>登记信息</h4>
+ </Space>
+ </Col>
+ <Row gutter={[16, 16]} >
+ <Col span={8}>
+ <div className="title">
+ <div className="title-text">登记机构</div>
+ </div>
+ <div>{props.caseInfo?.inputUnitName || '-'}</div>
+ </Col>
+ <Col span={8}>
+ <div className="title">
+ <div className="title-text">登记人</div>
+ </div>
+ <div>
+ {props.caseInfo?.inputUserName}
+ <img src={register} alt='' style={{ width: '14px', height: '14px', marginLeft: '8px', marginTop: '-4px' }} />
+ </div>
+ </Col>
+ <Col span={8}>
+ <div className="title">
+ <div className="title-text">登记时间</div>
+ </div>
+ <div>{props.caseInfo?.visitTime || '-'}</div>
+ </Col>
+ </Row>
+ </Fragment>
+ )
+}
diff --git a/gz-customerSystem/src/views/register/matterDetail/fileMessage.jsx b/gz-customerSystem/src/views/register/matterDetail/fileMessage.jsx
index 13869c8..3502fd9 100644
--- a/gz-customerSystem/src/views/register/matterDetail/fileMessage.jsx
+++ b/gz-customerSystem/src/views/register/matterDetail/fileMessage.jsx
@@ -1,18 +1,17 @@
import React, { useEffect, useState } from 'react';
import NewPage from '@/components/NewPage';
-import { Row, Col, Space } from 'antd';
-import { Steps, Tabs, Typography, Rate, Button } from '@arco-design/web-react';
-import { apply,floating } from '@/assets/images';
+import { Steps, Tabs, Button } from '@arco-design/web-react';
+import { apply, floating } from '@/assets/images';
import { result } from '@/assets/images/icon';
import * as $$ from '@/utils/utility';
-import TableView from '../../../components/TableView';
-import { register, fold, down, empty, link } from '@/assets/images';
+import { Space } from 'antd';
import ProgressStep from '@/components/ProgressStep/VisitStep';
-import { ApplyDialog, AgentDialog, Respondent, Company } from '../visit/component/previewTable';
+import ApplyInfo from './ApplyInfo';
+import Preview from '../visit/preview';
import HandleRecord from './HandleRecord';
-import { useParams } from 'react-router-dom';
-import ApplyInfo from './ApplyInfo'
-
+import { Scrollbars } from "react-custom-scrollbars";
+import RateModule from './RateModule';
+import RegisInfoModule from './RegisInfoModule';
const Step = Steps.Step;
const TabPane = Tabs.TabPane;
@@ -39,13 +38,13 @@
const FileMessage = (props) => {
- const routeData = useParams();
+ const caseTaskId = $$.getQueryString('caseTaskId')
+ const caseId = $$.getQueryString('caseId')
const [tabsActive, setTabsActive] = useState('1');
const [current, setCurrent] = useState(7);
- const [grade, setGrade] = useState(0);
+ const [grade, setGrade] = useState(null);
const [caseInfo, setCaseInfo] = useState({})
const [TransactResult, setTransactResult] = useState({})
- const [filesCheck, setFilesCheck] = useState(false);
const [tabsList, setTabList] = useState([
{
img: result,
@@ -64,88 +63,41 @@
key: '3',
},
])
- const [selectedTab, setSelectedTab] = useState('1'); // 默认选中第一个 tab
const [list, setList] = useState([])
- const [progressData, setProgressData] = useState({})
+ const [progressData, setProgressData] = useState({});
+ useEffect(() => {
+ getByCaseId(caseId);
+ getTransactResult(caseId);
+ getCaseInfo(caseId);
+ listFeedback(caseId);
+ getData(caseId)
+ }, [])
- const tabs = [
- { index: '1', label: '承办部门' },
- { index: '2', label: '配合部门' },
- ];
- const fakeData = [
- {
- handlerUserName: '天河区棠下街综治中心',
- finishTime: new Date().getTime() - 24 * 60 * 60 * 1000, // 一天前的时间
- handleResult: '1',
- status: '2',
- taskNodeName: '来访登记',
- mediResult: '22_00025-1',
- handleContent: '调解成功,双方达成一致意见。',
- operationName: '李晓明'
- },
- {
- handlerUserName: '系统派单',
- finishTime: new Date().getTime() - 12 * 60 * 60 * 1000, // 半天前的时间
- handleResult: '1',
- status: '2',
- taskNodeName: '事件流转',
- mediResult: '22_00025-1',
- handleContent: '派单至:白云区新市街市场监管所',
- },
- {
- handlerUserName: '白云区新市街市场监管所',
- finishTime: new Date().getTime() - 11 * 60 * 60 * 1000, // 半天前的时间
- handleResult: '1',
- status: '2',
- taskNodeName: '事件流转',
- mediResult: '22_00025-1',
- handleContent: '已签收',
- operationName: '赵菲菲'
- },
- {
- handlerUserName: '白云区新市街市场监管所',
- finishTime: new Date().getTime() - 11 * 60 * 60 * 1000, // 半天前的时间
- handleResult: '1',
- status: '3',
- taskNodeName: '事件回退',
- mediResult: '22_00025-1',
- // handleContent: '已签收',
- operationName: '赵菲菲'
- },
- {
- handlerUserName: '天河区棠下街综治中心',
- finishTime: new Date().getTime() - 6 * 60 * 60 * 1000, // 6小时前的时间
- handleResult: '2',
- status: '1',
- taskNodeName: '事件流转',
- mediResult: '22_00025-1',
- handleContent: '案件已被签收,准备开始调解。',
- operationName: '李晓明'
- },
- ];
-
- const handleTabChange = (newTabIndex) => {
- setSelectedTab(newTabIndex);
- };
-
- const getTransactResult = async () => {
- const res = await getTransactResultApi('24083010062110001')
+ const getTransactResult = async (id) => {
+ const res = await getTransactResultApi(id)
if (res.type) {
setTransactResult({ ...res.data, fileName: res.data.fileInfoBaseDTOList.map(item => item.trueName) })
}
}
- const getByCaseId = async () => {
- const res = await getByCaseIdApi('24083010062110001')
- setGrade(res.data)
- console.log(res, 'resrs')
+ const getByCaseId = async (id) => {
+ const res = await getByCaseIdApi(id)
+ if (res.type) {
+ setGrade(res.data)
+ }
}
- const getCaseInfo = async () => {
- const res = await getCaseInfoApi('24083010062110001')
+ const getCaseInfo = async (id) => {
+ const res = await getCaseInfoApi(id)
if (res.type) {
- setCaseInfo(res.data)
+ const { agentList, personList, ...rest } = res.data
+ const parList = agentList.concat(personList)
+ const obj = {
+ ...rest,
+ fakeData: parList,
+ }
+ setCaseInfo(obj)
}
}
@@ -157,594 +109,92 @@
}
}
- const getData = async () => {
+ const getData = async (id) => {
const res = await getListCaseFlow({
- caseId: routeData.caseId
+ caseId: id
})
if (res.type) {
setProgressData(res.data)
}
}
- const fakeColumns = [
- {
- title: '序号',
- dataIndex: 'caseNo',
- key: 'caseNo',
- width: 100,
- render: (text, record, index) => <span>{index + 1}</span>,
- },
- {
- title: '材料类型',
- dataIndex: 'judicNo',
- key: 'judicNo',
- width: 60,
-
- },
- {
- title: '材料数量',
- dataIndex: 'inputUserName',
- key: 'perClassName',
- width: 180,
- render: (text) => (
- <>
- {text}份
- </>
- )
-
- },
- {
- title: '最新上传时间',
- dataIndex: 'perClassName',
- key: 'perClassName',
- width: 180,
-
- },
- {
- title: '操作',
- dataIndex: 'perClassName',
- key: 'perClassName',
- width: 200,
- render: (text) => (
- <div style={{ display: 'flex', color: '#1A6FB8', gap: '16px' }}>
- <div onClick={() => setFilesCheck(true)}>查看</div>
- <div>下载</div>
- </div>
- )
- },
- // 更多列配置...
- ];
- const fakeData1 = [
- {
- id: 1,
- caseNo: 'A20230101',
- judicNo: '申请材料',
- perClassName: '李晓明的纠纷化解申请表、身份证...',
- inputUserName: '0',
- mediateUserName: '2024-7-12 12:00',
- judgeName: '王五',
- mediator: '赵六',
- handlerUserName: '钱七',
- returnUserName: '孙八',
- expireTime: '2023-08-10T08:00:00.000Z',
- processName: '进行中',
- otherMediator: '周九',
- canalName: '网络',
- judicResult: '通过',
- assistName: '吴十',
- mediTypeName: '民事调解',
- serieStatus: '1', // 1 表示非系列案,2 表示系列案
- // 更多字段...
- },
- {
- id: 2,
- caseNo: 'A20230101',
- judicNo: '证据材料',
- perClassName: '李晓明的纠纷化解申请表、身份证...',
- inputUserName: '0',
- mediateUserName: '2024-7-12 12:00',
- judgeName: '王五',
- mediator: '赵六',
- handlerUserName: '钱七',
- returnUserName: '孙八',
- expireTime: '2023-08-10T08:00:00.000Z',
- processName: '进行中',
- otherMediator: '周九',
- canalName: '网络',
- judicResult: '通过',
- assistName: '吴十',
- mediTypeName: '民事调解',
- serieStatus: '1', // 1 表示非系列案,2 表示系列案
- // 更多字段...
- },
-
- // 更多数据...
- ];
- const [records, setRecords] = useState([
- {
- id: 1,
- date: '2024 - 7 - 1 10:00',
- location: '天河区棠下街综治中心',
- remark: '配合部门',
- showView: false,
- details: [
- {
- title: '操作人',
- content: (
- <div style={{ display: 'flex' }}>
- <div>李晓明</div>
- <img src={register} alt='' style={{ width: '14px', height: '14px', marginLeft: '8px', marginTop: '4px' }} />
- </div>
- ),
- },
- {
- title: '办理意见',
- content: (
- <div>
- 调解开始,我首先安抚双方情绪,确保对话在一个平和的氛围中展开。随后,我引导王先生详细说明了他的财务困境及还款意愿,同时让银行代表理解其处境,强调长期合作的重要性。经过反复沟通,银行同意调整还款计划,降低利率,并给予王先生一定的宽限期。王先生则承诺按新计划履行还款义务,双方最终达成一致,签署了调解协议。
- </div>
- ),
- },
- {
- title: '办理附件',
- content: (
- <a href="your-link-here.html" target="_blank">
- <img src={link} alt="" className="title-file" />江照月法人身份证明.pdf
- </a>
- ),
- },
- ],
- },
- {
- id: 2,
- date: '2024 - 7 - 2 14:00',
- location: '天河区天河南街道办事处',
- remark: '承办部门',
- showView: false,
- details: [
- {
- title: '操作人',
- content: (
- <div style={{ display: 'flex' }}>
- <div>张伟</div>
- <img src={register} alt='' style={{ width: '14px', height: '14px', marginLeft: '8px', marginTop: '4px' }} />
- </div>
- ),
- },
- {
- title: '办理意见',
- content: (
- <div>
- 在本次协调会议中,我们成功解决了双方之间的纠纷,确保了所有参与方的利益得到了妥善处理。通过深入交流,各方达成了共识,同意采取一系列措施来解决现存的问题。
- </div>
- ),
- },
- {
- title: '办理附件',
- content: '广州市天河区天河南路200号',
- },
- ],
- },
- ]);
- const toggleView = (id) => {
- setRecords(records.map(record => {
- if (record.id === id) {
- return {
- ...record,
- showView: !record.showView,
- };
- }
- return record;
- }));
- };
-
-
- useEffect(() => {
- getByCaseId();
- getTransactResult();
- getCaseInfo();
- listFeedback('24083010062110001');
- getData()
- }, [])
-
-
- const applyData = caseInfo?.personList?.filter(item => item.perTypeName === "申请方当事人" && item.perClassName === "自然人");
- const agentData = caseInfo?.personList?.filter(item => item.perTypeName === "申请方代理人");
- const company = caseInfo?.personList?.filter(item => item.perTypeName === "申请方当事人" && item.perClassName === "非法人组织");
- const respondentData = caseInfo?.personList?.filter(item => item.perTypeName === "申请方当事人" && item.perClassName === "法人");
-
- const applyData1 = caseInfo?.personList?.filter(item => item.perTypeName === "被申请方当事人" && item.perClassName === "自然人");
- const agentData1 = caseInfo?.personList?.filter(item => item.perTypeName === "被申请方代理人");
- const company1 = caseInfo?.personList?.filter(item => item.perTypeName === "被申请方当事人" && item.perClassName === "非法人组织");
- const respondentData1 = caseInfo?.personList?.filter(item => item.perTypeName === "被申请方当事人" && item.perClassName === "法人");
-
-
-
-
return (
- <>
- <NewPage
- pageHead={
- { breadcrumbData: [{ title: '工作台' }, { title: '事件中心' }], title: '详情' }
- }
+ <NewPage
+ pageHead={
+ { breadcrumbData: [{ title: '工作台' }, { title: '事件中心' }], title: '详情' }
+ }
+ >
+ <Tabs
+ defaultActiveTab='1'
+ onChange={(v) => setTabsActive(v)}
+ className='myTabContent'
>
- <Tabs
- defaultActiveTab='1'
- onChange={(v) => setTabsActive(v)}
- className='myTabContent'
- >
- {tabsList?.map(item => {
- return <TabPane
- key={item.key}
- title={
- <span>
- {tabsActive === item.key && <img src={item.img} alt="" style={{ width: '16px', height: '16px', margin: '-5px 12px 0px 0px' }} />}
- <span style={{ fontSize: '16px' }}>{item.label}</span>
- </span>
- }
- >
- {
- item.isNeedStep && <div style={{ backgroundColor: '#fff', margin: '12px 16px 0px 16px', paddingTop: '16px', paddingLeft: '91px' }}>
- <Steps type='navigation' current={current}>
- <Step title='来访登记' disabled />
- <Step title='事件流转' disabled />
- <Step title='办理反馈' disabled />
- <Step title='结案审核' disabled />
- <Step title='当事人评价' disabled />
- <Step title='结案归档' disabled />
- </Steps>
+ {tabsList?.map(item => {
+ return <TabPane
+ key={item.key}
+ title={
+ <span>
+ {tabsActive === item.key && <img src={item.img} alt="" style={{ width: '16px', height: '16px', margin: '-5px 12px 0px 0px' }} />}
+ <span style={{ fontSize: '16px' }}>{item.label}</span>
+ </span>
+ }
+ >
+ {
+ item.isNeedStep && <div style={{ backgroundColor: '#fff', margin: '0 16px', paddingTop: '16px', paddingLeft: '91px' }}>
+ <Steps type='navigation' current={current}>
+ <Step title='来访登记' disabled />
+ <Step title='事件流转' disabled />
+ <Step title='办理反馈' disabled />
+ <Step title='结案审核' disabled />
+ <Step title='当事人评价' disabled />
+ <Step title='结案归档' disabled />
+ </Steps>
+ </div>
+ }
+ {
+ tabsActive === '1' &&
+ <>
+ <Scrollbars style={{ height: 'calc(100vh - 291px)', marginTop: '8px' }} autoHide>
+ <div style={{ backgroundColor: '#ffff', margin: '0 16px 0px 16px', padding: '12px' }}>
+ <Preview mainId={caseId} data={caseInfo} transactResult={TransactResult} isDoc={true} />
+ </div>
+ {list.length != 0 &&
+ <div style={{ backgroundColor: '#ffff', margin: '8px 16px 0px 16px', padding: '12px' }}>
+ <Space size='small'>
+ <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>办理记录({list.length})</h4>
+ </Space>
+ <HandleRecord isReview={true} data={list} />
+ </div>
+ }
+ {grade &&
+ <div style={{ backgroundColor: '#ffff', margin: '8px 16px 0px 16px', padding: '12px' }}>
+ <RateModule grade={grade} />
+ </div>
+ }
+ <div style={{ backgroundColor: '#ffff', margin: '8px 16px 65px 16px', padding: '12px' }}>
+ <RegisInfoModule caseInfo={caseInfo} />
+ </div>
+ </Scrollbars>
+ <div className="dataSync-excel">
+ <Space size="large" style={{ margin: '4px 14px' }}>
+ <Button type='primary' >导出</Button>
+ <Button type='secondary' >返回上级页面</Button>
+ </Space>
</div>
- }
- {tabsActive === '1' &&
- <>
- <div style={{ backgroundColor: '#ffff', margin: '8px 8px 0px 16px', padding: '12px 18px 16px 16px', height: 'calc(100vh - 278px)', overflowY: 'scroll' }}>
- <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '8px' }}>
- <Space size='small'>
- <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>当事人信息</h4>
- </Space>
- </Col>
- <div style={{ marginBottom: '8px' }}>申请方</div>
- <div className="line-container" style={{ marginBottom: '20px' }}>
- <div className="line left-line"></div>
- <div className="line middle-line"></div>
- <div className="line right-line"></div>
- </div>
- {/* ApplyDialog 只有在 applyData 存在且不为空时才渲染 */}
- {applyData && applyData.length > 0 ? (
- <ApplyDialog applyDialog={applyData} />
- ) : null}
-
- {/* AgentDialog 只有在 agentData 存在且不为空时才渲染 */}
- {agentData && agentData.length > 0 ? (
- <AgentDialog agentDialog={agentData} />
- ) : null}
-
- {/* Respondent 只有在 respondentData 存在且不为空时才渲染 */}
- {respondentData && respondentData.length > 0 ? (
- <Respondent respondent={respondentData} />
- ) : null}
-
- {company && company.length > 0 ? (
- <Company company={company} />
- ) : null}
-
- <div style={{ marginBottom: '8px' }}>被申请方</div>
- <div className="line-container" style={{ marginBottom: '20px' }}>
- <div className="line left-line"></div>
- <div className="line middle-line"></div>
- <div className="line right-line"></div>
- </div>
- {applyData1 && applyData1.length > 0 ? (
- <ApplyDialog applyDialog={applyData1} />
- ) : null}
-
- {agentData1 && agentData1.length > 0 ? (
- <AgentDialog agentDialog={agentData1} />
- ) : null}
-
- {respondentData1 && respondentData1.length > 0 ? (
- <Respondent respondent={respondentData1} />
- ) : null}
-
- {company1 && company1.length > 0 ? (
- <Company company={company1} />
- ) : null}
- <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '4px' }}>
- <Space size='small'>
- <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h5>纠纷基本情况</h5>
- </Space>
- </Col>
- <Row gutter={[16, 16]}>
- <Col span={8}>
- <div><div className="title-text">事项状态</div></div>
- <div style={{ color: '#1A6FB8' }}>{caseInfo?.statusName || '-'}</div>
- </Col>
- <Col span={16}>
- <div><div className="title-text">事项编号</div></div>
- <div>{caseInfo?.caseRef || '-'}</div>
- </Col>
- {/*事项等级分为三级,颜色需要做判断*/}
- <Col span={8}>
- <div className="title"><div className="title-text">事项等级</div></div>
- <div style={{ display: 'flex' }}><div style={{ backgroundColor: '#00B42A', marginRight: '4px', borderRadius: '4px' }}><div style={{ color: '#FFFFFF', padding: '0px 6px' }}>{caseInfo?.caseLevel || '-'}</div></div>级</div>
- </Col>
- <Col span={8}>
- <div><div className="title-text">来访时间</div></div>
- <div>{caseInfo?.visitTime || '-'}</div>
- </Col>
- <Col span={8}>
- <div ><div className="title-text">来访人数(人)</div></div>
- <div>{caseInfo?.visitPeopleNum || '-'}</div>
- </Col>
- <Col span={8}>
- <div ><div className="title-text">纠纷类型</div></div>
- <div>{caseInfo?.caseType || '-'}</div>
- </Col>
- <Col span={8}>
- <div ><div className="title-text">纠纷发生时间</div></div>
- <div>{caseInfo?.occurTime || '-'}</div>
- </Col>
- <Col span={8}>
- <div ><div className="title-text">纠纷发生地点</div></div>
- <div>{caseInfo?.addr || '-'}</div>
- </Col>
- <Col span={8}>
- <div ><div className="title-text">问题属地</div></div>
- <div>{caseInfo?.questionName || '-'}</div>
- </Col>
- <Col span={8}>
- <div ><div className="title-text">涉及人数(人)</div></div>
- <div>{caseInfo?.peopleNum || '-'}</div>
- </Col>
- <Col span={8}>
- <div ><div className="title-text">涉及金额(元)</div></div>
- <div>{$$.thousands(caseInfo?.amount) || '-'}</div>
- </Col>
- <Col span={8}>
- <div ><div className="title-text">事项来源</div></div>
- <div>{caseInfo?.canalName || '-'}</div>
- </Col>
- <Col span={16}>
- <div ><div className="title-text">来访形式</div></div>
- <div>{caseInfo?.visitWayName || '-'}</div>
- </Col>
- <Col span={24}>
- <div className="title"><div className="title-text">事项概况</div></div>
- <div>{caseInfo?.caseDes || '-'}</div>
- </Col>
- <Col span={24}>
- <div className="title"><div className="title-text">事项申请</div></div>
- <div>{caseInfo?.caseClaim || '-'}</div>
- </Col>
- <Col span={16}>
- <div className="title"><div className="title-text">是否重大矛盾纠纷</div></div>
- <div>{caseInfo?.majorStatus === '0' ? '否' : '是'}</div>
- </Col>
- </Row>
- <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '16px', marginTop: '20px' }}>
- <Space size='small'>
- <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>办理结果</h4>
- </Space>
- </Col>
- <table border="1" align="center" cellpadding="8" className="table" >
- <tr>
- <th bgcolor="#F7F8FA" className="table-title" width="120">化解结果</th>
- <td width='380'>{TransactResult.mediResultName || '-'}</td>
- <th bgcolor="#F7F8FA" className="table-title" width="120">经办人</th>
- <td width='380'>{TransactResult.mediator || '-'}</td>
- </tr>
- <tr>
- <th bgcolor="#F7F8FA" className="table-title">承办部门</th>
- <td>{TransactResult.mediateUnitName || '-'}</td>
- <th bgcolor="#F7F8FA" className="table-title">配合部门</th>
- <td>{TransactResult.applyAssistUnitName || '-'}</td>
- </tr>
- <tr>
- <th bgcolor="#F7F8FA" className="table-title" width="120">受理时间</th>
- <td width='380'>2024-7-1 10:00</td>
- <th bgcolor="#F7F8FA" className="table-title" width="120">办结时间</th>
- <td width='380'>{TransactResult?.fileTime || '-'}</td>
- </tr>
- <tr>
- <th bgcolor="#F7F8FA" className="table-title" width="120">办理意见</th>
- <td width='380' colspan='3'>{TransactResult?.windupContent || '-'}</td>
- </tr>
- <tr>
- <th bgcolor="#F7F8FA" className="table-title" width="120">协议要点</th>
- <td width='380' colspan='3'>{TransactResult?.agreeContent || '-'}</td>
- </tr>
- <tr>
- <th bgcolor="#F7F8FA" className="table-title" width="120">结案意见</th>
- <td width='380' colspan='3'>{TransactResult?.windupContent || '-'}</td>
- </tr>
- <tr>
- <th bgcolor="#F7F8FA" className="table-title" width="120">协议文书</th>
- <td colspan='3'>
- <a href="your-link-here.html" target="_blank">
- <img src={link} alt="" className="title-file" />申请人张三丰的人民调解协议书.pdf
- </a>
- </td>
- </tr>
- </table>
- <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '16px', marginTop: '20px' }}>
- <Space size='small'>
- <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>事件材料</h4>
- </Space>
- </Col>
- <TableView
- columns={fakeColumns}
- dataSource={fakeData1}
- size="small"
- rowKey="id"
- bordered={true}
- style={{ marginBottom: '16px' }}
- />
- <div className='gap'></div>
- <Col span={24} style={{ marginTop: '12px' }}>
- <div style={{ color: 'rgb(134, 144, 156)' }}>办理记录</div>
- <HandleRecord isReview={false} data={list} />
-
- {/* <div>
- {records.map(record => (
- <div key={record.id} className='container-bottom-left-record'>
- <div className='container-bottom-left-record-top'>
- {
- record.showView ? (
- <img src={down} alt='' style={{ width: '18px', marginRight: '6px' }} onClick={() => toggleView(record.id)} />
- ) : (
- <img src={fold} alt='' className='container-bottom-left-record-top-icon' onClick={() => toggleView(record.id)} />
- )
- }
- <div>{`${record.date} ${record.location}`}</div>
- <div className={`container-bottom-left-record-top-${record.remark === '配合部门' ? 'remark' : 'hostOrg'}`}>{record.remark}</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'>
- {record.details.map(detail => (
- <tr key={detail.title}>
- <th bgcolor="#F7F8FA" className="table-title" width="120">{detail.title}</th>
- <td>{detail.content}</td>
- </tr>
- ))}
- </table>
- </div>
- </div>
- ))}
- </div> */}
- </Col>
- <div className='gap'></div>
- <div style={{ marginLeft: '-16px' }}>
- <Tabs defaultActiveTab='1'>
- <TabPane
- key='1'
- title={
- <span style={{ fontSize: '15px' }}>
- 流转进度
- </span>
- }
- >
- <Typography.Paragraph>
- <div style={{ display: 'flex', marginLeft: '16px', gap: '16px' }}>
- {tabs.map((tab) => (
- <div
- key={tab.index}
- style={{
- color: selectedTab === tab.index ? 'rgba(26,111,184,1)' : 'rgba(0,0,0,0.45)',
- padding: '6px 12px',
- border: `1px solid ${selectedTab === tab.index ? 'rgba(26,111,184,1)' : 'rgba(229,230,235,1)'}`,
- borderRadius: '4px',
- cursor: 'pointer',
- }}
- onClick={() => handleTabChange(tab.index)}
- >
- {tab.label}
- </div>
- ))}
- </div>
- {selectedTab === '1' &&
- <div className='progress'>
- <ProgressStep progressData={fakeData} />
- </div>
- }
- </Typography.Paragraph>
- </TabPane>
- <TabPane
- key='2'
- title={
- <span style={{ fontSize: '15px' }}>
- 督办信息
- </span>
- }
- >
- <Typography.Paragraph>Content of Tab Panel 2</Typography.Paragraph>
- </TabPane>
- </Tabs>
-
- </div>
- <div className='gap'></div>
- <Col span={24} style={{ display: 'flex', alignItems: 'center', margin: '12px 0px 4px 0px' }}>
- <Space size='small'>
- <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>当事人评价</h4>
- </Space>
- </Col>
- <Row gutter={[16, 16]}>
- <Col span={8}>
- <div className="title">
- <div className="title-text">评价等级</div>
- </div>
- <div style={{ display: 'flex' }}><Rate value={grade?.evaluateGrade} disabled /></div>
- </Col>
- <Col span={8}>
- <div className="title">
- <div className="title-text">评价时间</div>
- </div>
- <div>{grade?.createTime || '-'}</div>
- </Col>
- <Col span={8}>
- <div className="title">
- <div className="title-text">评价人</div>
- </div>
- <div>{grade?.evaluateUserName || '-'}</div>
- </Col>
- <Col span={12}>
- <div className="title">
- <div className="title-text">评语</div>
- </div>
- <div>{grade?.evaluateContent}</div>
- </Col>
- </Row>
- <div className='gap'></div>
- <Col span={24} style={{ display: 'flex', alignItems: 'center', margin: '12px 0px 4px 0px' }}>
- <Space size='small'>
- <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>登记信息</h4>
- </Space>
- </Col>
- <Row gutter={[16, 16]} style={{ marginBottom: '90px' }}>
- <Col span={8}>
- <div className="title">
- <div className="title-text">登记机构</div>
- </div>
- <div>{caseInfo?.inputUnitName || '-'}</div>
- </Col>
- <Col span={8}>
- <div className="title">
- <div className="title-text">登记人</div>
- </div>
- <div>
- {caseInfo.inputUserName}
- <img src={register} alt='' style={{ width: '14px', height: '14px', marginLeft: '8px', marginTop: '4px' }} />
- </div>
- </Col>
- <Col span={8}>
- <div className="title">
- <div className="title-text">登记时间</div>
- </div>
- <div>{caseInfo?.visitTime || '-'}</div>
- </Col>
- </Row>
- </div>
- <div className="dataSync-excel">
- <Space size="large" style={{ margin: '4px 14px' }}>
- <Button type="primary" style={{ backgroundColor: '#1A6FB8' }} >导出</Button>
- <Button type='secondary'>返回上级页面</Button>
- </Space>
- </div>
- </>
- }
- {
- tabsActive === '2' &&
- <ProgressStep progressData={progressData} />
- }
- {tabsActive === '3' &&
- <ApplyInfo />
- }
- </TabPane>
- })}
- </Tabs>
-
-
- </NewPage>
- </>
+ </>
+ }
+ {
+ tabsActive === '2' &&
+ <ProgressStep progressData={progressData} />
+ }
+ {
+ tabsActive === '3' &&
+ <ApplyInfo />
+ }
+ </TabPane>
+ })}
+ </Tabs>
+ </NewPage>
)
}
diff --git a/gz-customerSystem/src/views/register/visit/component/previewTable.jsx b/gz-customerSystem/src/views/register/visit/component/previewTable.jsx
index 6ab1329..6785ad2 100644
--- a/gz-customerSystem/src/views/register/visit/component/previewTable.jsx
+++ b/gz-customerSystem/src/views/register/visit/component/previewTable.jsx
@@ -1,4 +1,4 @@
-import React from 'react';
+import React, { useEffect, useState } from 'react';
import { person, link } from '@/assets/images'
@@ -45,9 +45,18 @@
<td>{item.workUnit || '-'}</td>
<th bgcolor="#F7F8FA" className="table-title">身份证明材料</th>
<td>
- <a href="your-link-here.html" target="_blank">
- <img src={link} alt="" className="title-file" />李晓明身份证明材料.pdf
- </a>
+ {
+ item.fileInfoList?.map(res => {
+ if (res.ownerType == "22_00018-202") {
+ return res.fileList.map((result, resIndex) => {
+ return <a href="your-link-here.html" target="_blank">
+ <img src={link} alt="" className="title-file" />{result.trueName}
+ {resIndex !== res.fileList.length - 1 && <>,</>}
+ </a>
+ })
+ }
+ })
+ }
</td>
</tr>
</table>
@@ -106,15 +115,33 @@
<td>{item.personId || '-'}</td>
<th bgcolor="#F7F8FA" className="table-title">身份证明材料</th>
<td>
- <a href="your-link-here.html" target="_blank">
- <img src={link} alt="" className="title-file" />李巧凤身份证明材料.pdf
- </a>
+ {
+ item.fileInfoList?.map(res => {
+ if (res.ownerType == "22_00018-202") {
+ return res.fileList?.map((result, resIndex) => {
+ return <a href="your-link-here.html" target="_blank">
+ <img src={link} alt="" className="title-file" />{result.trueName}
+ {resIndex !== res.fileList.length - 1 && <>,</>}
+ </a>
+ })
+ }
+ })
+ }
</td>
<th bgcolor="#F7F8FA" className="table-title">代理人授权委托书</th>
<td>
- <a href="your-link-here.html" target="_blank">
- <img src={link} alt="" className="title-file" />李晓明身份证明材料.pdf
- </a>
+ {
+ item.fileInfoList?.map(res => {
+ if (res.ownerType == '22_00018-207') {
+ return res.fileList.map((result, resIndex) => {
+ return <a href="your-link-here.html" target="_blank">
+ <img src={link} alt="" className="title-file" />{result.trueName}
+ {resIndex !== res.fileList.length - 1 && <>,</>}
+ </a>
+ })
+ }
+ })
+ }
</td>
</tr>
@@ -151,15 +178,33 @@
<td>{item.placeAddr || '-'}</td>
<th bgcolor="#F7F8FA" className="table-title">企业登记材料</th>
<td>
- <a href="your-link-here.html" target="_blank">
- <img src={link} alt="" className="title-file" />广东好又多贸易有限公司营业执照副本.pdf
- </a>
+ {
+ item.fileInfoList?.map(res => {
+ if (res.ownerType == '22_00018-203') {
+ return res.fileList.map((result, resIndex) => {
+ return <a href="your-link-here.html" target="_blank">
+ <img src={link} alt="" className="title-file" />{result.trueName}
+ {resIndex !== res.fileList.length - 1 && <>,</>}
+ </a>
+ })
+ }
+ })
+ }
</td>
<th bgcolor="#F7F8FA" className="table-title" >法定代表人身份证明材料</th>
<td>
- <a href="your-link-here.html" target="_blank">
- <img src={link} alt="" className="title-file" />江照月法人身份证明.pdf
- </a>
+ {
+ item.fileInfoList?.map(res => {
+ if (res.ownerType == '22_00018-204') {
+ return res.fileList.map((result, resIndex) => {
+ return <a href="your-link-here.html" target="_blank">
+ <img src={link} alt="" className="title-file" />{result.trueName}
+ {resIndex !== res.fileList.length - 1 && <>,</>}
+ </a>
+ })
+ }
+ })
+ }
</td>
</tr>
</table>
@@ -197,15 +242,33 @@
<td>{item.placeAddr || '-'}</td>
<th bgcolor="#F7F8FA" className="table-title">机构登记材料</th>
<td>
- <a href="your-link-here.html" target="_blank">
- <img src={link} alt="" className="title-file" />广东好又多贸易有限公司营业执照副本.pdf
- </a>
+ {
+ item.fileInfoList?.map(res => {
+ if (res.ownerType == '22_00018-203') {
+ return res.fileList.map((result, resIndex) => {
+ return <a href="your-link-here.html" target="_blank">
+ <img src={link} alt="" className="title-file" />{result.trueName}
+ {resIndex !== res.fileList.length - 1 && <>,</>}
+ </a>
+ })
+ }
+ })
+ }
</td>
<th bgcolor="#F7F8FA" className="table-title" >机构代表人身份证明材料</th>
<td>
- <a href="your-link-here.html" target="_blank">
- <img src={link} alt="" className="title-file" />江照月法人身份证明.pdf
- </a>
+ {
+ item.fileInfoList?.map(res => {
+ if (res.ownerType == '22_00018-204') {
+ return res.fileList.map((result, resIndex) => {
+ return <a href="your-link-here.html" target="_blank">
+ <img src={link} alt="" className="title-file" />{result.trueName}
+ {resIndex !== res.fileList.length - 1 && <>,</>}
+ </a>
+ })
+ }
+ })
+ }
</td>
</tr>
</table>
diff --git a/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx b/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
index 0a883e8..305c8c3 100644
--- a/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
+++ b/gz-customerSystem/src/views/register/visit/component/visitorRegister.jsx
@@ -390,7 +390,10 @@
<div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>事件材料</h4>
</Space>
</Col>
- <FileTable mainId={props.mainId} fileInfoList={props.fileInfoList} isReview={false}/>
+ <div style={{ marginBottom: '65px' }}>
+ <FileTable mainId={props.mainId} fileInfoList={props.fileInfoList} isReview={false} />
+ </div>
+
<DocumentScanner
visible={scanFile}
diff --git a/gz-customerSystem/src/views/register/visit/index.jsx b/gz-customerSystem/src/views/register/visit/index.jsx
index 74a56cc..fba0412 100644
--- a/gz-customerSystem/src/views/register/visit/index.jsx
+++ b/gz-customerSystem/src/views/register/visit/index.jsx
@@ -8,7 +8,7 @@
*/
import React, { useState, useRef, Fragment, useEffect } from "react";
-import { useSearchParams, useNavigate } from 'react-router-dom';
+import { useParams, useNavigate } from 'react-router-dom';
import NewPage from '@/components/NewPage';
import * as $$ from '@/utils/utility';
import "@arco-themes/react-gzzz/css/arco.css";
@@ -17,7 +17,6 @@
import { Button, Steps, Message } from '@arco-design/web-react';
import VisitorRegister from './component/visitorRegister';
import Preview from './preview';
-import { useParams } from 'react-router-dom';
const Step = Steps.Step;
@@ -191,7 +190,9 @@
<Step title='结案归档' disabled />
</Steps>
</div>
- <Preview style={{ display: isReview ? '' : 'none' }} data={formRef?.current?.getFields()} />
+ <div style={{ backgroundColor: '#ffff', margin: '8px 8px 0px 16px', padding: '12px 18px 16px 16px', height: 'calc(100vh - 228px)', overflowY: 'scroll', display: isReview ? '' : 'none' }}>
+ <Preview style={{ display: isReview ? '' : 'none' }} data={formRef?.current?.getFields()} mainId={id} />
+ </div>
<VisitorRegister
formRef={formRef}
style={{ display: isReview ? 'none' : '' }}
diff --git a/gz-customerSystem/src/views/register/visit/preview.jsx b/gz-customerSystem/src/views/register/visit/preview.jsx
index 2d2c797..308a020 100644
--- a/gz-customerSystem/src/views/register/visit/preview.jsx
+++ b/gz-customerSystem/src/views/register/visit/preview.jsx
@@ -6,126 +6,18 @@
* @FilePath: \gzDyh\gz-customerSystem\src\views\basicInformation\organization\preview.jsx
* @Description: 预览信息
*/
-import React, { useState } from "react";
+import React, { useState, useEffect } from "react";
import { Row, Col, Space } from 'antd';
-import { person, question, link } from '../../../assets/images'
-import '../index.less';
-import TableView from '../../../components/TableView';
-import { Modal } from '@arco-design/web-react';
-import NewFileCheck from '../matterDetail/NewFileCheck';
import * as $$ from '../../../utils/utility';
import { ApplyDialog, AgentDialog, Respondent, Company } from './component/previewTable'
+import FileTable from "../matterDetail/FileTable";
+import { link } from '@/assets/images';
const Preview = (props) => {
- const [filesCheck, setFilesCheck] = useState(false);
- const [apply, setApply] = useState(false);
- const [visible, setVisible] = useState(false);
+ const [data, setData] = useState({})
- const fakeData1 = [
- {
- id: 1,
- caseNo: 'A20230101',
- judicNo: '申请材料',
- perClassName: '李晓明的纠纷化解申请表、身份证...',
- inputUserName: '0',
- mediateUserName: '2024-7-12 12:00',
- judgeName: '王五',
- mediator: '赵六',
- handlerUserName: '钱七',
- returnUserName: '孙八',
- expireTime: '2023-08-10T08:00:00.000Z',
- processName: '进行中',
- otherMediator: '周九',
- canalName: '网络',
- judicResult: '通过',
- assistName: '吴十',
- mediTypeName: '民事调解',
- serieStatus: '1', // 1 表示非系列案,2 表示系列案
- // 更多字段...
- },
- {
- id: 2,
- caseNo: 'A20230101',
- judicNo: '证据材料',
- perClassName: '李晓明的纠纷化解申请表、身份证...',
- inputUserName: '0',
- mediateUserName: '2024-7-12 12:00',
- judgeName: '王五',
- mediator: '赵六',
- handlerUserName: '钱七',
- returnUserName: '孙八',
- expireTime: '2023-08-10T08:00:00.000Z',
- processName: '进行中',
- otherMediator: '周九',
- canalName: '网络',
- judicResult: '通过',
- assistName: '吴十',
- mediTypeName: '民事调解',
- serieStatus: '1', // 1 表示非系列案,2 表示系列案
- // 更多字段...
- },
-
- // 更多数据...
- ];
-
- // 列配置
- const fakeColumns = [
- {
- title: '序号',
- dataIndex: 'caseNo',
- key: 'caseNo',
- width: 100,
- render: (text, record, index) => <span>{index + 1}</span>,
- },
- {
- title: '材料类型',
- dataIndex: 'judicNo',
- key: 'judicNo',
- width: 60,
-
- },
- {
- title: '材料数量',
- dataIndex: 'inputUserName',
- key: 'perClassName',
- width: 180,
- render: (text) => (
- <>
- {text}份
- </>
- )
-
- },
- {
- title: '材料名称',
- dataIndex: 'perClassName',
- key: 'perClassName',
- width: 180,
-
- },
- {
- title: '上传时间',
- dataIndex: 'mediateUserName',
- key: 'mediateUserName',
- width: 180,
-
- },
- {
- title: '操作',
- dataIndex: 'perClassName',
- key: 'perClassName',
- width: 200,
- render: (text) => (
- <div style={{ display: 'flex', color: '#1A6FB8', gap: '16px' }}>
- <div onClick={() => setFilesCheck(true)}>查看</div>
- <div>下载</div>
- </div>
- )
- },
- // 更多列配置...
- ];
-
-
+ useEffect(() => {
+ console.log(props.data);
const applyData = props.data?.fakeData?.filter(item => item.perTypeName === "申请方当事人" && item.perClassName === "自然人");
const agentData = props.data?.fakeData?.filter(item => item.perTypeName === "申请方代理人");
const company = props.data?.fakeData?.filter(item => item.perTypeName === "申请方当事人" && item.perClassName === "非法人组织");
@@ -136,168 +28,216 @@
const company1 = props.data?.fakeData?.filter(item => item.perTypeName === "被申请方当事人" && item.perClassName === "非法人组织");
const respondentData1 = props.data?.fakeData?.filter(item => item.perTypeName === "被申请方当事人" && item.perClassName === "法人");
- console.log(props.data, 'props.data')
+ setData({
+ applyData,
+ agentData,
+ company,
+ respondentData,
+ applyData1,
+ agentData1,
+ company1,
+ respondentData1
+ })
+ }, [props.data])
+ return (
+ <div style={{ ...props.style }}>
+ <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '8px' }}>
+ <Space size='small'>
+ <div className='MediationInfo-subTitle' style={{ marginTop: '-7px' }}></div><h4>当事人信息</h4>
+ </Space>
+ </Col>
+ <div style={{ marginBottom: '8px' }}>申请方</div>
+ <div className="line-container" style={{ marginBottom: '20px' }}>
+ <div className="line left-line"></div>
+ <div className="line middle-line"></div>
+ <div className="line right-line"></div>
+ </div>
+ {/* ApplyDialog 只有在 applyData 存在且不为空时才渲染 */}
+ {data.applyData && data.applyData.length > 0 ? (
+ <ApplyDialog applyDialog={data.applyData} />
+ ) : null}
+ {/* AgentDialog 只有在 agentData 存在且不为空时才渲染 */}
+ {data.agentData && data.agentData.length > 0 ? (
+ <AgentDialog agentDialog={data.agentData} />
+ ) : null}
+ {/* Respondent 只有在 respondentData 存在且不为空时才渲染 */}
+ {data.respondentData && data.respondentData.length > 0 ? (
+ <Respondent respondent={data.respondentData} />
+ ) : null}
+ {data.company && data.company.length > 0 ? (
+ <Company company={data.company} />
+ ) : null}
- return (
- <div style={{ backgroundColor: '#ffff', margin: '8px 8px 0px 16px', padding: '12px 18px 16px 16px', height: 'calc(100vh - 228px)', overflowY: 'scroll', ...props.style }}>
- <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '8px' }}>
- <Space size='small'>
- <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>当事人信息</h4>
- </Space>
+ <div style={{ marginBottom: '8px' }}>被申请方</div>
+ <div className="line-container" style={{ marginBottom: '20px' }}>
+ <div className="line left-line"></div>
+ <div className="line middle-line"></div>
+ <div className="line right-line"></div>
+ </div>
+ {data.applyData1 && data.applyData1.length > 0 ? (
+ <ApplyDialog applyDialog={data.applyData1} />
+ ) : null}
+
+ {data.agentData1 && data.agentData1.length > 0 ? (
+ <AgentDialog agentDialog={data.agentData1} />
+ ) : null}
+
+ {data.respondentData1 && data.respondentData1.length > 0 ? (
+ <Respondent respondent={data.respondentData1} />
+ ) : null}
+
+ {data.company1 && data.company1.length > 0 ? (
+ <Company company={data.company1} />
+ ) : null}
+ <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '8px' }}>
+ <Space size='small'>
+ <div className='MediationInfo-subTitle' style={{ marginTop: '-7px' }}></div><h4>纠纷基本情况</h4>
+ </Space>
+ </Col>
+ <Row gutter={[16, 16]}>
+ {props.isDoc &&
+ <>
+ <Col span={8}>
+ <div><div className="title-text">事项状态</div></div>
+ <div style={{ color: '#1A6FB8' }}>{props.data?.statusName || '-'}</div>
</Col>
- <div style={{ marginBottom: '8px' }}>申请方</div>
- <div className="line-container" style={{ marginBottom: '20px' }}>
- <div className="line left-line"></div>
- <div className="line middle-line"></div>
- <div className="line right-line"></div>
- </div>
- {/* ApplyDialog 只有在 applyData 存在且不为空时才渲染 */}
- {applyData && applyData.length > 0 ? (
- <ApplyDialog applyDialog={applyData} />
- ) : null}
-
- {/* AgentDialog 只有在 agentData 存在且不为空时才渲染 */}
- {agentData && agentData.length > 0 ? (
- <AgentDialog agentDialog={agentData} />
- ) : null}
-
- {/* Respondent 只有在 respondentData 存在且不为空时才渲染 */}
- {respondentData && respondentData.length > 0 ? (
- <Respondent respondent={respondentData} />
- ) : null}
-
- {company && company.length > 0 ? (
- <Company company={company} />
- ) : null}
-
- <div style={{ marginBottom: '8px' }}>被申请方</div>
- <div className="line-container" style={{ marginBottom: '20px' }}>
- <div className="line left-line"></div>
- <div className="line middle-line"></div>
- <div className="line right-line"></div>
- </div>
- {applyData1 && applyData1.length > 0 ? (
- <ApplyDialog applyDialog={applyData1} />
- ) : null}
-
- {agentData1 && agentData1.length > 0 ? (
- <AgentDialog agentDialog={agentData1} />
- ) : null}
-
- {respondentData1 && respondentData1.length > 0 ? (
- <Respondent respondent={respondentData1} />
- ) : null}
-
- {company1 && company1.length > 0 ? (
- <Company company={company1} />
- ) : null}
- <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '8px' }}>
- <Space size='small'>
- <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>纠纷基本情况</h4>
- </Space>
+ <Col span={16}>
+ <div><div className="title-text">事项编号</div></div>
+ <div>{props.data?.caseRef || '-'}</div>
</Col>
- <Row gutter={[16, 16]}>
- <Col span={8}>
- <div className="title">
- <div className="title-text">事项等级</div>
- </div>
- <div style={{ display: 'flex' }}><div style={{ backgroundColor: '#00B42A', marginRight: '4px', borderRadius: '4px' }}><div style={{ color: '#FFFFFF', padding: '0px 6px' }}>{props.data?.caseLevel || '-'}</div></div>级</div>
- </Col>
- <Col span={8}>
- <div><div className="title-text">来访时间</div></div>
- <div>{props.data?.visitTime || '-'}</div>
- </Col>
- <Col span={8}>
- <div ><div className="title-text">来访人数(人)</div></div>
- <div>{props.data?.visitPeopleNum || '-'}</div>
- </Col>
- <Col span={8}>
- <div ><div className="title-text">纠纷类型</div></div>
- <div>
- {props.data?.caseTypeFirstName ?
- `${props.data.caseTypeFirstName}/${props.data.caseTypeName}`
- : '-'
- }
- </div>
- </Col>
- <Col span={8}>
- <div ><div className="title-text">纠纷发生时间</div></div>
- <div>{props.data?.occurTime || '-'}</div>
- </Col>
- <Col span={8}>
- <div ><div className="title-text">纠纷发生地点</div></div>
- <div>{props.data?.addr || '-'}</div>
- </Col>
- <Col span={8}>
- <div ><div className="title-text">问题属地</div></div>
- <div>
- {props.data?.queProvName ?
- `${props.data.queProvName}/${props.data.queCityName}/${props.data.queAreaName}/${props.data.queRoadName}`
- : '-'
- }
- </div>
- </Col>
- <Col span={8}>
- <div ><div className="title-text">涉及人数(人)</div></div>
- <div>{props.data?.peopleNum || '-'}</div>
- </Col>
- <Col span={8}>
- <div ><div className="title-text">涉及金额(元)</div></div>
- <div>{$$.thousands(props.data?.amount) || '-'}</div>
- </Col>
- <Col span={8}>
- <div ><div className="title-text">事项来源</div></div>
- <div>大厅来访</div>
- </Col>
- <Col span={16}>
- <div ><div className="title-text">来访形式</div></div>
- <div>来访</div>
- </Col>
- <Col span={24}>
- <div className="title"><div className="title-text">事项概况</div></div>
- <div>{props.data?.caseDes || '-'} </div>
- </Col>
- <Col span={24}>
- <div className="title"><div className="title-text">事项申请</div></div>
- <div>{props.data?.caseClaim || '-'}</div>
- </Col>
- <Col span={16}>
- <div className="title"><div className="title-text">是否重大矛盾纠纷</div></div>
- <div>{props.data?.majorStatus === 1 ? '是' : '否'}</div>
- </Col>
- </Row>
- <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '8px', marginTop: '20px' }}>
- <Space size='small'>
- <div className='MediationInfo-subTitle' style={{ marginTop: '-9px' }}></div><h4>事件材料</h4>
- </Space>
- </Col>
-
- <TableView
- columns={fakeColumns}
- dataSource={fakeData1}
- size="small"
- rowKey="id"
- bordered={true}
- style={{ marginBottom: '65px' }}
- />
-
- <Modal style={{ width: '1200px' }} visible={filesCheck} onCancel={() => setFilesCheck(false)} footer={null} title='查看事件材料' centered>
- {/* <div className="mediationWindow-modal-main" style={{ display: 'flex' }}> */}
- <div style={{ marginTop: '-16px' }}>
- <NewFileCheck />
- </div>
-
- {/* </div> */}
- </Modal>
-
-
-
- </div>
- )
+ </>
+ }
+ <Col span={8}>
+ <div className="title">
+ <div className="title-text">事项等级</div>
+ </div>
+ <div style={{ display: 'flex' }}><div style={{ backgroundColor: '#00B42A', marginRight: '4px', borderRadius: '4px' }}><div style={{ color: '#FFFFFF', padding: '0px 6px' }}>{props.data?.caseLevel || '-'}</div></div>级</div>
+ </Col>
+ <Col span={8}>
+ <div><div className="title-text">来访时间</div></div>
+ <div>{props.data?.visitTime || '-'}</div>
+ </Col>
+ <Col span={8}>
+ <div ><div className="title-text">来访人数(人)</div></div>
+ <div>{props.data?.visitPeopleNum || '-'}</div>
+ </Col>
+ <Col span={8}>
+ <div ><div className="title-text">纠纷类型</div></div>
+ <div>
+ {props.data?.caseTypeFirstName ?
+ `${props.data.caseTypeFirstName}/${props.data.caseTypeName}`
+ : '-'
+ }
+ </div>
+ </Col>
+ <Col span={8}>
+ <div ><div className="title-text">纠纷发生时间</div></div>
+ <div>{props.data?.occurTime || '-'}</div>
+ </Col>
+ <Col span={8}>
+ <div ><div className="title-text">纠纷发生地点</div></div>
+ <div>{props.data?.addr || '-'}</div>
+ </Col>
+ <Col span={8}>
+ <div ><div className="title-text">问题属地</div></div>
+ <div>
+ {props.data?.queProvName ?
+ `${props.data.queProvName}/${props.data.queCityName}/${props.data.queAreaName}/${props.data.queRoadName}`
+ : '-'
+ }
+ </div>
+ </Col>
+ <Col span={8}>
+ <div ><div className="title-text">涉及人数(人)</div></div>
+ <div>{props.data?.peopleNum || '-'}</div>
+ </Col>
+ <Col span={8}>
+ <div ><div className="title-text">涉及金额(元)</div></div>
+ <div>{$$.thousands(props.data?.amount) || '-'}</div>
+ </Col>
+ <Col span={8}>
+ <div ><div className="title-text">事项来源</div></div>
+ <div>大厅来访</div>
+ </Col>
+ <Col span={16}>
+ <div ><div className="title-text">来访形式</div></div>
+ <div>来访</div>
+ </Col>
+ <Col span={24}>
+ <div className="title"><div className="title-text">事项概况</div></div>
+ <div>{props.data?.caseDes || '-'} </div>
+ </Col>
+ <Col span={24}>
+ <div className="title"><div className="title-text">事项申请</div></div>
+ <div>{props.data?.caseClaim || '-'}</div>
+ </Col>
+ <Col span={16}>
+ <div className="title"><div className="title-text">是否重大矛盾纠纷</div></div>
+ <div>{props.data?.majorStatus === 1 ? '是' : '否'}</div>
+ </Col>
+ </Row>
+ {props.transactResult && <>
+ <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '16px', marginTop: '20px' }}>
+ <Space size='small'>
+ <div className='MediationInfo-subTitle' style={{ marginTop: '-7px' }}></div><h4>办理结果</h4>
+ </Space>
+ </Col>
+ <table border="1" align="center" cellpadding="8" className="table" >
+ <tr>
+ <th bgcolor="#F7F8FA" className="table-title" width="120">化解结果</th>
+ <td width='380'>{props.transactResult.mediResultName || '-'}</td>
+ <th bgcolor="#F7F8FA" className="table-title" width="120">经办人</th>
+ <td width='380'>{props.transactResult.mediator || '-'}</td>
+ </tr>
+ <tr>
+ <th bgcolor="#F7F8FA" className="table-title">承办部门</th>
+ <td>{props.transactResult.mediateUnitName || '-'}</td>
+ <th bgcolor="#F7F8FA" className="table-title">配合部门</th>
+ <td>{props.transactResult.applyAssistUnitName || '-'}</td>
+ </tr>
+ <tr>
+ <th bgcolor="#F7F8FA" className="table-title" width="120">受理时间</th>
+ <td width='380'>2024-7-1 10:00</td>
+ <th bgcolor="#F7F8FA" className="table-title" width="120">办结时间</th>
+ <td width='380'>{props.transactResult?.fileTime || '-'}</td>
+ </tr>
+ <tr>
+ <th bgcolor="#F7F8FA" className="table-title" width="120">办理意见</th>
+ <td width='380' colspan='3'>{props.transactResult?.windupContent || '-'}</td>
+ </tr>
+ <tr>
+ <th bgcolor="#F7F8FA" className="table-title" width="120">协议要点</th>
+ <td width='380' colspan='3'>{props.transactResult?.agreeContent || '-'}</td>
+ </tr>
+ <tr>
+ <th bgcolor="#F7F8FA" className="table-title" width="120">结案意见</th>
+ <td width='380' colspan='3'>{props.transactResult?.windupContent || '-'}</td>
+ </tr>
+ <tr>
+ <th bgcolor="#F7F8FA" className="table-title" width="120">协议文书</th>
+ <td colspan='3'>
+ {props.transactResult?.fileInfoBaseDTOList?.map((item, index) => {
+ return <a href="your-link-here.html" target="_blank">
+ <img src={link} alt="" className="title-file" />{item.trueName}
+ {index !== props.transactResult.fileInfoBaseDTOList.length - 1 && <>,</>}
+ </a>
+ })}
+ </td>
+ </tr>
+ </table>
+ </>}
+ <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '8px', marginTop: '20px' }}>
+ <Space size='small'>
+ <div className='MediationInfo-subTitle' style={{ marginTop: '-7px' }}></div><h4>事件材料</h4>
+ </Space>
+ </Col>
+ <FileTable mainId={props.mainId} fileInfoList={props.data?.fileInfoList} isReview={true} />
+ </div>
+ )
}
export default Preview
\ No newline at end of file
--
Gitblit v1.8.0