Files
tougao_web/src/components/page/per_history_commen.vue
@fawn-nine c58182cf8a 微调
2023-12-04 15:07:52 +08:00

576 lines
26 KiB
Vue

<template>
<div>
<div class="crumbs">
<el-breadcrumb separator="/">
<el-breadcrumb-item>
<i class="el-icon-collection"></i>
<router-link :to="{ path: '/perhistory' }">
<span class="top_dao"> Reviewer historical manuscripts</span>
</router-link>
>> Reviewer historical manuscripts comment
</el-breadcrumb-item>
</el-breadcrumb>
</div>
<div
class="container_l"
v-loading="loading"
element-loading-text="Loading..."
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0, 0, 0, 0.8)"
>
<el-card class="box-card">
<div class="tet_list" :model="txt_mess">
<h4>{{ txt_mess.article_title }}</h4>
<h5>{{ txt_mess.title }}<span style="margin: 0 10px"> >> </span> Manuscript ID: {{ txt_mess.accept_sn }}</h5>
<p style="display: inline-block; margin: 0 35px"><b>Type :</b> {{ txt_mess.atype }}</p>
<p style="display: inline-block"><b>Submitted time :</b> {{ txt_mess.ctime }}</p>
<p><b>Abstract :</b> <br />{{ txt_mess.abstrart }}</p>
<div class="file_sty" v-for="item in fileList" style="margin-top: 15px">
<img src="../../assets/img/icon_0.png" alt="" class="icon_img" />
<a :href="mediaUrl + item.file_url" target="_blank" class="txt_pdf"
>{{ item.type_name }} <span style="margin-left: 50px; color: #888; font-size: 13px">{{ item.ctime }}</span>
<i class="el-icon-download" style="margin-left: 20px; color: #66b1ff; font-weight: bold"></i> </a
><br />
</div>
<div class="file_sty" v-for="item in picList">
<img src="../../assets/img/icon_0.png" alt="" class="icon_img" />
<a :href="mediaUrl + item.file_url" target="_blank" class="txt_pdf"
>Figures And Tables <span style="margin-left: 50px; color: #888; font-size: 13px">{{ item.ctime }}</span>
<i class="el-icon-download" style="margin-left: 20px; color: #66b1ff; font-weight: bold"></i> </a
><br />
</div>
</div>
</el-card>
<p style="font-size: 20px; text-align: center; margin: 0 0 25px 0">All comments</p>
<p v-if="conmentList == ''" style="color: #666; margin: 0 0 0 10px">No comment</p>
<div>
<el-card class="box-card conment_list" v-for="(item, index) in conmentList">
<p style="margin: 0 0 15px 0">
<b>Comment {{ index + 1 }}</b>
</p>
<p style="font-size: 14px; color: #666; margin-bottom: 5px">
Reviewer :
<b v-if="item.reviewer.user_id == User_Id">{{ item.reviewer.account }}</b>
<b v-if="item.reviewer.user_id != User_Id">XXXXXXXXXX</b>
</p>
<p style="font-size: 14px; color: #666; margin-bottom: 5px">
Score :
<b>{{ item.question.rated }}</b>
</p>
<p style="font-size: 14px; color: #666; margin-bottom: 5px">
Recommendation :
<b v-if="item.question.recommend == 1">Minor revision</b>
<b v-if="item.question.recommend == 2">Major revision</b>
<b v-if="item.question.recommend == 3">Reject in current form, but may be resubmitted</b>
<b v-if="item.question.recommend == 4">Reject</b>
</p>
<p style="font-size: 14px; color: #666; margin: 0 0 20px 0">
Reviewed Time : <b>{{ item.ctime }}</b>
</p>
<el-button type="primary" size="mini" @click="ques_visible(item.question)" style="">Referee's Assessment</el-button>
</el-card>
</div>
<!-- 证书弹出框 -->
<el-dialog :visible.sync="questionVisible" width="1000px">
<el-form
:model="questionform"
:rules="rules"
ref="question"
label-width="300px"
label-position="top"
style="padding: 0 20px"
>
<el-divider content-position="center">REFEREE'S ASSESSMENT</el-divider>
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="1.Originality of the topic">
<el-radio-group v-model="questionform.qu1">
<el-radio :label="1">Excellent</el-radio>
<el-radio :label="2">Good</el-radio>
<el-radio :label="3">Fair</el-radio>
<el-radio :label="4">Poor</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="2.Importance in its Field">
<el-radio-group v-model="questionform.qu3">
<el-radio :label="1">Excellent</el-radio>
<el-radio :label="2">Good</el-radio>
<el-radio :label="3">Fair</el-radio>
<el-radio :label="4">Poor</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="3.Does the manuscript fall within the aim and scope of the journal?">
<el-radio-group v-model="questionform.qu6">
<el-radio :label="1">Excellent</el-radio>
<el-radio :label="2">Good</el-radio>
<el-radio :label="3">Fair</el-radio>
<el-radio :label="4">Poor</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="4.English language">
<el-radio-group v-model="questionform.qu8">
<el-radio :label="1">Excellent</el-radio>
<el-radio :label="2">Good</el-radio>
<el-radio :label="3">Fair</el-radio>
<el-radio :label="4">Poor</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="5.Readily Understandable">
<el-radio-group v-model="questionform.qu5">
<el-radio :label="1">Excellent</el-radio>
<el-radio :label="2">Good</el-radio>
<el-radio :label="3">Fair</el-radio>
<el-radio :label="4">Poor</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-collapse>
<el-form-item label="6.Does the title represent manuscript's contents?">
<el-col :span="8">
<el-radio-group v-model="questionform.qu9">
<el-radio :label="true">Yes</el-radio>
<el-radio :label="false">No</el-radio>
</el-radio-group>
</el-col>
<el-col :span="12">
<el-collapse-item name="1" style="margin-top: -10px">
<template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
<el-input
type="textarea"
placeholder="please input content"
v-model="questionform.qu9contents"
:rows="4"
></el-input>
</el-collapse-item>
</el-col>
</el-form-item>
</el-collapse>
</el-col>
</el-row>
<el-collapse>
<el-form-item label="7.Is the Abstract accurate and concise?">
<el-col :span="4">
<el-radio-group v-model="questionform.qu10">
<el-radio :label="true">Yes</el-radio>
<el-radio :label="false">No</el-radio>
</el-radio-group>
</el-col>
<el-col :span="20">
<el-collapse-item name="2" style="margin-top: -10px">
<template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
<el-input
type="textarea"
placeholder="please input content"
v-model="questionform.qu10contents"
:rows="4"
></el-input>
</el-collapse-item>
</el-col>
</el-form-item>
<el-form-item label="8.Are the approach/ methods properly described?">
<el-col :span="4">
<el-radio-group v-model="questionform.qu11">
<el-radio :label="true">Yes</el-radio>
<el-radio :label="false">No</el-radio>
</el-radio-group>
</el-col>
<el-col :span="20">
<el-collapse-item name="3" style="margin-top: -10px">
<template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
<el-input
type="textarea"
placeholder="please input content"
v-model="questionform.qu11contents"
:rows="4"
></el-input>
</el-collapse-item>
</el-col>
</el-form-item>
<el-form-item label="9.Are the conclusions and interpretations sound?">
<el-col :span="4">
<el-radio-group v-model="questionform.qu12">
<el-radio :label="true">Yes</el-radio>
<el-radio :label="false">No</el-radio>
</el-radio-group>
</el-col>
<el-col :span="20">
<el-collapse-item name="4" style="margin-top: -10px">
<template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
<el-input
type="textarea"
placeholder="please input content"
v-model="questionform.qu12contents"
:rows="4"
></el-input>
</el-collapse-item>
</el-col>
</el-form-item>
<el-form-item label="10.Are the references properly cited?">
<el-col :span="4">
<el-radio-group v-model="questionform.qu13">
<el-radio :label="true">Yes</el-radio>
<el-radio :label="false">No</el-radio>
</el-radio-group>
</el-col>
<el-col :span="20">
<el-collapse-item name="5" style="margin-top: -10px">
<template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
<el-input
type="textarea"
placeholder="please input content"
v-model="questionform.qu13contents"
:rows="4"
></el-input>
</el-collapse-item>
</el-col>
</el-form-item>
<el-divider content-position="center">REFEREE'S RECOMMENDATIONS</el-divider>
<el-form-item label="Overall the Paper is Rated">
(Poor------------------------Excellent)
<br />
<el-radio-group v-model="questionform.rated" size="small">
<el-radio-button label="1"></el-radio-button>
<el-radio-button label="2"></el-radio-button>
<el-radio-button label="3"></el-radio-button>
<el-radio-button label="4"></el-radio-button>
<el-radio-button label="5"></el-radio-button>
<el-radio-button label="6"></el-radio-button>
<el-radio-button label="7"></el-radio-button>
<el-radio-button label="8"></el-radio-button>
<el-radio-button label="9"></el-radio-button>
<el-radio-button label="10"></el-radio-button>
</el-radio-group>
<span style="margin-left: 20px">>Your score:{{ questionform.rated }}</span>
</el-form-item>
<el-form-item label="REFEREE'S RECOMMENDATIONS" prop="recommend">
<el-radio-group v-model="questionform.recommend" style="line-height: 30px">
<el-radio :label="1">Minor revision</el-radio>
<br />
<el-radio :label="2">Major revision</el-radio>
<br />
<!-- <div v-if="journal_id == 1 || journal_id == 23 || journal_id == 10"> -->
<el-radio :label="3">Reject in current form, but may be resubmitted</el-radio>
<br />
<el-radio :label="4">Reject</el-radio>
<!-- </div>
<div v-else> -->
<!-- <el-radio :label="4">Reject</el-radio> -->
<!-- </div> -->
</el-radio-group>
</el-form-item>
<el-form-item label="OTHER SPECIFIC CRITICISMS">
<el-radio-group v-model="questionform.other" style="line-height: 30px">
<el-radio :label="1">Imperfect style</el-radio>
<br />
<el-radio :label="2">Too long</el-radio>
<br />
<el-radio :label="3">References incorrectly presented</el-radio>
<br />
<el-radio :label="4">Typographical and Grammatical errors</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="Comments for the Authors">
<el-input
type="textarea"
placeholder="please input content"
v-model="questionform.comment"
:rows="6"
></el-input>
</el-form-item>
</el-collapse>
</el-form>
</el-dialog>
</div>
</div>
</template>
<script>
export default {
data() {
return {
loading: false,
Direct_log: this.$route.query.act,
Art_id: this.$route.query.Art_id,
Rev_id: this.$route.query.Rev_id,
txt_mess: {},
fileList: [],
picList: [],
mediaUrl: this.Common.mediaUrl,
User_Id: localStorage.getItem('U_id'),
head_line: '',
questionform: {
rev_qu_id: '',
qu1: '',
qu2: '',
qu3: '',
qu4: '',
qu5: '',
qu6: '',
qu7: '',
qu8: '',
qu9: '',
qu9contents: '',
qu10: '',
qu10contents: '',
qu11: '',
qu11contents: '',
qu12: '',
qu12contents: '',
qu13: '',
qu13contents: '',
qu14: '',
qu14contents: '',
qu15: '',
qu15contents: '',
rated: '',
recommend: '',
other: '',
confident: '',
comment: '',
is_anonymous: ''
},
journal_id: null, // 期刊的id
rules: {},
conmentList: [],
questionVisible: false
};
},
created() {
if (this.Direct_log == null) {
this.getData();
} else {
this.$api
.post('api/Chief/autoLoginForChief', {
code: this.Direct_log
})
.then((res) => {
if (res.code == 0) {
localStorage.setItem('U_role', res.data.roles);
localStorage.setItem('U_name', res.data.user.account);
localStorage.setItem('U_id', res.data.user.user_id);
localStorage.setItem('U_relname', res.data.user.realname);
this.getData();
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
}
},
methods: {
getData() {
// 获取文章信息
this.$api
.post('api/Reviewer/getartrevdate', {
revid: this.Rev_id,
human: 'reviewer'
})
.then((res) => {
let date = new Date(parseInt(res.ctime) * 1000);
let Y = date.getFullYear() + '-';
let M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) + '-' : date.getMonth() + 1 + '-';
let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
res.ctime = Y + M + D;
this.txt_mess = res;
this.journal_id = res.journal_id;
console.log(this.journal_id, 'this.journal_id');
})
.catch((err) => {
this.$message.error(err);
});
this.$api
.post('api/Reviewer/getAFilelistByID ', {
revid: this.Rev_id
})
.then((res) => {
for (var i = 0; i < res.data.length; i++) {
let date = new Date(parseInt(res.data[i].ctime) * 1000);
let Y = date.getFullYear() + '-';
let M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) + '-' : date.getMonth() + 1 + '-';
let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
res.data[i].ctime = Y + M + D;
}
this.fileList = res.data;
})
.catch((err) => {
this.$message.error(err);
});
this.$api
.post('api/Reviewer/getBFilelistByID', {
revid: this.Rev_id
})
.then((res) => {
for (var i = 0; i < res.data.length; i++) {
let date = new Date(parseInt(res.data[i].ctime) * 1000);
let Y = date.getFullYear() + '-';
let M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) + '-' : date.getMonth() + 1 + '-';
let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
res.data[i].ctime = Y + M + D;
}
this.picList = res.data;
})
.catch((err) => {
this.$message.error(err);
});
// 获取问卷列表顺序
this.$api
.post('api/Reviewer/getAllReviewerObj', {
article_id: this.Art_id
})
.then((res) => {
for (var i = 0; i < res.data.reviews.length; i++) {
let date = new Date(parseInt(res.data.reviews[i].ctime) * 1000);
let Y = date.getFullYear() + '-';
let M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) + '-' : date.getMonth() + 1 + '-';
let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
res.data.reviews[i].ctime = Y + M + D;
}
this.conmentList = res.data.reviews;
})
.catch((err) => {
this.$message.error(err);
});
},
//初始化问卷
ques_visible(e) {
this.questionVisible = true;
this.questionform.rev_qu_id = e.rev_qu_id;
this.questionform.qu1 = e.qu1;
this.questionform.qu2 = e.qu2;
this.questionform.qu3 = e.qu3;
this.questionform.qu4 = e.qu4;
this.questionform.qu5 = e.qu5;
this.questionform.qu6 = e.qu6;
this.questionform.qu7 = e.qu7;
this.questionform.qu8 = e.qu8;
this.questionform.qu9 = e.qu9 == 0 ? false : true;
this.questionform.qu9contents = e.qu9_contents;
this.questionform.qu10 = e.qu10 == 0 ? false : true;
this.questionform.qu10contents = e.qu10_contents;
this.questionform.qu11 = e.qu11 == 0 ? false : true;
this.questionform.qu11contents = e.qu11_contents;
this.questionform.qu12 = e.qu12 == 0 ? false : true;
this.questionform.qu12contents = e.qu12_contents;
this.questionform.qu13 = e.qu13 == 0 ? false : true;
this.questionform.qu13contents = e.qu13_contents;
this.questionform.qu14 = e.qu14 == 0 ? false : true;
this.questionform.qu14contents = e.qu14_contents;
this.questionform.qu15 = e.qu15 == 0 ? false : true;
this.questionform.qu15contents = e.qu15_contents;
this.questionform.rated = e.rated;
this.questionform.recommend = e.recommend;
this.questionform.other = e.other;
this.questionform.confident = e.confidential;
this.questionform.comment = e.comments;
this.questionform.is_anonymous = e.is_anonymous;
}
},
mounted() {}
};
</script>
<style scoped>
.tet_list {
font-size: 20px;
}
.box-card {
margin-bottom: 20px;
line-height: 24px;
}
.upload-txtc .el-upload-list__item .el-icon-upload-success {
display: none !important;
}
.tet_list h5 {
font-size: 15px;
margin: 20px 0 5px 0;
font-weight: normal;
display: inline-block;
}
.tet_list p {
font-family: Calibri;
line-height: 22px;
font-size: 16px;
}
.file_sty {
margin-bottom: 6px;
}
.file_sty a {
color: #606266;
font-size: 14px;
}
.file_sty a:hover {
text-decoration: underline;
}
.red {
color: #ff0000;
}
.el-collapse {
border-top: 0;
border-bottom: 0;
}
.top_dao:hover {
text-decoration: underline;
cursor: pointer;
}
.icon_img {
width: 15px;
height: 15px;
margin-right: 10px;
vertical-align: middle;
}
.trah_c .icon_img {
width: 24px;
height: 24px;
margin: 0 20px;
}
.el-divider {
background-color: #006699;
}
.conment_list {
display: inline-block;
text-align: left;
width: 32%;
height: 270px;
margin: 0 0.5% 1%;
}
</style>