This commit is contained in:
2025-09-22 20:01:04 +08:00
parent 68858418e4
commit 0a7482dbcf
6 changed files with 284 additions and 17 deletions

BIN
dist.zip

Binary file not shown.

View File

@@ -19,8 +19,8 @@ const service = axios.create({
// baseURL: 'https://submission.tmrjournals.com/', //正式 记得切换
// baseURL: 'http://www.tougao.com/', //测试本地 记得切换
// baseURL: 'http://192.168.110.110/tougao/public/index.php/',
// baseURL: '/api', //本地
baseURL: '/', //正式
baseURL: '/api', //本地
// baseURL: '/', //正式
});

View File

@@ -329,6 +329,93 @@
<common-word-html :articleId="$route.query.id" style="box-sizing: border-box"></common-word-html>
</div>
<div v-if="reviewList.length>0">
<!-- 初审 --> <div class="art_author_">
<h2>
Reviewer Decision
</h2>
<div v-for="(item,index) in reviewList" :name="index" :key="index" @click="goReviewerDetail(item)"
class="art_author_list">
<!-- 时间轴 -->
<div style="position: relative;width: 100%;padding-left: 10px; height: 48px;
line-height: 48px;
background-color: #FFF;
color: #303133;
cursor: pointer;
border-bottom: 1px solid #EBEEF5;
font-size: 13px;
font-weight: 500;">
<b class="com_shu">{{index+1}}</b>
Reviewer Comment
<span style="color: #006699;font-weight: 700;margin-left: 10px">
<i class="el-icon-paperclip
"></i>
</span>
</div>
<!-- end -->
</div>
</div>
</div>
<div v-if="finalList.length>0">
<!-- 终审 -->
<div class="art_author_">
<h2>
Final Decision
</h2>
<el-collapse v-model="activeFinalComment" >
<el-collapse-item v-for="(item,index) in finalList" :name="index" :key="index"
class="art_author_list">
<template slot="title">
<div style="position: relative;width: 100%;padding-left: 10px;">
<b class="com_shu">{{index+1}}</b>
Final Decision Comment
<span style="color: #006699;font-weight: 700;margin-left: 20px">
{{mystate(item.state)}}
</span>
<font style="color: #888;position: absolute;right: 10px;">
<i class="el-icon-time" style="margin:0 2px 0 0;"></i>
{{formatDate_(item.update_time)}}
</font>
</div>
</template>
<!-- 时间轴 -->
<el-timeline >
<el-card>
<!-- 内容 -->
<div class="art_author_coment" style="margin-top: 0px;">
<p v-if="item.suggest_for_author!=''">
<font style="margin-top: 0px;">Comments for the Authors</font>
<pre style="text-align: justify;">{{item.suggest_for_author}}</pre>
</p>
</div>
<div class="art_author_coment" style="margin-top: 0px;">
<p v-if="item.suggest_for_editor!=''">
<font style="margin-top: 0px;">Comments for the Editors</font>
<pre style="text-align: justify;">{{item.suggest_for_editor}}</pre>
</p>
</div>
</el-card>
</el-timeline>
<!-- end -->
</el-collapse-item>
</el-collapse>
</div>
</div>
<!-- 被拒稿件操作 --->
<div class="art_caozuo_" v-if="opname == 'rejectArticles'">
<p>
@@ -694,6 +781,7 @@ export default {
},
data() {
return {
activeFinalComment: [],
isShowAI: false,
currentArticleData: {},
researchAreas: ['1'],
@@ -949,6 +1037,8 @@ export default {
// explanationValue: ''
// }
],
finalList:[],
reviewList:[],
};
},
async created() {
@@ -957,6 +1047,7 @@ export default {
this.initFileList();
this.getWordimgList();
this.getWordTablesList();
this.getFinalList();
},
computed: {
// coverLetterUrl: function() {
@@ -1019,8 +1110,35 @@ export default {
}
},
methods: {
goReviewerDetail(id){
console.log('id at line 1112:', id)
this.$router.push({
path: 'articleReviewerDetail',
query: {
id: id
}
});
},
getFinalList(){
this.$api
// api/Article/addArticle
.post('api/Finalreview/getArticleFinalReview', {
article_id: this.editform.articleId
})
.then(async(res) => {
if (res.status==1) {
if(res.status==1){
this.finalList = res.data.final_review;
this.reviewList = res.data.review;
}
}
})
.catch((err) => {
});
},
async creatAI() {
const loading = this.$loading({
@@ -1121,6 +1239,16 @@ export default {
this.msgform.ad_content = '';
this.getTalkList();
},
formatDate(timestamp) {
var date = new Date(timestamp * 1000); //时间戳为10位需*1000时间戳为13位的话不需乘1000
var Y = date.getFullYear() + '-';
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
return Y + M + D ;
},
//弹出编辑框
testvis() {
this.editform.state = this.form.state;
@@ -1132,6 +1260,24 @@ export default {
changeRepe() {
this.repebox = true;
},
mystate(mystate) {
console.log('mystate at line 1052:', mystate);
let str = '';
switch (mystate) {
case 1:
str = 'Accept';
break;
case 2:
str = 'Reject';
break;
case 3:
// str = 'Accept';
str = 'Revision';
break;
}
return str;
},
statetostr(mystate) {
let str = '';
switch (mystate) {
@@ -1537,16 +1683,7 @@ export default {
removefilerepezip(file, fileList) {
this.repeform.zipurl = '';
},
formatDate(timestamp) {
var date = new Date(timestamp * 1000); //时间戳为10位需*1000时间戳为13位的话不需乘1000
var Y = date.getFullYear() + '-';
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
return Y + M + D;
},
formatDate_(timestamp) {
var date = new Date(timestamp * 1000); //时间戳为10位需*1000时间戳为13位的话不需乘1000
var Y = date.getFullYear() + '-';
@@ -1794,4 +1931,105 @@ export default {
/deep/.research_area .el-collapse-item__content{
padding-bottom: 0 !important;
}
.art_author_ {
padding: 20px 0;
}
.art_author_>h2 {
font-size: 18px;
margin: 0 0 15px 0;
letter-spacing: -0.8px;
}
.art_author_list {
margin: 0 0 0 5px;
}
.art_author_list .com_shu {
background-color: #006699;
color: #fff;
display: inline-block;
width: 18px;
height: 18px;
line-height: 18px;
text-align: center;
margin: 0 10px 0 0;
}
.art_author_peng {
margin: 10px 0 0px 10px;
line-height: 24px;
}
.art_author_peng>a {
color: #333;
}
.art_author_peng>a:hover {
text-decoration: underline;
}
.art_author_peng>a>img {
width: 15px;
vertical-align: text-bottom;
margin: 0 15px 0 0;
}
.art_author_peng>a>span {
color: #888;
margin: 0 0 0 30px;
}
.art_author_peng>a>i {
font-weight: bold;
color: #75abf1;
margin: 0 0 0 18px;
}
.art_author_btn>div {
margin-bottom: 30px;
color: #006699;
}
.art_author_btn>h4 {
float: left;
width: 180px;
padding: 8px 20px 0 0;
letter-spacing: -0.5px;
text-align: right;
}
.art_author_btn>p {
float: left;
margin: 0 0 30px 0;
}
.el-upload__tip {
margin-left: 6px;
}
.el-collapse {
border-bottom: 0;
}
.art_author_coment {}
.art_author_coment>p {
line-height: 20px;
}
.art_author_coment>p:first-child {
margin-top: 0;
}
.art_author_coment>p>font,.commentfs>font {
display: block;
margin: 15px 0 5px 0;
color: #006699;
font-weight: bold;
letter-spacing: -0.5px;
}
</style>

View File

@@ -183,7 +183,8 @@
<el-table-column label="" width="120" align="center">
<template slot-scope="scope">
<el-button size="mini" type="primary" plain icon="el-icon-check" @click="selSuggest(scope.row)"> Select</el-button>
<el-button v-if="scope.row.is_invite == 2 " size="mini" type="primary" plain icon="el-icon-check" @click="selSuggest(scope.row)"> Select</el-button>
<el-button disabled v-if="scope.row.is_invite == 1 " size="mini" type="info" plain > Invited</el-button>
</template>
</el-table-column>
</el-table>

View File

@@ -515,10 +515,10 @@
<span style="font-size: 12px; font-weight: bold">Scopus</span> :
<span v-html="colorIndex1(v.author_account.scopus_index)"></span>
</span>
<span style="margin-left: 6px" v-if="v.author_account.google_time">
<!-- <span style="margin-left: 6px" v-if="v.author_account.google_time">
<span style="font-size: 12px; font-weight: bold">Google</span> :
<span v-html="colorIndex1(v.author_account.google_index)"></span>
</span>
</span> -->
<b @click="aiSoring(v)" class="btnCliArt" style="margin-left: 10px">
<i class="el-icon-edit"></i>
</b>

View File

@@ -107,8 +107,24 @@
},
methods: {
getData() {
// 获取文章信息
this.$api
.post('api/Finalreview/getById', {
'record_id': this.record_id,
'record_id': 1,
'reviewer_id': localStorage.getItem('U_id'),
'reviewer_id': 486,
})
.then(res => {
console.log('res at line 119:', res)
if(res.status==1){
if(res.data.state==0){
this.$api
.post('api/Finalreview/view', {
'record_id': this.record_id,
'reviewer_id': localStorage.getItem('U_id'),
@@ -165,6 +181,18 @@
.catch(err => {
this.$message.error(err);
});
}else{
this.$router.push('/edit_per_text?Art_id=' + this.record_id);
}
}else{
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
},