修改bug,新增管理路由

This commit is contained in:
何童崇 2021-07-16 09:13:05 +08:00
parent 4503e1b176
commit dc20d3e270
14 changed files with 192 additions and 17 deletions

View File

@ -28,6 +28,7 @@ const service = axios.create({
// request拦截器
service.interceptors.request.use(config => {
if (cookie.load(TokenKey)) {
console.log(cookie.load(TokenKey));
config.headers['Authorization'] = cookie.load(TokenKey); // 让每个请求携带自定义token 请根据实际情况自行修改
}
if (window.location.port === "3007") {

View File

@ -127,7 +127,9 @@ const Index = (propsTransmit) => {
<Route
path="/task/taskManage"
render={(props) => (
<TaskManage {...propsF} {...props} />
<React.Fragment>
<TaskManage {...propsF} {...props} />
</React.Fragment>
)}
></Route>

View File

@ -0,0 +1,135 @@
import React, { useEffect, useState, useCallback, useMemo } from 'react';
import { Menu, Dropdown, Button } from 'antd';
import './index.scss';
const { SubMenu } = Menu;
export default props => {
const current_main_site_url = useMemo(() => {
return JSON.parse(localStorage.chromesetting).current_main_site_url;
});
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={`${current_main_site_url}/admin/categories/list`}>任务领域</a></Menu.Item>
<Menu.Item><a href={`${current_main_site_url}/admin/industries/list`}>行业信息</a></Menu.Item>
<Menu.Item><a href={`${current_main_site_url}/admin/placements/list`}>职位信息</a></Menu.Item>
<Menu.Item><a href={`${current_main_site_url}/admin/task_templates/list`}>需求导入模板</a></Menu.Item>
<Menu.Item><a href={`${current_main_site_url}/admin/agreement_setting`}>签订协议内容</a></Menu.Item>
<Menu.Item><a href={`${current_main_site_url}/admin/sign_agreement_setting`}>应征投稿协议内容</a></Menu.Item>
</SubMenu>
<SubMenu title="代办事项" >
<Menu.Item><a href={`${current_main_site_url}/admin/categories/cancel_tasks`}>延期任务处理</a></Menu.Item>
<Menu.Item><a href={`${current_main_site_url}/admin/industries/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="/paperManage">创意征集评论</a></Menu.Item>
</Menu>
});
const competitionMenu = useMemo(() => {
return <Menu>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${current_main_site_url}/admin/competitions/list`}>竞赛列表</a></Menu.Item>
</Menu>
});
const userMenu = useMemo(() => {
return <Menu>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${current_main_site_url}/managements/users`}>用户列表</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${current_main_site_url}/admin/entities`}>主体信息列表</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${current_main_site_url}/managements/users_trial`}>试用授权列表</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${current_main_site_url}/managements/auto_users_trial`}>自动授权列表</a></Menu.Item>
</Menu>
});
const forumMenu = useMemo(() => {
return <Menu>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${current_main_site_url}/managements/messages_list`}>帖子</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${current_main_site_url}/managements/apply_destroy_memos`}>申请删帖</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${current_main_site_url}/managements/memo_reply_list`}>回复</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${current_main_site_url}/admin/forum_sections`}>版块配置</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${current_main_site_url}/admin/banned_users`}>禁言列表</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${current_main_site_url}/admin/forum_applies`}>版主审批</a></Menu.Item>
</Menu>
});
const checkMenu = useMemo(() => {
return <Menu>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${current_main_site_url}/managements/enterprise_authentication`}>企业认证</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${current_main_site_url}/admin/reviews/projects_list`}>开源项目</a></Menu.Item>
<Menu.Item><a href="/task/taskManage">统筹任务发布审批</a></Menu.Item>
<Menu.Item><a href="/task/agreementManage">协议审批</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${current_main_site_url}/admin/tasks/report_result_tasks`}>成果举报申诉</a></Menu.Item>
<Menu.Item><a href="/task/proofManage">评选佐证材料</a></Menu.Item>
<Menu.Item><a href="/task/payProof">支付报酬凭证上传</a></Menu.Item>
</Menu>
});
const limitsMenu = useMemo(() => {
return <Menu>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${current_main_site_url}/managements/user_admin_roles`}>权限组配置</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${current_main_site_url}/managements/admin_role_permissions`}>权限操作配置</a></Menu.Item>
</Menu>
});
const configMenu = useMemo(() => {
return <Menu>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${current_main_site_url}/admin/about_infos/new"`}>关于我们</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${current_main_site_url}/admin/home_sections"`}>首页版块</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${current_main_site_url}/admin/partners`}>合作伙伴</a></Menu.Item>
</Menu>
});
return (
<div className="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>
)
}

View File

@ -0,0 +1,24 @@
.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

@ -163,7 +163,7 @@ export default Form.create()((props) => {
{item.status === 2 && detailStatus === 6 && (current_user.login === item.user.login) &&
<a className="base_smallBtn blue_line_btn fl" onClick={() => { setAgreeVisible(true); setCheckedItem(item) }}>签订协议</a>}
{item.status === 2 && detailStatus === 7 && (current_user.login === item.user.login) && item.isPay &&
{item.status === 2 && detailStatus === 7 && (current_user.login === item.user.login) && (item.agreementSigning === 1) && (!item.isPay) &&
<a className="base_smallBtn blue_line_btn fl" onClick={() => { confirmReceiptModal(item.id) }}>确认收款</a>}
</li>
</ul>
@ -202,11 +202,14 @@ export default Form.create()((props) => {
<span className="mr50 fl"><span className="color-grey9">成果编号</span>#{item.number}</span>
<span className="mr50 fl"><span className="color-grey9">提交时间</span>{item.createdAt}</span>
<span className="fl"><span className="color-grey9">稿件状态</span>{item.read ? '雇主已浏览' : '雇主未浏览'}</span>
<span className="fr">
<a className="mr20" onClick={() => { setReportVisible(true); setCheckedItem(item) }}><i className="iconfont icon-jinggao font-15 mr3"></i>举报</a>
<a className="mr20" onClick={() => { commentEdit(item.id) }}><i className="iconfont icon-huifu1 font-15 mr3"></i>{item.comments ? item.comments.length : 0}</a>
<a onClick={() => { thumbUp(item.id) }}><i className="iconfont icon-dianzan11 font-16 mr3"></i>{item.thumbsUp}</a>
</span>
{
item.user.nickname !== "******" && <span className="fr">
<a className="mr20" onClick={() => { setReportVisible(true); setCheckedItem(item) }}><i className="iconfont icon-jinggao font-15 mr3"></i>举报</a>
<a className="mr20" onClick={() => { commentEdit(item.id) }}><i className="iconfont icon-huifu1 font-15 mr3"></i>{item.comments ? item.comments.length : 0}</a>
<a onClick={() => { thumbUp(item.id) }}><i className="iconfont icon-dianzan11 font-16 mr3"></i>{item.thumbsUp}</a>
</span>
}
</li>
{commentId === item.id && <React.Fragment>

View File

@ -93,7 +93,7 @@ export default Form.create()((props) => {
<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-blueline-btn ml20 fl" onClick={() => { deal(item) }}>处理</a>
{item.status === 2 && <a className="edu-default-btn edu-blueline-btn ml20 fl" onClick={() => { deal(item) }}>处理</a>}
{/* {item.taskResultProof.status === 1 && <span className="spanTitle color-grey-6 fl ml20"></span>}
{item.taskResultProof.status === 0 && <span className="spanTitle color-red fl ml20">已拒绝</span>}

View File

@ -134,7 +134,7 @@ export default ({ taskCategoryValueArr, showNotification }) => {
<Button type="primary" size="small" onClick={() => { setAgreeVisible(true); setCheckedItem(record) }}>签订协议</Button>
}
{record.status === 2 && record.task.status === 7 &&
{record.status === 2 && record.task.status === 7 && record.task.agreementSigning === 1 &&
<Button type="primary" size="small" onClick={() => { setAgreeVisible(true); setCheckedItem(record) }}>确认收款</Button>
}
</React.Fragment>

View File

@ -1,6 +1,7 @@
import React, { useCallback, useMemo, useEffect, useState } from 'react';
import { Input, Button, Radio, Form, Table, Pagination, Modal } from 'antd';
import { Link } from "react-router-dom";
import AdminRouter from '../components/adminRouter';
import StatusNav from '../../components/statusNav';
import { complainPaperList, checkComplain } from '../api';
import { paperComplainStatusArr } from '../static';
@ -16,7 +17,7 @@ for (const item of paperComplainStatusArr) {
}
const paperComplain = paperComplainStatusArr.slice(0, 2);
export default Form.create()(({ current_user, form, showNotification, match, }) => {
export default Form.create()(({ current_user, form, showNotification, match, history}) => {
const { getFieldDecorator, validateFields, setFieldsValue, getFieldsValue } = form;
@ -187,6 +188,7 @@ export default Form.create()(({ current_user, form, showNotification, match, })
return (
<div className="centerbox task-manage">
<AdminRouter history={history}/>
<div className="center-screen" >
<div className="center-left-but">

View File

@ -2,6 +2,7 @@ import React, { useCallback, useEffect, useState, useMemo } from 'react';
import { Input, Radio, Select, Button, Form, DatePicker, Table, Pagination, Modal } from 'antd';
import { Link } from "react-router-dom";
import DelModal from 'military/components/DelModal';
import AdminRouter from '../components/adminRouter';
import { paperCheckStatusArr } from '../static';
import { readyCheckPapers, checkPaper, deletePaper } from '../api';
import '../index.scss';
@ -152,7 +153,7 @@ export default Form.create()(({ current_user, form, showNotification, match, his
function checkPaperItem(paperId, passStatus) {
validateFields((err, values) => {
if (!err) {
setLoading(true);
setLoading(true);
checkPaper({
paperId,
auditingVo: {
@ -192,7 +193,7 @@ export default Form.create()(({ current_user, form, showNotification, match, his
return (
<div className="centerbox task-manage">
<AdminRouter history={history}/>
<div className="center-screen" >
<div className="center-left-but">
{helper(

View File

@ -1,6 +1,7 @@
import React, { useCallback, forwardRef, useEffect, useState } from 'react';
import { Input, Button, Form } from 'antd';
import ItemPayProof from '../components/itemPayProof';
import AdminRouter from '../components/adminRouter';
// import StatusNav from '../../components/statusNav';
import { agreementArr } from '../static';
import { uploadPayProofList } from '../api';
@ -75,6 +76,7 @@ export default Form.create()(({ current_user, form, showNotification, match, his
return (
<div className="centerbox task-manage">
<AdminRouter history={history}/>
<div className="center-screen" >
<div className="center-left-but">

View File

@ -1,12 +1,13 @@
import React, { useCallback, forwardRef, useEffect, useState } from 'react';
import { Input, Button, Form } from 'antd';
import AdminRouter from '../components/adminRouter';
import ItemProofManage from '../components/itemProofManage';
import StatusNav from '../../components/statusNav';
import { proofArr } from '../static';
import { proofList, } from '../api';
import '../index.scss';
const proofArrCheck=proofArr.slice(0,2);
const proofArrCheck = proofArr.slice(0, 2);
export default Form.create()(({ current_user, form, showNotification, match, history }) => {
const { getFieldDecorator, validateFields, setFieldsValue } = form;
const [approve, setApprove] = useState(1);
@ -84,7 +85,7 @@ export default Form.create()(({ current_user, form, showNotification, match, his
return (
<div className="centerbox task-manage">
<AdminRouter history={history} />
<div className="center-screen" >
<div className="center-left-but">
<Button className="circle-button" type={approve === 1 ? 'primary' : ''} onClick={() => { changeApprove(1) }}>待审批</Button>

View File

@ -1,5 +1,6 @@
import React, { useCallback, useEffect, useState } from 'react';
import { Input, Button, Form } from 'antd';
import AdminRouter from '../components/adminRouter';
import ItemPublicityComplain from '../components/itemPublicityComplain';
import StatusNav from '../../components/statusNav';
import { publicityArr } from '../static';
@ -82,7 +83,7 @@ export default Form.create()(({ current_user, form, showNotification, match, his
return (
<div className="centerbox task-manage">
<AdminRouter history={history} />
<div className="center-screen" >
<div className="center-left-but">
<Button className="circle-button" type={approve === 1 ? 'primary' : ''} onClick={() => { changeApprove(1) }}>待审批</Button>

View File

@ -1,6 +1,7 @@
import React, { useCallback, useEffect, useState, useMemo } from 'react';
import { Input, Select, Button, Form, DatePicker, Table, Pagination, } from 'antd';
import { Link } from "react-router-dom";
import AdminRouter from '../components/adminRouter';
import { paperCheckStatusArr, publishModeArr, taskStatusAllArr, showUserModeArr } from '../static';
import { getTaskAdminList, changeShowUserMode } from '../api';
import '../index.scss';
@ -217,6 +218,7 @@ export default Form.create()(({ current_user, form, showNotification, match, his
return (
<div className="centerbox task-manage-all ">
<AdminRouter history={history}/>
<div className="search-screen" >
{helper(
"任务名称",
@ -239,7 +241,7 @@ export default Form.create()(({ current_user, form, showNotification, match, his
<div className="center-right-but">
{helper(
"创建时间:",
"发布时间:",
"startTime",
[],
<DatePicker

View File

@ -1,5 +1,6 @@
import React, { useCallback, forwardRef, useEffect, useState } from 'react';
import { Input, Button, Form } from 'antd';
import AdminRouter from "../components/adminRouter";
import ItemTaskManage from '../components/itemTaskManage';
import StatusNav from '../../components/statusNav';
import { approveArr } from '../static';
@ -98,7 +99,7 @@ export default Form.create()(({ current_user, form, showNotification, match, his
return (
<div className="centerbox task-manage">
<AdminRouter history={history} />
<div className="center-screen" >
<div className="center-left-but">
<Button className="circle-button" type={approve === 1 ? 'primary' : ''} onClick={() => { changeApprove(1) }}>待审批</Button>