From 2c947a24d56801c4c48c5d6ac7c43f1ede04d3d7 Mon Sep 17 00:00:00 2001 From: zhangyongtian <1181606322@qq.com> Date: Thu, 12 Sep 2024 15:39:47 +0800 Subject: [PATCH] feat: 大厅来访完善 --- gz-customerSystem/src/views/register/index.less | 2 gz-customerSystem/src/components/TableView/index.jsx | 79 + gz-customerSystem/src/api/appUrl.js | 4 gz-customerSystem/src/views/register/index.jsx | 1789 ++++++++++++++++++++++++++++++------------------------- 4 files changed, 1,032 insertions(+), 842 deletions(-) diff --git a/gz-customerSystem/src/api/appUrl.js b/gz-customerSystem/src/api/appUrl.js index ec6b2d5..c1f22f3 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://192.168.3.108:9002", + baseUrl: "http://eg9gsd.natappfree.cc", // baseUrl: 'http://mdqgnh.natappfree.cc', // 附件服务 - fileUrl: "http://192.168.3.108:9002", + fileUrl: "http://eg9gsd.natappfree.cc", // fileUrl: 'http://gz.hugeinfo.com.cn', // 文件查看url 后面接附件编号 diff --git a/gz-customerSystem/src/components/TableView/index.jsx b/gz-customerSystem/src/components/TableView/index.jsx index 6ef01a6..085038b 100644 --- a/gz-customerSystem/src/components/TableView/index.jsx +++ b/gz-customerSystem/src/components/TableView/index.jsx @@ -7,12 +7,13 @@ * @Version: 1.0.0 * @Description: 公共Table封装组件 */ -import React from 'react'; +import React, { useRef, useState, useEffect } from 'react'; import PropTypes from 'prop-types'; import { Space, Tooltip, Table } from 'antd'; import { ReloadOutlined, FolderFilled } from '@ant-design/icons'; import * as $$ from '../../utils/utility'; import './index.less'; +import { getOffset, getSize } from '@/utils/utility'; const TableView = ({ showHeader, @@ -30,6 +31,8 @@ scroll = null, expandable = null, rowClassName, + offsetHeight = 0,//高度偏移量 + tableHeight,//自定义表格高度 ...other }) => { // 80 ['类型','登记人','调解员','承办法官','调解员','签收人','退回人','处理时限','调解进度/司法确认进度','其他调解员','申请渠道','司法确认结果','助理/书记员','调解类型'] @@ -143,6 +146,27 @@ myColumns.push(x); }); + const scrollRef = useRef(null) + const [height, setHeight] = useState(500);//表格高度 + + useEffect(() => { + onWindowResize() + window.addEventListener("resize", onWindowResize); + // 返回一个函数,该函数会在组件卸载前执行 + return () => { + // 组件销毁时执行 + window.removeEventListener("resize", onWindowResize); + }; + }, []) + + const onWindowResize = () => { + let offsetTop = 0; + if (scrollRef && scrollRef.current) { + offsetTop = getOffset(scrollRef.current).top; + } + setHeight(getSize().windowH - offsetTop - 46 - offsetHeight) + }; + return ( <> {showHeader && ( @@ -171,30 +195,35 @@ </div> </div> )} - <Table - columns={myColumns} - dataSource={dataSource} - rowClassName={(record, index) => { - return `${rowClassName && rowClassName(record, index)}`; - }} - size={size} - rowKey={rowKey} - bordered={bordered} - rowSelection={rowSelection} - scroll={scroll} - expandable={expandable} - pagination={ - !pagination - ? false - : { - showSizeChanger: true, - showTotal: (total) => `共${total}条`, - pageSizeOptions: [10, 20, 30], - ...pagination, - } - } - {...other} - /> + <div style={{ height: height + 'px' }} id="table" ref={scrollRef}> + <Table + columns={myColumns} + dataSource={dataSource} + rowClassName={(record, index) => { + return `${rowClassName && rowClassName(record, index)}`; + }} + size={size} + rowKey={rowKey} + bordered={bordered} + rowSelection={rowSelection} + scroll={{ + y: height - 80, + ...scroll + }} + expandable={expandable} + pagination={ + !pagination + ? false + : { + showSizeChanger: true, + showTotal: (total) => `共${total}条`, + pageSizeOptions: [10, 20, 30], + ...pagination, + } + } + {...other} + /> + </div> </> ); }; diff --git a/gz-customerSystem/src/views/register/index.jsx b/gz-customerSystem/src/views/register/index.jsx index 844aef1..8dbea18 100644 --- a/gz-customerSystem/src/views/register/index.jsx +++ b/gz-customerSystem/src/views/register/index.jsx @@ -6,7 +6,7 @@ * @FilePath: \gzDyh\gz-customerSystem\src\views\register\index.jsx * @Description: 工作台 */ -import React, { useEffect, useState } from 'react'; +import React, { useEffect, useState, useRef } 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'; @@ -18,43 +18,46 @@ 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 }); } + //分派 function pageMyTaskFpApi(data) { - return $$.ax.request({ url: `caseTask/pageMyTaskFp?page=1&size=10&sortType=1&sortColmn=1&status=1`, type: 'get', service: 'mediate', data }); + return $$.ax.request({ url: `caseTask/pageMyTaskFp`, type: 'get', service: 'mediate', data }); } //签收 function pageMyTaskQsApi(data) { - return $$.ax.request({ url: `caseTask/pageMyTaskQs?page=1&size=10&sortType=1&sortColmn=1&status=1`, type: 'get', service: 'mediate', data }); + return $$.ax.request({ url: `caseTask/pageMyTaskQs`, type: 'get', service: 'mediate', data }); } //受理 function pageMyTaskSlApi(data) { - return $$.ax.request({ url: `caseTask/pageMyTaskSl?page=1&size=10&sortType=1&sortColmn=1&status=1`, type: 'get', service: 'mediate', data }); + return $$.ax.request({ url: `caseTask/pageMyTaskSl`, type: 'get', service: 'mediate', data }); } //办理中 function pageMyTaskBlzApi(data) { - return $$.ax.request({ url: `caseTask/pageMyTaskBlz?page=1&size=10&sortType=1&sortColmn=1&status=1`, type: 'get', service: 'mediate', data }); + return $$.ax.request({ url: `caseTask/pageMyTaskBlz`, type: 'get', service: 'mediate', data }); +} + +//办理中->结案申请、已结案接口 +function pageMyTaskBlApi(data) { + return $$.ax.request({ url: `caseTask/pageMyTaskBl`, type: 'get', service: 'mediate', data }); } //待审核 -function pageMyTaskShApi(type) { - return $$.ax.request({ url: `caseTask/pageMyTaskSh?page=1&size=10&sortType=1&status=0&type=` + type, type: 'get', service: 'mediate' }); +function pageMyTaskShApi(data) { + return $$.ax.request({ url: `caseTask/pageMyTaskSh`, type: 'get', service: 'mediate', data }); } - -//待审核 -function pageMyTaskBlApi(type) { - return $$.ax.request({ url: `caseTask/pageMyTaskBl?page=1&size=10&sortType=1&sortColmn=1&status=` + type, type: 'get', service: 'mediate' }); +//督办 +function pageMyTaskDbApi(data) { + return $$.ax.request({ url: `caseTask/pageMyTaskDb`, type: 'get', service: 'mediate', data }); } + //签收 function signApi(data) { @@ -63,241 +66,58 @@ const VisitWorkBench = () => { const navigate = useNavigate(); - const [tabActivekey, setTabActivekey] = useState('1') - const [CountList, setCountList] = useState({}) - const [direction, setDirection] = useState('回退审核') - const tabsList = [ + + // 静态数据 + //分派表头 + const assignColumns = [ { - key: '1', - label: '待分派', - bgColor: '#E8F8FF', - num: `${CountList?.waitDisp || '0'}`, - img: tab1 + title: '流转时间', + dataIndex: 'turnaroundTime', + key: 'turnaroundTime', + width: 100, }, { - key: '2', - label: '待签收', - bgColor: '#E8FFEA', - num: `${CountList?.waitSign || '0'}`, - img: tab2 - + title: '分派时限', + dataIndex: 'timeLimit', + key: 'timeLimit', + width: 190, + render: (text, record, index) => { + return getDiffTime(record.timeLimit) + } }, { - key: '3', - label: '待受理', - bgColor: '#F5E8FF', - num: `${CountList?.waitAccept || '0'}`, - img: tab3 - + title: '事项等级', + dataIndex: 'caseGrade', + key: 'caseGrade', + width: 80, }, { - key: '4', - label: '办理中', - bgColor: '#E6FFFB', - num: `${CountList?.processing || '0'}`, - img: tab4 - + title: '事项来源', + dataIndex: 'caseSource', + key: 'caseSource', + width: 180, }, { - key: '5', - label: '待审核', - bgColor: '#E8F7FF', - num: `${CountList?.waitReview || '0'}`, - img: tab5 - + title: '事项类型', + dataIndex: 'caseType', + key: 'caseType', + width: 180, }, { - key: '6', - label: '督办', - bgColor: '#FFF7E6', - num: `${CountList?.supervise || '0'}`, - img: tab6 - + title: '申请方', + dataIndex: 'plaintiffs', + key: 'plaintiffs', + width: 180, + }, + { + title: '被申请方', + dataIndex: 'defendants', + key: 'defendants', + width: 180, }, ] - const [fakeData1, setFakeData1] = useState([]) - const [columnType, setColumnType] = useState([ - { - title: '流转时间', - dataIndex: 'turnaroundTime', - key: 'turnaroundTime', - width: 100, - }, - { - title: '分派时限', - dataIndex: 'timeLimit', - key: 'timeLimit', - width: 190, - render: (text, record, index) => { - return getDiffTime(record.timeLimit) - } - }, - { - title: '事项等级', - dataIndex: 'caseGrade', - key: 'caseGrade', - width: 80, - }, - { - 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, - fixed: 'right', - render: (text, record) => ( - <Space style={{ color: '#1A6FB8' }}> - <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> - <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>处理</div> - </Space> - ), - }, - ]) - - // 列配置 - const fakeColumns3 = [ - { - title: '流转时间', - dataIndex: 'turnaroundTime', - key: 'turnaroundTime', - width: 100, - }, - { - title: '分派时限', - dataIndex: 'timeLimit', - key: 'timeLimit', - width: 190, - render: (text, record, index) => { - return getDiffTime(record.timeLimit) - } - }, - { - title: '事项等级', - dataIndex: 'caseGrade', - key: 'caseGrade', - width: 80, - }, - { - 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, - fixed: 'right', - render: (text, record) => ( - <Space style={{ color: '#1A6FB8' }}> - <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> - <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>处理</div> - </Space> - ), - }, - ]; - const fakeColumns3Info = [ - { - title: '流转时间', - dataIndex: 'turnaroundTime', - key: 'turnaroundTime', - width: 100, - }, - { - title: '分派时限', - dataIndex: 'timeLimit', - key: 'timeLimit', - width: 190, - render: (text, record, index) => { - return getDiffTime(record.timeLimit) - } - }, - { - title: '事项等级', - dataIndex: 'caseGrade', - key: 'caseGrade', - width: 80, - }, - { - 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, - fixed: 'right', - render: (text, record) => ( - <Space style={{ color: '#1A6FB8' }}> - <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> - </Space> - ), - }, - ]; - const fakeColumns1 = [ + //签收表头 + const signForColumns = [ { title: '流转时间', dataIndex: 'turnaroundTime', @@ -343,81 +163,9 @@ key: 'defendants', width: 180, }, - { - title: '操作', - dataIndex: 'actions', - key: 'actions', - width: 180, - fixed: 'right', - render: (text, record) => ( - <Space style={{ color: '#1A6FB8' }}> - <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> - <div onClick={() => handleSign(record.caseId, record.ownerId)} style={{ cursor: 'pointer' }}>签收</div> - </Space> - ), - }, - ]; - const fakeColumns1Info = [ - { - title: '流转时间', - dataIndex: 'turnaroundTime', - key: 'turnaroundTime', - width: 100, - }, - { - title: '签收时限', - dataIndex: 'timeLimit', - key: 'timeLimit', - width: 190, - render: (text, record, index) => { - return getDiffTime(record.timeLimit) - } - }, - { - title: '事项等级', - dataIndex: 'caseGrade', - key: 'caseGrade', - width: 80, - }, - { - 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, - fixed: 'right', - render: (text, record) => ( - <Space style={{ color: '#1A6FB8' }}> - <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> - <div>签收</div> - </Space> - ), - }, - ]; - const fakeColumns2 = [ + ] + //受理表头 + const acceptColumns = [ { title: '流转时间', dataIndex: 'turnaroundTime', @@ -462,168 +210,21 @@ dataIndex: 'defendants', key: 'defendants', width: 180, - }, - { - title: '操作', - dataIndex: 'actions', - key: 'actions', - width: 180, - fixed: 'right', - render: (text, record) => ( - <Space style={{ color: '#1A6FB8' }}> - <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> - <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>处理</div> - </Space> - ), - }, - ]; - const fakeColumns2Info = [ - { - title: '流转时间', - dataIndex: 'turnaroundTime', - key: 'turnaroundTime', - width: 100, - }, - { - title: '受理时限', - dataIndex: 'timeLimit', - key: 'timeLimit', - width: 190, - render: (text, record, index) => { - return getDiffTime(record.timeLimit) - } - }, - { - title: '事项等级', - dataIndex: 'caseGrade', - key: 'caseGrade', - width: 80, - }, - { - 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, - fixed: 'right', - render: (text, record) => ( - <Space style={{ color: '#1A6FB8' }}> - <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> - <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div> - </Space> - ), - }, - ]; - const column = [ - { - title: '流转时间', - dataIndex: 'turnaroundTime', - key: 'turnaroundTime', - width: 100, - }, - { - title: '已办天数', - dataIndex: 'processingDays', - key: 'processingDays', - width: 100, - }, - { - title: '事项等级', - dataIndex: 'caseGrade', - key: 'caseGrade', - width: 100, - }, - { - title: '事项来源', - dataIndex: 'caseSource', - key: 'caseSource', - width: 100, - }, - { - title: '事项类型', - dataIndex: 'caseType', - key: 'caseType', - width: 100, - }, - { - 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, - }, - { - title: '操作', - dataIndex: 'actions', - key: 'actions', - width: 180, - fixed: 'right', - render: (text, record) => ( - <Space> - <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer', color: '#1A6FB8' }}>详情</div> - <div onClick={() => navigate(`/mediate/visit/handleFeedback?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer', color: '#1A6FB8' }}>处理</div> - </Space> - ), }, ] + //待审核->回退表头 const backColumn = [ { title: '回退时间', dataIndex: 'turnaroundTime', key: 'turnaroundTime', - width: 100, + width: 150, }, { title: '回退部门', dataIndex: 'backUnit', key: 'backUnit', - width: 60, + width: 150, }, { title: '回退理由', @@ -661,52 +262,23 @@ key: 'defendants', width: 180, }, - { - title: '操作', - dataIndex: 'actions', - key: 'actions', - width: 180, - fixed: 'right', - render: (text, record) => ( - <Space> - <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} 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 = [ + //待审核->上报表头 + const upColumns = [ { - title: '督办时间', + title: '上报时间', dataIndex: 'turnaroundTime', key: 'turnaroundTime', - width: 100, + width: 150, }, { - title: '回复时限', - dataIndex: 'timeLimit', - key: 'timeLimit', - width: 190, - render: (text, record, index) => { - return getDiffTime(record.timeLimit) - } + title: '上报部门', + dataIndex: 'organizingUnit', + key: 'organizingUnit', + width: 150, }, { - title: '督办部门', - dataIndex: 'caseGrade', - key: 'caseGrade', - width: 80, - }, - { - title: '督办意见', + title: '上报意见', dataIndex: 'opinion', key: 'opinion', width: 180, @@ -741,28 +313,89 @@ key: 'defendants', width: 180, }, + ] + //待审核->结案申请表头 + const finishColumns = [ { - title: '操作', - dataIndex: 'actions', - key: 'actions', + title: '结案申请时间', + dataIndex: 'turnaroundTime', + key: 'turnaroundTime', + width: 150, + }, + { + title: '申请部门', + dataIndex: 'organizingUnit', + key: 'organizingUnit', + width: 150, + }, + { + title: '化解结果', + dataIndex: 'mediResult', + key: 'mediResult', + width: 80, + }, + { + title: '无法化解理由', + dataIndex: 'reason', + key: 'reason', width: 180, - fixed: 'right', - render: (text, record) => ( - <Space> - <div>回复</div> - <div>详情</div> - </Space> - ), + }, + { + 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, }, ] - - //结案申请 - const caseResultApply = [ + //待审核->联合处置表头 + const jointColumns = [ { - title: '结案申请时间', + title: '联合处置申请时间', dataIndex: 'turnaroundTime', key: 'turnaroundTime', - width: 100, + width: 150, + }, + { + title: '申请部门', + dataIndex: 'organizingUnit', + key: 'organizingUnit', + width: 150, + }, + { + title: '添加配合部门', + dataIndex: 'cooperatingUnit', + key: 'cooperatingUnit', + width: 120, + }, + { + title: '添加理由', + dataIndex: 'reason', + key: 'reason', + width: 180, }, { title: '事项等级', @@ -783,27 +416,9 @@ width: 180, }, { - title: '承办部门', - dataIndex: 'organizingUnit', - key: 'organizingUnit', - width: 180, - }, - { - title: '配合部门', - dataIndex: 'cooperatingUnit', - key: 'cooperatingUnit', - width: 180, - }, - { title: '申请方', dataIndex: 'plaintiffs', key: 'plaintiffs', - width: 180, - }, - { - title: '化解结果', - dataIndex: 'mediResult', - key: 'mediResult', width: 180, }, { @@ -812,230 +427,793 @@ key: 'defendants', width: 180, }, - { - title: '操作', - dataIndex: 'actions', - key: 'actions', - width: 180, - fixed: 'right', - render: (text, record) => ( - <Space style={{ color: '#1A6FB8' }}> - <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> - <div onClick={() => navigate(`/mediate/visit/closingReview?caseTaskId=${record.ownerId}&caseId=${record.caseId}&windupId=${record.windupId}`)} style={{ cursor: 'pointer' }}>处理</div> - </Space> - ), + ] + //工作总览map + const tabsMap = { + '1': { + workTotal: { + label: '待分派', + bgColor: '#E8F8FF', + value: 'waitDisp', + img: tab1 + }, + tabList: [ + { + value: '1', + label: '待分派', + columns: assignColumns.concat([{ + title: '操作', + dataIndex: 'actions', + key: 'actions', + width: 120, + fixed: 'right', + render: (text, record) => ( + <Space style={{ color: '#1A6FB8' }}> + <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> + <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>处理</div> + </Space> + ), + }]), + }, + { + value: '2', + label: '已分派', + columns: assignColumns.concat([{ + title: '操作', + dataIndex: 'actions', + key: 'actions', + width: 80, + fixed: 'right', + render: (text, record) => ( + <Space style={{ color: '#1A6FB8' }}> + <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> + </Space> + ), + }]), + }, + ], }, - ]; + '2': { + workTotal: { + label: '待签收', + bgColor: '#E8FFEA', + value: 'waitSign', + img: tab2 + }, + tabList: [ + { + value: '1', + label: '待签收', + columns: signForColumns.concat([{ + title: '操作', + dataIndex: 'actions', + key: 'actions', + width: 120, + fixed: 'right', + render: (text, record) => ( + <Space style={{ color: '#1A6FB8' }}> + <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> + <div onClick={() => handleSign(record.caseId, record.ownerId)} style={{ cursor: 'pointer' }}>签收</div> + </Space> + ), + }]) + }, + { + value: '2', + label: '已签收', + columns: signForColumns.concat([{ + title: '操作', + dataIndex: 'actions', + key: 'actions', + width: 80, + fixed: 'right', + render: (text, record) => ( + <Space style={{ color: '#1A6FB8' }}> + <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> + </Space> + ), + }]) + }, + ], + }, + '3': { + workTotal: { + label: '待受理', + bgColor: '#F5E8FF', + value: 'waitAccept', + img: tab3 + }, + tabList: [ + { + value: '1', + label: '待受理', + columns: acceptColumns.concat([{ + title: '操作', + dataIndex: 'actions', + key: 'actions', + width: 120, + fixed: 'right', + render: (text, record) => ( + <Space style={{ color: '#1A6FB8' }}> + <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> + <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>处理</div> + </Space> + ), + }]) + }, + { + value: '2', + label: '已受理', + columns: acceptColumns.concat([{ + title: '操作', + dataIndex: 'actions', + key: 'actions', + width: 80, + fixed: 'right', + render: (text, record) => ( + <Space style={{ color: '#1A6FB8' }}> + <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> + </Space> + ), + },]) + }, + ], + }, + '4': { + workTotal: { + label: '办理中', + bgColor: '#E6FFFB', + value: 'processing', + img: tab4 + }, + tabList: [ + { + value: '0', + label: '办理中', + columns: [ + { + title: '流转时间', + dataIndex: 'turnaroundTime', + key: 'turnaroundTime', + width: 100, + }, + { + title: '已办天数', + dataIndex: 'processingDays', + key: 'processingDays', + width: 100, + }, + { + title: '事项等级', + dataIndex: 'caseGrade', + key: 'caseGrade', + width: 100, + }, + { + title: '事项来源', + dataIndex: 'caseSource', + key: 'caseSource', + width: 100, + }, + { + title: '事项类型', + dataIndex: 'caseType', + key: 'caseType', + width: 100, + }, + { + 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, + }, + { + title: '操作', + dataIndex: 'actions', + key: 'actions', + width: 120, + fixed: 'right', + render: (text, record) => ( + <Space> + <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer', color: '#1A6FB8' }}>详情</div> + <div onClick={() => navigate(`/mediate/visit/handleFeedback?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer', color: '#1A6FB8' }}>处理</div> + </Space> + ), + }, + ] + }, + { + value: '1', + label: '结案申请', + columns: [ + { + title: '结案申请时间', + dataIndex: 'turnaroundTime', + key: 'turnaroundTime', + width: 180, + }, + { + title: '事项等级', + dataIndex: 'caseGrade', + key: 'caseGrade', + width: 120, + }, + { + 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: 'mediResult', + key: 'mediResult', + width: 180, + }, + { + title: '申请方', + dataIndex: 'plaintiffs', + key: 'plaintiffs', + width: 180, + }, + { + title: '被申请方', + dataIndex: 'defendants', + key: 'defendants', + width: 180, + }, + { + title: '操作', + dataIndex: 'actions', + key: 'actions', + width: 80, + fixed: 'right', + render: (text, record) => ( + <Space style={{ color: '#1A6FB8' }}> + <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> + </Space> + ), + }, + ] + }, + { + value: '2', + label: '已结案', + columns: [ + { + title: '结案时间', + dataIndex: 'turnaroundTime', + key: 'turnaroundTime', + width: 180, + }, + { + title: '事项状态', + dataIndex: 'process', + key: 'process', + width: 120, + }, + { + title: '事项等级', + dataIndex: 'caseGrade', + key: 'caseGrade', + width: 120, + }, + { + 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, + }, + { + title: '操作', + dataIndex: 'actions', + key: 'actions', + width: 80, + fixed: 'right', + render: (text, record) => ( + <Space style={{ color: '#1A6FB8' }}> + <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> + </Space> + ), + }, + ] + }, + ], + }, + '5': { + workTotal: { + label: '待审核', + bgColor: '#E8F7FF', + value: 'waitReview', + img: tab5 + }, + tabList: [ + { + value: '0', + label: '待审核', + columnsMap: { + 1: backColumn.concat([{ + title: '操作', + dataIndex: 'actions', + key: 'actions', + width: 120, + fixed: 'right', + render: (text, record) => ( + <Space style={{ color: '#1A6FB8' }}> + <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> + <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>审核</div> + </Space> + ), + }]), + 2: upColumns.concat([{ + title: '操作', + dataIndex: 'actions', + key: 'actions', + width: 120, + fixed: 'right', + render: (text, record) => ( + <Space style={{ color: '#1A6FB8' }}> + <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> + <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>审核</div> + </Space> + ), + }]), + 3: finishColumns.concat([{ + title: '操作', + dataIndex: 'actions', + key: 'actions', + width: 120, + fixed: 'right', + render: (text, record) => ( + <Space style={{ color: '#1A6FB8' }}> + <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> + <div onClick={() => navigate(`/mediate/visit/handleFeedback?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>审核</div> + </Space> + ), + }]), + 4: jointColumns.concat([{ + title: '操作', + dataIndex: 'actions', + key: 'actions', + width: 120, + fixed: 'right', + render: (text, record) => ( + <Space style={{ color: '#1A6FB8' }}> + <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> + <div onClick={() => navigate(`/mediate/visit/handleFeedback?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>审核</div> + </Space> + ), + }]), + } + }, + { + value: '1', + label: '已审核', + columnsMap: { + 1: backColumn.concat([{ + title: '操作', + dataIndex: 'actions', + key: 'actions', + width: 80, + fixed: 'right', + render: (text, record) => ( + <Space style={{ color: '#1A6FB8' }}> + <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> + </Space> + ), + }]), + 2: upColumns.concat([{ + title: '操作', + dataIndex: 'actions', + key: 'actions', + width: 80, + fixed: 'right', + render: (text, record) => ( + <Space style={{ color: '#1A6FB8' }}> + <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> + </Space> + ), + }]), + 3: finishColumns.concat([{ + title: '操作', + dataIndex: 'actions', + key: 'actions', + width: 80, + fixed: 'right', + render: (text, record) => ( + <Space style={{ color: '#1A6FB8' }}> + <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> + </Space> + ), + }]), + 4: jointColumns.concat([{ + title: '操作', + dataIndex: 'actions', + key: 'actions', + width: 80, + fixed: 'right', + render: (text, record) => ( + <Space style={{ color: '#1A6FB8' }}> + <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> + </Space> + ), + }]), + } + }, + ], + }, + '6': { + workTotal: { + label: '督办', + bgColor: '#FFF7E6', + value: 'supervise', + img: tab6 + }, + tabList: [ + { + value: '0', + label: '督办-未回复', + columns: [ + { + title: '督办时间', + dataIndex: 'turnaroundTime', + key: 'turnaroundTime', + width: 100, + }, + { + title: '回复时限', + dataIndex: 'timeLimit', + key: 'timeLimit', + width: 190, + render: (text, record, index) => { + return getDiffTime(record.timeLimit) + } + }, + { + title: '督办部门', + dataIndex: 'caseGrade', + key: 'caseGrade', + width: 80, + }, + { + 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: 80, + fixed: 'right', + render: (text, record) => ( + <Space> + <div>回复</div> + </Space> + ), + }, + ] + }, + { + value: '1', + label: '督办-已回复', + columns: [ + { + title: '督办时间', + dataIndex: 'turnaroundTime', + key: 'turnaroundTime', + width: 150, + }, + { + title: '督办部门', + dataIndex: 'caseGrade', + key: 'caseGrade', + width: 80, + }, + { + title: '督办意见', + dataIndex: 'opinion', + key: 'opinion', + width: 180, + }, + { + title: '督办回复时间', + dataIndex: 'turnaroundTime', + key: 'turnaroundTime', + width: 150, + }, + { + 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: 80, + fixed: 'right', + render: (text, record) => ( + <Space> + <div>详情</div> + </Space> + ), + }, + ] + }, + ], + }, + } - const caseResultApplyInfo = [ - { - title: '结案申请时间', - dataIndex: 'turnaroundTime', - key: 'turnaroundTime', - width: 100, - }, - { - 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: 'plaintiffs', - key: 'plaintiffs', - width: 180, - }, - { - title: '化解结果', - dataIndex: 'mediResult', - key: 'mediResult', - width: 180, - }, - { - title: '被申请方', - dataIndex: 'defendants', - key: 'defendants', - width: 180, - }, - { - title: '操作', - dataIndex: 'actions', - key: 'actions', - width: 180, - fixed: 'right', - render: (text, record) => ( - <Space style={{ color: '#1A6FB8' }}> - <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> - </Space> - ), - }, - ]; + //响应式State + const [tabActivekey, setTabActivekey] = useState('1') + const [countData, setCountData] = useState({}) + const [tableTab, setTableTab] = useState(tabsMap['1'].tabList)//默认待分派 + const [tableData, setTableData] = useState([])//表格数据 + const [pageData, setPageData] = useState({//页脚数据 + page: 1, + size: 10, + }) + const [searchData, setSearchData] = useState({//查询有关数据 + status: '1', + sortType: 1, + sortColmn: 1, + }) + const [total, setTotal] = useState(0);//表格数据总数量 + + useEffect(() => { + getCountData(); + }, []) + + useEffect(() => { + getTableData(tabActivekey) + }, [searchData, pageData]) const sign = async (caseId, ownerId) => { const res = await signApi({ caseId: caseId, caseTaskId: ownerId }) if (res.type) { $$.infoSuccess({ content: '签收成功' }); - getCountList(); - pageMyTaskFpNew() + getCountData(); } - } const handleSign = (caseId, ownerId) => { sign(caseId, ownerId) } - const pageMyTaskFpNew = async () => { - const res = await pageMyTaskFpApi() + //获取表格数据汇总 + const getTableData = async (type) => { + let res + switch (type) { + case '1'://待分派 + res = await pageMyTaskFpApi({ + ...pageData, + ...searchData + }) + break; + case '2'://待签收 + res = await pageMyTaskQsApi({ + ...pageData, + ...searchData + }) + break; + case '3'://待受理 + res = await pageMyTaskSlApi({ + ...pageData, + ...searchData + }) + break; + case '4'://办理中 + const { status, ...most } = searchData + if (status && status === '0') { + res = await pageMyTaskBlzApi({ + ...pageData, + ...most + }) + } else { + res = await pageMyTaskBlApi({ + ...pageData, + ...searchData + }) + } + break; + case '5'://待审核 + res = await pageMyTaskShApi({ + ...pageData, + ...searchData + }) + break; + case '6'://督办 + res = await pageMyTaskDbApi({ + ...pageData, + ...searchData + }) + break; + default: + break; + } if (res.type) { - setFakeData1(res.data?.content) - } - } - - const pageMyTaskFp = async (type) => { - if (type === '1') { - const res = await pageMyTaskFpApi() - if (res.type) { - setFakeData1(res.data?.content) - } - } - if (type === '2') { - const res = await pageMyTaskQsApi() - if (res.type) { - setFakeData1(res.data?.content) - } - } - if (type === '3') { - const res = await pageMyTaskSlApi() - if (res.type) { - setFakeData1(res.data?.content) - } - } - if (type === '4') { - const res = await pageMyTaskBlzApi() - if (res.type) { - setFakeData1(res.data?.content) - } - } - if (type === '5') { - } - } - - const handleSh = async (e) => { - console.log(direction, 'direction') - const res = await pageMyTaskShApi(e === '回退审核' ? 1 : e === '上报审核' ? 2 : e === '结案申请审核' ? 3 : e === '联合处置审核' ? 4 : null) - if (res.type) { - setColumnType(caseResultApply) - setFakeData1(res.data?.content) + const { data } = res + setTableData(data?.content) + setTotal(data.totalElements) } } //改变tab const handleColumnType = (type) => { - console.log(type, 'type') - if (type === '2') { - if (tabActivekey === '1') { - setColumnType(fakeColumns3Info) - } - if (tabActivekey === '2') { - setColumnType(fakeColumns1Info) - } - if (tabActivekey === '3') { - setColumnType(fakeColumns2Info) - } - if (tabActivekey === '4') { - setColumnType(caseResultApply) - pageMyTaskBl('0') - } - } - if (type === '1') { - if (tabActivekey === '1') { - setColumnType(fakeColumns3) - } - } - - if (type === '3') { - if (tabActivekey === '4') { - setColumnType(caseResultApplyInfo) - pageMyTaskBl('1') - - } - } - + setSearchData({ + ...searchData, + status: type + }) } //改变工作总览 - const tabActive = (key) => { - console.log(key, 'key') + const tabActive = (key, data) => { + //默认第一个tab + if (key == '5') { + setSearchData({ + sortType: 1, + sortColmn: 1, + status: '0', + type: 1 + }) + } else if (key == '4' || key == '6') { + setSearchData({ + sortType: 1, + sortColmn: 1, + status: '0', + }) + } else { + setSearchData({ + sortType: 1, + sortColmn: 1, + status: '1', + }) + } setTabActivekey(key); - if (key === '1') { - setColumnType(fakeColumns3) - pageMyTaskFp('1') - } - if (key === '2') { - setColumnType(fakeColumns1) - pageMyTaskFp('2') - - } - if (key === '3') { - setColumnType(fakeColumns2) - pageMyTaskFp('3') - - } - if (key === '4') { - setColumnType(column) - pageMyTaskFp('4') - } - if (key === '5') { - setColumnType(backColumn) - pageMyTaskFp('5') - - } - if (key === '6') { - setColumnType(mangeColumn) - pageMyTaskFp('6') - - } - } - - const pageMyTaskBl = async (type) => { - const res = await pageMyTaskBlApi(type) - if (res.type) { - setFakeData1(res.data?.content) - } + setTableTab(data.tabList) } //获取工作总览数据 - const getCountList = async () => { + const getCountData = async () => { const res = await getCountListApi() if (res.type) { const data = res.data - setCountList(data) + setCountData(data) } } @@ -1067,28 +1245,27 @@ } } - useEffect(() => { - pageMyTaskFpNew() - // pageMyTaskBl(); - getCountList(); - }, []) - - - return ( <div className='VisitWorkBench'> <div className='VisitWorkBench-top'> <span style={{ fontWeight: 600 }}>工作总览</span> <div className='VisitWorkBench-top-list'> { - tabsList.map((item, index) => ( - <div key={index} className='VisitWorkBench-top-list-tabsItem' style={{ backgroundColor: item.bgColor }} onClick={() => tabActive(item.key)}> + Object.keys(tabsMap).map(key => ( + <div + key={key} + className='VisitWorkBench-top-list-tabsItem' + style={{ backgroundColor: tabsMap[key].workTotal.bgColor }} + onClick={() => tabActive(key, tabsMap[key])} + > <div> - <div>{item.label}</div> - <span className='VisitWorkBench-top-list-tabsItem-title'>{item.num}</span>件 + <div>{tabsMap[key].workTotal.label}</div> + <span className='VisitWorkBench-top-list-tabsItem-title'> + {countData[tabsMap[key].workTotal.value] || 0} + </span>件 </div> <div> - <img src={item.img} alt='' className='VisitWorkBench-top-list-tabsItem-imgView' /> + <img src={tabsMap[key].workTotal.img} alt='' className='VisitWorkBench-top-list-tabsItem-imgView' /> </div> </div> )) @@ -1096,96 +1273,80 @@ </div> </div> <div className='VisitWorkBench-middle'> - <Tabs defaultActiveTab='1' onChange={handleColumnType}> - <TabPane - // onChange={handleColumnType} - key='1' - title={ - <span style={{ fontSize: '15px' }}> - {tabActivekey === '1' ? '待分派' : - tabActivekey === '2' ? '待签收' : - tabActivekey === '3' ? '待受理' : - tabActivekey === '4' ? '办理中' : - tabActivekey === '5' ? '待审核' : '督办-未回复' - } - </span> - } - > - <Typography.Paragraph> - {tabActivekey === '5' && - <Radio.Group - type='button' - name='direction' - value={direction} - onChange={(e) => { setDirection(e); handleSh(e) }} - style={{ marginBottom: 16 }} - options={['回退审核', '上报审核', '结案申请审核', '联合处置审核']} - ></Radio.Group> - } - <TableView - columns={columnType} - dataSource={fakeData1} - size="small" - rowKey="caseId" - bordered={true} - scroll={{ x: 1300 }} - /> - </Typography.Paragraph> - </TabPane> - <TabPane - key='2' - title={ - <span style={{ fontSize: '15px' }}> - {tabActivekey === '1' ? '已分派' : - tabActivekey === '2' ? '已签收' : - tabActivekey === '3' ? '已受理' : - tabActivekey === '4' ? '结案申请' : - tabActivekey === '5' ? '已审核' : '督办-未回复' - } - </span> - } - > - <Typography.Paragraph> - <TableView - columns={columnType} - dataSource={fakeData1} - size="small" - rowKey="id" - bordered={true} - scroll={{ x: 1300 }} - /> - </Typography.Paragraph> - </TabPane> - {tabActivekey === '4' && - <TabPane - key='3' + <Tabs + activeTab={searchData.status} + onChange={handleColumnType} + destroyOnHide + > + {tableTab?.map(item => { + return <TabPane + key={item.value} title={ <span style={{ fontSize: '15px' }}> - 已结案 + {item.label} </span> } > - <Typography.Paragraph> + <Typography.Paragraph key={item.value}> + {tabActivekey == 5 && + <Radio.Group + type='button' + value={searchData.type} + onChange={(value) => { + setSearchData({ + ...searchData, + type: value + }) + }} + style={{ marginBottom: 16 }} + options={[{ + label: '回退审核', + value: 1 + }, { + label: '上报审核', + value: 2 + }, { + label: '结案申请审核', + value: 3 + }, { + label: '联合处置审核', + value: 4 + }]} + /> + } <TableView - columns={columnType} - dataSource={fakeData1} + columns={tabActivekey == 5 ? item.columnsMap[searchData.type] : item.columns} + dataSource={tableData} size="small" - rowKey="id" + rowKey="caseId" bordered={true} - scroll={{ x: 1300 }} + scroll={{ + x: 1300 + }} + offsetHeight={153} + pagination={{ + current: pageData.page, + pageSize: pageData.size, + total: total, + onChange: (page, pageSize) => { + setPageData({ + ...pageData, + page, + pageSize + }) + }, + }} /> </Typography.Paragraph> </TabPane> - } - + })} </Tabs> - </div> <div className='VisitWorkBench-bottom'> 群众来访接待 - <div style={{ display: 'flex', justifyContent: 'space-evenly',gap:'24px',marginTop:'16px' }}> + <div style={{ display: 'flex', justifyContent: 'space-evenly', gap: '24px', marginTop: '16px' }}> <div className='bottomTab1' style={{ cursor: 'pointer' }}> - <div className='VisitWorkBench-bottom-title' onClick={() => {navigate(`/mediate/visit`)}} style={{ color: '#206BCD' }}>大厅来访</div> + <div className='VisitWorkBench-bottom-title' onClick={() => { navigate(`/mediate/visit`) }} style={{ color: '#206BCD' }}>大厅来访</div> {/* <img src={visitInto} alt='' className='VisitWorkBench-bottom-img' /> */} </div> <div className='bottomTab2' style={{ cursor: 'pointer' }}> diff --git a/gz-customerSystem/src/views/register/index.less b/gz-customerSystem/src/views/register/index.less index a2086b0..1e933e1 100644 --- a/gz-customerSystem/src/views/register/index.less +++ b/gz-customerSystem/src/views/register/index.less @@ -848,7 +848,7 @@ background: #ffffff; padding: 12px 16px 16px 16px; margin-top: 12px; - height: 54vh; + // height: 54vh; } &-bottom { -- Gitblit v1.8.0