From 5aa4a814ab8d4aa194a9683ebefaefdfc6d92c3a Mon Sep 17 00:00:00 2001
From: liuwh <964324856@qq.com>
Date: Tue, 17 Sep 2024 17:18:05 +0800
Subject: [PATCH] Merge branch 'master' of http://120.79.193.119:9090/r/gzzfw/frontEnd/gzDyh into master

---
 gz-customerSystem/src/views/register/index.jsx | 1846 +++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 1,410 insertions(+), 436 deletions(-)

diff --git a/gz-customerSystem/src/views/register/index.jsx b/gz-customerSystem/src/views/register/index.jsx
index 30c32d4..31fb16e 100644
--- a/gz-customerSystem/src/views/register/index.jsx
+++ b/gz-customerSystem/src/views/register/index.jsx
@@ -1,506 +1,1480 @@
 /*
  * @Author: dminyi 1301963064@qq.com
  * @Date: 2024-09-08 15:14:12
- * @LastEditors: dminyi 1301963064@qq.com
- * @LastEditTime: 2024-09-09 10:05:35
+ * @LastEditors: lwh
+ * @LastEditTime: 2024-09-13 10:35:03
  * @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, useRef } from 'react';
+import { useNavigate } from 'react-router-dom';
+import { tab1, tab2, tab3, tab4, tab5, tab6 } from '@/assets/images'
 import TableView from '../../components/TableView';
 import { Space } from 'antd';
-import { Tabs, Typography } from '@arco-design/web-react';
+import { Tabs, Typography, Radio, Form, Input, DatePicker, Button, Grid, Modal } from '@arco-design/web-react';
+import * as $$ from '@/utils/utility';
+import './index.less';
 
+const FormItem = Form.Item;
 const TabPane = Tabs.TabPane;
+const { RangePicker } = DatePicker;
+const Row = Grid.Row;
+const Col = Grid.Col;
 
+//工作总览数据
+function getCountListApi(data) {
+  return $$.ax.request({ url: `caseTask/getCountList`, type: 'get', service: 'mediate', data });
+}
 
+//分派
+function pageMyTaskFpApi(data) {
+  return $$.ax.request({ url: `caseTask/pageMyTaskFp`, type: 'get', service: 'mediate', data });
+}
+
+//签收
+function pageMyTaskQsApi(data) {
+  return $$.ax.request({ url: `caseTask/pageMyTaskQs`, type: 'get', service: 'mediate', data });
+}
+
+//受理
+function pageMyTaskSlApi(data) {
+  return $$.ax.request({ url: `caseTask/pageMyTaskSl`, type: 'get', service: 'mediate', data });
+}
+
+//办理中
+function pageMyTaskBlzApi(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(data) {
+  return $$.ax.request({ url: `caseTask/pageMyTaskSh`, type: 'get', service: 'mediate', data });
+}
+
+//督办
+function pageMyTaskDbApi(data) {
+  return $$.ax.request({ url: `caseTask/pageMyTaskDb`, type: 'get', service: 'mediate', data });
+}
+
+//签收接口
+function signApi(data) {
+  return $$.ax.request({ url: `caseTask/sign`, type: 'post', service: 'mediate', data });
+}
 
 const VisitWorkBench = () => {
-  const [tabActivekey, setTabActivekey] = useState('1')
-  const [column, setColumn] = useState('1')
-  const tabsList = [
+  const navigate = useNavigate();
+  const formRef = useRef();
+
+  // 静态数据
+  //分派表头
+  const assignColumns = [
     {
-      key: '1',
-      label: '待分派',
-      bgColor: '#E8F8FF',
-      num: 10,
-      img: tab1
-    },
-    {
-      key: '2',
-      label: '待签收',
-      bgColor: '#E8FFEA',
-      num: 30,
-      img: tab2
-
-    },
-    {
-      key: '3',
-      label: '待受理',
-      bgColor: '#F5E8FF',
-      num: 50,
-      img: tab3
-
-    },
-    {
-      key: '4',
-      label: '办理中',
-      bgColor: '#E6FFFB',
-      num: 60,
-      img: tab4
-
-    },
-    {
-      key: '5',
-      label: '待审核',
-      bgColor: '#E8F7FF',
-      num: 70,
-      img: tab5
-
-    },
-    {
-      key: '6',
-      label: '督办',
-      bgColor: '#FFF7E6',
-      num: 80,
-      img: tab6
-
-    },
-  ]
-
-  const [fakeData1, setFakeData1] = useState(
-    [
-      {
-        id: 1,
-        caseNo: 'A20230101',
-        judicNo: '申请材料',
-        perClassName: '李晓明的纠纷化解申请表、身份证...',
-        inputUserName: '0',
-        mediateUserName: '2024-7-12 12:00',
-        judgeName: '王五',
-        mediator: '赵六',
-        handlerUserName: '钱七',
-        returnUserName: '孙八',
-        expireTime: '2023-08-10T08:00:00.000Z',
-        processName: '进行中',
-        otherMediator: '周九',
-        canalName: '网络',
-        judicResult: '通过',
-        assistName: '吴十',
-        mediTypeName: '民事调解',
-        serieStatus: '1', // 1 表示非系列案,2 表示系列案
-        // 更多字段...
-      },
-      {
-        id: 2,
-        caseNo: 'A20230101',
-        judicNo: '证据材料',
-        perClassName: '李晓明的纠纷化解申请表、身份证...',
-        inputUserName: '0',
-        mediateUserName: '2024-7-12 12:00',
-        judgeName: '王五',
-        mediator: '赵六',
-        handlerUserName: '钱七',
-        returnUserName: '孙八',
-        expireTime: '2023-08-10T08:00:00.000Z',
-        processName: '进行中',
-        otherMediator: '周九',
-        canalName: '网络',
-        judicResult: '通过',
-        assistName: '吴十',
-        mediTypeName: '民事调解',
-        serieStatus: '1', // 1 表示非系列案,2 表示系列案
-        // 更多字段...
-      },
-      {
-        id: 2,
-        caseNo: 'A20230101',
-        judicNo: '证据材料',
-        perClassName: '李晓明的纠纷化解申请表、身份证...',
-        inputUserName: '0',
-        mediateUserName: '2024-7-12 12:00',
-        judgeName: '王五',
-        mediator: '赵六',
-        handlerUserName: '钱七',
-        returnUserName: '孙八',
-        expireTime: '2023-08-10T08:00:00.000Z',
-        processName: '进行中',
-        otherMediator: '周九',
-        canalName: '网络',
-        judicResult: '通过',
-        assistName: '吴十',
-        mediTypeName: '民事调解',
-        serieStatus: '1', // 1 表示非系列案,2 表示系列案
-        // 更多字段...
-      },
-      {
-        id: 2,
-        caseNo: 'A20230101',
-        judicNo: '证据材料',
-        perClassName: '李晓明的纠纷化解申请表、身份证...',
-        inputUserName: '0',
-        mediateUserName: '2024-7-12 12:00',
-        judgeName: '王五',
-        mediator: '赵六',
-        handlerUserName: '钱七',
-        returnUserName: '孙八',
-        expireTime: '2023-08-10T08:00:00.000Z',
-        processName: '进行中',
-        otherMediator: '周九',
-        canalName: '网络',
-        judicResult: '通过',
-        assistName: '吴十',
-        mediTypeName: '民事调解',
-        serieStatus: '1', // 1 表示非系列案,2 表示系列案
-        // 更多字段...
-      },
-      {
-        id: 2,
-        caseNo: 'A20230101',
-        judicNo: '证据材料',
-        perClassName: '李晓明的纠纷化解申请表、身份证...',
-        inputUserName: '0',
-        mediateUserName: '2024-7-12 12:00',
-        judgeName: '王五',
-        mediator: '赵六',
-        handlerUserName: '钱七',
-        returnUserName: '孙八',
-        expireTime: '2023-08-10T08:00:00.000Z',
-        processName: '进行中',
-        otherMediator: '周九',
-        canalName: '网络',
-        judicResult: '通过',
-        assistName: '吴十',
-        mediTypeName: '民事调解',
-        serieStatus: '1', // 1 表示非系列案,2 表示系列案
-        // 更多字段...
-      },
-      {
-        id: 2,
-        caseNo: 'A20230101',
-        judicNo: '证据材料',
-        perClassName: '李晓明的纠纷化解申请表、身份证...',
-        inputUserName: '0',
-        mediateUserName: '2024-7-12 12:00',
-        judgeName: '王五',
-        mediator: '赵六',
-        handlerUserName: '钱七',
-        returnUserName: '孙八',
-        expireTime: '2023-08-10T08:00:00.000Z',
-        processName: '进行中',
-        otherMediator: '周九',
-        canalName: '网络',
-        judicResult: '通过',
-        assistName: '吴十',
-        mediTypeName: '民事调解',
-        serieStatus: '1', // 1 表示非系列案,2 表示系列案
-        // 更多字段...
-      },
-      {
-        id: 2,
-        caseNo: 'A20230101',
-        judicNo: '证据材料',
-        perClassName: '李晓明的纠纷化解申请表、身份证...',
-        inputUserName: '0',
-        mediateUserName: '2024-7-12 12:00',
-        judgeName: '王五',
-        mediator: '赵六',
-        handlerUserName: '钱七',
-        returnUserName: '孙八',
-        expireTime: '2023-08-10T08:00:00.000Z',
-        processName: '进行中',
-        otherMediator: '周九',
-        canalName: '网络',
-        judicResult: '通过',
-        assistName: '吴十',
-        mediTypeName: '民事调解',
-        serieStatus: '1', // 1 表示非系列案,2 表示系列案
-        // 更多字段...
-      },
-      {
-        id: 2,
-        caseNo: 'A20230101',
-        judicNo: '证据材料',
-        perClassName: '李晓明的纠纷化解申请表、身份证...',
-        inputUserName: '0',
-        mediateUserName: '2024-7-12 12:00',
-        judgeName: '王五',
-        mediator: '赵六',
-        handlerUserName: '钱七',
-        returnUserName: '孙八',
-        expireTime: '2023-08-10T08:00:00.000Z',
-        processName: '进行中',
-        otherMediator: '周九',
-        canalName: '网络',
-        judicResult: '通过',
-        assistName: '吴十',
-        mediTypeName: '民事调解',
-        serieStatus: '1', // 1 表示非系列案,2 表示系列案
-        // 更多字段...
-      },
-      {
-        id: 2,
-        caseNo: 'A20230101',
-        judicNo: '证据材料',
-        perClassName: '李晓明的纠纷化解申请表、身份证...',
-        inputUserName: '0',
-        mediateUserName: '2024-7-12 12:00',
-        judgeName: '王五',
-        mediator: '赵六',
-        handlerUserName: '钱七',
-        returnUserName: '孙八',
-        expireTime: '2023-08-10T08:00:00.000Z',
-        processName: '进行中',
-        otherMediator: '周九',
-        canalName: '网络',
-        judicResult: '通过',
-        assistName: '吴十',
-        mediTypeName: '民事调解',
-        serieStatus: '1', // 1 表示非系列案,2 表示系列案
-        // 更多字段...
-      },
-      {
-        id: 2,
-        caseNo: 'A20230101',
-        judicNo: '证据材料',
-        perClassName: '李晓明的纠纷化解申请表、身份证...',
-        inputUserName: '0',
-        mediateUserName: '2024-7-12 12:00',
-        judgeName: '王五',
-        mediator: '赵六',
-        handlerUserName: '钱七',
-        returnUserName: '孙八',
-        expireTime: '2023-08-10T08:00:00.000Z',
-        processName: '进行中',
-        otherMediator: '周九',
-        canalName: '网络',
-        judicResult: '通过',
-        assistName: '吴十',
-        mediTypeName: '民事调解',
-        serieStatus: '1', // 1 表示非系列案,2 表示系列案
-        // 更多字段...
-      },
-
-      // 更多数据...
-    ]
-  )
-
-  // 列配置
-  const [fakeColumns, setFakeColumns] = useState([
-    {
-      title: tabActivekey === '5' ? '回退时间' : tabActivekey === '6' ? '督办时间' : '流转时间',
-      dataIndex: 'caseNo',
-      key: 'caseNo',
-      width: 100,
-      render: (text, record, index) => <span>{index + 1}</span>,
+      title: '流转时间',
+      dataIndex: 'turnaroundTime',
+      key: 'turnaroundTime',
+      width: 150,
     },
     {
       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',
-      width: 60,
+      dataIndex: 'timeLimit',
+      key: 'timeLimit',
+      width: 190,
+      render: (text, record, index) => {
+        return getDiffTime(record.timeLimit)
+      }
     },
     {
       title: '事项等级',
-      dataIndex: 'matterLevel',
-      key: 'matterLevel',
-      width: 180,
-      render: (text) => (
-        <>
-          {text}份
-        </>
-      ),
+      dataIndex: 'caseGrade',
+      key: 'caseGrade',
+      width: 80,
     },
     {
       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,
+    },
+  ]
+  //签收表头
+  const signForColumns = [
+    {
+      title: '流转时间',
+      dataIndex: 'turnaroundTime',
+      key: 'turnaroundTime',
+      width: 150,
+    },
+    {
+      title: '签收时限',
+      dataIndex: 'timeLimit',
+      key: 'timeLimit',
+      width: 190,
+      render: (text, record, index) => {
+        return getDiffTime(record.timeLimit)
+      }
+    },
+    {
+      title: '事项等级',
+      dataIndex: 'caseGrade',
+      key: 'caseGrade',
+      width: 100,
+    },
+    {
+      title: '事项来源',
+      dataIndex: 'caseSource',
+      key: 'caseSource',
       width: 180,
     },
     {
-      title: '操作',
-      dataIndex: 'actions',
-      key: 'actions',
+      title: '事项类型',
+      dataIndex: 'caseType',
+      key: 'caseType',
       width: 180,
-      render: (text, record) => (
-        <Space>
-          <div>详情</div>
-          <div>处理</div>
-        </Space>
-      ),
     },
-  ]);
-
-  const tabActive = (key) => {
-    setTabActivekey(key)
+    {
+      title: '申请方',
+      dataIndex: 'plaintiffs',
+      key: 'plaintiffs',
+      width: 180,
+    },
+    {
+      title: '被申请方',
+      dataIndex: 'defendants',
+      key: 'defendants',
+      width: 180,
+    },
+  ]
+  //受理表头
+  const acceptColumns = [
+    {
+      title: '流转时间',
+      dataIndex: 'turnaroundTime',
+      key: 'turnaroundTime',
+      width: 150,
+    },
+    {
+      title: '受理时限',
+      dataIndex: 'timeLimit',
+      key: 'timeLimit',
+      width: 190,
+      render: (text, record, index) => {
+        return getDiffTime(record.timeLimit)
+      }
+    },
+    {
+      title: '事项等级',
+      dataIndex: 'caseGrade',
+      key: 'caseGrade',
+      width: 100,
+    },
+    {
+      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 backColumn = [
+    {
+      title: '回退时间',
+      dataIndex: 'turnaroundTime',
+      key: 'turnaroundTime',
+      width: 150,
+    },
+    {
+      title: '回退部门',
+      dataIndex: 'organizingUnit',
+      key: 'organizingUnit',
+      width: 150,
+    },
+    {
+      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,
+    },
+  ]
+  //待审核->上报表头
+  const upColumns = [
+    {
+      title: '上报时间',
+      dataIndex: 'turnaroundTime',
+      key: 'turnaroundTime',
+      width: 150,
+    },
+    {
+      title: '上报部门',
+      dataIndex: 'organizingUnit',
+      key: 'organizingUnit',
+      width: 150,
+    },
+    {
+      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,
+    },
+  ]
+  //待审核->结案申请表头
+  const finishColumns = [
+    {
+      title: '结案申请时间',
+      dataIndex: 'turnaroundTime',
+      key: 'turnaroundTime',
+      width: 150,
+    },
+    {
+      title: '申请部门',
+      dataIndex: 'organizingUnit',
+      key: 'organizingUnit',
+      width: 150,
+    },
+    {
+      title: '化解结果',
+      dataIndex: 'mediResult',
+      key: 'mediResult',
+      width: 100,
+    },
+    {
+      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,
+    },
+  ]
+  //待审核->联合处置表头
+  const jointColumns = [
+    {
+      title: '联合处置申请时间',
+      dataIndex: 'turnaroundTime',
+      key: 'turnaroundTime',
+      width: 150,
+    },
+    {
+      title: '申请部门',
+      dataIndex: 'organizingUnit',
+      key: 'organizingUnit',
+      width: 150,
+    },
+    {
+      title: '添加配合部门',
+      dataIndex: 'cooperatingUnit',
+      key: 'cooperatingUnit',
+      width: 120,
+    },
+    {
+      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,
+    },
+  ]
+  //工作总览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: '2',
+          label: '办理中',
+          columns: [
+            {
+              title: '流转时间',
+              dataIndex: 'turnaroundTime',
+              key: 'turnaroundTime',
+              width: 150,
+            },
+            {
+              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: '0',
+          label: '结案申请',
+          columns: [
+            {
+              title: '结案申请时间',
+              dataIndex: 'turnaroundTime',
+              key: 'turnaroundTime',
+              width: 150,
+            },
+            {
+              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: 100,
+            },
+            {
+              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: '1',
+          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/closingReview?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: 150,
+            },
+            {
+              title: '回复时限',
+              dataIndex: 'timeLimit',
+              key: 'timeLimit',
+              width: 190,
+              render: (text, record, index) => {
+                return getDiffTime(record.timeLimit)
+              }
+            },
+            {
+              title: '督办部门',
+              dataIndex: 'caseGrade',
+              key: 'caseGrade',
+              width: 110,
+            },
+            {
+              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: 110,
+            },
+            {
+              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 columnChange = async () => {
-  //   const res = await columnChangeApi()
-  //   if (res.type) {
-  //     setColumn(res.data)
-  //   }
-  // }
+  //响应式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);//表格数据总数量
+  const [loading, setLoading] = useState(false);//表格loading
+  const [selectedRowKeys, setSelectedRowKeys] = useState([]);//批量签收的id
+  const [selectedRows, setSelectedRows] = useState([]);//批量签收的数据
 
-  const handleColumnType = () => {
-    const columnList = column.filter(item => fakeColumns.some(itemNew => itemNew.title === item.title))
-    setFakeColumns(columnList)
+  useEffect(() => {
+    getCountData();
+  }, [])
+
+  useEffect(() => {
+    getTableData(tabActivekey)
+  }, [searchData, pageData])
+
+  //批量选择
+  const onSelectChange = (newSelectedRowKeys, selectedRows) => {
+    setSelectedRowKeys(newSelectedRowKeys);
+    setSelectedRows(selectedRows)
   }
 
+  //签收
+  const handleSign = async (caseId, ownerId) => {
+    const res = await signApi([{ caseId: caseId, caseTaskId: ownerId }])
+    if (res.type) {
+      $$.infoSuccess({ content: '签收成功' });
+      getCountData();
+      getTableData(tabActivekey)
+      navigate(`/mediate/visit/eventFlow?caseTaskId=${ownerId}&caseId=${caseId}`)
+    }
+  }
 
+  //获取表格数据汇总
+  const getTableData = async (type) => {
+    setLoading(true)
+    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 === '2') {
+          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) {
+      setLoading(false)
+      const { data } = res
+      setTableData(data?.content)
+      setTotal(data.totalElements)
+    }
+  }
+
+  //改变tab
+  const handleColumnType = (type) => {
+    setPageData({
+      page: 1,
+      size: 10,
+    })
+    setSearchData({
+      ...searchData,
+      status: type
+    })
+  }
+
+  //改变工作总览
+  const tabActive = (key, data) => {
+    setPageData({
+      page: 1,
+      size: 10,
+    })
+    //默认第一个tab
+    if (key == '5') {
+      setSearchData({
+        sortType: 1,
+        sortColmn: 1,
+        status: '0',
+        type: 1
+      })
+    } else if (key == '4') {
+      setSearchData({
+        sortType: 1,
+        sortColmn: 1,
+        status: '2',
+      })
+    } else if (key == '6') {
+      setSearchData({
+        sortType: 1,
+        sortColmn: 1,
+        status: '0',
+      })
+    } else {
+      setSearchData({
+        sortType: 1,
+        sortColmn: 1,
+        status: '1',
+      })
+    }
+    setTabActivekey(key);
+    setTableTab(data.tabList)
+    getCountData();
+  }
+
+  //获取工作总览数据
+  const getCountData = async () => {
+    const res = await getCountListApi()
+    if (res.type) {
+      const data = res.data || {};
+      setCountData(data)
+    }
+  }
+
+  //获取时间差,返回表格时限组件
+  const getDiffTime = (timeLimit) => {
+    if (timeLimit) {
+      // 转换为Date对象  
+      let targetDate = new Date(timeLimit);
+      // 获取当前时间  
+      let now = new Date();
+      // 计算时间差(毫秒)
+      let diff = Math.abs(targetDate - now);
+      // 将时间差转换为小时和分钟
+      let hours = Math.floor(diff / (1000 * 60 * 60));
+      let minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));
+      // 比较两个时间  
+      if (targetDate.getTime() <= now.getTime()) {
+        return <>
+          <span className='timeTip-red'>
+            <span className='timeTip-red-drop'></span>{`超${hours}小时${minutes}分钟`}
+          </span>
+          <span className='timeTip-red-tips'>督</span>
+        </>
+      } else {
+        return <span className='timeTip-green'><span className='timeTip-green-drop'></span>{`剩${hours}小时${minutes}分钟`}</span>
+      }
+    } else {
+      return <span>-</span>
+    }
+  }
+
+  //查询
+  const handleSubmit = () => {
+    const data = formRef.current.getFieldsValue();
+    const { time, ...rest } = data
+    setSearchData({
+      ...searchData,
+      timeStart: time ? time[0] : '',
+      timeEnd: time ? time[1] : '',
+      ...rest
+    })
+  }
+
+  //批量签收
+  const handleBatchQs = () => {
+    console.log(selectedRows);
+    const paramsList = selectedRows.map(item => {
+      return {
+        caseId: item.caseId,
+        caseTaskId: item.ownerId
+      }
+    })
+    Modal.confirm({
+      title: '签收确认',
+      content: '确认批量签收?',
+      onOk: async () => {
+        const res = await signApi(paramsList)
+        if (res.type) {
+          $$.infoSuccess({ content: '批量签收成功成功!' });
+          getCountData();
+          getTableData(tabActivekey)
+        }
+      },
+    });
+  }
+
+  const rowSelection = {
+    selectedRowKeys: selectedRowKeys,
+    onChange: onSelectChange,
+  }
 
   return (
-    <div className='VisitWorkBench'>
+    <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>
             ))
           }
         </div>
       </div>
-      <div className='VisitWorkBench-middle'>
-        <Tabs defaultActiveTab='1'>
-          <TabPane
-            onChange={handleColumnType}
-            key='1'
-            title={
-              <span style={{ fontSize: '15px' }}>
-                {tabActivekey === '1' ? '待分派' :
-                  tabActivekey === '2' ? '待签收' :
-                    tabActivekey === '3' ? '待受理' :
-                      tabActivekey === '4' ? '办理中' :
-                        tabActivekey === '5' ? '待审核' : '督办-未回复'
+      <div
+        className='VisitWorkBench-middle'
+        onKeyUp={(e) => {
+          if (e.key === 'Enter') {
+            handleSubmit()
+          }
+        }}
+      >
+        <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 key={tabActivekey + 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
+                    }]}
+                  />
                 }
-              </span>
-            }
-          >
-            <Typography.Paragraph>
-              <TableView
-                columns={fakeColumns}
-                dataSource={fakeData1}
-                size="small"
-                rowKey="id"
-                bordered={true}
-                // style={{ marginBottom: '65px', marginTop: '-16px' }}
-                rowSelection={{
-                  type: 'Checkbox'
-                }}
-              />
-            </Typography.Paragraph>
-          </TabPane>
-          <TabPane
-            key='2'
-            title={
-              <span style={{ fontSize: '15px' }}>
-                {tabActivekey === '1' ? '已分派' :
-                  tabActivekey === '2' ? '已签收' :
-                    tabActivekey === '3' ? '已受理' :
-                      tabActivekey === '4' ? '结案申请' :
-                        tabActivekey === '5' ? '已审核' : '督办-未回复'
-                }
-              </span>
-            }
-          >
-            <Typography.Paragraph>
-            </Typography.Paragraph>
-          </TabPane>
+                <TableView
+                  rowSelection={tabActivekey == '2' && item.value === '1' ? rowSelection : null}
+                  columns={tabActivekey == '5' ? item.columnsMap[searchData.type] : item.columns}
+                  dataSource={tableData}
+                  size="small"
+                  rowKey="caseId"
+                  bordered={true}
+                  isScroll={true}//兼容以前的,当需要表格竖向滚动,请设置这个
+                  scroll={{
+                    x: 1300
+                  }}
+                  offsetHeight={161}
+                  loading={loading}
+                  pagination={{
+                    current: pageData.page,
+                    pageSize: pageData.size,
+                    total: total,
+                    onChange: (page, pageSize) => {
+                      setPageData({
+                        ...pageData,
+                        page,
+                        size: pageSize
+                      })
+                    },
+                  }}
+                />
+              </Typography.Paragraph>
+              {
+                (tabActivekey == '2' && item.value === '1') && <div className='VisitWorkBench-middle-select'>
+                  <span>已选{selectedRowKeys.length}项</span>
+                  <span className='linkBtnColor' onClick={() => {
+                    setSelectedRowKeys([])
+                    setSelectedRows([])
+                  }}>取消</span>
+                  <span className='linkBtnColor' onClick={handleBatchQs}>批量签收</span>
+                </div>
+              }
+            </TabPane>
+          })}
         </Tabs>
-
+        <div className='VisitWorkBench-middle-search'>
+          <Form
+            ref={formRef}
+            layout="vertical"
+          >
+            <div style={{ display: 'flex' }}>
+              <FormItem
+                label=' '
+                field='time'
+              >
+                <RangePicker
+                  style={{ width: '100%' }}
+                  format='YYYY-MM-DD HH:mm'
+                  showTime={true}
+                />
+              </FormItem>
+              <FormItem
+                label=' '
+                field='partyName'
+              >
+                <Input
+                  allowClear
+                  placeholder='查询申请方/被申请方关键词'
+                />
+              </FormItem>
+              <Button
+                type="primary"
+                className="dialogPrimary"
+                onClick={handleSubmit}
+              >
+                查询
+              </Button>
+            </div>
+          </Form>
+        </div>
       </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', gap: '24px', marginTop: '16px' }}>
+          <div className='bottomTab1' onClick={() => navigate(`/mediate/visit`)}>
+            <div className='VisitWorkBench-bottom-title' 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' onClick={() => navigate(`/mediate/selfInspection`)}>
+            <div className='VisitWorkBench-bottom-title' style={{ color: '#D46B08' }}>自行排查</div>
+            {/* <img src={checkInto} alt='' className='VisitWorkBench-bottom-img' /> */}
           </div>
         </div>
       </div>

--
Gitblit v1.8.0