From 899e81654c9389785d58f9dbdf2ea7d2b2bc9082 Mon Sep 17 00:00:00 2001 From: zhangyongtian <1181606322@qq.com> Date: Fri, 13 Sep 2024 14:55:51 +0800 Subject: [PATCH] feat: 对接流程 --- gz-customerSystem/src/views/register/eventFlow/index.jsx | 118 +++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 82 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..1e4ece1 100644 --- a/gz-customerSystem/src/views/register/eventFlow/index.jsx +++ b/gz-customerSystem/src/views/register/eventFlow/index.jsx @@ -1,19 +1,10 @@ -/* - * @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"; @@ -21,29 +12,86 @@ 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 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 () => { + 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={caseTaskId} caseId={caseId} /> + } + } return ( <div style={{ position: 'relative' }}> @@ -53,9 +101,9 @@ } > {disTab ? <Tabs - defaultActiveTab='1' onChange={(v) => setTabsActive(v)} className='myTabContent' + activeTab={tabsActive} > {tabsList?.map(item => { return <TabPane @@ -67,12 +115,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