修改合并代码后的issue,修改管理的路由

This commit is contained in:
何童崇 2022-03-03 11:25:30 +08:00
parent 8159325806
commit 01a3566c1b
18 changed files with 24 additions and 434 deletions

View File

@ -19,12 +19,12 @@ export function goUser(login) {
localStorage.chromesetting &&
JSON.parse(localStorage.chromesetting).main_web_site_url;
window.location.href = `${main_web_site_url}/accounts/${login}`;
// window.location.href = `/${login}`;
}
export function goUserMes(login) {
export function goUserMes(user_id) {
const main_web_site_url =
localStorage.chromesetting &&
JSON.parse(localStorage.chromesetting).main_web_site_url;
window.location.href = `${main_web_site_url}/accounts/${login}`;
const login =sessionStorage.current_user &&JSON.parse(sessionStorage.current_user).login;
window.location.href = `${main_web_site_url}/users/${login}/message_detail?user_id=${user_id}`;
}

View File

@ -1,4 +1,4 @@
import React, { useMemo,useState } from 'react';
import React, { useEffect, useMemo,useState } from 'react';
import { Link } from "react-router-dom";
import { Menu, Dropdown, } from 'antd';
@ -7,11 +7,14 @@ import './index.scss';
const { SubMenu } = Menu;
export default props => {
const {current_user}=props;
const main_web_site_url =localStorage.chromesetting&& JSON.parse(localStorage.chromesetting).main_web_site_url;
const current_main_site_url =localStorage.chromesetting&& JSON.parse(localStorage.chromesetting).current_main_site_url;
const noticeUrl =localStorage.chromesetting&& JSON.parse(localStorage.chromesetting).api_urls.notice;
useEffect(()=>{
sessionStorage.setItem('current_user',JSON.stringify(current_user));
},[current_user.login]);
const [current,setCurrent]=useState(JSON.parse(sessionStorage.adminRouter||'[]'));
const [title,setTitle]=useState('');

View File

@ -16,15 +16,6 @@ const Review = Loadable({
loading: Loading,
});
// const AdminRouter = Loadable({
// loader: () => import("./expert/adminRouter"),
// loading: Loading,
// });
// const ReviewTasks = Loadable({
// loader: () => import("./expert/reviewTasks"),
// loading: Loading,
// })
const ExpertUser = Loadable({
loader: () => import("./expert/expertUser"),
loading: Loading,
@ -54,14 +45,7 @@ const Expert = (propsTransmit) => {
<ExpertUser {...propsF} {...props} />
)}
></Route>
{/* 管理员管理 */}
{/* <Route
path="/expert/admin/:admin"
render={(props) => (
<AdminRouter {...propsF} {...props} />
)}
></Route> */}
<Route
path="/expert"
render={(props) => (

View File

@ -1,92 +0,0 @@
import React from "react";
import { Route, Switch } from "react-router-dom";
import Loadable from "react-loadable";
import Loading from "../../Loading";
import AdminRouter from "../components/adminRouter";
// 专家库
const ExpertList = Loadable({
loader: () => import("./expertList"),
loading: Loading,
});
// 专家审核
const RegisterList = Loadable({
loader: () => import("./registerList"),
loading: Loading,
});
//创客任务评审规则
const ReviewRules = Loadable({
loader : () => import("./reviewRules"),
loading: Loading,
});
//创客任务选择评审专家
const SelectExpert = Loadable({
loader: () => import("./selectExpert"),
loading: Loading,
});
//创客任务评审结果查看
const ReviewResult = Loadable({
loader: () => import("./reviewResult"),
loading: Loading,
});
//竞赛评审任务列表
const CompetitionList = Loadable({
loader: () => import("./competionList"),
loading: Loading,
})
const AdminPage = (propsF) => {
return (
<React.Fragment>
<AdminRouter {...propsF} />
<Switch {...propsF}>
{/* 专家审核 */}
<Route
path="/expert/admin/register"
render={(props) => (
<RegisterList {...propsF} {...props} />
)}
></Route>
{/* 专家库列表 */}
<Route
path="/expert/admin/list"
render={(props) => (
<ExpertList {...propsF} {...props} />
)}
></Route>
{/* 创客任务评审规则 */}
<Route
path="/expert/admin/task/review/rules/:containerType/:containerId"
render={(props) => (
<ReviewRules {...propsF} {...props} />
)}
></Route>
{/* 创客任务选择评审专家 */}
<Route
path="/expert/admin/task/review/select/:containerType/:containerId"
render={(props) => (
<SelectExpert {...propsF} {...props} />
)}
></Route>
{/* 创客任务评审结果查看 */}
<Route
path="/expert/admin/task/review/results/:containerType/:containerId"
render={(props) => (
<ReviewResult {...propsF} {...props} />
)}
></Route>
{/* 竞赛评审任务列表 */}
<Route
path="/expert/admin/competition"
render={(props) => (
<CompetitionList {...propsF} {...props} />
)}
></Route>
</Switch>
</React.Fragment>
);
}
// }
export default AdminPage;

View File

@ -114,7 +114,7 @@ function Competition(props){
dataIndex: 'current_status',
key: "rules",
render: (text, record) => {
return record.assignRuleAndExperts ? <Button size='small' type="primary" onClick={()=>{viewRules(record)}}>查看</Button> : record.is_expert_audit && text<4 ? <Link className="primary-link" to={`/expert/admin/task/review/rules/${2}/${record.id}/?identifier=${record.identifier}&status=${record.current_status}&name=${record.title}&reviewStartTime=${record.end_time}&reviewEndTime=${record.review_time}`}>编辑</Link> : <span className='gary_span'>编辑</span>
return record.assignRuleAndExperts ? <Button size='small' type="primary" onClick={()=>{viewRules(record)}}>查看</Button> : record.is_expert_audit && text<4 ? <Link className="primary-link" to={`/managements/expert/task/review/rules/${2}/${record.id}/?identifier=${record.identifier}&status=${record.current_status}&name=${record.title}&reviewStartTime=${record.end_time}&reviewEndTime=${record.review_time}`}>编辑</Link> : <span className='gary_span'>编辑</span>
}
},
{
@ -122,7 +122,7 @@ function Competition(props){
dataIndex: 'current_status',
key: "experts",
render: (text, record) => {
return record.assignRuleAndExperts ? <Button size='small' type="primary" onClick={()=>{viewExperts(record)}}>查看</Button> : record.is_expert_audit && text<4 ? <Link className="primary-link" to={`/expert/admin/task/review/select/${2}/${record.id}/?identifier=${record.identifier}&name=${record.title}`}>选择</Link> : <span className='gary_span'>选择</span>
return record.assignRuleAndExperts ? <Button size='small' type="primary" onClick={()=>{viewExperts(record)}}>查看</Button> : record.is_expert_audit && text<4 ? <Link className="primary-link" to={`/managements/expert/task/review/select/${2}/${record.id}/?identifier=${record.identifier}&name=${record.title}`}>选择</Link> : <span className='gary_span'>选择</span>
}
},
{
@ -138,7 +138,7 @@ function Competition(props){
dataIndex: 'assignRuleAndExperts',
key: "results",
render: (text, record) => {
return text ? <Link className="primary-link" to={`/expert/admin/task/review/results/${2}/${record.id}/#status=${record.current_status}&identifier=${record.identifier}&name=${record.title}`}>查看</Link>:<span className='gary_span'>查看</span>
return text ? <Link className="primary-link" to={`/managements/expert/task/review/results/${2}/${record.id}/#status=${record.current_status}&identifier=${record.identifier}&name=${record.title}`}>查看</Link>:<span className='gary_span'>查看</span>
}
}
];

View File

@ -373,7 +373,7 @@ function RegisterList({ showNotification }) {
<Table
id="exportList"
style={{ display: "none" }}
columns={columns}
columns={columns.slice(0,columns.length-2)}
dataSource={dataAll}
pagination={false}
rowKey={(row) => row.id}

View File

@ -174,7 +174,7 @@ const Managements = (propsF) => {
{/* 专家审核 */}
<Route
path="/managements/expert/admin/register"
path="/managements/expert/register"
render={(props) => (
<RegisterList {...propsF} {...props} />
)}

View File

@ -32,13 +32,6 @@ const MyTask = Loadable({
});
// const TaskAdminRouter = Loadable({
// loader: () => import("./task/taskAdminRouter"),
// loading: Loading,
// });
const Index = (propsTransmit) => {
// 开发时,从代理的位置获取用户信息
const [currentUser, setCurrentUser] = useState(propsTransmit.current_user);

View File

@ -1,138 +0,0 @@
import React, { useMemo } from 'react';
import { Menu, Dropdown, } from 'antd';
import { current_main_site_url, main_web_site_url } from '../../static';
import './index.scss';
const { SubMenu } = Menu;
export default props => {
const projectMenu = useMemo(() => {
return <Menu>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${current_main_site_url}/admins`}>项目管理后台</a></Menu.Item>
</Menu>
});
const taskMenu = useMemo(() => {
return <Menu>
<SubMenu title="基础数据" >
<Menu.Item><a href={`${main_web_site_url}/admin/categories/list`}>任务领域</a></Menu.Item>
<Menu.Item><a href={`${main_web_site_url}/admin/industries/list`}>行业信息</a></Menu.Item>
<Menu.Item><a href={`${main_web_site_url}/admin/placements/list`}>职位信息</a></Menu.Item>
<Menu.Item><a href={`${main_web_site_url}/admin/task_templates/list`}>需求导入模板</a></Menu.Item>
<Menu.Item><a href={`${main_web_site_url}/admin/agreement_setting`}>签订协议内容</a></Menu.Item>
<Menu.Item><a href={`${main_web_site_url}/admin/sign_agreement_setting`}>应征投稿协议内容</a></Menu.Item>
</SubMenu>
<SubMenu title="代办事项" >
<Menu.Item><a href={`/task/delayManage`}>延期任务处理</a></Menu.Item>
{/* <Menu.Item><a href={`${main_web_site_url}/admin/audit_files`}>协议签订凭证上传</a></Menu.Item> */}
<Menu.Item><a href="/task/payProof">支付报酬凭证上传</a></Menu.Item>
</SubMenu>
<Menu.Item><a href="/task/taskAdmin">任务列表</a></Menu.Item>
<Menu.Item><a href="/task/paperManage">创意征集评论</a></Menu.Item>
</Menu>
});
const competitionMenu = useMemo(() => {
return <Menu>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${main_web_site_url}/admin/competitions/list`}>竞赛列表</a></Menu.Item>
</Menu>
});
const userMenu = useMemo(() => {
return <Menu>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${main_web_site_url}/managements/users`}>用户列表</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${main_web_site_url}/admin/entities`}>主体信息列表</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${main_web_site_url}/managements/users_trial`}>试用授权列表</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${main_web_site_url}/managements/auto_users_trial`}>自动授权列表</a></Menu.Item>
</Menu>
});
const forumMenu = useMemo(() => {
return <Menu>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${main_web_site_url}/managements/messages_list`}>帖子</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${main_web_site_url}/managements/apply_destroy_memos`}>申请删帖</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${main_web_site_url}/managements/memo_reply_list`}>回复</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${main_web_site_url}/admin/forum_sections`}>版块配置</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${main_web_site_url}/admin/banned_users`}>禁言列表</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${main_web_site_url}/admin/forum_applies`}>版主审批</a></Menu.Item>
</Menu>
});
const checkMenu = useMemo(() => {
return <Menu>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${main_web_site_url}/managements/enterprise_authentication`}>企业认证</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${main_web_site_url}/admin/reviews/projects_list`}>开源项目</a></Menu.Item>
<Menu.Item><a href="/task/taskManage/1">统筹任务发布审批</a></Menu.Item>
<Menu.Item><a href="/task/taskManage/0">自主任务发布审批</a></Menu.Item>
<Menu.Item><a href="/task/paperComplain">成果上传申诉审批</a></Menu.Item>
<Menu.Item><a href="/task/publicityComplain">公示期成果申诉审批</a></Menu.Item>
<Menu.Item><a href="/task/agreementManage">协议审批</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${main_web_site_url}/admin/tasks/report_result_tasks`}>成果举报申诉</a></Menu.Item>
<Menu.Item><a href="/task/proofManage">评选佐证材料</a></Menu.Item>
</Menu>
});
const limitsMenu = useMemo(() => {
return <Menu>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${main_web_site_url}/managements/user_admin_roles`}>权限组配置</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${main_web_site_url}/managements/admin_role_permissions`}>权限操作配置</a></Menu.Item>
</Menu>
});
const configMenu = useMemo(() => {
return <Menu>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${main_web_site_url}/admin/about_infos/new"`}>关于我们</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${main_web_site_url}/admin/home_sections"`}>首页版块</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${main_web_site_url}/admin/partners`}>合作伙伴</a></Menu.Item>
</Menu>
});
return (
<div className="centerbox managements_menus clearfix">
<Dropdown key={'projectMenu'} overlay={projectMenu} placement="bottomLeft">
<div className="drop-div">
项目
</div>
</Dropdown>
<Dropdown key={'taskMenu'} overlay={taskMenu} placement="bottomLeft">
<div className="drop-div">
创客
</div>
</Dropdown>
<Dropdown key={'competitionMenu'} overlay={competitionMenu} placement="bottomLeft">
<div className="drop-div">竞赛</div>
</Dropdown>
<Dropdown key={'userMenu'} overlay={userMenu} placement="bottomLeft">
<div className="drop-div">用户</div>
</Dropdown>
<Dropdown key={'forumMenu'} overlay={forumMenu} placement="bottomLeft">
<div className="drop-div">论坛交流</div>
</Dropdown>
<Dropdown key={'checkMenu'} overlay={checkMenu} placement="bottomLeft">
<div className="drop-div">审批</div>
</Dropdown>
<Dropdown key={'limitsMenu'} overlay={limitsMenu} placement="bottomLeft">
<div className="drop-div">权限管理</div>
</Dropdown>
<Dropdown key={'configMenu'} overlay={configMenu} placement="bottomLeft">
<div className="drop-div">网站配置</div>
</Dropdown>
<div className="drop-div" ><a target="_blank" href="http://121.36.15.240:20772/">数据分析管理</a></div>
</div>
)
}

View File

@ -1,24 +0,0 @@
.managements_menus {
background: #fff;
border: 1px solid #eee;
.drop-div {
position: relative;
float: left;
width: 108px;
text-align: center;
padding: 15px 0px;
box-sizing: border-box;
position: relative;
cursor: pointer;
&::after {
content: "";
position: absolute;
right: 1px;
top: 20px;
width: 1px;
height: 20px;
background-color: #ddd;
}
}
}

View File

@ -100,7 +100,7 @@ export default Form.create()((props) => {
{
item.status === 2 && <React.Fragment>
<a className="edu-default-btn edu-orangeline-btn ml20 fl" onClick={() => { goUserMes(item.user.login) }}>私信</a>
<a className="edu-default-btn edu-orangeline-btn ml20 fl" onClick={() => { goUserMes(item.user.id) }}>私信</a>
<a className="edu-default-btn edu-blueline-btn ml20 fl" onClick={() => { agreeClick(item) }}>同意</a>
<a className="edu-default-btn edu-greyline-btn ml20 fl" onClick={() => { refuseClick(item) }}>驳回</a>
</React.Fragment>

View File

@ -152,7 +152,7 @@ export default Form.create()((props) => {
{
item.cancelStatus === 0 && <React.Fragment>
<a className="edu-default-btn edu-orangeline-btn ml20 fl" onClick={() => { goUserMes(item.user.login) }}>私信</a>
<a className="edu-default-btn edu-orangeline-btn ml20 fl" onClick={() => { goUserMes(item.user.id) }}>私信</a>
<a className="edu-default-btn edu-blueline-btn ml20 fl" onClick={() => { delayClick(item) }}>延期</a>
<a className="edu-default-btn edu-greyline-btn ml20 fl" onClick={() => { closeClick(item) }}>关闭</a>
</React.Fragment>

View File

@ -62,7 +62,7 @@ export default Form.create()((props) => {
<span className="fl color-grey-9 mt3 mr15">{timeAgo(item.createdAt)}</span>
<span className="infos_item color-grey-9 fl">发布方式:</span>
<span className="infos_item mr15 fl">{item.task && item.task.publishMode === 1 ? '统筹任务' : '自主提交'}</span>
<span className="fr"><a className="edu-default-btn edu-orangeline-btn ml20 fl" onClick={() => { item.user && goUserMes(item.user.login) }}>私信</a></span>
<span className="fr"><a className="edu-default-btn edu-orangeline-btn ml20 fl" onClick={() => { item.user && goUserMes(item.user.id) }}>私信</a></span>
</li>
<div className="clearfix">
<div className="width100 lineh-35" >

View File

@ -91,7 +91,7 @@ export default (props) => {
{
item.taskResultProof.status === 2 && <React.Fragment>
<a className="edu-default-btn edu-orangeline-btn ml20 fl" onClick={() => { goUserMes(item.user.login) }}>私信</a>
<a className="edu-default-btn edu-orangeline-btn ml20 fl" onClick={() => { goUserMes(item.user.id) }}>私信</a>
<a className="edu-default-btn edu-blueline-btn ml20 fl" onClick={() => { agreeClick(item) }}>同意</a>
<a className="edu-default-btn edu-greyline-btn ml20 fl" onClick={() => { refuseClick(item) }}>拒绝</a>
</React.Fragment>

View File

@ -78,7 +78,7 @@ export default Form.create()((props) => {
<a className="user-box fl mr15 color-grey-3 font-16" onClick={() => { goUser(item.user.login) }}>{item.user && (item.user.nickname || item.user.login)}</a>
<span className="fl color-grey-9 mt3 mr15">{timeAgo(item.createdAt)}</span>
<span className="fr">
<a className="edu-default-btn edu-orangeline-btn ml20 fl" onClick={() => { goUserMes(item.user.login) }}>私信</a>
<a className="edu-default-btn edu-orangeline-btn ml20 fl" onClick={() => { goUserMes(item.user.id) }}>私信</a>
{item.status === 2 && <a className="edu-default-btn edu-blueline-btn ml20 fl" onClick={() => { deal(item) }}>处理</a>}
</span>
</li>

View File

@ -95,7 +95,7 @@ export default (props) => {
{
item.status === 1 && <React.Fragment>
<a className="edu-default-btn edu-orangeline-btn ml20 fl" onClick={() => { goUserMes(item.user.login) }}>私信</a>
<a className="edu-default-btn edu-orangeline-btn ml20 fl" onClick={() => { goUserMes(item.user.id) }}>私信</a>
<a className="edu-default-btn edu-blueline-btn ml20 fl" onClick={() => { agreeClick(item.id) }}>同意</a>
<a className="edu-default-btn edu-greyline-btn ml20 fl" onClick={() => { refuseClick(item.id) }}>拒绝</a>
</React.Fragment>

View File

@ -232,14 +232,14 @@ export default Form.create()(({ form, showNotification, match, history, state })
title: '评审规则',
dataIndex: 'ruleEditedCount',
render: (text, record) => {
return record.assignRuleAndExperts ? <Button size='small' type="primary" onClick={()=>{viewRules(record)}}>查看</Button> : record.expertReview && (record.status === 1 || record.status === 3) ? <Link className="line_1 primary-link" to={`/expert/admin/task/review/rules/${1}/${record.id}/?status=${record.status}&name=${record.name}&createdAt=${record.createdAt}&collectingEndTime=${record.collectingEndTime}&choosingDays=${record.choosingDays}`}>编辑</Link> : <span className='gary_span'>编辑</span>
return record.assignRuleAndExperts ? <Button size='small' type="primary" onClick={()=>{viewRules(record)}}>查看</Button> : record.expertReview && (record.status === 1 || record.status === 3) ? <Link className="line_1 primary-link" to={`/managements/expert/task/review/rules/${1}/${record.id}/?status=${record.status}&name=${record.name}&createdAt=${record.createdAt}&collectingEndTime=${record.collectingEndTime}&choosingDays=${record.choosingDays}`}>编辑</Link> : <span className='gary_span'>编辑</span>
}
},
{
title: '专家选取',
dataIndex: 'expertSelectedCount',
render: (text, record) => {
return record.assignRuleAndExperts ? <Button size='small' type="primary" onClick={()=>{viewExperts(record)}}>查看</Button> : record.expertReview && (record.status === 1 || record.status === 3) ? <Link className="line_1 primary-link" to={`/expert/admin/task/review/select/${1}/${record.id}/?name=${record.name}`}>选择</Link> : <span className='gary_span'>选择</span>
return record.assignRuleAndExperts ? <Button size='small' type="primary" onClick={()=>{viewExperts(record)}}>查看</Button> : record.expertReview && (record.status === 1 || record.status === 3) ? <Link className="line_1 primary-link" to={`/managements/expert/task/review/select/${1}/${record.id}/?name=${record.name}`}>选择</Link> : <span className='gary_span'>选择</span>
}
},
{
@ -253,7 +253,7 @@ export default Form.create()(({ form, showNotification, match, history, state })
title: '评审结果',
dataIndex: 'expertReview2',
render: (text, record) => {
return record.assignRuleAndExperts ? <Link className="line_1 primary-link" to={`/expert/admin/task/review/results/${1}/${record.id}/#status=${record.status}&name=${record.name}&taskModeId=${record.taskModeId}`}>查看</Link>:<span className='gary_span'>查看</span>
return record.assignRuleAndExperts ? <Link className="line_1 primary-link" to={`/managements/expert/task/review/results/${1}/${record.id}/#status=${record.status}&name=${record.name}&taskModeId=${record.taskModeId}`}>查看</Link>:<span className='gary_span'>查看</span>
}
},
{

View File

@ -1,136 +0,0 @@
import React from "react";
import { Route, Switch } from "react-router-dom";
import Loadable from "react-loadable";
import Loading from "../../Loading";
import AdminRouter from "../components/adminRouter";
const TaskManage = Loadable({
loader: () => import("./taskManage"),
loading: Loading,
});
const PaperManage = Loadable({
loader: () => import("./paperManage"),
loading: Loading,
});
const PaperComplain = Loadable({
loader: () => import("./paperComplain"),
loading: Loading,
});
const ProofManage = Loadable({
loader: () => import("./proofManage"),
loading: Loading,
});
const PublicityComplain = Loadable({
loader: () => import("./publicityComplain"),
loading: Loading,
});
const AgreementManage = Loadable({
loader: () => import("./agreementManage"),
loading: Loading,
});
const PayProof = Loadable({
loader: () => import("./payProof"),
loading: Loading,
});
const TaskAdmin = Loadable({
loader: () => import("./taskAdmin"),
loading: Loading,
});
const DelayManage = Loadable({
loader: () => import("./delayManage"),
loading: Loading,
});
const AdminPage = (propsF) => {
return (
<React.Fragment>
<AdminRouter {...propsF} />
<Switch {...propsF}>
{/* 任务管理审核 */}
<Route
path="/task/taskManage/:publishMode"
render={(props) => (
<TaskManage {...propsF} {...props} />
)}
></Route>
{/* 成果管理审核 */}
<Route
path="/task/paperManage"
render={(props) => (
<PaperManage {...propsF} {...props} />
)}
></Route>
{/* 成果申诉管理审核 */}
<Route
path="/task/paperComplain"
render={(props) => (
<PaperComplain {...propsF} {...props} />
)}
></Route>
{/* 公示期成果申诉管理审核 */}
<Route
path="/task/publicityComplain"
render={(props) => (
<PublicityComplain {...propsF} {...props} />
)}
></Route>
{/* 佐证管理审核 */}
<Route
path="/task/proofManage"
render={(props) => (
<ProofManage {...propsF} {...props} />
)}
></Route>
{/* 管理员协议审核 */}
<Route
path="/task/agreementManage"
render={(props) => (
<AgreementManage {...propsF} {...props} />
)}
></Route>
{/* 管理员上传支付凭证 */}
<Route
path="/task/payProof"
render={(props) => (
<PayProof {...propsF} {...props} />
)}
></Route>
{/* 管理员任务列表 */}
<Route
path="/task/taskAdmin"
render={(props) => (
<TaskAdmin {...propsF} {...props} />
)}
></Route>
{/* 延期管理 */}
<Route
path="/task/delayManage"
render={(props) => (
<DelayManage {...propsF} {...props} />
)}
></Route>
</Switch>
</React.Fragment>
);
}
// }
export default AdminPage;