From 7bec45c3da050deda516f96b0a89f94b06814ae9 Mon Sep 17 00:00:00 2001 From: liuwh <964324856@qq.com> Date: Tue, 10 Sep 2024 16:59:11 +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 | 123 +++++++++++++++++++++++++++++------------ 1 files changed, 87 insertions(+), 36 deletions(-) diff --git a/gz-customerSystem/src/views/register/eventFlow/index.jsx b/gz-customerSystem/src/views/register/eventFlow/index.jsx index 2606507..4257ef1 100644 --- a/gz-customerSystem/src/views/register/eventFlow/index.jsx +++ b/gz-customerSystem/src/views/register/eventFlow/index.jsx @@ -1,49 +1,102 @@ -/* - * @Author: dminyi 1301963064@qq.com - * @Date: 2024-08-09 09:59:43 - * @LastEditors: dminyi 1301963064@qq.com - * @LastEditTime: 2024-08-31 17:13:53 - * @FilePath: \gzDyh\gz-customerSystem\src\views\basicInformation\organization\index.jsx - * @Description: 来访登记 - */ - -import React, { useState, useRef, Fragment } from "react"; +import React, { useState, 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 { Steps, Tabs } from '@arco-design/web-react'; -import { examine, Matter, transfer, applyRecord } from '@/assets/images' +import { examine, Matter, applyRecord } from '@/assets/images' 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', + }, +] 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 caseTaskId = $$.getQueryString('caseTaskId') + const caseId = $$.getQueryString('caseId') + const [authorData, setAuthorData] = useState({}); + const [tabsList, setTabsList] = useState([]); + const [tabsActive, setTabsActive] = useState(); + const [disTab, setDisTab] = useState(true); + useEffect(() => { + getAuthor() + }, []) + + //获取权限tab和按钮权限 + const getAuthor = async () => { + console.log(caseTaskId, caseId) + const res = await getTabButton({ + caseTaskId: 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={caseId} caseTaskId={caseTaskId}/> + } + if (key === 'sqjl') { + return <ApplyInfo /> + } + if (key === 'htsh' || key === 'sbsh' || key === 'lhczsh') { + return <Examine type={key} caseTaskId={routeData.caseTaskId} caseId={routeData.caseId} /> + } + } + + console.log(caseId, 'caseId') return ( <div style={{ position: 'relative' }}> @@ -53,9 +106,9 @@ } > {disTab ? <Tabs - defaultActiveTab='1' onChange={(v) => setTabsActive(v)} className='myTabContent' + activeTab={tabsActive} > {tabsList?.map(item => { return <TabPane @@ -67,12 +120,10 @@ </span> } > - {tabsActive === '1' && <EventFlow />} - {tabsActive === '2' && <ApplyInfo />} - {tabsActive === '3' && <Examine />} + {getTypeDom(item.key)} </TabPane> })} - </Tabs> : <EventFlow /> + </Tabs> : <EventFlow authorData={authorData} caseId={caseId} /> } </NewPage> </div> -- Gitblit v1.8.0