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 | 485 +++++++++++++++++++++++------------------------------ 1 files changed, 213 insertions(+), 272 deletions(-) diff --git a/gz-customerSystem/src/views/register/index.jsx b/gz-customerSystem/src/views/register/index.jsx index 26359b2..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 22:29:34 + * @LastEditTime: 2024-09-10 20:29:15 * @FilePath: \gzDyh\gz-customerSystem\src\views\register\index.jsx * @Description: 工作台 */ @@ -13,12 +13,14 @@ 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 }); @@ -41,6 +43,17 @@ //办理中 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' }); } //签收 @@ -81,7 +94,7 @@ key: '4', label: '办理中', bgColor: '#E6FFFB', - num: `${CountList?.waitReview || '0'}`, + num: `${CountList?.processing || '0'}`, img: tab4 }, @@ -89,7 +102,7 @@ key: '5', label: '待审核', bgColor: '#E8F7FF', - num: `${CountList?.supervise || '0'}`, + num: `${CountList?.waitReview || '0'}`, img: tab5 }, @@ -97,227 +110,13 @@ key: '6', label: '督办', bgColor: '#FFF7E6', - num: `${CountList?.processing || '0'}`, + num: `${CountList?.supervise || '0'}`, 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: 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([ { @@ -330,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: '事项来源', @@ -383,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: '事项来源', @@ -428,8 +232,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> ), }, @@ -440,19 +244,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: '事项来源', @@ -485,7 +291,7 @@ 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> </Space> ), }, @@ -496,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: '事项来源', @@ -541,8 +349,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={() => handleSign(record.caseId, record.ownerId)}>签收</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> ), }, @@ -553,19 +361,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: '事项来源', @@ -598,7 +408,7 @@ 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>签收</div> </Space> ), @@ -615,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: '事项来源', @@ -654,7 +467,7 @@ 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> ), @@ -671,13 +484,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: '事项来源', @@ -710,7 +526,7 @@ 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=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer' }}>处理</div> </Space> ), @@ -785,7 +601,7 @@ width: 180, render: (text, record) => ( <Space> - <div onClick={() => navigate(`/mediate/visit/fileMessage?caseTaskId=${'1'}&caseId=${'1'}`)} style={{ cursor: 'pointer', color: '#1A6FB8' }}>详情</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> ), @@ -848,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> @@ -868,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: '督办意见', @@ -932,10 +750,82 @@ }, ]) + //结案申请 + 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('签收成功') + $$.infoSuccess({ content: '签收成功' }); + getCountList(); + pageMyTaskFpNew() } } @@ -976,9 +866,20 @@ 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') { @@ -991,6 +892,10 @@ if (tabActivekey === '3') { setColumnType(fakeColumns2Info) } + if (tabActivekey === '4') { + setColumnType(caseResultApply) + pageMyTaskBl('0') + } } if (type === '1') { if (tabActivekey === '1') { @@ -998,11 +903,17 @@ } } + if (type === '3') { + if (tabActivekey === '4') { + setColumnType(backColumn) + pageMyTaskBl('1') + + } + } + } - - - + //改变工作总览 const tabActive = (key) => { console.log(key, 'key') setTabActivekey(key); @@ -1036,14 +947,14 @@ } } - 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) { @@ -1052,16 +963,35 @@ } } - - - - - - - + //获取时间差,返回表格时限组件 + 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(); @@ -1111,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> @@ -1166,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> } @@ -1177,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