处理创客任务列表已选专家过多时页面不显示问题

This commit is contained in:
unknown 2022-01-20 10:35:44 +08:00
parent c8fd59d101
commit 8c0f99c274
1 changed files with 86 additions and 73 deletions

View File

@ -41,6 +41,13 @@ export default Form.create()(({ form, showNotification, match, history, state })
const [taskList, setTaskList] = useState([]);
const [expertReview, setExpertReview] = useState('');
//
const [lookRules, setLookRules] = useState(false);
const [lookExperts, setLookExperts] = useState(false);
const [pulicReview, setPublicReview] = useState(false);
const [rules, setRules] = useState(undefined);
const [selectedExperts, setSelectedExperts] = useState(undefined);
useEffect(()=>{
setCurPage(hashDate(hash) || 1);
},[hash])
@ -360,16 +367,86 @@ export default Form.create()(({ form, showNotification, match, history, state })
});
}
//lookRules,lookExperts,pulicReview
useEffect(()=>{
//
lookRules && rules && Modal.info({
className: 'publishReview',
title: "评审规则",
content:
<React.Fragment>
<div>{rules && rules.rule}</div>
<p>评分标准</p>
<div>
{rules.criterias.map(item=>{return <p key={Math.random()}>{item}</p>})}
</div>
<p>评审时间</p>
<div>{rules.reviewData}</div>
</React.Fragment>
,
});
lookRules && setLookRules(false);
//
lookExperts && selectedExperts && Modal.info({
className: 'publishReview',
title: "已选取评审专家",
content:
<PaginationTable
dataSource={selectedExperts}
columns={columnsExperts}
scroll={{ y: 395 }}/>,
});
lookExperts && setLookExperts(false);
//
pulicReview && rules && selectedExperts && Modal.confirm({
className: 'publishReview',
title: "发布评审任务",
centered: true,
content:
<React.Fragment>
<div className='tip'>
<i className='iconfont icon-erciqueren_icon'></i>
<span className='publicTitle'>确定发布此评审任务确定发布后评审规则与评审专家信息将无法重新编辑</span>
</div>
<p>评审规则</p>
<div>{rules && rules.rule}</div>
<p>评分标准</p>
<div>
{rules.criterias.map(item=>{return <p key={Math.random()}>{item}</p>})}
</div>
<p>评审时间</p>
<div>{rules.reviewData}</div>
<p>已选取评审专家</p>
<PaginationTable
dataSource={selectedExperts}
columns={columnsExperts}
scroll={{ y: 230 }}/>
</React.Fragment>
,
okText: '确定',
cancelText: '取消',
onOk() {
publishExpertsAndRules(record.id).then(response=>{
if(response && response.message==="发布成功"){
setReload(Math.random());
}
})
},
});
pulicReview && setPublicReview(false);
},[lookRules,lookExperts,pulicReview])
//
function publishTaskReview(record){
if(!record.ruleEditedCount || !record.expertSelectedCount){
message.error("请先编辑评审规则以及选取评选专家再发布此任务");
}else{
let rules = undefined;
let selectedExperts = undefined;
getRules({containerId: record.id, containerType: 1, statusString: 3}).then(response=>{
if(response && response.message === "success"){
rules = response.data;
setRules(response.data);
}
})
selectExpertList({containerId: record.id, containerType: 1, curPage:curPage, pageSize: 10000, curPage: 1,}).then(response=>{
@ -379,79 +456,25 @@ export default Form.create()(({ form, showNotification, match, history, state })
item.reviewAreas = `${item.reviewAreaOne} ${item.reviewAreaTwo ? `${item.reviewAreaTwo}`:''} ${item.reviewAreaThree ? `${item.reviewAreaThree}`:''}`;
item.index = (index++) + (curPage > 1 ? (curPage - 1) * 10 : 0);
}
selectedExperts = response.data.rows
setSelectedExperts(response.data.rows);
setPublicReview(true);
}
});
setTimeout(() => {
Modal.confirm({
className: 'publishReview',
title: "发布评审任务",
centered: true,
content:
<React.Fragment>
<div className='tip'>
<i className='iconfont icon-erciqueren_icon'></i>
<span className='publicTitle'>确定发布此评审任务确定发布后评审规则与评审专家信息将无法重新编辑</span>
</div>
<p>评审规则</p>
<div>{rules && rules.rule}</div>
<p>评分标准</p>
<div>
{rules.criterias.map(item=>{return <p key={Math.random()}>{item}</p>})}
</div>
<p>评审时间</p>
<div>{rules.reviewData}</div>
<p>已选取评审专家</p>
<PaginationTable
dataSource={selectedExperts}
columns={columnsExperts}
scroll={{ y: 230 }}/>
</React.Fragment>
,
okText: '确定',
cancelText: '取消',
onOk() {
publishExpertsAndRules(record.id).then(response=>{
if(response && response.message==="发布成功"){
setReload(Math.random());
}
})
},
});
}, 300);
}
}
//
function viewRules(record){
let rules = undefined;
getRules({containerId: record.id, containerType: 1, statusString: '-1,1,2'}).then(response=>{
if(response && response.message === "success"){
rules = response.data;
setRules(response.data);
setLookRules(true);
}
});
setTimeout(() => {
Modal.info({
className: 'publishReview',
title: "评审规则",
content:
<React.Fragment>
<div>{rules && rules.rule}</div>
<p>评分标准</p>
<div>
{rules.criterias.map(item=>{return <p key={Math.random()}>{item}</p>})}
</div>
<p>评审时间</p>
<div>{rules.reviewData}</div>
</React.Fragment>
,
});
}, 300);
}
//
function viewExperts(record){
let selectedExperts = undefined;
selectExpertList({containerId: record.id, containerType: 1, curPage:curPage, pageSize: 10000, curPage: 1,}).then(response=>{
if(response && response.message === "success" && Array.isArray(response.data.rows)){
let index = 1;
@ -459,20 +482,10 @@ export default Form.create()(({ form, showNotification, match, history, state })
item.reviewAreas = `${item.reviewAreaOne} ${item.reviewAreaTwo ? `${item.reviewAreaTwo}`:''} ${item.reviewAreaThree ? `${item.reviewAreaThree}`:''}`;
item.index = (index++) + (curPage > 1 ? (curPage - 1) * 10 : 0);
}
selectedExperts = response.data.rows
setSelectedExperts(response.data.rows);
setLookExperts(true);
}
});
setTimeout(() => {
Modal.info({
className: 'publishReview',
title: "已选取评审专家",
content:
<PaginationTable
dataSource={selectedExperts}
columns={columnsExperts}
scroll={{ y: 395 }}/>,
});
}, 300);
}
function changeStatus(showUserMode, taskId) {