上传文件
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -24,3 +24,4 @@ node_modules
|
||||
/package-lock.json
|
||||
/src/api/index.js
|
||||
/src/components/common/common.vue
|
||||
/vue.config.js
|
||||
|
||||
BIN
src/assets/img/star-grey.png
Normal file
BIN
src/assets/img/star-grey.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 710 B |
@@ -151,7 +151,8 @@
|
||||
Website :
|
||||
</div>
|
||||
<div class="expInde" style="margin-top: 0;">
|
||||
<el-link :href="coreTable.website" target="_blank" type="primary">Personal academic introduction</el-link>
|
||||
<el-link :href="coreTable.website" target="_blank" type="primary">Personal academic
|
||||
introduction</el-link>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="coreTable.company!=''">
|
||||
@@ -240,11 +241,12 @@
|
||||
<p>Published articles</p>
|
||||
</div>
|
||||
<div class="numerItem">
|
||||
<b >{{authorTable.tj}}</b>
|
||||
<b>{{authorTable.tj}}</b>
|
||||
<p>Recommended manuscripts</p>
|
||||
</div>
|
||||
<div class="numerItem" >
|
||||
<b @click="JumpPage(6)" v-if="reviewTable.successReview">{{reviewTable.successReview}}</b>
|
||||
<div class="numerItem">
|
||||
<b @click="JumpPage(6)"
|
||||
v-if="reviewTable.successReview">{{reviewTable.successReview}}</b>
|
||||
<b @click="JumpPage(6)" v-else>0</b>
|
||||
<p>Reviewed manuscripts</p>
|
||||
</div>
|
||||
@@ -562,11 +564,11 @@
|
||||
</div>
|
||||
|
||||
<div class="new_scard" v-if="!this.usercap.includes('editor')">
|
||||
<p>
|
||||
<!-- <p>
|
||||
New Zealand
|
||||
<img src="../../assets/img/New_Z.png"
|
||||
style="width: 45px;margin: 0 0 0 15px;vertical-align: middle;">
|
||||
</p>
|
||||
</p> -->
|
||||
<p style="margin: 10px 0;white-space:nowrap;">
|
||||
<b style="color: #666;font-size: 14px;cursor: text;">Telephone number :</b> +64
|
||||
02108293806
|
||||
@@ -1018,54 +1020,54 @@
|
||||
youth_journal: [],
|
||||
df_country: [],
|
||||
df_technical: [{
|
||||
label: 'Professor',
|
||||
}, {
|
||||
label: 'Associate Professor',
|
||||
}, {
|
||||
label: 'Assistant Professor',
|
||||
},
|
||||
// {
|
||||
// label: 'Ph.D.',
|
||||
// },
|
||||
{
|
||||
label: 'Researcher',
|
||||
}, {
|
||||
label: 'Associate research fellow',
|
||||
}, {
|
||||
label: 'Assistant research fellow',
|
||||
}, {
|
||||
label: 'Engineer',
|
||||
}, {
|
||||
label: 'Senior engineer',
|
||||
},
|
||||
{
|
||||
label: 'Associate Researcher',
|
||||
},
|
||||
{
|
||||
label: 'Lecturer',
|
||||
},
|
||||
{
|
||||
label: 'Associate Chief Physician',
|
||||
},
|
||||
{
|
||||
label: 'Assistant Researcher',
|
||||
},
|
||||
{
|
||||
label: 'Physician',
|
||||
},
|
||||
{
|
||||
label: 'Chief Physician',
|
||||
},
|
||||
{
|
||||
label: 'Senior Lecturer',
|
||||
},
|
||||
{
|
||||
label: 'Research Fellow',
|
||||
},
|
||||
{
|
||||
label: 'Senior Investigator',
|
||||
},
|
||||
],
|
||||
label: 'Professor',
|
||||
}, {
|
||||
label: 'Associate Professor',
|
||||
}, {
|
||||
label: 'Assistant Professor',
|
||||
},
|
||||
// {
|
||||
// label: 'Ph.D.',
|
||||
// },
|
||||
{
|
||||
label: 'Researcher',
|
||||
}, {
|
||||
label: 'Associate research fellow',
|
||||
}, {
|
||||
label: 'Assistant research fellow',
|
||||
}, {
|
||||
label: 'Engineer',
|
||||
}, {
|
||||
label: 'Senior engineer',
|
||||
},
|
||||
{
|
||||
label: 'Associate Researcher',
|
||||
},
|
||||
{
|
||||
label: 'Lecturer',
|
||||
},
|
||||
{
|
||||
label: 'Associate Chief Physician',
|
||||
},
|
||||
{
|
||||
label: 'Assistant Researcher',
|
||||
},
|
||||
{
|
||||
label: 'Physician',
|
||||
},
|
||||
{
|
||||
label: 'Chief Physician',
|
||||
},
|
||||
{
|
||||
label: 'Senior Lecturer',
|
||||
},
|
||||
{
|
||||
label: 'Research Fellow',
|
||||
},
|
||||
{
|
||||
label: 'Senior Investigator',
|
||||
},
|
||||
],
|
||||
fileL_pdf1: [],
|
||||
pwdVisible: false,
|
||||
usermsgList: [],
|
||||
@@ -1477,7 +1479,7 @@
|
||||
}
|
||||
if (res.data.asReviewer) {
|
||||
this.review_journal = res.data.asReviewer.journal
|
||||
this.reviewTable = res.data.asReviewer
|
||||
this.reviewTable = res.data.asReviewer
|
||||
if (!this.usercap.includes('reviewer')) {
|
||||
localStorage.setItem('U_role', this.usercap + ',reviewer')
|
||||
}
|
||||
@@ -1491,7 +1493,11 @@
|
||||
if (res.data.Yboard) {
|
||||
this.youth_journal = res.data.Yboard
|
||||
for (let i = 0; i < this.youth_journal.length; i++) {
|
||||
this.youth_journal[i].arrowMark = 0
|
||||
if (i == 0) {
|
||||
this.youth_journal[i].arrowMark = 1
|
||||
} else {
|
||||
this.youth_journal[i].arrowMark = 0
|
||||
}
|
||||
}
|
||||
if (!this.usercap.includes('yboard')) {
|
||||
localStorage.setItem('U_role', this.usercap + ',yboard')
|
||||
@@ -2685,4 +2691,4 @@
|
||||
line-height: 140px;
|
||||
text-align: center;
|
||||
} */
|
||||
</style>
|
||||
</style>
|
||||
@@ -76,7 +76,7 @@
|
||||
<el-option v-for="item in journal_type" :key="item.value" :label="item.name"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
|
||||
|
||||
</el-form-item>
|
||||
<el-form-item label="Major :" :required="true" prop="major_a">
|
||||
<el-select v-model="form.major_a" placeholder="Please select major" @change="majorChange(1)"
|
||||
@@ -100,14 +100,32 @@
|
||||
<el-form-item label="Manuscript Title :" prop="title">
|
||||
<el-input v-model="form.title" placeholder="Please enter title"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="Whether ethical approval was obtained ?" v-show="form.type == 'A'"
|
||||
<el-form-item label="Whether ethical approval was obtained ?" prop="approval"
|
||||
label-width="300px">
|
||||
<el-switch v-model="form.approval" active-text="yes" inactive-text="no"></el-switch>
|
||||
<p v-show="form.approval == true"
|
||||
style="display: inline-block;width: 440px;margin-left: 60px;vertical-align: top;line-height: 22px;color: #999;font-size: 12px;">
|
||||
For authors who selected 'Yes', please provide the approval number and name of the
|
||||
ethics committee or institutional review board that approved the study.
|
||||
</p>
|
||||
<el-radio-group v-model="form.approval">
|
||||
<el-radio :label="1">Yes</el-radio>
|
||||
<el-radio :label="0">No</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="Ethical approval file :" prop="approval_file" v-if="form.approval == 1"
|
||||
label-width="300px">
|
||||
<el-upload ref="uploadFile" class="upload-demo up_newstyle" :action="upload_articleApproval"
|
||||
accept=".pdf" name="articleApproval" :before-upload="beforeupload_articleApproval"
|
||||
:on-error="uperr_coverLetter" :on-success="upSuccess_articleApproval" :limit="1"
|
||||
:on-exceed="alertlimit" :on-remove="removefilearticleApproval" :file-list="fileL_articleApproval"
|
||||
:on-preview="dowloadFile">
|
||||
<div class="el-upload__text" @click="clearUploadedFile">
|
||||
<em>Upload</em>
|
||||
</div>
|
||||
<div class="el-upload__tip" slot="tip">
|
||||
Only Word and compressed files can be uploaded (file format: .pdf).
|
||||
</div>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item label="Explain the reason clearly :" prop="approval_content"
|
||||
v-if="form.approval === 0" label-width="300px">
|
||||
<el-input type="textarea" rows="2" v-model="form.approval_content"
|
||||
placeholder="Please enter"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="Abstract :" prop="abstrart">
|
||||
<el-input type="textarea" rows="5" v-model="form.abstrart"
|
||||
@@ -326,7 +344,7 @@
|
||||
Only Word and compressed files can be uploaded (file format: .docx).
|
||||
</div>
|
||||
</el-upload>
|
||||
|
||||
|
||||
</el-form-item>
|
||||
<el-form-item label="Supplementary Material :" label-width="200px">
|
||||
<el-upload class="upload-demo up_newstyle" :action="upload_supplementary" accept=".zip"
|
||||
@@ -488,7 +506,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="Major :" prop="major_all">
|
||||
<el-cascader :options="step4MajorList" v-model="item.major_all" :props="default4Params"
|
||||
placeholder="Please select major" style="width: 270px;" clearable ></el-cascader>
|
||||
placeholder="Please select major" style="width: 270px;" clearable></el-cascader>
|
||||
</el-form-item>
|
||||
<el-button :disabled="tuiJianForm.length==1" @click="onDeleteTuijian(item, index)"
|
||||
type="danger" icon="el-icon-delete" class="shanchu_tj"></el-button>
|
||||
@@ -653,7 +671,7 @@
|
||||
checkedjours: [],
|
||||
abstrart: '',
|
||||
type: '',
|
||||
approval: false,
|
||||
approval: '',
|
||||
istransfer: false,
|
||||
becomeRev: false,
|
||||
keyWords: '',
|
||||
@@ -664,6 +682,8 @@
|
||||
totalpage: '',
|
||||
manuscirpt: '',
|
||||
supplementary: '',
|
||||
approval_file:'',
|
||||
approval_content:'',
|
||||
code: '',
|
||||
// topics:null
|
||||
},
|
||||
@@ -756,6 +776,7 @@
|
||||
major_all: ''
|
||||
}],
|
||||
countrys: [],
|
||||
fileL_articleApproval: [],
|
||||
fileL_coverLetter: [],
|
||||
fileL_picturesAndTables: [],
|
||||
fileL_manuscirpt: [],
|
||||
@@ -857,6 +878,21 @@
|
||||
message: 'Please select major',
|
||||
trigger: 'blur'
|
||||
}],
|
||||
approval: [{
|
||||
required: true,
|
||||
message: 'Please select whether ethical approval was obtained',
|
||||
trigger: 'blur'
|
||||
}],
|
||||
approval_content: [{
|
||||
required: true,
|
||||
message: 'Please enter reason',
|
||||
trigger: 'blur'
|
||||
}],
|
||||
approval_file: [{
|
||||
required: true,
|
||||
message: 'Please upload ethical approva file',
|
||||
trigger: 'blur'
|
||||
}],
|
||||
},
|
||||
activeNames: [1],
|
||||
keywordsList: [{
|
||||
@@ -874,22 +910,22 @@
|
||||
companyList: [],
|
||||
countrys: [],
|
||||
majorList: [],
|
||||
step4MajorList:[], // 第四步的major数据
|
||||
step4MajorList: [], // 第四步的major数据
|
||||
jl_major: [],
|
||||
defaultParams: {
|
||||
label: 'title',
|
||||
value: 'major_id',
|
||||
children: 'children'
|
||||
},
|
||||
default4Params:{
|
||||
default4Params: {
|
||||
label: 'major_title',
|
||||
value: 'major_id',
|
||||
children: 'children'
|
||||
},
|
||||
mj_jour: [],
|
||||
jour_name: '',
|
||||
topicsList:null, // 话题列表
|
||||
topicsProps:{
|
||||
topicsList: null, // 话题列表
|
||||
topicsProps: {
|
||||
multiple: true,
|
||||
emitPath: false, // 只返回该节点的值
|
||||
value: "journal_topic_id", // 自定义要映射的键名
|
||||
@@ -917,6 +953,9 @@
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
upload_articleApproval: function() {
|
||||
return this.baseUrl + 'api/Article/up_approval_file';
|
||||
},
|
||||
upload_coverLetter: function() {
|
||||
return this.baseUrl + 'api/Article/up_file/type/coverLetter';
|
||||
},
|
||||
@@ -1030,14 +1069,15 @@
|
||||
if (vali) {
|
||||
tuijian_yanzheng += 0
|
||||
//this.tuiJianForm[i].major = this.tuiJianForm[i].major_all[0]
|
||||
this.tuiJianForm[i].major = this.tuiJianForm[i].major_all[this.tuiJianForm[i].major_all.length - 1]
|
||||
this.tuiJianForm[i].major = this.tuiJianForm[i].major_all[this
|
||||
.tuiJianForm[i].major_all.length - 1]
|
||||
//this.tuiJianForm[i].cmajor = this.tuiJianForm[i].major_all[1]
|
||||
} else {
|
||||
tuijian_yanzheng += 1
|
||||
}
|
||||
})
|
||||
}
|
||||
this.form.reviewers = this.tuiJianForm
|
||||
this.form.reviewers = this.tuiJianForm
|
||||
} else {
|
||||
this.form.reviewers = []
|
||||
}
|
||||
@@ -1192,21 +1232,20 @@
|
||||
'value': res.data.companys[i].title
|
||||
})
|
||||
}
|
||||
});
|
||||
});
|
||||
this.$api
|
||||
.post('/api/Reviewer/getMajorForReviewer', {
|
||||
username: localStorage.getItem('U_name'),
|
||||
}).then(res => {
|
||||
}).then(res => {
|
||||
if (res.data.major != 0) {
|
||||
this.$api
|
||||
.post('api/User/getMajorList')
|
||||
.then(res => {
|
||||
this.majorList = res.data;
|
||||
|
||||
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
this.$api
|
||||
.post('api/Reviewer/getAllMajor')
|
||||
.then(res => {
|
||||
@@ -1219,12 +1258,12 @@
|
||||
this.checkReviewer()
|
||||
|
||||
this.$api
|
||||
.post('api/Major/getMajorList')
|
||||
.then(res => {
|
||||
console.log(res,99)
|
||||
this.step4MajorList = res.data.majors;
|
||||
|
||||
})
|
||||
.post('api/Major/getMajorList')
|
||||
.then(res => {
|
||||
console.log(res, 99)
|
||||
this.step4MajorList = res.data.majors;
|
||||
|
||||
})
|
||||
|
||||
},
|
||||
|
||||
@@ -1396,6 +1435,17 @@
|
||||
document.body.removeChild(downloadElement);
|
||||
},
|
||||
//检验上传文件的格式
|
||||
beforeupload_articleApproval(file) {
|
||||
// const ismau =
|
||||
// file.type === 'application/msword' ||
|
||||
// file.type === 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' ||
|
||||
// file.type === 'application/x-zip-compressed' ||
|
||||
// file.name.split('.')[1] === 'rar';
|
||||
// if (!ismau) {
|
||||
// this.$message.error('Only word and compressed files(.doc,.docx,.rar,.zip)');
|
||||
// }
|
||||
// return ismau;
|
||||
},
|
||||
beforeupload_coverLetter(file) {
|
||||
// const isWORd =
|
||||
// file.type === 'application/msword' ||
|
||||
@@ -1451,6 +1501,17 @@
|
||||
// return ismau;
|
||||
},
|
||||
//文件上传成功后的操作
|
||||
upSuccess_articleApproval(res, file) {
|
||||
if (res.code == 0) {
|
||||
this.form.approval_file = 'articleApproval/' + res.upurl;
|
||||
this.fileL_articleApproval = [{}];
|
||||
this.fileL_articleApproval[0].name = "Ethical approval File";
|
||||
this.fileL_articleApproval[0].url = 'articleApproval/' + res.upurl;
|
||||
} else {
|
||||
this.$message.error('service error: ' + res.msg);
|
||||
}
|
||||
console.log(this.form)
|
||||
},
|
||||
upSuccess_coverLetter(res, file) {
|
||||
if (res.code == 0) {
|
||||
this.form.coverLetter = 'coverLetter/' + res.upurl;
|
||||
@@ -1510,6 +1571,10 @@
|
||||
this.$message.error('The maximum number of uploaded files has been exceeded');
|
||||
},
|
||||
//清除文件时的事件
|
||||
removefilearticleApproval(file, fileList) {
|
||||
this.form.approval_file = '';
|
||||
this.fileL_articleApproval = [];
|
||||
},
|
||||
removefilecoverLetter(file, fileList) {
|
||||
this.form.coverLetter = '';
|
||||
this.fileL_coverLetter = []
|
||||
@@ -1709,9 +1774,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
showFiles() {
|
||||
// 文件显示出来
|
||||
this.fileL_articleApproval = [];
|
||||
if (this.form.approval_file != '') {
|
||||
this.fileL_articleApproval = [{}]
|
||||
this.fileL_articleApproval[0].name = "Ethical approval file";
|
||||
this.fileL_articleApproval[0].url = this.form.approval_file;
|
||||
}
|
||||
this.fileL_coverLetter = [];
|
||||
if (this.form.coverLetter != '') {
|
||||
this.fileL_coverLetter = [{}]
|
||||
@@ -1965,8 +2036,10 @@
|
||||
this.form.type = res.data.base.type
|
||||
this.form.title = res.data.base.title
|
||||
this.form.approval = res.data.base.approval
|
||||
this.form.approval_content = res.data.base.approval_content
|
||||
this.form.abstrart = res.data.base.abstrart
|
||||
this.form.fund = res.data.base.fund
|
||||
console.log(res.data.base)
|
||||
// this.form.topics = res.data.base.topics
|
||||
// 领域
|
||||
this.$api
|
||||
@@ -2034,6 +2107,10 @@
|
||||
// 文件
|
||||
if (res.data.files.length > 0) {
|
||||
for (let i = 0; i < res.data.files.length; i++) {
|
||||
if (res.data.files[i].type_name == 'articleApprova') {
|
||||
this.form.approval_file = res.data.files[i].file_url
|
||||
this.form.approval_fileId = res.data.files[i].file_id
|
||||
}
|
||||
if (res.data.files[i].type_name == 'coverLetter') {
|
||||
this.form.coverLetter = res.data.files[i].file_url
|
||||
this.form.coverLetterId = res.data.files[i].file_id
|
||||
@@ -2065,20 +2142,22 @@
|
||||
},
|
||||
|
||||
// 获取话题
|
||||
getTopics(){
|
||||
this.$api
|
||||
.post('api/Article/getJournalTopics', {'journal_id': this.Reviewerof.journal})
|
||||
.then((res) => {
|
||||
if (res.code == 0) {
|
||||
this.topicsList = res.data.topics
|
||||
// console.log(res.data.topics,'话题')
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
});
|
||||
getTopics() {
|
||||
this.$api
|
||||
.post('api/Article/getJournalTopics', {
|
||||
'journal_id': this.Reviewerof.journal
|
||||
})
|
||||
.then((res) => {
|
||||
if (res.code == 0) {
|
||||
this.topicsList = res.data.topics
|
||||
// console.log(res.data.topics,'话题')
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 选中值变化
|
||||
topicsChange(e){
|
||||
topicsChange(e) {
|
||||
// console.log(this.form.topics,'选中的话题id')
|
||||
}
|
||||
|
||||
@@ -2087,7 +2166,7 @@
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.formTopics{
|
||||
.formTopics {
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
@@ -2343,7 +2422,7 @@
|
||||
.jour_ku_all {
|
||||
font-size: 12px;
|
||||
float: left;
|
||||
width: 210px;
|
||||
width: 265px;
|
||||
padding-left: 10px;
|
||||
cursor: pointer;
|
||||
color: #666;
|
||||
@@ -2351,11 +2430,11 @@
|
||||
}
|
||||
|
||||
.jour_ku_all:nth-child(3n+1) {
|
||||
width: 270px;
|
||||
width: 230px;
|
||||
}
|
||||
|
||||
.jour_ku_all:nth-child(3n+2) {
|
||||
width: 240px;
|
||||
width: 220px;
|
||||
}
|
||||
|
||||
.jour_ku_all.B_style {
|
||||
@@ -2419,4 +2498,4 @@
|
||||
word-break: break-word;
|
||||
text-align: left;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
@@ -22,8 +22,19 @@
|
||||
<font>Title :</font>
|
||||
<b> {{form.title}}</b>
|
||||
</p>
|
||||
<p v-show="form.type=='A'">
|
||||
<!-- <p v-show="form.type=='A'">
|
||||
<font>Ethical Approval :</font><b>{{form.approval?'Yes':'No'}}</b>
|
||||
</p> -->
|
||||
<p>
|
||||
<font>Ethical Approval :</font><b>{{form.approval?'Yes':'No'}}</b>
|
||||
<a target="_blank" :href="mediaUrl + form.approval_file" v-if="form.approval==1&&form.approval_file!=''" style="color: #777;">
|
||||
<img src="../../assets/img/icon_0.png" style="vertical-align: text-bottom;margin: 0 10px 0 30px;width: 15px;">
|
||||
<font>Ethical approval file</font>
|
||||
<i class="el-icon-download download" style="vertical-align: middle;margin:0 20px;font-weight: bold;color: #75abf1;"></i>
|
||||
</a>
|
||||
</p>
|
||||
<p v-if="form.approval==0&&form.approval_content!=''">
|
||||
<font>Explain the reason clearly :</font><b>{{form.approval_content}}</b>
|
||||
</p>
|
||||
<p v-if="form.special_num > 0">
|
||||
<font>Special Issues :</font><b>{{ form.special_title }}</b>
|
||||
@@ -499,6 +510,8 @@
|
||||
type: '',
|
||||
major: '',
|
||||
approval: false,
|
||||
approval_file:'',
|
||||
approval_content:'',
|
||||
repetition: '',
|
||||
manuscirpt: '',
|
||||
remarks: '',
|
||||
@@ -767,6 +780,8 @@
|
||||
this.form.special_title = res.article.special_title;
|
||||
this.form.major = res.major;
|
||||
this.form.approval = res.article.approval == 1 ? true : false;
|
||||
this.form.approval_file = res.article.approval_file
|
||||
this.form.approval_content = res.article.approval_content
|
||||
this.form.repetition = res.article.repetition;
|
||||
this.form.remarks = res.article.remarks;
|
||||
this.form.repeurl = res.article.repeurl;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div >
|
||||
<div>
|
||||
<div class="crumbs">
|
||||
<el-breadcrumb separator="/">
|
||||
<el-breadcrumb-item>
|
||||
@@ -96,8 +96,8 @@
|
||||
<font> | </font>
|
||||
<span @click="goPre_ingested(item.article_id)" class="preButton">
|
||||
<!-- <el-badge is-dot class="item" > -->
|
||||
<i class="el-icon-edit"></i>Enter Pre-accept Process
|
||||
<!-- </el-badge> -->
|
||||
<i class="el-icon-edit"></i>Enter Pre-accept Process
|
||||
<!-- </el-badge> -->
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
@@ -135,7 +135,7 @@
|
||||
<span style="margin: 0 4px 0 5px;">Click here to :</span>
|
||||
<b style="color: #5fab3b;">Confirm the Proof</b>
|
||||
</router-link>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -157,8 +157,16 @@
|
||||
<p>
|
||||
<font>Type :</font><b>{{artextForm.type | ellipsis}}</b>
|
||||
</p>
|
||||
<p v-show="artextForm.type=='A'">
|
||||
<p>
|
||||
<font>Ethical Approval :</font><b>{{artextForm.approval?'Yes':'No'}}</b>
|
||||
<a target="_blank" :href="mediaUrl + artextForm.approval_file" v-if="artextForm.approval==1&&artextForm.approval_file!=''" style="color: #777;">
|
||||
<img src="../../assets/img/icon_0.png" style="vertical-align: text-bottom;margin: 0 10px 0 30px;width: 15px;">
|
||||
<font>Ethical approval file</font>
|
||||
<i class="el-icon-download download" style="vertical-align: middle;margin:0 20px;font-weight: bold;color: #75abf1;"></i>
|
||||
</a>
|
||||
</p>
|
||||
<p v-if="artextForm.approval==0&&artextForm.approval_content!=''">
|
||||
<font>Explain the reason clearly :</font><b>{{artextForm.approval_content}}</b>
|
||||
</p>
|
||||
<p v-if="artextForm.special_num > 0">
|
||||
<font>Special Issues :</font><b>{{ artextForm.special_title }}</b>
|
||||
@@ -312,59 +320,64 @@
|
||||
</template>
|
||||
<!-- 时间轴 -->
|
||||
<el-timeline v-if="item.question && item.question[0] != null">
|
||||
<el-timeline-item :timestamp="item1.ctime|formatDatehms" placement="top" v-for="(item1, index1) in item.question" :key="index1">
|
||||
<el-card>
|
||||
<!-- 初审 -->
|
||||
<div v-if="index1 == item.question.length-1">
|
||||
<h4><el-tag >Under review</el-tag></h4>
|
||||
<!-- 内容 -->
|
||||
<div class="art_author_coment">
|
||||
<p v-if="item1.qu9_contents!=''">
|
||||
<font>Does the title represent manuscript's contents?</font>
|
||||
<pre>{{item1.qu9_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item1.qu10_contents!=''">
|
||||
<font>Is the Abstract accurate and concise?</font>
|
||||
<pre>{{item1.qu10_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item1.qu11_contents!=''">
|
||||
<font>Are the approach/ methods properly described?</font>
|
||||
<pre>{{item1.qu11_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item1.qu12_contents!=''">
|
||||
<font>Are the conclusions and interpretations sound?</font>
|
||||
<pre>{{item1.qu12_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item1.qu13_contents!=''">
|
||||
<font>Are the references properly cited?</font>
|
||||
<pre>{{item1.qu13_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item1.comments!=''">
|
||||
<font>Comments for the Authors</font>
|
||||
<pre>{{item1.comments}}</pre>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<!-- 复审 -->
|
||||
<el-tag type="success">Second review</el-tag>
|
||||
<p style="margin-top: 20px;" >
|
||||
<i class="el-icon-check final Accept" v-if="item1.recommend == 1" >{{item1.recommend | getOpinion}}</i>
|
||||
<i class="el-icon-close final Reject" v-if="item1.recommend == 2" >{{item1.recommend | getOpinion}}</i>
|
||||
<i class="el-icon-refresh-left final Revison" v-if="item1.recommend == 3" >{{item1.recommend | getOpinion}}</i>
|
||||
</p>
|
||||
<p class="commentfs" v-if="item1.recommend == 3" style="margin-bottom: 10px;">
|
||||
<font style="display: inline-block; margin-right: 20px;">Comments for the Authors</font>
|
||||
<pre>{{item1.content}}</pre>
|
||||
</p>
|
||||
<p style="" class="stime" v-if="item1.stime != 0">
|
||||
Response time: {{item1.stime|formatDatehms}} * {{item1.stime}}
|
||||
</p>
|
||||
</div>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
</el-timeline>
|
||||
<!-- end -->
|
||||
<el-timeline-item :timestamp="item1.ctime|formatDatehms" placement="top"
|
||||
v-for="(item1, index1) in item.question" :key="index1">
|
||||
<el-card>
|
||||
<!-- 初审 -->
|
||||
<div v-if="index1 == item.question.length-1">
|
||||
<h4><el-tag>Under review</el-tag></h4>
|
||||
<!-- 内容 -->
|
||||
<div class="art_author_coment">
|
||||
<p v-if="item1.qu9_contents!=''">
|
||||
<font>Does the title represent manuscript's contents?</font>
|
||||
<pre>{{item1.qu9_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item1.qu10_contents!=''">
|
||||
<font>Is the Abstract accurate and concise?</font>
|
||||
<pre>{{item1.qu10_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item1.qu11_contents!=''">
|
||||
<font>Are the approach/ methods properly described?</font>
|
||||
<pre>{{item1.qu11_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item1.qu12_contents!=''">
|
||||
<font>Are the conclusions and interpretations sound?</font>
|
||||
<pre>{{item1.qu12_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item1.qu13_contents!=''">
|
||||
<font>Are the references properly cited?</font>
|
||||
<pre>{{item1.qu13_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item1.comments!=''">
|
||||
<font>Comments for the Authors</font>
|
||||
<pre>{{item1.comments}}</pre>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<!-- 复审 -->
|
||||
<el-tag type="success">Second review</el-tag>
|
||||
<p style="margin-top: 20px;">
|
||||
<i class="el-icon-check final Accept"
|
||||
v-if="item1.recommend == 1">{{item1.recommend | getOpinion}}</i>
|
||||
<i class="el-icon-close final Reject"
|
||||
v-if="item1.recommend == 2">{{item1.recommend | getOpinion}}</i>
|
||||
<i class="el-icon-refresh-left final Revison"
|
||||
v-if="item1.recommend == 3">{{item1.recommend | getOpinion}}</i>
|
||||
</p>
|
||||
<p class="commentfs" v-if="item1.recommend == 3" style="margin-bottom: 10px;">
|
||||
<font style="display: inline-block; margin-right: 20px;">Comments for the
|
||||
Authors</font>
|
||||
<pre>{{item1.content}}</pre>
|
||||
</p>
|
||||
<p style="" class="stime" v-if="item1.stime != 0">
|
||||
Response time: {{item1.stime|formatDatehms}} * {{item1.stime}}
|
||||
</p>
|
||||
</div>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
</el-timeline>
|
||||
<!-- end -->
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
<p v-if="comentDeploy==''" style="color: #888888;margin: 0 0 0 10px;">No Comment</p>
|
||||
@@ -473,11 +486,11 @@
|
||||
|
||||
},
|
||||
// 显示预收录页面
|
||||
goPre_ingested(id){
|
||||
goPre_ingested(id) {
|
||||
this.$router.push({
|
||||
path: 'PreIngested',
|
||||
query: {
|
||||
id: id
|
||||
id: id
|
||||
// id: 3070
|
||||
}
|
||||
});
|
||||
@@ -503,8 +516,8 @@
|
||||
// 弹出框
|
||||
this.comentDeploy = res.suggest
|
||||
this.comentDeploy.map(item => {
|
||||
if(item.question && item.question.length > 0)
|
||||
item.question = item.question.reverse()
|
||||
if (item.question && item.question.length > 0)
|
||||
item.question = item.question.reverse()
|
||||
})
|
||||
// this.activeComment = []
|
||||
// for (var i = 0; i < res.suggest.length; i++) {
|
||||
@@ -572,6 +585,7 @@
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
|
||||
@@ -594,9 +608,9 @@
|
||||
},
|
||||
},
|
||||
filters: {
|
||||
|
||||
|
||||
// 复审意见结果
|
||||
getOpinion(value){
|
||||
getOpinion(value) {
|
||||
switch (value) {
|
||||
case 1:
|
||||
return 'Accept'
|
||||
@@ -609,7 +623,7 @@
|
||||
break;
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
// 文章类型
|
||||
ellipsis(value) {
|
||||
let frag = '';
|
||||
@@ -786,14 +800,36 @@
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.time p{color: #606266;}
|
||||
.Accept{color: #67c23a;}
|
||||
.Reject{color: #909399;}
|
||||
.Revison{color: #e6a23c;}
|
||||
.final{ font-size: 20px;}
|
||||
.preButton{ display: inline-block; position: relative; }
|
||||
/* .preButton:after{content: ''; display: block; width: 6px; height: 6px; background: #ff0000; position: absolute; right: 0; top: -5px; border-radius: 6px;} */
|
||||
.preButton:hover{text-decoration:underline !important;}
|
||||
.time p {
|
||||
color: #606266;
|
||||
}
|
||||
|
||||
.Accept {
|
||||
color: #67c23a;
|
||||
}
|
||||
|
||||
.Reject {
|
||||
color: #909399;
|
||||
}
|
||||
|
||||
.Revison {
|
||||
color: #e6a23c;
|
||||
}
|
||||
|
||||
.final {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.preButton {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* .preButton:after{content: ''; display: block; width: 6px; height: 6px; background: #ff0000; position: absolute; right: 0; top: -5px; border-radius: 6px;} */
|
||||
.preButton:hover {
|
||||
text-decoration: underline !important;
|
||||
}
|
||||
|
||||
.container {
|
||||
color: #333;
|
||||
}
|
||||
@@ -979,4 +1015,4 @@
|
||||
font-weight: bold;
|
||||
letter-spacing: -0.5px;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
@@ -39,274 +39,283 @@
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleSearch" style="margin:0 0 10px 0;">Search
|
||||
</el-button>
|
||||
</div>
|
||||
<div v-if="!PreAcpVisible" >
|
||||
<div v-for="(item,ikgn) in tableData" class="mangu_list">
|
||||
<div>
|
||||
<font style="color: #666b7a;">ID : </font>
|
||||
<span
|
||||
style="background-color: #006699;width: 20px;color: #fff;margin: 0 2px 0 0;font-weight: bold;padding: 2px 4px;"
|
||||
v-if="item.special_num>0">S
|
||||
</span>
|
||||
{{item.accept_sn}}
|
||||
<!-- <b @click="showdetaileditor(item)" class="btnCliArt" style="margin-left: 15px;">
|
||||
<div v-if="!PreAcpVisible">
|
||||
<div v-for="(item,ikgn) in tableData" class="mangu_list">
|
||||
<div>
|
||||
<font style="color: #666b7a;">ID : </font>
|
||||
<span
|
||||
style="background-color: #006699;width: 20px;color: #fff;margin: 0 2px 0 0;font-weight: bold;padding: 2px 4px;"
|
||||
v-if="item.special_num>0">S
|
||||
</span>
|
||||
{{item.accept_sn}}
|
||||
<!-- <b @click="showdetaileditor(item)" class="btnCliArt" style="margin-left: 15px;">
|
||||
<i class="el-icon-collection"></i> Detail
|
||||
</b> -->
|
||||
|
||||
<span style="color: #666b7a;margin-left: 40px;">Type :</span>
|
||||
<font>
|
||||
{{artType(item.type)}}
|
||||
</font>
|
||||
<span style="color: #666b7a;margin-left: 40px;">Countries :</span>
|
||||
<!-- <span :class="item.countrys.length > 1 ? 'Countries': ''" > -->
|
||||
<span style="color: #666b7a;margin-left: 40px;">Type :</span>
|
||||
<font>
|
||||
{{artType(item.type)}}
|
||||
</font>
|
||||
<span style="color: #666b7a;margin-left: 40px;">Countries :</span>
|
||||
<!-- <span :class="item.countrys.length > 1 ? 'Countries': ''" > -->
|
||||
<font v-for="(iken, index) in item.countrys">
|
||||
{{iken}}
|
||||
<font v-if="index!=item.countrys.length-1">,</font>
|
||||
</font>
|
||||
<!-- </span> -->
|
||||
<span style="color: #666b7a;margin-left: 40px;">Status :</span>
|
||||
<font style="margin-right: 15px;font-size: 16px;font-weight: bold;letter-spacing: -0.5px;">
|
||||
{{stateFormat(item.state)}}
|
||||
</font>
|
||||
<b v-if="item.state!=5" @click="testvis(item)" class="btnCliArt">
|
||||
<i class="el-icon-edit"></i> Change
|
||||
</b>
|
||||
<b v-if="item.state==5" @click="prodBegin(item)" class="btnCliArt">
|
||||
<i class="el-icon-paperclip"></i> Begin Produce
|
||||
</b>
|
||||
<span style="color: #666b7a;margin-left: 40px;">Plagiarism Check :</span>
|
||||
<font style="margin-right: 16px;font-size: 15px;font-weight: bold;">
|
||||
{{item.repetition}} %
|
||||
</font>
|
||||
<b @click="changeRepe(item)" class="btnCliArt">
|
||||
<i class="el-icon-edit"></i> Change
|
||||
</b>
|
||||
<b @click="openTracking(item)" class="btnCliArt" style="margin-left: 50px;">
|
||||
<i class="el-icon-data-line"></i> Manuscript Tracking
|
||||
</b>
|
||||
</div>
|
||||
<div class="man_title">
|
||||
<el-badge is-dot :hidden="item.author_act==1?false:true">
|
||||
<b @click="showdetaileditor(item)">
|
||||
{{item.title}}
|
||||
<!-- </span> -->
|
||||
<span style="color: #666b7a;margin-left: 40px;">Status :</span>
|
||||
<font style="margin-right: 15px;font-size: 16px;font-weight: bold;letter-spacing: -0.5px;">
|
||||
{{stateFormat(item.state)}}
|
||||
</font>
|
||||
<b v-if="item.state!=5" @click="testvis(item)" class="btnCliArt">
|
||||
<i class="el-icon-edit"></i> Change
|
||||
</b>
|
||||
<b v-if="item.state==5" @click="prodBegin(item)" class="btnCliArt">
|
||||
<i class="el-icon-paperclip"></i> Begin Produce
|
||||
</b>
|
||||
<span style="color: #666b7a;margin-left: 40px;">Plagiarism Check :</span>
|
||||
<font style="margin-right: 16px;font-size: 15px;font-weight: bold;">
|
||||
{{item.repetition}} %
|
||||
</font>
|
||||
<b @click="changeRepe(item)" class="btnCliArt">
|
||||
<i class="el-icon-edit"></i> Change
|
||||
</b>
|
||||
<b @click="openTracking(item)" class="btnCliArt" style="margin-left: 50px;">
|
||||
<i class="el-icon-data-line"></i> Manuscript Tracking
|
||||
</b>
|
||||
</el-badge>
|
||||
</div>
|
||||
|
||||
<div style="display: flex;margin-left: auto;">
|
||||
<div class="fixCard" style="width: 33%;">
|
||||
<b style="font-size: 16px;letter-spacing: -0.5px;">Manuscript Files</b>
|
||||
<p style="height: 10px;"></p>
|
||||
<div class="fi_new" v-if="item.file.coverLetter">
|
||||
<p>
|
||||
Cover letter
|
||||
<sup style="color: #006699;">({{item.file.coverLetter.length}})</sup> :
|
||||
<b class="btnUpDown el-icon-arrow-up"
|
||||
v-if="item.file_cover==0&&item.file.coverLetter.length>1"
|
||||
@click="changeFileUpdown(1,ikgn,'file_cover')"></b>
|
||||
<b class="btnUpDown el-icon-arrow-down"
|
||||
v-if="item.file_cover==1&&item.file.coverLetter.length>1"
|
||||
@click="changeFileUpdown(0,ikgn,'file_cover')"></b>
|
||||
</p>
|
||||
<div v-for="ikrm in item.file.coverLetter" v-if="item.file_cover==1">
|
||||
<img src="../../assets/img/icon_0.png">
|
||||
<span>
|
||||
<font>Uploader : </font>{{ikrm.username}}
|
||||
<i><i class="el-icon-time"></i>{{formatDate(ikrm.ctime)}}</i>
|
||||
</span>
|
||||
<a :href="mediaUrl + ikrm.file_url">
|
||||
<i class="el-icon-download download"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fi_new" v-if="item.file.picturesAndTables">
|
||||
<p>
|
||||
Figures
|
||||
<sup style="color: #006699;">({{item.file.picturesAndTables.length}})</sup> :
|
||||
<b class="btnUpDown el-icon-arrow-up"
|
||||
v-if="item.file_figer==0&&item.file.picturesAndTables.length>1"
|
||||
@click="changeFileUpdown(1,ikgn,'file_figer')"></b>
|
||||
<b class="btnUpDown el-icon-arrow-down"
|
||||
v-if="item.file_figer==1&&item.file.picturesAndTables.length>1"
|
||||
@click="changeFileUpdown(0,ikgn,'file_figer')"></b>
|
||||
</p>
|
||||
<div v-for="ikrm in item.file.picturesAndTables" v-if="item.file_figer==1">
|
||||
<img src="../../assets/img/icon_0.png">
|
||||
<span>
|
||||
<font>Uploader : </font>{{ikrm.username}}
|
||||
<i><i class="el-icon-time"></i>{{formatDate(ikrm.ctime)}}</i>
|
||||
</span>
|
||||
<a :href="mediaUrl + ikrm.file_url">
|
||||
<i class="el-icon-download download"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fi_new" v-if="item.file.totalpage">
|
||||
<p>
|
||||
Title page
|
||||
<sup style="color: #006699;">({{item.file.totalpage.length}})</sup> :
|
||||
<b class="btnUpDown el-icon-arrow-up"
|
||||
v-if="item.file_total==0&&item.file.totalpage.length>1"
|
||||
@click="changeFileUpdown(1,ikgn,'file_total')"></b>
|
||||
<b class="btnUpDown el-icon-arrow-down"
|
||||
v-if="item.file_total==1&&item.file.totalpage.length>1"
|
||||
@click="changeFileUpdown(0,ikgn,'file_total')"></b>
|
||||
</p>
|
||||
<div v-for="ikrm in item.file.totalpage" v-if="item.file_total==1">
|
||||
<img src="../../assets/img/icon_0.png">
|
||||
<span>
|
||||
<font>Uploader : </font>{{ikrm.username}}
|
||||
<i><i class="el-icon-time"></i>{{formatDate(ikrm.ctime)}}</i>
|
||||
</span>
|
||||
<a :href="mediaUrl + ikrm.file_url">
|
||||
<i class="el-icon-download download"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fi_new" v-if="item.file.manuscirpt">
|
||||
<p>
|
||||
Manuscirpt
|
||||
<sup style="color: #006699;">({{item.file.manuscirpt.length}})</sup> :
|
||||
<b class="btnUpDown el-icon-arrow-up"
|
||||
v-if="item.file_maun==0&&item.file.manuscirpt.length>1"
|
||||
@click="changeFileUpdown(1,ikgn,'file_maun')"></b>
|
||||
<b class="btnUpDown el-icon-arrow-down"
|
||||
v-if="item.file_maun==1&&item.file.manuscirpt.length>1"
|
||||
@click="changeFileUpdown(0,ikgn,'file_maun')"></b>
|
||||
</p>
|
||||
<div v-for="ikrm in item.file.manuscirpt" v-if="item.file_maun==1">
|
||||
<img src="../../assets/img/icon_0.png">
|
||||
<span>
|
||||
<font>Uploader : </font>{{ikrm.username}}
|
||||
<i><i class="el-icon-time"></i>{{formatDate(ikrm.ctime)}}</i>
|
||||
</span>
|
||||
<a :href="mediaUrl + ikrm.file_url">
|
||||
<i class="el-icon-download download"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fi_new" v-if="item.file.supplementary">
|
||||
<p>
|
||||
Supplementary Material
|
||||
<sup style="color: #006699;">({{item.file.supplementary.length}})</sup> :
|
||||
<b class="btnUpDown el-icon-arrow-up"
|
||||
v-if="item.file_supper==0&&item.file.supplementary.length>1"
|
||||
@click="changeFileUpdown(1,ikgn,'file_supper')"></b>
|
||||
<b class="btnUpDown el-icon-arrow-down"
|
||||
v-if="item.file_supper==1&&item.file.supplementary.length>1"
|
||||
@click="changeFileUpdown(0,ikgn,'file_supper')"></b>
|
||||
</p>
|
||||
<div v-for="ikrm in item.file.supplementary" v-if="item.file_supper==1">
|
||||
<img src="../../assets/img/icon_0.png">
|
||||
<span>
|
||||
<font>Uploader : </font>{{ikrm.username}}
|
||||
<i><i class="el-icon-time"></i>{{formatDate(ikrm.ctime)}}</i>
|
||||
</span>
|
||||
<a :href="mediaUrl + ikrm.file_url">
|
||||
<i class="el-icon-download download"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width: 1%;"></div>
|
||||
<div class="fixCard" style="width: 16%;">
|
||||
<b style="font-size: 16px;letter-spacing: -0.5px;">AI scoring</b>
|
||||
<p style="font-size: 18px;font-weight: bold;margin-bottom: 5px;color: #db890e;"
|
||||
v-if="item.reportList.length>0">
|
||||
<font style="font-size: 14px;font-weight: normal;color: #333;">Initial review score :</font>
|
||||
{{item.scoring}}
|
||||
<i class="el-icon-refresh refreshBtn" @click="refreshScore(item)"></i>
|
||||
</p>
|
||||
<p style="font-size: 18px;font-weight: bold;margin-bottom: 5px;" v-if="item.reportList.length==0">
|
||||
<font style="font-size: 14px;font-weight: normal;">Initial review score :</font>
|
||||
{{item.scoring}} <i class="el-icon-refresh refreshBtn" @click="refreshScore(item)"></i>
|
||||
</p>
|
||||
<p v-if="item.scoring!=0&&item.H!=null" style="color: #999;">{{item.H.google_editor}}
|
||||
</p>
|
||||
<p v-if="item.scoring!=0&&item.H!=null&&item.H.google_time!=0" style="color: #999;">
|
||||
{{formatDate(item.H.google_time)}}
|
||||
</p>
|
||||
<b @click="aiSoring(item)" class="btnCliArt" v-if="item.reportList.length>0"
|
||||
style="margin-top: 10px;display: block;">
|
||||
<i class="el-icon-edit"></i> Edit Hindex
|
||||
<div class="man_title">
|
||||
<el-badge is-dot :hidden="item.author_act==1?false:true">
|
||||
<b @click="showdetaileditor(item)">
|
||||
{{item.title}}
|
||||
</b>
|
||||
</el-badge>
|
||||
<b @click="corrSpe(item)" class="btnCliArt" style="margin-left: 20px;">
|
||||
<i class="el-icon-paperclip"></i> Author's previous articles
|
||||
</b>
|
||||
<!-- <el-button @click="aiSoring(item)" size="mini" type="primary" icon="el-icon-edit"
|
||||
</div>
|
||||
|
||||
<div style="display: flex;margin-left: auto;">
|
||||
<div class="fixCard" style="width: 33%;">
|
||||
<b style="font-size: 16px;letter-spacing: -0.5px;">Manuscript Files</b>
|
||||
<p style="height: 10px;"></p>
|
||||
<div class="fi_new" v-if="item.file.coverLetter">
|
||||
<p>
|
||||
Cover letter
|
||||
<sup style="color: #006699;">({{item.file.coverLetter.length}})</sup> :
|
||||
<b class="btnUpDown el-icon-arrow-up"
|
||||
v-if="item.file_cover==0&&item.file.coverLetter.length>1"
|
||||
@click="changeFileUpdown(1,ikgn,'file_cover')"></b>
|
||||
<b class="btnUpDown el-icon-arrow-down"
|
||||
v-if="item.file_cover==1&&item.file.coverLetter.length>1"
|
||||
@click="changeFileUpdown(0,ikgn,'file_cover')"></b>
|
||||
</p>
|
||||
<div v-for="ikrm in item.file.coverLetter" v-if="item.file_cover==1">
|
||||
<img src="../../assets/img/icon_0.png">
|
||||
<span>
|
||||
<font>Uploader : </font>{{ikrm.username}}
|
||||
<i><i class="el-icon-time"></i>{{formatDate(ikrm.ctime)}}</i>
|
||||
</span>
|
||||
<a :href="mediaUrl + ikrm.file_url">
|
||||
<i class="el-icon-download download"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fi_new" v-if="item.file.picturesAndTables">
|
||||
<p>
|
||||
Figures
|
||||
<sup style="color: #006699;">({{item.file.picturesAndTables.length}})</sup> :
|
||||
<b class="btnUpDown el-icon-arrow-up"
|
||||
v-if="item.file_figer==0&&item.file.picturesAndTables.length>1"
|
||||
@click="changeFileUpdown(1,ikgn,'file_figer')"></b>
|
||||
<b class="btnUpDown el-icon-arrow-down"
|
||||
v-if="item.file_figer==1&&item.file.picturesAndTables.length>1"
|
||||
@click="changeFileUpdown(0,ikgn,'file_figer')"></b>
|
||||
</p>
|
||||
<div v-for="ikrm in item.file.picturesAndTables" v-if="item.file_figer==1">
|
||||
<img src="../../assets/img/icon_0.png">
|
||||
<span>
|
||||
<font>Uploader : </font>{{ikrm.username}}
|
||||
<i><i class="el-icon-time"></i>{{formatDate(ikrm.ctime)}}</i>
|
||||
</span>
|
||||
<a :href="mediaUrl + ikrm.file_url">
|
||||
<i class="el-icon-download download"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fi_new" v-if="item.file.totalpage">
|
||||
<p>
|
||||
Title page
|
||||
<sup style="color: #006699;">({{item.file.totalpage.length}})</sup> :
|
||||
<b class="btnUpDown el-icon-arrow-up"
|
||||
v-if="item.file_total==0&&item.file.totalpage.length>1"
|
||||
@click="changeFileUpdown(1,ikgn,'file_total')"></b>
|
||||
<b class="btnUpDown el-icon-arrow-down"
|
||||
v-if="item.file_total==1&&item.file.totalpage.length>1"
|
||||
@click="changeFileUpdown(0,ikgn,'file_total')"></b>
|
||||
</p>
|
||||
<div v-for="ikrm in item.file.totalpage" v-if="item.file_total==1">
|
||||
<img src="../../assets/img/icon_0.png">
|
||||
<span>
|
||||
<font>Uploader : </font>{{ikrm.username}}
|
||||
<i><i class="el-icon-time"></i>{{formatDate(ikrm.ctime)}}</i>
|
||||
</span>
|
||||
<a :href="mediaUrl + ikrm.file_url">
|
||||
<i class="el-icon-download download"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fi_new" v-if="item.file.manuscirpt">
|
||||
<p>
|
||||
Manuscirpt
|
||||
<sup style="color: #006699;">({{item.file.manuscirpt.length}})</sup> :
|
||||
<b class="btnUpDown el-icon-arrow-up"
|
||||
v-if="item.file_maun==0&&item.file.manuscirpt.length>1"
|
||||
@click="changeFileUpdown(1,ikgn,'file_maun')"></b>
|
||||
<b class="btnUpDown el-icon-arrow-down"
|
||||
v-if="item.file_maun==1&&item.file.manuscirpt.length>1"
|
||||
@click="changeFileUpdown(0,ikgn,'file_maun')"></b>
|
||||
</p>
|
||||
<div v-for="ikrm in item.file.manuscirpt" v-if="item.file_maun==1">
|
||||
<img src="../../assets/img/icon_0.png">
|
||||
<span>
|
||||
<font>Uploader : </font>{{ikrm.username}}
|
||||
<i><i class="el-icon-time"></i>{{formatDate(ikrm.ctime)}}</i>
|
||||
</span>
|
||||
<a :href="mediaUrl + ikrm.file_url">
|
||||
<i class="el-icon-download download"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fi_new" v-if="item.file.supplementary">
|
||||
<p>
|
||||
Supplementary Material
|
||||
<sup style="color: #006699;">({{item.file.supplementary.length}})</sup> :
|
||||
<b class="btnUpDown el-icon-arrow-up"
|
||||
v-if="item.file_supper==0&&item.file.supplementary.length>1"
|
||||
@click="changeFileUpdown(1,ikgn,'file_supper')"></b>
|
||||
<b class="btnUpDown el-icon-arrow-down"
|
||||
v-if="item.file_supper==1&&item.file.supplementary.length>1"
|
||||
@click="changeFileUpdown(0,ikgn,'file_supper')"></b>
|
||||
</p>
|
||||
<div v-for="ikrm in item.file.supplementary" v-if="item.file_supper==1">
|
||||
<img src="../../assets/img/icon_0.png">
|
||||
<span>
|
||||
<font>Uploader : </font>{{ikrm.username}}
|
||||
<i><i class="el-icon-time"></i>{{formatDate(ikrm.ctime)}}</i>
|
||||
</span>
|
||||
<a :href="mediaUrl + ikrm.file_url">
|
||||
<i class="el-icon-download download"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width: 1%;"></div>
|
||||
<div class="fixCard" style="width: 16%;">
|
||||
<b style="font-size: 16px;letter-spacing: -0.5px;">AI scoring</b>
|
||||
<p style="font-size: 18px;font-weight: bold;margin-bottom: 5px;color: #db890e;"
|
||||
v-if="item.reportList.length>0">
|
||||
<font style="font-size: 14px;font-weight: normal;color: #333;">Initial review score :</font>
|
||||
{{item.scoring}}
|
||||
<i class="el-icon-refresh refreshBtn" @click="refreshScore(item)"></i>
|
||||
</p>
|
||||
<p style="font-size: 18px;font-weight: bold;fmargin-bottom: 5px;"
|
||||
v-if="item.reportList.length==0">
|
||||
<font style="font-size: 14px;font-weight: normal;">Initial review score :</font>
|
||||
{{item.scoring}} <i class="el-icon-refresh refreshBtn" @click="refreshScore(item)"></i>
|
||||
</p>
|
||||
<p v-if="item.scoring!=0&&item.H!=null" style="color: #999;">{{item.H.google_editor}}
|
||||
</p>
|
||||
<p v-if="item.scoring!=0&&item.H!=null&&item.H.google_time!=0" style="color: #999;">
|
||||
{{formatDate(item.H.google_time)}}
|
||||
</p>
|
||||
<b @click="aiSoring(item)" class="btnCliArt" v-if="item.reportList.length>0"
|
||||
style="margin-top: 10px;display: block;">
|
||||
<i class="el-icon-edit"></i> Edit Hindex
|
||||
</b>
|
||||
<!-- <el-button @click="aiSoring(item)" size="mini" type="primary" icon="el-icon-edit"
|
||||
v-if="item.reportList.length>0" style="margin-top: 1px;">Edit Hindex</el-button> -->
|
||||
<p v-if="item.review.length>0"
|
||||
style="font-size: 18px;font-weight: bold;margin-top: 15px;padding-top: 10px;border-top: 1px solid #dddddd;color: #db890e;">
|
||||
<font v-if="finalCount(item) > 0 && finalCount(item) != 'NaN'" style="font-size: 14px;font-weight: normal;color: #333;">Comprehensive Score :</font>
|
||||
<span v-if="finalCount(item) > 0 && finalCount(item) != 'NaN'">{{finalCount(item)}}</span>
|
||||
</p>
|
||||
</div>
|
||||
<div style="width: 1%;"></div>
|
||||
<div class="fixCard" style="width: 17%;">
|
||||
<b style="font-size: 16px;letter-spacing: -0.5px;">Reviewer Decision</b>
|
||||
<p style="height: 5px;"></p>
|
||||
<p v-for="(iken, index) in item.reviewScore" style="line-height: 28px;" :key="index">
|
||||
Reviewer{{index+1}} score : <b style="color: #db890e;font-size: 18px;">{{iken.rated}}</b><el-button style="margin-left: 10px;" type="text" @click="crateRevision(iken)" v-if="iken.can_repeat == 1" >Re-review</el-button>
|
||||
</p>
|
||||
<p v-if="item.reviewScore.length>0" style="font-size: 15px;margin: 0 0 5px 0;">
|
||||
Average : <b style="font-size: 18px;color: #db890e;">{{avegeCount(item.reviewScore)}}</b>
|
||||
</p>
|
||||
<p>
|
||||
<span v-for="(iken, index) in item.review" style="display: inline-block;padding: 5px;">
|
||||
<font v-if="iken.state==0"
|
||||
style="width: 12px;height: 12px;display: block;border-radius: 10px;background-color: #ccc;">
|
||||
</font>
|
||||
<font v-if="iken.state==1||iken.state==3"
|
||||
style="width: 12px;height: 12px;display: block;border-radius: 10px;background-color: #67c23a;">
|
||||
</font>
|
||||
<font v-if="iken.state==2"
|
||||
style="width: 12px;height: 12px;display: block;border-radius: 10px;background-color: #f56c6c;">
|
||||
</font>
|
||||
</span>
|
||||
</p>
|
||||
<p style="margin-top: 10px;">
|
||||
<b @click="articleReviewer(item)" class="btnCliArt">
|
||||
<i class="el-icon-edit"></i> Inviting Reviewer
|
||||
</b>
|
||||
<!-- <el-button size="mini" type="primary" icon="el-icon-user" @click="articleReviewer(item)">
|
||||
Inviting Reviewer</el-button> -->
|
||||
</p>
|
||||
</div>
|
||||
<div style="width: 1%;"></div>
|
||||
<div class="fixCard" style="width: 26%;">
|
||||
<b style="font-size: 16px;letter-spacing: -0.5px;">Corresponding Author</b>
|
||||
<p style="height: 10px;"></p>
|
||||
<div style="text-align: left;">
|
||||
<p v-if="item.realname!=''">
|
||||
<font style="color: #999;">Name :</font>
|
||||
{{item.realname}}
|
||||
<span v-if="item.phone!=''" style="margin-left: 5px;color: #666;">({{item.phone}})</span>
|
||||
<p v-if="item.review.length>0"
|
||||
style="font-size: 18px;font-weight: bold;margin-top: 15px;padding-top: 10px;border-top: 1px solid #dddddd;color: #db890e;">
|
||||
<font v-if="finalCount(item) > 0 && finalCount(item) != 'NaN'"
|
||||
style="font-size: 14px;font-weight: normal;color: #333;">Comprehensive Score :</font>
|
||||
<span v-if="finalCount(item) > 0 && finalCount(item) != 'NaN'">{{finalCount(item)}}</span>
|
||||
</p>
|
||||
<p v-if="item.email!=''" style="margin: 8px 0 5px 0;line-height: 22px;">
|
||||
<font style="color: #999;">Email :</font>
|
||||
{{item.email}}
|
||||
<b @click="linkEmail(item)" class="btnCliArt" style="margin-left: 15px;">
|
||||
<i class="el-icon-message"></i> Email
|
||||
</div>
|
||||
<div style="width: 1%;"></div>
|
||||
<div class="fixCard" style="width: 17%;">
|
||||
<b style="font-size: 16px;letter-spacing: -0.5px;">Reviewer Decision</b>
|
||||
<p style="height: 5px;"></p>
|
||||
<p v-for="(iken, index) in item.reviewScore" style="line-height: 28px;" :key="index">
|
||||
Reviewer{{index+1}} score : <b
|
||||
style="color: #db890e;font-size: 18px;">{{iken.rated}}</b><el-button
|
||||
style="margin-left: 10px;" type="text" @click="crateRevision(iken)"
|
||||
v-if="iken.can_repeat == 1">Re-review</el-button>
|
||||
</p>
|
||||
<p v-if="item.reviewScore.length>0" style="font-size: 15px;margin: 0 0 5px 0;">
|
||||
Average : <b style="font-size: 18px;color: #db890e;">{{avegeCount(item.reviewScore)}}</b>
|
||||
</p>
|
||||
<p>
|
||||
<span v-for="(iken, index) in item.review" style="display: inline-block;padding: 5px;">
|
||||
<font v-if="iken.state==0"
|
||||
style="width: 12px;height: 12px;display: block;border-radius: 10px;background-color: #ccc;">
|
||||
</font>
|
||||
<font v-if="iken.state==1||iken.state==3"
|
||||
style="width: 12px;height: 12px;display: block;border-radius: 10px;background-color: #67c23a;">
|
||||
</font>
|
||||
<font v-if="iken.state==2"
|
||||
style="width: 12px;height: 12px;display: block;border-radius: 10px;background-color: #f56c6c;">
|
||||
</font>
|
||||
</span>
|
||||
</p>
|
||||
<p style="margin-top: 10px;">
|
||||
<b @click="articleReviewer(item)" class="btnCliArt">
|
||||
<i class="el-icon-edit"></i> Inviting Reviewer
|
||||
</b>
|
||||
<b @click="linkEmailist(item)" v-if="item.emailh==1" class="btnCliArt"
|
||||
style="margin-left: 15px;">
|
||||
<i class="el-icon-refresh-left"></i> History
|
||||
<!-- <el-button size="mini" type="primary" icon="el-icon-user" @click="articleReviewer(item)">
|
||||
Inviting Reviewer</el-button> -->
|
||||
</p>
|
||||
</div>
|
||||
<div style="width: 1%;"></div>
|
||||
<div class="fixCard" style="width: 26%;">
|
||||
<b style="font-size: 16px;letter-spacing: -0.5px;">Corresponding Author</b>
|
||||
<p style="height: 10px;"></p>
|
||||
<div style="text-align: left;">
|
||||
<p v-if="item.realname!=''">
|
||||
<font style="color: #999;">Name :</font>
|
||||
{{item.realname}}
|
||||
<span v-if="item.phone!=''"
|
||||
style="margin-left: 5px;color: #666;">({{item.phone}})</span>
|
||||
</p>
|
||||
<p v-if="item.email!=''" style="margin: 8px 0 5px 0;line-height: 22px;">
|
||||
<font style="color: #999;">Email :</font>
|
||||
{{item.email}}
|
||||
<b @click="linkEmail(item)" class="btnCliArt" style="margin-left: 15px;">
|
||||
<i class="el-icon-message"></i> Email
|
||||
</b>
|
||||
<b @click="linkEmailist(item)" v-if="item.emailh==1" class="btnCliArt"
|
||||
style="margin-left: 15px;">
|
||||
<i class="el-icon-refresh-left"></i> History
|
||||
</b>
|
||||
</p>
|
||||
</div>
|
||||
<p style="margin-top: 20px;">
|
||||
<b @click="articleCommun(item)" class="btnCliArt">
|
||||
<i class="el-icon-chat-line-square"></i> Communication
|
||||
</b>
|
||||
</p>
|
||||
</div>
|
||||
<p style="margin-top: 20px;">
|
||||
<b @click="articleCommun(item)" class="btnCliArt">
|
||||
<i class="el-icon-chat-line-square"></i> Communication
|
||||
</b>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<div style="margin: 15px 0 0 0;">
|
||||
<span style="color: #666b7a;margin: 2px 5px 0 0;">Remarks :</span>
|
||||
<font style="margin-right: 10px;line-height: 24px;font-weight: bold;">{{item.remarks}}</font>
|
||||
<b @click="testedit(item)" class="btnCliArt">
|
||||
<i class="el-icon-edit"></i> Change
|
||||
</b>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="margin: 15px 0 0 0;">
|
||||
<span style="color: #666b7a;margin: 2px 5px 0 0;">Remarks :</span>
|
||||
<font style="margin-right: 10px;line-height: 24px;font-weight: bold;">{{item.remarks}}</font>
|
||||
<b @click="testedit(item)" class="btnCliArt">
|
||||
<i class="el-icon-edit"></i> Change
|
||||
</b>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 预接收表 -->
|
||||
<el-table v-if="PreAcpVisible" :data="tableData" border stripe class="table" ref="multipleTable"
|
||||
@@ -335,7 +344,7 @@
|
||||
<el-table-column label=" " align="center" width="200px">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click="changeEnter(scope.row)" size="mini" type="primary" plain
|
||||
icon="el-icon-edit">Edit</el-button>
|
||||
icon="el-icon-edit">Edit</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -570,7 +579,8 @@
|
||||
<el-option :key="3" label="Reject" :value="3"></el-option>
|
||||
<el-option :key="4" label="Revision" :value="4"></el-option>
|
||||
<el-option :key="6" label="Pre-accept" :value="6"></el-option>
|
||||
<el-option :key="5" label="Accept" :value="5" :disabled="curState == 6 ? false : true"></el-option>
|
||||
<el-option :key="5" label="Accept" :value="5"
|
||||
:disabled="curState == 6 ? false : true"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="Comments for authors :" v-show="editform.state==4">
|
||||
@@ -772,6 +782,7 @@
|
||||
<timetalk :talkMsgs="talkMsgs" :msgform="msgform"></timetalk>
|
||||
</el-dialog>
|
||||
|
||||
|
||||
<el-dialog title="Manuscript Tracking" :visible.sync="trackVisible" width="700px">
|
||||
<p
|
||||
style="word-break: normal;margin-bottom: 20px;font-size: 15px;font-weight: bold;letter-spacing: -0.5px;line-height: 22px;">
|
||||
@@ -804,6 +815,39 @@
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
|
||||
<el-dialog title="" :visible.sync="corresVisible" width="800px">
|
||||
<div class="corrPeo">
|
||||
<div v-if="corresList.article"
|
||||
style="line-height: 30px;line-height: 22px;font-size: 16px;font-weight: bold;letter-spacing: -0.5px;">
|
||||
{{corresList.article.title}}
|
||||
</div>
|
||||
<div v-for="(item, index) in corresList.author_articles">
|
||||
<div class="corrPUser">
|
||||
{{item.firstname}} {{item.lastname}}
|
||||
<font v-if="item.is_super==1">#</font>
|
||||
<font v-if="item.is_report==1">*</font>
|
||||
</div>
|
||||
<div class="corrPTim" v-for="(pku, iken) in item.articles"
|
||||
@click="corresVisible=false;showdetaileditor(pku)">
|
||||
<span>{{stateFormat(pku.state)}}</span>
|
||||
{{pku.title}}
|
||||
<font> - {{pku.journal_title}}</font>
|
||||
</div>
|
||||
<div v-if="item.articles.length==0">No article</div>
|
||||
</div>
|
||||
<div class="corrPUser">User articles</div>
|
||||
<div v-for="(item, index) in corresList.user_articles">
|
||||
<div class="corrPTim" @click="corresVisible=false;showdetaileditor(item)">
|
||||
<span>{{stateFormat(item.state)}}</span>
|
||||
{{item.title}}
|
||||
<font> - {{item.journal_title}}</font>
|
||||
</div>
|
||||
<div v-if="item.length==0">No article</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -818,7 +862,7 @@
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
curState:null,
|
||||
curState: null,
|
||||
baseUrl: this.Common.baseUrl,
|
||||
mediaUrl: this.Common.mediaUrl,
|
||||
items: '',
|
||||
@@ -837,35 +881,37 @@
|
||||
multipleSelection: [],
|
||||
delList: [],
|
||||
statList: [{
|
||||
state: 0
|
||||
}, {
|
||||
state: 1
|
||||
}, {
|
||||
state: 2
|
||||
}, {
|
||||
state: 4
|
||||
},
|
||||
{
|
||||
state: 6
|
||||
},
|
||||
{
|
||||
state: 5
|
||||
},
|
||||
{
|
||||
state: 3
|
||||
},
|
||||
],
|
||||
state: 0
|
||||
}, {
|
||||
state: 1
|
||||
}, {
|
||||
state: 2
|
||||
}, {
|
||||
state: 4
|
||||
},
|
||||
{
|
||||
state: 6
|
||||
},
|
||||
{
|
||||
state: 5
|
||||
},
|
||||
{
|
||||
state: 3
|
||||
},
|
||||
],
|
||||
Total: 0,
|
||||
geogleList: [],
|
||||
IndexForm: {},
|
||||
editVisible: false,
|
||||
guestVisible: false,
|
||||
PreAcpVisible:false,
|
||||
PreAcpVisible: false,
|
||||
editbox: false,
|
||||
repebox: false,
|
||||
aiSorbox: false,
|
||||
communVisible: false,
|
||||
trackVisible: false,
|
||||
corresVisible: false,
|
||||
corresList: [],
|
||||
talkMsgs: [],
|
||||
timeLaxis: {
|
||||
title: '',
|
||||
@@ -968,22 +1014,22 @@
|
||||
});
|
||||
},
|
||||
// 创建复审
|
||||
crateRevision(item){
|
||||
crateRevision(item) {
|
||||
// 二次询问
|
||||
this.$confirm('Do you want to send a review invitation?', 'Tip', {
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
this.$api
|
||||
.post('api/Reviewer/startRepeatReviewer', {
|
||||
.post('api/Reviewer/startRepeatReviewer', {
|
||||
'art_rev_id': item.art_rev_id
|
||||
})
|
||||
.then(res => {
|
||||
//console.log(res)
|
||||
if(res.code == 0){
|
||||
if (res.code == 0) {
|
||||
this.$message.success('A review invitation was successfully sent!')
|
||||
this.getdate()
|
||||
}else{
|
||||
} else {
|
||||
this.$message.error(res.msg)
|
||||
}
|
||||
})
|
||||
@@ -992,13 +1038,13 @@
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
|
||||
|
||||
|
||||
|
||||
},
|
||||
// 更新评分
|
||||
refreshScore(row){
|
||||
refreshScore(row) {
|
||||
this.$api
|
||||
.post('api/Article/refuseScore', {
|
||||
.post('api/Article/refuseScore', {
|
||||
'article_id': row.article_id
|
||||
})
|
||||
.then(res => {
|
||||
@@ -1011,8 +1057,14 @@
|
||||
},
|
||||
// 跳入预收录编辑页面
|
||||
changeEnter(val) {
|
||||
console.log(val,'val')
|
||||
this.$router.push({name: 'PreIngestedEditor', query: {id: val.article_id, uid:val.user_id}})
|
||||
console.log(val, 'val')
|
||||
this.$router.push({
|
||||
name: 'PreIngestedEditor',
|
||||
query: {
|
||||
id: val.article_id,
|
||||
uid: val.user_id
|
||||
}
|
||||
})
|
||||
},
|
||||
// 改变期刊
|
||||
chageJour() {
|
||||
@@ -1042,7 +1094,7 @@
|
||||
this.getdate()
|
||||
},
|
||||
// 获取数据
|
||||
getdate() {
|
||||
getdate() {
|
||||
this.query.state == 6 ? this.PreAcpVisible = true : this.PreAcpVisible = false
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
@@ -1077,11 +1129,12 @@
|
||||
}
|
||||
}
|
||||
if (this.tableData[i].file.manuscirpt) {
|
||||
if (this.tableData[i].file.coverLetter || this.tableData[i].file.picturesAndTables || this.tableData[i]
|
||||
if (this.tableData[i].file.coverLetter || this.tableData[i].file.picturesAndTables ||
|
||||
this.tableData[i]
|
||||
.file.totalpage || this.tableData[i].file.supplementary) {
|
||||
if(this.tableData[i].file.manuscirpt.length > 1){
|
||||
this.tableData[i].file_maun = 0
|
||||
}
|
||||
if (this.tableData[i].file.manuscirpt.length > 1) {
|
||||
this.tableData[i].file_maun = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.tableData[i].file.supplementary) {
|
||||
@@ -1089,10 +1142,10 @@
|
||||
this.tableData[i].file_supper = 0
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
this.tableData[i].reviewScore = []
|
||||
for (let j = 0; j < this.tableData[i].review.length; j++){
|
||||
if(this.tableData[i].review[j].rated!=null){
|
||||
for (let j = 0; j < this.tableData[i].review.length; j++) {
|
||||
if (this.tableData[i].review[j].rated != null) {
|
||||
this.tableData[i].reviewScore.push(this.tableData[i].review[j])
|
||||
}
|
||||
}
|
||||
@@ -1121,10 +1174,10 @@
|
||||
};
|
||||
}
|
||||
};
|
||||
for (let i = 0; i < res.state_num.length; i++) {
|
||||
for (let i = 0; i < res.state_num.length; i++) {
|
||||
for (let j = 0; j < this.statList.length; j++) {
|
||||
if (i == this.statList[j].state) {
|
||||
this.statList[j].num = res.state_num[i]
|
||||
this.statList[j].num = res.state_num[i]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1166,7 +1219,7 @@
|
||||
this.editform.state_old = e.state;
|
||||
this.editform.editormsg = '';
|
||||
this.editform.proposal_content = '';
|
||||
|
||||
|
||||
this.$api
|
||||
.post('api/Article/getArticleDetail', {
|
||||
articleId: e.article_id,
|
||||
@@ -1495,11 +1548,11 @@
|
||||
});
|
||||
},
|
||||
// 留言板弹出层
|
||||
articleCommun(e) {
|
||||
articleCommun(e) {
|
||||
this.msgform.user_id = e.user_id
|
||||
this.msgform.article_id = e.article_id
|
||||
this.msgform.title = e.title
|
||||
this.talkMsgs = []
|
||||
this.talkMsgs = []
|
||||
this.$api
|
||||
.post('api/Article/getArticleDialogs', {
|
||||
article_id: e.article_id
|
||||
@@ -1575,6 +1628,29 @@
|
||||
alertlimit() {
|
||||
this.$message.error('The maximum number of uploaded files has been exceeded');
|
||||
},
|
||||
|
||||
// 相关文章
|
||||
corrSpe(value) {
|
||||
|
||||
this.$api
|
||||
.post('api/Article/getArticlesByArticle', {
|
||||
article_id: value.article_id
|
||||
})
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
this.corresList = res.data
|
||||
this.corresList.article = value
|
||||
|
||||
this.corresVisible = true
|
||||
console.log(this.corresList)
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
|
||||
//格式化状态输出
|
||||
stateFormat(e) {
|
||||
let str = '';
|
||||
@@ -1695,15 +1771,15 @@
|
||||
let str = 0;
|
||||
let sgr = 0;
|
||||
let all = 0;
|
||||
let j = 0 // null 评分人数
|
||||
let j = 0 // null 评分人数
|
||||
for (let i = 0; i < arry.review.length; i++) {
|
||||
if(arry.review[i].rated == null){
|
||||
j += 1
|
||||
if (arry.review[i].rated == null) {
|
||||
j += 1
|
||||
continue;
|
||||
}else{
|
||||
} else {
|
||||
all += arry.review[i].rated
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
str = (all / (arry.review.length - j)).toFixed(1)
|
||||
sgr = ((Number(str) + Number(arry.scoring)) / 2).toFixed(1)
|
||||
@@ -1770,12 +1846,21 @@
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.refreshBtn{cursor: pointer; color: #069;}
|
||||
.Countries{
|
||||
display: inline-block;
|
||||
width: 20px; vertical-align: middle;
|
||||
white-space: nowrap;text-overflow:ellipsis; overflow:hidden; margin-bottom:3px;
|
||||
.refreshBtn {
|
||||
cursor: pointer;
|
||||
color: #069;
|
||||
}
|
||||
|
||||
.Countries {
|
||||
display: inline-block;
|
||||
width: 20px;
|
||||
vertical-align: middle;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
.art_file>h4 {
|
||||
text-align: left;
|
||||
}
|
||||
@@ -2054,4 +2139,48 @@
|
||||
.webLink:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
</style>
|
||||
|
||||
.corrPeo {
|
||||
word-break: normal;
|
||||
}
|
||||
|
||||
|
||||
.corrPeo .corrPUser {
|
||||
border-bottom: 1px solid #00669936;
|
||||
color: #006699;
|
||||
font-size: 16px;
|
||||
padding: 0 0 10px 0;
|
||||
margin: 25px 0 10px 0;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.corrPeo .corrPTim {
|
||||
|
||||
line-height: 22px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.corrPeo .corrPTim:hover {
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
|
||||
}
|
||||
|
||||
.corrPeo .corrPTim span {
|
||||
background: #db890e21;
|
||||
color: #db890e;
|
||||
display: inline-block;
|
||||
padding: 1px 5px;
|
||||
border-radius: 5px;
|
||||
font-size: 12px;
|
||||
margin-right: 10px;
|
||||
letter-spacing: 0.5px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.corrPeo .corrPTim font {
|
||||
font-weight: bold;
|
||||
margin-left: 10px;
|
||||
letter-spacing: -0.5px;
|
||||
}
|
||||
</style>
|
||||
@@ -1,28 +1,82 @@
|
||||
// // const webpack = require("webpack")
|
||||
// module.exports = {
|
||||
// publicPath: './',
|
||||
// assetsDir: 'static',
|
||||
// productionSourceMap: false,
|
||||
// devServer: {
|
||||
// // public: 'http://192.168.110.156:8080/', // 你自己本地的ip地址:端口号
|
||||
// // host:'localhost'
|
||||
// public: '0.0.0.0:8080/',
|
||||
// port: '8080',
|
||||
// // open: true,
|
||||
// // overlay: {
|
||||
// // warnings: false,
|
||||
// // errors: true
|
||||
// // },
|
||||
// // proxy: {
|
||||
// // '/api': {
|
||||
// // // target: 'https://www.tmrjournals.cn',
|
||||
// // target: 'https://submission.tmrjournals.com/',
|
||||
// // changeOrigin: true,
|
||||
// // pathRewrite: {
|
||||
// // '^/api': ''
|
||||
// // }
|
||||
// // }
|
||||
// // }
|
||||
// },
|
||||
|
||||
// // devServer: {
|
||||
// // port: port,
|
||||
// // open: true,
|
||||
// // overlay: {
|
||||
// // warnings: false,
|
||||
// // errors: true
|
||||
// // },
|
||||
// // // before: require('./mock/mock-server.js') // 注释掉这一行
|
||||
// // proxy: {
|
||||
// // '/dev-api': { // 因为默认开发api就是dev-api,所以我这里就没有改其他名字也叫dev-api
|
||||
// // target: 'https://ceshi.xxxxxxxx.com/',
|
||||
// // pathRewrite: {
|
||||
// // '^/dev-api': ''
|
||||
// // }, // 记得也哟改dev-api
|
||||
// // }
|
||||
// // }
|
||||
// // },
|
||||
|
||||
// // 配置插件参数
|
||||
// // configureWebpack: {
|
||||
// // plugins: [
|
||||
// // new webpack.ProvidePlugin({
|
||||
// // 'window.Quill': 'quill'
|
||||
// // })
|
||||
// // ]
|
||||
// // }
|
||||
// }
|
||||
|
||||
|
||||
// const webpack = require("webpack")
|
||||
module.exports = {
|
||||
publicPath: './',
|
||||
assetsDir: 'static',
|
||||
productionSourceMap: false,
|
||||
devServer: {
|
||||
// public: 'http://192.168.110.156:8080/', // 你自己本地的ip地址:端口号
|
||||
// host:'localhost'
|
||||
public: '0.0.0.0:8080/',
|
||||
// public: 'http://192.168.110.159:8080/', // 你自己本地的ip地址:端口号
|
||||
port: '8080',
|
||||
// open: true,
|
||||
// overlay: {
|
||||
// warnings: false,
|
||||
// errors: true
|
||||
// },
|
||||
// proxy: {
|
||||
// '/api': {
|
||||
// // target: 'https://www.tmrjournals.cn',
|
||||
// target: 'https://submission.tmrjournals.com/',
|
||||
// changeOrigin: true,
|
||||
// pathRewrite: {
|
||||
// '^/api': ''
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
open: true,
|
||||
overlay: {
|
||||
warnings: false,
|
||||
errors: true
|
||||
},
|
||||
proxy: {
|
||||
'/api': {
|
||||
// target: 'https://www.tmrjournals.cn',
|
||||
target: 'https://submission.tmrjournals.com/',
|
||||
changeOrigin: true,
|
||||
pathRewrite: {
|
||||
'^/api': ''
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// devServer: {
|
||||
|
||||
Reference in New Issue
Block a user