From 0485e2c28f0d62ec1026d385f992145b639a95ab Mon Sep 17 00:00:00 2001 From: liuwh <964324856@qq.com> Date: Sat, 07 Sep 2024 21:59:19 +0800 Subject: [PATCH] Merge branch 'master' of http://120.79.193.119:9090/r/gzzfw/frontEnd/gzDyh into master --- gz-customerSystem/src/views/register/eventFlow/index.jsx | 139 ++++++++++++++++++++++++++++++++------------- 1 files changed, 98 insertions(+), 41 deletions(-) diff --git a/gz-customerSystem/src/views/register/eventFlow/index.jsx b/gz-customerSystem/src/views/register/eventFlow/index.jsx index f9bbea1..c6453a2 100644 --- a/gz-customerSystem/src/views/register/eventFlow/index.jsx +++ b/gz-customerSystem/src/views/register/eventFlow/index.jsx @@ -7,49 +7,122 @@ * @Description: 来访登记 */ -import React, { useState, useRef, Fragment } from "react"; +import React, { useState, useRef, Fragment, useEffect } from "react"; import NewPage from '@/components/NewPage'; import * as $$ from '@/utils/utility'; import "@arco-themes/react-gzzz/css/arco.css"; import '../index.less'; -import { Button, Steps, Tabs, Message } from '@arco-design/web-react'; -import { question, register, Matter, transfer } from '@/assets/images' +import { Steps, Tabs } from '@arco-design/web-react'; +import { examine, Matter, transfer, applyRecord } from '@/assets/images' import EventFlow from './component/EventFlow'; -import MatterDetail from '../matterDetail'; +import Examine from "./component/Examine"; +import ApplyInfo from "../matterDetail/ApplyInfo"; +import { useParams } from 'react-router-dom'; const Step = Steps.Step; const TabPane = Tabs.TabPane; +function getTabButton(data) { + return $$.ax.request({ url: `caseTask/getTabButton`, type: 'get', service: 'mediate', data }); +} +const myTab = [ + { + img: Matter, + label: '详情', + key: 'dslxq', + }, + { + img: Matter, + label: '事项详情', + key: 'sxxq', + }, + { + img: applyRecord, + label: '申请记录', + key: 'sqjl', + }, + { + img: examine, + label: '回退审核', + key: 'htsh', + }, + { + img: examine, + label: '上报审核', + key: 'sbsh', + }, + { + img: examine, + label: '结案审核', + key: 'jash', + }, + { + img: examine, + label: '联合处置申请审核', + key: 'lhczsh', + }, +] const Organization = () => { - const [current, setCurrent] = useState(2); - const [tabsActive, setTabsActive] = useState('1'); - const [tabsList, setTabList] = useState([ - { - img: Matter, - label: '事项详情', - key: '1' - }, - { - img: transfer, - label: '流转办理', - key: '2', - isNeedStep: true,//加上这个就有进度条 - }, - ]) + const routeData = useParams(); + const [authorData, setAuthorData] = useState({}); + const [tabsList, setTabsList] = useState([]); + const [tabsActive, setTabsActive] = useState(); + const [disTab, setDisTab] = useState(true); + useEffect(() => { + getAuthor() + }, []) + + //获取权限tab和按钮权限 + const getAuthor = async () => { + const res = await getTabButton({ + caseTaskId: routeData.caseTaskId + }) + if (res.type) { + const { tabList } = res.data + setAuthorData(res.data) + if (tabList.length === 0) { + //没有tab就不展示 + setDisTab(false) + } else { + setTabsList(myTab.filter(item => { + const flag = tabList.some(result => { + if (result.id === item.key) { + return true + } + }) + return flag + })) + setTabsActive(tabList[0].id) + } + } + } + + //根据id定义组件 + const getTypeDom = (key) => { + if (key === 'dslxq' || key === 'sxxq') { + return <EventFlow authorData={authorData} caseId={routeData.caseId} /> + } + if (key === 'sqjl') { + return <ApplyInfo /> + } + if (key === 'htsh' || key === 'sbsh' || key === 'jash' || key === 'lhczsh') { + return <Examine type={key} /> + } + } return ( <div style={{ position: 'relative' }}> <NewPage pageHead={ - { breadcrumbData: [{ title: '工作台' }, { title: '事件中心' }], title: '办理反馈' } + { breadcrumbData: [{ title: '工作台' }, { title: '事件中心' }], title: '处理' } } > - <Tabs - defaultActiveTab='1' + {disTab ? <Tabs onChange={(v) => setTabsActive(v)} className='myTabContent' + activeTab={tabsActive} > {tabsList?.map(item => { return <TabPane @@ -61,27 +134,11 @@ </span> } > - { - item.isNeedStep && <div style={{ backgroundColor: '#fff', margin: '12px 16px 0px 16px', paddingTop: '16px', paddingLeft: '91px' }}> - <Steps type='navigation' current={current}> - <Step title='来访登记' disabled /> - <Step title='事件流转' disabled /> - <Step title='办理反馈' disabled /> - <Step title='结案审核' disabled /> - <Step title='当事人评价' disabled /> - <Step title='结案归档' disabled /> - </Steps> - </div> - } - {tabsActive === '1' && - <MatterDetail /> - } - { - (tabsActive === '2' && current === 2) && <EventFlow /> - } + {getTypeDom(item.key)} </TabPane> })} - </Tabs> + </Tabs> : <EventFlow authorData={authorData} /> + } </NewPage> </div> ) -- Gitblit v1.8.0