提交审稿人表单

This commit is contained in:
2025-06-25 17:00:00 +08:00
parent d1010a2896
commit ccf62b4bc9
12 changed files with 508 additions and 243 deletions

View File

@@ -15,7 +15,7 @@
{{ $t('JournalCitationAnalysis.info') }} : {{ $t('JournalCitationAnalysis.wos') }} /
{{ $t('JournalCitationAnalysis.all') }}
</div>
<el-table :data="dataList" border class="msg-table" empty-text="New Data (0)">
<el-table :data="dataList" border class="msg-table" empty-text="New Data (0)" size="mini">
<el-table-column type="index" label="No." width="55" align="center"></el-table-column>
<!-- <el-table-column type="index" label="Issn" width="100" align="center">
<template slot-scope="scope">
@@ -36,13 +36,16 @@
>
<template slot-scope="scope">
{{ scope.row.cite.month_num }}
<span
<el-button
size="mini"
type="primary"
plain
icon="el-icon-edit"
@click="openDrawer(scope.row, 'currentMonth')"
style="margin-left: 10px; cursor: pointer; color: #006699 !important; font-weight: bold"
style="margin-left: 10px; padding: 4px; float: right"
> {{ $t('JournalCitationAnalysis.edit') }}</el-button
>
<i class="el-icon-edit"></i> {{ $t('JournalCitationAnalysis.edit') }}
</span>
<!-- <el-button type="primary" size="mini" @click="openDrawer(scope.row)" style="">
</el-button> -->
@@ -68,13 +71,16 @@
>
<template slot-scope="scope">
{{ scope.row.cite.p_month_num }}
<span
<el-button
size="mini"
type="primary"
plain
icon="el-icon-edit"
@click="openDrawer(scope.row, 'lastMonth')"
style="margin-left: 10px; cursor: pointer; color: #006699 !important; font-weight: bold"
style="margin-left: 10px; padding: 4px; float: right"
> {{ $t('JournalCitationAnalysis.edit') }}</el-button
>
<i class="el-icon-edit"></i> {{ $t('JournalCitationAnalysis.edit') }}
</span>
<!-- <el-button type="primary" size="mini" @click="openDrawer(scope.row)" style="">
</el-button> -->
@@ -136,7 +142,7 @@
{{ scope.row.cite.pre_year_article_num }}
</template>
</el-table-column>
<el-table-column :label="`${$t('JournalCitationAnalysis.factor')}`" width="80" align="center">
<el-table-column :label="`${$t('JournalCitationAnalysis.factor')}`" width="70" align="center">
<template slot-scope="scope">
{{ scope.row.cite.yc_if && scope.row.cite.yc_if > 0 ? scope.row.cite.yc_if.toFixed(2) : 0 }}
</template>
@@ -147,6 +153,7 @@
<el-drawer :title="drawerTitle" :visible.sync="drawer" direction="rtl" :before-close="handleClose" size="78%">
<div style="padding: 0 20px; box-sizing: border-box">
<el-table
size="mini"
v-loading="JournalListLoad"
height="88vh"
:data="JournalList"
@@ -167,8 +174,16 @@
<span style="font-size: 13px; color: #006699 !important; font-weight: 500; margin-left: 5px">{{
scope.row.doi
}}</span>
<span style="float: right" v-if="scope.row.stage_info">
<span style="font-size: 13px; font-weight: 500; color: #006699"
>{{ $t('paperArticleCount.Periodroll') }} :
</span>
<span style="font-size: 13px; color: #006699">( {{ scope.row.stage_info }} )</span>
</span>
</p>
<p style="color: #333; margin-bottom: 4px">
<p style="color: #333; margin-bottom: 15px">
<span style="font-size: 14px; font-weight: 600">Tiltle : </span>
<span style="font-size: 14px"> {{ scope.row.title }}</span>
@@ -187,6 +202,11 @@
<span style="font-size: 14px"> {{ scope.row.article_name }}</span>
</p>
<p style="color: #333; margin-bottom: 4px;line-height: 14px;margin-top: 10px;">
<span style="font-size: 14px; color: #888; font-weight: 500">Author : </span>
<span style="font-size: 14px"> {{ scope.row.author }}</span>
</p>
<p>
<span style="font-size: 14px; color: #888; font-weight: 500">Doi : </span>
<span style="font-size: 13px; color: #aaa !important; font-weight: 500; margin-left: 5px">{{
@@ -202,13 +222,21 @@
</span>
</p>
</div>
<p style="margin-top: 10px;">
<span style="font-size: 13px; font-weight: 500; color: #333;margin-right: 10px;">Email sending statistics : </span>
<span style="margin-right: 10px;"
>Success:
<span style="color: rgb(103, 194, 58)"> {{ !scope.row.email_success?0:scope.row.email_success }} </span>
<p style="margin-top: 10px">
<span style="font-size: 13px; font-weight: 500; color: #333; margin-right: 10px"
>Email sending statistics :
</span>
<span>Fail:<span style="color: #cb160a"> {{ !scope.row.email_fail?0:scope.row.email_fail }} </span></span>
<span style="margin-right: 10px"
>Success:
<span style="color: rgb(103, 194, 58); font-size: 14px">
{{ !scope.row.email_success ? 0 : scope.row.email_success }}
</span>
</span>
<span
>Fail:<span style="color: #cb160a; font-size: 14px">
{{ !scope.row.email_fail ? 0 : scope.row.email_fail }}
</span></span
>
</p>
</template>
</el-table-column>
@@ -226,12 +254,12 @@
<p v-if="scope.row.is_china == 2">{{ $t('citeList.no') }}</p>
</template>
</el-table-column>
<el-table-column :label="$t('citeList.factor')" width="80" align="center">
<el-table-column :label="$t('citeList.factor')" width="70" align="center">
<template slot-scope="scope">
<span>{{ scope.row.factor ? scope.row.factor : '' }}</span>
</template>
</el-table-column>
<el-table-column label="" width="80" align="center">
<el-table-column label="" width="70" align="center">
<template slot-scope="scope">
<el-button size="mini" @click="addCite(scope.row)" type="primary">Edit</el-button>
</template>
@@ -311,6 +339,7 @@ export default {
article_id: data.article_id,
article_title: data.article_name,
journal_title: data.journal_name,
author: data.author,
vol: data.vol,
article_cite_id: data.article_cite_id
};

View File

@@ -384,14 +384,14 @@
<el-divider content-position="center">REFEREE'S RECOMMENDATIONS</el-divider>
<el-form-item label="REFEREE'S RECOMMENDATIONS" prop="recommend">
<el-radio-group v-model="ReReviewQuestion.recommend" style="line-height: 30px;">
<el-radio :label="1">Accept</el-radio>
<el-radio :label="2">Reject</el-radio>
<el-radio :label="1" :disabled="ReReviewQuestion.recommend!=1">Accept</el-radio>
<el-radio :label="2" :disabled="ReReviewQuestion.recommend!=2">Reject</el-radio>
<!-- 退修改 -->
<el-radio :label="3">Revison</el-radio>
<el-radio :label="3" :disabled="ReReviewQuestion.recommend!=3">Revison</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="Comments to the authors" v-if="ReReviewQuestion.recommend == 3">
<el-input type="textarea" placeholder="please input content" v-model="ReReviewQuestion.content"
<el-input readonly type="textarea" placeholder="please input content" v-model="ReReviewQuestion.content"
:rows="8"></el-input>
</el-form-item>
</el-form>

View File

@@ -241,7 +241,9 @@
</div>
<el-dialog title="Feedback questionnaire" :visible.sync="dialogFormVisible" width="900px">
<!-- 审稿人表单修改 -->
<common-review-article
type="questionform"
:form="questionform"
:txt_mess="txt_mess"
@@ -723,14 +725,14 @@
<el-divider content-position="center">REFEREE'S RECOMMENDATIONS</el-divider>
<el-form-item label="REFEREE'S RECOMMENDATIONS" prop="recommend">
<el-radio-group v-model="ReReviewQuestion.recommend" style="line-height: 30px">
<el-radio :label="1">Accept</el-radio>
<el-radio :label="2">Reject</el-radio>
<el-radio :label="1" :disabled="ReReviewQuestion.recommend!=1">Accept</el-radio>
<el-radio :label="2" :disabled="ReReviewQuestion.recommend!=2">Reject</el-radio>
<!-- 退修改 -->
<el-radio :label="3">Revison</el-radio>
<el-radio :label="3" :disabled="ReReviewQuestion.recommend!=3">Revison</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="Confidential Comments to the Editor" v-if="ReReviewQuestion.recommend == 3">
<el-input type="textarea" placeholder="please input content" v-model="ReReviewQuestion.content" :rows="8"></el-input>
<el-input readonly type="textarea" placeholder="please input content" v-model="ReReviewQuestion.content" :rows="8"></el-input>
</el-form-item>
</el-form>
</el-dialog>
@@ -985,6 +987,7 @@ export default {
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;
}
});
},
@@ -1089,4 +1092,7 @@ export default {
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>

View File

@@ -4,7 +4,7 @@
<el-dialog
:title="dialogTitle == 'Add' ? $t('citeList.add') : $t('citeList.edit')"
:visible.sync="editboxVisible"
width="800px"
width="1000px"
:close-on-click-modal="false"
@close="cancelSave"
>
@@ -58,18 +58,10 @@
v-model="refenceForm.journal_name"
></el-input>
</el-form-item>
<!-- <el-form-item :label="`${$t('citeList.author')}:`" prop="author">
<p v-if="this.doi_num == 1 && doiForm.author && doiForm.author != ''">{{ refenceForm.author }}</p>
<data v-else>
<el-input
v-model="refenceForm.author"
placeholder="Patel NM, Stottlemyer BA, Gray MP, Boyce RD, Kane Gill SL"
></el-input>
<p class="zhushi">
{{ $t('citeList.authorInfo') }}
</p></data
>
</el-form-item> -->
<el-form-item :label="`${$t('citeList.author')}:`" prop="author">
<p >{{ doiInfo.author }}</p>
</el-form-item>
<el-form-item :label="`${$t('paperArticleCount.Periodroll')}:`" required prop="vol">
<p v-if="this.doi_num == 1 && doiForm.vol && doiForm.vol != ''">{{ refenceForm.vol }}</p>
@@ -1208,4 +1200,8 @@ export default {
.bottomBtnBox.btns {
margin-top: 20px;
}
::v-deep .el-form-item--mini.el-form-item, .el-form-item--small.el-form-item{
margin-bottom: 10px !important;
}
</style>

View File

@@ -1,10 +1,23 @@
<template>
<div>
<el-form :model="questionform" :rules="rules" ref="question" label-width="300px" label-position="top">
<el-form :model="questionform" :rules="isEdit ? rules : {}" ref="question" label-width="300px" label-position="top">
<el-divider content-position="center">REFEREE'S ASSESSMENT</el-divider>
<oldForm v-if="!isNewForm" :txt_mess="txt_mess" :isEdit="isEdit" :form="baseQuestionform" @update="(e) => (questionform = e)"></oldForm>
<newForm v-if="isNewForm" :txt_mess="txt_mess" :isEdit="isEdit" :form="baseQuestionform" @update="(e) => (questionform = e)"></newForm>
<oldForm
v-if="!isNewForm"
:txt_mess="txt_mess"
:isEdit="isEdit"
:form="baseQuestionform"
@update="(e) => (questionform = e)"
></oldForm>
<newForm
v-if="isNewForm"
:txt_mess="txt_mess"
:isEdit="isEdit"
:form="baseQuestionform"
@update="(e) => (questionform = e)"
></newForm>
<el-divider content-position="center">REFEREE'S RECOMMENDATIONS</el-divider>
<el-form-item label="Overall the Paper is Rated" prop="rated">
@@ -12,17 +25,48 @@
<span style="width: 10px; display: inline-block"></span>
<span style="color: #369916">Accept Superior Excellent</span>)
<br />
<el-radio-group v-model="questionform.rated" size="small">
<el-radio-group v-model="questionform.rated" size="small" :fill="questionform.rated<=5?'#e41411':'#369916'">
<el-radio-button
:label="i + 1"
v-for="(v, i) in 10"
:disabled="!isEdit && questionform.rated != i + 1"
></el-radio-button>
</el-radio-group>
<span style="margin-left: 20px"
>Your score : <span style="font-weight: bold">{{ questionform.rated }}</span></span
>
<!-- <span style="margin-left: 20px"
>Your score :
<span style="font-weight: bold; font-size: 18px" :style="{ color: questionform.rated >= 6 ? '#369916' : '#e41411' }">{{
questionform.rated
}}</span></span
> -->
</el-form-item>
<p
v-if="questionform.score && Number(questionform.score) > 0&&pagetype=='Editor'"
style="margin: 30px 0; font-size: 20px; padding-left: 0px; box-sizing: border-box"
>
<span
style="
border: 1px solid #409eff85;
border-radius: 4px;
background-color: #fff;
padding: 8px 30px 8px 10px;
border-radius: 12px;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
font-size: 18px;
color: #333;
"
>
Automated Scoring for Reviewer's Opinions :
<span style="font-weight: bold; font-weight: bold; font-size: 26px; color: #2c3e50; margin-left: 10px">{{
Number(questionform.score)
}}</span>
</span>
</p>
<el-form-item label="REFEREE'S RECOMMENDATIONS" prop="recommend">
<el-radio-group v-model="questionform.recommend" style="line-height: 30px">
<el-radio :label="1" :disabled="!isEdit && questionform.recommend != 1">Minor revision</el-radio>
@@ -44,18 +88,20 @@
</el-radio-group>
</el-form-item>
<!-- xin -->
<el-form-item label="OTHER SPECIFIC CRITICISMS" prop="xx">
<el-radio-group v-model="questionform.xx" style="line-height: 30px">
<el-radio :label="1" :disabled="!isEdit && questionform.recommend != 1">Imperfect style</el-radio>
<el-form-item label="OTHER SPECIFIC CRITICISMS" prop="other" v-if="isNewForm">
<el-radio-group v-model="questionform.other" style="line-height: 30px">
<el-radio :label="1" :disabled="!isEdit && questionform.other != 1">Imperfect style</el-radio>
<br />
<el-radio :label="2" :disabled="!isEdit && questionform.recommend != 2">Too long</el-radio><br />
<el-radio :label="3" :disabled="!isEdit && questionform.recommend != 3"> References incorrectly presented </el-radio
><br />
<el-radio :label="4" :disabled="!isEdit && questionform.recommend != 4">Typographical and Grammatical errors</el-radio>
<el-radio :label="2" :disabled="!isEdit && questionform.other != 2">Too long</el-radio><br />
<el-radio :label="3" :disabled="!isEdit && questionform.other != 3"> References incorrectly presented </el-radio><br />
<el-radio :label="4" :disabled="!isEdit && questionform.other != 4">Typographical and Grammatical errors</el-radio>
</el-radio-group>
</el-form-item>
<!-- xin -->
<!-- xin -->
<el-form-item label="" v-if="articleId">
<common-word-html :articleId="articleId" style="box-sizing: border-box"></common-word-html>
</el-form-item>
<template v-if="type == 'undeQuestion'">
<el-form-item label="Comments for the Authors" v-if="this.txt_mess.atype == 'Comment' || this.txt_mess.atype == 'News'">
<el-input
@@ -76,7 +122,7 @@
type="textarea"
placeholder="please input content"
v-model="questionform.comments"
:autosize="{ minRows: 2, maxRows: 8 }"
:autosize="{ minRows: 2, maxRows: 10 }"
></el-input>
</el-form-item>
</template>
@@ -105,21 +151,17 @@
</el-form-item>
</template>
<el-form-item label="" v-if="articleId">
<common-word-html :articleId="articleId" style="box-sizing: border-box"></common-word-html>
</el-form-item>
<el-form-item label="Confidential Comments to the Editor" v-if="confident">
<el-input
:readonly="!isEdit"
type="textarea"
placeholder="please input content"
v-model="questionform.confident"
:autosize="{ minRows: 2, maxRows: 8 }"
:autosize="{ minRows: 2, maxRows: 10 }"
></el-input>
</el-form-item>
<el-form-item label="Please choose disclose your name or remain anonymous">
<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="0" :disabled="!isEdit && questionform.is_anonymous != 0">Disclose name</el-radio>
<br />
@@ -152,14 +194,19 @@ export default {
// type: Boolean,
// default: true
// },
isNewForm: {
type: Boolean,
default: false
},
// isNewForm: {
// type: Boolean,
// default: false
// },
type: {
type: String,
default: 'questionform'
},
pagetype: {
type: String,
default: ''
},
confident: {
type: Boolean,
default: true
@@ -203,12 +250,11 @@ export default {
},
data() {
return {
isNewForm: false,
loading: false,
isEdit: true,
baseQuestionform: {},
questionform: {},
rules: {}
};
},
@@ -219,14 +265,25 @@ export default {
getData() {
// Fetch article data
this.questionform = { ...this.baseQuestionform };
if (this.isNewForm) {
if (this.baseQuestionform.type != 1) {
this.isNewForm = true;
this.rules = {
qu6: [{ required: true, message: 'please select', trigger: 'blur' }],
rated: [{ required: true, message: 'please select', trigger: 'blur' }],
comment: [{ required: true, message: 'please input content', trigger: 'blur' }],
other: [{ required: true, message: 'please input content', trigger: 'blur' }],
recommend: [{ required: true, message: 'please select', trigger: 'blur' }]
};
if (this.txt_mess.atype == 'REVIEW' || this.txt_mess.atype == 'MINI REVIEW') {
for (let i = 1; i <= 12; i++) {
this.rules[`qu${i}`] = [{ required: true, message: 'please select', trigger: 'blur' }];
}
} else {
for (let i = 1; i <= 14; i++) {
this.rules[`qu${i}`] = [{ required: true, message: 'please select', trigger: 'blur' }];
}
}
} else {
this.isNewForm = false;
this.rules = {
qu6: [{ required: true, message: 'please select', trigger: 'blur' }],
rated: [{ required: true, message: 'please select', trigger: 'blur' }],
@@ -258,19 +315,33 @@ export default {
return false;
}
}
let Char_Cter = null;
// 验证相加的字数
let Char_Cter =
this.questionform.qu9contents +
' ' +
this.questionform.qu10contents +
' ' +
this.questionform.qu11contents +
' ' +
this.questionform.qu12contents +
' ' +
this.questionform.qu13contents +
' ' +
this.questionform.comment;
if (this.isNewForm) {
Char_Cter = [
this.questionform.qu5contents,
this.questionform.qu6contents,
this.questionform.qu7contents,
this.questionform.qu8contents,
this.questionform.qu9contents,
this.questionform.qu10contents,
this.questionform.qu11contents,
this.questionform.qu12contents,
this.questionform.qu13contents,
this.questionform.qu14contents,
this.questionform.comment
].join(' ');
} else {
Char_Cter = [
this.questionform.qu9contents,
this.questionform.qu10contents,
this.questionform.qu11contents,
this.questionform.qu12contents,
this.questionform.qu13contents,
this.questionform.comment
].join(' ');
}
if (new RegExp('[\\u4E00-\\u9FFF]+', 'g').test(Char_Cter)) {
//中文
let blankCount = 0;
@@ -311,15 +382,21 @@ export default {
}
// 提交接口
// this.loading = true;
this.$refs.question.validate((valid) => {
if (valid) {
const loading = this.$loading({
lock: true,
text: 'Loading...',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
this.$refs.question.validate((valid) => {
if (valid) {
this.$api.post('api/Reviewer/questionSubmit', this.questionform).then((res) => {
this.$api
.post(this.isNewForm ? 'api/Reviewer/questionSubmitNew' : 'api/Reviewer/questionSubmit', {
...this.questionform,
type: this.isNewForm ? (this.txt_mess.atype == 'REVIEW' || this.txt_mess.atype == 'MINI REVIEW' ? 3 : 2) : 1
})
.then((res) => {
if (res.code == 0) {
loading.close();
this.$message.success('Success!!');
@@ -330,9 +407,11 @@ export default {
// this.$message.error('Question submit error!');
this.$message.error(res.msg);
}
})
.catch((err) => {
loading.close();
});
} else {
loading.close();
}
});
}
@@ -352,4 +431,8 @@ export default {
::v-deep .el-divider {
background-color: #006699;
}
::v-deep .el-form-item--mini.el-form-item,
.el-form-item--small.el-form-item {
margin-bottom: 10px;
}
</style>

View File

@@ -1,12 +1,12 @@
<template>
<div>
<el-row :gutter="24">
<template v-for="(v, i) in selectDataList">
<el-col :span="v.spanValue">
<el-form-item :prop="v.value">
<span slot="label">
{{ v.title }}
<a :href="txt_mess.aim_web" target="_blank" class="jouLink" v-if="i == 2">( Aims & Scope ) </a>
</span>
<el-radio-group v-model="questionform[v.value]">
@@ -20,29 +20,8 @@
</template>
</el-row>
<!-- <el-collapse v-if="judgeDataList1.length > 0" v-model="activeNames">
<el-form-item :label="v.title" v-for="(v, i) in judgeDataList1">
<el-col :span="4">
<el-radio-group v-model="questionform[v.value]">
<el-radio :label="true" :disabled="!isEdit&&questionform[v.value]!=true">Yes</el-radio>
<el-radio :label="false" :disabled="!isEdit&&questionform[v.value]!=false">No</el-radio>
</el-radio-group>
</el-col>
<el-col :span="20">
<el-collapse-item name="1" style="margin-top: -10px">
<template slot="title"> <i class="el-icon-edit" v-if="isEdit"></i>Comments/ Suggestions </template>
<el-input
type="textarea"
placeholder="please input content"
v-model="questionform[v.valueContents]"
:rows="4"
></el-input>
</el-collapse-item>
</el-col>
</el-form-item>
</el-collapse> -->
<el-collapse v-if="judgeDataList1.length > 0" v-model="activeNames">
<el-form-item :label="v.title" v-for="(v, i) in judgeDataList1">
<el-collapse v-if="judgeDataList.length > 0" v-model="activeNames">
<el-form-item :label="v.title" v-for="(v, i) in judgeDataList" :prop="v.value">
<el-col :span="6">
<el-radio-group v-model="questionform[v.value]">
<el-radio :label="true" :disabled="!isEdit && questionform[v.value] != true">Yes</el-radio>
@@ -50,26 +29,29 @@
</el-radio-group>
</el-col>
<el-col :span="18" v-if="isEdit">
<el-collapse-item :name="i + 1" style="margin-top: -10px">
<template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
<el-input
<el-collapse-item :name="i + 1" class="comments-section">
<template slot="title"> <i class="el-icon-edit" style="margin-right: 10px;"></i>Comments/ Suggestions </template>
<el-input style="margin-bottom: 10px;"
type="textarea"
placeholder="please input content"
v-model="questionform[v.valueContents]"
:rows="4"
:autosize="{ minRows: 2, maxRows: 5 }"
></el-input>
</el-collapse-item>
</el-col>
<el-col :span="18" v-else>
<el-collapse-item :name="i + 1" style="margin-top: -10px" v-if="questionform[v.valueContents] && questionform[v.valueContents] != ''">
<template slot="title"
>Comments/ Suggestions
</template>
<el-input
<el-collapse-item class="comments-section"
:name="i + 1"
v-if="questionform[v.valueContents] && questionform[v.valueContents] != ''"
>
<template slot="title">Comments/ Suggestions </template>
<el-input style="margin-bottom: 10px;"
readonly
type="textarea"
placeholder="please input content"
v-model="questionform[v.valueContents]"
:rows="4"
:autosize="{ minRows: 2, maxRows: 5 }"
></el-input>
</el-collapse-item>
</el-col>
@@ -95,28 +77,65 @@ export default {
}
},
watch: {
isEdit: {
handler(e) {
if(e==false){
this.activeNames = this.judgeDataList1.map((e,i)=>i+1); // 深拷贝,防止直接改 props
}else{
this.activeNames =[]
}
isEdit(e) {
this.updateJudgeDataList();
},
immediate: true,
txt_mess: {
handler() {
this.updateJudgeDataList();
},
immediate: true, // 初始加载时触发
deep: true
},
form: {
handler(e) {
this.$nextTick(() => {
this.questionform = JSON.parse(JSON.stringify(e)); // 深拷贝,防止直接改 props
if (this.questionform.qu5 !== '') {
console.log('this.questionform.qu5 at line 114:', this.questionform.qu5);
if (this.questionform.qu5 == 0) {
this.questionform.qu5 = false;
} else {
this.questionform.qu5 = true;
}
}
if (this.questionform.qu6 !== '') {
if (this.questionform.qu6 == 0) {
this.questionform.qu6 = false;
} else {
this.questionform.qu6 = true;
}
}
if (this.questionform.qu7 !== '') {
if (this.questionform.qu7 == 0) {
this.questionform.qu7 = false;
} else {
this.questionform.qu7 = true;
}
}
if (this.questionform.qu8 !== '') {
if (this.questionform.qu8 == 0) {
this.questionform.qu8 = false;
} else {
this.questionform.qu8 = true;
}
}
this.questionform.qu5contents = this.questionform.qu5_contents;
this.questionform.qu6contents = this.questionform.qu6_contents;
this.questionform.qu7contents = this.questionform.qu7_contents;
this.questionform.qu8contents = this.questionform.qu8_contents;
console.log('this.questionform at line 112:', this.questionform);
});
},
immediate: true,
deep: true
},
questionform: {
handler(newVal) {
console.log('newVal at line 93:', newVal)
console.log('newVal at line 93:', newVal);
// 变化时通知父组件
this.$emit('update', newVal); // 或自定义事件this.$emit('formChanged', newVal)
},
@@ -125,18 +144,19 @@ this.activeNames = this.judgeDataList1.map((e,i)=>i+1); // 深拷贝,防止直
},
data() {
return { activeNames: [],
return {
activeNames: [],
questionform: {},
selectDataList: [
{
title: '1. Originality of the topic',
value: 'qu6',
value: 'qu1',
spanValue: 24
},
{
title: '2.Importance in its Field',
value: 'qu1',
title: '2. Importance in its field',
value: 'qu2',
spanValue: 24
},
{
@@ -146,39 +166,39 @@ this.activeNames = this.judgeDataList1.map((e,i)=>i+1); // 深拷贝,防止直
},
{
title: '4. English language',
value: 'qu8',
value: 'qu4',
spanValue: 24
}
],
// judgeDataList1: [],
judgeDataList: [],
judgeDataList1: [
{ title: "5.Does the title represent manuscript's contents?", value: 'qu9', valueContents: 'qu9contents' },
{ title: '6.Is the Abstract accurate and concise?', value: 'qu10', valueContents: 'qu10contents' },
{ title: "5. Does the title represent manuscript's contents?", value: 'qu5', valueContents: 'qu5contents' },
{ title: '6. Is the Abstract accurate and concise?', value: 'qu6', valueContents: 'qu6contents' },
{
title: '7. Does it highlight the latest advancements and address existing challenges in the current research?',
value: 'qu11',
valueContents: 'qu11contents'
value: 'qu7',
valueContents: 'qu7contents'
},
{
title: '8. Does it cite the most recent and pertinent reference directly related to the research?',
value: 'qu12',
valueContents: 'qu12contents'
value: 'qu8',
valueContents: 'qu8contents'
},
{
title: '9.Materials and Methods: Does the experimental design provide sufficient scientific support for the article?',
value: 'qu13',
valueContents: 'qu13contents'
title: '9. Does the experimental design provide sufficient scientific support for the article?',
value: 'qu9',
valueContents: 'qu9contents'
},
{
title: '10. Does the experimental design adopt the latest cutting-edge research methods and technologies?',
value: 'qu13',
valueContents: 'qu13contents'
value: 'qu10',
valueContents: 'qu10contents'
},
{ title: '11.Is the appropriate statistical analysis used?', value: 'qu13', valueContents: 'qu13contents' },
{ title: '11. Is the appropriate statistical analysis used?', value: 'qu11', valueContents: 'qu11contents' },
{
title: '12. Are the Figures or Tables clear, visually appealing, and easy to understand?',
value: 'qu13',
valueContents: 'qu13contents'
value: 'qu12',
valueContents: 'qu12contents'
},
{
title: '13. Is the interpretation reliable (can the results adequately support the conclusions, are the conclusions overstated, and is there any selective reporting of results that could mislead readers)?',
@@ -187,14 +207,77 @@ this.activeNames = this.judgeDataList1.map((e,i)=>i+1); // 深拷贝,防止直
},
{
title: '14. If there are notable limitations or imperfections in the research, does the author explicitly acknowledge these shortcomings?',
value: 'qu13',
valueContents: 'qu13contents'
value: 'qu14',
valueContents: 'qu14contents'
}
],
judgeDataList2: [
{ title: "5. Does the title represent manuscript's contents?", value: 'qu5', valueContents: 'qu5contents' },
{ title: '6. Is the Abstract accurate and concise?', value: 'qu6', valueContents: 'qu6contents' },
{
title: '7. Does it highlight the latest advancements and address existing challenges in the current research?',
value: 'qu7',
valueContents: 'qu7contents'
},
{
title: '8. Does it cite the most recent and pertinent reference directly related to the research?',
value: 'qu8',
valueContents: 'qu8contents'
},
{
title: '9. Is the content well-organized and comprehensive, covering all key aspects of the topic?',
value: 'qu9',
valueContents: 'qu9contents'
},
{
title: '10. Are the figures and tables clear, relevant, and well-presented?',
value: 'qu10',
valueContents: 'qu10contents'
},
{
title: '11. Does the review provide a balanced and critical discussion of the research? Does it highlight gaps in the field and suggest future research directions?',
value: 'qu11',
valueContents: 'qu11contents'
},
{
title: '12. Does the review provide valuable insights and a meaningful contribution to the field?',
value: 'qu12',
valueContents: 'qu12contents'
}
]
};
},
created() {},
methods: {}
mounted() {
// this.$nextTick(() => { console.log('this.txt_mess.atype at line 257:', this.txt_mess.atype)
// if (this.txt_mess.atype === 'REVIEW' || this.txt_mess.atype === 'MINI REVIEW') {
// this.judgeDataList = [...this.judgeDataList2];
// } else {
// this.judgeDataList = [...this.judgeDataList1];
// }
// if (this.isEdit == false) {
// this.activeNames = this.judgeDataList.map((e, i) => i + 1); // 深拷贝,防止直接改 props
// } else {
// this.activeNames = [];
// }
// });
},
methods: {
updateJudgeDataList() {
if (this.txt_mess.atype === 'REVIEW' || this.txt_mess.atype === 'MINI REVIEW') {
this.judgeDataList = [...this.judgeDataList2];
} else {
this.judgeDataList = [...this.judgeDataList1];
}
// 判断 isEdit 和 txt_mess 中的 atype
if (this.isEdit === false) {
this.activeNames = this.judgeDataList.map((e, i) => i + 1); // 深拷贝,防止直接改 props
} else {
this.activeNames = [];
}
// this.isEdit=true
}
}
};
</script>
@@ -209,4 +292,26 @@ this.activeNames = this.judgeDataList1.map((e,i)=>i+1); // 深拷贝,防止直
margin-top: -16px;
margin-bottom: 12px;
}
::v-deep .comments-section {
background: #fafafad3 !important; /* 淡蓝色背景 */
border: 1px solid #f0f0f0;
padding: 0px 10px 0;
box-sizing: border-box;
border-radius: 5px;
}
::v-deep .comments-section .el-collapse-item__content{
padding-bottom: 0 !important;
background: #fafafad3 !important; /* 淡蓝色背景 */
}
::v-deep .comments-section .el-collapse-item__header{
background: #fafafad3 !important; /* 淡蓝色背景 */
height: 30px !important;
border-bottom: 0px !important;
/* border: 2px solid #007bff; */
color: #444444ed !important;
font-weight: bold;
}
</style>

View File

@@ -29,26 +29,29 @@
</el-radio-group>
</el-col>
<el-col :span="18" v-if="isEdit">
<el-collapse-item :name="i + 1" style="margin-top: -10px">
<template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
<el-input
<el-collapse-item :name="i + 1" class="comments-section">
<template slot="title"> <i class="el-icon-edit" style="margin-right: 10px;"></i>Comments/ Suggestions </template>
<el-input style="margin-bottom: 10px;"
type="textarea"
placeholder="please input content"
v-model="questionform[v.valueContents]"
:rows="4"
:autosize="{ minRows: 2, maxRows: 5 }"
></el-input>
</el-collapse-item>
</el-col>
<el-col :span="20" v-else>
<el-collapse-item :name="i + 1" style="margin-top: -10px" v-if="questionform[v.valueContents] && questionform[v.valueContents] != ''">
<template slot="title"
>Comments/ Suggestions
</template>
<el-input
<el-col :span="18" v-else>
<el-collapse-item class="comments-section"
:name="i + 1"
v-if="questionform[v.valueContents] && questionform[v.valueContents] != ''"
>
<template slot="title">Comments/ Suggestions </template>
<el-input style="margin-bottom: 10px;"
readonly
type="textarea"
placeholder="please input content"
v-model="questionform[v.valueContents]"
:rows="4"
:autosize="{ minRows: 2, maxRows: 5 }"
></el-input>
</el-collapse-item>
</el-col>
@@ -106,7 +109,6 @@ export default {
return {
activeNames: [],
questionform: {},
selectDataList: [
{
title: '1. Does the manuscript fall within the aim and scope of the journal?',
@@ -119,7 +121,7 @@ export default {
spanValue: 12
},
{
title: '3.Importance in its Field',
title: '3. Importance in its field',
value: 'qu3',
spanValue: 12
},
@@ -144,7 +146,9 @@ export default {
]
};
},
created() {},
created() {
},
methods: {}
};
@@ -154,5 +158,26 @@ export default {
.jouLink {
color: #006699;
font-weight: bold;
}::v-deep .comments-section {
background: #fafafad3 !important; /* 淡蓝色背景 */
border: 1px solid #f0f0f0;
padding: 0px 10px 0;
box-sizing: border-box;
border-radius: 5px;
}
::v-deep .comments-section .el-collapse-item__content{
padding-bottom: 0 !important;
background: #fafafad3 !important; /* 淡蓝色背景 */
}
::v-deep .comments-section .el-collapse-item__header{
background: #fafafad3 !important; /* 淡蓝色背景 */
height: 30px !important;
border-bottom: 0px !important;
/* border: 2px solid #007bff; */
color: #444444ed !important;
font-weight: bold;
}
</style>

View File

@@ -1548,6 +1548,7 @@
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;
this.questionVisible = true
}
});

View File

@@ -467,6 +467,7 @@ export default {
ques_visible(e) {
this.questionVisible = true;
this.questionform.rev_qu_id = e.rev_qu_id;
this.questionform.art_rev_id = e.art_rev_id;
this.questionform.qu1 = e.qu1;
this.questionform.qu2 = e.qu2;
this.questionform.qu3 = e.qu3;
@@ -495,6 +496,8 @@ export default {
this.questionform.confident = e.confidential;
this.questionform.comment = e.comments;
this.questionform.is_anonymous = e.is_anonymous;
this.questionform.type = e.type;
this.questionform.score = e.score;
}
},
mounted() {}

View File

@@ -62,15 +62,24 @@
><br />
</div>
<p style="margin-top: 5px; color: #999; font-size: 14px">
<p style="margin-top: 5px; color: #999; font-size: 14px;">
<b style="color: #e41411">Download failed?</b>
<br />If you have upgraded the Google Chrome browser to version 86, released on October 6, 2020, you may
<p style="line-height: 18px;color: #999; font-size: 14px;margin-top: 4px;">
<!-- If you have upgraded the Google Chrome browser to version 86, released on October 6, 2020, you may
have noticed that some file downloads don't work anymore in the browser. You click on the download link
and nothing happens. <br />1. Right now, the easiest option available is to
<b style="color: #e41411">right-click on the download link and select "save link as".</b>
The download is executed when you do that.
<br />2. Please try to use a different browser for downloads. For now, a browser like Firefox, Internet
Explorer, Brave, Vivaldi, the new Edge, or Opera all allow the download.
Explorer, Brave, Vivaldi, the new Edge, or Opera all allow the download. -->
It seems like you're encountering a download issue with Google Chrome version 86. Here are the steps you can follow to resolve or bypass the issue:
<br />1. Right-click on the download link: Instead of clicking the link normally, right-click on it and select <b style="color: #e41411">"save link as".</b> This should allow the download to start.
<br />2. Try a different browser:
If you're still having trouble with Chrome, you could use other browsers to complete your downloads. Browsers like Firefox, Internet Explorer, Brave, Vivaldi, the new Edge, or Opera are known to work well for downloads without this issue.
</p>
</p>
</div>
<!-- <p class="morSou" v-if="!morShow" @click="morShow=true">
@@ -383,9 +392,13 @@ export default {
qu3: '',
qu4: '',
qu5: '',
qu5contents: '',
qu6: '',
qu6contents: '',
qu7: '',
qu7contents: '',
qu8: '',
qu8contents: '',
qu9: '',
qu9contents: '',
qu10: '',
@@ -405,7 +418,8 @@ export default {
other: '',
confident: '',
comment: '',
is_anonymous: ''
is_anonymous: '',
type: '',
},
add_apply: 0,
btn_submit: 0,
@@ -586,6 +600,7 @@ export default {
.then((res) => {
if (res.code == 0) {
this.questionform.rev_qu_id = res.data.rev_qu_id;
this.questionform.qu1 = res.data.qu1;
this.questionform.qu2 = res.data.qu2;
@@ -615,6 +630,7 @@ export default {
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;
}
});
},
@@ -791,6 +807,7 @@ export default {
}
.container_l {
box-sizing: border-box;
min-width: 1000px;
}

View File

@@ -596,7 +596,7 @@
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.is_anonymous = res.data.is_anonymous;this.questionform.type= res.data.type;this.questionform.score = res.data.score;
}
});
},

View File

@@ -461,7 +461,7 @@
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.is_anonymous = res.data.is_anonymous;this.questionform.type= res.data.type;this.questionform.score = res.data.score;
}
});
},