文章详情 Reviewer detail 打开弹窗

This commit is contained in:
2025-11-19 15:05:07 +08:00
parent 04bfcc1256
commit 9fd6b73850
9 changed files with 299 additions and 219 deletions

View File

@@ -656,7 +656,13 @@
<td class="review_table_index">
Reviewer {{ reviewerIndex + 1 }}
<el-button
style="margin-left: 10px"
type="text"
@click="crateRevision(iken)"
v-if="iken.can_repeat == 1"
>Re-review</el-button
>
</td>
<td style="position: relative; cursor: pointer">
@@ -672,14 +678,15 @@
>( {{ iken.rated }} )</span
>
<span v-if="iken.state != 0"
style="color: #006699;float: right;"
style="color: #888;float: right;margin-right: 20px;"
@click="handleClick(iken,'detail')"
>Detail</span
>
</td>
<!-- 1st review原逻辑不变 -->
<td @click="handleClick(iken,'question')" style="cursor: pointer">
<span style="display: inline-block; margin-left: 4px; margin-right: 8px">
<td style="cursor: pointer">
<span >
<span style="display: inline-block; margin-left: 4px; margin-right: 8px">
<font
v-if="iken.recommend == 1 || iken.recommend == 2"
style="
@@ -717,13 +724,23 @@
<span v-if="iken.recommend == 1">Minor</span>
<span v-else-if="iken.recommend == 2">Major</span>
<span v-else-if="iken.recommend == 3">reject and resubmission</span>
<span v-else-if="iken.recommend == 4">Reject</span>
<span v-else-if="iken.recommend == 4">Reject</span>
</span>
<span v-if="iken.state != 0"
style="color: #888;float: right;margin-right: 20px;"
@click="handleClick(iken,'question')"
>Detail</span
>
</td>
<!-- 关键按最大重复次数遍历而非仅遍历当前iken.repeat -->
<template v-for="(_1, index1) in maxRepeatReviewCount()">
<td>
<td >
<!-- 补全逻辑判断当前评审者的repeat中是否有第index1条数据 -->
<span
<span
v-if="Array.isArray(iken.repeat) && iken.repeat[index1]"
style="cursor: pointer"
@@ -768,6 +785,12 @@
<span v-else-if="iken.repeat[index1].recommend == 2">Reject</span>
<span v-else-if="iken.repeat[index1].recommend == 3">Revision</span>
<span v-else>No reply</span>
<span v-if="[1,2,3].includes(iken.repeat[index1].recommend)"
style="color: #888;float: right;margin-right: 20px;"
@click="handleClick(iken,'re-review',iken.repeat[index1])"
>Detail</span
>
</span>
<span v-else>
<!-- 无数据:补全空内容(可自定义为“-”“无”等) -->
@@ -843,8 +866,8 @@
<span style="">{{ iken.realname }}</span>
<span
style="color: #006699; float: right;"
<span v-if="[1,2,3].includes(iken.state)"
style="color: #888; float: right;"
@click="handleClickFinal(iken)"
>Detail</span
>
@@ -1726,7 +1749,31 @@ export default {
}
},
methods: {
crateRevision(item) {
// 二次询问
this.$confirm('Do you want to send a review invitation?', 'Tip', {
type: 'warning'
})
.then(() => {
this.$api
.post('api/Reviewer/startRepeatReviewer', {
art_rev_id: item.art_rev_id
})
.then((res) => {
//console.log(res)
if (res.code == 0) {
this.$message.success('A review invitation was successfully sent!');
this.getFinalList()
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
console.log(err);
});
})
.catch(() => {});
},
handleClickFinal(data) {
this.finalDecisionData={...data}
@@ -1900,12 +1947,12 @@ this.FinalDecisionVisible=true
// console.log('maxItem at line 2142:', maxItem.repeat.length)
return maxItem && maxItem.repeat ? maxItem.repeat.length : 0;
},
handleClick(item,type) {
handleClick(item,type,repeatItem) {
this.reviewerDetail=item
this.reviewerVisible=true
this.$nextTick(()=>{
this.$refs.reviewerDetail.init(item.art_rev_id,type)
this.$refs.reviewerDetail.init(item.art_rev_id,type,repeatItem)
})
@@ -1932,14 +1979,7 @@ this.FinalDecisionVisible=true
this.finalList = [...res.data.final_review];
this.reviewList = res.data.review;
if(this.finalList.length > 0) {
console.log('this.finalList.length at line 1829:', this.finalList.map(item => item.id))
// this.$api
// .post('api/Workbench/updateArticleState', {
// article_id: this.editform.articleId,
// act_id: this.finalList.map(item => item.id),
// type: '3',
// account: localStorage.getItem('U_name')
// })
}
}
}
@@ -2858,7 +2898,7 @@ this.FinalDecisionVisible=true
}
.art_author_ {
padding: 20px 0;
padding: 15px 20px !important;
}
.art_author_ > h2 {