tijiao
This commit is contained in:
@@ -496,6 +496,7 @@ const en = {
|
||||
state18: 'Review Time',
|
||||
state19: 'Reference Evaluation',
|
||||
state20: 'Clinical registration number and informed consent assessment',
|
||||
state22: 'Other Journal Scope Assessment',
|
||||
state191: 'Proportion of references from the past three years',
|
||||
|
||||
state192: 'Proportion of references from the past five years',
|
||||
|
||||
@@ -487,6 +487,7 @@ const zh = {
|
||||
state18: '审核时间',
|
||||
state19: '参考文献评估',
|
||||
state20: '临床注册号和知情同意书评估',
|
||||
state22: '其他期刊范围评估',
|
||||
state191: '近三年参考文献的比例',
|
||||
state192: '近五年参考文献的比例',
|
||||
state193: '参考文献JCR1区比例',
|
||||
|
||||
@@ -12,12 +12,12 @@
|
||||
<el-row :gutter="30">
|
||||
<el-col :span="16">
|
||||
<div class="art_state_">
|
||||
<div style="position: relative" v-if="currentArticleData.ai_review==''">
|
||||
<div style="position: relative" v-if="currentArticleData.ai_review == ''">
|
||||
<img
|
||||
src="@/assets/img/ai.png"
|
||||
class="beautiful-gradient"
|
||||
style="
|
||||
opacity: 0.5;
|
||||
opacity: 0.5;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
margin-right: 4px;
|
||||
@@ -163,18 +163,24 @@
|
||||
</p>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
<el-collapse v-model="AIcontent" class="auth_colla auth_collna_ew" style="margin-top: -15px" v-if="form.is_use_ai==1">
|
||||
<el-collapse-item title="Artificial intelligence was utilized in the research or manuscript of the article" name="1">
|
||||
|
||||
<el-collapse
|
||||
v-model="AIcontent"
|
||||
class="auth_colla auth_collna_ew"
|
||||
style="margin-top: -15px"
|
||||
v-if="form.is_use_ai == 1"
|
||||
>
|
||||
<el-collapse-item
|
||||
title="Artificial intelligence was utilized in the research or manuscript of the article"
|
||||
name="1"
|
||||
>
|
||||
{{ form.use_ai_explain }}
|
||||
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
<el-collapse class="auth_colla auth_collna_ew" style="margin-top: -15px" v-if="form.is_use_ai==2">
|
||||
<el-collapse-item title="No artificial intelligence was utilized in the research or manuscript writing process of this article" name="1">
|
||||
|
||||
|
||||
|
||||
<el-collapse class="auth_colla auth_collna_ew" style="margin-top: -15px" v-if="form.is_use_ai == 2">
|
||||
<el-collapse-item
|
||||
title="No artificial intelligence was utilized in the research or manuscript writing process of this article"
|
||||
name="1"
|
||||
>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
<el-collapse v-model="researchAreas" class="auth_colla auth_collna_ew research_area" style="margin-top: -15px">
|
||||
@@ -329,16 +335,11 @@
|
||||
|
||||
<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
|
||||
class="fixCard reviewer_decision"
|
||||
style="position: relative"
|
||||
>
|
||||
|
||||
<div v-if="reviewList.length > 0">
|
||||
<!-- 初审 -->
|
||||
<div class="art_author_">
|
||||
<h2>Reviewer Decision</h2>
|
||||
<div class="fixCard reviewer_decision" style="position: relative">
|
||||
<div class="overflow-x-auto">
|
||||
<!-- 上面的表格代码放在这里 -->
|
||||
|
||||
@@ -357,9 +358,9 @@
|
||||
<tbody>
|
||||
<!-- 遍历每个评审者 -->
|
||||
<tr v-for="(iken, reviewerIndex) in reviewList">
|
||||
<td>Reviewer {{ reviewerIndex + 1 }}</td>
|
||||
<td style="position: relative;cursor: pointer;">Reviewer {{ reviewerIndex + 1 }} <span style="color:#006699;position: absolute;right: 10px;top: 10px;" @click="handleClick(iken)" >Detail</span></td>
|
||||
<!-- 1st review:原逻辑不变 -->
|
||||
<td @click="handleClick(iken)" style="cursor: pointer;">
|
||||
<td @click="handleClick(iken)" style="cursor: pointer">
|
||||
<span style="display: inline-block; margin-left: 4px; margin-right: 8px">
|
||||
<font
|
||||
v-if="iken.state == 0"
|
||||
@@ -396,12 +397,18 @@
|
||||
</font>
|
||||
</span>
|
||||
<span>{{ mystate(iken.state) }}</span>
|
||||
|
||||
|
||||
</td>
|
||||
<!-- 关键:按最大重复次数遍历,而非仅遍历当前iken.repeat -->
|
||||
<template v-for="(_1, index1) in maxRepeatReviewCount()">
|
||||
<td >
|
||||
<td>
|
||||
<!-- 补全逻辑:判断当前评审者的repeat中是否有第index1条数据 -->
|
||||
<span v-if="Array.isArray(iken.repeat) && iken.repeat[index1]" style="cursor: pointer;" @click="handleClick(iken)">
|
||||
<span
|
||||
v-if="Array.isArray(iken.repeat) && iken.repeat[index1]"
|
||||
style="cursor: pointer"
|
||||
@click="handleClick(iken)"
|
||||
>
|
||||
<span style="display: inline-block; margin-left: 4px; margin-right: 8px">
|
||||
<font
|
||||
v-if="iken.repeat[index1].recommend == 1"
|
||||
@@ -442,7 +449,7 @@
|
||||
<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>
|
||||
</span>
|
||||
<span v-else>
|
||||
<!-- 无数据:补全空内容(可自定义为“-”“无”等) -->
|
||||
-
|
||||
@@ -453,19 +460,21 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="finalList.length>0">
|
||||
<div v-if="finalList.length > 0">
|
||||
<!-- 终审 -->
|
||||
|
||||
|
||||
<div class="art_author_">
|
||||
<h2>
|
||||
Final Decision
|
||||
</h2>
|
||||
<el-collapse v-model="activeFinalComment" style="background-color: #fff;">
|
||||
<h2>Final Decision</h2>
|
||||
|
||||
<div>
|
||||
<common-editor-article-detail style="margin-top: 20px;" v-for="(item, index) in finalList" :detailDate="{reviewer:item.realname,article_final:item,ctime:formatDate_(item.update_time)}"></common-editor-article-detail>
|
||||
</div>
|
||||
|
||||
<!-- <el-collapse v-model="activeFinalComment" style="background-color: #fff;">
|
||||
|
||||
<el-collapse-item v-for="(item,index) in finalList" :name="index" :key="index"
|
||||
class="art_author_list">
|
||||
<template slot="title">
|
||||
@@ -484,13 +493,10 @@
|
||||
</div>
|
||||
|
||||
</template>
|
||||
<!-- 时间轴 -->
|
||||
<el-timeline >
|
||||
|
||||
<el-timeline>
|
||||
<el-card>
|
||||
|
||||
|
||||
|
||||
<!-- 内容 -->
|
||||
|
||||
<div class="art_author_coment" style="margin-top: 0px;">
|
||||
|
||||
<p v-if="item.suggest_for_author!=''">
|
||||
@@ -509,11 +515,10 @@
|
||||
|
||||
</el-card>
|
||||
</el-timeline>
|
||||
<!-- end -->
|
||||
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</div>
|
||||
|
||||
</el-collapse> -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- 被拒稿件操作 --->
|
||||
<div class="art_caozuo_" v-if="opname == 'rejectArticles'">
|
||||
@@ -826,38 +831,51 @@
|
||||
</span>
|
||||
<div style="">
|
||||
<div style="color: #333">
|
||||
<template v-if="item.isShowSign==1">
|
||||
<template v-if="item.isShowSign == 1">
|
||||
【{{ currentArticleData.ai_review[item.value] }}】
|
||||
</template>
|
||||
<template v-else>
|
||||
{{ currentArticleData.ai_review[item.value] }}
|
||||
</template>
|
||||
|
||||
|
||||
<span v-if="item.explanationValue">
|
||||
{{ currentArticleData.ai_review[item.explanationValue] }}
|
||||
</span>
|
||||
<div v-if="item.explanationValue">
|
||||
<div >
|
||||
<p
|
||||
:class="{ 'short-content': !item.showFullContent }"
|
||||
@click="toggleContent2(i, index)"
|
||||
style="margin-top: 0; cursor: pointer;color: #888;line-height: 22px"
|
||||
>
|
||||
<span>{{ $t('aiReview.Explain') }} : </span> {{ currentArticleData.ai_review[item.explanationValue] }}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div style="color: #006699;" v-if="item.explanationValue == 'other_journal_explanation'&¤tArticleData.ai_review['other_journal_issn']">
|
||||
|
||||
ISSN : {{ currentArticleData.ai_review['other_journal_issn'] }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="color: #333" v-else>
|
||||
|
||||
<template v-if="v.isShowSign==1">
|
||||
【{{ currentArticleData.ai_review[v.value] }}】
|
||||
</template>
|
||||
<template v-else>
|
||||
{{ currentArticleData.ai_review[v.value] }}
|
||||
</template>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<template v-if="v.isShowSign == 1"> 【{{ currentArticleData.ai_review[v.value] }}】 </template>
|
||||
<template v-else>
|
||||
{{ currentArticleData.ai_review[v.value] }}
|
||||
</template>
|
||||
</div>
|
||||
|
||||
<div style="color: #888; line-height: 22px" v-if="v.explanationValue">
|
||||
<span>{{ $t('aiReview.Explain') }} : </span> {{ currentArticleData.ai_review[v.explanationValue] }}
|
||||
|
||||
<p
|
||||
:class="{ 'short-content': !v.showFullContent }"
|
||||
@click="toggleContent1(i)"
|
||||
style="margin-top: 0; cursor: pointer;color: #888;"
|
||||
>
|
||||
<span>{{ $t('aiReview.Explain') }} : </span> {{ currentArticleData.ai_review[v.explanationValue] }}
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
@@ -1011,48 +1029,137 @@ export default {
|
||||
//1
|
||||
{
|
||||
topic: this.$t('aiReview.state0'),
|
||||
value: 'journal_scope_assessment',
|
||||
explanationValue: 'journal_scope_explanation',
|
||||
isShowSign:1
|
||||
},//10
|
||||
{
|
||||
topic: this.$t('aiReview.state16'),
|
||||
value: 'submit_direction',
|
||||
explanationValue: '',isShowSign:0
|
||||
value: 'journal_scope_assessment1',
|
||||
explanationValue: '',
|
||||
isShowSign: 0,
|
||||
parameter: [
|
||||
{
|
||||
topic: this.$t('aiReview.state0'),
|
||||
value: 'journal_scope_assessment',
|
||||
explanationValue: 'journal_scope_explanation',
|
||||
isShowSign: 1
|
||||
},
|
||||
{
|
||||
topic: this.$t('aiReview.state22'),
|
||||
value: 'other_journal_assessment',
|
||||
explanationValue: 'other_journal_explanation',
|
||||
isShowSign: 1
|
||||
}
|
||||
]
|
||||
},
|
||||
//3
|
||||
{
|
||||
topic: this.$t('aiReview.state4'),
|
||||
value: 'contradiction_assessment',
|
||||
explanationValue: 'contradiction_explanation',isShowSign:1
|
||||
},
|
||||
//4
|
||||
{
|
||||
topic: this.$t('aiReview.state6'),
|
||||
value: 'unreasonable_assessment',
|
||||
explanationValue: 'unreasonable_explanation',isShowSign:1
|
||||
},
|
||||
|
||||
//6
|
||||
topic: this.$t('aiReview.state8'),
|
||||
value: 'ethics_assessment',
|
||||
explanationValue: '',
|
||||
isShowSign: 0,
|
||||
parameter: [
|
||||
{
|
||||
topic: this.$t('aiReview.state8'),
|
||||
value: 'ethics_assessment',
|
||||
explanationValue: 'ethics_explanation',
|
||||
isShowSign: 1
|
||||
},
|
||||
{
|
||||
topic: this.$t('aiReview.state20'),
|
||||
value: 'registration_assessment',
|
||||
explanationValue: '',
|
||||
isShowSign: 1
|
||||
}
|
||||
]
|
||||
},//6
|
||||
{
|
||||
topic: this.$t('aiReview.state10'),
|
||||
value: 'academic_assessment',
|
||||
explanationValue: 'academic_explanation',isShowSign:1
|
||||
},
|
||||
|
||||
//8
|
||||
explanationValue: 'academic_explanation',
|
||||
isShowSign: 1
|
||||
}, //3
|
||||
{
|
||||
topic: this.$t('aiReview.state4'),
|
||||
value: 'contradiction_assessment',
|
||||
explanationValue: 'contradiction_explanation',
|
||||
isShowSign: 1
|
||||
},
|
||||
//8
|
||||
{
|
||||
topic: this.$t('aiReview.state14'),
|
||||
value: 'fund_number',
|
||||
explanationValue: '',isShowSign:0
|
||||
explanationValue: '',
|
||||
isShowSign: 0
|
||||
},
|
||||
//2
|
||||
{
|
||||
topic: this.$t('aiReview.state2'),
|
||||
value: 'attribute_assessment',
|
||||
explanationValue: 'attribute_explanation',
|
||||
isShowSign: 1
|
||||
},
|
||||
//9
|
||||
{
|
||||
topic: this.$t('aiReview.state15'),
|
||||
value: 'hotspot',
|
||||
explanationValue: '',isShowSign:0
|
||||
explanationValue: '',
|
||||
isShowSign: 0
|
||||
},
|
||||
//12
|
||||
{
|
||||
topic: this.$t('aiReview.state19'),
|
||||
value: 'create_time',
|
||||
explanationValue: '',
|
||||
color: 'rgb(0, 112, 192)',
|
||||
isShowSign: 0,
|
||||
parameter: [
|
||||
{
|
||||
topic: this.$t('aiReview.state191'),
|
||||
value: 'references_past_three',
|
||||
explanationValue: '',
|
||||
color: 'rgb(0, 112, 192)',
|
||||
isShowSign: 0
|
||||
},
|
||||
{
|
||||
topic: this.$t('aiReview.state192'),
|
||||
value: 'references_past_five',
|
||||
explanationValue: '',
|
||||
color: 'rgb(0, 112, 192)',
|
||||
isShowSign: 0
|
||||
},
|
||||
// {
|
||||
// topic: this.$t('aiReview.state193'),
|
||||
// value: 'references_ratio_JCR1',
|
||||
// explanationValue: '',
|
||||
// color: 'rgb(0, 112, 192)',
|
||||
// isShowSign: 0
|
||||
// },
|
||||
// {
|
||||
// topic: this.$t('aiReview.state194'),
|
||||
// value: 'references_ratio_JCR2',
|
||||
// explanationValue: '',
|
||||
// color: 'rgb(0, 112, 192)',
|
||||
// isShowSign: 0
|
||||
// }
|
||||
]
|
||||
},
|
||||
// {
|
||||
// topic: this.$t('aiReview.state16'),
|
||||
// value: 'submit_direction',
|
||||
// explanationValue: '',
|
||||
// isShowSign: 0
|
||||
// },
|
||||
|
||||
//10
|
||||
|
||||
|
||||
//4
|
||||
// {
|
||||
// topic: this.$t('aiReview.state6'),
|
||||
// value: 'unreasonable_assessment',
|
||||
// explanationValue: 'unreasonable_explanation',
|
||||
// isShowSign: 1
|
||||
// },
|
||||
|
||||
|
||||
|
||||
|
||||
//9
|
||||
|
||||
//11
|
||||
// {
|
||||
// topic: this.$t('aiReview.state17'),
|
||||
@@ -1060,75 +1167,25 @@ export default {
|
||||
// explanationValue: ''
|
||||
// },
|
||||
|
||||
//2
|
||||
{
|
||||
topic: this.$t('aiReview.state2'),
|
||||
value: 'attribute_assessment',
|
||||
explanationValue: 'attribute_explanation',isShowSign:1
|
||||
},
|
||||
|
||||
//5
|
||||
{
|
||||
topic: this.$t('aiReview.state8'),
|
||||
value: 'ethics_assessment',
|
||||
explanationValue: '',isShowSign:0,
|
||||
parameter: [
|
||||
{
|
||||
topic: this.$t('aiReview.state8'),
|
||||
value: 'ethics_assessment',
|
||||
explanationValue: 'ethics_explanation',isShowSign:1
|
||||
},
|
||||
{
|
||||
topic: this.$t('aiReview.state20'),
|
||||
value: 'registration_assessment',
|
||||
explanationValue: '',isShowSign:0
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
//7
|
||||
{
|
||||
topic: this.$t('aiReview.state12'),
|
||||
value: 'conclusion_assessment',
|
||||
explanationValue: 'conclusion_explanation',isShowSign:1
|
||||
},
|
||||
// {
|
||||
// topic: this.$t('aiReview.state12'),
|
||||
// value: 'conclusion_assessment',
|
||||
// explanationValue: 'conclusion_explanation',
|
||||
// isShowSign: 1
|
||||
// },
|
||||
//12
|
||||
{
|
||||
topic: this.$t('aiReview.state19'),
|
||||
value: 'create_time',
|
||||
explanationValue: '',
|
||||
color: 'rgb(0, 112, 192)',isShowSign:0,
|
||||
parameter: [
|
||||
{
|
||||
topic: this.$t('aiReview.state191'),
|
||||
value: 'references_past_three',
|
||||
explanationValue: '',
|
||||
color: 'rgb(0, 112, 192)',isShowSign:0
|
||||
},
|
||||
{
|
||||
topic: this.$t('aiReview.state192'),
|
||||
value: 'references_past_five',
|
||||
explanationValue: '',
|
||||
color: 'rgb(0, 112, 192)',isShowSign:0
|
||||
},
|
||||
{
|
||||
topic: this.$t('aiReview.state193'),
|
||||
value: 'references_ratio_JCR1',
|
||||
explanationValue: '',
|
||||
color: 'rgb(0, 112, 192)',isShowSign:0
|
||||
},
|
||||
{
|
||||
topic: this.$t('aiReview.state194'),
|
||||
value: 'references_ratio_JCR2',
|
||||
explanationValue: '',
|
||||
color: 'rgb(0, 112, 192)',isShowSign:0
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
//13
|
||||
{
|
||||
topic: this.$t('aiReview.state21'),
|
||||
value: 'cite_rate',
|
||||
explanationValue: '',isShowSign:0
|
||||
}
|
||||
// {
|
||||
// topic: this.$t('aiReview.state21'),
|
||||
// value: 'cite_rate',
|
||||
// explanationValue: '',
|
||||
// isShowSign: 0
|
||||
// }
|
||||
|
||||
// {
|
||||
// topic: this.$t('aiReview.state18'),
|
||||
@@ -1136,12 +1193,12 @@ export default {
|
||||
// explanationValue: ''
|
||||
// }
|
||||
],
|
||||
finalList:[],
|
||||
reviewList:[],
|
||||
finalList: [],
|
||||
reviewList: []
|
||||
};
|
||||
},
|
||||
async created() {
|
||||
await this.initarticle();
|
||||
await this.initarticle();
|
||||
await this.getAi();
|
||||
this.initFileList();
|
||||
this.getWordimgList();
|
||||
@@ -1209,6 +1266,14 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
toggleContent1(i) {
|
||||
this.aiReview[i].showFullContent = !this.aiReview[i].showFullContent;
|
||||
this.$forceUpdate();
|
||||
},
|
||||
toggleContent2(i, index) {
|
||||
this.aiReview[i].parameter[index].showFullContent = !this.aiReview[i].parameter[index].showFullContent;
|
||||
this.$forceUpdate();
|
||||
},
|
||||
maxRepeatReviewCount() {
|
||||
if (!this.reviewList || !Array.isArray(this.reviewList)) return null; // 边界处理:无数据返回null
|
||||
|
||||
@@ -1225,66 +1290,60 @@ export default {
|
||||
// console.log('maxItem at line 2142:', maxItem.repeat.length)
|
||||
return maxItem && maxItem.repeat ? maxItem.repeat.length : 0;
|
||||
},
|
||||
handleClick(item){
|
||||
console.log('item at line 1228:', item)
|
||||
this.$router.push({
|
||||
path: 'articleReviewerDetail',
|
||||
query: {
|
||||
id: item.art_rev_id
|
||||
}
|
||||
});
|
||||
handleClick(item) {
|
||||
console.log('item at line 1228:', item);
|
||||
this.$router.push({
|
||||
path: 'articleReviewerDetail',
|
||||
query: {
|
||||
id: item.art_rev_id
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
goReviewerDetail(id){
|
||||
console.log('id at line 1112:', id)
|
||||
this.$router.push({
|
||||
path: 'articleReviewerDetail',
|
||||
query: {
|
||||
id: id
|
||||
}
|
||||
});
|
||||
|
||||
goReviewerDetail(id) {
|
||||
console.log('id at line 1112:', id);
|
||||
this.$router.push({
|
||||
path: 'articleReviewerDetail',
|
||||
query: {
|
||||
id: id
|
||||
}
|
||||
});
|
||||
},
|
||||
getFinalList(){
|
||||
|
||||
this.$api
|
||||
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;
|
||||
}
|
||||
.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() {
|
||||
.catch((err) => {});
|
||||
},
|
||||
|
||||
async creatAI() {
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: 'loading...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
});
|
||||
await this.$api
|
||||
await this.$api
|
||||
// api/Article/addArticle
|
||||
.post('api/Aireview/review', {
|
||||
article_id: this.editform.articleId
|
||||
})
|
||||
.then(async(res) => {
|
||||
if (res.status==1) {
|
||||
|
||||
.then(async (res) => {
|
||||
if (res.status == 1) {
|
||||
loading.close();
|
||||
|
||||
await this.getAi()
|
||||
await this.openAI();
|
||||
await this.getAi();
|
||||
await this.openAI();
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
@@ -1310,6 +1369,37 @@ getFinalList(){
|
||||
};
|
||||
if (res.data != null) {
|
||||
this.currentArticleData.ai_review = res.data;
|
||||
var aiReview = {};
|
||||
if (this.currentArticleData.ai_review.journal_scope_assessment == '否') {
|
||||
aiReview = {
|
||||
topic: this.$t('aiReview.state0'),
|
||||
value: 'journal_scope_assessment1',
|
||||
explanationValue: '',
|
||||
isShowSign: 0,
|
||||
parameter: [
|
||||
{
|
||||
topic: this.$t('aiReview.state0'),
|
||||
value: 'journal_scope_assessment',
|
||||
explanationValue: 'journal_scope_explanation',
|
||||
isShowSign: 1
|
||||
},
|
||||
{
|
||||
topic: this.$t('aiReview.state22'),
|
||||
value: 'other_journal_assessment',
|
||||
explanationValue: 'other_journal_explanation',
|
||||
isShowSign:1
|
||||
}
|
||||
]
|
||||
};
|
||||
} else {
|
||||
aiReview = {
|
||||
topic: this.$t('aiReview.state0'),
|
||||
value: 'journal_scope_assessment',
|
||||
explanationValue: 'journal_scope_explanation',
|
||||
isShowSign: 1
|
||||
};
|
||||
}
|
||||
this.aiReview[0] = aiReview;
|
||||
}
|
||||
|
||||
console.log('this.currentArticleData at line 1312:', this.currentArticleData);
|
||||
@@ -1373,7 +1463,7 @@ getFinalList(){
|
||||
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 ;
|
||||
return Y + M + D;
|
||||
},
|
||||
//弹出编辑框
|
||||
testvis() {
|
||||
@@ -1809,7 +1899,7 @@ getFinalList(){
|
||||
removefilerepezip(file, fileList) {
|
||||
this.repeform.zipurl = '';
|
||||
},
|
||||
|
||||
|
||||
formatDate_(timestamp) {
|
||||
var date = new Date(timestamp * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
|
||||
var Y = date.getFullYear() + '-';
|
||||
@@ -2043,7 +2133,8 @@ getFinalList(){
|
||||
::v-deep .AISummaryAnalysis .el-form-item--mini.el-form-item,
|
||||
.el-form-item--small.el-form-item {
|
||||
margin-bottom: 10px;
|
||||
}.beautiful-gradient1 {
|
||||
}
|
||||
.beautiful-gradient1 {
|
||||
background: linear-gradient(135deg, #f0f9fe, #dce6ff, #d7e9fd);
|
||||
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.01);
|
||||
border-radius: 10px;
|
||||
@@ -2054,111 +2145,111 @@ getFinalList(){
|
||||
transition: transform 0.3s ease, box-shadow 0.3s ease;
|
||||
border-radius: 30px;
|
||||
}
|
||||
/deep/.research_area .el-collapse-item__content{
|
||||
padding-bottom: 0 !important;
|
||||
}
|
||||
/deep/.research_area .el-collapse-item__content {
|
||||
padding-bottom: 0 !important;
|
||||
}
|
||||
|
||||
.art_author_ {
|
||||
padding: 20px 0;
|
||||
}
|
||||
.art_author_ {
|
||||
padding: 20px 0;
|
||||
}
|
||||
|
||||
.art_author_>h2 {
|
||||
font-size: 18px;
|
||||
margin: 0 0 15px 0;
|
||||
letter-spacing: -0.8px;
|
||||
}
|
||||
.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 {
|
||||
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_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 {
|
||||
margin: 10px 0 0px 10px;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
}
|
||||
.art_author_peng > a {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.art_author_peng>a {
|
||||
color: #333;
|
||||
}
|
||||
.art_author_peng > a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.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>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>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_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>div {
|
||||
margin-bottom: 30px;
|
||||
color: #006699;
|
||||
}
|
||||
.art_author_btn > p {
|
||||
float: left;
|
||||
margin: 0 0 30px 0;
|
||||
}
|
||||
|
||||
.art_author_btn>h4 {
|
||||
float: left;
|
||||
width: 180px;
|
||||
padding: 8px 20px 0 0;
|
||||
letter-spacing: -0.5px;
|
||||
text-align: right;
|
||||
}
|
||||
.el-upload__tip {
|
||||
margin-left: 6px;
|
||||
}
|
||||
|
||||
.art_author_btn>p {
|
||||
float: left;
|
||||
margin: 0 0 30px 0;
|
||||
}
|
||||
.el-collapse {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
.el-upload__tip {
|
||||
margin-left: 6px;
|
||||
}
|
||||
.art_author_coment {
|
||||
}
|
||||
|
||||
.el-collapse {
|
||||
border-bottom: 0;
|
||||
}
|
||||
.art_author_coment > p {
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
.art_author_coment {}
|
||||
.art_author_coment > p:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.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: #333;
|
||||
font-weight: bold;
|
||||
letter-spacing: -0.5px;
|
||||
}
|
||||
.review_table {
|
||||
.art_author_coment > p > font,
|
||||
.commentfs > font {
|
||||
display: block;
|
||||
margin: 15px 0 5px 0;
|
||||
color: #333;
|
||||
font-weight: bold;
|
||||
letter-spacing: -0.5px;
|
||||
}
|
||||
.review_table {
|
||||
width: 100%;
|
||||
background-color: #fff;
|
||||
/* margin-top: 10px; */
|
||||
@@ -2188,5 +2279,26 @@ td {
|
||||
}
|
||||
.overflow-x-auto {
|
||||
overflow-x: auto;
|
||||
}.short-content {
|
||||
max-height: 120px;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 3; /* 设置显示的行数 */
|
||||
-webkit-box-orient: vertical;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.show-more-btn {
|
||||
background-color: #4caf50;
|
||||
color: white;
|
||||
padding: 10px;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.show-more-btn:hover {
|
||||
background-color: #45a049;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -405,33 +405,61 @@
|
||||
<span style="cursor: pointer" slot="reference">{{ item.scoring }}</span>
|
||||
<div>
|
||||
<div class="scoringRules">
|
||||
<div style="display: flex; justify-content: space-between;font-size:16px;margin-bottom: 15px;">
|
||||
<div
|
||||
style="display: flex; justify-content: space-between; font-size: 16px; margin-bottom: 15px"
|
||||
>
|
||||
<div>
|
||||
<span>H指数: <span :style="item.h_fen&&item.h_fen>0?`color:#db890e`:''">{{ item.h_fen }}</span></span>
|
||||
<span
|
||||
>H指数:
|
||||
<span :style="item.h_fen && item.h_fen > 0 ? `color:#db890e` : ''">{{
|
||||
item.h_fen
|
||||
}}</span></span
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<span>图表: <span :style="item.b_fen&&item.b_fen>0?`color:#db890e`:''">{{ item.b_fen }}</span></span>
|
||||
<span
|
||||
>图表:
|
||||
<span :style="item.b_fen && item.b_fen > 0 ? `color:#db890e` : ''">{{
|
||||
item.b_fen
|
||||
}}</span></span
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<span>国家: <span :style="item.c_fen&&item.c_fen>0?`color:#db890e`:''">{{ item.c_fen }}</span></span>
|
||||
<span
|
||||
>国家:
|
||||
<span :style="item.c_fen && item.c_fen > 0 ? `color:#db890e` : ''">{{
|
||||
item.c_fen
|
||||
}}</span></span
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<span>单位: <span :style="item.dw_fen&&item.dw_fen>0?`color:#db890e`:''">{{ item.dw_fen }}</span></span>
|
||||
<span
|
||||
>单位:
|
||||
<span :style="item.dw_fen && item.dw_fen > 0 ? `color:#db890e` : ''">{{
|
||||
item.dw_fen
|
||||
}}</span></span
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<span>领域分: <span :style="item.ly_fen&&item.ly_fen>0?`color:#db890e`:''">{{ item.ly_fen }}</span></span>
|
||||
<span
|
||||
>领域分:
|
||||
<span :style="item.ly_fen && item.ly_fen > 0 ? `color:#db890e` : ''">{{
|
||||
item.ly_fen
|
||||
}}</span></span
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<span>基金分: <span :style="item.jj_fen&&item.jj_fen>0?`color:#db890e`:''">{{ item.jj_fen }}</span></span>
|
||||
<span
|
||||
>基金分:
|
||||
<span :style="item.jj_fen && item.jj_fen > 0 ? `color:#db890e` : ''">{{
|
||||
item.jj_fen
|
||||
}}</span></span
|
||||
>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<ul>
|
||||
<p style="font-size: 14px; font-weight: bold; margin-bottom:0px; color: #888">评分规则</p>
|
||||
<div class="scoringRulesItem" style="margin-top: 6px;">
|
||||
<p style="font-size: 14px; font-weight: bold; margin-bottom: 0px; color: #888">评分规则</p>
|
||||
<div class="scoringRulesItem" style="margin-top: 6px">
|
||||
<li><span class="scoringRulesTitle">h指数</span> 0-1=0,2-5=1,6-11=2,12-19=3,20-~=4</li>
|
||||
</div>
|
||||
<div class="scoringRulesItem">
|
||||
@@ -1821,9 +1849,30 @@
|
||||
{{ currentArticleData.ai_review[item.value] }}
|
||||
</template>
|
||||
|
||||
<span v-if="item.explanationValue">
|
||||
{{ currentArticleData.ai_review[item.explanationValue] }}
|
||||
</span>
|
||||
<div v-if="item.explanationValue">
|
||||
<div
|
||||
|
||||
>
|
||||
<p
|
||||
:class="{ 'short-content': !item.showFullContent }"
|
||||
@click="toggleContent2(i, index)"
|
||||
style="margin-top: 0; cursor: pointer; color: #888;line-height: 22px"
|
||||
>
|
||||
<span>{{ $t('aiReview.Explain') }} : </span>
|
||||
{{ currentArticleData.ai_review[item.explanationValue] }}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div
|
||||
style="color: #006699"
|
||||
v-if="
|
||||
item.explanationValue == 'other_journal_explanation' &&
|
||||
currentArticleData.ai_review['other_journal_issn']
|
||||
"
|
||||
>
|
||||
ISSN : {{ currentArticleData.ai_review['other_journal_issn'] }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1836,7 +1885,7 @@
|
||||
@click="toggleContent1(i)"
|
||||
style="margin-top: 0; cursor: pointer"
|
||||
>
|
||||
{{ currentArticleData.ai_review[v.value].repeat(20) }}
|
||||
{{ currentArticleData.ai_review[v.value] }}
|
||||
</p>
|
||||
</template>
|
||||
</div>
|
||||
@@ -1848,7 +1897,7 @@
|
||||
style="margin-top: 0; cursor: pointer"
|
||||
>
|
||||
<span>{{ $t('aiReview.Explain') }} : </span>
|
||||
{{ currentArticleData.ai_review[v.explanationValue].repeat(20) }}
|
||||
{{ currentArticleData.ai_review[v.explanationValue] }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1936,7 +1985,7 @@ export default {
|
||||
currentTabName: '',
|
||||
HIndexList: [
|
||||
{ name: 'WOS', value: 0, key: 'wos' },
|
||||
{ name: 'Scopus', value: 1, key: 'scopus' },
|
||||
{ name: 'Scopus', value: 1, key: 'scopus' }
|
||||
// { name: 'Google', value: 2, key: 'google' }
|
||||
],
|
||||
userIndexForm: {},
|
||||
@@ -2077,9 +2126,23 @@ export default {
|
||||
//1
|
||||
{
|
||||
topic: this.$t('aiReview.state0'),
|
||||
value: 'journal_scope_assessment',
|
||||
explanationValue: 'journal_scope_explanation',
|
||||
isShowSign: 1
|
||||
value: 'journal_scope_assessment1',
|
||||
explanationValue: '',
|
||||
isShowSign: 0,
|
||||
parameter: [
|
||||
{
|
||||
topic: this.$t('aiReview.state0'),
|
||||
value: 'journal_scope_assessment',
|
||||
explanationValue: 'journal_scope_explanation',
|
||||
isShowSign: 1
|
||||
},
|
||||
{
|
||||
topic: this.$t('aiReview.state22'),
|
||||
value: 'other_journal_assessment',
|
||||
explanationValue: 'other_journal_explanation',
|
||||
isShowSign: 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
topic: this.$t('aiReview.state8'),
|
||||
@@ -2097,47 +2160,22 @@ export default {
|
||||
topic: this.$t('aiReview.state20'),
|
||||
value: 'registration_assessment',
|
||||
explanationValue: '',
|
||||
isShowSign: 0
|
||||
isShowSign: 1
|
||||
}
|
||||
]
|
||||
},
|
||||
}, //6
|
||||
{
|
||||
topic: this.$t('aiReview.state16'),
|
||||
value: 'submit_direction',
|
||||
explanationValue: '',
|
||||
isShowSign: 0
|
||||
},
|
||||
{
|
||||
topic: this.$t('aiReview.state15'),
|
||||
value: 'hotspot',
|
||||
explanationValue: '',
|
||||
isShowSign: 0
|
||||
},
|
||||
//10
|
||||
|
||||
//3
|
||||
topic: this.$t('aiReview.state10'),
|
||||
value: 'academic_assessment',
|
||||
explanationValue: 'academic_explanation',
|
||||
isShowSign: 1
|
||||
}, //3
|
||||
{
|
||||
topic: this.$t('aiReview.state4'),
|
||||
value: 'contradiction_assessment',
|
||||
explanationValue: 'contradiction_explanation',
|
||||
isShowSign: 1
|
||||
},
|
||||
//4
|
||||
{
|
||||
topic: this.$t('aiReview.state6'),
|
||||
value: 'unreasonable_assessment',
|
||||
explanationValue: 'unreasonable_explanation',
|
||||
isShowSign: 1
|
||||
},
|
||||
|
||||
//6
|
||||
{
|
||||
topic: this.$t('aiReview.state10'),
|
||||
value: 'academic_assessment',
|
||||
explanationValue: 'academic_explanation',
|
||||
isShowSign: 1
|
||||
},
|
||||
|
||||
//8
|
||||
{
|
||||
topic: this.$t('aiReview.state14'),
|
||||
@@ -2145,15 +2183,6 @@ export default {
|
||||
explanationValue: '',
|
||||
isShowSign: 0
|
||||
},
|
||||
//9
|
||||
|
||||
//11
|
||||
// {
|
||||
// topic: this.$t('aiReview.state17'),
|
||||
// value: 'overall_evaluation',
|
||||
// explanationValue: ''
|
||||
// },
|
||||
|
||||
//2
|
||||
{
|
||||
topic: this.$t('aiReview.state2'),
|
||||
@@ -2161,14 +2190,11 @@ export default {
|
||||
explanationValue: 'attribute_explanation',
|
||||
isShowSign: 1
|
||||
},
|
||||
//5
|
||||
|
||||
//7
|
||||
{
|
||||
topic: this.$t('aiReview.state12'),
|
||||
value: 'conclusion_assessment',
|
||||
explanationValue: 'conclusion_explanation',
|
||||
isShowSign: 1
|
||||
topic: this.$t('aiReview.state15'),
|
||||
value: 'hotspot',
|
||||
explanationValue: '',
|
||||
isShowSign: 0
|
||||
},
|
||||
//12
|
||||
{
|
||||
@@ -2191,30 +2217,67 @@ export default {
|
||||
explanationValue: '',
|
||||
color: 'rgb(0, 112, 192)',
|
||||
isShowSign: 0
|
||||
},
|
||||
{
|
||||
topic: this.$t('aiReview.state193'),
|
||||
value: 'references_ratio_JCR1',
|
||||
explanationValue: '',
|
||||
color: 'rgb(0, 112, 192)',
|
||||
isShowSign: 0
|
||||
},
|
||||
{
|
||||
topic: this.$t('aiReview.state194'),
|
||||
value: 'references_ratio_JCR2',
|
||||
explanationValue: '',
|
||||
color: 'rgb(0, 112, 192)',
|
||||
isShowSign: 0
|
||||
}
|
||||
// {
|
||||
// topic: this.$t('aiReview.state193'),
|
||||
// value: 'references_ratio_JCR1',
|
||||
// explanationValue: '',
|
||||
// color: 'rgb(0, 112, 192)',
|
||||
// isShowSign: 0
|
||||
// },
|
||||
// {
|
||||
// topic: this.$t('aiReview.state194'),
|
||||
// value: 'references_ratio_JCR2',
|
||||
// explanationValue: '',
|
||||
// color: 'rgb(0, 112, 192)',
|
||||
// isShowSign: 0
|
||||
// }
|
||||
]
|
||||
},
|
||||
//13
|
||||
{
|
||||
topic: this.$t('aiReview.state21'),
|
||||
value: 'cite_rate',
|
||||
explanationValue: '',
|
||||
isShowSign: 0
|
||||
}
|
||||
// {
|
||||
// topic: this.$t('aiReview.state16'),
|
||||
// value: 'submit_direction',
|
||||
// explanationValue: '',
|
||||
// isShowSign: 0
|
||||
// },
|
||||
|
||||
//10
|
||||
|
||||
//4
|
||||
// {
|
||||
// topic: this.$t('aiReview.state6'),
|
||||
// value: 'unreasonable_assessment',
|
||||
// explanationValue: 'unreasonable_explanation',
|
||||
// isShowSign: 1
|
||||
// },
|
||||
|
||||
//9
|
||||
|
||||
//11
|
||||
// {
|
||||
// topic: this.$t('aiReview.state17'),
|
||||
// value: 'overall_evaluation',
|
||||
// explanationValue: ''
|
||||
// },
|
||||
|
||||
//5
|
||||
|
||||
//7
|
||||
// {
|
||||
// topic: this.$t('aiReview.state12'),
|
||||
// value: 'conclusion_assessment',
|
||||
// explanationValue: 'conclusion_explanation',
|
||||
// isShowSign: 1
|
||||
// },
|
||||
//12
|
||||
|
||||
//13
|
||||
// {
|
||||
// topic: this.$t('aiReview.state21'),
|
||||
// value: 'cite_rate',
|
||||
// explanationValue: '',
|
||||
// isShowSign: 0
|
||||
// }
|
||||
|
||||
// {
|
||||
// topic: this.$t('aiReview.state18'),
|
||||
@@ -2321,6 +2384,10 @@ export default {
|
||||
this.aiReview[i].showFullContent = !this.aiReview[i].showFullContent;
|
||||
this.$forceUpdate();
|
||||
},
|
||||
toggleContent2(i, index) {
|
||||
this.aiReview[i].parameter[index].showFullContent = !this.aiReview[i].parameter[index].showFullContent;
|
||||
this.$forceUpdate();
|
||||
},
|
||||
saveMajor() {
|
||||
this.$api
|
||||
.post('api/Article/updateArticleField', {
|
||||
@@ -2399,6 +2466,38 @@ export default {
|
||||
})
|
||||
.then((res) => {
|
||||
this.currentArticleData = { ...data, ai_review: res.data };
|
||||
var aiReview = {};
|
||||
if (this.currentArticleData.ai_review.journal_scope_assessment == '否') {
|
||||
aiReview = {
|
||||
topic: this.$t('aiReview.state0'),
|
||||
value: 'journal_scope_assessment1',
|
||||
explanationValue: '',
|
||||
isShowSign: 0,
|
||||
parameter: [
|
||||
{
|
||||
topic: this.$t('aiReview.state0'),
|
||||
value: 'journal_scope_assessment',
|
||||
explanationValue: 'journal_scope_explanation',
|
||||
isShowSign: 1
|
||||
},
|
||||
{
|
||||
topic: this.$t('aiReview.state22'),
|
||||
value: 'other_journal_assessment',
|
||||
explanationValue: 'other_journal_explanation',
|
||||
isShowSign: 1
|
||||
}
|
||||
]
|
||||
};
|
||||
} else {
|
||||
aiReview = {
|
||||
topic: this.$t('aiReview.state0'),
|
||||
value: 'journal_scope_assessment',
|
||||
explanationValue: 'journal_scope_explanation',
|
||||
isShowSign: 1
|
||||
};
|
||||
}
|
||||
this.aiReview[0] = aiReview;
|
||||
console.log('this.currentArticleData at line 2401:', this.currentArticleData);
|
||||
})
|
||||
.catch((err) => {
|
||||
loading.close();
|
||||
@@ -4060,9 +4159,9 @@ export default {
|
||||
border-radius: 30px;
|
||||
}
|
||||
.short-content {
|
||||
max-height: 80px;
|
||||
max-height: 120px;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 2; /* 设置显示的行数 */
|
||||
-webkit-line-clamp: 3; /* 设置显示的行数 */
|
||||
-webkit-box-orient: vertical;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
|
||||
419
src/components/page/components/EditorArticle/detail.vue
Normal file
419
src/components/page/components/EditorArticle/detail.vue
Normal file
@@ -0,0 +1,419 @@
|
||||
<template>
|
||||
|
||||
|
||||
<div class="container" style="min-width: auto;padding:20px 20px 0;">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="24">
|
||||
<div class="form-box" style="width: 100%">
|
||||
<el-form ref="articleform" :model="detailDate" label-width="160px">
|
||||
<!-- <el-form-item label="Article : ">
|
||||
<span>{{ detailDate.article }}</span>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="Final Decision : ">
|
||||
<span>{{ detailDate.reviewer }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="Final Decision Time : ">
|
||||
<span>{{ detailDate.ctime }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="Feedback : ">
|
||||
<span v-if="detailDate.article_final">{{ mystate(detailDate.article_final.state) }}</span>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="" v-if="detailDate.article_final">
|
||||
<common-editor-article
|
||||
showType="detail"
|
||||
type="questionform"
|
||||
ref="commonEditor"
|
||||
pagetype="Editor"
|
||||
:form="detailDate.article_final"
|
||||
:txt_mess="txt_mess"
|
||||
:btn_submit="1"
|
||||
:articleId="articleId"
|
||||
:journal_id="journal_id"
|
||||
></common-editor-article>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
</el-form>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
dateId: {
|
||||
type: Number,
|
||||
default: 0
|
||||
},
|
||||
detailDate: {
|
||||
type: Object,
|
||||
default: 0
|
||||
}
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
editVisible1: false,
|
||||
FdialogFormVisible: false,
|
||||
FdialogFormVisible: false,
|
||||
dialogFormVisible1: false,
|
||||
recordList: [],
|
||||
journal_id: null,
|
||||
baseUrl: this.Common.baseUrl,
|
||||
mediaUrl: this.Common.mediaUrl,
|
||||
articleId: null,
|
||||
|
||||
username: localStorage.getItem('U_name'),
|
||||
articlefileList: [],
|
||||
articlezipList: [],
|
||||
dialogFormVisible: false,
|
||||
activeNames: ['1', '2', '3', '4', '5', '6', '7'],
|
||||
// detailDate: {
|
||||
// editor: localStorage.getItem('U_name'),
|
||||
// artrevid: '',
|
||||
// article: '',
|
||||
// reviewer: '',
|
||||
// articlefile: '',
|
||||
// articlezip: '',
|
||||
// ctime: '',
|
||||
// state: '',
|
||||
// article_final: {}
|
||||
// },
|
||||
txt_mess: {},
|
||||
questionform: {
|
||||
rev_qu_id: '',
|
||||
art_rev_id: this.$route.query.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: ''
|
||||
},
|
||||
canRepeat: null,
|
||||
undeQuestion: {},
|
||||
ReReviewQuestion: {}
|
||||
};
|
||||
},
|
||||
created: function () {
|
||||
// this.dateId = this.$route.query.id
|
||||
// this.init()
|
||||
// this.getHistoryList();
|
||||
},
|
||||
computed: {},
|
||||
methods: {
|
||||
init() {
|
||||
this.getDate();
|
||||
},
|
||||
// 显示复审对话框
|
||||
showSecondReview(item) {
|
||||
this.FdialogFormVisible = true;
|
||||
this.ReReviewQuestion = item;
|
||||
},
|
||||
// 显示初审对话框
|
||||
showUnderReview(item) {
|
||||
this.dialogFormVisible1 = true;
|
||||
this.undeQuestion = { ...item };
|
||||
this.undeQuestion.qu9 = item.qu9 == 0 ? false : true;
|
||||
this.undeQuestion.qu9contents = item.qu9_contents;
|
||||
this.undeQuestion.qu10 = item.qu10 == 0 ? false : true;
|
||||
this.undeQuestion.qu10contents = item.qu10_contents;
|
||||
this.undeQuestion.qu11 = item.qu11 == 0 ? false : true;
|
||||
this.undeQuestion.qu11contents = item.qu11_contents;
|
||||
this.undeQuestion.qu12 = item.qu12 == 0 ? false : true;
|
||||
this.undeQuestion.qu12contents = item.qu12_contents;
|
||||
this.undeQuestion.qu13 = item.qu13 == 0 ? false : true;
|
||||
this.undeQuestion.qu13contents = item.qu13_contents;
|
||||
this.undeQuestion.qu14 = item.qu14 == 0 ? false : true;
|
||||
this.undeQuestion.qu14contents = item.qu14_contents;
|
||||
this.undeQuestion.qu15 = item.qu15 == 0 ? false : true;
|
||||
this.undeQuestion.qu15contents = item.qu15_contents;
|
||||
this.undeQuestion.confident = item.confidential;
|
||||
this.undeQuestion.comment = item.comments;
|
||||
},
|
||||
// 关闭初审对话框
|
||||
closeUnderDia() {
|
||||
this.dialogFormVisible1 = false;
|
||||
this.undeQuestion = {};
|
||||
},
|
||||
closeSecDia() {
|
||||
this.FdialogFormVisible = false;
|
||||
this.ReReviewQuestion = {};
|
||||
},
|
||||
// 获取历史审稿列表
|
||||
getHistoryList() {
|
||||
this.loading = true;
|
||||
this.$api
|
||||
.post('api/Reviewer/getReviewerRepeatDetail', {
|
||||
art_rev_id: this.$route.query.id
|
||||
})
|
||||
.then((res) => {
|
||||
this.loading = false;
|
||||
if (res.code == 0) {
|
||||
if (res.data.art_rev_info.question && res.data.art_rev_info.question[0] != null) {
|
||||
this.recordList = res.data.art_rev_info.question.reverse();
|
||||
}
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
this.loading = false;
|
||||
console.log(err);
|
||||
});
|
||||
},
|
||||
|
||||
upload_file(type) {
|
||||
return this.baseUrl + 'api/reviewer/up_file/type/' + type;
|
||||
},
|
||||
onSubmit() {
|
||||
if (this.detailDate.articlefile == '') {
|
||||
this.$message.error('you must upload article file');
|
||||
console.log('file up error');
|
||||
return false;
|
||||
}
|
||||
this.$api
|
||||
.post('api/Reviewer/articleReviewerUpSubmit/type/editor', this.detailDate)
|
||||
.then((res) => {
|
||||
if (res.code == 0) {
|
||||
this.$message.success('success');
|
||||
this.$router.go(0);
|
||||
} else {
|
||||
this.$message.error('Failed to submit, please contact administrator!');
|
||||
console.log(res.msg);
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
},
|
||||
//初始化详情信息
|
||||
getDate() {
|
||||
this.$nextTick(() => {
|
||||
this.$refs.commonEditor.getData();
|
||||
|
||||
|
||||
});
|
||||
|
||||
this.$forceUpdate();
|
||||
// const loading = this.$loading({
|
||||
// lock: true,
|
||||
// text: 'Loading',
|
||||
// spinner: 'el-icon-loading',
|
||||
// background: 'rgba(0, 0, 0, 0.7)',
|
||||
// zIndex: 9999 // 设置一个足够高的层级
|
||||
// });
|
||||
// this.$api
|
||||
// .post('api/Finalreview/view', {
|
||||
// record_id: this.dateId
|
||||
// // reviewer_id: this.$route.query.reviewer_id
|
||||
// })
|
||||
// .then((res) => {loading.close();
|
||||
// this.detailDate.artrevid = res.art_rev_id;
|
||||
// this.detailDate.article = res.data.article.title;
|
||||
// this.detailDate.reviewer = res.data.article_final.realname;
|
||||
// this.detailDate.ctime = res.data.article_final.update_time;
|
||||
// this.detailDate.article_final = res.data.article_final;
|
||||
// this.detailDate.state = res.state;
|
||||
|
||||
// this.txt_mess = res;
|
||||
// this.canRepeat = res.can_repeat;
|
||||
// this.journal_id = res.journal_id;
|
||||
// this.articleId = res.data.article.article_id;
|
||||
// this.editVisible1 = true;
|
||||
|
||||
|
||||
// })
|
||||
// .catch((err) => {
|
||||
// console.log(err);
|
||||
// });
|
||||
},
|
||||
//初始化filelist
|
||||
initFileList() {
|
||||
this.$api
|
||||
.post('api/Reviewer/getFilelistByID', {
|
||||
revid: this.dateId
|
||||
})
|
||||
.then((res) => {
|
||||
this.articlefileList = res.hasOwnProperty('articlefile') ? res.articlefile : [];
|
||||
this.articlezipList = res.hasOwnProperty('articlezip') ? res.articlezip : [];
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
},
|
||||
//初始化问卷
|
||||
initquesion() {
|
||||
this.$api
|
||||
.post('api/Reviewer/getQuestion', {
|
||||
artrevid: this.dateId
|
||||
})
|
||||
.then((res) => {
|
||||
if (res.code == 0) {
|
||||
this.questionform = res.data;
|
||||
this.questionform.rev_qu_id = res.data.rev_qu_id;
|
||||
this.questionform.qu1 = res.data.qu1;
|
||||
this.questionform.qu2 = res.data.qu2;
|
||||
this.questionform.qu3 = res.data.qu3;
|
||||
this.questionform.qu4 = res.data.qu4;
|
||||
this.questionform.qu5 = res.data.qu5;
|
||||
this.questionform.qu6 = res.data.qu6;
|
||||
this.questionform.qu7 = res.data.qu7;
|
||||
this.questionform.qu8 = res.data.qu8;
|
||||
this.questionform.qu9 = res.data.qu9 == 0 ? false : true;
|
||||
this.questionform.qu9contents = res.data.qu9_contents;
|
||||
this.questionform.qu10 = res.data.qu10 == 0 ? false : true;
|
||||
this.questionform.qu10contents = res.data.qu10_contents;
|
||||
this.questionform.qu11 = res.data.qu11 == 0 ? false : true;
|
||||
this.questionform.qu11contents = res.data.qu11_contents;
|
||||
this.questionform.qu12 = res.data.qu12 == 0 ? false : true;
|
||||
this.questionform.qu12contents = res.data.qu12_contents;
|
||||
this.questionform.qu13 = res.data.qu13 == 0 ? false : true;
|
||||
this.questionform.qu13contents = res.data.qu13_contents;
|
||||
this.questionform.qu14 = res.data.qu14 == 0 ? false : true;
|
||||
this.questionform.qu14contents = res.data.qu14_contents;
|
||||
this.questionform.qu15 = res.data.qu15 == 0 ? false : true;
|
||||
this.questionform.qu15contents = res.data.qu15_contents;
|
||||
this.questionform.rated = res.data.rated;
|
||||
this.questionform.recommend = res.data.recommend;
|
||||
this.questionform.other = res.data.other;
|
||||
this.questionform.confident = res.data.confidential;
|
||||
this.questionform.comment = res.data.comments;
|
||||
this.questionform.is_anonymous = res.data.is_anonymous;
|
||||
this.questionform.type = res.data.type;
|
||||
this.questionform.score = res.data.score;
|
||||
}
|
||||
});
|
||||
},
|
||||
//检验上传文件的格式
|
||||
beforeupload_file(file) {
|
||||
// const isWORd =
|
||||
// file.type === 'application/msword' ||
|
||||
// file.type === 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
|
||||
// if (!isWORd) {
|
||||
// this.$message.error('Only word files can be uploaded(.doc,.docx)');
|
||||
// }
|
||||
// return isWORd;
|
||||
},
|
||||
beforeupload_articlezip(file) {
|
||||
// const iszip = file.type === 'application/x-zip-compressed' || file.name.split('.')[1] === 'rar';
|
||||
// if (!iszip) {
|
||||
// this.$message.error('Only compressed files can be uploaded(.rar,.zip)');
|
||||
// }
|
||||
// return iszip;
|
||||
},
|
||||
getlinkurl(row) {
|
||||
return this.mediaUrl + row.file_url;
|
||||
},
|
||||
filedateformate(row, column, cellValue, index) {
|
||||
return this.formatDate(cellValue);
|
||||
},
|
||||
uperr_file(err) {
|
||||
this.$message.error('上传失败');
|
||||
},
|
||||
beforeupload() {},
|
||||
upSuccess_file(res, file) {
|
||||
if (res.code == 0) {
|
||||
this.detailDate.articlefile = 'articlefile/' + res.upurl;
|
||||
} else {
|
||||
this.$message.error('服务器上传错误:' + res.msg);
|
||||
}
|
||||
},
|
||||
upSuccess_articlezip(res, file) {
|
||||
if (res.code == 0) {
|
||||
this.detailDate.articlezip = 'articlezip/' + res.upurl;
|
||||
} else {
|
||||
this.$message.error('服务器上传错误:' + res.msg);
|
||||
}
|
||||
},
|
||||
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 + ' ' + h + ':' + m + ':' + s;
|
||||
},
|
||||
//超出传送文件个数限制
|
||||
alertlimit() {
|
||||
this.$message.error('超过最大上传文件个数');
|
||||
},
|
||||
//清除文件时的事件
|
||||
removefilearticlefile(file, fileList) {
|
||||
this.detailDate.articlefile = '';
|
||||
},
|
||||
removefilearticlezip(file, fileList) {
|
||||
this.detailDate.articlezip = '';
|
||||
},
|
||||
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;
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.fsheader {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
.dwnbtn {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.container {
|
||||
min-width: 1000px;
|
||||
}
|
||||
|
||||
.tree_box {
|
||||
padding: 15px 10px;
|
||||
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
::v-deep .el-dialog__body {
|
||||
padding: 10px 20px 20px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -8,7 +8,7 @@
|
||||
<!-- 1接收2拒绝3退修4拒绝邀请 -->
|
||||
|
||||
|
||||
<el-radio-group v-model="questionform.state" style="line-height: 30px">
|
||||
<el-radio-group v-model="questionform.state" style="line-height: 30px" v-if="showType!='detail'">
|
||||
<el-radio :label="1" :disabled="!isEdit && questionform.state != 1 && questionform.state != 0">Accept</el-radio>
|
||||
|
||||
<br />
|
||||
@@ -16,6 +16,11 @@
|
||||
<br />
|
||||
<el-radio :label="2" :disabled="!isEdit && questionform.state != 2 && questionform.state != 0">Reject</el-radio>
|
||||
</el-radio-group>
|
||||
<span v-else style="font-size: 16px;font-weight: bold">
|
||||
<span v-if="questionform.state==1" style="color: #67c23a;">Accept</span>
|
||||
<span v-else-if="questionform.state==2" style="color: #ff4949;">Reject</span>
|
||||
<span v-else-if="questionform.state==3" style="color: #ffc500;">Revision</span>
|
||||
</span>
|
||||
</el-form-item>
|
||||
<template>
|
||||
|
||||
@@ -47,7 +52,7 @@
|
||||
</el-form-item>
|
||||
|
||||
|
||||
<el-form-item label="Please choose disclose your name or remain anonymous" v-if="isEdit">
|
||||
<!-- <el-form-item label="Please choose disclose your name or remain anonymous" v-if="isEdit">
|
||||
<el-radio-group v-model="questionform.is_anonymous" style="line-height: 30px">
|
||||
<el-radio :label="2" :disabled="!isEdit && questionform.is_anonymous != 2">Disclose name</el-radio>
|
||||
<br />
|
||||
@@ -61,7 +66,7 @@
|
||||
<br />
|
||||
<el-radio :label="1" :disabled="!isEdit && questionform.is_anonymous != 1">Remain anonymous</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<!-- 暂时注销 -->
|
||||
<!-- -->
|
||||
<el-form-item>
|
||||
@@ -87,6 +92,10 @@ export default {
|
||||
// default: false
|
||||
// },
|
||||
|
||||
showType: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
type: {
|
||||
type: String,
|
||||
default: 'questionform'
|
||||
@@ -211,6 +220,7 @@ export default {
|
||||
|
||||
// 提交接口
|
||||
// this.loading = true;
|
||||
this.$message.warning('Please note that your name and decision may be publicly disclosed after finalization.');
|
||||
|
||||
this.$refs.question.validate((valid) => {
|
||||
if (valid) {
|
||||
|
||||
@@ -142,6 +142,8 @@ import commonReviewArticle from '@/components/page/components/reviewArticle/inde
|
||||
Vue.component('common-review-article', commonReviewArticle);
|
||||
import commonEditorArticle from '@/components/page/components/EditorArticle/index.vue'
|
||||
Vue.component('common-editor-article', commonEditorArticle);
|
||||
import commonEditorArticleDetail from '@/components/page/components/EditorArticle/detail.vue'
|
||||
Vue.component('common-editor-article-detail', commonEditorArticleDetail);
|
||||
import commonLateX from '@/components/page/components/table/LateX.vue'
|
||||
Vue.component('common-late-x', commonLateX);
|
||||
import commonMajor from '@/components/page/components/major/index.vue'
|
||||
|
||||
Reference in New Issue
Block a user