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