forked from Gitlink/forgeplus-react
修改bug
This commit is contained in:
parent
b9888a81f6
commit
3608b7b712
|
@ -32,7 +32,7 @@ service.interceptors.request.use(config => {
|
||||||
}
|
}
|
||||||
if (window.location.port === "3007") {
|
if (window.location.port === "3007") {
|
||||||
// 模拟token为登录用户
|
// 模拟token为登录用户
|
||||||
const taskToken=sessionStorage.taskToken||'fde0d895b20856ccea4ff2df032c4450d6b692fd';
|
const taskToken = sessionStorage.taskToken || 'fde0d895b20856ccea4ff2df032c4450d6b692fd';
|
||||||
if (config.url.indexOf('?') === -1) {
|
if (config.url.indexOf('?') === -1) {
|
||||||
config.url = `${config.url}?token=${taskToken}`;
|
config.url = `${config.url}?token=${taskToken}`;
|
||||||
} else {
|
} else {
|
||||||
|
@ -52,14 +52,14 @@ service.interceptors.response.use(
|
||||||
if (res.status === 400) {
|
if (res.status === 400) {
|
||||||
notification.open({
|
notification.open({
|
||||||
message: "提示",
|
message: "提示",
|
||||||
description: '验证失败',
|
description: res.data.message || '验证失败',
|
||||||
});
|
});
|
||||||
return Promise.reject('error');
|
return Promise.reject('error');
|
||||||
}
|
}
|
||||||
if (res.status === 401) {
|
if (res.status === 401) {
|
||||||
notification.open({
|
notification.open({
|
||||||
message: "提示",
|
message: "提示",
|
||||||
description: '未授权,请登录!',
|
description: res.data.message || '未授权,请登录!',
|
||||||
});
|
});
|
||||||
return Promise.reject('error');
|
return Promise.reject('error');
|
||||||
}
|
}
|
||||||
|
|
|
@ -198,6 +198,13 @@ export function updatePaper(data) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function deletePaper(id){
|
||||||
|
return fetch({
|
||||||
|
url: `api/paper/${id}`,
|
||||||
|
method: 'delete',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
//举报成果
|
//举报成果
|
||||||
export function reportPaper(data) {
|
export function reportPaper(data) {
|
||||||
return fetch({
|
return fetch({
|
||||||
|
|
|
@ -112,11 +112,11 @@ export default Form.create()((props) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
function complain() {
|
function complain() {
|
||||||
if (!fileList || !fileList.length) {
|
|
||||||
showNotification('请提交申诉文件!');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
validateFields((error, values) => {
|
validateFields((error, values) => {
|
||||||
|
if (!fileList || !fileList.length) {
|
||||||
|
showNotification('请提交申诉文件!');
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (!error) {
|
if (!error) {
|
||||||
let files = [];
|
let files = [];
|
||||||
for (const item of fileList) {
|
for (const item of fileList) {
|
||||||
|
|
|
@ -88,7 +88,8 @@ export default (props) => {
|
||||||
<a className="user-box fl mr15 color-grey-3 font-16" onClick={() => { goUser(item.user.login) }}>{item.user.nickname || item.user.login}</a>
|
<a className="user-box fl mr15 color-grey-3 font-16" onClick={() => { goUser(item.user.login) }}>{item.user.nickname || item.user.login}</a>
|
||||||
<span className="fl color-grey-9 mt3">{timeAgo(item.createdAt)}</span>
|
<span className="fl color-grey-9 mt3">{timeAgo(item.createdAt)}</span>
|
||||||
<span className="fr">
|
<span className="fr">
|
||||||
{item.status > 2 && <span className="spanTitle color-grey-6 fl ml20">已同意</span>}
|
{item.status > 2 && item.status !== 9 && <span className="spanTitle color-grey-6 fl ml20">已同意</span>}
|
||||||
|
{item.status === 9 && <span className="spanTitle color-yellow fl ml20">已处理</span>}
|
||||||
{item.status === 2 && <span className="spanTitle color-red fl ml20">已拒绝</span>}
|
{item.status === 2 && <span className="spanTitle color-red fl ml20">已拒绝</span>}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,7 +2,7 @@ import React, { useEffect, useState, useCallback, useMemo } from 'react';
|
||||||
import { Modal, Table, Form, Input, Button, Pagination } from 'antd';
|
import { Modal, Table, Form, Input, Button, Pagination } from 'antd';
|
||||||
import { Link } from "react-router-dom";
|
import { Link } from "react-router-dom";
|
||||||
import Upload from 'military/components/Upload';
|
import Upload from 'military/components/Upload';
|
||||||
import { getTaskPaper, proofAdd } from "../../api";
|
import { readyCheckPapers, proofAdd } from "../../api";
|
||||||
import { httpUrl } from 'military/fetch';
|
import { httpUrl } from 'military/fetch';
|
||||||
import '../../index.scss';
|
import '../../index.scss';
|
||||||
import './index.scss';
|
import './index.scss';
|
||||||
|
@ -28,12 +28,12 @@ export default Form.create()(props => {
|
||||||
let params = {
|
let params = {
|
||||||
...searchObj,
|
...searchObj,
|
||||||
taskId,
|
taskId,
|
||||||
orderBy: '',
|
checkStatus: '1',
|
||||||
pageSize,
|
pageSize,
|
||||||
curPage,
|
curPage,
|
||||||
status: '',
|
status: '',
|
||||||
}
|
}
|
||||||
taskId && getTaskPaper(params).then(data => {
|
taskId && readyCheckPapers(params).then(data => {
|
||||||
if (data && Array.isArray(data.rows)) {
|
if (data && Array.isArray(data.rows)) {
|
||||||
for (const item of data.rows) {
|
for (const item of data.rows) {
|
||||||
item.detail = item.paperDetail && item.paperDetail.content;
|
item.detail = item.paperDetail && item.paperDetail.content;
|
||||||
|
@ -43,7 +43,7 @@ export default Form.create()(props => {
|
||||||
setLoading(false);
|
setLoading(false);
|
||||||
setTotal(data.total);
|
setTotal(data.total);
|
||||||
});
|
});
|
||||||
}, [taskId, curPage,]);
|
}, [taskId, curPage, searchObj]);
|
||||||
|
|
||||||
|
|
||||||
const helper = useCallback(
|
const helper = useCallback(
|
||||||
|
@ -63,9 +63,8 @@ export default Form.create()(props => {
|
||||||
|
|
||||||
function clearSearch() {
|
function clearSearch() {
|
||||||
setFieldsValue({
|
setFieldsValue({
|
||||||
numberInput: '',
|
number: '',
|
||||||
nameInput: '',
|
userName: '',
|
||||||
enterpriseNameInput: ''
|
|
||||||
});
|
});
|
||||||
setSearchObj({});
|
setSearchObj({});
|
||||||
}
|
}
|
||||||
|
@ -119,7 +118,7 @@ export default Form.create()(props => {
|
||||||
if (!selectedRows.length) {
|
if (!selectedRows.length) {
|
||||||
showNotification("请至少选择一条数据!");
|
showNotification("请至少选择一条数据!");
|
||||||
}
|
}
|
||||||
if (!fileList && !fileList.length) {
|
if (!fileList || !fileList.length) {
|
||||||
showNotification("请上传文件!");
|
showNotification("请上传文件!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -167,7 +166,7 @@ export default Form.create()(props => {
|
||||||
<h3 className="margin10">选出胜出者<span className="color-red">*</span></h3>
|
<h3 className="margin10">选出胜出者<span className="color-red">*</span></h3>
|
||||||
<div className="center-right-but">
|
<div className="center-right-but">
|
||||||
{helper(
|
{helper(
|
||||||
"numberInput",
|
"number",
|
||||||
[{ max: 20, message: '长度不能超过20个字符' }],
|
[{ max: 20, message: '长度不能超过20个字符' }],
|
||||||
<Input
|
<Input
|
||||||
placeholder="请输入成果编号进行检索"
|
placeholder="请输入成果编号进行检索"
|
||||||
|
@ -175,10 +174,10 @@ export default Form.create()(props => {
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{helper(
|
{helper(
|
||||||
"author",
|
"userName",
|
||||||
[{ max: 20, message: '长度不能超过20个字符' }],
|
[{ max: 20, message: '长度不能超过20个字符' }],
|
||||||
<Input
|
<Input
|
||||||
placeholder="请输入作者主体名称进行检索"
|
placeholder="请输入作者名称进行检索"
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
<Button className="mr10" type="primary" onClick={onSearch}>搜索</Button>
|
<Button className="mr10" type="primary" onClick={onSearch}>搜索</Button>
|
||||||
|
|
|
@ -3,12 +3,14 @@ import { Input, Button, Radio, Form, Table, Pagination, Modal } from 'antd';
|
||||||
import { Link } from "react-router-dom";
|
import { Link } from "react-router-dom";
|
||||||
import StatusNav from '../../components/statusNav';
|
import StatusNav from '../../components/statusNav';
|
||||||
import { complainPaperList, checkComplain } from '../api';
|
import { complainPaperList, checkComplain } from '../api';
|
||||||
import { proofArr } from '../static';
|
import { paperCheckStatusArr } from '../static';
|
||||||
|
import { httpUrl } from 'military/fetch';
|
||||||
|
|
||||||
import '../index.scss';
|
import '../index.scss';
|
||||||
|
|
||||||
const TextArea = Input.TextArea;
|
const TextArea = Input.TextArea;
|
||||||
|
|
||||||
const proofArrCheck = proofArr.slice(0, 2);
|
const proofArrCheck = paperCheckStatusArr.slice(1);
|
||||||
|
|
||||||
export default Form.create()(({ current_user, form, showNotification, match, }) => {
|
export default Form.create()(({ current_user, form, showNotification, match, }) => {
|
||||||
|
|
||||||
|
@ -24,12 +26,12 @@ export default Form.create()(({ current_user, form, showNotification, match, })
|
||||||
const [reload, setReload] = useState(0);
|
const [reload, setReload] = useState(0);
|
||||||
const [visible, setVisible] = useState(false);
|
const [visible, setVisible] = useState(false);
|
||||||
const [activeId, setActiveId] = useState('');
|
const [activeId, setActiveId] = useState('');
|
||||||
const [message, setMessage] = useState('');
|
const [status, setStatus] = useState('0');
|
||||||
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const params = {
|
const params = {
|
||||||
...searchObj,
|
...searchObj,
|
||||||
|
status,
|
||||||
curPage,
|
curPage,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
};
|
};
|
||||||
|
@ -42,7 +44,7 @@ export default Form.create()(({ current_user, form, showNotification, match, })
|
||||||
setLoading(false);
|
setLoading(false);
|
||||||
})
|
})
|
||||||
|
|
||||||
}, [reload, curPage, searchObj]);
|
}, [reload, status, curPage, searchObj]);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -57,7 +59,7 @@ export default Form.create()(({ current_user, form, showNotification, match, })
|
||||||
function onSearch() {
|
function onSearch() {
|
||||||
validateFields((err, values) => {
|
validateFields((err, values) => {
|
||||||
if (!err) {
|
if (!err) {
|
||||||
setSearchObj(values);
|
setSearchObj({ numberInput: values.numberInput });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -65,8 +67,6 @@ export default Form.create()(({ current_user, form, showNotification, match, })
|
||||||
function clearSearch() {
|
function clearSearch() {
|
||||||
setFieldsValue({
|
setFieldsValue({
|
||||||
numberInput: '',
|
numberInput: '',
|
||||||
nameInput: '',
|
|
||||||
enterpriseNameInput: ''
|
|
||||||
});
|
});
|
||||||
setSearchObj({});
|
setSearchObj({});
|
||||||
}
|
}
|
||||||
|
@ -75,34 +75,53 @@ export default Form.create()(({ current_user, form, showNotification, match, })
|
||||||
function changeApprove(approve) {
|
function changeApprove(approve) {
|
||||||
setApprove(approve);
|
setApprove(approve);
|
||||||
setCurPage(1);
|
setCurPage(1);
|
||||||
// if (approve === 1) {
|
if (approve === 1) {
|
||||||
// setStatusString('1');
|
setStatus('0');
|
||||||
// } else {
|
} else {
|
||||||
// setStatusString('2,3,4,5,6,7,8');
|
setStatus('1,2');
|
||||||
// }
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function downFile(item) {
|
||||||
|
let url = httpUrl + '/busiAttachments/download/' + item.id;
|
||||||
|
window.open(url);
|
||||||
|
}
|
||||||
|
|
||||||
const columns = useMemo(() => {
|
const columns = useMemo(() => {
|
||||||
return [
|
return [
|
||||||
|
// {
|
||||||
|
// title: '来源任务',
|
||||||
|
// dataIndex: 'name',
|
||||||
|
// width: "20%",
|
||||||
|
// render: (text, record) => (
|
||||||
|
// <span>
|
||||||
|
// <Link className="line_1 color-grey3" to={`/task/taskDetail/${record.taskId}`}>{text}</Link>
|
||||||
|
// </span >
|
||||||
|
// ),
|
||||||
|
// },
|
||||||
{
|
{
|
||||||
title: '来源任务',
|
title: '申诉内容',
|
||||||
dataIndex: 'name',
|
|
||||||
width: "20%",
|
|
||||||
render: (text, record) => (
|
|
||||||
<span>
|
|
||||||
<Link className="line_1 color-grey3" to={`/task/taskDetail/${record.taskId}`}>{text}</Link>
|
|
||||||
</span >
|
|
||||||
),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '评论/成果内容',
|
|
||||||
dataIndex: 'content',
|
dataIndex: 'content',
|
||||||
width: "30%",
|
width: "30%",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '申诉文件',
|
||||||
|
dataIndex: 'materials',
|
||||||
|
width: "20%",
|
||||||
render: (text, record) => {
|
render: (text, record) => {
|
||||||
return record.paperDetail ? <div className="text-ellipsis" dangerouslySetInnerHTML={{ __html: record.paperDetail.content }}></div> : ''
|
return <div>
|
||||||
|
{
|
||||||
|
record.materials && record.materials.map(item => {
|
||||||
|
return <div className="file-list-box" key={item.id}>
|
||||||
|
<a onClick={() => { downFile(item) }}><i className="iconfont icon-fujian color-green font-14 mr3"></i>
|
||||||
|
{item.fileName} </a>
|
||||||
|
<span className="ml10 color-grey-9">({item.fileSizeString})</span>
|
||||||
|
</div>
|
||||||
|
})
|
||||||
|
}
|
||||||
|
</div>
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '评论/提交者',
|
title: '评论/提交者',
|
||||||
|
@ -136,7 +155,7 @@ export default Form.create()(({ current_user, form, showNotification, match, })
|
||||||
]
|
]
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
function checkPaperItem(paperId, pass) {
|
function checkPaperItem(paperId, pass, message) {
|
||||||
setLoading(true);
|
setLoading(true);
|
||||||
checkComplain({
|
checkComplain({
|
||||||
paperId,
|
paperId,
|
||||||
|
@ -153,8 +172,16 @@ export default Form.create()(({ current_user, form, showNotification, match, })
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function refuse() {
|
||||||
|
validateFields((err, values) => {
|
||||||
|
if (!err) {
|
||||||
|
checkPaperItem(activeId, 0, values.message);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
const changeOptionId = useCallback((option) => {
|
const changeOptionId = useCallback((option) => {
|
||||||
// setProofStatusString(option.dicItemCode.toString() || '0,1');
|
setStatus(option.dicItemCode.toString() || '1,2');
|
||||||
setCurPage(1);
|
setCurPage(1);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
@ -213,18 +240,20 @@ export default Form.create()(({ current_user, form, showNotification, match, })
|
||||||
<Modal
|
<Modal
|
||||||
title="不通过的原因"
|
title="不通过的原因"
|
||||||
visible={visible}
|
visible={visible}
|
||||||
onOk={() => { checkPaperItem(activeId, 0) }}
|
onOk={refuse}
|
||||||
onCancel={() => { setVisible(false) }}
|
onCancel={() => { setVisible(false) }}
|
||||||
className="form-edit-modal"
|
className="form-edit-modal"
|
||||||
>
|
>
|
||||||
<TextArea
|
{helper(
|
||||||
value={message}
|
"message",
|
||||||
placeholder="(必填)我想给点什么意见呢,200字以内"
|
[{ required: true, message: '请给出不通过的原因' }],
|
||||||
autoSize={{ minRows: 6 }}
|
<TextArea
|
||||||
className="applyText"
|
placeholder="(必填)我想给点什么意见呢,200字以内"
|
||||||
onChange={(e) => { setMessage(e.target.value) }}
|
autoSize={{ minRows: 6 }}
|
||||||
maxLength={200}
|
className="applyText"
|
||||||
/>
|
maxLength={200}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
</Modal>
|
</Modal>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,17 +1,18 @@
|
||||||
import React, { useCallback, useEffect, useState, useMemo } from 'react';
|
import React, { useCallback, useEffect, useState, useMemo } from 'react';
|
||||||
import { Input, Radio, Select, Button, Form, DatePicker, Table, Pagination, Modal } from 'antd';
|
import { Input, Radio, Select, Button, Form, DatePicker, Table, Pagination, Modal } from 'antd';
|
||||||
import { Link } from "react-router-dom";
|
import { Link } from "react-router-dom";
|
||||||
|
import DelModal from 'military/components/DelModal';
|
||||||
import { paperCheckStatusArr } from '../static';
|
import { paperCheckStatusArr } from '../static';
|
||||||
import { readyCheckPapers, checkPaper } from '../api';
|
import { readyCheckPapers, checkPaper, deletePaper } from '../api';
|
||||||
import '../index.scss';
|
import '../index.scss';
|
||||||
const format = "YYYY-MM-DD HH:mm:ss";
|
const format = "YYYY-MM-DD HH:mm:ss";
|
||||||
const Option = Select.Option;
|
const Option = Select.Option;
|
||||||
const TextArea = Input.TextArea;
|
const TextArea = Input.TextArea;
|
||||||
|
|
||||||
|
|
||||||
const checkStatusArr=[];
|
const checkStatusArr = [];
|
||||||
for(const item of paperCheckStatusArr){
|
for (const item of paperCheckStatusArr) {
|
||||||
checkStatusArr[item.dicItemCode]=item.dicItemName;
|
checkStatusArr[item.dicItemCode] = item.dicItemName;
|
||||||
}
|
}
|
||||||
export default Form.create()(({ current_user, form, showNotification, match, history }) => {
|
export default Form.create()(({ current_user, form, showNotification, match, history }) => {
|
||||||
|
|
||||||
|
@ -20,7 +21,7 @@ export default Form.create()(({ current_user, form, showNotification, match, his
|
||||||
|
|
||||||
const [loading, setLoading] = useState(false);
|
const [loading, setLoading] = useState(false);
|
||||||
const [searchObj, setSearchObj] = useState({
|
const [searchObj, setSearchObj] = useState({
|
||||||
checkStatus:'0,1,2'
|
checkStatus: '0,1,2'
|
||||||
});
|
});
|
||||||
const [curPage, setCurPage] = useState(1);
|
const [curPage, setCurPage] = useState(1);
|
||||||
const [total, setTotal] = useState(0);
|
const [total, setTotal] = useState(0);
|
||||||
|
@ -29,8 +30,6 @@ export default Form.create()(({ current_user, form, showNotification, match, his
|
||||||
const [reload, setReload] = useState(0);
|
const [reload, setReload] = useState(0);
|
||||||
const [visible, setVisible] = useState(false);
|
const [visible, setVisible] = useState(false);
|
||||||
const [activeId, setActiveId] = useState('');
|
const [activeId, setActiveId] = useState('');
|
||||||
const [pass, setPass] = useState(2);
|
|
||||||
const [message, setMessage] = useState('');
|
|
||||||
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
@ -60,14 +59,11 @@ export default Form.create()(({ current_user, form, showNotification, match, his
|
||||||
|
|
||||||
|
|
||||||
function onSearch() {
|
function onSearch() {
|
||||||
validateFields((err, values) => {
|
let values = getFieldsValue(['checkStatus', 'endCreatedAt', 'startCreatedAt']);
|
||||||
if (!err) {
|
if (values.startCreatedAt) values.startCreatedAt = values.startCreatedAt.format(format);
|
||||||
if (values.startCreatedAt) values.startCreatedAt = values.startCreatedAt.format(format);
|
if (values.endCreatedAt) values.endCreatedAt = values.endCreatedAt.format(format);
|
||||||
if (values.endCreatedAt) values.endCreatedAt = values.endCreatedAt.format(format);
|
if (values.checkStatus === '0,1,2') values.checkStatus = '';
|
||||||
if (values.checkStatus === '0,1,2') values.checkStatus = '';
|
setSearchObj(values);
|
||||||
setSearchObj(values);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function clearSearch() {
|
function clearSearch() {
|
||||||
|
@ -114,7 +110,10 @@ export default Form.create()(({ current_user, form, showNotification, match, his
|
||||||
title: '审核状态',
|
title: '审核状态',
|
||||||
dataIndex: 'checkStatus',
|
dataIndex: 'checkStatus',
|
||||||
render: (text, record) => {
|
render: (text, record) => {
|
||||||
return checkStatusArr[text]
|
return text === 0 ? <React.Fragment>
|
||||||
|
<Button className="mr5 font-12" type="primary" size="small" onClick={() => { checkPaperItem(record.id, true) }}>通过</Button>
|
||||||
|
<Button className="mr5 font-12" type="info" size="small" onClick={() => { setActiveId(record.id); setVisible(true) }}>不通过</Button>
|
||||||
|
</React.Fragment> : checkStatusArr[text]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -122,40 +121,59 @@ export default Form.create()(({ current_user, form, showNotification, match, his
|
||||||
key: 'action',
|
key: 'action',
|
||||||
render: (text, record) => (
|
render: (text, record) => (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
<Button className="mr5 font-12" type="primary" size="small" onClick={() => { checkPaperItem(record.id, true) }}>通过</Button>
|
{/* <Button className="mr5 font-12" type="danger" size="small" onClick={() => { deletItem(record.id) }}>删除</Button> */}
|
||||||
<Button className="mr5 font-12" type="info" size="small" onClick={() => { setActiveId(record.id); setVisible(true) }}>不通过</Button>
|
<Link className="line_1 color-grey3" to={`/task/taskDetail/${record.taskId}`}>查看</Link>
|
||||||
{/* <Link className="line_1 color-grey3" to={`/task/taskDetail/${record.id}`}>查看详情</Link> */}
|
|
||||||
</React.Fragment>
|
</React.Fragment>
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
function checkPaperItem(paperId, passStatus) {
|
function deletItem(id) {
|
||||||
setLoading(true);
|
DelModal(() => {
|
||||||
checkPaper({
|
deletePaper(id).then(res => {
|
||||||
paperId,
|
if (res.message === 'success') {
|
||||||
auditingVo: {
|
showNotification("删除成功");
|
||||||
pass: passStatus ? 1 : pass,
|
history.go(-1);
|
||||||
message,
|
} else {
|
||||||
}
|
showNotification("删除失败");
|
||||||
}).then(res => {
|
}
|
||||||
if (res && res.message === 'success') {
|
})
|
||||||
setReload(reload + 1);
|
|
||||||
setVisible(false);
|
|
||||||
// if (taskList.length === 1) {
|
|
||||||
// setCurPage(curPage - 1 || 1);
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
setLoading(false);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function changeStatus(e){
|
function checkPaperItem(paperId, passStatus) {
|
||||||
|
validateFields((err, values) => {
|
||||||
|
if (!err) {
|
||||||
|
setLoading(true);
|
||||||
|
checkPaper({
|
||||||
|
paperId,
|
||||||
|
auditingVo: {
|
||||||
|
pass: passStatus ? 1 : values.pass,
|
||||||
|
message: values.message,
|
||||||
|
}
|
||||||
|
}).then(res => {
|
||||||
|
if (res && res.message === 'success') {
|
||||||
|
setReload(reload + 1);
|
||||||
|
setVisible(false);
|
||||||
|
setFieldsValue({
|
||||||
|
pass:'',
|
||||||
|
message:'',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
setLoading(false);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function changeStatus(e) {
|
||||||
setSearchObj({
|
setSearchObj({
|
||||||
...searchObj,
|
...searchObj,
|
||||||
checkStatus:e,
|
checkStatus: e,
|
||||||
});
|
});
|
||||||
|
setCurPage(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
@ -185,7 +203,6 @@ export default Form.create()(({ current_user, form, showNotification, match, his
|
||||||
|
|
||||||
<div className="center-right-but">
|
<div className="center-right-but">
|
||||||
|
|
||||||
|
|
||||||
{helper(
|
{helper(
|
||||||
"发布时间:",
|
"发布时间:",
|
||||||
"startCreatedAt",
|
"startCreatedAt",
|
||||||
|
@ -241,21 +258,31 @@ export default Form.create()(({ current_user, form, showNotification, match, his
|
||||||
onCancel={() => { setVisible(false) }}
|
onCancel={() => { setVisible(false) }}
|
||||||
className="form-edit-modal"
|
className="form-edit-modal"
|
||||||
>
|
>
|
||||||
<Radio.Group
|
{helper(
|
||||||
className="mb10"
|
"",
|
||||||
value={pass}
|
"pass",
|
||||||
onChange={(e) => { setPass(e.target.value) }}>
|
[{required:true,message:'请选择是否允许申诉'}],
|
||||||
<Radio value={2}>允许申诉</Radio>
|
<Radio.Group
|
||||||
<Radio value={0}>不允许申诉</Radio>
|
className="mb10"
|
||||||
</Radio.Group>
|
>
|
||||||
<TextArea
|
<Radio value={2}>允许申诉</Radio>
|
||||||
value={message}
|
<Radio value={0}>不允许申诉</Radio>
|
||||||
placeholder="(必填)我想说点什么呢,200字以内"
|
</Radio.Group>
|
||||||
autoSize={{ minRows: 6 }}
|
)
|
||||||
className="applyText"
|
}
|
||||||
onChange={(e) => { setMessage(e.target.value) }}
|
|
||||||
maxLength={200}
|
{helper(
|
||||||
/>
|
"",
|
||||||
|
"message",
|
||||||
|
[{required:true,message:'请输入拒绝的原因'}],
|
||||||
|
<TextArea
|
||||||
|
placeholder="(必填)我想说点什么呢,200字以内"
|
||||||
|
autoSize={{ minRows: 6 }}
|
||||||
|
className="applyText"
|
||||||
|
maxLength={200}
|
||||||
|
/>
|
||||||
|
)
|
||||||
|
}
|
||||||
</Modal>
|
</Modal>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
|
|
|
@ -41,6 +41,7 @@ export default Form.create()(
|
||||||
const [agreementCheckBox, setAgreementCheckBox] = useState(false);
|
const [agreementCheckBox, setAgreementCheckBox] = useState(false);
|
||||||
const [signAgreement, setSignAgreement] = useState(false);
|
const [signAgreement, setSignAgreement] = useState(false);
|
||||||
const [isPaper, setIsPaper] = useState(false);
|
const [isPaper, setIsPaper] = useState(false);
|
||||||
|
const [paperUploadLoading, setPaperUploadLoading] = useState(false);
|
||||||
|
|
||||||
const [status, setStatus] = useState('');
|
const [status, setStatus] = useState('');
|
||||||
const [curPage, setCurPage] = useState(1);
|
const [curPage, setCurPage] = useState(1);
|
||||||
|
@ -202,7 +203,9 @@ export default Form.create()(
|
||||||
...values,
|
...values,
|
||||||
taskId: id
|
taskId: id
|
||||||
}
|
}
|
||||||
|
setPaperUploadLoading(true);
|
||||||
addPaper(params).then((res) => {
|
addPaper(params).then((res) => {
|
||||||
|
setPaperUploadLoading(false);
|
||||||
if (res.message === 'success') {
|
if (res.message === 'success') {
|
||||||
showNotification('成果提交成功');
|
showNotification('成果提交成功');
|
||||||
setIsPaper(true);
|
setIsPaper(true);
|
||||||
|
@ -303,7 +306,7 @@ export default Form.create()(
|
||||||
validateFirst: true
|
validateFirst: true
|
||||||
})(<Input style={{ display: 'none' }} />)}
|
})(<Input style={{ display: 'none' }} />)}
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
<Button className="mr20" type={"primary"} onClick={() => { saveItem() }}>提交</Button>
|
<Button className="mr20" type={"primary"} loading={paperUploadLoading} onClick={() => { saveItem() }}>提交</Button>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
} else if (detailData.user && (current_user.login !== detailData.user.login)) {
|
} else if (detailData.user && (current_user.login !== detailData.user.login)) {
|
||||||
|
@ -448,7 +451,7 @@ export default Form.create()(
|
||||||
{!detailData.showUserStatus && <Tooltip placement="top" title={"不公示应征者姓名"}>
|
{!detailData.showUserStatus && <Tooltip placement="top" title={"不公示应征者姓名"}>
|
||||||
<i data-tip-down="不公示应征者姓名" className="iconfont icon-yincang1 color-grey9 font-20"></i>
|
<i data-tip-down="不公示应征者姓名" className="iconfont icon-yincang1 color-grey9 font-20"></i>
|
||||||
</Tooltip>}
|
</Tooltip>}
|
||||||
{detailData.status === 4 && dataList.length && (!detailData.isProofBoolean) && detailData.user && (current_user.login === detailData.user.login) ?
|
{(detailData.status === 3 || detailData.status === 4) && dataList.length && (!detailData.isProofBoolean) && detailData.user && (current_user.admin || current_user.login === detailData.user.login) ?
|
||||||
<a className="line_1 color-blue fr ml20" onClick={() => { setVisibleProofs(true) }}>上传佐证材料</a> : ''}
|
<a className="line_1 color-blue fr ml20" onClick={() => { setVisibleProofs(true) }}>上传佐证材料</a> : ''}
|
||||||
{/* <a href="/tasks/130/export_papers" className="line_1 color-blue fr ml20" data-disable-with="<img alt="Loading" className="download-loading" src="/images/loading.gif?1564989000" ></a>下载中..." target="_blank">一键导出成果物</a> */}
|
{/* <a href="/tasks/130/export_papers" className="line_1 color-blue fr ml20" data-disable-with="<img alt="Loading" className="download-loading" src="/images/loading.gif?1564989000" ></a>下载中..." target="_blank">一键导出成果物</a> */}
|
||||||
{dataList.length > 0 && taskLimit && <a className="line_1 color-blue fr ml20" onClick={exportPaper}>一键导出成果物 >></a>}
|
{dataList.length > 0 && taskLimit && <a className="line_1 color-blue fr ml20" onClick={exportPaper}>一键导出成果物 >></a>}
|
||||||
|
@ -503,19 +506,20 @@ export default Form.create()(
|
||||||
className="form-edit-modal"
|
className="form-edit-modal"
|
||||||
width='60vw'
|
width='60vw'
|
||||||
>
|
>
|
||||||
<div className="new_li markdown-body editormd-html-preview " style={{ boxSizing: "border-box", padding: "0px 20px" }} dangerouslySetInnerHTML={{ __html: applyContent.content }}></div>
|
<div className="new_li markdown-body editormd-html-preview agreement-content" dangerouslySetInnerHTML={{ __html: applyContent.content }}></div>
|
||||||
<div className="mt5 mb10 pl20 pr20 ml15">
|
<div className="mt5 mb10 pl20 pr20 ml15">
|
||||||
<Checkbox checked={agreementCheckBox} onChange={(e) => { setAgreementCheckBox(e.target.checked) }}>我已阅读并同意本电子协议内容</Checkbox>
|
<Checkbox checked={agreementCheckBox} onChange={(e) => { setAgreementCheckBox(e.target.checked) }}>我已阅读并同意本电子协议内容</Checkbox>
|
||||||
</div>
|
</div>
|
||||||
</Modal>
|
</Modal>
|
||||||
|
|
||||||
<ProofModal
|
{
|
||||||
taskId={id}
|
visibleProofs && <ProofModal
|
||||||
visible={visibleProofs}
|
taskId={id}
|
||||||
changeVisible={setVisibleProofs}
|
visible={visibleProofs}
|
||||||
showNotification={showNotification}
|
changeVisible={setVisibleProofs}
|
||||||
reloadList={reloadDetail}
|
showNotification={showNotification}
|
||||||
/>
|
reloadList={reloadDetail}
|
||||||
|
/>}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
|
@ -143,4 +143,11 @@
|
||||||
background-color:#409eff;
|
background-color:#409eff;
|
||||||
border-color: #409eff;
|
border-color: #409eff;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.agreement-content{
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 0px 20px;
|
||||||
|
height: 50vh;
|
||||||
|
overflow-y: scroll;
|
||||||
}
|
}
|
|
@ -179,7 +179,7 @@ export default Form.create()(forwardRef(({ current_user, form, showNotification,
|
||||||
|
|
||||||
// 新增或者修改后的处理函数
|
// 新增或者修改后的处理函数
|
||||||
const publishDeal = useCallback((status, publishMode, res) => {
|
const publishDeal = useCallback((status, publishMode, res) => {
|
||||||
if (res && res.message === 'success') {
|
if (res && res.data) {
|
||||||
showNotification("任务保存成功!");
|
showNotification("任务保存成功!");
|
||||||
if (!status) {
|
if (!status) {
|
||||||
history.push("/task/myTask?published=false")
|
history.push("/task/myTask?published=false")
|
||||||
|
@ -367,6 +367,8 @@ export default Form.create()(forwardRef(({ current_user, form, showNotification,
|
||||||
"bounty",
|
"bounty",
|
||||||
[{ required: true, message: "您打算支付多少赏金呢" }],
|
[{ required: true, message: "您打算支付多少赏金呢" }],
|
||||||
<InputNumber
|
<InputNumber
|
||||||
|
min={0}
|
||||||
|
max={99999999}
|
||||||
className="number-input"
|
className="number-input"
|
||||||
placeholder="您打算支付多少赏金呢"
|
placeholder="您打算支付多少赏金呢"
|
||||||
formatter={value => `${value}¥`}
|
formatter={value => `${value}¥`}
|
||||||
|
|
Loading…
Reference in New Issue