From 5424fb6cc7c907ec12025e96bb41146b28e5582c Mon Sep 17 00:00:00 2001 From: xusd <hugeinfo123> Date: Sun, 08 Sep 2024 10:00:34 +0800 Subject: [PATCH] Merge branch 'master' of http://120.79.193.119:9090/r/gzzfw/frontEnd/gzDyh --- gz-customerSystem/src/views/register/eventFlow/index.jsx | 117 +++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 91 insertions(+), 26 deletions(-) diff --git a/gz-customerSystem/src/views/register/eventFlow/index.jsx b/gz-customerSystem/src/views/register/eventFlow/index.jsx index 2606507..c6453a2 100644 --- a/gz-customerSystem/src/views/register/eventFlow/index.jsx +++ b/gz-customerSystem/src/views/register/eventFlow/index.jsx @@ -7,7 +7,7 @@ * @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"; @@ -17,33 +17,100 @@ import EventFlow from './component/EventFlow'; 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: applyRecord, - label: '申请记录', - key: '2', - }, - { - img: examine, - label: '审核', - key: '3', - }, - ]) - const [disTab, setDisTab] = useState(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' }}> @@ -53,9 +120,9 @@ } > {disTab ? <Tabs - defaultActiveTab='1' onChange={(v) => setTabsActive(v)} className='myTabContent' + activeTab={tabsActive} > {tabsList?.map(item => { return <TabPane @@ -67,12 +134,10 @@ </span> } > - {tabsActive === '1' && <EventFlow />} - {tabsActive === '2' && <ApplyInfo />} - {tabsActive === '3' && <Examine />} + {getTypeDom(item.key)} </TabPane> })} - </Tabs> : <EventFlow /> + </Tabs> : <EventFlow authorData={authorData} /> } </NewPage> </div> -- Gitblit v1.8.0