2 files added
6 files modified
| | |
| | | * @Company: hugeInfo |
| | | * @Author: lwh |
| | | * @Date: 2023-04-24 16:12:00 |
| | | * @LastEditTime: 2024-09-09 09:44:30 |
| | | * @LastEditTime: 2024-09-09 15:35:32 |
| | | * @LastEditors: dminyi 1301963064@qq.com |
| | | * @Version: 1.0.0 |
| | | * @Description: |
| | |
| | | import tab6 from "./tab6.png"; |
| | | import visitInto from "./visitInto.png"; |
| | | import checkInto from "./checkInto.png"; |
| | | import floating from "./floating.png"; |
| | | |
| | | export { |
| | | ledger_1, |
| | |
| | | tab5, |
| | | tab6, |
| | | visitInto, |
| | | checkInto |
| | | checkInto, |
| | | floating |
| | | }; |
| | |
| | | * @Company: hugeInfo |
| | | * @Author: ldh |
| | | * @Date: 2022-03-28 11:22:41 |
| | | * @LastEditTime: 2024-09-08 15:15:51 |
| | | * @LastEditTime: 2024-09-09 15:48:38 |
| | | * @LastEditors: dminyi 1301963064@qq.com |
| | | * @Version: 1.0.0 |
| | | * @Description: 路由 |
| | |
| | | <Route path="visit/:id?" element={<Visit />} /> |
| | | <Route path="visit/eventFlow/:caseTaskId?/:caseId?" element={<EventFlow />} /> |
| | | <Route path="visit/handleFeedback/:caseTaskId?/:caseId?" element={<HandleFeedback />} /> |
| | | <Route path="visit/fileMessage" element={<FileMessage />} /> |
| | | <Route path="visit/fileMessage/:caseTaskId?/:caseId?" element={<FileMessage />} /> |
| | | <Route path="visit/closingReview/:caseTaskId?/:caseId?" element={<ClosingReview />}/> |
| | | <Route path="visit/visitWorkBench" element={<VisitWorkBench />}/> |
| | | |
| | |
| | | src: url('../assets/font/DingTalk_JinBuTi_Regular.ttf'); |
| | | } |
| | | |
| | | @font-face { |
| | | font-family: DouYu; |
| | | src: url('../assets/font/DingTalk_JinBuTi_Regular.ttf'); |
| | | } |
| | | |
| | | html, |
| | | body { |
| | | margin: 0; |
| | |
| | | * @Author: dminyi 1301963064@qq.com |
| | | * @Date: 2024-09-08 15:14:12 |
| | | * @LastEditors: dminyi 1301963064@qq.com |
| | | * @LastEditTime: 2024-09-09 10:05:35 |
| | | * @LastEditTime: 2024-09-09 17:06:20 |
| | | * @FilePath: \gzDyh\gz-customerSystem\src\views\register\index.jsx |
| | | * @Description: 工作台 |
| | | */ |
| | | import React, { useState } from 'react'; |
| | | import { tab1, tab2, tab3, tab4, tab5, tab6,visitInto,checkInto } from '@/assets/images' |
| | | import React, { useEffect, useState } from 'react'; |
| | | import { useNavigate } from 'react-router-dom'; |
| | | import { tab1, tab2, tab3, tab4, tab5, tab6, visitInto, checkInto } from '@/assets/images' |
| | | import TableView from '../../components/TableView'; |
| | | import { Space } from 'antd'; |
| | | import { Tabs, Typography } from '@arco-design/web-react'; |
| | | import { Tabs, Typography, Radio } from '@arco-design/web-react'; |
| | | import * as $$ from '@/utils/utility'; |
| | | |
| | | const TabPane = Tabs.TabPane; |
| | | |
| | | function pageMyTaskBlApi(data) { |
| | | return $$.ax.request({ url: `caseTask/pageMyTaskBl`, type: 'get', service: 'mediate', data }); |
| | | } |
| | | |
| | | function getCountListApi(data) { |
| | | return $$.ax.request({ url: `caseTask/getCountList`, type: 'get', service: 'mediate', data }); |
| | | } |
| | | |
| | | const VisitWorkBench = () => { |
| | | const navigate = useNavigate(); |
| | | const [tabActivekey, setTabActivekey] = useState('1') |
| | | const [column, setColumn] = useState('1') |
| | | const [CountList, setCountList] = useState({}) |
| | | const [direction, setDirection] = useState('回退审核') |
| | | const tabsList = [ |
| | | { |
| | | key: '1', |
| | | label: '待分派', |
| | | bgColor: '#E8F8FF', |
| | | num: 10, |
| | | num: `${CountList?.waitDisp}`, |
| | | img: tab1 |
| | | }, |
| | | { |
| | | key: '2', |
| | | label: '待签收', |
| | | bgColor: '#E8FFEA', |
| | | num: 30, |
| | | num: `${CountList?.waitSign}`, |
| | | img: tab2 |
| | | |
| | | }, |
| | |
| | | key: '3', |
| | | label: '待受理', |
| | | bgColor: '#F5E8FF', |
| | | num: 50, |
| | | num: `${CountList?.waitAccept}`, |
| | | img: tab3 |
| | | |
| | | }, |
| | |
| | | key: '4', |
| | | label: '办理中', |
| | | bgColor: '#E6FFFB', |
| | | num: 60, |
| | | num: `${CountList?.waitReview}`, |
| | | img: tab4 |
| | | |
| | | }, |
| | |
| | | key: '5', |
| | | label: '待审核', |
| | | bgColor: '#E8F7FF', |
| | | num: 70, |
| | | num: `${CountList?.supervise}`, |
| | | img: tab5 |
| | | |
| | | }, |
| | |
| | | key: '6', |
| | | label: '督办', |
| | | bgColor: '#FFF7E6', |
| | | num: 80, |
| | | num: `${CountList?.processing}`, |
| | | img: tab6 |
| | | |
| | | }, |
| | | ] |
| | | |
| | | const [fakeData1, setFakeData1] = useState( |
| | | const fakeData1 = |
| | | [ |
| | | { |
| | | id: 1, |
| | |
| | | // 更多字段... |
| | | }, |
| | | { |
| | | id: 2, |
| | | id: 3, |
| | | caseNo: 'A20230101', |
| | | judicNo: '证据材料', |
| | | perClassName: '李晓明的纠纷化解申请表、身份证...', |
| | |
| | | // 更多字段... |
| | | }, |
| | | { |
| | | id: 2, |
| | | id: 4, |
| | | caseNo: 'A20230101', |
| | | judicNo: '证据材料', |
| | | perClassName: '李晓明的纠纷化解申请表、身份证...', |
| | |
| | | // 更多字段... |
| | | }, |
| | | { |
| | | id: 2, |
| | | id: 5, |
| | | caseNo: 'A20230101', |
| | | judicNo: '证据材料', |
| | | perClassName: '李晓明的纠纷化解申请表、身份证...', |
| | |
| | | // 更多字段... |
| | | }, |
| | | { |
| | | id: 2, |
| | | id: 6, |
| | | caseNo: 'A20230101', |
| | | judicNo: '证据材料', |
| | | perClassName: '李晓明的纠纷化解申请表、身份证...', |
| | |
| | | // 更多字段... |
| | | }, |
| | | { |
| | | id: 2, |
| | | id: 7, |
| | | caseNo: 'A20230101', |
| | | judicNo: '证据材料', |
| | | perClassName: '李晓明的纠纷化解申请表、身份证...', |
| | |
| | | // 更多字段... |
| | | }, |
| | | { |
| | | id: 2, |
| | | id: 8, |
| | | caseNo: 'A20230101', |
| | | judicNo: '证据材料', |
| | | perClassName: '李晓明的纠纷化解申请表、身份证...', |
| | |
| | | // 更多字段... |
| | | }, |
| | | { |
| | | id: 2, |
| | | id: 9, |
| | | caseNo: 'A20230101', |
| | | judicNo: '证据材料', |
| | | perClassName: '李晓明的纠纷化解申请表、身份证...', |
| | |
| | | // 更多字段... |
| | | }, |
| | | { |
| | | id: 2, |
| | | id: 10, |
| | | caseNo: 'A20230101', |
| | | judicNo: '证据材料', |
| | | perClassName: '李晓明的纠纷化解申请表、身份证...', |
| | |
| | | |
| | | // 更多数据... |
| | | ] |
| | | ) |
| | | |
| | | const [columnType, setColumnType] = useState([ |
| | | { |
| | | title: '流转时间', |
| | | dataIndex: 'turnaroundTime', |
| | | key: 'turnaroundTime', |
| | | width: 100, |
| | | }, |
| | | { |
| | | title: '分派时限', |
| | | dataIndex: 'timeLimit', |
| | | key: 'timeLimit', |
| | | width: 60, |
| | | }, |
| | | { |
| | | title: '事项等级', |
| | | dataIndex: 'caseGrade', |
| | | key: 'caseGrade', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '事项来源', |
| | | dataIndex: 'caseSource', |
| | | key: 'caseSource', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '事项类型', |
| | | dataIndex: 'caseType', |
| | | key: 'caseType', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '申请方', |
| | | dataIndex: 'plaintiffs', |
| | | key: 'plaintiffs', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '被申请方', |
| | | dataIndex: 'defendants', |
| | | key: 'defendants', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '操作', |
| | | dataIndex: 'actions', |
| | | key: 'actions', |
| | | width: 180, |
| | | render: (text, record) => ( |
| | | <Space style={{ color: '#1A6FB8' }}> |
| | | <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div> |
| | | <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div> |
| | | </Space> |
| | | ), |
| | | }, |
| | | ]) |
| | | |
| | | // 列配置 |
| | | const [fakeColumns, setFakeColumns] = useState([ |
| | | const fakeColumns3 = [ |
| | | { |
| | | title: tabActivekey === '5' ? '回退时间' : tabActivekey === '6' ? '督办时间' : '流转时间', |
| | | dataIndex: 'caseNo', |
| | | key: 'caseNo', |
| | | title: '流转时间', |
| | | dataIndex: 'turnaroundTime', |
| | | key: 'turnaroundTime', |
| | | width: 100, |
| | | render: (text, record, index) => <span>{index + 1}</span>, |
| | | }, |
| | | { |
| | | title: '分派时限', |
| | | dataIndex: 'dispatchDeadline', |
| | | key: 'dispatchDeadline', |
| | | width: 60, |
| | | }, |
| | | { |
| | | title: '签收时限', |
| | | dataIndex: 'receiptDeadline', |
| | | key: 'receiptDeadline', |
| | | width: 60, |
| | | }, |
| | | { |
| | | title: '受理时限', |
| | | dataIndex: 'acceptanceDeadline', |
| | | key: 'acceptanceDeadline', |
| | | width: 60, |
| | | }, |
| | | { |
| | | title: '已办天数', |
| | | dataIndex: 'processedDays', |
| | | key: 'processedDays', |
| | | width: 60, |
| | | }, |
| | | { |
| | | title: '回复时限', |
| | | dataIndex: 'replyDeadline', |
| | | key: 'replyDeadline', |
| | | dataIndex: 'timeLimit', |
| | | key: 'timeLimit', |
| | | width: 60, |
| | | }, |
| | | { |
| | | title: '事项等级', |
| | | dataIndex: 'matterLevel', |
| | | key: 'matterLevel', |
| | | dataIndex: 'caseGrade', |
| | | key: 'caseGrade', |
| | | width: 180, |
| | | render: (text) => ( |
| | | <> |
| | | {text}份 |
| | | </> |
| | | ), |
| | | }, |
| | | { |
| | | title: '事项来源', |
| | | dataIndex: 'matterSource', |
| | | key: 'matterSource', |
| | | dataIndex: 'caseSource', |
| | | key: 'caseSource', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '事项类型', |
| | | dataIndex: 'matterType', |
| | | key: 'matterType', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '承办部门', |
| | | dataIndex: 'handlingDepartment', |
| | | key: 'handlingDepartment', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '配合部门', |
| | | dataIndex: 'cooperatingDepartment', |
| | | key: 'cooperatingDepartment', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '督办部门', |
| | | dataIndex: 'supervisionDepartment', |
| | | key: 'supervisionDepartment', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '督办意见', |
| | | dataIndex: 'supervisionOpinion', |
| | | key: 'supervisionOpinion', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '经办人', |
| | | dataIndex: 'handler', |
| | | key: 'handler', |
| | | dataIndex: 'caseType', |
| | | key: 'caseType', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '申请方', |
| | | dataIndex: 'applicant', |
| | | key: 'applicant', |
| | | dataIndex: 'plaintiffs', |
| | | key: 'plaintiffs', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '被申请方', |
| | | dataIndex: 'respondent', |
| | | key: 'respondent', |
| | | dataIndex: 'defendants', |
| | | key: 'defendants', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '操作', |
| | | dataIndex: 'actions', |
| | | key: 'actions', |
| | | width: 180, |
| | | render: (text, record) => ( |
| | | <Space style={{ color: '#1A6FB8' }}> |
| | | <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div> |
| | | <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div> |
| | | </Space> |
| | | ), |
| | | }, |
| | | ]; |
| | | const fakeColumns1 = [ |
| | | { |
| | | title: '流转时间', |
| | | dataIndex: 'turnaroundTime', |
| | | key: 'turnaroundTime', |
| | | width: 100, |
| | | render: (text, record, index) => <span>{index + 1}</span>, |
| | | }, |
| | | { |
| | | title: '签收时限', |
| | | dataIndex: 'timeLimit', |
| | | key: 'timeLimit', |
| | | width: 60, |
| | | }, |
| | | { |
| | | title: '事项等级', |
| | | dataIndex: 'caseGrade', |
| | | key: 'caseGrade', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '事项来源', |
| | | dataIndex: 'caseSource', |
| | | key: 'caseSource', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '事项类型', |
| | | dataIndex: 'caseType', |
| | | key: 'caseType', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '申请方', |
| | | dataIndex: 'plaintiffs', |
| | | key: 'plaintiffs', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '被申请方', |
| | | dataIndex: 'defendants', |
| | | key: 'defendants', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '操作', |
| | | dataIndex: 'actions', |
| | | key: 'actions', |
| | | width: 180, |
| | | render: (text, record) => ( |
| | | <Space style={{ color: '#1A6FB8' }}> |
| | | <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div> |
| | | <div>签收</div> |
| | | </Space> |
| | | ), |
| | | }, |
| | | ]; |
| | | const fakeColumns2 = [ |
| | | { |
| | | title: '流转时间', |
| | | dataIndex: 'turnaroundTime', |
| | | key: 'turnaroundTime', |
| | | width: 100, |
| | | }, |
| | | { |
| | | title: '受理时限', |
| | | dataIndex: 'timeLimit', |
| | | key: 'timeLimit', |
| | | width: 60, |
| | | }, |
| | | { |
| | | title: '事项等级', |
| | | dataIndex: 'caseGrade', |
| | | key: 'caseGrade', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '事项来源', |
| | | dataIndex: 'caseSource', |
| | | key: 'caseSource', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '事项类型', |
| | | dataIndex: 'caseType', |
| | | key: 'caseType', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '申请方', |
| | | dataIndex: 'plaintiffs', |
| | | key: 'plaintiffs', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '被申请方', |
| | | dataIndex: 'defendants', |
| | | key: 'defendants', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '操作', |
| | | dataIndex: 'actions', |
| | | key: 'actions', |
| | | width: 180, |
| | | render: (text, record) => ( |
| | | <Space style={{ color: '#1A6FB8' }}> |
| | | <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div> |
| | | <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div> |
| | | </Space> |
| | | ), |
| | | }, |
| | | ]; |
| | | |
| | | const [column, setColumn] = useState([ |
| | | { |
| | | title: '流转时间', |
| | | dataIndex: 'turnaroundTime', |
| | | key: 'turnaroundTime', |
| | | width: 100, |
| | | }, |
| | | { |
| | | title: '已办天数', |
| | | dataIndex: 'processingDays', |
| | | key: 'processingDays', |
| | | width: 60, |
| | | }, |
| | | { |
| | | title: '事项等级', |
| | | dataIndex: 'caseGrade', |
| | | key: 'caseGrade', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '事项来源', |
| | | dataIndex: 'caseSource', |
| | | key: 'caseSource', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '事项类型', |
| | | dataIndex: 'caseType', |
| | | key: 'caseType', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '承办部门', |
| | | dataIndex: 'organizingUnit', |
| | | key: 'organizingUnit', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '配合部门', |
| | | dataIndex: 'cooperatingUnit', |
| | | key: 'cooperatingUnit', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '经办人', |
| | | dataIndex: 'manager', |
| | | key: 'manager', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '申请方', |
| | | dataIndex: 'plaintiffs', |
| | | key: 'plaintiffs', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '被申请方', |
| | | dataIndex: 'defendants', |
| | | key: 'defendants', |
| | | width: 180, |
| | | }, |
| | | { |
| | |
| | | width: 180, |
| | | render: (text, record) => ( |
| | | <Space> |
| | | <div>详情</div> |
| | | <div>处理</div> |
| | | <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div> |
| | | <div onClick={() => navigate(`/mediate/visit/handleFeedback?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div> |
| | | </Space> |
| | | ), |
| | | }, |
| | | ]); |
| | | ]) |
| | | |
| | | const [backColumn, setBackColumn] = useState([ |
| | | { |
| | | title: '回退时间', |
| | | dataIndex: 'turnaroundTime', |
| | | key: 'turnaroundTime', |
| | | width: 100, |
| | | }, |
| | | { |
| | | title: '回退部门', |
| | | dataIndex: 'backUnit', |
| | | key: 'backUnit', |
| | | width: 60, |
| | | }, |
| | | { |
| | | title: '回退理由', |
| | | dataIndex: 'reason', |
| | | key: 'reason', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '事项等级', |
| | | dataIndex: 'caseGrade', |
| | | key: 'caseGrade', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '事项来源', |
| | | dataIndex: 'caseSource', |
| | | key: 'caseSource', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '事项类型', |
| | | dataIndex: 'caseType', |
| | | key: 'caseType', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '申请方', |
| | | dataIndex: 'plaintiffs', |
| | | key: 'plaintiffs', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '被申请方', |
| | | dataIndex: 'defendants', |
| | | key: 'defendants', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '操作', |
| | | dataIndex: 'actions', |
| | | key: 'actions', |
| | | width: 180, |
| | | render: (text, record) => ( |
| | | <Space> |
| | | <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div> |
| | | {/* <div onClick={() => navigate(`/mediate/visit/handleFeedback?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div> */} |
| | | {(direction === '回退审核' || direction === '上报审核') && |
| | | <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div> |
| | | |
| | | } |
| | | {(direction === '结案申请审核' || direction === '联合处置审核') && |
| | | <div onClick={() => navigate(`/mediate/visit/handleFeedback?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div> |
| | | } |
| | | </Space> |
| | | ), |
| | | }, |
| | | ]) |
| | | |
| | | const [mangeColumn, setMangeColumn] = useState([ |
| | | { |
| | | title: '督办时间', |
| | | dataIndex: 'turnaroundTime', |
| | | key: 'turnaroundTime', |
| | | width: 100, |
| | | render: (text, record, index) => <span>{index + 1}</span>, |
| | | }, |
| | | { |
| | | title: '回复时限', |
| | | dataIndex: 'timeLimit', |
| | | key: 'timeLimit', |
| | | width: 60, |
| | | }, |
| | | { |
| | | title: '督办部门', |
| | | dataIndex: 'caseGrade', |
| | | key: 'caseGrade', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '督办意见', |
| | | dataIndex: 'opinion', |
| | | key: 'opinion', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '事项等级', |
| | | dataIndex: 'caseGrade', |
| | | key: 'caseGrade', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '事项来源', |
| | | dataIndex: 'caseSource', |
| | | key: 'caseSource', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '事项类型', |
| | | dataIndex: 'caseType', |
| | | key: 'caseType', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '申请方', |
| | | dataIndex: 'plaintiffs', |
| | | key: 'plaintiffs', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '被申请方', |
| | | dataIndex: 'defendants', |
| | | key: 'defendants', |
| | | width: 180, |
| | | }, |
| | | { |
| | | title: '操作', |
| | | dataIndex: 'actions', |
| | | key: 'actions', |
| | | width: 180, |
| | | render: (text, record) => ( |
| | | <Space> |
| | | <div>回复</div> |
| | | <div>详情</div> |
| | | </Space> |
| | | ), |
| | | }, |
| | | ]) |
| | | |
| | | |
| | | |
| | | |
| | | const tabActive = (key) => { |
| | | setTabActivekey(key) |
| | | console.log(key, 'key') |
| | | setTabActivekey(key); |
| | | if (key === '1') { |
| | | setColumnType(fakeColumns3) |
| | | } |
| | | if (key === '2') { |
| | | setColumnType(fakeColumns1) |
| | | } |
| | | if (key === '3') { |
| | | setColumnType(fakeColumns2) |
| | | } |
| | | if (key === '4') { |
| | | setColumnType(column) |
| | | } |
| | | if (key === '5') { |
| | | setColumnType(backColumn) |
| | | } |
| | | if (key === '6') { |
| | | setColumnType(mangeColumn) |
| | | } |
| | | } |
| | | |
| | | // const columnChange = async () => { |
| | | // const res = await columnChangeApi() |
| | | // if (res.type) { |
| | | // setColumn(res.data) |
| | | // } |
| | | // } |
| | | |
| | | const handleColumnType = () => { |
| | | const columnList = column.filter(item => fakeColumns.some(itemNew => itemNew.title === item.title)) |
| | | setFakeColumns(columnList) |
| | | const pageMyTaskBl = async () => { |
| | | const res = await pageMyTaskBlApi({ page: 1, size: 10, timeStart: '', timeEnd: '', partyName: '', sortType: '', sortColmn: '' }) |
| | | if (res.type) { |
| | | console.log(res.data, 'res.data') |
| | | // setColumn(res.data) |
| | | } |
| | | } |
| | | |
| | | const getCountList = async () => { |
| | | const res = await getCountListApi() |
| | | if (res.type) { |
| | | const data = res.data |
| | | setCountList(data) |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | useEffect(() => { |
| | | // pageMyTaskBl(); |
| | | getCountList(); |
| | | }, [columnType,direction]) |
| | | |
| | | |
| | | |
| | |
| | | <div className='VisitWorkBench-middle'> |
| | | <Tabs defaultActiveTab='1'> |
| | | <TabPane |
| | | onChange={handleColumnType} |
| | | // onChange={handleColumnType} |
| | | key='1' |
| | | title={ |
| | | <span style={{ fontSize: '15px' }}> |
| | |
| | | } |
| | | > |
| | | <Typography.Paragraph> |
| | | {tabActivekey === '5' && |
| | | <Radio.Group |
| | | type='button' |
| | | name='direction' |
| | | value={direction} |
| | | onChange={(e) => setDirection(e)} |
| | | style={{ marginBottom: 16 }} |
| | | options={['回退审核', '上报审核', '结案申请审核', '联合处置审核']} |
| | | ></Radio.Group> |
| | | } |
| | | <TableView |
| | | columns={fakeColumns} |
| | | columns={columnType} |
| | | dataSource={fakeData1} |
| | | size="small" |
| | | rowKey="id" |
| | |
| | | <Typography.Paragraph> |
| | | </Typography.Paragraph> |
| | | </TabPane> |
| | | {tabActivekey === '4' && |
| | | <TabPane |
| | | key='3' |
| | | title={ |
| | | <span style={{ fontSize: '15px' }}> |
| | | 已结案 |
| | | </span> |
| | | } |
| | | > |
| | | <Typography.Paragraph> |
| | | </Typography.Paragraph> |
| | | </TabPane> |
| | | } |
| | | |
| | | </Tabs> |
| | | |
| | | </div> |
| | | <div className='VisitWorkBench-bottom'> |
| | | 自行排查 |
| | | <div style={{ display: 'flex',justifyContent:'space-evenly' }}> |
| | | <div style={{display:'flex'}}> |
| | | <div className='VisitWorkBench-bottom-title'>大厅来访</div> |
| | | <img src={visitInto} alt='' className='VisitWorkBench-bottom-img'/> |
| | | <div style={{ display: 'flex', justifyContent: 'space-evenly' }}> |
| | | <div className='bottomTab1'> |
| | | <div className='VisitWorkBench-bottom-title' onClick={() => navigate(`/mediate/visit`)} style={{ color: '#206BCD' }}>大厅来访</div> |
| | | <img src={visitInto} alt='' className='VisitWorkBench-bottom-img' /> |
| | | </div> |
| | | <div style={{display:'flex'}}> |
| | | <div className='VisitWorkBench-bottom-title'>自行排查</div> |
| | | <img src={checkInto} alt='' className='VisitWorkBench-bottom-img'/> |
| | | <div className='bottomTab2'> |
| | | <div className='VisitWorkBench-bottom-title' style={{ color: '#D46B08' }}>自行排查</div> |
| | | <img src={checkInto} alt='' className='VisitWorkBench-bottom-img' /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | |
| | | &-title{ |
| | | width: 140px; |
| | | font-family: DingTalk; |
| | | font-size: 22px; |
| | | } |
| | | |
| | | &-img { |
| | |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | } |
| | | |
| | | .bottomTab1{ |
| | | // display: 'flex', background: linear-gradient(to right, #6a1b9a, #e040fb) |
| | | display: flex; |
| | | background: linear-gradient(to right, #E8F7FF, #9FD4FD); |
| | | padding: 12px 16px 16px 16px; |
| | | } |
| | | |
| | | .bottomTab2{ |
| | | display: flex; |
| | | background: linear-gradient(to right, #FFF7E6, #FFD591); |
| | | padding: 12px 16px 16px 16px; |
| | | |
| | | } |
| | |
| | | import NewPage from '@/components/NewPage'; |
| | | import { Row, Col, Space } from 'antd'; |
| | | import { Steps, Tabs, Typography, Rate, Button } from '@arco-design/web-react'; |
| | | import { apply } from '@/assets/images'; |
| | | import { apply,floating } from '@/assets/images'; |
| | | import { result } from '@/assets/images/icon'; |
| | | import * as $$ from '@/utils/utility'; |
| | | import { ApplyDialog, AgentDialog, Respondent } from '../visit/component/previewTable'; |
| | | import TableView from '../../../components/TableView'; |
| | | import { register, fold, down, empty, link } from '@/assets/images'; |
| | | import ProgressStep from '@/components/ProgressStep/VisitStep'; |
| | | import { ApplyDialog, AgentDialog, Respondent, Company } from '../visit/component/previewTable'; |
| | | import HandleRecord from './HandleRecord'; |
| | | import { useParams } from 'react-router-dom'; |
| | | import ApplyInfo from './ApplyInfo' |
| | | |
| | | |
| | | const Step = Steps.Step; |
| | | const TabPane = Tabs.TabPane; |
| | |
| | | return $$.ax.request({ url: `caseEvaluate/getByCaseId?caseId=${caseId}`, type: 'get', service: 'mediate' }); |
| | | } |
| | | |
| | | function getCaseInfoApi(id) { |
| | | return $$.ax.request({ url: 'caseInfo/getCaseInfo?id=' + id, type: 'get', service: 'mediate' }); |
| | | } |
| | | |
| | | function listFeedbackApi(id) { |
| | | return $$.ax.request({ url: `caseFeedback/listFeedback?id=` + id, type: 'get', service: 'mediate' }); |
| | | } |
| | | |
| | | function getListCaseFlow(data) { |
| | | return $$.ax.request({ url: `caseTask/listCaseFlow`, type: 'get', service: 'mediate', data }); |
| | | } |
| | | |
| | | |
| | | const FileMessage = (props) => { |
| | | |
| | | const routeData = useParams(); |
| | | const [tabsActive, setTabsActive] = useState('1'); |
| | | const [current, setCurrent] = useState(7); |
| | | const [grade, setGrade] = useState(0); |
| | | const [caseInfo, setCaseInfo] = useState({}) |
| | | const [TransactResult, setTransactResult] = useState({}) |
| | | const [filesCheck, setFilesCheck] = useState(false); |
| | | const [infoData, setInfoData] = useState({}); |
| | | const [tabsList, setTabList] = useState([ |
| | | { |
| | | img: result, |
| | |
| | | isNeedStep: true |
| | | }, |
| | | { |
| | | img: floating, |
| | | label: '流转督办', |
| | | key: '2', |
| | | }, |
| | | { |
| | | img: apply, |
| | | label: '申请记录', |
| | | key: '2', |
| | | isNeedStep: true,//加上这个就有进度条 |
| | | key: '3', |
| | | }, |
| | | ]) |
| | | const [selectedTab, setSelectedTab] = useState('1'); // 默认选中第一个 tab |
| | | const [list, setList] = useState([]) |
| | | const [progressData, setProgressData] = useState({}) |
| | | |
| | | |
| | | const tabs = [ |
| | |
| | | console.log(res, 'resrs') |
| | | } |
| | | |
| | | const applyDialog = [ |
| | | { |
| | | trueName: '李四', |
| | | perClassName: '高级', |
| | | phone: '13700137000', |
| | | sex: '女', |
| | | certiTypeName: '护照', |
| | | certiNo: 'G12345678', |
| | | nationName: '满', |
| | | addr: '上海市浦东新区某公寓2号楼2单元202室', |
| | | placeAddr: '上海市黄浦区某路3号', |
| | | extreme: '否', |
| | | workUnit: '上海某金融公司', |
| | | person: '/path/to/anotherPerson.jpg', // 这应该是图片的实际路径 |
| | | link: '/path/to/anotherLink.png', // 这应该是链接图标的实际路径 |
| | | const getCaseInfo = async () => { |
| | | const res = await getCaseInfoApi('24083010062110001') |
| | | if (res.type) { |
| | | setCaseInfo(res.data) |
| | | } |
| | | // 可以根据需要添加更多的对象来模拟更多条目的数据 |
| | | ]; |
| | | } |
| | | |
| | | const agentDialog = [ |
| | | { |
| | | trueName: '王五', |
| | | perClassName: '自然人', |
| | | phone: '13600136000', |
| | | sex: '男', |
| | | certiTypeName: '身份证', |
| | | certiNo: '110101199501012345', |
| | | nationName: '汉', |
| | | addr: '广州市天河区某大厦A座501室', |
| | | placeAddr: '广州市越秀区某街4号', |
| | | extreme: '否', |
| | | workUnit: '广州某贸易公司', |
| | | agentRelateName: '配偶', |
| | | agentTypeName: '法定代理人', |
| | | perTypeName: '成年人', |
| | | person: '/path/to/person.jpg', // 应该是图片的实际路径 |
| | | link: '/path/to/link.png', // 应该是链接图标的实际路径 |
| | | }, |
| | | ]; |
| | | const listFeedback = async (id) => { |
| | | const res = await listFeedbackApi(id) |
| | | if (res.type) { |
| | | let data = res.data.caseFeedbackList |
| | | setList(data) |
| | | } |
| | | } |
| | | |
| | | const respondent = [ |
| | | { |
| | | orgaType: '广东好又多贸易有限公司', |
| | | perClassName: '企业法人', |
| | | phone: '020-12345678', |
| | | address: '广州市天河区珠江新城花城大道66号', |
| | | companyType: '有限责任公司', |
| | | legalPerson: '江照月', |
| | | creditCode: '914401011234567890', |
| | | president: '广州市天河区珠江新城花城大道66号A座20层', |
| | | link: '/path/to/link.png', // 应该是链接图标的实际路径 |
| | | }, |
| | | ]; |
| | | const getData = async () => { |
| | | const res = await getListCaseFlow({ |
| | | caseId: routeData.caseId |
| | | }) |
| | | if (res.type) { |
| | | setProgressData(res.data) |
| | | } |
| | | } |
| | | |
| | | const fakeColumns = [ |
| | | { |
| | |
| | | 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 === "法人"); |
| | | |
| | | |
| | | |
| | |
| | | <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 applyDialog={applyDialog} /> |
| | | <AgentDialog agentDialog={agentDialog} /> |
| | | {/* 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> |
| | | <Respondent respondent={respondent} /> |
| | | {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> |
| | |
| | | <Row gutter={[16, 16]}> |
| | | <Col span={8}> |
| | | <div><div className="title-text">事项状态</div></div> |
| | | <div style={{ color: '#1A6FB8' }}>{infoData?.statusName || '-'}</div> |
| | | <div style={{ color: '#1A6FB8' }}>{caseInfo?.statusName || '-'}</div> |
| | | </Col> |
| | | <Col span={16}> |
| | | <div><div className="title-text">事项编号</div></div> |
| | | <div>{infoData?.caseRef || '-'}</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' }}>{infoData.caseLevel || '-'}</div></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>{infoData.visitTime || '-'}</div> |
| | | <div>{caseInfo?.visitTime || '-'}</div> |
| | | </Col> |
| | | <Col span={8}> |
| | | <div ><div className="title-text">来访人数(人)</div></div> |
| | | <div>{infoData.visitPeopleNum || '-'}</div> |
| | | <div>{caseInfo?.visitPeopleNum || '-'}</div> |
| | | </Col> |
| | | <Col span={8}> |
| | | <div ><div className="title-text">纠纷类型</div></div> |
| | | <div>{infoData.caseType || '-'}</div> |
| | | <div>{caseInfo?.caseType || '-'}</div> |
| | | </Col> |
| | | <Col span={8}> |
| | | <div ><div className="title-text">纠纷发生时间</div></div> |
| | | <div>{infoData.occurTime || '-'}</div> |
| | | <div>{caseInfo?.occurTime || '-'}</div> |
| | | </Col> |
| | | <Col span={8}> |
| | | <div ><div className="title-text">纠纷发生地点</div></div> |
| | | <div>{infoData.addr || '-'}</div> |
| | | <div>{caseInfo?.addr || '-'}</div> |
| | | </Col> |
| | | <Col span={8}> |
| | | <div ><div className="title-text">问题属地</div></div> |
| | | <div>{infoData.questionName || '-'}</div> |
| | | <div>{caseInfo?.questionName || '-'}</div> |
| | | </Col> |
| | | <Col span={8}> |
| | | <div ><div className="title-text">涉及人数(人)</div></div> |
| | | <div>{infoData.peopleNum || '-'}</div> |
| | | <div>{caseInfo?.peopleNum || '-'}</div> |
| | | </Col> |
| | | <Col span={8}> |
| | | <div ><div className="title-text">涉及金额(元)</div></div> |
| | | <div>{$$.thousands(infoData.amount) || '-'}</div> |
| | | <div>{$$.thousands(caseInfo?.amount) || '-'}</div> |
| | | </Col> |
| | | <Col span={8}> |
| | | <div ><div className="title-text">事项来源</div></div> |
| | | <div>{infoData.canalName || '-'}</div> |
| | | <div>{caseInfo?.canalName || '-'}</div> |
| | | </Col> |
| | | <Col span={16}> |
| | | <div ><div className="title-text">来访形式</div></div> |
| | | <div>{infoData.visitWayName || '-'}</div> |
| | | <div>{caseInfo?.visitWayName || '-'}</div> |
| | | </Col> |
| | | <Col span={24}> |
| | | <div className="title"><div className="title-text">事项概况</div></div> |
| | | <div>{infoData.caseDes || '-'}</div> |
| | | <div>{caseInfo?.caseDes || '-'}</div> |
| | | </Col> |
| | | <Col span={24}> |
| | | <div className="title"><div className="title-text">事项申请</div></div> |
| | | <div>{infoData.caseClaim || '-'}</div> |
| | | <div>{caseInfo?.caseClaim || '-'}</div> |
| | | </Col> |
| | | <Col span={16}> |
| | | <div className="title"><div className="title-text">是否重大矛盾纠纷</div></div> |
| | | <div>{infoData.majorStatus === '0' ? '否' : '是'}</div> |
| | | <div>{caseInfo?.majorStatus === '0' ? '否' : '是'}</div> |
| | | </Col> |
| | | </Row> |
| | | <Col span={24} style={{ display: 'flex', alignItems: 'center', marginBottom: '16px', marginTop: '20px' }}> |
| | |
| | | <div className='gap'></div> |
| | | <Col span={24} style={{ marginTop: '12px' }}> |
| | | <div style={{ color: 'rgb(134, 144, 156)' }}>办理记录</div> |
| | | <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'> |
| | |
| | | </div> |
| | | </div> |
| | | ))} |
| | | </div> |
| | | </div> */} |
| | | </Col> |
| | | <div className='gap'></div> |
| | | <div style={{ marginLeft: '-16px' }}> |
| | |
| | | <div className="title"> |
| | | <div className="title-text">登记机构</div> |
| | | </div> |
| | | <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> |
| | |
| | | <div className="title"> |
| | | <div className="title-text">登记时间</div> |
| | | </div> |
| | | <div>2024-7-8 10:00</div> |
| | | <div>{caseInfo?.visitTime || '-'}</div> |
| | | </Col> |
| | | </Row> |
| | | </div> |
| | |
| | | } |
| | | { |
| | | tabsActive === '2' && |
| | | <></> |
| | | <ProgressStep progressData={progressData} /> |
| | | } |
| | | {tabsActive === '3' && |
| | | <ApplyInfo /> |
| | | } |
| | | </TabPane> |
| | | })} |