From 92e258fd2f911df1e04d81ea847cfacdc7b8b874 Mon Sep 17 00:00:00 2001 From: zhangyongtian <1181606322@qq.com> Date: Wed, 11 Sep 2024 11:54:58 +0800 Subject: [PATCH] feat: 工作台时限组件 --- gz-customerSystem/src/views/register/index.jsx | 753 +++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 492 insertions(+), 261 deletions(-) diff --git a/gz-customerSystem/src/views/register/index.jsx b/gz-customerSystem/src/views/register/index.jsx index 0c63274..7378401 100644 --- a/gz-customerSystem/src/views/register/index.jsx +++ b/gz-customerSystem/src/views/register/index.jsx @@ -2,7 +2,7 @@ * @Author: dminyi 1301963064@qq.com * @Date: 2024-09-08 15:14:12 * @LastEditors: dminyi 1301963064@qq.com - * @LastEditTime: 2024-09-09 17:06:20 + * @LastEditTime: 2024-09-10 20:29:15 * @FilePath: \gzDyh\gz-customerSystem\src\views\register\index.jsx * @Description: 工作台 */ @@ -13,15 +13,52 @@ import { Space } from 'antd'; import { Tabs, Typography, Radio } from '@arco-design/web-react'; import * as $$ from '@/utils/utility'; +import './index.less'; + const TabPane = Tabs.TabPane; -function pageMyTaskBlApi(data) { - return $$.ax.request({ url: `caseTask/pageMyTaskBl`, type: 'get', service: 'mediate', data }); -} +// 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 }); +} + +//签收 +function pageMyTaskQsApi(data) { + return $$.ax.request({ url: `caseTask/pageMyTaskQs?page=1&size=10&sortType=1&sortColmn=1&status=1`, 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 }); +} + +//办理中 +function pageMyTaskBlzApi(data) { + return $$.ax.request({ url: `caseTask/pageMyTaskBlz?page=1&size=10&sortType=1&sortColmn=1&status=1`, 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 pageMyTaskBlApi(type) { + return $$.ax.request({ url: `caseTask/pageMyTaskBl?page=1&size=10&sortType=1&sortColmn=1&status=` + type, type: 'get', service: 'mediate' }); +} + +//签收 +function signApi(data) { + return $$.ax.request({ url: `caseTask/sign`, type: 'post', service: 'mediate', data }); } const VisitWorkBench = () => { @@ -34,14 +71,14 @@ key: '1', label: '待分派', bgColor: '#E8F8FF', - num: `${CountList?.waitDisp}`, + num: `${CountList?.waitDisp || '0'}`, img: tab1 }, { key: '2', label: '待签收', bgColor: '#E8FFEA', - num: `${CountList?.waitSign}`, + num: `${CountList?.waitSign || '0'}`, img: tab2 }, @@ -49,7 +86,7 @@ key: '3', label: '待受理', bgColor: '#F5E8FF', - num: `${CountList?.waitAccept}`, + num: `${CountList?.waitAccept || '0'}`, img: tab3 }, @@ -57,7 +94,7 @@ key: '4', label: '办理中', bgColor: '#E6FFFB', - num: `${CountList?.waitReview}`, + num: `${CountList?.processing || '0'}`, img: tab4 }, @@ -65,7 +102,7 @@ key: '5', label: '待审核', bgColor: '#E8F7FF', - num: `${CountList?.supervise}`, + num: `${CountList?.waitReview || '0'}`, img: tab5 }, @@ -73,227 +110,13 @@ key: '6', label: '督办', bgColor: '#FFF7E6', - num: `${CountList?.processing}`, + num: `${CountList?.supervise || '0'}`, img: tab6 }, ] - const fakeData1 = - [ - { - id: 1, - caseNo: 'A20230101', - judicNo: '申请材料', - perClassName: '李晓明的纠纷化解申请表、身份证...', - inputUserName: '0', - mediateUserName: '2024-7-12 12:00', - judgeName: '王五', - mediator: '赵六', - handlerUserName: '钱七', - returnUserName: '孙八', - expireTime: '2023-08-10T08:00:00.000Z', - processName: '进行中', - otherMediator: '周九', - canalName: '网络', - judicResult: '通过', - assistName: '吴十', - mediTypeName: '民事调解', - serieStatus: '1', // 1 表示非系列案,2 表示系列案 - // 更多字段... - }, - { - id: 2, - caseNo: 'A20230101', - judicNo: '证据材料', - perClassName: '李晓明的纠纷化解申请表、身份证...', - inputUserName: '0', - mediateUserName: '2024-7-12 12:00', - judgeName: '王五', - mediator: '赵六', - handlerUserName: '钱七', - returnUserName: '孙八', - expireTime: '2023-08-10T08:00:00.000Z', - processName: '进行中', - otherMediator: '周九', - canalName: '网络', - judicResult: '通过', - assistName: '吴十', - mediTypeName: '民事调解', - serieStatus: '1', // 1 表示非系列案,2 表示系列案 - // 更多字段... - }, - { - id: 3, - 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: 4, - 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: 5, - 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: 6, - 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: 7, - 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: 8, - 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: 9, - 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: 10, - 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 [fakeData1, setFakeData1] = useState([]) const [columnType, setColumnType] = useState([ { @@ -306,13 +129,16 @@ title: '分派时限', dataIndex: 'timeLimit', key: 'timeLimit', - width: 60, + width: 190, + render: (text, record, index) => { + return getDiffTime(record.timeLimit) + } }, { title: '事项等级', dataIndex: 'caseGrade', key: 'caseGrade', - width: 180, + width: 80, }, { title: '事项来源', @@ -345,8 +171,8 @@ width: 180, render: (text, record) => ( <Space style={{ color: '#1A6FB8' }}> - <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div> - <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div> + <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> ), }, @@ -359,19 +185,21 @@ dataIndex: 'turnaroundTime', key: 'turnaroundTime', width: 100, - render: (text, record, index) => <span>{index + 1}</span>, }, { title: '分派时限', dataIndex: 'timeLimit', key: 'timeLimit', - width: 60, + width: 190, + render: (text, record, index) => { + return getDiffTime(record.timeLimit) + } }, { title: '事项等级', dataIndex: 'caseGrade', key: 'caseGrade', - width: 180, + width: 80, }, { title: '事项来源', @@ -404,8 +232,66 @@ width: 180, render: (text, record) => ( <Space style={{ color: '#1A6FB8' }}> - <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div> - <div onClick={() => navigate(`/mediate/visit/eventFlow?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div> + <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, + render: (text, record) => ( + <Space style={{ color: '#1A6FB8' }}> + <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${record.ownerId}&caseId=${record.caseId}`)} style={{ cursor: 'pointer' }}>详情</div> </Space> ), }, @@ -416,19 +302,21 @@ dataIndex: 'turnaroundTime', key: 'turnaroundTime', width: 100, - render: (text, record, index) => <span>{index + 1}</span>, }, { title: '签收时限', dataIndex: 'timeLimit', key: 'timeLimit', - width: 60, + width: 190, + render: (text, record, index) => { + return getDiffTime(record.timeLimit) + } }, { title: '事项等级', dataIndex: 'caseGrade', key: 'caseGrade', - width: 180, + width: 80, }, { title: '事项来源', @@ -461,7 +349,66 @@ width: 180, render: (text, record) => ( <Space style={{ color: '#1A6FB8' }}> - <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div> + <div onClick={() => navigate(`/mediate/visit/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, + 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> ), @@ -478,13 +425,16 @@ title: '受理时限', dataIndex: 'timeLimit', key: 'timeLimit', - width: 60, + width: 190, + render: (text, record, index) => { + return getDiffTime(record.timeLimit) + } }, { title: '事项等级', dataIndex: 'caseGrade', key: 'caseGrade', - width: 180, + width: 80, }, { title: '事项来源', @@ -517,7 +467,66 @@ width: 180, render: (text, record) => ( <Space style={{ color: '#1A6FB8' }}> - <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div> + <div onClick={() => navigate(`/mediate/visit/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, + 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> ), @@ -535,25 +544,25 @@ title: '已办天数', dataIndex: 'processingDays', key: 'processingDays', - width: 60, + width: 100, }, { title: '事项等级', dataIndex: 'caseGrade', key: 'caseGrade', - width: 180, + width: 100, }, { title: '事项来源', dataIndex: 'caseSource', key: 'caseSource', - width: 180, + width: 100, }, { title: '事项类型', dataIndex: 'caseType', key: 'caseType', - width: 180, + width: 100, }, { title: '承办部门', @@ -592,8 +601,8 @@ width: 180, render: (text, record) => ( <Space> - <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div> - <div onClick={() => navigate(`/mediate/visit/handleFeedback?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div> + <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> ), }, @@ -655,7 +664,7 @@ width: 180, render: (text, record) => ( <Space> - <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>详情</div> + <div onClick={() => navigate(`/mediate/visit/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> @@ -675,19 +684,21 @@ dataIndex: 'turnaroundTime', key: 'turnaroundTime', width: 100, - render: (text, record, index) => <span>{index + 1}</span>, }, { title: '回复时限', dataIndex: 'timeLimit', key: 'timeLimit', - width: 60, + width: 190, + render: (text, record, index) => { + return getDiffTime(record.timeLimit) + } }, { title: '督办部门', dataIndex: 'caseGrade', key: 'caseGrade', - width: 180, + width: 80, }, { title: '督办意见', @@ -739,40 +750,211 @@ }, ]) + //结案申请 + const caseResultApply = [ + { + 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, + 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> + ), + }, + ]; + const sign = async (caseId, ownerId) => { + const res = await signApi({ caseId: caseId, caseTaskId: ownerId }) + if (res.type) { + $$.infoSuccess({ content: '签收成功' }); + getCountList(); + pageMyTaskFpNew() + } + } + const handleSign = (caseId, ownerId) => { + sign(caseId, ownerId) + } + + const pageMyTaskFpNew = async () => { + const res = await pageMyTaskFpApi() + 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) + } + } + + //改变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(backColumn) + pageMyTaskBl('1') + + } + } + + } + + //改变工作总览 const tabActive = (key) => { console.log(key, 'key') 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 () => { - const res = await pageMyTaskBlApi({ page: 1, size: 10, timeStart: '', timeEnd: '', partyName: '', sortType: '', sortColmn: '' }) + const pageMyTaskBl = async (type) => { + const res = await pageMyTaskBlApi(type) if (res.type) { - console.log(res.data, 'res.data') - // setColumn(res.data) + setFakeData1(res.data?.content) } } + //获取工作总览数据 const getCountList = async () => { const res = await getCountListApi() if (res.type) { @@ -781,12 +963,39 @@ } } - + //获取时间差,返回表格时限组件 + 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> + } + } useEffect(() => { + pageMyTaskFpNew() // pageMyTaskBl(); getCountList(); - }, [columnType,direction]) + }, []) @@ -811,7 +1020,7 @@ </div> </div> <div className='VisitWorkBench-middle'> - <Tabs defaultActiveTab='1'> + <Tabs defaultActiveTab='1' onChange={handleColumnType}> <TabPane // onChange={handleColumnType} key='1' @@ -832,7 +1041,7 @@ type='button' name='direction' value={direction} - onChange={(e) => setDirection(e)} + onChange={(e) => { setDirection(e); handleSh(e) }} style={{ marginBottom: 16 }} options={['回退审核', '上报审核', '结案申请审核', '联合处置审核']} ></Radio.Group> @@ -841,7 +1050,7 @@ columns={columnType} dataSource={fakeData1} size="small" - rowKey="id" + rowKey="caseId" bordered={true} // style={{ marginBottom: '65px', marginTop: '-16px' }} rowSelection={{ @@ -864,6 +1073,17 @@ } > <Typography.Paragraph> + <TableView + columns={columnType} + dataSource={fakeData1} + size="small" + rowKey="id" + bordered={true} + // style={{ marginBottom: '65px', marginTop: '-16px' }} + rowSelection={{ + type: 'Checkbox' + }} + /> </Typography.Paragraph> </TabPane> {tabActivekey === '4' && @@ -876,6 +1096,17 @@ } > <Typography.Paragraph> + <TableView + columns={columnType} + dataSource={fakeData1} + size="small" + rowKey="id" + bordered={true} + // style={{ marginBottom: '65px', marginTop: '-16px' }} + rowSelection={{ + type: 'Checkbox' + }} + /> </Typography.Paragraph> </TabPane> } @@ -887,7 +1118,7 @@ 自行排查 <div style={{ display: 'flex', justifyContent: 'space-evenly' }}> <div className='bottomTab1'> - <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', cursor: 'pointer' }}>大厅来访</div> <img src={visitInto} alt='' className='VisitWorkBench-bottom-img' /> </div> <div className='bottomTab2'> -- Gitblit v1.8.0