From 3a188607647cbf05c08e7675186ec48764cc657c Mon Sep 17 00:00:00 2001 From: zhangyongtian <1181606322@qq.com> Date: Wed, 04 Sep 2024 14:55:27 +0800 Subject: [PATCH] feat: 滚动优化、查看当事人报错、事件流转静态 --- gz-customerSystem/src/views/register/eventFlow/component/EventFlow.jsx | 97 ++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 88 insertions(+), 9 deletions(-) diff --git a/gz-customerSystem/src/views/register/eventFlow/component/EventFlow.jsx b/gz-customerSystem/src/views/register/eventFlow/component/EventFlow.jsx index 091e29d..046bba9 100644 --- a/gz-customerSystem/src/views/register/eventFlow/component/EventFlow.jsx +++ b/gz-customerSystem/src/views/register/eventFlow/component/EventFlow.jsx @@ -1,7 +1,12 @@ -import React from 'react'; -import { Button } from '@arco-design/web-react'; +import React, { useState, useRef, useEffect } from 'react'; +import { Button, Modal, Tabs, Badge } from '@arco-design/web-react'; import { Space } from 'antd'; import ProgressStep from '@/components/ProgressStep/VisitStep'; +import BackModel from "./BackModel"; +import { Scrollbars } from "react-custom-scrollbars"; +import { getOffset, getSize } from '@/utils/utility'; + +const TabPane = Tabs.TabPane; const fakeData = [ { @@ -35,12 +40,22 @@ }, { handlerUserName: '白云区新市街市场监管所', - finishTime: new Date().getTime() - 11 * 60 * 60 * 1000, // 半天前的时间 + finishTime: new Date().getTime() - 10 * 60 * 60 * 1000, // 半天前的时间 handleResult: '1', status: '3', taskNodeName: '事件回退', mediResult: '22_00025-1', // handleContent: '已签收', + operationName: '赵菲菲' + }, + { + handlerUserName: '白云区新市街综治中心', + finishTime: new Date().getTime() - 9 * 60 * 60 * 1000, // 半天前的时间 + handleResult: '1', + status: '2', + taskNodeName: '回退审核', + mediResult: '22_00025-1', + handleContent: '通过', operationName: '赵菲菲' }, { @@ -56,22 +71,86 @@ ]; export default function EventFlow(props) { - const tabs = [ - { index: '1', label: '承办部门' }, - { index: '2', label: '配合部门' }, - ]; + const scrollRef = useRef(null) + const [backVisible, setBackVisible] = useState(false) + const [height, setHeight] = useState(500) + + useEffect(() => { + onWindowResize() + window.addEventListener("resize", onWindowResize); + }, []) + + const onWindowResize = () => { + let offsetLeft = 0; + let offsetTop = 0; + if (scrollRef.current.container) { + offsetLeft = getOffset(scrollRef.current.container).left; + offsetTop = getOffset(scrollRef.current.container).top; + } + setHeight(getSize().windowH - offsetTop - 65) + }; + return ( <div className='dataSync'> <div className='dataSync-hasTabPage' > - <ProgressStep progressData={fakeData} /> + <Tabs defaultActiveTab='1' > + <TabPane + key='1' + title={ + <span style={{ fontSize: '15px' }}> + 流转进度 + </span> + } + > + <Scrollbars + style={{ height: height }} + ref={scrollRef} + autoHide + > + <ProgressStep progressData={fakeData} /> + </Scrollbars> + </TabPane> + <TabPane + key='2' + title={ + <span style={{ fontSize: '15px' }}> + 督办信息 + <Badge maxCount={99} count={1000} /> + </span> + } + > + <Scrollbars + style={{ height: height }} + ref={scrollRef} + ></Scrollbars> + </TabPane> + </Tabs> + </div> <div className="dataSync-excel"> <Space size="large" style={{ margin: '4px 14px' }}> <Button type="primary" >受理</Button> - <Button type='outline' status='danger'>回退</Button> + <Button type="primary" >提交</Button> + <Button type="primary" >自行受理</Button> + <Button type='outline' status='danger' onClick={() => setBackVisible(true)}>回退</Button> + <Button type='outline'>交办</Button> + <Button type='outline'>上报</Button> <Button type='secondary' >返回上级页面</Button> </Space> </div> + <Modal + title='回退' + visible={backVisible} + onOk={() => setBackVisible(false)} + onCancel={() => { setBackVisible(false) }} + autoFocus={false} + focusLock={true} + footer={null} + unmountOnExit={true} + maskClosable={false} + > + <BackModel /> + </Modal> </div> ) } -- Gitblit v1.8.0