system-copyright-react/src/route/index/Index.tsx

491 lines
22 KiB
TypeScript
Raw Normal View History

2024-03-27 18:56:48 +08:00
import './index.css';
2024-05-07 17:00:32 +08:00
// import { MouseEvent, Reducer, useEffect, useReducer, useState, useContext } from "react";
import { MouseEvent, Reducer, useEffect, useReducer, useState } from "react";
import { useNavigate, useSearchParams, Outlet } from "react-router-dom";
import { IMenuListItem, IMenuWithTopButton } from "../../interfaces/menu/IMenuWithTopButton.ts";
2024-03-27 18:56:48 +08:00
import MenuWithTopButton from "../../components/menu/MenuWithTopButton.tsx";
2024-07-22 17:22:35 +08:00
// import MenuWithBottomButtom from '../../components/menu/MenuWithBottomButton.tsx'
2024-03-27 18:56:48 +08:00
import MenuTreeWithTopButton from "../../components/menu/MenuTreeWithTopButton.tsx";
2024-05-07 17:00:32 +08:00
// import ListProj from "../../components/list/ListProj.tsx";
// import ListProjAgent from "../../components/list/ListProjAgent.tsx";
2024-07-17 14:19:28 +08:00
import { MenuProps, Select } from 'antd';
2024-03-27 18:56:48 +08:00
import {
IndexListContext,
IndexListDataType,
IndexListDispatchContext,
ListAction,
2024-04-01 20:39:22 +08:00
ListData,
2024-03-27 18:56:48 +08:00
} from "../../context/IndexListContext.ts";
2024-05-07 17:00:32 +08:00
import { useLocation } from 'react-router-dom';
import gpsImg from '../../static/right/gps.png'
import backImg from '../../static/right/back.png'
import { Link } from "react-router-dom";
import { Input, Breadcrumb } from 'antd';
const { Search } = Input;
2024-03-27 18:56:48 +08:00
export default function Index() {
2024-07-15 16:58:47 +08:00
// 关键字
const [keywords, setKeywords] = useState('');
2024-07-17 14:19:28 +08:00
const [type, setType] = useState('')
2024-05-07 17:00:32 +08:00
// const indexListContext = useContext(IndexListContext);
2024-05-12 07:45:51 +08:00
2024-05-07 17:00:32 +08:00
2024-03-27 18:56:48 +08:00
const nav = useNavigate();
2024-03-28 19:35:54 +08:00
const [searchParams] = useSearchParams();
2024-03-27 18:56:48 +08:00
const listReducer = (state: ListData, action: ListAction) => {
2024-04-01 20:39:22 +08:00
if (action.type == IndexListDataType.PROJ) {
2024-03-27 18:56:48 +08:00
state.type = IndexListDataType.PROJ;
2024-04-01 20:39:22 +08:00
state.status = action.value as string;
} else if (action.type == IndexListDataType.AGENT) {
2024-03-27 18:56:48 +08:00
state.type = IndexListDataType.AGENT;
2024-04-01 20:39:22 +08:00
state.status = action.value as string;
} else if (action.type == IndexListDataType.CATEGORY) {
state.categorys = action.value as MenuProps['items'];
2024-04-02 18:45:46 +08:00
state.categoryChangeCount++;
2024-04-01 20:39:22 +08:00
} else if (action.type == IndexListDataType.CATEGORY_CHANGE) {
2024-04-02 18:45:46 +08:00
state.category = action.value as string;
state.categoryChangeCount++;
} else if (action.type == IndexListDataType.CATEGORY_DELETE) {
state.categorys = action.value as MenuProps['items'];
state.category = '';
state.categoryChangeCount++;
2024-03-27 18:56:48 +08:00
}
return {
...state
};
}
const [listData, dispatch] = useReducer<Reducer<ListData, ListAction>>(listReducer, {
2024-04-02 18:45:46 +08:00
type: IndexListDataType.PROJ,
categoryChangeCount: 0
2024-03-27 18:56:48 +08:00
});
2024-04-01 20:39:22 +08:00
const [projMenu, setProjMenu] = useState<IMenuWithTopButton>({
2024-03-27 18:56:48 +08:00
button: {
2024-04-29 17:22:26 +08:00
name: '项目',
2024-03-27 18:56:48 +08:00
handle() {
nav('/proj-create')
}
},
list: [
2024-05-07 17:00:32 +08:00
{ id: 'ALL', name: '全部项目', active: true },
{ id: 'PROCESSING', name: '进行中的' },
{ id: 'COMPLETE', name: '已完成的' }
2024-03-27 18:56:48 +08:00
],
2024-04-01 20:39:22 +08:00
handleListItem(_e, _index, item: IMenuListItem) {
projMenu.list.forEach(item => item.active = false);
2024-05-21 11:21:34 +08:00
sellMenu.list.forEach(item => item.active = false);
buyMenu.list.forEach(item => item.active = false);
2024-04-01 20:39:22 +08:00
item.active = true;
setProjMenu({
...projMenu
})
2024-03-27 18:56:48 +08:00
dispatch({
type: IndexListDataType.PROJ,
2024-05-07 17:00:32 +08:00
value: item.id,
// keywords: ''
2024-03-27 18:56:48 +08:00
})
2024-04-29 17:22:26 +08:00
},
2024-03-27 18:56:48 +08:00
2024-05-07 17:00:32 +08:00
});
2024-05-21 11:21:34 +08:00
// const [agentMenu, setAgentMenu] = useState<IMenuWithTopButton>({
// button: {
// name: '代理服务',
// handle() {
// dispatch({
// type: IndexListDataType.PROJ,
// value: 'COMPLETE',
// })
// }
// },
// list: [
// { id: 'ALL', name: '全部项目' },
// { id: 'PROCESSING', name: '进行中的' },
// { id: 'COMPLETE', name: '已完成的' },
// ],
// handleListItem(_e: MouseEvent<HTMLLIElement>, _index: number, item: IMenuListItem) {
// projMenu.list.forEach(item => item.active = false);
// agentMenu.list.forEach(item => item.active = false);
// item.active = true;
// setAgentMenu({
// ...agentMenu
// })
// dispatch({
// type: IndexListDataType.AGENT,
// value: item.id,
// })
// }
// })
const [sellMenu, setSellMenu] = useState<IMenuWithTopButton>({
2024-03-27 18:56:48 +08:00
button: {
2024-05-21 11:21:34 +08:00
name: '我要卖',
2024-03-27 18:56:48 +08:00
handle() {
2024-05-21 11:21:34 +08:00
// dispatch({
// type: IndexListDataType.PROJ,
// value: 'COMPLETE',
// })
2024-03-27 18:56:48 +08:00
}
},
list: [
2024-05-21 11:21:34 +08:00
{ id: '1', name: '商品发布', path: '/product-release' },
{ id: '2', name: '交易订单', path: '/transaction-order' },
// { id: 'COMPLETE', name: '已完成的' },
2024-03-27 18:56:48 +08:00
],
handleListItem(_e: MouseEvent<HTMLLIElement>, _index: number, item: IMenuListItem) {
2024-04-01 20:39:22 +08:00
projMenu.list.forEach(item => item.active = false);
2024-05-21 11:21:34 +08:00
sellMenu.list.forEach(item => item.active = false);
buyMenu.list.forEach(item => item.active = false);
2024-04-01 20:39:22 +08:00
item.active = true;
2024-05-21 11:21:34 +08:00
setSellMenu({
...sellMenu
2024-04-01 20:39:22 +08:00
})
2024-05-21 11:21:34 +08:00
// dispatch({
// type: IndexListDataType.AGENT,
// value: item.id,
2024-05-12 07:45:51 +08:00
2024-05-21 11:21:34 +08:00
// })
}
})
const [buyMenu, setBuyMenu] = useState<IMenuWithTopButton>({
button: {
name: '我要买',
handle() {
// dispatch({
// type: IndexListDataType.PROJ,
// value: 'COMPLETE',
// })
}
},
list: [
{ id: '1', name: '著作权商品', path: '/copyright-goods' },
{ id: '2', name: '交易商品', path: '/trading-goods' },
// { id: 'COMPLETE', name: '已完成的' },
],
handleListItem(_e: MouseEvent<HTMLLIElement>, _index: number, item: IMenuListItem) {
projMenu.list.forEach(item => item.active = false);
sellMenu.list.forEach(item => item.active = false);
buyMenu.list.forEach(item => item.active = false);
item.active = true;
setBuyMenu({
...buyMenu
2024-03-27 18:56:48 +08:00
})
2024-05-21 11:21:34 +08:00
// dispatch({
// type: IndexListDataType.AGENT,
// value: item.id,
// })
2024-03-27 18:56:48 +08:00
}
2024-04-01 20:39:22 +08:00
})
2024-05-21 11:21:34 +08:00
2024-05-07 17:00:32 +08:00
const location = useLocation()
2024-05-12 07:45:51 +08:00
const [now, setNow] = useState<string>('首页')
// 编辑项目路由名
// const [editname,setEditname] = useState('')
// 新建项目路由名字
// const [newname,setNewname] = useState('')
const [pathArray, setPathArray] = useState<any>([])
2024-07-17 14:19:28 +08:00
const [showSearchBox, setShowSearchBox] = useState(true)
2024-05-12 07:45:51 +08:00
useEffect(() => {
2024-05-07 17:00:32 +08:00
// const nowname = sessionStorage.getItem('now')
2024-05-12 07:45:51 +08:00
console.log('路由名字', location.pathname);
if (location.pathname.includes('/home')) {
2024-05-07 17:00:32 +08:00
setNow('首页')
2024-05-12 07:45:51 +08:00
setPathArray([{ title: '首页' }])
2024-07-15 16:58:47 +08:00
setShowSearchBox(true)
2024-05-12 07:45:51 +08:00
} else if (location.pathname.includes('/proj-create')) {
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-05-07 17:00:32 +08:00
setNow('创建项目')
2024-05-12 07:45:51 +08:00
setPathArray([{ title: <Link to={'/home'}></Link> }, { title: '创建项目' }])
2024-05-22 16:18:38 +08:00
// /config-mod-list /config-menu-list /config-mod-show
2024-06-03 14:56:19 +08:00
} else if (location.pathname.includes('/proj-edit') && !location.pathname.includes('/config-mod-show') && !location.pathname.includes('/config-mod-edit') && !location.pathname.includes('/step') && !location.pathname.includes('/config-loginpage') && !location.pathname.includes('/config-mod-save') && !location.pathname.includes('/config-mod-list') && !location.pathname.includes('/config-menu-list')) {
2024-05-12 07:45:51 +08:00
setNow('编辑项目')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-05-12 07:45:51 +08:00
// setEditname(location.pathname)
2024-07-18 10:26:20 +08:00
setPathArray([{ title: <Link to={'/home'}></Link> }, { title: '编辑项目' }])
2024-05-12 07:45:51 +08:00
} else if (location.pathname.includes('/proj-new')) {
setNow('新建项目')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-05-12 07:45:51 +08:00
// setNewname(location.pathname)
setPathArray([{ title: <Link to={'/home'}></Link> }, { title: <Link to={'/proj-create'}></Link> }, { title: '新建项目' }])
2024-05-15 18:00:20 +08:00
} else if (location.pathname.includes('/proj-efree')) {
2024-05-12 07:45:51 +08:00
setNow('编辑项目')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-05-12 07:45:51 +08:00
// setNewname(location.pathname)
2024-07-18 14:49:14 +08:00
setPathArray([{ title: <Link to={'/home'}></Link> }, { title: '编辑项目' }])
2024-05-15 18:00:20 +08:00
} else if (location.pathname.includes('/proj-eall')) {
2024-05-08 17:54:01 +08:00
setNow('编辑项目')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-05-12 07:45:51 +08:00
// setNewname(location.pathname)
2024-07-22 10:46:25 +08:00
setPathArray([{ title: <Link to={'/home'}> </Link> }, { title: '编辑项目' }])
2024-05-15 18:00:20 +08:00
} else if (location.pathname.includes('/proj-edit/step1')) {
2024-05-12 07:45:51 +08:00
setNow('标题简介')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-05-12 07:45:51 +08:00
// setNewname(location.pathname)
2024-05-15 18:00:20 +08:00
setPathArray([{ title: <Link to={'/home'}></Link> }, { title: <Link to={'/proj-create'}></Link> }, { title: <a onClick={() => { nav(-1) }}></a> }, { title: '标题简介' }])
} else if (location.pathname.includes('/proj-edit/step2')) {
2024-05-12 07:45:51 +08:00
setNow('标题简介')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-05-12 07:45:51 +08:00
// setNewname(location.pathname)
2024-05-15 18:00:20 +08:00
setPathArray([{ title: <Link to={'/home'}></Link> }, { title: <Link to={'/proj-create'}></Link> }, { title: <a onClick={() => { nav(-1) }}></a> }, { title: '基本信息' }])
2024-05-21 11:21:34 +08:00
} else if (location.pathname.includes('/proj-edit/config-loginpage')) {
2024-05-16 18:00:57 +08:00
setNow('登录界面设置')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-05-16 18:00:57 +08:00
// setNewname(location.pathname)
setPathArray([{ title: <Link to={'/home'}></Link> }, { title: <Link to={'/proj-create'}></Link> }, { title: <a onClick={() => { nav(-1) }}></a> }, { title: '登录界面设置' }])
2024-06-03 14:56:19 +08:00
} else if (location.pathname.includes('/proj-edit/config-mod-list')) {
2024-05-21 11:21:34 +08:00
setNow('系统菜单管理')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-05-21 11:21:34 +08:00
// setNewname(location.pathname)
setPathArray([{ title: <Link to={'/home'}></Link> }, { title: <Link to={'/proj-create'}></Link> }, { title: <a onClick={() => { nav(-1) }}></a> }, { title: '系统菜单管理' }])
2024-06-03 14:56:19 +08:00
} else if (location.pathname.includes('/proj-edit/config-menu-list')) {
2024-05-21 11:21:34 +08:00
setNow('系统菜单顺序')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-05-21 11:21:34 +08:00
// setNewname(location.pathname)
setPathArray([{ title: <Link to={'/home'}></Link> }, { title: <Link to={'/proj-create'}></Link> }, { title: <a onClick={() => { nav(-1) }}></a> }, { title: '系统菜单顺序' }])
2024-06-03 14:56:19 +08:00
} else if (location.pathname.includes('/step3')) {
2024-05-21 11:21:34 +08:00
setNow('软件功能特点')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-05-21 11:21:34 +08:00
// setNewname(location.pathname)
setPathArray([{ title: <Link to={'/home'}></Link> }, { title: <Link to={'/proj-create'}></Link> }, { title: <a onClick={() => { nav(-1) }}></a> }, { title: '软件功能特点' }])
2024-06-03 14:56:19 +08:00
} else if (location.pathname.includes('/proj-edit/config-mod-save')) {
2024-05-21 11:21:34 +08:00
setNow('添加菜单')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-05-21 11:21:34 +08:00
setPathArray([{ title: <Link to={'/home'}></Link> }, { title: <Link to={'/proj-create'}></Link> }, { title: <a onClick={() => { nav(-1) }}></a> }, { title: '添加菜单' }])
2024-06-03 14:56:19 +08:00
} else if (location.pathname.includes('/proj-edit/config-mod-edit')) {
2024-05-21 11:21:34 +08:00
setNow('编辑菜单')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-06-03 14:56:19 +08:00
setPathArray([{ title: <Link to={'/home'}></Link> }, { title: <Link to={'/proj-create'}></Link> }, { title: <a onClick={() => { nav(-2) }}></a> }, { title: <a onClick={() => { nav(-1) }}></a> }, { title: '编辑菜单' }])
// /config-mod-edit /config-mod-show
} else if (location.pathname.includes('/proj-edit/config-mod-show')) {
2024-05-22 16:18:38 +08:00
setNow('查看菜单')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-06-03 14:56:19 +08:00
setPathArray([{ title: <Link to={'/home'}></Link> }, { title: <Link to={'/proj-create'}></Link> }, { title: <a onClick={() => { nav(-2) }}></a> }, { title: <a onClick={() => { nav(-1) }}></a> }, { title: '查看菜单' }])
// /config-mod-edit
} else if (location.pathname.includes('/product-release')) {
2024-05-28 18:00:42 +08:00
setNow('首页')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-05-28 18:00:42 +08:00
setPathArray([{ title: '首页' }])
2024-06-11 17:45:40 +08:00
// /config-mod-edit /product-release /transaction-order
2024-06-14 15:50:34 +08:00
} else if (location.pathname.includes(' /transaction-order')) {
2024-06-11 17:45:40 +08:00
setNow('首页')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-06-11 17:45:40 +08:00
setPathArray([{ title: '首页' }])
// /config-mod-edit /product-release /transaction-order
2024-06-14 15:50:34 +08:00
} else if (location.pathname.includes(' /copyright-goods')) {
2024-06-11 17:45:40 +08:00
setNow('首页')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-06-11 17:45:40 +08:00
setPathArray([{ title: '首页' }])
// /config-mod-edit /product-release /transaction-order
2024-06-14 15:50:34 +08:00
} else if (location.pathname.includes(' /trading-goods')) {
2024-06-11 17:45:40 +08:00
setNow('首页')
2024-07-15 16:58:47 +08:00
setShowSearchBox(false)
2024-06-11 17:45:40 +08:00
setPathArray([{ title: '首页' }])
// /config-mod-edit /product-release /transaction-order
2024-05-07 17:00:32 +08:00
}
2024-05-12 07:45:51 +08:00
}, [location.pathname])
2024-03-28 19:35:54 +08:00
useEffect(() => {
2024-05-21 11:21:34 +08:00
// nav('/home')
// sessionStorage.setItem('pathArray', JSON.stringify([{ title: <Link to={'/home'}>首页</Link> }]));
// sessionStorage.setItem('now', '首页');
2024-04-01 20:39:22 +08:00
if (searchParams.get('type') == 'agent') {
2024-03-28 19:35:54 +08:00
dispatch({
type: IndexListDataType.AGENT,
2024-05-07 17:00:32 +08:00
value: 'ALL',
2024-03-28 19:35:54 +08:00
})
2024-05-07 17:00:32 +08:00
2024-03-28 19:35:54 +08:00
}
2024-07-22 10:46:25 +08:00
2024-05-07 17:00:32 +08:00
2024-03-28 19:35:54 +08:00
}, []);
2024-05-07 17:00:32 +08:00
2024-07-17 14:19:28 +08:00
useEffect(() => {
2024-07-18 14:49:14 +08:00
console.log('监听type', type);
if (location.pathname.includes('/home')) {
nav('/home', {
state: {
keyword: keywords,
name: type
}
})
}
2024-07-17 14:19:28 +08:00
}, [type]);
2024-05-07 17:00:32 +08:00
const handleSearch = (value: string) => {
console.log(value);
2024-07-15 16:58:47 +08:00
setKeywords(value)
2024-05-12 07:45:51 +08:00
nav('/home', {
state: {
2024-07-15 16:58:47 +08:00
keyword: value,
2024-07-17 14:19:28 +08:00
name: type
2024-05-12 07:45:51 +08:00
}
})
2024-05-07 17:00:32 +08:00
}
2024-07-18 14:49:14 +08:00
const handleChange = (e: any) => {
2024-07-17 14:19:28 +08:00
console.log(e.target.value);
2024-07-18 14:49:14 +08:00
if (e.target.value == '') {
2024-07-17 14:21:59 +08:00
setKeywords('')
2024-07-17 14:19:28 +08:00
nav('/home', {
state: {
keyword: '',
name: type
}
})
}
}
2024-03-27 18:56:48 +08:00
return (
<>
2024-04-29 17:22:26 +08:00
{/* <Breadcrumb
2024-03-27 18:56:48 +08:00
items={[
{title: <Link to={'/'}></Link>}
]}
2024-04-29 17:22:26 +08:00
/> */}
2024-05-07 17:00:32 +08:00
<IndexListContext.Provider value={listData} >
2024-03-27 18:56:48 +08:00
<IndexListDispatchContext.Provider value={dispatch}>
<div className="index">
2024-06-03 14:56:19 +08:00
<div className='leftbox'>
<div className="left" >
<div style={{ height: '15px', width: '230px', background: 'white' }}></div>
<MenuWithTopButton
button={projMenu.button}
list={projMenu.list}
handleListItem={projMenu.handleListItem}
/>
<MenuTreeWithTopButton />
{/* <MenuWithBottomButtom
2024-05-15 18:00:20 +08:00
button={agentMenu.button}
list={agentMenu.list}
handleListItem={agentMenu.handleListItem}
/> */}
2024-07-22 17:22:35 +08:00
{/* <MenuWithBottomButtom
2024-06-03 14:56:19 +08:00
button={sellMenu.button}
list={sellMenu.list}
handleListItem={sellMenu.handleListItem}
/>
<MenuWithBottomButtom
button={buyMenu.button}
list={buyMenu.list}
handleListItem={buyMenu.handleListItem}
2024-07-22 17:22:35 +08:00
/> */}
2024-06-14 15:50:34 +08:00
</div>
2024-03-27 18:56:48 +08:00
</div>
<div className="right">
2024-05-07 17:00:32 +08:00
<div>
<div className="top">
{/* 标签 */}
{/* {renderStatus()} */}
<div className='gps'>
<img src={gpsImg} alt="" />
2024-05-12 07:45:51 +08:00
<div>:{now}</div>
2024-05-07 17:00:32 +08:00
</div>
2024-06-14 15:50:34 +08:00
<div className='line' style={{
2024-07-17 14:19:28 +08:00
display: showSearchBox ? 'block' : 'none',
2024-06-14 15:50:34 +08:00
}} ></div>
<div
style={{
width: 1,
height: 23,
marginLeft: 33,
marginRight: 31,
2024-07-15 16:58:47 +08:00
display: showSearchBox ? 'none' : 'block'
2024-06-14 15:50:34 +08:00
}}
></div>
2024-07-17 14:19:28 +08:00
<Search placeholder="输入项目名称"
onSearch={handleSearch}
onChange={handleChange}
style={{
width: '253px',
height: '31px',
display: showSearchBox ? 'block' : 'none'
}}
/>
2024-07-15 16:58:47 +08:00
<Select
2024-07-17 14:19:28 +08:00
style={{ height: '31px', width: '183px', marginLeft: 20, display: showSearchBox ? 'block' : 'none' }}
2024-07-15 16:58:47 +08:00
onChange={(value: string) => {
// console.log(`selected ${value}`);
setType(value)
// alert(`selected ${value}`)
// lyp
nav('/home', {
state: {
keyword: keywords,
2024-07-17 14:19:28 +08:00
name: value
2024-07-15 16:58:47 +08:00
}
})
}}
options={[
{ value: '', label: '全部类型' },
{ value: 'FREE', label: '免费试用' },
{ value: 'MATERIAL', label: '写材料' },
{ value: 'ALL', label: '全托管' },
]}
2024-07-18 14:49:14 +08:00
defaultValue=""
2024-07-22 10:46:25 +08:00
// placeholder={'选择类型'}
2024-07-15 16:58:47 +08:00
/>
2024-06-14 15:50:34 +08:00
<div style={{
width: '253px',
height: '31px',
display: location.pathname.includes('/home') ? 'none' : 'block'
}}></div>
2024-05-07 17:00:32 +08:00
<div className='nowPosition'>
<img src={backImg} alt="" />
<div>
<Breadcrumb
separator="|"
// items={[
// { title: <Link to={'/home'}>首页</Link> },
// ]}
items={pathArray}
/>
</div>
</div>
</div>
</div>
{/* {
2024-03-27 18:56:48 +08:00
listData.type === IndexListDataType.PROJ ? <ListProj/> : (
listData.type == IndexListDataType.AGENT ? <ListProjAgent/> : <></>
)
2024-05-07 17:00:32 +08:00
} */}
2024-05-12 07:45:51 +08:00
<div>
<Outlet></Outlet>
</div>
2024-03-27 18:56:48 +08:00
</div>
</div>
</IndexListDispatchContext.Provider>
</IndexListContext.Provider>
</>
)
}