Compare commits
50 Commits
xu-review
...
xie-accept
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
089cc4290a | ||
|
|
5732216436 | ||
|
|
1b5993cb90 | ||
|
|
1d0675716d | ||
|
|
2f77ea87d4 | ||
|
|
1f7e3c484b | ||
|
|
85cc743ba0 | ||
|
|
c509b53180 | ||
|
|
1be18db3ea | ||
|
|
d0741468cd | ||
|
|
0660931ba9 | ||
|
|
2bfb4e237d | ||
|
|
e53bbd0c3f | ||
|
|
9cd6916feb | ||
|
|
aad8481719 | ||
|
|
d6decc78bd | ||
|
|
607c377e89 | ||
|
|
f6db714b46 | ||
|
|
b230e61de9 | ||
|
|
cf880b0864 | ||
|
|
fbfbd8b6f6 | ||
|
|
20c809387d | ||
|
|
a2e7328caf | ||
|
|
c0bbe5a671 | ||
|
|
a870a091ce | ||
|
|
f60e0f4b8a | ||
|
|
8a91600612 | ||
|
|
0161fcc4fb | ||
|
|
a0d93c47a8 | ||
|
|
6da4d6f79d | ||
|
|
531726439b | ||
|
|
6a924b067e | ||
|
|
2448358bb9 | ||
|
|
d3593e6eb2 | ||
|
|
75a08bbe70 | ||
|
|
155185d668 | ||
|
|
e8f4d19eea | ||
|
|
b4eef8558b | ||
|
|
3ed242a6b2 | ||
|
|
2751b840a2 | ||
|
|
fdeaeb57d2 | ||
|
|
6571b8c42f | ||
|
|
fa8a3caf9a | ||
|
|
849f06891f | ||
|
|
15d3e7e0d3 | ||
|
|
45d06d5960 | ||
|
|
de67e6e742 | ||
|
|
bb544d5684 | ||
|
|
55327d3b77 | ||
|
|
184c4af1ca |
134
src/api/index.js
134
src/api/index.js
@@ -1,134 +0,0 @@
|
||||
// 引入axios
|
||||
import axios from 'axios'
|
||||
// 引入qs库转换参数格式
|
||||
import qs from 'qs'
|
||||
|
||||
|
||||
// axios全局配置
|
||||
axios.defaults.timeout = 10000; // 超时时间
|
||||
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'; // 配置请求头
|
||||
|
||||
|
||||
// axios.defaults.baseURL = '/'
|
||||
// axios.defaults.baseURL = 'http://testtougao.tmrjournals.com/public/index.php/'
|
||||
// axios.defaults.baseURL = 'http://www.tougao.com/'
|
||||
|
||||
//
|
||||
const service = axios.create({
|
||||
// baseURL: 'http://testtougao.tmrjournals.com/public/index.php/',
|
||||
baseURL: 'http://www.tougao.com/',
|
||||
// baseURL: '/',
|
||||
});
|
||||
|
||||
const service_new = axios.create({
|
||||
baseURL: 'http://journal.com/',
|
||||
// baseURL: '/',
|
||||
});
|
||||
|
||||
|
||||
// 添加响应拦截器,统一处理服务器响应和异常
|
||||
axios.interceptors.response.use(
|
||||
(response) => {
|
||||
// 请求正常则返回0
|
||||
return Promise.resolve(response)
|
||||
},
|
||||
(error) => {
|
||||
// 请求错误进行的处理可以写在这里
|
||||
if (err && err.response) {
|
||||
switch (err.response.status) {
|
||||
case 400:
|
||||
err.message = '错误请求'
|
||||
break;
|
||||
case 401:
|
||||
err.message = '未授权,请重新登录';
|
||||
break;
|
||||
case 403:
|
||||
err.message = '拒绝访问';
|
||||
break;
|
||||
case 404:
|
||||
err.message = '请求错误,未找到该资源';
|
||||
break;
|
||||
case 405:
|
||||
err.message = '请求方法未允许';
|
||||
break;
|
||||
case 408:
|
||||
err.message = '请求超时';
|
||||
break;
|
||||
case 500:
|
||||
err.message = '服务器端出错';
|
||||
break;
|
||||
case 501:
|
||||
err.message = '网络未实现';
|
||||
break;
|
||||
case 502:
|
||||
err.message = '网络错误';
|
||||
break;
|
||||
case 503:
|
||||
err.message = '服务不可用';
|
||||
break;
|
||||
case 504:
|
||||
err.message = '网络超时';
|
||||
break;
|
||||
case 505:
|
||||
err.message = 'http版本不支持该请求';
|
||||
break;
|
||||
default:
|
||||
err.message = `连接错误${err.response.status}`
|
||||
}
|
||||
}
|
||||
return Promise.reject(error)
|
||||
}
|
||||
)
|
||||
|
||||
export default {
|
||||
/**
|
||||
* post方法,对应post请求
|
||||
* @param {String} url [请求的url地址]
|
||||
* @param {Object} params [请求时携带的参数]
|
||||
*/
|
||||
post(url, params) {
|
||||
return new Promise((resolve, reject) => {
|
||||
service.post(url, qs.stringify(params))
|
||||
.then(res => {
|
||||
resolve(res.data)
|
||||
})
|
||||
.catch(err => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* post方法,对应post请求
|
||||
* @param {String} url [请求的url地址]
|
||||
* @param {Object} params [请求时携带的参数]
|
||||
*/
|
||||
postNew(url, params) {
|
||||
return new Promise((resolve, reject) => {
|
||||
service_new.post(url, qs.stringify(params))
|
||||
.then(res => {
|
||||
resolve(res.data)
|
||||
})
|
||||
.catch(err => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* get方法,对应get请求
|
||||
* @param {String} url [请求的url地址]
|
||||
* @param {Object} params [请求时携带的参数]
|
||||
*/
|
||||
get(url, params) {
|
||||
return new Promise((resolve, reject) => {
|
||||
axios.get(url, qs.stringify(params))
|
||||
.then(res => {
|
||||
resolve(res.data)
|
||||
})
|
||||
.catch(err => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
},
|
||||
}
|
||||
BIN
src/assets/img/noneData.png
Normal file
BIN
src/assets/img/noneData.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.9 KiB |
@@ -138,26 +138,26 @@
|
||||
<el-menu-item index="RejectedArticles">
|
||||
{{$t('sidebar.ReArticles')}}
|
||||
</el-menu-item>
|
||||
<el-menu-item>
|
||||
<a href="http://master.tmrjournals.com" target="_blank" class="linkBar">
|
||||
Management System
|
||||
</a>
|
||||
</el-menu-item>
|
||||
<el-menu-item>
|
||||
<a href="https://mail.mxhichina.com/alimail" target="_blank" class="linkBar">
|
||||
Official mailbox
|
||||
</a>
|
||||
</el-menu-item>
|
||||
<el-menu-item>
|
||||
<a href="https://www.grammarly.com" target="_blank" class="linkBar">
|
||||
www.grammarly.com
|
||||
</a>
|
||||
</el-menu-item>
|
||||
<el-menu-item>
|
||||
<a href="https://quillbot.com" target="_blank" class="linkBar">
|
||||
quillbot.com
|
||||
</a>
|
||||
</el-menu-item>
|
||||
<!-- <el-menu-item index="1" key="1"> -->
|
||||
<a href="http://master.tmrjournals.com" target="_blank" class="linkBar">
|
||||
Management System
|
||||
</a>
|
||||
<!-- </el-menu-item> -->
|
||||
<!-- <el-menu-item index="2" key="2"> -->
|
||||
<a href="https://mail.mxhichina.com/alimail" target="_blank" class="linkBar">
|
||||
Official mailbox
|
||||
</a>
|
||||
<!-- </el-menu-item> -->
|
||||
<!-- <el-menu-item index="3" key="3"> -->
|
||||
<a href="https://www.grammarly.com" target="_blank" class="linkBar">
|
||||
www.grammarly.com
|
||||
</a>
|
||||
<!-- </el-menu-item> -->
|
||||
<!-- <el-menu-item index="4" key="4"> -->
|
||||
<a href="https://quillbot.com" target="_blank" class="linkBar">
|
||||
quillbot.com
|
||||
</a>
|
||||
<!-- </el-menu-item> -->
|
||||
</el-submenu>
|
||||
</template>
|
||||
</el-menu>
|
||||
@@ -556,5 +556,11 @@
|
||||
color: #fff;
|
||||
display: block;
|
||||
line-height: 50px;
|
||||
padding: 0 0 0 40px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.linkBar:hover {
|
||||
background: #00527a;
|
||||
}
|
||||
</style>
|
||||
|
||||
137
src/components/page/Complete_profile.vue
Normal file
137
src/components/page/Complete_profile.vue
Normal file
@@ -0,0 +1,137 @@
|
||||
<template>
|
||||
<div class="container" >
|
||||
<el-row :gutter="20" >
|
||||
<el-alert v-if="alertShow"
|
||||
:title="'Dear '+ user_name + ' Congratulations! , The information will be hidden after ' + hideSec + ' seconds'"
|
||||
type="success"
|
||||
show-icon>
|
||||
|
||||
</el-alert>
|
||||
<el-col class="mt20">
|
||||
<p>Congratulations! Your manuscript has entered into <b>Pre-accept</b> status. Now please check and complete the necessary information of your manuscript for final publication.</p>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<!-- 内容 -->
|
||||
<el-row :gutter="20" class="content_box mt20">
|
||||
<!-- 文章引用 -->
|
||||
<el-col :class="['item', 'borderBottom', Ainfo.refer_state.state? 'passborder' : 'notPassborder']">
|
||||
<h5 :class="['statusTop', Ainfo.refer_state.state? 'passStatus' : 'notPassStatus']">
|
||||
<span v-if="Ainfo.refer_state.state" class="el-icon-check pass status"> Complete</span>
|
||||
<span v-else class="el-icon-pie-chart notPass status"> Pending</span>
|
||||
</h5>
|
||||
<div class="con">
|
||||
<h4>References </h4>
|
||||
<p class="mt20">A total of <i class="tip">{{Ainfo.refer_state.num}}</i> references in this manuscript is identified.</p>
|
||||
<!-- <p class="mt10"><img src="../../assets/img/icon_9.png" alt="" class="icon_img"> <el-link @click="goAddReferences(thisArtcleId)" type="primary" > Click here to edit</el-link> </p> -->
|
||||
<p class="mt10"><el-button @click="goAddReferences(thisArtcleId)" icon="el-icon-edit" type="text">Edit</el-button></p>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<!-- 答疑 -->
|
||||
<div class="mt20 helpcontent">
|
||||
<div class="flexbox">
|
||||
<span class="el-icon-info help"></span>
|
||||
<div>
|
||||
<h4>Any questions/Help</h4>
|
||||
<p class="mt20">If you experience any problems, please contact us by publisher@tmrjournals.com</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
user_name: localStorage.getItem('U_relname'),
|
||||
thisArtcleId: this.$route.query.id,
|
||||
alertShow:true,
|
||||
dingshi:null,
|
||||
hideSec:5,
|
||||
// 引用表单数据
|
||||
ReferenceList:[],
|
||||
Ainfo:{
|
||||
refer_state:{
|
||||
state:null,
|
||||
num: null
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getInfoStatu()
|
||||
this.hideAlert()
|
||||
},
|
||||
methods:{
|
||||
// 跳转到引用编辑页面
|
||||
goAddReferences(id){
|
||||
this.$router.push({
|
||||
path: 'ReferenceEditor',
|
||||
query: {
|
||||
id: id
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 隐藏alert
|
||||
hideAlert(){
|
||||
this.dingshi = setInterval(()=>{
|
||||
this.hideSec -= 1
|
||||
// console.log(this.hideSec)
|
||||
if(this.hideSec == 0){
|
||||
this.alertShow = false
|
||||
clearInterval(this.dingshi)
|
||||
}
|
||||
},1000)
|
||||
|
||||
},
|
||||
// 获取资料状态
|
||||
getInfoStatu(){
|
||||
this.$api
|
||||
.post('/api/Article/getPreacceptStatus', {
|
||||
'article_id': this.$route.query.id
|
||||
})
|
||||
.then(res => {
|
||||
if(res.code == 0){
|
||||
// console.log(res, 'res')
|
||||
this.Ainfo = {
|
||||
refer_state:{
|
||||
state: res.data.refer_state.state,
|
||||
num:res.data.refer_state.num
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.tip{background: #e6effb; padding: 4px; font-style: normal; border-radius:10px ;}
|
||||
.passborder{border:1px solid #f0f9eb;}
|
||||
.notPassborder{border:1px solid #fdf6ec;}
|
||||
.con{padding: 20px;}
|
||||
.statusTop{height:30px;}
|
||||
.borderBottom{ border-bottom:1px solid #f1f1f1; margin-bottom: 20px; }
|
||||
.help{font-size: 22px; margin-right: 10px;}
|
||||
.el-alert__title{font-size: 26px;}
|
||||
.mt20{margin-top: 20px;}
|
||||
/* .content_box{padding:15px 10px; border:3px dashed #eff6ff; } */
|
||||
.content_box .item{padding: 0 !important; border-radius: 20px 20px 0 0; overflow: hidden;}
|
||||
.passStatus{ background: #f0f9eb;}
|
||||
.notPassStatus{background: #fdf6ec;}
|
||||
.content_box .item .status{ font-size: 16px; padding:0 10px; line-height: 30px; }
|
||||
.content_box .item .status.pass{ color: #67c23a;}
|
||||
.content_box .item .status.notPass{ color: #e6a23c;}
|
||||
.flexbox{display: flex;}
|
||||
p{color: #333;}
|
||||
.mt10{margin-top: 10px;}
|
||||
.more{font-weight: bold;}
|
||||
.helpcontent{color: #888; margin-top: 150px; padding-top: 30px; border-top: 2px solid #f1f1f1;}
|
||||
.helpcontent p{color: inherit; font-size: 12px;}
|
||||
</style>
|
||||
@@ -9,8 +9,8 @@
|
||||
<el-upload class="avatar-uploader" ref="upIconIMg"
|
||||
:action="baseUrl+'api/Ucenter/up_userIcon_file'" :show-file-list="false" name="icon"
|
||||
:on-success="handleAvatarSuccess2" :on-error="handleAvatarError2"
|
||||
:before-upload="beforeAvatarUpload2" accept=".png,.jpg" style="display: none;">
|
||||
<img v-if="pictureUrl" :src="pictureUrl" class="avatar">
|
||||
:before-upload="beforeAvatarUpload2" style="display: none;">
|
||||
<img v-if="pictureUrl" :src="pictureUrl" class="avatar" accept=".png,.jpg">
|
||||
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
||||
</el-upload>
|
||||
<div class="ptmark">Upload avatar</div>
|
||||
|
||||
2780
src/components/page/PreIngestedEditor.vue
Normal file
2780
src/components/page/PreIngestedEditor.vue
Normal file
File diff suppressed because it is too large
Load Diff
944
src/components/page/ReferenceEditor.vue
Normal file
944
src/components/page/ReferenceEditor.vue
Normal file
@@ -0,0 +1,944 @@
|
||||
<template>
|
||||
<div v-loading.fullscreen.lock="holeLoading">
|
||||
<div class="container" v-loading="importIoading" element-loading-text="In the process of importing, please wait">
|
||||
<div v-if="tableData.length == 0">
|
||||
<!-- 没有引用时 -->
|
||||
<!-- <div class="noneData">
|
||||
<img src="../../assets/img/noneData.png" alt="" class="icon_img">
|
||||
<p class="nodatatext">TMR did not identify an available article citation in your latest uploaded document</p>
|
||||
</div> -->
|
||||
<el-row :gutter="20">
|
||||
<!-- 教程 -->
|
||||
<el-col >
|
||||
<div class=" whoDo mt20">
|
||||
<div>
|
||||
<h2>What should I do
|
||||
<el-tooltip class="item" effect="light" content="click for more help" placement="right">
|
||||
<span class="el-icon-warning-outline help" @click="showHelp"></span>
|
||||
</el-tooltip>
|
||||
</h2>
|
||||
<p class="mt10 c666">you can add a citation in the following way.</p>
|
||||
<ul>
|
||||
<!-- 文件上传的形式 -->
|
||||
<li>
|
||||
<div class="mt20">
|
||||
<h4>Add in bulk by uploading excel files
|
||||
<!-- <el-button class="inlinebutton" type="primary" plain size="mini" @click="showUpload">Add</el-button> -->
|
||||
</h4>
|
||||
<p class="mt10 c666">Before uploading the file, you need to download the template file,
|
||||
<a href="https://submission.tmrjournals.com/public/system/refer.xlsx" download="refer" target="_blank" class="downloadbtn" >click download</a>
|
||||
,to add your references to the template file, and upload it.
|
||||
|
||||
</p>
|
||||
<div v-if="uploadVisible">
|
||||
<div class="uploadBox">
|
||||
<el-upload ref="uploadFile" class="upload-demo up_newstyle mt10" :action="upload_manuscirpt"
|
||||
accept=".xlsx" name="referFile" :before-upload="beforeupload_manuscirpt"
|
||||
:on-error="uperr_coverLetter" :on-success="upSuccess_manuscirpt" :limit="1"
|
||||
:on-exceed="alertlimit"
|
||||
:on-remove="removefilemanuscirpt"
|
||||
:file-list="fileL_manuscirpt"
|
||||
>
|
||||
<div class="el-upload__text" @click="clearUploadedFile">
|
||||
<em>Upload</em>
|
||||
</div>
|
||||
</el-upload>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<!-- 文本域 -->
|
||||
<!-- <li>
|
||||
<div class="mt20">
|
||||
<h4>Add in bulk by text field <el-button @click="addText" class="inlinebutton" type="primary" plain size="mini">Add</el-button></h4>
|
||||
<div v-if="textareaVisible">
|
||||
<el-input class="textarea mt10"
|
||||
type="textarea"
|
||||
:rows="3"
|
||||
placeholder="Put your reference entry here"
|
||||
v-model="textarea">
|
||||
</el-input>
|
||||
<el-button class="mt10" icon="el-icon-check" type="primary" size="mini" @click="importText()">Import</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</li> -->
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<!-- 有引用数据-->
|
||||
<div v-else>
|
||||
<div class="topInfo">
|
||||
<h3>Dear {{user_name}}</h3>
|
||||
<p class="mt10">Please check and modify the reference’s information on this page with the following instructions:</p>
|
||||
<ul class="mt20">
|
||||
<li>
|
||||
<p>- Please modify the reference in the
|
||||
<span class="status warn float" ><i class="el-icon-warning-outline"></i></span>
|
||||
status, moving the reference information from <span class="status warn float" ><i class="el-icon-warning-outline"></i></span>
|
||||
status to <span class="status ok float" ><i class="el-icon-circle-check"></i></span> status.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>- If you find the number of reference is disorder for technical reason, please click the
|
||||
<el-button type="warning" size="mini" plain>↑</el-button>
|
||||
and
|
||||
<el-button type="warning" size="mini" plain>↓</el-button> behind each piece of information to adjust the order of the data.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>- Please click <el-button type="success" size="mini" plain>Add</el-button> to add another line of reference information after this row. </p>
|
||||
</li>
|
||||
<li>
|
||||
<p>- If you want to discard all references and import a new batch of reference information, please click <el-button type="text" @click="removeAll">Delete and re-import</el-button>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>- Please do not forget to recheck all references in the <span class="status ok float" ><i class="el-icon-circle-check"></i></span> status,especially abbreviated journal title.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="refenceCentent mt20">
|
||||
<el-table :data="tableData" ref="multipleTable"
|
||||
empty-text="New messages (0)" :show-header="false" :stripe="false" :highlight-current-row="false">
|
||||
<el-table-column type="index" label="No." width="55" align="center"></el-table-column>
|
||||
<el-table-column label="state" width="55" align="center">
|
||||
<template slot-scope="scope">
|
||||
<span class="status ok" v-if="scope.row.refer_doi != '' && scope.row.author != ''" >
|
||||
<i class="el-icon-circle-check"></i>
|
||||
</span>
|
||||
<span class="status warn" v-else >
|
||||
<i class="el-icon-warning-outline"></i>
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="Title" align="left">
|
||||
<template slot-scope="scope">
|
||||
<!-- journal 形式 -->
|
||||
<div style="text-align: left;" v-if="scope.row.refer_type == 'journal'">
|
||||
<p>{{scope.row.author}},{{scope.row.title}}, <em>{{scope.row.joura}}</em> ,{{scope.row.dateno}}<br/></p>
|
||||
<a class="doiLink" :href="scope.row.doilink" target="_blank">{{scope.row.doilink}}</a>
|
||||
</div>
|
||||
<!-- book 形式 -->
|
||||
<div style="text-align: left;" v-if="scope.row.refer_type == 'book'">
|
||||
<p>{{scope.row.author}},{{scope.row.title}},{{scope.row.dateno}}<br/></p>
|
||||
<a class="doiLink" :href="scope.row.isbn" target="_blank">{{scope.row.isbn}}</a>
|
||||
</div>
|
||||
<!-- other 形式 -->
|
||||
<p class="wrongLine" style="text-align: left;" v-if="scope.row.refer_type == 'other'">
|
||||
{{scope.row.refer_frag}}
|
||||
</p>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" width="360">
|
||||
<div slot-scope="scope">
|
||||
<el-button style="margin-left:10px;" @click="change(scope.row,'Edit')" plain type="primary" size="mini" icon="el-icon-edit">edit</el-button>
|
||||
<el-tooltip popper-class="tps" class="item" effect="light" content="Add one under this line" placement="top">
|
||||
<el-button @click="addLine(scope.row, 'Add')" type="success" size="mini" plain>Add</el-button>
|
||||
</el-tooltip>
|
||||
<el-button type="warning" size="mini" plain :disabled="scope.$index != 0 ? false : true" @click="changeOrder(scope.row,'up')">↑</el-button>
|
||||
<el-button type="warning" size="mini" plain :disabled="scope.$index == tableData.length-1 ? true : false" @click="changeOrder(scope.row,'down')">↓</el-button>
|
||||
<el-button type="danger" icon="el-icon-delete" size="mini" style="float: right;" plain @click="deleteLine(scope.row)">delete</el-button>
|
||||
</div>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 修改引用 -->
|
||||
<el-dialog v-loading="addLoading" :title= "dialogTitle + ' References'" :visible.sync="editboxVisible" width="800px" @close="cancelSave">
|
||||
<p class="yinyongPre c888">Now you are starting to add or modify this reference. If this reference has a DOI, you can directly copy it into the DOI input box and submit it. If this reference doesn’t have the DOI, please turn on the No DOI button, and write all details of this reference according to the hints.</p>
|
||||
|
||||
<el-form :model="refenceForm" :rules="refenceFormrules" ref="refenceForm" label-width="150px" class="editForm mt10">
|
||||
<!-- 内容开关 -->
|
||||
<el-form-item label="Source:" >
|
||||
<el-select v-model="SourceType" placeholder="please pick">
|
||||
<el-option
|
||||
v-for="item in sourceOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- Journal -->
|
||||
<div v-show="SourceType == 'journal'" >
|
||||
<el-form-item label="Doi:" prop="doi" >
|
||||
<el-input v-model="refenceForm.doi" >
|
||||
<el-button @click="gotoFormate" slot="append" >Formate</el-button>
|
||||
</el-input>
|
||||
<p class="zhushi">You can click the 'Formate' on the right to automatically identify and quickly fill in all the current fields</p>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<el-form-item >
|
||||
<div class="line"></div>
|
||||
</el-form-item>
|
||||
<!-- 中间部分 -->
|
||||
<div v-show="SourceType !='other'">
|
||||
<el-form-item label="Author(s):" required prop="author" >
|
||||
<el-input v-model="refenceForm.author" placeholder="Patel NM, Stottlemyer BA, Gray MP, Boyce RD, Kane Gill SL"></el-input>
|
||||
<p class="zhushi">Six or less authors are required to list all authors while more than six authors are required to list three of them with “et al”.</p>
|
||||
</el-form-item>
|
||||
<el-form-item :label="SourceType == 'journal' ? 'Title:' : 'Book'" required prop="title" >
|
||||
<el-input v-if="SourceType == 'journal'" v-model="refenceForm.title" placeholder="eg: The role of autophagy in the treatment of osteoporosis by Chinese medicines (natural)"></el-input>
|
||||
<el-input v-if="SourceType == 'book'" v-model="refenceForm.title" placeholder="eg: Traditional Medicine Research"></el-input>
|
||||
<p v-if="SourceType == 'book'" class="zhushi">Full Name of Book.</p>
|
||||
</el-form-item>
|
||||
<el-form-item label="Publication Details:" required prop="dateno" >
|
||||
<div v-if="SourceType == 'journal'">
|
||||
<el-input v-model="refenceForm.dateno" placeholder="eg: 2023;8(9):49-62"></el-input>
|
||||
<p class="zhushi">Year;Volume(issue):Inclusive page numbers.</p>
|
||||
</div>
|
||||
<div v-if="SourceType == 'book'">
|
||||
<el-input v-model="refenceForm.dateno" placeholder="eg: New York, NY:McGraw-Hill;2011"></el-input>
|
||||
<p class="zhushi">City, State (or Country if not in the US) of publisher:Publisher’s name;copyright year.</p>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div v-show="SourceType == 'journal'">
|
||||
<el-form-item label="Journal:" required prop="joura" >
|
||||
<el-input v-model="refenceForm.joura" placeholder="eg: Tradit Med Res"></el-input>
|
||||
<p class="zhushi">Abbreviated Journal Title.</p>
|
||||
</el-form-item>
|
||||
<el-form-item label="DOI/URL:" required prop="doilink" >
|
||||
<el-input v-model="refenceForm.doilink" placeholder="eg: 10.1002/cncr.30667"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<!-- Book -->
|
||||
<div v-show="SourceType =='book'">
|
||||
<el-form-item label="ISBN:" required prop="isbn" >
|
||||
<el-input v-model="refenceForm.isbn" ></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<!-- others -->
|
||||
<div v-show="SourceType =='other'">
|
||||
<el-form-item label="Content:" required prop="content" >
|
||||
<el-input type="textarea" rows="5" v-model="refenceForm.content" placeholder="please refer to the AMA manual of style (10th ed.)"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-form>
|
||||
<!-- <el-form :model="refenceLinkForm" :rules="refenceLinkFormrules" ref="refenceLinkForm" label-width="80px" class="editForm mt10">
|
||||
<el-form-item label="Author(s):" required prop="author" >
|
||||
<el-input v-model="refenceLinkForm.author" placeholder=""></el-input>
|
||||
</el-form-item>
|
||||
<span>Six or less authors are required to list all authors while more than six authors are required to list three of them with “et al”</span>
|
||||
<el-form-item label="title:" required prop="title" >
|
||||
<el-input v-model="refenceLinkForm.title" placeholder="eg: Tradit Med Res"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="Source:" required prop="joura" >
|
||||
<el-input v-model="refenceLinkForm.joura" placeholder="eg:Healthcare (Basel)."></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="Publication Details:" required prop="dateno" >
|
||||
<el-input v-model="refenceLinkForm.dateno" placeholder="eg: 2023;8(9):49-62"></el-input>
|
||||
</el-form-item>
|
||||
<span>Year;Volume(issue):Inclusive page numbers.</span>
|
||||
<el-form-item label="doilink:" required prop="doilink" >
|
||||
<el-input v-model="refenceLinkForm.doilink" placeholder="eg:https://doi.org/10.1002/cncr.30667"></el-input>
|
||||
</el-form-item>
|
||||
</el-form> -->
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancelSave">Cancel</el-button>
|
||||
<el-button type="primary" @click="saveChange" v-if="dialogTitle == 'Edit'">Save</el-button>
|
||||
<el-button type="primary" @click="saveAdd" v-else>Save</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<!-- 帮助信息 -->
|
||||
<el-dialog title="Any questions or Help" :visible.sync="helpVisible" width="500px">
|
||||
<div>
|
||||
<p class="mt20" style="line-height: 28px;">If you experience any problems, <br/>
|
||||
please contact us by publisher@tmrjournals.com</p>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="helpVisible = false" type="primary">OK</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<!-- 临时引用信息 -->
|
||||
<el-dialog title="Reference List" :visible.sync="linVisible" width="800px">
|
||||
<div class="refenceCentent mt20" v-if="Tempredable.length > 0">
|
||||
<el-table :data="Tempredable" ref="tempredableTable" max-height="400px"
|
||||
empty-text="New messages (0)" :show-header="false" :stripe="false" :highlight-current-row="false">
|
||||
<el-table-column type="index" label="No." width="55" align="center"></el-table-column>
|
||||
<el-table-column label="Title" align="left">
|
||||
<template slot-scope="scope">
|
||||
<p style="text-align: left;">
|
||||
<!-- <el-badge is-dot :hidden="scope.row.author_act==1?false:true" class="item"> -->
|
||||
{{scope.row.content}}<br/><el-link type="primary">{{scope.row.doi}}</el-link>
|
||||
<!-- </el-badge> -->
|
||||
</p>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="shuoming mt20">
|
||||
<p class="c888"><i class="el-icon-message-solid"></i> The above is the citation data identified according to your uploaded file, you can choose to import, or discard this data and upload again.</p>
|
||||
</div>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer" >
|
||||
<el-button @click="abandon">Abandon and Reimport</el-button>
|
||||
<el-button type="primary" @click="importText">Import</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data(){
|
||||
return{
|
||||
user_name: localStorage.getItem('U_relname'),
|
||||
holeLoading : false, // 进入页面的loading
|
||||
importIoading: false,
|
||||
baseUrl: this.Common.baseUrl,
|
||||
addLoading:false,
|
||||
SourceType:'journal',
|
||||
sourceOptions:[
|
||||
{
|
||||
value: 'journal',
|
||||
label: 'journal'
|
||||
},
|
||||
{
|
||||
value: 'book',
|
||||
label: 'book'
|
||||
},
|
||||
{
|
||||
value: 'other',
|
||||
label: 'other'
|
||||
},
|
||||
],
|
||||
// 引用数据列表
|
||||
tableData:[
|
||||
],
|
||||
// 临时引用列表
|
||||
Tempredable:[
|
||||
],
|
||||
editboxVisible:false,
|
||||
helpVisible:false,
|
||||
uploadVisible:true,
|
||||
linVisible:false,
|
||||
textarea:'',
|
||||
textareaVisible:false,
|
||||
fileL_manuscirpt: [],
|
||||
form: {
|
||||
referFile: '',
|
||||
},
|
||||
// 引用表单
|
||||
refenceForm:{
|
||||
doi:'',
|
||||
article_id:null,
|
||||
p_refer_id:null, // 当前行一行的引用序号
|
||||
pre_p_refer_id:null, // 上一行
|
||||
refer_type:'', // 类型
|
||||
joura:'',
|
||||
author:'',
|
||||
doilink:'',
|
||||
dateno:'',
|
||||
isbn:'',
|
||||
content:'',
|
||||
title:''
|
||||
|
||||
},
|
||||
refenceFormrules:{
|
||||
// doi:[
|
||||
// { required: false, message: 'The Doi cannot be empty', trigger: 'blur' },
|
||||
// ],
|
||||
joura:[
|
||||
{ required: true, message: 'The Journal cannot be empty', trigger: 'blur' },
|
||||
],
|
||||
author:[
|
||||
{ required: true, message: 'The Author(s) cannot be empty', trigger: 'blur' },
|
||||
],
|
||||
title:[
|
||||
{ required: true, message: 'Please fill in this field', trigger: 'blur' },
|
||||
],
|
||||
doilink:[
|
||||
{ required: true, message: 'The doi/url cannot be empty', trigger: 'blur' },
|
||||
],
|
||||
dateno:[
|
||||
{ required: true, message: 'The Publication Details cannot be empty', trigger: 'blur' },
|
||||
],
|
||||
isbn:[
|
||||
{ required: true, message: 'The ISBN cannot be empty', trigger: 'blur' },
|
||||
],
|
||||
content:[
|
||||
{ required: true, message: 'The Content cannot be empty', trigger: 'blur' },
|
||||
],
|
||||
},
|
||||
// 引用表单
|
||||
// refenceLinkForm:{
|
||||
// author:'',
|
||||
// title:'',
|
||||
// joura:'',
|
||||
// dateno:'',
|
||||
// doilink:'',
|
||||
// pre_p_refer_id:null, // 当前行一行的引用序号,
|
||||
// article_id: null,
|
||||
// p_refer_id: null,
|
||||
|
||||
// },
|
||||
// refenceLinkFormrules:{
|
||||
// author:[
|
||||
// { required: true, message: 'The author cannot be empty', trigger: 'blur' },
|
||||
// ],
|
||||
// title:[
|
||||
// { required: true, message: 'The title cannot be empty', trigger: 'blur' },
|
||||
// ],
|
||||
// dateno:[
|
||||
// { required: true, message: 'The dateno cannot be empty', trigger: 'blur' },
|
||||
// ],
|
||||
// doilink:[
|
||||
// { required: true, message: 'The doilink cannot be empty', trigger: 'blur' },
|
||||
// ]
|
||||
// },
|
||||
dialogTitle:''
|
||||
}
|
||||
},
|
||||
created(){
|
||||
this.openFullScreen1()
|
||||
this.getRefData()
|
||||
this.holeLoading = true
|
||||
},
|
||||
methods:{
|
||||
// 格式化
|
||||
gotoFormate(){
|
||||
// this.$refs['refenceForm'].validateField('doi', (callback)=>{
|
||||
if(this.refenceForm.doi != ''){
|
||||
this.holeLoading = true
|
||||
this.$api
|
||||
.post('/api/Preaccept/searchDoi',{'doi': this.refenceForm.doi})
|
||||
.then(res => {
|
||||
this.holeLoading = false
|
||||
// console.log(res)
|
||||
if(res.code == 0 ){
|
||||
|
||||
this.$nextTick(()=>{
|
||||
this.refenceForm.author = res.data.formate.author
|
||||
this.refenceForm.title = res.data.formate.title
|
||||
this.refenceForm.joura = res.data.formate.joura
|
||||
this.refenceForm.dateno = res.data.formate.dateno
|
||||
this.refenceForm.doilink = res.data.formate.doilink
|
||||
})
|
||||
}else{
|
||||
this.$message.error(res.msg)
|
||||
}
|
||||
}).catch((e)=>{
|
||||
this.$message.error(e.msg)
|
||||
this.holeLoading = false
|
||||
})
|
||||
}else{
|
||||
this.$message.error('The Doi cannot be empty!')
|
||||
}
|
||||
// })
|
||||
},
|
||||
// 全页面加载动画
|
||||
openFullScreen1() {
|
||||
this.holeLoading = true;
|
||||
},
|
||||
// 获取引用文献信息
|
||||
getRefData(){
|
||||
this.$api
|
||||
.post('api/Preaccept/getArticleReferences',{'article_id': this.$route.query.id})
|
||||
.then(res => {
|
||||
console.log(res)
|
||||
if(res.code == 0 && res.data.refers.length > 0){
|
||||
this.tableData = res.data.refers
|
||||
}
|
||||
this.holeLoading = false
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
},
|
||||
// 放弃导入数据
|
||||
abandon(){
|
||||
this.form.referFile = '';
|
||||
this.fileL_manuscirpt = [];
|
||||
this.linVisible = false;
|
||||
this.Tempredable = []
|
||||
},
|
||||
// 显示帮助信息
|
||||
showHelp(){
|
||||
this.helpVisible = true
|
||||
},
|
||||
// 导入文本域
|
||||
importText(){
|
||||
this.linVisible = false
|
||||
this.importIoading = true
|
||||
//console.log(this.form.referFile,'referFile')
|
||||
this.$api
|
||||
.post('api/Preaccept/addRefersByExcel', {
|
||||
'article_id' :this.$route.query.id,
|
||||
'referFile' : this.form.referFile
|
||||
})
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
this.$message.success('Import succeeded')
|
||||
this.linVisible = false
|
||||
this.Tempredable = []
|
||||
this.importIoading = false
|
||||
// 有可以可用的文献数据,刷新当前页面
|
||||
// location.reload() // 刷新本页面
|
||||
this.getRefData()
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
|
||||
},
|
||||
// 文本域添加
|
||||
addText(){
|
||||
this.textareaVisible = true
|
||||
this.uploadVisible = false
|
||||
},
|
||||
showUpload(){
|
||||
this.textareaVisible = false
|
||||
this.uploadVisible = true
|
||||
},
|
||||
// 显示修改引用
|
||||
change(row, optitle){
|
||||
this.dialogTitle = optitle
|
||||
this.editboxVisible = true
|
||||
// console.log(this.refenceForm.content,55555)
|
||||
this.$nextTick(() => {
|
||||
console.log(row,'row')
|
||||
this.refenceForm.doi = row.refer_doi
|
||||
this.refenceForm.p_refer_id = row.p_refer_id
|
||||
this.SourceType = row.refer_type
|
||||
this.refenceForm.author = row.author
|
||||
this.refenceForm.title = row.title
|
||||
this.refenceForm.joura = row.joura
|
||||
this.refenceForm.dateno = row.dateno
|
||||
this.refenceForm.doilink = row.doilink
|
||||
this.refenceForm.content = row.refer_frag
|
||||
this.refenceForm.joura = row.joura
|
||||
this.refenceForm.isbn = row.isbn
|
||||
})
|
||||
|
||||
},
|
||||
|
||||
// 取消保存
|
||||
cancelSave(){
|
||||
this.editboxVisible = false
|
||||
// refenceForm
|
||||
this.$refs['refenceForm'].clearValidate();
|
||||
this.$refs['refenceForm'].resetFields();
|
||||
this.refenceForm.doi = ''
|
||||
this.dialogTitle = ''
|
||||
},
|
||||
|
||||
// 编辑引用
|
||||
saveChange(){
|
||||
|
||||
var journalValid = false
|
||||
var bookValid = false
|
||||
var otherValid = false
|
||||
if(this.SourceType == 'journal') {
|
||||
// Journal形式
|
||||
// var doi = ''
|
||||
var author = ''
|
||||
var title = ''
|
||||
var dateno = ''
|
||||
var joura = ''
|
||||
var doilink = ''
|
||||
// this.$refs['refenceForm'].validateField('doi',(callback)=>{
|
||||
// doi = callback
|
||||
// })
|
||||
this.$refs['refenceForm'].validateField('author',(callback)=>{
|
||||
author = callback
|
||||
})
|
||||
this.$refs['refenceForm'].validateField('title',(callback)=>{
|
||||
title = callback
|
||||
})
|
||||
this.$refs['refenceForm'].validateField('dateno',(callback)=>{
|
||||
dateno = callback
|
||||
})
|
||||
this.$refs['refenceForm'].validateField('joura',(callback)=>{
|
||||
joura = callback
|
||||
})
|
||||
this.$refs['refenceForm'].validateField('doilink',(callback)=>{
|
||||
doilink = callback
|
||||
})
|
||||
author == '' && title == '' && dateno == '' && joura == '' && doilink == '' ? journalValid = true :''
|
||||
}else if(this.SourceType == 'book'){
|
||||
// book 形式
|
||||
var author = ''
|
||||
var title = ''
|
||||
var dateno = ''
|
||||
var isbn = ''
|
||||
this.$refs['refenceForm'].validateField('author',(callback)=>{
|
||||
author = callback
|
||||
})
|
||||
this.$refs['refenceForm'].validateField('title',(callback)=>{
|
||||
title = callback
|
||||
})
|
||||
this.$refs['refenceForm'].validateField('dateno',(callback)=>{
|
||||
dateno = callback
|
||||
})
|
||||
this.$refs['refenceForm'].validateField('isbn',(callback)=>{
|
||||
isbn = callback
|
||||
})
|
||||
author == '' && title == '' && dateno == '' && isbn == '' ? bookValid = true : ''
|
||||
}else if(this.SourceType == 'other'){
|
||||
// others 形式
|
||||
var content = ''
|
||||
this.$refs['refenceForm'].validateField('content',(callback)=>{
|
||||
content = callback
|
||||
})
|
||||
content == '' ? otherValid = true : ''
|
||||
}
|
||||
// console.log(otherValid,99)
|
||||
|
||||
if(journalValid || bookValid || otherValid){ // 有任意一个模式符合验证规则就提交
|
||||
this.editRefSave()
|
||||
}
|
||||
},
|
||||
|
||||
// 提交引用修改
|
||||
editRefSave(){
|
||||
this.refenceForm.refer_type = this.SourceType
|
||||
this.addLoading = true
|
||||
console.log(this.refenceForm)
|
||||
|
||||
this.$api
|
||||
.post('api/Preaccept/editRefer', this.refenceForm)
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
this.addLoading = false
|
||||
this.$message.success('successed!')
|
||||
this.getRefData()
|
||||
this.cancelSave()
|
||||
}else if(res.code == 1){
|
||||
this.addLoading = false
|
||||
this.$message.error(res.msg)
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
// 保存新增
|
||||
saveAdd(){
|
||||
var journalValid = false
|
||||
var bookValid = false
|
||||
var otherValid = false
|
||||
if(this.SourceType == 'journal') {
|
||||
// Journal形式
|
||||
// var doi = ''
|
||||
var author = ''
|
||||
var title = ''
|
||||
var dateno = ''
|
||||
var joura = ''
|
||||
var doilink = ''
|
||||
// this.$refs['refenceForm'].validateField('doi',(callback)=>{
|
||||
// doi = callback
|
||||
// })
|
||||
this.$refs['refenceForm'].validateField('author',(callback)=>{
|
||||
author = callback
|
||||
})
|
||||
this.$refs['refenceForm'].validateField('title',(callback)=>{
|
||||
title = callback
|
||||
})
|
||||
this.$refs['refenceForm'].validateField('dateno',(callback)=>{
|
||||
dateno = callback
|
||||
})
|
||||
this.$refs['refenceForm'].validateField('joura',(callback)=>{
|
||||
joura = callback
|
||||
})
|
||||
this.$refs['refenceForm'].validateField('doilink',(callback)=>{
|
||||
doilink = callback
|
||||
})
|
||||
author == '' && title == '' && dateno == '' && joura == '' && doilink == '' ? journalValid = true :''
|
||||
}else if(this.SourceType == 'book'){
|
||||
// book 形式
|
||||
var author = ''
|
||||
var title = ''
|
||||
var dateno = ''
|
||||
var isbn = ''
|
||||
this.$refs['refenceForm'].validateField('author',(callback)=>{
|
||||
author = callback
|
||||
})
|
||||
this.$refs['refenceForm'].validateField('title',(callback)=>{
|
||||
title = callback
|
||||
})
|
||||
this.$refs['refenceForm'].validateField('dateno',(callback)=>{
|
||||
dateno = callback
|
||||
})
|
||||
this.$refs['refenceForm'].validateField('isbn',(callback)=>{
|
||||
isbn = callback
|
||||
})
|
||||
author == '' && title == '' && dateno == '' && isbn == '' ? bookValid = true : ''
|
||||
}else if(this.SourceType == 'other'){
|
||||
// others 形式
|
||||
var content = ''
|
||||
this.$refs['refenceForm'].validateField('content',(callback)=>{
|
||||
content = callback
|
||||
})
|
||||
content == '' ? otherValid = true : ''
|
||||
}
|
||||
// console.log(otherValid,99)
|
||||
|
||||
if(journalValid || bookValid || otherValid){ // 有任意一个模式符合验证规则就提交
|
||||
|
||||
this.refenceForm.refer_type = this.SourceType
|
||||
// console.log(this.refenceForm,99)
|
||||
this.addLoading = true
|
||||
this.$api
|
||||
.post('api/Preaccept/addRefer', this.refenceForm)
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
this.addLoading = false
|
||||
this.$message.success('successed!')
|
||||
this.getRefData()
|
||||
this.cancelSave()
|
||||
}else if(res.code == 1){
|
||||
// doi 错误
|
||||
this.addLoading = false
|
||||
this.$message.error(res.msg)
|
||||
// this.getRefData()
|
||||
// this.cancelSave()
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
|
||||
}else{
|
||||
return false
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
beforeupload_manuscirpt(file) {
|
||||
let flieArr = file.name.split(".")
|
||||
let fileSuffix = flieArr[flieArr.length - 1];
|
||||
console.log(fileSuffix)
|
||||
|
||||
// return false
|
||||
if (fileSuffix != 'xlsx') {
|
||||
this.$message.error('Only excel and compressed files can be uploaded(.xlsx)');
|
||||
return false;
|
||||
}
|
||||
// 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;
|
||||
},
|
||||
uperr_coverLetter(err) {
|
||||
this.$message.error('Upload error');
|
||||
},
|
||||
upSuccess_manuscirpt(res, file) {
|
||||
if (res.code == 0) {
|
||||
this.form.referFile = res.upurl;
|
||||
this.fileL_manuscirpt = [{}];
|
||||
this.fileL_manuscirpt[0].name = "referFile";
|
||||
this.fileL_manuscirpt[0].url = res.upurl;
|
||||
if(res.refers.length > 0){
|
||||
this.Tempredable = res.refers
|
||||
this.linVisible = true
|
||||
}
|
||||
} else {
|
||||
this.$message.error('service error: ' + res.msg);
|
||||
}
|
||||
},
|
||||
//超出传送文件个数限制
|
||||
alertlimit() {
|
||||
this.$message.error('The maximum number of uploaded files has been exceeded');
|
||||
},
|
||||
removefilemanuscirpt(file, fileList) {
|
||||
this.form.referFile = '';
|
||||
this.fileL_manuscirpt = [];
|
||||
this.$message.success('Deletion succeeded!');
|
||||
// this.$api
|
||||
// .post('api/Article/delArticleFile', {
|
||||
// file_id: this.form.manuscirptId
|
||||
// })
|
||||
// .then((res) => {
|
||||
// if (res.code == 0) {
|
||||
// this.$message.success('Deletion succeeded!');
|
||||
// } else {
|
||||
// this.$message.error(res.msg);
|
||||
// }
|
||||
// });
|
||||
},
|
||||
clearUploadedFile() {
|
||||
this.$refs['uploadFile'].clearFiles();
|
||||
},
|
||||
// 清空引用文献
|
||||
removeAll(){
|
||||
this.$confirm('Are you sure you want to empty the reference?', 'Tips', {
|
||||
confirmButtonText: 'Sure',
|
||||
cancelButtonText: 'Cancel',
|
||||
type: 'warning'
|
||||
}).then(()=>{
|
||||
this.$api
|
||||
.post('api/Preaccept/discardRefers', {
|
||||
'article_id': this.$route.query.id
|
||||
})
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
this.$message.success('success!')
|
||||
location.reload() // 刷新本页面
|
||||
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
}).catch(()=>{})
|
||||
},
|
||||
// 添加一行
|
||||
addLine(row, optitle){
|
||||
// console.log(row)
|
||||
this.dialogTitle = optitle
|
||||
// this.$refs['refenceForm'].clearValidate()
|
||||
this.editboxVisible = true
|
||||
this.refenceForm.pre_p_refer_id = row.p_refer_id
|
||||
this.refenceForm.article_id = this.$route.query.id
|
||||
|
||||
// this.refenceLinkForm.pre_p_refer_id = row.p_refer_id
|
||||
//this.refenceLinkForm.article_id = this.$route.query.id
|
||||
|
||||
this.$nextTick(()=>{
|
||||
this.$refs['refenceForm'].clearValidate(['doi']);
|
||||
})
|
||||
},
|
||||
|
||||
// 删除一行
|
||||
deleteLine(row){
|
||||
this.$confirm('Are you sure you want to remove this reference?', 'Tips', {
|
||||
confirmButtonText: 'Sure',
|
||||
cancelButtonText: 'Cancel',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.$api
|
||||
.post('api/Preaccept/delRefer', {
|
||||
'p_refer_id': row.p_refer_id
|
||||
})
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
this.$message.success('remove successed!')
|
||||
this.getRefData()
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
}).catch(() => {
|
||||
// this.$message({
|
||||
// type: 'info',
|
||||
// message: '已取消删除'
|
||||
// });
|
||||
});
|
||||
},
|
||||
|
||||
// 调整顺序
|
||||
changeOrder(row, opName){
|
||||
let optitle = ''
|
||||
opName == 'up' ? optitle = 'Move up this line?' : optitle = 'Move down this line?'
|
||||
// this.$confirm(optitle, 'Tips', {
|
||||
// confirmButtonText: 'Sure',
|
||||
// cancelButtonText: 'Cancel',
|
||||
// type: 'warning'
|
||||
// }).then(() => {
|
||||
this.$api
|
||||
.post('api/Preaccept/sortRefer', {
|
||||
'p_refer_id': row.p_refer_id,
|
||||
'act': opName
|
||||
})
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
// this.$message.success('successed!')
|
||||
this.getRefData()
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
// this.$message({
|
||||
// type: 'success',
|
||||
// message: 'remove successed!'
|
||||
// });
|
||||
// }).catch(()=>{});
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
upload_manuscirpt: function() {
|
||||
// return this.baseUrl + 'api/Article/up_file/type/manuscirpt';
|
||||
return this.baseUrl + 'api/Preaccept/up_refer_file';
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
SourceType : {
|
||||
handler(newVal, oldVal) {
|
||||
this.$nextTick(()=>{
|
||||
// console.log('清空验证信息')
|
||||
// this.$refs['refenceLinkForm'].clearValidate()
|
||||
this.$refs['refenceForm'].clearValidate()
|
||||
// this.$refs['refenceForm'].resetFields() // 表单重置
|
||||
})
|
||||
},
|
||||
// immediate: true,
|
||||
deep: true // 可以深度检测到 person 对象的属性值的变化
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.line{border: 1px dashed #ebebeb; margin: 15px 0;}
|
||||
.tip{background: #e6effb; padding: 2px; font-style: normal; border-radius:10px ;}
|
||||
.wrongLine{ color: #f15f44;}
|
||||
.doiLink{color: #409EFF;}
|
||||
.editForm{background-color:#f9f9f9; padding: 20px 0; padding-right: 20px;}
|
||||
.yinyongPre{line-height: 28px; margin-bottom: 20px;}
|
||||
.shuoming{font-size: 14px; line-height: 26px; }
|
||||
.shuoming i{color: #F5BF6D;}
|
||||
.status{ display: block; width: 40px; height: 40px; border-radius: 40px; font-size: 22px; line-height: 40px; color: #fff; text-align: center;}
|
||||
.status.ok{background: #a7e389;}
|
||||
.status.warn{background: #ffd192;}
|
||||
.status.float{display: inline-block;}
|
||||
.topInfo{padding: 20px; }
|
||||
.topInfo ul{padding-left: 30px;}
|
||||
.topInfo ul li{margin-top: 10px;}
|
||||
.downloadbtn{font-weight: bold; color: #409EFF !important;}
|
||||
.uploadBox{width: 400px;}
|
||||
.el-upload__text{width: 80px; height: 80px; text-align: center; line-height: 80px;}
|
||||
.help{font-size: 18px; color: #F5BF6D; cursor: pointer;}
|
||||
.el-alert__title{font-size: 26px;}
|
||||
.mt20{margin-top: 20px;}
|
||||
.content_box{padding:15px 10px; border:3px dashed #eff6ff; }
|
||||
.flexbox{display: flex;}
|
||||
p{color: #333; font-size: 14px;}
|
||||
.mt10{margin-top: 10px;}
|
||||
.more{font-weight: bold;}
|
||||
.noneData{ margin:30px 0; padding: 20px; border:3px dashed #F8F8F8; }
|
||||
.noneData img{display: block; margin: 10px auto; opacity: .5; width: 100px;}
|
||||
.nodatatext{color: #666; text-align: center;}
|
||||
.zhushi{color: #999; font-size: 12px;}
|
||||
.whoDo{background: #EEF7F9; padding: 30px;}
|
||||
|
||||
.whoDo ul{padding-left: 20px;}
|
||||
.helpcontent{color: #888; margin-top: 150px;}
|
||||
.helpcontent p{color: inherit; font-size: 12px;}
|
||||
.c666{color: #666;}
|
||||
.c888{color: #888;}
|
||||
|
||||
/deep/ .el-table tr:nth-child(2n){
|
||||
background: #fff;
|
||||
}
|
||||
</style>
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="container">
|
||||
<el-table :data="tableData" border stripe class="table" ref="multipleTable"
|
||||
<el-table :data="tableData" border stripe class="table" ref="multipleTable" v-loading="loading"
|
||||
header-cell-class-name="table-header" empty-text="New messages (0)">
|
||||
<el-table-column type="index" label="No." width="55" align="center"></el-table-column>
|
||||
<el-table-column width="180" label="Manuscript ID" align="center">
|
||||
@@ -24,22 +24,15 @@
|
||||
</el-badge>
|
||||
</p>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="Type" align="center" width="300">
|
||||
</el-table-column>
|
||||
<el-table-column label="scoring" align="center" prop="scoring" width="90">
|
||||
|
||||
</el-table-column>
|
||||
<el-table-column label="author" align="center" width="300">
|
||||
<template slot-scope="scope">
|
||||
<!-- {{scope.row.type}} -->
|
||||
<el-select v-model="scope.row.type" disabled style="width: 100%;">
|
||||
<el-option v-for="item in journal_type" :key="item.value" :label="item.name"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
<!--- <div style="text-align: center;margin-bottom: 10px;" v-if="scope.row.emailh==1">
|
||||
<el-button size="mini" type="primary" plain icon="el-icon-chat-dot-square"
|
||||
@click="linkEmailist(scope.row)">History</el-button>
|
||||
</div>
|
||||
<div style="text-align: center;">
|
||||
<el-button size="mini" type="primary" plain icon="el-icon-message"
|
||||
@click="linkEmail(scope.row)">Email</el-button>
|
||||
</div> --->
|
||||
<b>{{scope.row.user.realname}}</b><br/>
|
||||
{{scope.row.user.email}}<br/>
|
||||
{{scope.row.user.phone}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="Remarks" align="center">
|
||||
@@ -100,7 +93,8 @@
|
||||
content: ''
|
||||
},
|
||||
journal_type:[],
|
||||
ss:''
|
||||
ss:'',
|
||||
loading:false
|
||||
};
|
||||
},
|
||||
components: {
|
||||
@@ -120,10 +114,12 @@
|
||||
// 获取数据
|
||||
getData() {
|
||||
// 被拒稿件列表
|
||||
this.loading = true
|
||||
this.$api
|
||||
.post('api/Article/getRejectArticles', this.query)
|
||||
.then(res => {
|
||||
if (res.data.count > 0) {
|
||||
this.loading = false
|
||||
this.tableData = res.data.articles
|
||||
this.Total = res.data.count
|
||||
}
|
||||
|
||||
@@ -326,6 +326,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"
|
||||
@@ -486,8 +487,8 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="Major :" prop="major_all">
|
||||
<el-cascader :options="jl_major" v-model="item.major_all" :props="defaultParams"
|
||||
placeholder="Please select major" style="width: 270px;" clearable></el-cascader>
|
||||
<el-cascader :options="step4MajorList" v-model="item.major_all" :props="default4Params"
|
||||
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>
|
||||
@@ -664,7 +665,7 @@
|
||||
manuscirpt: '',
|
||||
supplementary: '',
|
||||
code: '',
|
||||
topics:null
|
||||
// topics:null
|
||||
},
|
||||
journal_type: [{
|
||||
name: 'ARTICLE',
|
||||
@@ -873,12 +874,18 @@
|
||||
companyList: [],
|
||||
countrys: [],
|
||||
majorList: [],
|
||||
step4MajorList:[], // 第四步的major数据
|
||||
jl_major: [],
|
||||
defaultParams: {
|
||||
label: 'title',
|
||||
value: 'major_id',
|
||||
children: 'children'
|
||||
},
|
||||
default4Params:{
|
||||
label: 'major_title',
|
||||
value: 'major_id',
|
||||
children: 'children'
|
||||
},
|
||||
mj_jour: [],
|
||||
jour_name: '',
|
||||
topicsList:null, // 话题列表
|
||||
@@ -906,7 +913,7 @@
|
||||
this.Temporary()
|
||||
} else {
|
||||
this.initMajor();
|
||||
this.getTopics()
|
||||
// this.getTopics() 获取话题列表
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -1022,14 +1029,15 @@
|
||||
this.$refs.tuiJianForm[i].validate(vali => {
|
||||
if (vali) {
|
||||
tuijian_yanzheng += 0
|
||||
this.tuiJianForm[i].major = this.tuiJianForm[i].major_all[0]
|
||||
this.tuiJianForm[i].cmajor = this.tuiJianForm[i].major_all[1]
|
||||
//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].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 = []
|
||||
}
|
||||
@@ -1184,17 +1192,17 @@
|
||||
'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;
|
||||
|
||||
})
|
||||
}
|
||||
})
|
||||
@@ -1210,6 +1218,14 @@
|
||||
|
||||
this.checkReviewer()
|
||||
|
||||
this.$api
|
||||
.post('api/Major/getMajorList')
|
||||
.then(res => {
|
||||
console.log(res,99)
|
||||
this.step4MajorList = res.data.majors;
|
||||
|
||||
})
|
||||
|
||||
},
|
||||
|
||||
// 机构模糊搜索
|
||||
@@ -1633,7 +1649,7 @@
|
||||
this.form.istransfer = false
|
||||
this.form.becomeRev = false
|
||||
this.initMajor();
|
||||
this.getTopics()
|
||||
// this.getTopics()
|
||||
},
|
||||
|
||||
// 点击tab变化
|
||||
@@ -1692,7 +1708,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
showFiles() {
|
||||
// 文件显示出来
|
||||
this.fileL_coverLetter = [];
|
||||
@@ -1950,7 +1966,7 @@
|
||||
this.form.approval = res.data.base.approval
|
||||
this.form.abstrart = res.data.base.abstrart
|
||||
this.form.fund = res.data.base.fund
|
||||
this.form.topics = res.data.base.topics
|
||||
// this.form.topics = res.data.base.topics
|
||||
// 领域
|
||||
this.$api
|
||||
.post('api/Major/getMajorForAddArticle', {
|
||||
@@ -2054,7 +2070,7 @@
|
||||
.then((res) => {
|
||||
if (res.code == 0) {
|
||||
this.topicsList = res.data.topics
|
||||
console.log(res.data.topics,'话题')
|
||||
// console.log(res.data.topics,'话题')
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
@@ -2062,7 +2078,7 @@
|
||||
},
|
||||
// 选中值变化
|
||||
topicsChange(e){
|
||||
console.log(this.form.topics,'选中的话题id')
|
||||
// console.log(this.form.topics,'选中的话题id')
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div>
|
||||
<div >
|
||||
<div class="crumbs">
|
||||
<el-breadcrumb separator="/">
|
||||
<el-breadcrumb-item>
|
||||
@@ -68,7 +68,7 @@
|
||||
<font style="color: #666b7a;">Journal : </font>
|
||||
<b style="font-weight: normal;">{{item.journalname}}</b>
|
||||
</p>
|
||||
<p>
|
||||
<p v-if="item.state != 6">
|
||||
<font style="color: #666b7a;">
|
||||
<i class="el-icon-time" style="margin: 0 5px 0 0;"></i>
|
||||
Update Time :
|
||||
@@ -92,6 +92,14 @@
|
||||
<span @click="esy_deta(item.article_id)">
|
||||
<i class="el-icon-paperclip"></i>My Manuscript
|
||||
</span>
|
||||
<span v-if="item.state == 6" style="text-decoration: none;">
|
||||
<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> -->
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -127,7 +135,9 @@
|
||||
<span style="margin: 0 4px 0 5px;">Click here to :</span>
|
||||
<b style="color: #5fab3b;">Confirm the Proof</b>
|
||||
</router-link>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="pagination">
|
||||
<el-pagination background layout="total, prev, pager, next" :current-page="query.pageIndex"
|
||||
@@ -289,66 +299,45 @@
|
||||
</el-dialog>
|
||||
|
||||
<!-- 审稿人列表 -->
|
||||
<el-dialog title="Comments from reviewers" :visible.sync="comentVisible" :close-on-click-modal="false"
|
||||
width="800px">
|
||||
<el-tabs tab-position="left">
|
||||
<el-tab-pane label="Reviewer 1">
|
||||
<div style="padding: 0 10px;">
|
||||
<el-collapse v-model="activeComment" v-if="comentDeploy!=''">
|
||||
<el-collapse-item v-for="(item,index) in comentDeploy" :name="index"
|
||||
class="art_author_list">
|
||||
<template slot="title">
|
||||
<b class="com_shu">{{index+1}}</b>
|
||||
Reviewer Comment
|
||||
<font style="margin: 0 0 0 50px;color: #888;">
|
||||
<i class="el-icon-time" style="margin:0 2px 0 0;"></i>
|
||||
{{formatDate1(item.ctime)}}
|
||||
</font>
|
||||
</template>
|
||||
<div class="art_author_coment">
|
||||
<p v-if="item.qu9_contents!=''">
|
||||
<font>Does the title represent manuscript's contents?</font>
|
||||
<pre>{{item.qu9_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.qu10_contents!=''">
|
||||
<font>Is the Abstract accurate and concise?</font>
|
||||
<pre>{{item.qu10_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.qu11_contents!=''">
|
||||
<font>Are the approach/ methods properly described?</font>
|
||||
<pre>{{item.qu11_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.qu12_contents!=''">
|
||||
<font>Are the conclusions and interpretations sound?</font>
|
||||
<pre>{{item.qu12_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.qu13_contents!=''">
|
||||
<font>Are the references properly cited?</font>
|
||||
<pre>{{item.qu13_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.comments!=''">
|
||||
<font>Comments for the Authors</font>
|
||||
<pre>{{item.comments}}</pre>
|
||||
</p>
|
||||
<p style="text-align: right;">
|
||||
<el-input type="textarea" rows="3" v-model="item.plycontent" @input="onInput()"
|
||||
placeholder="Please enter..." resize="none" style="margin-bottom: 10px;">
|
||||
</el-input>
|
||||
<el-button size="mini" type="warning" icon="el-icon-chat-line-square"
|
||||
@click="replayMessage(item)">
|
||||
Reply to Reviewer
|
||||
</el-button>
|
||||
</p>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
<el-dialog title="Comments from reviewers" :visible.sync="comentVisible" width="800px">
|
||||
<el-collapse v-model="activeComment" v-if="comentDeploy!=''">
|
||||
<el-collapse-item v-for="(item,index) in comentDeploy" :name="index" class="art_author_list">
|
||||
<template slot="title">
|
||||
<b class="com_shu">{{index+1}}</b>
|
||||
Reviewer Comment
|
||||
<font style="margin: 0 0 0 50px;color: #888;">
|
||||
<i class="el-icon-time" style="margin:0 2px 0 0;"></i>
|
||||
{{formatDate1(item.ctime)}}
|
||||
</font>
|
||||
</template>
|
||||
<div class="art_author_coment">
|
||||
<p v-if="item.qu9_contents!=''">
|
||||
<font>Does the title represent manuscript's contents?</font>
|
||||
<pre>{{item.qu9_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.qu10_contents!=''">
|
||||
<font>Is the Abstract accurate and concise?</font>
|
||||
<pre>{{item.qu10_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.qu11_contents!=''">
|
||||
<font>Are the approach/ methods properly described?</font>
|
||||
<pre>{{item.qu11_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.qu12_contents!=''">
|
||||
<font>Are the conclusions and interpretations sound?</font>
|
||||
<pre>{{item.qu12_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.qu13_contents!=''">
|
||||
<font>Are the references properly cited?</font>
|
||||
<pre>{{item.qu13_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.comments!=''">
|
||||
<font>Comments for the Authors</font>
|
||||
<pre>{{item.comments}}</pre>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="Reviewer 2">Reviewer 2</el-tab-pane>
|
||||
</el-tabs>
|
||||
|
||||
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
<p v-if="comentDeploy==''" style="color: #888888;margin: 0 0 0 10px;">No Comment</p>
|
||||
</el-dialog>
|
||||
|
||||
@@ -383,9 +372,6 @@
|
||||
supplementaryFileList: [],
|
||||
comentDeploy: [],
|
||||
activeComment: [],
|
||||
replyMes: {
|
||||
content: ''
|
||||
},
|
||||
authorList_name: '',
|
||||
editVisible: false,
|
||||
artextVisible: false,
|
||||
@@ -457,7 +443,16 @@
|
||||
// }
|
||||
|
||||
},
|
||||
|
||||
// 显示预收录页面
|
||||
goPre_ingested(id){
|
||||
this.$router.push({
|
||||
path: 'PreIngested',
|
||||
query: {
|
||||
id: id
|
||||
// id: 3070
|
||||
}
|
||||
});
|
||||
},
|
||||
// 点击稿件进程
|
||||
esy_mtps(e) {
|
||||
this.$router.push({
|
||||
@@ -478,9 +473,10 @@
|
||||
.then(res => {
|
||||
// 弹出框
|
||||
this.comentDeploy = res.suggest
|
||||
for (var i = 0; i < this.comentDeploy.length; i++) {
|
||||
this.comentDeploy[i].plycontent = ''
|
||||
}
|
||||
// this.activeComment = []
|
||||
// for (var i = 0; i < res.suggest.length; i++) {
|
||||
// this.activeComment.push(i)
|
||||
// }
|
||||
this.comentVisible = true
|
||||
})
|
||||
.catch(err => {
|
||||
@@ -488,28 +484,6 @@
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
// 回复审稿人
|
||||
replayMessage(e) {
|
||||
if (e.plycontent == '') {
|
||||
this.$message.error('Please fill in the reply content!');
|
||||
return
|
||||
}
|
||||
// 二次确认
|
||||
this.$confirm('Can only reply to the reviewer once, please confirm the content.', 'Tip', {
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
|
||||
// 输入框输入
|
||||
onInput() {
|
||||
this.$forceUpdate();
|
||||
},
|
||||
|
||||
// 点击稿件内容文件
|
||||
esy_deta(e) {
|
||||
this.$api
|
||||
@@ -763,6 +737,9 @@
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.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;
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -968,6 +968,10 @@
|
||||
label: 'MINI REVIEW',
|
||||
value: 'Mini Review'
|
||||
},
|
||||
{
|
||||
label: 'RETRACTION NOTE',
|
||||
value: 'Retraction Note'
|
||||
},
|
||||
{
|
||||
label: '内经难经',
|
||||
value: '内经难经'
|
||||
|
||||
@@ -192,7 +192,7 @@
|
||||
|
||||
|
||||
<!-- Html排版 -->
|
||||
<el-dialog title="HTML layout" :visible.sync="HtmlVisible" width="900px" :close-on-click-modal="false">
|
||||
<el-dialog title="HTML layout" :visible.sync="HtmlVisible" width="900px" :close-on-click-modal="false" @close="CancelHtml">
|
||||
<div style="margin: 0 0 0 10px;" class="htmlfile">
|
||||
<h3 style="font-size: 16px;margin-bottom: 25px;line-height: 22px;letter-spacing: -0.5px;word-break: break-word;"
|
||||
v-html="UpHtpFIle.title"></h3>
|
||||
@@ -223,31 +223,103 @@
|
||||
can be uploaded(.pdf)</div>
|
||||
</el-upload>
|
||||
</div> -->
|
||||
<div style="border-top: 2px dashed #0066994d;margin: 20px 0 0 0;padding: 20px 0 0 0;">
|
||||
<font style="font-size: 16px;">Html Layout :</font>
|
||||
<span style="margin-left: 15px;color: #666;" v-if="UpHtpFIle.mains==''">No Layout</span>
|
||||
<span style="margin-left: 15px;color: #0b4b6a;" v-if="UpHtpFIle.mains!=''">Typesetting
|
||||
completed</span>
|
||||
<el-button type="primary" icon="el-icon-document-copy" @click="htmlLayout()"
|
||||
style="margin-left: 20px;">
|
||||
<font v-if="UpHtpFIle.mains==''">Creat Html Proofread</font>
|
||||
<font v-if="UpHtpFIle.mains!=''">Edit Html Proofread</font>
|
||||
</el-button>
|
||||
<div class="titHtml" v-if="UpHtpFIle.mains!=''">
|
||||
<div v-for="(item,index) in UpHtpFIle.mains">
|
||||
<p v-html="item.content" v-if="item.width==0"></p>
|
||||
<p v-if="item.width!=0" class="MaxPicture">
|
||||
<img :src="baseUrl+'public/mainimg/'+item.content" :style="'width:'+item.width+'px'">
|
||||
<font :style="'width:'+item.width+'px'">{{item.note}}
|
||||
</font>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<p style="border-top: 2px dashed #0066994d;margin: 20px 0 0 0;padding: 20px 0 0 0;"> </p>
|
||||
<el-collapse v-model="collapseActiveNames">
|
||||
<el-collapse-item name="html">
|
||||
<template slot="title">
|
||||
Html Layout :
|
||||
<span style="margin-left: 15px;color: #666;" v-if="UpHtpFIle.mains==''">No Layout</span>
|
||||
<span style="margin-left: 15px;color: #0b4b6a;" v-if="UpHtpFIle.mains!=''">Typesetting completed</span>
|
||||
<!-- <el-button v-if="UpHtpFIle.mains==''" type="text" plain icon="el-icon-document-copy" @click="showCreateHtmlItem()"
|
||||
style="margin-left: 20px;">
|
||||
<font >Create Html Proofread</font>
|
||||
</el-button> -->
|
||||
<el-button v-if="UpHtpFIle.mains!=''" type="primary" plain icon="el-icon-document-copy" @click="htmlLayout()"
|
||||
style="margin-left: 20px;">
|
||||
<font >Edit Html Proofread</font>
|
||||
</el-button>
|
||||
</template>
|
||||
<div>
|
||||
<!-- 生成选项 -->
|
||||
<div v-if="UpHtpFIle.mains==''">
|
||||
<el-radio v-model="createType" label="1">使用稿件最终版生成html</el-radio>
|
||||
<el-radio v-model="createType" label="2">重新上传word文件生成html</el-radio>
|
||||
<!-- 方式是重新上传,且没有上传文件时,按钮不可用 -->
|
||||
<el-button type="primary" @click="htmlLayout" class="import" v-if="createType=='2' && fileL_manuscirpt != '' || createType=='1'">Create Html Proofread</el-button>
|
||||
<!-- 文件上传 -->
|
||||
<div style="margin: 20px 0 0 0" v-if="createType == '2'">
|
||||
<el-upload ref="uploadFile" class="upload-demo up_newstyle" :action="upload_manuscirpt"
|
||||
accept=".docx" name="completedManuscirpt" :before-upload="beforeupload_manuscirpt"
|
||||
:on-error="uperr_coverLetter" :on-success="upSuccess_manuscirpt" :limit="1"
|
||||
:on-exceed="alertlimit" :on-remove="removefilemanuscirpt" :file-list="fileL_manuscirpt"
|
||||
>
|
||||
<div class="el-upload__text" @click="clearUploadedFile">
|
||||
<em>Upload File</em>
|
||||
</div>
|
||||
<!-- <div class="el-upload__tip" slot="tip">
|
||||
Only Word and compressed files can be uploaded (file format: .docx).
|
||||
</div> -->
|
||||
</el-upload>
|
||||
</div>
|
||||
|
||||
<!-- end -->
|
||||
</div>
|
||||
<!-- end -->
|
||||
<div class="titHtml" v-if="UpHtpFIle.mains!=''">
|
||||
<div v-for="(item,index) in UpHtpFIle.mains">
|
||||
<p v-html="item.content" v-if="item.width==0"></p>
|
||||
<p v-if="item.width!=0" class="MaxPicture">
|
||||
<img :src="baseUrl+'public/mainimg/'+item.content" :style="'width:'+item.width+'px'">
|
||||
<font :style="'width:'+item.width+'px'">{{item.note}}
|
||||
</font>
|
||||
</p>
|
||||
</div>
|
||||
</div></div>
|
||||
</el-collapse-item>
|
||||
<el-collapse-item name="references">
|
||||
<template slot="title">
|
||||
References :
|
||||
<span style="margin-left: 15px;color: #666;" v-if="UpHtpFIle.refers==''">Have no refernces</span>
|
||||
<span style="margin-left: 15px;color: #0b4b6a;" v-if="UpHtpFIle.refers!=''">There are {{UpHtpFIle.refers.length}} pieces of data in total.</span>
|
||||
<el-button type="primary" plain icon="el-icon-document-copy" @click="goEditRefernces"
|
||||
style="margin-left: 20px;">
|
||||
<font >Edit References</font>
|
||||
</el-button>
|
||||
</template>
|
||||
<div>
|
||||
<el-table class="table99" v-if="UpHtpFIle.refers!=''" height="400px" :header-cell-style="{background:'#eef1f6',color:'#606266'}"
|
||||
:data="UpHtpFIle.refers"
|
||||
stripe
|
||||
style="width: 100%">
|
||||
<el-table-column
|
||||
type="index" align="center"
|
||||
width="50">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="CONTENT" align="center"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<div style="text-align: left;" v-if="scope.row.refer_type == 'journal'">
|
||||
<p>{{scope.row.author}},{{scope.row.title}}, <em>{{scope.row.joura}}</em> ,{{scope.row.dateno}}<br/></p>
|
||||
<a class="doiLink" :href="scope.row.doilink" target="_blank">{{scope.row.doilink}}</a>
|
||||
</div>
|
||||
<div style="text-align: left;" v-if="scope.row.refer_type == 'book'">
|
||||
<p>{{scope.row.author}},{{scope.row.title}},{{scope.row.dateno}}<br/></p>
|
||||
<a class="doiLink" :href="scope.row.isbn" target="_blank">{{scope.row.isbn}}</a>
|
||||
</div>
|
||||
<p class="wrongLine" style="text-align: left;" v-if="scope.row.refer_type == 'other'">
|
||||
{{scope.row.refer_frag}}
|
||||
</p>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="HtmlVisible = false" plain>Cancel</el-button>
|
||||
<el-button @click="CancelHtml" plain>Cancel</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
@@ -258,9 +330,15 @@
|
||||
import {
|
||||
Loading
|
||||
} from 'element-ui';
|
||||
import { watch } from 'vue';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
articleId:null,
|
||||
createType:'1', // html生成方式
|
||||
collapseActiveNames:['html'], // 手风琴绑定值
|
||||
// oldFile:false, // 是否用新文件生成
|
||||
fileL_manuscirpt: [],
|
||||
baseUrl: this.Common.baseUrl,
|
||||
mediaUrl: this.Common.mediaUrl,
|
||||
username: localStorage.getItem('U_name'),
|
||||
@@ -291,6 +369,7 @@
|
||||
article_id: '',
|
||||
htmlfile: '',
|
||||
mains: [],
|
||||
refers:[], //引用参数
|
||||
},
|
||||
UpLoadFile: {
|
||||
article_id: '',
|
||||
@@ -309,12 +388,24 @@
|
||||
chooseData: [],
|
||||
loading: false,
|
||||
steps_jour: 0,
|
||||
form:{
|
||||
manuscirpt: '',
|
||||
},
|
||||
fileData:'' // 上传后返回的文件url
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getJourDate();
|
||||
},
|
||||
methods: {
|
||||
computed: {
|
||||
upload_coverLetter: function() {
|
||||
return this.baseUrl + 'api/Article/up_file/type/coverLetter';
|
||||
},
|
||||
upload_manuscirpt: function() {
|
||||
return this.baseUrl + 'api/Production/up_last_artFile';
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
// 获取列表
|
||||
getDate() {
|
||||
const loading = this.$loading({
|
||||
@@ -335,7 +426,66 @@
|
||||
loading.close();
|
||||
});
|
||||
},
|
||||
|
||||
// 跳转到引用编辑页面
|
||||
goEditRefernces(){
|
||||
// let pid = null
|
||||
this.HtmlVisible = false
|
||||
//this.UpHtpFIle.refers.length > 0 ? pid = this.UpHtpFIle.refers[0].p_article_id :
|
||||
this.$router.push({
|
||||
name: 'publishRefernceEditor',
|
||||
query: {
|
||||
id: this.articleId,
|
||||
pid: this.UpHtpFIle.refers[0].p_article_id
|
||||
}
|
||||
})
|
||||
},
|
||||
CancelHtml(){
|
||||
this.HtmlVisible = false
|
||||
this.form.manuscirpt = ''
|
||||
this.fileData = ''
|
||||
this.fileL_manuscirpt = []
|
||||
this.createType = '1' // html生成方式
|
||||
this.collapseActiveNames = ['html']
|
||||
|
||||
},
|
||||
showCreateHtmlItem(){
|
||||
this.collapseActiveNames[0] = 'html'
|
||||
//console.log(this.collapseActiveNames)
|
||||
},
|
||||
beforeupload_manuscirpt(file) {
|
||||
let flieArr = file.name.split(".")
|
||||
let fileSuffix = flieArr[flieArr.length - 1];
|
||||
if (fileSuffix != 'docx') {
|
||||
this.$message.error('Only word and compressed files can be uploaded(.docx)');
|
||||
return false;
|
||||
}
|
||||
},
|
||||
upSuccess_manuscirpt(res, file) {
|
||||
if (res.code == 0) {
|
||||
this.fileData = res.upurl
|
||||
this.form.manuscirpt = 'manuscirpt/' + res.upurl;
|
||||
this.fileL_manuscirpt = [{}];
|
||||
this.fileL_manuscirpt[0].name = "Manuscirpt File";
|
||||
this.fileL_manuscirpt[0].url = 'manuscirpt/' + res.upurl;
|
||||
} else {
|
||||
this.$message.error('service error: ' + res.msg);
|
||||
}
|
||||
},
|
||||
//超出传送文件个数限制
|
||||
alertlimit() {
|
||||
this.$message.error('The maximum number of uploaded files has been exceeded');
|
||||
},
|
||||
removefilemanuscirpt(file, fileList) {
|
||||
this.form.manuscirpt = '';
|
||||
this.fileL_manuscirpt = [];
|
||||
},
|
||||
clearUploadedFile() {
|
||||
this.$refs['uploadFile'].clearFiles();
|
||||
},
|
||||
uperr_coverLetter(err) {
|
||||
this.$message.error('Upload error');
|
||||
},
|
||||
|
||||
//初始化期刊分期
|
||||
getJourDate() {
|
||||
this.$api
|
||||
@@ -639,8 +789,10 @@
|
||||
},
|
||||
|
||||
// 文章html弹出层
|
||||
htmlContet(e) {
|
||||
htmlContet(e) {
|
||||
this.articleId = e.article_id
|
||||
this.UpHtpFIle.article_id = e.article_id
|
||||
this.UpHtpFIle.refers = e.refers
|
||||
this.UpHtpFIle.doi = e.doi
|
||||
this.UpHtpFIle.htmlfile = e.file_html
|
||||
this.UpHtpFIle.title = e.title
|
||||
@@ -648,7 +800,26 @@
|
||||
this.UpLoadFile.article_id = e.article_id
|
||||
this.HtmlVisible = true
|
||||
},
|
||||
|
||||
// 生成html
|
||||
// CreateHtml(){
|
||||
// const loading = this.$loading({
|
||||
// lock: true,
|
||||
// text: 'Loading...',
|
||||
// spinner: 'el-icon-loading',
|
||||
// background: 'rgba(0, 0, 0, 0.7)'
|
||||
// });
|
||||
// this.$api
|
||||
// .post('api/Production/getProductionMainsByDoi', {
|
||||
// doi: this.UpHtpFIle.doi,
|
||||
|
||||
// })
|
||||
// .then(res => {
|
||||
// if (res.code == 0) {
|
||||
// loading.close()
|
||||
// this.htmlLayout()
|
||||
// }
|
||||
// })
|
||||
// },
|
||||
// 修改文章html
|
||||
htmlLayout() {
|
||||
const loading = this.$loading({
|
||||
@@ -659,7 +830,8 @@
|
||||
});
|
||||
this.$api
|
||||
.post('api/Production/getProductionMainsByDoi', {
|
||||
doi: this.UpHtpFIle.doi
|
||||
doi: this.UpHtpFIle.doi,
|
||||
file: this.fileData
|
||||
})
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
@@ -741,11 +913,39 @@
|
||||
this.$message.error('The maximum number of uploaded files has been exceeded');
|
||||
},
|
||||
|
||||
}
|
||||
},
|
||||
// watch:{
|
||||
// collapseActiveNames : {
|
||||
// handler(newVal, oldVal) {
|
||||
// this.$nextTick(()=>{
|
||||
// this.oldFile = newVal.find((item)=>{item.name===''});
|
||||
// })
|
||||
// },
|
||||
// // immediate: true,
|
||||
// deep: true // 可以深度检测到 person 对象的属性值的变化
|
||||
// }
|
||||
// }
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
.doiLink{color: #409EFF;}
|
||||
.up_newstyle {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
/deep/ .el-upload--text {
|
||||
background-color: #ecf5ff;
|
||||
border: 1px solid #b3d8ff !important;
|
||||
padding: 0 7px;
|
||||
/* margin-left: 10px; */
|
||||
}
|
||||
|
||||
.up_newstyle .el-upload__text em {
|
||||
color: #409EFF !important;
|
||||
font-size: 12px;
|
||||
}
|
||||
.handle-box {
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
@@ -909,31 +1109,33 @@
|
||||
}
|
||||
|
||||
/deep/.htmlfile .upload-demo .el-upload-list {
|
||||
margin-top: 4px;
|
||||
margin-top: -4px;
|
||||
margin-left: 20px;
|
||||
float: left;
|
||||
width: 35px;
|
||||
display: none;
|
||||
width: 500px;
|
||||
/* display: none; */
|
||||
}
|
||||
|
||||
/* /deep/ .import.is-disabled{background: #ecf5ff !important; color: #8cc5ff !important; border-color: #d9ecff !important;} */
|
||||
|
||||
/deep/.htmlfile .upload-demo .el-upload-list .el-upload-list__item {
|
||||
/* /deep/.htmlfile .upload-demo .el-upload-list .el-upload-list__item {
|
||||
width: 30px !important;
|
||||
}
|
||||
} */
|
||||
|
||||
/deep/.htmlfile .upload-demo .el-upload-list .el-upload-list__item:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/deep/.htmlfile .upload-demo .el-upload-list .el-upload-list__item .el-upload-list__item-name {
|
||||
/* /deep/.htmlfile .upload-demo .el-upload-list .el-upload-list__item .el-upload-list__item-name {
|
||||
width: 30px;
|
||||
}
|
||||
} */
|
||||
|
||||
/deep/.htmlfile .upload-demo .el-upload-list .el-upload-list__item .el-upload-list__item-status-label {
|
||||
/* /deep/.htmlfile .upload-demo .el-upload-list .el-upload-list__item .el-upload-list__item-status-label {
|
||||
display: none;
|
||||
}
|
||||
} */
|
||||
|
||||
/deep/.htmlfile .upload-demo .el-upload-list__item:hover .el-icon-close {
|
||||
/* /deep/.htmlfile .upload-demo .el-upload-list__item:hover .el-icon-close {
|
||||
display: none;
|
||||
}
|
||||
} */
|
||||
/deep/ .table99 th{background: #e4e7ed !important; color: #777 !important;}
|
||||
</style>
|
||||
|
||||
@@ -1,908 +0,0 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="crumbs">
|
||||
<el-breadcrumb separator="/">
|
||||
<el-breadcrumb-item>
|
||||
<i class="el-icon-lx-cascades"></i> Manuscript list
|
||||
</el-breadcrumb-item>
|
||||
</el-breadcrumb>
|
||||
</div>
|
||||
<div class="container_state">
|
||||
<div class="handle-box" style="margin: 20px 0;">
|
||||
<el-select v-model="query.journal" @change="getdate" placeholder="Please select journal"
|
||||
style="width: 180px;">
|
||||
<el-option :key="0" label="All journals" :value="0"></el-option>
|
||||
<el-option v-for="item in items" :key="item.journal_id" :label="item.title"
|
||||
:value="item.journal_id"></el-option>
|
||||
</el-select>
|
||||
<el-select v-model="query.state" @change="getdate" placeholder="Please select status"
|
||||
style="margin-left:10px;width: 110px;">
|
||||
<el-option :key="0" label="All status" :value="0"></el-option>
|
||||
<el-option :key="1" :label="$t('artstate.state1')" :value="1"></el-option>
|
||||
<el-option :key="2" :label="$t('artstate.state2')" :value="2"></el-option>
|
||||
<el-option :key="3" :label="$t('artstate.state3')" :value="3"></el-option>
|
||||
<el-option :key="4" :label="$t('artstate.state4')" :value="4"></el-option>
|
||||
<el-option :key="5" :label="$t('artstate.state5')" :value="5"></el-option>
|
||||
</el-select>
|
||||
<el-input v-model="query.name" placeholder="Title" style="margin:0 10px;width: 190px;"></el-input>
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleSearch">Search</el-button>
|
||||
<el-button type="primary" icon="el-icon-edit-outline" @click="addArticle"
|
||||
style="float: right;width: 190px;">New
|
||||
Submission</el-button>
|
||||
</div>
|
||||
|
||||
<!-- <el-table :data="tableData" border ref="multipleTable">
|
||||
<el-table-column type="index" label="No." width="55" align="center"></el-table-column>
|
||||
<el-table-column label="Title" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-badge is-dot :hidden="scope.row.editor_act==1?false:true" class="item">
|
||||
{{scope.row.title}}
|
||||
</el-badge>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="journalname" label="Journal" align="center"></el-table-column>
|
||||
<el-table-column prop="accept_sn" label="Manuscript ID" align="center"></el-table-column>
|
||||
<el-table-column prop="state" label="Status" :formatter="stateFormat" align="center" width="100"></el-table-column>
|
||||
<el-table-column label="" width="180" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="primary" plain icon="el-icon-tickets" @click="showdetail(scope.row)">detail</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table> -->
|
||||
|
||||
<div shadow="never" v-for="item in tableData" class="mangu_list" :style="item.state,'1' | stateChange">
|
||||
<div style="padding: 20px 20px 20px 20px;position: relative;" :style="item.state,'2' | stateChange">
|
||||
<p class="man_title" @click="esy_mtps(item.article_id)">
|
||||
<el-badge is-dot :hidden="item.editor_act==1?false:true">
|
||||
{{item.title}}
|
||||
</el-badge>
|
||||
</p>
|
||||
<p style="margin-bottom: 8px;">
|
||||
<font style="color: #666b7a;">ID : </font>
|
||||
{{item.accept_sn}}
|
||||
<font style="color: #666b7a;margin-left: 50px;">Type : </font>
|
||||
{{item.type | ellipsis}}
|
||||
</p>
|
||||
<p class="man_con">
|
||||
<!-- <span>{{item.type | ellipsis}}</span> -->
|
||||
<font style="color: #666b7a;">Journal : </font>
|
||||
<b style="font-weight: normal;">{{item.journalname}}</b>
|
||||
</p>
|
||||
<p>
|
||||
<font style="color: #666b7a;">
|
||||
<i class="el-icon-time" style="margin: 0 5px 0 0;"></i>
|
||||
Update Time :
|
||||
</font>
|
||||
<b style="font-weight: normal;margin: 0 0 0 5px;">{{item.ctime}}</b>
|
||||
</p>
|
||||
<div class="man_state" :style="item.state,'3' | stateChange">
|
||||
<b :style="item.state,'4' | stateChange">
|
||||
{{item.state,'tst' | stateChange}}
|
||||
</b>
|
||||
</div>
|
||||
<div class="man_btn">
|
||||
<span @click="esy_mtps(item.article_id)">
|
||||
<i class="el-icon-collection"></i>Manuscript Tracking
|
||||
</span>
|
||||
<font> | </font>
|
||||
<span @click="esy_review(item.article_id)">
|
||||
<i class="el-icon-document-copy"></i>Reviewer Comments
|
||||
</span>
|
||||
<font> | </font>
|
||||
<span @click="esy_deta(item.article_id)">
|
||||
<i class="el-icon-paperclip"></i>My Manuscript
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="man_progess" v-if="item.state==4" :style="item.state,'2' | stateChange">
|
||||
<font style="color: #666b7a;">
|
||||
Current Status :
|
||||
</font>
|
||||
<b style="margin: 0 0 0 5px;color: #5a90e1;">{{item.state,'tst' | stateChange}} </b>
|
||||
<router-link :to="{path:'/articleProcessRevision',query:{id:item.article_id}}" style="color: #333;">
|
||||
<span style="margin: 0 4px 0 5px;">Click here to :</span>
|
||||
<b>Upload Major Revision</b>
|
||||
</router-link>
|
||||
</div>
|
||||
|
||||
<div class="man_progess" v-if="item.state==3&&item.transinfo!=null"
|
||||
:style="item.state,'2' | stateChange">
|
||||
<font style="color: #666b7a;">
|
||||
Current Status :
|
||||
</font>
|
||||
<b style="margin: 0 0 0 5px;color: #333;">{{item.state,'tst' | stateChange}} </b>
|
||||
<router-link :to="{path:'/articleProcessSwitch',query:{id:item.article_id}}" style="color: #333;">
|
||||
<span style="margin: 0 4px 0 5px;">Click here to :</span>
|
||||
<b style="color:#333">Transfer Manuscript</b>
|
||||
</router-link>
|
||||
</div>
|
||||
|
||||
<div class="man_progess" v-if="item.state==7" :style="item.state,'7' | stateChange">
|
||||
<font style="color: #666b7a;">
|
||||
Current Status :
|
||||
</font>
|
||||
<b style="margin: 0 0 0 5px;color: #5fab3b;">{{item.state,'tst' | stateChange}} </b>
|
||||
<router-link :to="{path:'/articleProcessConfirm',query:{id:item.article_id}}" style="color: #333;">
|
||||
<span style="margin: 0 4px 0 5px;">Click here to :</span>
|
||||
<b style="color: #5fab3b;">Confirm the Proof</b>
|
||||
</router-link>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="pagination">
|
||||
<el-pagination background layout="total, prev, pager, next" :current-page="query.pageIndex"
|
||||
:page-size="query.pageSize" :total="Total" @current-change="handlePageChange"></el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 文章内容 -->
|
||||
<el-dialog title="Manuscript Basic Information" :visible.sync="artextVisible" width="800px">
|
||||
<div class="art_state_message">
|
||||
<p>
|
||||
<font>Title :</font><b>{{artextForm.title}}</b>
|
||||
</p>
|
||||
<p>
|
||||
<font>ID : </font><b>{{artextForm.accept_sn}}</b>
|
||||
</p>
|
||||
<p>
|
||||
<font>Type :</font><b>{{artextForm.type | ellipsis}}</b>
|
||||
</p>
|
||||
<p v-show="artextForm.type=='A'">
|
||||
<font>Ethical Approval :</font><b>{{artextForm.approval?'Yes':'No'}}</b>
|
||||
</p>
|
||||
<p v-if="artextForm.special_num > 0">
|
||||
<font>Special Issues :</font><b>{{ artextForm.special_title }}</b>
|
||||
</p>
|
||||
<p>
|
||||
<font>Journal :</font><b>{{artextForm | journal_me}}</b>
|
||||
</p>
|
||||
<p>
|
||||
<font>Major :</font><b>{{artextForm.major}}</b>
|
||||
</p>
|
||||
<el-collapse v-model="activeNames" class="auth_colla auth_colla_new">
|
||||
<el-collapse-item :title="authorList_name" name="1">
|
||||
<div v-for="(item, index) in artextForm.authors" class="auth_mess">
|
||||
<h4 style="font-weight: bolder;">
|
||||
<img src="../../assets/img/state_one.png" v-if="item.isSuper"
|
||||
style="width: 15px;margin: 0 2px 0 0;vertical-align: text-bottom;">
|
||||
{{item.firstname}} {{item.lastname}} {{item.isSuper?'#':''}}{{item.isReport?'*':''}}
|
||||
</h4>
|
||||
<div>
|
||||
<p v-if="item.email">
|
||||
<img src="../../assets/img/state_email.png" v-if="item.isReport"
|
||||
style="width: 14px;margin: 0 8px 0 0;vertical-align: text-bottom;">
|
||||
<font>Email : </font>{{item.email}}
|
||||
</p>
|
||||
<p v-if="item.orcid">
|
||||
<font>ORCID iD : </font>{{item.orcid}}
|
||||
</p>
|
||||
<p>
|
||||
<font>First Author : </font>
|
||||
<b v-if="item.isSuper">Yes</b>
|
||||
<b v-if="!item.isSuper">No</b>
|
||||
</p>
|
||||
<p>
|
||||
<font>Corresponding Author :</font>
|
||||
<b v-if="item.isReport">Yes</b>
|
||||
<b v-if="!item.isReport">No</b>
|
||||
</p>
|
||||
<p v-if="item.address">
|
||||
<font>Address : </font>{{item.address}}
|
||||
</p>
|
||||
<p v-if="item.company">
|
||||
<font>Affiliation : </font>{{item.company}}
|
||||
</p>
|
||||
<p v-if="item.department">
|
||||
<font>Department : </font>{{item.department}}
|
||||
</p>
|
||||
<p v-if="item.title">
|
||||
<font>Title : </font>{{item.title}}
|
||||
</p>
|
||||
<p v-if="item.country">
|
||||
<font>Country : </font>{{item.country}}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
<el-collapse class="auth_colla auth_colla_new" style="margin-top: -15px;border-top: 0;">
|
||||
<el-collapse-item>
|
||||
<template slot="title">
|
||||
Abstract
|
||||
<font v-if="artextForm.keywords" style="margin-left: 3px;">, Keywords</font>
|
||||
<font v-if="artextForm.fund" style="margin-left: 3px;">, Fund</font>
|
||||
</template>
|
||||
<p>
|
||||
<font>Abstract :</font><b>{{artextForm.abstrart}}</b>
|
||||
</p>
|
||||
<p v-if="artextForm.keywords">
|
||||
<font>Keywords :</font><b>{{artextForm.keywords}}</b>
|
||||
</p>
|
||||
<p v-if="artextForm.fund">
|
||||
<font>Fund :</font><b>{{artextForm.fund}}</b>
|
||||
</p>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</div>
|
||||
<div class="art_file" style="margin-top: 0;border-top-color:#fff;padding-top: 0;">
|
||||
<h4 v-if="coverLetterFileList">Cover letter : </h4>
|
||||
<p v-if="coverLetterFileList">
|
||||
<a v-for="item in coverLetterFileList" :href="mediaUrl + item.file_url">
|
||||
<img src="../../assets/img/icon_0.png">
|
||||
<span>
|
||||
<font>Uploader : </font>{{item.username}}
|
||||
<i><i class="el-icon-time"></i>{{formatDate(item.ctime)}}</i>
|
||||
</span>
|
||||
<i class="el-icon-download download"></i>
|
||||
</a>
|
||||
</p>
|
||||
<br clear="both" v-if="coverLetterFileList">
|
||||
<h4 v-if="picturesAndTablesFileList">Figures : </h4>
|
||||
<p v-if="picturesAndTablesFileList">
|
||||
<a v-for="item in picturesAndTablesFileList" :href="mediaUrl + item.file_url">
|
||||
<img src="../../assets/img/icon_0.png">
|
||||
<span>
|
||||
<font>Uploader : </font>{{item.username}}
|
||||
<i><i class="el-icon-time"></i>{{formatDate(item.ctime)}}</i>
|
||||
</span>
|
||||
<i class="el-icon-download download"></i>
|
||||
</a>
|
||||
</p>
|
||||
<br clear="both" v-if="picturesAndTablesFileList">
|
||||
<h4 v-if="totalpageFileList">Title page : </h4>
|
||||
<p v-if="totalpageFileList">
|
||||
<a v-for="item in totalpageFileList" :href="mediaUrl + item.file_url">
|
||||
<img src="../../assets/img/icon_0.png">
|
||||
<span>
|
||||
<font>Uploader : </font>{{item.username}}
|
||||
<i><i class="el-icon-time"></i>{{formatDate(item.ctime)}}</i>
|
||||
</span>
|
||||
<i class="el-icon-download download"></i>
|
||||
</a>
|
||||
</p>
|
||||
<br clear="both" v-if="totalpageFileList">
|
||||
<h4 v-if="supplementaryFileList">Supplementary Material : </h4>
|
||||
<p v-if="supplementaryFileList">
|
||||
<a v-for="item in supplementaryFileList" :href="mediaUrl + item.file_url">
|
||||
<img src="../../assets/img/icon_0.png">
|
||||
<span>
|
||||
<font>Uploader : </font>{{item.username}}
|
||||
<i><i class="el-icon-time"></i>{{formatDate(item.ctime)}}</i>
|
||||
</span>
|
||||
<i class="el-icon-download download"></i>
|
||||
</a>
|
||||
</p>
|
||||
<br clear="both" v-if="supplementaryFileList">
|
||||
<h4>Manuscirpt : </h4>
|
||||
<p>
|
||||
<a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url">
|
||||
<img src="../../assets/img/icon_0.png">
|
||||
<span>
|
||||
<font>Uploader : </font>{{item.username}}
|
||||
<i><i class="el-icon-time"></i>{{formatDate(item.ctime)}}</i>
|
||||
</span>
|
||||
<i class="el-icon-download download"></i>
|
||||
</a>
|
||||
</p>
|
||||
<br clear="both">
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 审稿人列表 -->
|
||||
<el-dialog title="Comments from reviewers" :visible.sync="comentVisible" width="800px">
|
||||
<el-collapse v-model="activeComment" v-if="comentDeploy!=''">
|
||||
<el-collapse-item v-for="(item,index) in comentDeploy" :name="index" class="art_author_list">
|
||||
<template slot="title">
|
||||
<b class="com_shu">{{index+1}}</b>
|
||||
Reviewer Comment
|
||||
<font style="margin: 0 0 0 50px;color: #888;">
|
||||
<i class="el-icon-time" style="margin:0 2px 0 0;"></i>
|
||||
{{formatDate1(item.ctime)}}
|
||||
</font>
|
||||
</template>
|
||||
<div class="art_author_coment">
|
||||
<p v-if="item.qu9_contents!=''">
|
||||
<font>Does the title represent manuscript's contents?</font>
|
||||
<pre>{{item.qu9_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.qu10_contents!=''">
|
||||
<font>Is the Abstract accurate and concise?</font>
|
||||
<pre>{{item.qu10_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.qu11_contents!=''">
|
||||
<font>Are the approach/ methods properly described?</font>
|
||||
<pre>{{item.qu11_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.qu12_contents!=''">
|
||||
<font>Are the conclusions and interpretations sound?</font>
|
||||
<pre>{{item.qu12_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.qu13_contents!=''">
|
||||
<font>Are the references properly cited?</font>
|
||||
<pre>{{item.qu13_contents}}</pre>
|
||||
</p>
|
||||
<p v-if="item.comments!=''">
|
||||
<font>Comments for the Authors</font>
|
||||
<pre>{{item.comments}}</pre>
|
||||
</p>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
<p v-if="comentDeploy==''" style="color: #888888;margin: 0 0 0 10px;">No Comment</p>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
baseUrl: this.Common.baseUrl,
|
||||
mediaUrl: this.Common.mediaUrl,
|
||||
items: '',
|
||||
query: {
|
||||
username: localStorage.getItem('U_name'),
|
||||
// journal: localStorage.getItem('ms_journal_alias') ? parseInt(localStorage.getItem('ms_journal_alias')) : 0,
|
||||
journal: 0,
|
||||
name: '',
|
||||
state: 0,
|
||||
pageIndex: 1,
|
||||
pageSize: 10
|
||||
},
|
||||
tableData: [],
|
||||
multipleSelection: [],
|
||||
delList: [],
|
||||
activeNames: [],
|
||||
artextForm: {},
|
||||
coverLetterFileList: [],
|
||||
picturesAndTablesFileList: [],
|
||||
totalpageFileList: [],
|
||||
manuscirptFileList: [],
|
||||
supplementaryFileList: [],
|
||||
comentDeploy: [],
|
||||
activeComment: [],
|
||||
authorList_name: '',
|
||||
editVisible: false,
|
||||
artextVisible: false,
|
||||
comentVisible: false,
|
||||
Total: 0
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.initselect();
|
||||
this.getdate();
|
||||
},
|
||||
methods: {
|
||||
//初始化期刊选项
|
||||
initselect() {
|
||||
this.$api
|
||||
.post('api/Article/getJournal')
|
||||
.then(res => {
|
||||
this.items = res;
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
},
|
||||
// 获取文章列表数据
|
||||
getdate() {
|
||||
this.$api
|
||||
.post('api/Article/getArticle', this.query)
|
||||
.then(res => {
|
||||
this.Total = res.total;
|
||||
for (let i = 0; i < res.data.length; i++) {
|
||||
let date = new Date(parseInt(res.data[i].ctime) * 1000);
|
||||
let Y = date.getFullYear() + '-';
|
||||
let M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) + '-' : date.getMonth() +
|
||||
1 + '-';
|
||||
let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
||||
res.data[i].ctime = Y + M + D;
|
||||
}
|
||||
this.tableData = res.data;
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
},
|
||||
// 触发搜索按钮
|
||||
handleSearch() {
|
||||
this.$set(this.query, 'pageIndex', 1);
|
||||
this.getdate();
|
||||
},
|
||||
//跳转到增加稿件页面
|
||||
addArticle() {
|
||||
this.$router.push('/articleAdd');
|
||||
},
|
||||
|
||||
// 分页导航
|
||||
handlePageChange(val) {
|
||||
this.$set(this.query, 'pageIndex', val);
|
||||
this.getdate();
|
||||
},
|
||||
showdetail(row) {
|
||||
// if(row.state==4){
|
||||
// this.$router.push({path:'articleRevise',query:{id:row.article_id}});
|
||||
// }else{
|
||||
this.$router.push({
|
||||
path: 'articleDetail',
|
||||
query: {
|
||||
id: row.article_id
|
||||
}
|
||||
});
|
||||
// }
|
||||
|
||||
},
|
||||
|
||||
// 点击稿件进程
|
||||
esy_mtps(e) {
|
||||
this.$router.push({
|
||||
path: 'articleProcess',
|
||||
query: {
|
||||
id: e
|
||||
}
|
||||
});
|
||||
},
|
||||
// 点击稿件审稿意见
|
||||
esy_review(e) {
|
||||
// 审稿人意见
|
||||
this.$api
|
||||
.post('api/Article/getArticleDetail', {
|
||||
articleId: e,
|
||||
human: 'author'
|
||||
})
|
||||
.then(res => {
|
||||
// 弹出框
|
||||
this.comentDeploy = res.suggest
|
||||
// this.activeComment = []
|
||||
// for (var i = 0; i < res.suggest.length; i++) {
|
||||
// this.activeComment.push(i)
|
||||
// }
|
||||
this.comentVisible = true
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
|
||||
},
|
||||
// 点击稿件内容文件
|
||||
esy_deta(e) {
|
||||
this.$api
|
||||
.post('api/Article/getArticleDetail', {
|
||||
articleId: e,
|
||||
human: 'author'
|
||||
})
|
||||
.then(res => {
|
||||
this.artextForm = res.article
|
||||
this.artextForm.major = res.major;
|
||||
this.artextForm.authors = []
|
||||
let alist = res.authors;
|
||||
let alist_name = [];
|
||||
for (let i in alist) {
|
||||
this.artextForm.authors.push({
|
||||
art_aut_id: alist[i].art_aut_id,
|
||||
firstname: alist[i].firstname,
|
||||
lastname: alist[i].lastname,
|
||||
orcid: alist[i].orcid,
|
||||
company: alist[i].company,
|
||||
department: alist[i].department,
|
||||
title: alist[i].author_title,
|
||||
country: alist[i].country,
|
||||
email: alist[i].email,
|
||||
address: alist[i].address,
|
||||
isSuper: alist[i].is_super == 1 ? true : false,
|
||||
isReport: alist[i].is_report == 1 ? true : false
|
||||
});
|
||||
if (i == alist.length - 1) {
|
||||
alist_name.push(alist[i].firstname + ' ' + alist[i].lastname)
|
||||
} else {
|
||||
alist_name.push(alist[i].firstname + ' ' + alist[i].lastname + ' , ')
|
||||
}
|
||||
}
|
||||
this.authorList_name = "Author : " + alist_name.join("");
|
||||
// 弹出框
|
||||
this.artextVisible = true
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
this.$api
|
||||
.post('api/Article/getFilelistByArticleID', {
|
||||
articleId: e
|
||||
})
|
||||
.then(res => {
|
||||
this.coverLetterFileList = res.coverLetter;
|
||||
this.picturesAndTablesFileList = res.picturesAndTables;
|
||||
this.manuscirptFileList = res.manuscirpt;
|
||||
this.totalpageFileList = res.totalpage;
|
||||
this.supplementaryFileList = res.supplementary;
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
formatDate(timestamp) {
|
||||
var date = new Date(timestamp * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
|
||||
var Y = date.getFullYear() + '-';
|
||||
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
|
||||
var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
||||
var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
|
||||
var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
|
||||
var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
|
||||
return Y + M + D + ' ' + h + ':' + m + ':' + s;
|
||||
},
|
||||
formatDate1(timestamp) {
|
||||
var date = new Date(timestamp * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
|
||||
var Y = date.getFullYear() + '-';
|
||||
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
|
||||
var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
||||
return Y + M + D;
|
||||
},
|
||||
},
|
||||
filters: {
|
||||
// 文章类型
|
||||
ellipsis(value) {
|
||||
let frag = '';
|
||||
switch (value) {
|
||||
case "A":
|
||||
frag = 'Article';
|
||||
break;
|
||||
case 'B':
|
||||
frag = 'Review';
|
||||
break;
|
||||
case 'C':
|
||||
frag = 'Case report';
|
||||
break;
|
||||
case 'P':
|
||||
frag = 'Research proposal';
|
||||
break;
|
||||
case 'N':
|
||||
frag = 'News';
|
||||
break;
|
||||
case 'T':
|
||||
frag = 'Comment';
|
||||
break;
|
||||
case 'CT':
|
||||
frag = 'Correction';
|
||||
break;
|
||||
case 'HT':
|
||||
frag = 'Hypothesis';
|
||||
break;
|
||||
case 'PF':
|
||||
frag = 'Preface';
|
||||
break;
|
||||
case 'ET':
|
||||
frag = 'Editorial';
|
||||
break;
|
||||
case 'RP':
|
||||
frag = 'Report';
|
||||
break;
|
||||
case 'LR':
|
||||
frag = 'Letter';
|
||||
break;
|
||||
case 'EF':
|
||||
frag = 'Empirical formula';
|
||||
break;
|
||||
case 'EM':
|
||||
frag = 'Evidence-based medicine';
|
||||
break;
|
||||
case 'EC':
|
||||
frag = 'Expert consensus';
|
||||
break;
|
||||
case 'LTE':
|
||||
frag = 'Letter to editor';
|
||||
break;
|
||||
case 'QI':
|
||||
frag = 'Questionnaire investigation';
|
||||
break;
|
||||
case 'PT':
|
||||
frag = 'Protocol';
|
||||
break;
|
||||
case 'CS':
|
||||
frag = 'Case Series';
|
||||
break;
|
||||
case 'RT':
|
||||
frag = 'Retraction';
|
||||
break;
|
||||
case 'MR':
|
||||
frag = 'Mini Review';
|
||||
break;
|
||||
default:
|
||||
frag = 'Others';
|
||||
}
|
||||
return frag;
|
||||
},
|
||||
|
||||
// 稿件状态,颜色
|
||||
stateChange(value, num) {
|
||||
let str = '';
|
||||
let sgr = '';
|
||||
let skr = '';
|
||||
let sfr = '';
|
||||
let slr = '';
|
||||
switch (value) {
|
||||
case 0:
|
||||
str = '#e1b0271F;';
|
||||
sfr = '#e1b02705;';
|
||||
sgr = '#e1b0274D;';
|
||||
skr = '#e1b027;';
|
||||
slr = 'Received';
|
||||
break;
|
||||
case 1:
|
||||
str = '#5a90e11F;';
|
||||
sfr = '#5a90e105;';
|
||||
sgr = '#5a90e14D;';
|
||||
skr = '#5a90e1;';
|
||||
slr = 'With editor';
|
||||
break;
|
||||
case 2:
|
||||
str = '#5a90e11F;';
|
||||
sfr = '#5a90e105;';
|
||||
sgr = '#5a90e14D;';
|
||||
skr = '#5a90e1;';
|
||||
slr = 'Under review';
|
||||
break;
|
||||
case 3:
|
||||
str = '#8888881F;';
|
||||
sfr = '#88888805;';
|
||||
sgr = '#8888884D;';
|
||||
skr = '#888888;';
|
||||
slr = 'Reject';
|
||||
break;
|
||||
case 4:
|
||||
str = '#5a90e11F;';
|
||||
sfr = '#5a90e105;';
|
||||
sgr = '#5a90e14D;';
|
||||
skr = '#5a90e1;';
|
||||
slr = 'Revision';
|
||||
break;
|
||||
case 5:
|
||||
str = '#5fab3b1F;';
|
||||
sfr = '#5fab3b05;';
|
||||
sgr = '#5fab3b4D;';
|
||||
skr = '#5fab3b;';
|
||||
slr = 'Accept';
|
||||
break;
|
||||
case 6:
|
||||
str = '#5a90e11F;';
|
||||
sfr = '#5a90e105;';
|
||||
sgr = '#5a90e14D;';
|
||||
skr = '#5a90e1;';
|
||||
slr = 'Pre-accept';
|
||||
break;
|
||||
case 7:
|
||||
str = '#5fab3b1F;';
|
||||
sfr = '#5fab3b05;';
|
||||
sgr = '#5fab3b4D;';
|
||||
skr = '#5fab3b;';
|
||||
slr = 'Proof';
|
||||
break;
|
||||
default:
|
||||
str = '#8888881F;';
|
||||
sfr = '#88888805;';
|
||||
sgr = '#8888884D;';
|
||||
skr = '#888888;';
|
||||
slr = 'error!!';
|
||||
}
|
||||
if (num == '1') {
|
||||
return 'border-color:' + sgr;
|
||||
}
|
||||
if (num == '2') {
|
||||
return 'background-color:' + sfr;
|
||||
}
|
||||
if (num == '3') {
|
||||
return 'background-color:' + str + ';border-color:' + sgr;
|
||||
}
|
||||
if (num == '4') {
|
||||
return 'color:' + skr;
|
||||
}
|
||||
if (num == 'tst') {
|
||||
return slr;
|
||||
}
|
||||
},
|
||||
journal_me(e) {
|
||||
var frag = e.journalname;
|
||||
if (e.special_num > 0) {
|
||||
frag += "(Special Issues)";
|
||||
}
|
||||
return frag;
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.container {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.handle-box {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.handle-select {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
.handle-input {
|
||||
width: 300px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.table {
|
||||
width: 100%;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.red {
|
||||
color: #ff0000;
|
||||
}
|
||||
|
||||
.mr10 {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.table-td-thumb {
|
||||
display: block;
|
||||
margin: auto;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
.item {
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
.el-table .hasChange-row {
|
||||
background-color: #ffebe8;
|
||||
}
|
||||
|
||||
.mangu_list {
|
||||
color: #333;
|
||||
margin: 0 0 20px 0;
|
||||
font-size: 14px;
|
||||
/* position: relative; */
|
||||
border-radius: 5px;
|
||||
border: 1px solid #EBEEF5;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.mangu_list .man_title {
|
||||
margin: 2px 100px 10px 0;
|
||||
font-weight: bolder;
|
||||
letter-spacing: -0.5px;
|
||||
font-size: 16px;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
.mangu_list .man_title:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.mangu_list .man_con {
|
||||
margin: 0 0 10px 0;
|
||||
}
|
||||
|
||||
.mangu_list .man_state {
|
||||
position: absolute;
|
||||
right: -1px;
|
||||
top: -1px;
|
||||
border: 1px solid #fff;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
padding: 6px 18px;
|
||||
letter-spacing: -0.5px;
|
||||
border-top-right-radius: 3px;
|
||||
/* border-top-left-radius: 3px; */
|
||||
}
|
||||
|
||||
.mangu_list .man_progess {
|
||||
padding: 15px 20px;
|
||||
border-top: 1px solid #5a90e126;
|
||||
|
||||
}
|
||||
|
||||
.mangu_list .man_progess i {
|
||||
margin: 0 5px 0 0;
|
||||
}
|
||||
|
||||
|
||||
.mangu_list .man_progess>a>b {
|
||||
margin-left: 5px;
|
||||
color: #5a90e1;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.mangu_list .man_progess>a>b:hover {
|
||||
color: #006699;
|
||||
}
|
||||
|
||||
.mangu_list .man_btn {
|
||||
/* color: #006699; */
|
||||
position: absolute;
|
||||
bottom: 25px;
|
||||
right: 25px;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
.mangu_list .man_btn>span {
|
||||
/* text-decoration: underline; */
|
||||
}
|
||||
|
||||
.mangu_list .man_btn>span:hover {
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
color: #06374e;
|
||||
}
|
||||
|
||||
|
||||
.mangu_list .man_btn i {
|
||||
margin: 0 8px 0 0;
|
||||
}
|
||||
|
||||
.mangu_list .man_btn font {
|
||||
margin: 0 18px;
|
||||
}
|
||||
|
||||
.art_state_message {
|
||||
margin: 0 20px 0 0;
|
||||
}
|
||||
|
||||
.art_process_ {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.art_process_ .art_process_list:first-child {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.art_author_list {
|
||||
margin: 0 0 0 5px;
|
||||
}
|
||||
|
||||
.art_author_list .com_shu {
|
||||
background-color: #006699;
|
||||
color: #fff;
|
||||
display: inline-block;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
line-height: 18px;
|
||||
text-align: center;
|
||||
margin: 0 10px 0 0;
|
||||
}
|
||||
|
||||
.el-collapse {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
|
||||
.art_author_coment {}
|
||||
|
||||
.art_author_coment>p {
|
||||
margin: 10px 0 0 28px;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
.art_author_coment>p:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.art_author_coment>p>font {
|
||||
display: block;
|
||||
margin: 0 0 2px 0;
|
||||
color: #006699;
|
||||
font-weight: bold;
|
||||
letter-spacing: -0.5px;
|
||||
}
|
||||
</style>
|
||||
@@ -6,60 +6,39 @@
|
||||
</el-breadcrumb>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div style="margin-bottom: 20px;">
|
||||
{{articleMess.title}}
|
||||
</div>
|
||||
<div class="handle-box">
|
||||
<el-button type="primary" icon="el-icon-plus" @click="openAddRev">Reviewer Bank</el-button>
|
||||
<el-button type="primary" icon="el-icon-plus" @click="openSuggRev">Reviewers Suggested By Author
|
||||
({{tableSuggest.length}})</el-button>
|
||||
<!-- <el-button type="primary" icon="el-icon-circle-plus-outline" @click="editVisible1 = true">Supplement</el-button> -->
|
||||
</div>
|
||||
<el-table :data="tableData" border stripe class="table" ref="multipleTable"
|
||||
header-cell-class-name="table-header" empty-text="New messages (0)">
|
||||
<el-table-column type="index" label="No." align="center" width="50"></el-table-column>
|
||||
<el-table-column label="Base Information" width="320px">
|
||||
<!-- <el-table-column prop="art_rev_id" label="ID" align="center" width="60"></el-table-column> -->
|
||||
<el-table-column label="Reviewer" align="center" width="130">
|
||||
<template slot-scope="scope">
|
||||
<p class="tab_tie_col">
|
||||
<span>Realname: </span>
|
||||
<b style="font-size: 15px;letter-spacing: -0.5px;">
|
||||
<el-badge is-dot :hidden="scope.row.reviewer_act == 1 ? false : true" class="item">
|
||||
{{ scope.row.reviewer }}
|
||||
</el-badge>
|
||||
</b>
|
||||
</p>
|
||||
<p class="tab_tie_col">
|
||||
<span>Email: </span>{{scope.row.email}}
|
||||
</p>
|
||||
<p class="tab_tie_col">
|
||||
<span>Country: </span>{{scope.row.country}}
|
||||
</p>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="Other Information">
|
||||
<template slot-scope="scope">
|
||||
<p class="tab_tie_col" v-if="scope.row.major_str!=''">
|
||||
<span>Major: </span>{{scope.row.major_str}}
|
||||
</p>
|
||||
<p class="tab_tie_col">
|
||||
<span>Field: </span>{{scope.row.field}}
|
||||
</p>
|
||||
<p class="tab_tie_col" v-if="scope.row.company!=''">
|
||||
<span>Affiliation: </span>{{scope.row.company}}
|
||||
</p>
|
||||
<el-badge is-dot :hidden="scope.row.reviewer_act == 1 ? false : true" class="item">
|
||||
{{ scope.row.reviewer }}
|
||||
</el-badge>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="country" label="Country" align="center" width="100"></el-table-column>
|
||||
<el-table-column prop="email" label="Email" align="center"></el-table-column>
|
||||
<el-table-column prop="company" label="Company" align="center"></el-table-column>
|
||||
<el-table-column prop="major_str" label="Major"></el-table-column>
|
||||
<el-table-column prop="field" label="Field"></el-table-column>
|
||||
<el-table-column label="state" align="center" width="95">
|
||||
<template slot-scope="scope">
|
||||
{{revstate(scope.row)}}
|
||||
<font style="color: #aaa;display: block;line-height: 18px;font-size: 13px;margin: 5px 0 0 0;">
|
||||
{{formatDate(scope.row.ctime)}}
|
||||
</font>
|
||||
{{formatDate(scope.row.ctime)}}</font>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="" width="170" align="center">
|
||||
<el-table-column label="" width="110" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="primary" plain icon="el-icon-tickets"
|
||||
@click="showdetail(scope.row)">Review comments</el-button>
|
||||
@click="showdetail(scope.row)">Detail</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -68,8 +47,6 @@
|
||||
:page-size="query.pageSize" :total="Total" @current-change="handlePageChange"></el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 推荐审稿人弹出层 -->
|
||||
<el-dialog title="Add Suggest Reviewer" :visible.sync="AddSuggest" width="800px">
|
||||
<el-table :data="tableSuggest" border stripe class="table" ref="multipleTable"
|
||||
header-cell-class-name="table-header" empty-text="New messages (0)">
|
||||
@@ -84,142 +61,259 @@
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="AddSuggest = false">Cancel</el-button>
|
||||
<el-button type="primary" @click="AddSuggest = false">Cancel</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 审稿列表弹出层 -->
|
||||
<el-dialog :title="this.comentReview+' commtents list'" :visible.sync="detailVisible" width="800px">
|
||||
<div>
|
||||
<p v-if="comentDeploy==''" style="color: #888888;margin: 0 0 0 10px;">No Comment</p>
|
||||
<el-collapse v-model="activeComment" v-if="comentDeploy!=''">
|
||||
<el-collapse-item v-for="(item,index) in comentDeploy" :name="index" class="art_author_list">
|
||||
<template slot="title">
|
||||
<b class="com_shu">{{index+1}}</b>
|
||||
Reviewer Comment - The {{index+1}} time
|
||||
<font style="margin: 0 0 0 50px;color: #888;">
|
||||
<i class="el-icon-time" style="margin:0 2px 0 0;"></i>
|
||||
{{formatDate(item.ctime)}}
|
||||
</font>
|
||||
<font style="margin: 0 0 0 50px;">
|
||||
Status: {{revstate(item)}}
|
||||
</font>
|
||||
</template>
|
||||
<div class="art_author_coment">
|
||||
<el-divider content-position="center">REFEREE'S ASSESSMENT</el-divider>
|
||||
<p style="height: 15px;"></p>
|
||||
<div>
|
||||
<p>
|
||||
1. Originality of the topic
|
||||
<span>{{gradeFour(item.qu1)}}</span>
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
2. Importance in its Field
|
||||
<span>{{gradeFour(item.qu3)}}</span>
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
3. Does the manuscript fall within the aim and scope of the journal?
|
||||
<span>{{gradeFour(item.qu6)}}</span>
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
4. English language
|
||||
<span>{{gradeFour(item.qu8)}}</span>
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
5. Readily Understandable
|
||||
<span>{{gradeFour(item.qu5)}}</span>
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
6. Does the title represent manuscript's contents?
|
||||
<span>{{gradeTwo(item.qu9)}}</span>
|
||||
</p>
|
||||
<p class="quescont">{{item.qu9_contents}}</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
7. Is the Abstract accurate and concise?
|
||||
<span>{{gradeTwo(item.qu10)}}</span>
|
||||
</p>
|
||||
<p class="quescont">{{item.qu10_contents}}</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
8. Are the approach/ methods properly described?
|
||||
<span>{{gradeTwo(item.qu11)}}</span>
|
||||
</p>
|
||||
<p class="quescont">{{item.qu11_contents}}</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
9. Are the conclusions and interpretations sound?
|
||||
<span>{{gradeTwo(item.qu12)}}</span>
|
||||
</p>
|
||||
<p class="quescont">{{item.qu12_contents}}</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
10. Are the references properly cited?
|
||||
<span>{{gradeTwo(item.qu13)}}</span>
|
||||
</p>
|
||||
<p class="quescont">{{item.qu13_contents}}</p>
|
||||
</div>
|
||||
<p style="height: 15px;"></p>
|
||||
<el-divider content-position="center">REFEREE'S RECOMMENDATIONS</el-divider>
|
||||
<p style="height: 15px;"></p>
|
||||
<div>
|
||||
<p>
|
||||
Overall the Paper is Rated
|
||||
<span style="font-size: 20px;">{{item.rated}}</span>
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
REFEREE'S RECOMMENDATIONS
|
||||
<span>{{gradeRcond(item.recommend)}}</span>
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
OTHER SPECIFIC CRITICISMS
|
||||
<span>{{gradeCrti(item.other)}}</span>
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
Comments for the Authors
|
||||
</p>
|
||||
<p class="quescont">{{item.comments}}</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
Confidential Comments to the Editor
|
||||
</p>
|
||||
<p class="quescont">{{item.confidential}}</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>
|
||||
Disclose name or remain anonymous.
|
||||
<span>{{gradeName(item.is_anonymous)}}</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</div>
|
||||
<el-dialog title="add reviewer" :closeOnClickModal="false" :visible.sync="editVisible" width="80%"
|
||||
v-loading="loading" element-loading-text="Loading..." element-loading-spinner="el-icon-loading"
|
||||
element-loading-background="rgba(0, 0, 0, 0.8)">
|
||||
<el-form ref="editform" :model="editform" label-width="100px">
|
||||
<el-form-item label="state">
|
||||
<el-select v-model="editform.uid" filterable @change="changereviewer()" placeholder="Please select">
|
||||
<el-option :key="0" label="please select" :value="0"></el-option>
|
||||
<el-option v-for="item in reviewerList" :key="item.user_id" :label="item.account"
|
||||
:value="item.user_id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="Country" v-if="editform.uid != 0">
|
||||
<span>{{ reviewer_data.country }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="Company" v-if="editform.uid != 0">
|
||||
<span>{{ reviewer_data.company }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="Major" v-if="editform.uid != 0">
|
||||
<span>{{ reviewer_data.major_title }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="Field" v-if="editform.uid != 0">
|
||||
<span>{{ reviewer_data.field }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="Introduction" v-if="editform.uid != 0">
|
||||
<span>{{ reviewer_data.introduction }}</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="detailVisible = false">Cancel</el-button>
|
||||
<el-button type="primary" @click="editVisible=false">canel</el-button>
|
||||
<el-button type="primary" @click="saveEdit">save</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<el-dialog title="Supplement" :visible.sync="editVisible1" width="40%" v-loading="loading"
|
||||
element-loading-text="Loading..." element-loading-spinner="el-icon-loading"
|
||||
element-loading-background="rgba(0, 0, 0, 0.8)">
|
||||
<el-form :model="questionform" ref="question" label-width="300px" label-position="top">
|
||||
<el-divider content-position="center">REFEREE'S ASSESSMENT</el-divider>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="1.Originality of the topic">
|
||||
<el-radio-group v-model="questionform.qu1">
|
||||
<el-radio :label="1">Excellent</el-radio>
|
||||
<el-radio :label="2">Good</el-radio>
|
||||
<el-radio :label="3">Fair</el-radio>
|
||||
<el-radio :label="4">Poor</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="2.Importance in its Field">
|
||||
<el-radio-group v-model="questionform.qu3">
|
||||
<el-radio :label="1">Excellent</el-radio>
|
||||
<el-radio :label="2">Good</el-radio>
|
||||
<el-radio :label="3">Fair</el-radio>
|
||||
<el-radio :label="4">Poor</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="3.Does the manuscript fall within the aim and scope of the journal?">
|
||||
<el-radio-group v-model="questionform.qu6">
|
||||
<el-radio :label="1">Excellent</el-radio>
|
||||
<el-radio :label="2">Good</el-radio>
|
||||
<el-radio :label="3">Fair</el-radio>
|
||||
<el-radio :label="4">Poor</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="4.English language">
|
||||
<el-radio-group v-model="questionform.qu8">
|
||||
<el-radio :label="1">Excellent</el-radio>
|
||||
<el-radio :label="2">Good</el-radio>
|
||||
<el-radio :label="3">Fair</el-radio>
|
||||
<el-radio :label="4">Poor</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="5.Readily Understandable">
|
||||
<el-radio-group v-model="questionform.qu5">
|
||||
<el-radio :label="1">Excellent</el-radio>
|
||||
<el-radio :label="2">Good</el-radio>
|
||||
<el-radio :label="3">Fair</el-radio>
|
||||
<el-radio :label="4">Poor</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-collapse>
|
||||
<el-form-item label="6.Does the title represent manuscript's contents?">
|
||||
<el-col :span="8">
|
||||
<el-radio-group v-model="questionform.qu9">
|
||||
<el-radio :label="true">Yes</el-radio>
|
||||
<el-radio :label="false">No</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-collapse-item name="1" style="margin-top: -10px;">
|
||||
<template slot="title">
|
||||
<i class="el-icon-edit"></i>Comments/ Suggestions
|
||||
</template>
|
||||
<el-input type="textarea" placeholder="please input content"
|
||||
v-model="questionform.qu9contents" :rows="4"></el-input>
|
||||
</el-collapse-item>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
</el-collapse>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
|
||||
<el-collapse>
|
||||
<el-form-item label="7.Is the Abstract accurate and concise?">
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.qu10">
|
||||
<el-radio :label="true">Yes</el-radio>
|
||||
<el-radio :label="false">No</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="20">
|
||||
<el-collapse-item name="2" style="margin-top: -10px;">
|
||||
<template slot="title">
|
||||
<i class="el-icon-edit"></i>Comments/ Suggestions
|
||||
</template>
|
||||
<el-input type="textarea" placeholder="please input content"
|
||||
v-model="questionform.qu10contents" :rows="4"></el-input>
|
||||
</el-collapse-item>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
<el-form-item label="8.Are the approach/ methods properly described?">
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.qu11">
|
||||
<el-radio :label="true">Yes</el-radio>
|
||||
<el-radio :label="false">No</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="20">
|
||||
<el-collapse-item name="3" style="margin-top: -10px;">
|
||||
<template slot="title">
|
||||
<i class="el-icon-edit"></i>Comments/ Suggestions
|
||||
</template>
|
||||
<el-input type="textarea" placeholder="please input content"
|
||||
v-model="questionform.qu11contents" :rows="4"></el-input>
|
||||
</el-collapse-item>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
<el-form-item label="9.Are the conclusions and interpretations sound?">
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.qu12">
|
||||
<el-radio :label="true">Yes</el-radio>
|
||||
<el-radio :label="false">No</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="20">
|
||||
<el-collapse-item name="4" style="margin-top: -10px;">
|
||||
<template slot="title">
|
||||
<i class="el-icon-edit"></i>Comments/ Suggestions
|
||||
</template>
|
||||
<el-input type="textarea" placeholder="please input content"
|
||||
v-model="questionform.qu12contents" :rows="4"></el-input>
|
||||
</el-collapse-item>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
<el-form-item label="10.Are the references properly cited?">
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.qu13">
|
||||
<el-radio :label="true">Yes</el-radio>
|
||||
<el-radio :label="false">No</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="20">
|
||||
<el-collapse-item name="5" style="margin-top: -10px;">
|
||||
<template slot="title">
|
||||
<i class="el-icon-edit"></i>Comments/ Suggestions
|
||||
</template>
|
||||
<el-input type="textarea" placeholder="please input content"
|
||||
v-model="questionform.qu13contents" :rows="4"></el-input>
|
||||
</el-collapse-item>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
|
||||
<el-divider content-position="center">REFEREE'S RECOMMENDATIONS</el-divider>
|
||||
<el-form-item label="Overall the Paper is Rated">
|
||||
(Poor------------------------Excellent)
|
||||
<br />
|
||||
<el-radio-group v-model="questionform.rated" size="small">
|
||||
<el-radio-button label="1"></el-radio-button>
|
||||
<el-radio-button label="2"></el-radio-button>
|
||||
<el-radio-button label="3"></el-radio-button>
|
||||
<el-radio-button label="4"></el-radio-button>
|
||||
<el-radio-button label="5"></el-radio-button>
|
||||
<el-radio-button label="6"></el-radio-button>
|
||||
<el-radio-button label="7"></el-radio-button>
|
||||
<el-radio-button label="8"></el-radio-button>
|
||||
<el-radio-button label="9"></el-radio-button>
|
||||
<el-radio-button label="10"></el-radio-button>
|
||||
</el-radio-group>
|
||||
<span style="margin-left: 20px;">>Your score:{{questionform.rated}}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="REFEREE'S RECOMMENDATIONS" prop="recommend">
|
||||
<el-radio-group v-model="questionform.recommend" style="line-height: 30px;">
|
||||
<el-radio :label="1">Accept with minor revision</el-radio>
|
||||
<br />
|
||||
<el-radio :label="2">Accept with major revision</el-radio>
|
||||
<br />
|
||||
<el-radio :label="3">Reject in current form, but may be resubmitted</el-radio>
|
||||
<br />
|
||||
<el-radio :label="4">Reject, with no resubmission</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="OTHER SPECIFIC CRITICISMS">
|
||||
<el-radio-group v-model="questionform.other" style="line-height: 30px;">
|
||||
<el-radio :label="1">Imperfect style</el-radio>
|
||||
<br />
|
||||
<el-radio :label="2">Too long</el-radio>
|
||||
<br />
|
||||
<el-radio :label="3">References incorrectly presented</el-radio>
|
||||
<br />
|
||||
<el-radio :label="4">Typographical and Grammatical errors</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="Comments for the Authors">
|
||||
<el-input type="textarea" placeholder="please input content" v-model="questionform.comment"
|
||||
:rows="8"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="Confidential Comments to the Editor">
|
||||
<el-input type="textarea" placeholder="please input content" v-model="questionform.confident"
|
||||
:rows="8"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="Please choose disclose your name or remain anonymous.">
|
||||
<el-radio-group v-model="questionform.is_anonymous" style="line-height: 30px;">
|
||||
<el-radio :label="0">Disclose name</el-radio>
|
||||
<br />
|
||||
<el-radio :label="1">Remain anonymous</el-radio>
|
||||
</el-radio-group>
|
||||
<p style="line-height: 20px;color: #aaa;font-size: 13px;margin: 12px 0 0 0;">
|
||||
If you agree to disclose your name, we will acknowledge you by name in the published
|
||||
PDF. However, if you prefer to remain anonymous, we will still express our gratitude
|
||||
by thanking you as an anonymous reviewer.
|
||||
<br />For example, {{txt_mess.title}} would like to thank AAAAAAAA, BBBBBBBB, and other anonymous reviewers for their
|
||||
invaluable contributions to the peer review process of this paper.
|
||||
</p>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="addArtRev">submit</el-button>
|
||||
</el-form-item>
|
||||
</el-collapse>
|
||||
</el-form>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -228,26 +322,75 @@
|
||||
data() {
|
||||
return {
|
||||
baseUrl: this.Common.baseUrl,
|
||||
articleMess: {},
|
||||
activeComment: [],
|
||||
comentReview: '',
|
||||
comentDeploy: [],
|
||||
questionform: {
|
||||
uid: 0,
|
||||
articleId: this.$route.query.id,
|
||||
qu1: '',
|
||||
qu2: '',
|
||||
qu3: '',
|
||||
qu4: '',
|
||||
qu5: '',
|
||||
qu6: '',
|
||||
qu7: '',
|
||||
qu8: '',
|
||||
qu9: '',
|
||||
qu9contents: '',
|
||||
qu10: '',
|
||||
qu10contents: '',
|
||||
qu11: '',
|
||||
qu11contents: '',
|
||||
qu12: '',
|
||||
qu12contents: '',
|
||||
qu13: '',
|
||||
qu13contents: '',
|
||||
qu14: '',
|
||||
qu14contents: '',
|
||||
qu15: '',
|
||||
qu15contents: '',
|
||||
rated: '',
|
||||
recommend: '',
|
||||
other: '',
|
||||
confident: '',
|
||||
comment: ''
|
||||
},
|
||||
txt_mess: {},
|
||||
query: {
|
||||
articleId: this.$route.query.id,
|
||||
article_id: this.$route.query.id,
|
||||
pageIndex: 1,
|
||||
pageSize: 10
|
||||
},
|
||||
editform: {
|
||||
uid: 0,
|
||||
articleId: this.$route.query.id
|
||||
},
|
||||
reviewer_data: {
|
||||
introduction: '',
|
||||
country: '',
|
||||
company: '',
|
||||
major_title: '',
|
||||
field: ''
|
||||
},
|
||||
reviewer_data1: {
|
||||
introduction: '',
|
||||
country: '',
|
||||
company: '',
|
||||
major_title: '',
|
||||
field: ''
|
||||
},
|
||||
editVisible: false,
|
||||
editVisible1: false,
|
||||
AddSuggest: false,
|
||||
detailVisible: false,
|
||||
tableData: [],
|
||||
reviewerList: [],
|
||||
tableSuggest: [],
|
||||
loading: false,
|
||||
Total: 0
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getDate();
|
||||
this.getdate();
|
||||
this.initreviewerList();
|
||||
},
|
||||
computed: {
|
||||
upload_url: function() {
|
||||
@@ -256,7 +399,7 @@
|
||||
},
|
||||
methods: {
|
||||
// 获取编辑列表数据
|
||||
getDate() {
|
||||
getdate() {
|
||||
this.$api
|
||||
.post('api/Article/getReviewerList', this.query)
|
||||
.then((res) => {
|
||||
@@ -274,21 +417,16 @@
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
this.$api
|
||||
.post('api/Article/getArticleDetail', {
|
||||
articleId: this.query.articleId,
|
||||
human: 'editor'
|
||||
})
|
||||
.then((res) => {
|
||||
this.articleMess = res.article;
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
// 添加审稿人
|
||||
// 分页导航
|
||||
handlePageChange(val) {
|
||||
this.$set(this.query, 'pageIndex', val);
|
||||
this.getdate();
|
||||
},
|
||||
addReviewer() {
|
||||
alert('sssss');
|
||||
},
|
||||
// 添加跳页面
|
||||
openAddRev() {
|
||||
this.$router.push({
|
||||
path: 'articleReviewerAdd',
|
||||
@@ -297,15 +435,67 @@
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
|
||||
// 弹出添加推荐审稿人
|
||||
//初始化审查员列表
|
||||
initreviewerList() {
|
||||
this.$api
|
||||
.post('api/Article/getArticleReviewerList', {
|
||||
articleId: this.query.articleId
|
||||
})
|
||||
.then((res) => {
|
||||
this.reviewerList = res.data;
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
},
|
||||
//保存添加操作
|
||||
saveEdit() {
|
||||
if (this.editform.uid == 0) {
|
||||
this.$message.error('please select a reviewer');
|
||||
} else {
|
||||
this.loading = true;
|
||||
this.$api
|
||||
.post('api/Article/addArticleReviewer', this.editform)
|
||||
.then((res) => {
|
||||
this.loading = false;
|
||||
if (res.code == 0) {
|
||||
this.$message.success('add success');
|
||||
this.$router.go(0);
|
||||
} else {
|
||||
this.$message.error('add error');
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
}
|
||||
},
|
||||
addArtRev() {
|
||||
if (this.questionform.uid == 0) {
|
||||
this.$message.error('Please select a reviewer');
|
||||
} else if (this.questionform.is_anonymous == "" && this.questionform.is_anonymous != "0") {
|
||||
this.$message.error('Please choose disclose your name or remain anonymous.');
|
||||
} else {
|
||||
this.loading = true;
|
||||
this.$api.post('api/Article/addArtRev', this.questionform)
|
||||
.then((res) => {
|
||||
this.loading = false;
|
||||
if (res.code == 0) {
|
||||
this.$message.success('add success');
|
||||
this.$router.go(0);
|
||||
} else {
|
||||
this.$message.error('add error');
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
}
|
||||
},
|
||||
// 添加推荐审稿人
|
||||
openSuggRev() {
|
||||
this.AddSuggest = true
|
||||
},
|
||||
|
||||
// 选择推荐审稿人
|
||||
selSuggest(e) {
|
||||
this.loading = true;
|
||||
this.$api
|
||||
@@ -318,7 +508,7 @@
|
||||
if (res.code == 0) {
|
||||
this.$message.success('Add Success');
|
||||
this.AddSuggest = false
|
||||
this.getDate();
|
||||
this.getdate();
|
||||
} else {
|
||||
this.$message.error('Add Error');
|
||||
}
|
||||
@@ -328,41 +518,54 @@
|
||||
console.log(err);
|
||||
});
|
||||
},
|
||||
|
||||
// 查看审稿人审稿列表
|
||||
showdetail(row) {
|
||||
this.comentReview = row.reviewer
|
||||
if (row.state == 4) {
|
||||
this.$message.error('Review expired!');
|
||||
return
|
||||
}
|
||||
this.comentDeploy = []
|
||||
|
||||
this.$api
|
||||
.post('api/Reviewer/getQuestion', {
|
||||
artrevid: row.art_rev_id
|
||||
})
|
||||
.then((res) => {
|
||||
if (res.code == 0) {
|
||||
this.comentDeploy.push(res.data)
|
||||
} else {
|
||||
this.$router.push({
|
||||
path: 'articleReviewerDetail',
|
||||
query: {
|
||||
id: row.art_rev_id
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
|
||||
this.detailVisible = true
|
||||
|
||||
// this.$router.push({
|
||||
// path: 'articleReviewerDetail',
|
||||
// query: {
|
||||
// id: row.art_rev_id
|
||||
// }
|
||||
// });
|
||||
|
||||
}
|
||||
},
|
||||
changereviewer() {
|
||||
if (this.editform.uid !== 0) {
|
||||
this.$api
|
||||
.post('api/Article/getReviewerdetail', {
|
||||
uid: this.editform.uid
|
||||
})
|
||||
.then((res) => {
|
||||
this.reviewer_data.introduction = res.data.introduction;
|
||||
this.reviewer_data.country = res.data.country;
|
||||
this.reviewer_data.company = res.data.company;
|
||||
this.reviewer_data.major_title = res.data.major_title;
|
||||
this.reviewer_data.field = res.data.field;
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
}
|
||||
},
|
||||
changereviewer1() {
|
||||
if (this.questionform.uid !== 0) {
|
||||
this.$api
|
||||
.post('api/Article/getReviewerdetail', {
|
||||
uid: this.questionform.uid
|
||||
})
|
||||
.then((res) => {
|
||||
this.reviewer_data1.introduction = res.data.introduction;
|
||||
this.reviewer_data1.country = res.data.country;
|
||||
this.reviewer_data1.company = res.data.company;
|
||||
this.reviewer_data1.major_title = res.data.major_title;
|
||||
this.reviewer_data1.field = res.data.field;
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
// 审稿建议
|
||||
revstate(row, column, cellValue, index) {
|
||||
let frag = '';
|
||||
if (row.state == 0) {
|
||||
@@ -393,72 +596,6 @@
|
||||
var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
|
||||
return Y + M + D + ' ' + h + ':' + m + ':' + s;
|
||||
},
|
||||
|
||||
// 等级
|
||||
gradeTwo(e) {
|
||||
let drage = '';
|
||||
if (e) {
|
||||
drage = 'Yes';
|
||||
} else {
|
||||
drage = 'No';
|
||||
}
|
||||
return drage;
|
||||
},
|
||||
gradeFour(e) {
|
||||
let drage = '';
|
||||
if (e == 1) {
|
||||
drage = 'Excellent';
|
||||
} else if (e == 2) {
|
||||
drage = 'Good';
|
||||
} else if (e == 3) {
|
||||
drage = 'Fair';
|
||||
} else if (e == 4) {
|
||||
drage = 'Poor';
|
||||
}
|
||||
return drage;
|
||||
},
|
||||
gradeRcond(e) {
|
||||
let drage = '';
|
||||
if (e == 1) {
|
||||
drage = 'Accept with minor revision';
|
||||
} else if (e == 2) {
|
||||
drage = 'Accept with major revision';
|
||||
} else if (e == 3) {
|
||||
drage = 'Reject in current form, but may be resubmitted';
|
||||
} else if (e == 4) {
|
||||
drage = 'Reject, with no resubmission';
|
||||
}
|
||||
return drage;
|
||||
},
|
||||
|
||||
gradeCrti(e) {
|
||||
let drage = '';
|
||||
if (e == 1) {
|
||||
drage = 'Imperfect style';
|
||||
} else if (e == 2) {
|
||||
drage = 'Too long';
|
||||
} else if (e == 3) {
|
||||
drage = 'References incorrectly presented';
|
||||
} else if (e == 4) {
|
||||
drage = 'Typographical and Grammatical errors';
|
||||
}
|
||||
return drage;
|
||||
},
|
||||
gradeName(e) {
|
||||
let drage = '';
|
||||
if (e == 0) {
|
||||
drage = 'Disclose name';
|
||||
} else if (e == 1) {
|
||||
drage = 'Remain anonymous';
|
||||
}
|
||||
return drage;
|
||||
},
|
||||
|
||||
// 分页导航
|
||||
handlePageChange(val) {
|
||||
this.$set(this.query, 'pageIndex', val);
|
||||
this.getDate();
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@@ -512,71 +649,4 @@
|
||||
.el-table .red-row {
|
||||
background: #f05555;
|
||||
}
|
||||
|
||||
.tab_tie_col {
|
||||
margin-bottom: 5px;
|
||||
color: #333;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
}
|
||||
|
||||
.tab_tie_col>span {
|
||||
color: #888;
|
||||
margin: 0 5px 0 0;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.art_author_list {
|
||||
margin: 0 0 0 5px;
|
||||
}
|
||||
|
||||
.art_author_list .com_shu {
|
||||
background-color: #006699;
|
||||
color: #fff;
|
||||
display: inline-block;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
line-height: 18px;
|
||||
text-align: center;
|
||||
margin: 0 10px 0 0;
|
||||
}
|
||||
|
||||
.el-collapse {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
|
||||
.art_author_coment {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.art_author_coment>div {
|
||||
margin: 10px 0 0 28px;
|
||||
line-height: 20px;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.art_author_coment>div:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.art_author_coment>div>p {
|
||||
display: block;
|
||||
margin: 0 0 2px 0;
|
||||
font-weight: bold;
|
||||
color: #777;
|
||||
letter-spacing: -0.5px;
|
||||
}
|
||||
|
||||
.art_author_coment>div>p>span {
|
||||
color: #006699;
|
||||
margin-left: 30px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.art_author_coment .quescont {
|
||||
margin-left: 14px;
|
||||
color: #006699;
|
||||
line-height: 22px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -83,6 +83,9 @@
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="Begin Page Number :" prop="beginPage">
|
||||
<el-input-number :min="1" :max="Math.ceil(userListNum/EmailData.pagesize)" v-model="EmailData.beginPage" label="Page Number"></el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item label="Scheduled Tasks :" prop="frequency">
|
||||
<el-radio-group v-model="EmailData.frequency">
|
||||
<el-radio label="day" style="display: block;margin: 10px 0 0 0;">
|
||||
@@ -98,7 +101,7 @@
|
||||
<span style="margin: 0 0 0 5px;">(explanatory note: 1st - 5th)</span>
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="d_rol">
|
||||
<h3>
|
||||
@@ -299,6 +302,7 @@
|
||||
substance_bom: '',
|
||||
substanceOld: '',
|
||||
frequency: 'day',
|
||||
beginPage:1 // 开始页数
|
||||
},
|
||||
keyValue: 0,
|
||||
userListNum: 0,
|
||||
@@ -864,8 +868,6 @@
|
||||
// artHtml)
|
||||
// }
|
||||
|
||||
|
||||
|
||||
this.$api
|
||||
.post('api/Promotion/addPromotion', this.EmailData)
|
||||
.then(res => {
|
||||
|
||||
1392
src/components/page/editPublicRefRdit.vue
Normal file
1392
src/components/page/editPublicRefRdit.vue
Normal file
File diff suppressed because it is too large
Load Diff
@@ -7,6 +7,7 @@
|
||||
</el-breadcrumb-item>
|
||||
</el-breadcrumb>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<div class="form-box">
|
||||
<el-form ref="editorform" :model="form" :rules="rules" label-width="200px">
|
||||
@@ -28,7 +29,6 @@
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="onSubmit">add</el-button>
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -77,11 +77,14 @@
|
||||
<el-table-column prop="company" label="Affiliation"></el-table-column>
|
||||
<el-table-column prop="field" label="Field"></el-table-column>
|
||||
<el-table-column prop="remark" label="Remark" width="160"></el-table-column>
|
||||
<el-table-column label="" width="100" align="center">
|
||||
<el-table-column label="" width="200" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button plain type="primary" icon="el-icon-edit" @click="handleEdit(scope.row)">
|
||||
Edit
|
||||
</el-button>
|
||||
<el-button plain type="danger" icon="el-icon-edit" @click="handleDelete(scope.row)">
|
||||
Delete
|
||||
</el-button>
|
||||
<!-- <div style="margin-top: 12px;">
|
||||
<el-button plain type="warning" @click="handleSend(scope.row)">
|
||||
PROMOTION
|
||||
@@ -545,6 +548,29 @@
|
||||
this.initMajor()
|
||||
},
|
||||
methods: {
|
||||
// 删除灰库用户
|
||||
handleDelete(row){
|
||||
|
||||
this.$confirm(`'Do you want to delete the user? Name: '${row.name}'`, 'prompt', {
|
||||
confirmButtonText: 'Yes',
|
||||
cancelButtonText: 'Cancel',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.$api
|
||||
.post('api/User/delAshUser',{'ash_id': row.ash_id})
|
||||
.then(res => {
|
||||
if(res.code == 0){
|
||||
this.$message.success('successed!')
|
||||
this.getDate()
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
}).catch(() => { });
|
||||
|
||||
|
||||
},
|
||||
// 获取国家列表
|
||||
getCountry() {
|
||||
this.$api
|
||||
|
||||
@@ -1,853 +0,0 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="crumbs">
|
||||
<el-breadcrumb separator="/">
|
||||
<el-breadcrumb-item>
|
||||
<i class="el-icon-collection"></i>
|
||||
<router-link :to="{path:'/peerewer'}">
|
||||
<span class="top_dao"> Reviewer Article</span>
|
||||
</router-link>
|
||||
>> Reviewer Article Detail
|
||||
</el-breadcrumb-item>
|
||||
</el-breadcrumb>
|
||||
</div>
|
||||
<div class="container_l" v-loading="loading" element-loading-text="Loading..."
|
||||
element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.8)">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="10">
|
||||
<iframe ref="mainiframe" :src="pdfUrl" class="lookpdf" frameborder="0"></iframe>
|
||||
</el-col>
|
||||
<el-col :span="14" style="height: 760px;overflow-y: scroll;">
|
||||
<!-- <el-col :span="24"> -->
|
||||
<el-card class="box-card">
|
||||
<div class="tet_list" :model="txt_mess">
|
||||
<h4>{{txt_mess.article_title}}</h4>
|
||||
<h5>
|
||||
<a :href="txt_mess.website" target="_blank" class="titlink">{{txt_mess.title}}</a>
|
||||
<span style="margin: 0 10px;"> >> </span>
|
||||
Manuscript ID: {{txt_mess.accept_sn}}
|
||||
</h5>
|
||||
<p style="display:inline-block;margin: 0 35px;"><b>Type :</b> {{txt_mess.atype}}</p>
|
||||
<p style="display:inline-block;"><b>Submitted time :</b> {{txt_mess.ctime}}</p>
|
||||
<div>
|
||||
<p><b>Abstract :</b> <br>{{txt_mess.abstrart}}</p>
|
||||
<div class="file_sty" v-for="item in fileList" style="margin-top: 15px;">
|
||||
<img src="../../assets/img/icon_0.png" alt="" class="icon_img">
|
||||
<a :href='mediaUrl+item.file_url' target="_blank" class="txt_pdf">{{item.type_name}}
|
||||
<span
|
||||
style="margin-left: 50px;color: #888;font-size: 13px;">{{item.ctime}}</span>
|
||||
<i class="el-icon-download"
|
||||
style="margin-left: 20px;color: #66b1ff;font-weight: bold;"></i>
|
||||
</a><br>
|
||||
</div>
|
||||
|
||||
<div class="file_sty" v-for="item in picList">
|
||||
<img src="../../assets/img/icon_0.png" alt="" class="icon_img">
|
||||
<a :href='mediaUrl+item.file_url' target="_blank" class="txt_pdf">Figures And Tables
|
||||
<span
|
||||
style="margin-left: 50px;color: #888;font-size: 13px;">{{item.ctime}}</span>
|
||||
<i class="el-icon-download"
|
||||
style="margin-left: 20px;color: #66b1ff;font-weight: bold;"></i>
|
||||
</a><br>
|
||||
</div>
|
||||
|
||||
<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 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.
|
||||
</p>
|
||||
</div>
|
||||
<!-- <p class="morSou" v-if="!morShow" @click="morShow=true">
|
||||
<i class="el-icon-bottom"></i>
|
||||
More article information
|
||||
</p>
|
||||
<p class="morSou" v-if="morShow" @click="morShow=false">
|
||||
<i class="el-icon-top"></i>
|
||||
More article information
|
||||
</p> -->
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<div style="font-size: 18px;text-align: center;margin: 0px 0px 25px;">My comments</div>
|
||||
<div>
|
||||
<el-card class="box-card conment_list" v-for="(item,index) in conmentList">
|
||||
<p style="margin: 0 0 15px 0;">
|
||||
<b>Comment {{index+1}}</b>
|
||||
</p>
|
||||
<p style="font-size: 14px;color: #666;margin-bottom: 5px;">Reviewer :
|
||||
<b v-if="item.reviewer.user_id==User_Id">{{item.reviewer.account}}</b>
|
||||
<b v-if="item.reviewer.user_id!=User_Id">XXXXXXXXXX</b>
|
||||
</p>
|
||||
|
||||
<p style="font-size: 14px;color: #666;margin-bottom: 5px;">Score :
|
||||
<b>{{item.question.rated}}</b>
|
||||
</p>
|
||||
<p style="font-size: 14px;color: #666;margin-bottom: 5px;">Recommendation :
|
||||
<b v-if="item.question.recommend == 1">Accept with minor revision</b>
|
||||
<b v-if="item.question.recommend == 2">Accept with major revision</b>
|
||||
<b v-if="item.question.recommend == 3">Reject in current form, but may be
|
||||
resubmitted</b>
|
||||
<b v-if="item.question.recommend == 4">Reject, with no resubmission</b>
|
||||
</p>
|
||||
<p style="font-size: 14px;color: #666;margin: 0 0 20px 0;">Reviewed Time :
|
||||
<b>{{item.ctime}}</b>
|
||||
</p>
|
||||
<el-button type="primary" size="mini" @click="ques_visible(item.question)">
|
||||
Referee's Assessment
|
||||
</el-button>
|
||||
</el-card>
|
||||
</div>
|
||||
|
||||
<div style="font-size: 18px;text-align: center;margin: 0px 0px 25px;">All comments</div>
|
||||
<div>
|
||||
<el-card class="box-card conment_list" v-for="(item,index) in conmentList">
|
||||
<p style="margin: 0 0 15px 0;">
|
||||
<b>Comment {{index+1}}</b>
|
||||
</p>
|
||||
<p style="font-size: 14px;color: #666;margin-bottom: 5px;">Reviewer :
|
||||
<b v-if="item.reviewer.user_id==User_Id">{{item.reviewer.account}}</b>
|
||||
<b v-if="item.reviewer.user_id!=User_Id">XXXXXXXXXX</b>
|
||||
</p>
|
||||
<p style="font-size: 14px;color: #666;margin-bottom: 5px;">Score :
|
||||
<b>{{item.question.rated}}</b>
|
||||
</p>
|
||||
<p style="font-size: 14px;color: #666;margin-bottom: 5px;">Recommendation :
|
||||
<b v-if="item.question.recommend == 1">Accept with minor revision</b>
|
||||
<b v-if="item.question.recommend == 2">Accept with major revision</b>
|
||||
<b v-if="item.question.recommend == 3">Reject in current form, but may be
|
||||
resubmitted</b>
|
||||
<b v-if="item.question.recommend == 4">Reject, with no resubmission</b>
|
||||
</p>
|
||||
<p style="font-size: 14px;color: #666;margin: 0 0 20px 0;">Reviewed Time :
|
||||
<b>{{item.ctime}}</b>
|
||||
</p>
|
||||
<el-button type="primary" size="mini" @click="ques_visible(item.question)">
|
||||
Referee's Assessment
|
||||
</el-button>
|
||||
</el-card>
|
||||
</div>
|
||||
|
||||
<!-- 审稿意见出框 -->
|
||||
<el-dialog :visible.sync="questionVisible" width="1000px">
|
||||
<el-form :model="questionform" :rules="rules" ref="question" label-width="300px"
|
||||
label-position="top">
|
||||
<el-divider content-position="center">REFEREE'S ASSESSMENT</el-divider>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="24">
|
||||
<el-form-item prop="qu6">
|
||||
<span slot="label">
|
||||
1.Does the manuscript fall within the aim and scope of the journal?
|
||||
<a :href="txt_mess.aim_web" target="_blank" class="jouLink">( Aims & Scope )
|
||||
</a>
|
||||
</span>
|
||||
<el-radio-group v-model="questionform.qu6">
|
||||
<el-radio :label="1">Excellent</el-radio>
|
||||
<el-radio :label="2">Good</el-radio>
|
||||
<el-radio :label="3">Fair</el-radio>
|
||||
<el-radio :label="4">Poor</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="2.Originality of the topic">
|
||||
<el-radio-group v-model="questionform.qu1">
|
||||
<el-radio :label="1">Excellent</el-radio>
|
||||
<el-radio :label="2">Good</el-radio>
|
||||
<el-radio :label="3">Fair</el-radio>
|
||||
<el-radio :label="4">Poor</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="3.Importance in its Field">
|
||||
<el-radio-group v-model="questionform.qu3">
|
||||
<el-radio :label="1">Excellent</el-radio>
|
||||
<el-radio :label="2">Good</el-radio>
|
||||
<el-radio :label="3">Fair</el-radio>
|
||||
<el-radio :label="4">Poor</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="4.English language">
|
||||
<el-radio-group v-model="questionform.qu8">
|
||||
<el-radio :label="1">Excellent</el-radio>
|
||||
<el-radio :label="2">Good</el-radio>
|
||||
<el-radio :label="3">Fair</el-radio>
|
||||
<el-radio :label="4">Poor</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="5.Readily Understandable">
|
||||
<el-radio-group v-model="questionform.qu5">
|
||||
<el-radio :label="1">Excellent</el-radio>
|
||||
<el-radio :label="2">Good</el-radio>
|
||||
<el-radio :label="3">Fair</el-radio>
|
||||
<el-radio :label="4">Poor</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
|
||||
<el-collapse>
|
||||
<el-form-item label="6.Does the title represent manuscript's contents?">
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.qu9">
|
||||
<el-radio :label="true">Yes</el-radio>
|
||||
<el-radio :label="false">No</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="20">
|
||||
<el-collapse-item name="1" style="margin-top: -10px;">
|
||||
<template slot="title">
|
||||
<i class="el-icon-edit"></i>Comments/ Suggestions
|
||||
</template>
|
||||
<el-input type="textarea" placeholder="please input content"
|
||||
v-model="questionform.qu9contents" :rows="4"></el-input>
|
||||
</el-collapse-item>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
</el-collapse>
|
||||
|
||||
|
||||
<el-collapse>
|
||||
<el-form-item label="7.Is the Abstract accurate and concise?">
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.qu10">
|
||||
<el-radio :label="true">Yes</el-radio>
|
||||
<el-radio :label="false">No</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="20">
|
||||
<el-collapse-item name="2" style="margin-top: -10px;">
|
||||
<template slot="title">
|
||||
<i class="el-icon-edit"></i>Comments/ Suggestions
|
||||
</template>
|
||||
<el-input type="textarea" placeholder="please input content"
|
||||
v-model="questionform.qu10contents" :rows="4"></el-input>
|
||||
</el-collapse-item>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
<el-form-item label="8.Are the approach/ methods properly described?">
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.qu11">
|
||||
<el-radio :label="true">Yes</el-radio>
|
||||
<el-radio :label="false">No</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="20">
|
||||
<el-collapse-item name="3" style="margin-top: -10px;">
|
||||
<template slot="title">
|
||||
<i class="el-icon-edit"></i>Comments/ Suggestions
|
||||
</template>
|
||||
<el-input type="textarea" placeholder="please input content"
|
||||
v-model="questionform.qu11contents" :rows="4"></el-input>
|
||||
</el-collapse-item>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
<el-form-item label="9.Are the conclusions and interpretations sound?">
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.qu12">
|
||||
<el-radio :label="true">Yes</el-radio>
|
||||
<el-radio :label="false">No</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="20">
|
||||
<el-collapse-item name="4" style="margin-top: -10px;">
|
||||
<template slot="title">
|
||||
<i class="el-icon-edit"></i>Comments/ Suggestions
|
||||
</template>
|
||||
<el-input type="textarea" placeholder="please input content"
|
||||
v-model="questionform.qu12contents" :rows="4"></el-input>
|
||||
</el-collapse-item>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
<el-form-item label="10.Are the references properly cited?">
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.qu13">
|
||||
<el-radio :label="true">Yes</el-radio>
|
||||
<el-radio :label="false">No</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="20">
|
||||
<el-collapse-item name="5" style="margin-top: -10px;">
|
||||
<template slot="title">
|
||||
<i class="el-icon-edit"></i>Comments/ Suggestions
|
||||
</template>
|
||||
<el-input type="textarea" placeholder="please input content"
|
||||
v-model="questionform.qu13contents" :rows="4"></el-input>
|
||||
</el-collapse-item>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
|
||||
<el-divider content-position="center">REFEREE'S RECOMMENDATIONS</el-divider>
|
||||
<el-form-item label="Overall the Paper is Rated" prop="rated">
|
||||
( <span style="color: #e41411;">←←←←← Bad ←←← Poor</span>
|
||||
<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-button label="1"></el-radio-button>
|
||||
<el-radio-button label="2"></el-radio-button>
|
||||
<el-radio-button label="3"></el-radio-button>
|
||||
<el-radio-button label="4"></el-radio-button>
|
||||
<el-radio-button label="5"></el-radio-button>
|
||||
<el-radio-button label="6"></el-radio-button>
|
||||
<el-radio-button label="7"></el-radio-button>
|
||||
<el-radio-button label="8"></el-radio-button>
|
||||
<el-radio-button label="9"></el-radio-button>
|
||||
<el-radio-button label="10"></el-radio-button>
|
||||
</el-radio-group>
|
||||
<span style="margin-left: 20px;">Your score : {{questionform.rated}}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="REFEREE'S RECOMMENDATIONS" prop="recommend">
|
||||
<el-radio-group v-model="questionform.recommend" style="line-height: 30px;">
|
||||
<el-radio :label="1">Accept with minor revision</el-radio>
|
||||
<br />
|
||||
<el-radio :label="2">Accept with major revision</el-radio>
|
||||
<br />
|
||||
<el-radio :label="3">Reject in current form, but may be resubmitted</el-radio>
|
||||
<br />
|
||||
<el-radio :label="4">Reject, with no resubmission</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="OTHER SPECIFIC CRITICISMS">
|
||||
<el-radio-group v-model="questionform.other" style="line-height: 30px;">
|
||||
<el-radio :label="1">Imperfect style</el-radio>
|
||||
<br />
|
||||
<el-radio :label="2">Too long</el-radio>
|
||||
<br />
|
||||
<el-radio :label="3">References incorrectly presented</el-radio>
|
||||
<br />
|
||||
<el-radio :label="4">Typographical and Grammatical errors</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="Comments for the Authors"
|
||||
v-if="this.txt_mess.atype == 'Comment' || this.txt_mess.atype == 'News'">
|
||||
<el-input type="textarea" placeholder="please input content"
|
||||
v-model="questionform.comment" :rows="8"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="Comments for the Authors" prop="comment"
|
||||
v-if="this.txt_mess.atype != 'Comment' && this.txt_mess.atype != 'News'">
|
||||
<el-input type="textarea" placeholder="please input content"
|
||||
v-model="questionform.comment" :rows="8"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="Confidential Comments to the Editor">
|
||||
<el-input type="textarea" placeholder="please input content"
|
||||
v-model="questionform.confident" :rows="8"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="Please choose disclose your name or remain anonymous">
|
||||
<el-radio-group v-model="questionform.is_anonymous" style="line-height: 30px;">
|
||||
<el-radio :label="0">Disclose name</el-radio>
|
||||
<br />
|
||||
<el-radio :label="1">Remain anonymous</el-radio>
|
||||
</el-radio-group>
|
||||
<p style="line-height: 20px;color: #aaa;font-size: 13px;margin: 12px 0 0 0;">
|
||||
If you agree to disclose your name, we will acknowledge you by name in the
|
||||
published
|
||||
PDF. However, if you prefer to remain anonymous, we will still express our
|
||||
gratitude
|
||||
by thanking you as an anonymous reviewer.
|
||||
<br />For example, {{txt_mess.title}} would like to thank AAAAAAAA, BBBBBBBB,
|
||||
and other anonymous reviewers for their
|
||||
invaluable contributions to the peer review process of this paper.
|
||||
</p>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="this.btn_submit==0">
|
||||
<el-button type="primary" @click="questionSubmit">submit</el-button>
|
||||
</el-form-item>
|
||||
</el-collapse>
|
||||
</el-form>
|
||||
</el-dialog>
|
||||
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import pdf from 'vue-pdf';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
Direct_log: this.$route.query.act,
|
||||
Art_id: this.$route.query.Art_id,
|
||||
// morShow: false,
|
||||
txt_mess: {},
|
||||
fileList: [],
|
||||
picList: [],
|
||||
mediaUrl: this.Common.mediaUrl,
|
||||
User_Id: localStorage.getItem('U_id'),
|
||||
add_edit: {
|
||||
article_id: this.$route.query.Art_id,
|
||||
user_id: localStorage.getItem('U_id'),
|
||||
content: ''
|
||||
},
|
||||
head_line: '',
|
||||
conmentList: [],
|
||||
questionform: {
|
||||
rev_qu_id: '',
|
||||
art_rev_id: this.$route.query.Art_id,
|
||||
qu1: '',
|
||||
qu2: '',
|
||||
qu3: '',
|
||||
qu4: '',
|
||||
qu5: '',
|
||||
qu6: '',
|
||||
qu7: '',
|
||||
qu8: '',
|
||||
qu9: '',
|
||||
qu9contents: '',
|
||||
qu10: '',
|
||||
qu10contents: '',
|
||||
qu11: '',
|
||||
qu11contents: '',
|
||||
qu12: '',
|
||||
qu12contents: '',
|
||||
qu13: '',
|
||||
qu13contents: '',
|
||||
qu14: '',
|
||||
qu14contents: '',
|
||||
qu15: '',
|
||||
qu15contents: '',
|
||||
rated: '',
|
||||
recommend: '',
|
||||
other: '',
|
||||
confident: '',
|
||||
comment: '',
|
||||
is_anonymous: ''
|
||||
},
|
||||
btn_submit: 0,
|
||||
questionVisible:false,
|
||||
pdfUrl: '',
|
||||
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"
|
||||
}],
|
||||
recommend: [{
|
||||
required: true,
|
||||
message: "please select",
|
||||
trigger: "blur"
|
||||
}],
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
if (this.Direct_log == null) {
|
||||
this.getData();
|
||||
} else {
|
||||
this.$api
|
||||
.post('api/Chief/autoLoginForChief', {
|
||||
'code': this.Direct_log
|
||||
})
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
localStorage.setItem('U_role', res.data.roles);
|
||||
localStorage.setItem('U_name', res.data.user.account);
|
||||
localStorage.setItem('U_id', res.data.user.user_id);
|
||||
localStorage.setItem('U_relname', res.data.user.realname);
|
||||
|
||||
this.$api
|
||||
.post('api/Reviewer/agreeReviewerArticle', {
|
||||
art_rev_id: this.Art_id
|
||||
})
|
||||
.then(res => {
|
||||
this.getData();
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getData() {
|
||||
// 获取文章信息
|
||||
this.$api
|
||||
.post('api/Reviewer/getartrevdate', {
|
||||
'revid': this.Art_id,
|
||||
'human': 'reviewer'
|
||||
})
|
||||
.then(res => {
|
||||
if (res.state != 0) {
|
||||
this.btn_submit = 1
|
||||
}
|
||||
|
||||
let date = new Date(parseInt(res.ctime) * 1000);
|
||||
let Y = date.getFullYear() + '-';
|
||||
let M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) + '-' : date.getMonth() + 1 +
|
||||
'-';
|
||||
let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
||||
res.ctime = Y + M + D;
|
||||
|
||||
this.txt_mess = res;
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
|
||||
this.$api
|
||||
.post('api/Reviewer/getAFilelistByID ', {
|
||||
'revid': this.Art_id
|
||||
})
|
||||
.then(res => {
|
||||
for (var i = 0; i < res.data.length; i++) {
|
||||
let date = new Date(parseInt(res.data[i].ctime) * 1000);
|
||||
let Y = date.getFullYear() + '-';
|
||||
let M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) + '-' : date.getMonth() +
|
||||
1 + '-';
|
||||
let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
||||
res.data[i].ctime = Y + M + D;
|
||||
}
|
||||
this.fileList = res.data
|
||||
|
||||
// 获取格式
|
||||
let pdfOut = this.fileList[this.fileList.length - 1].file_url
|
||||
|
||||
if (pdfOut.substring(pdfOut.lastIndexOf('.') + 1) == 'docx') {
|
||||
this.pdfUrl =
|
||||
'https://view.officeapps.live.com/op/view.aspx?src=https://submission.tmrjournals.com/public/' +
|
||||
pdfOut
|
||||
// this.pdfUrl =
|
||||
// 'https://view.xdocin.com/view?src=https://submission.tmrjournals.com/public/' +
|
||||
// pdfOut
|
||||
} else {
|
||||
this.pdfUrl = 'https://submission.tmrjournals.com/public/' + pdfOut
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
|
||||
this.$api
|
||||
.post('api/Reviewer/getBFilelistByID', {
|
||||
'revid': this.Art_id
|
||||
})
|
||||
.then(res => {
|
||||
for (var i = 0; i < res.data.length; i++) {
|
||||
let date = new Date(parseInt(res.data[i].ctime) * 1000);
|
||||
let Y = date.getFullYear() + '-';
|
||||
let M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) + '-' : date.getMonth() +
|
||||
1 + '-';
|
||||
let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
||||
res.data[i].ctime = Y + M + D;
|
||||
}
|
||||
this.picList = res.data
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
|
||||
|
||||
//初始化问卷
|
||||
this.$api
|
||||
.post('api/Reviewer/getQuestion', {
|
||||
artrevid: this.Art_id
|
||||
}).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;
|
||||
this.questionform.qu3 = res.data.qu3;
|
||||
this.questionform.qu4 = res.data.qu4;
|
||||
this.questionform.qu5 = res.data.qu5;
|
||||
this.questionform.qu6 = res.data.qu6;
|
||||
this.questionform.qu7 = res.data.qu7;
|
||||
this.questionform.qu8 = res.data.qu8;
|
||||
this.questionform.qu9 = res.data.qu9 == 0 ? false : true;
|
||||
this.questionform.qu9contents = res.data.qu9_contents;
|
||||
this.questionform.qu10 = res.data.qu10 == 0 ? false : true;
|
||||
this.questionform.qu10contents = res.data.qu10_contents;
|
||||
this.questionform.qu11 = res.data.qu11 == 0 ? false : true;
|
||||
this.questionform.qu11contents = res.data.qu11_contents;
|
||||
this.questionform.qu12 = res.data.qu12 == 0 ? false : true;
|
||||
this.questionform.qu12contents = res.data.qu12_contents;
|
||||
this.questionform.qu13 = res.data.qu13 == 0 ? false : true;
|
||||
this.questionform.qu13contents = res.data.qu13_contents;
|
||||
this.questionform.qu14 = res.data.qu14 == 0 ? false : true;
|
||||
this.questionform.qu14contents = res.data.qu14_contents;
|
||||
this.questionform.qu15 = res.data.qu15 == 0 ? false : true;
|
||||
this.questionform.qu15contents = res.data.qu15_contents;
|
||||
this.questionform.rated = res.data.rated;
|
||||
this.questionform.recommend = res.data.recommend;
|
||||
this.questionform.other = res.data.other;
|
||||
this.questionform.confident = res.data.confidential;
|
||||
this.questionform.comment = res.data.comments;
|
||||
this.questionform.is_anonymous = res.data.is_anonymous
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
this.$api
|
||||
.post('api/Reviewer/getAllReviewerObj', {
|
||||
'article_id': '38'
|
||||
})
|
||||
.then(res => {
|
||||
for (var i = 0; i < res.data.reviews.length; i++) {
|
||||
let date = new Date(parseInt(res.data.reviews[i].ctime) * 1000);
|
||||
let Y = date.getFullYear() + '-';
|
||||
let M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) + '-' : date.getMonth() +
|
||||
1 + '-';
|
||||
let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
||||
res.data.reviews[i].ctime = Y + M + D;
|
||||
}
|
||||
this.conmentList = res.data.reviews
|
||||
})
|
||||
.catch(err => {
|
||||
this.$message.error(err);
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
questionSubmit() {
|
||||
if (this.questionform.is_anonymous == "" && this.questionform.is_anonymous != "0") {
|
||||
this.$message.error('Please choose disclose your name or remain anonymous.');
|
||||
} else {
|
||||
// 验证相加的字数
|
||||
let Char_Cter = this.questionform.qu9contents + ' ' + this.questionform.qu10contents + ' ' +
|
||||
this.questionform.qu11contents + ' ' + this.questionform.qu12contents + ' ' +
|
||||
this.questionform.qu13contents + ' ' + this.questionform.comment
|
||||
if (new RegExp("[\\u4E00-\\u9FFF]+", "g").test(Char_Cter)) {
|
||||
//中文
|
||||
let blankCount = 0;
|
||||
for (let i in Char_Cter.match(/ /g)) {
|
||||
blankCount++
|
||||
}
|
||||
let wenziCount = 0;
|
||||
for (let j = 0; j < Char_Cter.length; j++) {
|
||||
if ((Char_Cter.charCodeAt(j) < 0) || (Char_Cter.charCodeAt(j) > 255)) {
|
||||
wenziCount++
|
||||
}
|
||||
}
|
||||
|
||||
if (blankCount + wenziCount <= 60) {
|
||||
this.$message.error(
|
||||
'We encourage you to enrich your comment further to help improve the peer paper.')
|
||||
this.$message({
|
||||
offset: '380',
|
||||
type: 'error',
|
||||
message: "We encourage you to enrich your comment further to help improve the peer paper."
|
||||
})
|
||||
return false
|
||||
}
|
||||
} else {
|
||||
//英文
|
||||
let blankCount = 0;
|
||||
for (let i in Char_Cter.match(/ /g)) {
|
||||
blankCount++
|
||||
}
|
||||
if (blankCount <= 50) {
|
||||
this.$message.error(
|
||||
'We encourage you to enrich your comment further to help improve the peer paper.');
|
||||
this.$message({
|
||||
offset: '380',
|
||||
type: 'error',
|
||||
message: "We encourage you to enrich your comment further to help improve the peer paper."
|
||||
})
|
||||
return false
|
||||
}
|
||||
}
|
||||
// 提交接口
|
||||
this.loading = true
|
||||
this.$refs.question.validate((valid) => {
|
||||
if (valid) {
|
||||
this.$api
|
||||
.post('api/Reviewer/questionSubmit', this.questionform)
|
||||
.then((res) => {
|
||||
if (res.code == 0) {
|
||||
this.loading = false;
|
||||
this.$message.success('Success!!');
|
||||
this.getData();
|
||||
this.$router.push('/per_text_success');
|
||||
} else {
|
||||
this.loading = false;
|
||||
// this.$message.error('Question submit error!');
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.loading = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
//初始化问卷
|
||||
ques_visible(e) {
|
||||
this.questionVisible = true
|
||||
}
|
||||
|
||||
},
|
||||
mounted() {
|
||||
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.tet_list {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.box-card {
|
||||
margin-bottom: 20px;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.upload-txtc .el-upload-list__item .el-icon-upload-success {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.tet_list h5 {
|
||||
font-size: 15px;
|
||||
margin: 20px 0 5px 0;
|
||||
font-weight: normal;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.tet_list p {
|
||||
font-family: Calibri;
|
||||
line-height: 22px;
|
||||
font-size: 16px;
|
||||
|
||||
}
|
||||
|
||||
.file_sty {
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
.file_sty a {
|
||||
color: #606266;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.file_sty a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.red {
|
||||
color: #ff0000;
|
||||
}
|
||||
|
||||
.el-collapse {
|
||||
border-top: 0;
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
.top_dao:hover {
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.icon_img {
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
margin-right: 10px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.trah_c .icon_img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 0 20px;
|
||||
}
|
||||
|
||||
.el-divider {
|
||||
background-color: #006699;
|
||||
}
|
||||
|
||||
.container_l {
|
||||
min-width: 1000px;
|
||||
}
|
||||
|
||||
.container_l .box-card {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.lookpdf {
|
||||
height: 760px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.titlink {
|
||||
color: #006699;
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
||||
.morSou {
|
||||
color: #006699;
|
||||
text-align: right;
|
||||
font-weight: bold;
|
||||
margin: 5px 0 -10px 0;
|
||||
}
|
||||
|
||||
.morSou i {
|
||||
margin-right: 3px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.morSou:hover {
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.jouLink {
|
||||
color: #006699;
|
||||
font-weight: bold;
|
||||
margin: 0 0 0 5px;
|
||||
}
|
||||
|
||||
.jouLink:hover {
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.conment_list {
|
||||
display: inline-block;
|
||||
text-align: left;
|
||||
width: 32%;
|
||||
height: 270px;
|
||||
margin: 0 0.5% 1%;
|
||||
}
|
||||
</style>
|
||||
File diff suppressed because it is too large
Load Diff
152
src/components/page/publishRefernceEditor.vue
Normal file
152
src/components/page/publishRefernceEditor.vue
Normal file
@@ -0,0 +1,152 @@
|
||||
<template>
|
||||
<div>
|
||||
<!-- publish 引用编辑页面 -->
|
||||
<editPublicRefRdit ref="editPublicRefRdit" :chanFerForm = 'chanFerForm' :gridData = 'gridData' :p_article_id='p_article_id' @ChanFerMashUp="ChanFerMashUp" @refrashComp="refrashComp" @changeRefer="changeRefer"></editPublicRefRdit>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import editPublicRefRdit from './editPublicRefRdit' // 公共引用编辑页面
|
||||
import {
|
||||
Loading
|
||||
} from 'element-ui';
|
||||
export default {
|
||||
data(){
|
||||
return{
|
||||
article_id: this.$route.query.id,
|
||||
chanFerForm: [],
|
||||
gridData: '',
|
||||
p_article_id: this.$route.query.pid,
|
||||
}
|
||||
},
|
||||
created(){
|
||||
this.getData()
|
||||
},
|
||||
methods:{
|
||||
// 获取p_article_id的值
|
||||
getArtcleDetails(){
|
||||
// 获得文章详情
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: 'Loading...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
});
|
||||
this.$api
|
||||
.post('api/Article/getPreacceptArticleDetail', {'article_id': this.article_id})
|
||||
.then(res => {
|
||||
loading.close()
|
||||
this.p_article_id = res.data.production.p_article_id
|
||||
console.log(this.p_article_id)
|
||||
// this.chanFerForm = res.data.refers
|
||||
if(this.p_article_id != null){
|
||||
this.getData()
|
||||
//this.getAuthorJG();
|
||||
//this.getCount();
|
||||
//this.getWorldPdf();
|
||||
}
|
||||
this.$nextTick(()=>{
|
||||
// 更新引用列表
|
||||
this.$refs.editPublicRefRdit.init(this.chanFerForm)
|
||||
})
|
||||
})
|
||||
.catch(err => {
|
||||
//this.$message.error(err);
|
||||
loading.close()
|
||||
});
|
||||
},
|
||||
getData() {
|
||||
|
||||
// this.idform.p_article_id = this.p_article_id;
|
||||
// this.detailMes.p_article_id = this.p_article_id;
|
||||
// this.addFomauthor.p_article_id = this.p_article_id;
|
||||
// this.addFomschool.p_article_id = this.p_article_id;
|
||||
// this.UpTypeFile.p_article_id = this.p_article_id;
|
||||
|
||||
// console.log(this.p_article_id,5555)
|
||||
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: 'Loading...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
});
|
||||
|
||||
// 获取文章信息
|
||||
|
||||
// 获取参考文献
|
||||
this.$api
|
||||
.post('api/Production/getReferList', {
|
||||
'p_article_id': this.p_article_id
|
||||
})
|
||||
.then(res => {
|
||||
this.chanFerForm = res.data.refers
|
||||
for (var i = 0; i < this.chanFerForm.length; i++) {
|
||||
this.chanFerForm[i].edit_mark = 1
|
||||
if (this.chanFerForm[i].refer_frag != '') {
|
||||
this.showB_step = 2
|
||||
}
|
||||
}
|
||||
this.$nextTick(()=>{
|
||||
// 更新引用列表
|
||||
this.$refs.editPublicRefRdit.init(this.chanFerForm)
|
||||
})
|
||||
loading.close()
|
||||
})
|
||||
.catch(err => {
|
||||
loading.close()
|
||||
console.log(err);
|
||||
});
|
||||
|
||||
},
|
||||
// 5----参考文献向上合并
|
||||
ChanFerMashUp(e) {
|
||||
console.log(e)
|
||||
this.$api
|
||||
.post('api/Production/referHB', e)
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
this.changeRefer(e)
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
},
|
||||
// 刷新引用组件
|
||||
refrashComp(){
|
||||
this.$refs.editPublicRefRdit.$forceUpdate()
|
||||
console.log('editPublicRefRdit')
|
||||
},
|
||||
// 5----重新获取加载参考文献
|
||||
changeRefer(val) {
|
||||
console.log('重新获取参考文献')
|
||||
this.$api
|
||||
.post('api/Production/getReferList', {
|
||||
'p_article_id': this.p_article_id
|
||||
})
|
||||
.then(res => {
|
||||
this.chanFerForm = res.data.refers
|
||||
for (var i = 0; i < this.chanFerForm.length; i++) {
|
||||
this.chanFerForm[i].edit_mark = 1
|
||||
}
|
||||
console.log(this.chanFerForm)
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
|
||||
},
|
||||
},
|
||||
components:{
|
||||
editPublicRefRdit
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
|
||||
</style>
|
||||
@@ -40,7 +40,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Vue from 'vue'
|
||||
import Vue from 'vue'
|
||||
export default {
|
||||
props: {
|
||||
talkMsgs: {
|
||||
@@ -85,10 +85,15 @@
|
||||
.post('api/Article/pushArticleDialog', this.msgform)
|
||||
.then((res) => {
|
||||
this.loading = false;
|
||||
this.$message.success('Sent successfully');
|
||||
this.$router.go(0);
|
||||
// this.$message.success('Sent successfully');
|
||||
this.$emit('talksave',true) // 传递成功信号
|
||||
// setTimeout(()=>{
|
||||
// this.$router.go(0);
|
||||
// },1000)
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -1,9 +1,14 @@
|
||||
<template>
|
||||
<div class="login-wrap">
|
||||
<p class="yuju">
|
||||
<!-- <p class="yuju">
|
||||
You are almost done.
|
||||
<br>
|
||||
Please click on the link sent to your email inbox to complete your registration.
|
||||
<br>
|
||||
Please click on the link sent to your email inbox to complete your registration.
|
||||
</p> -->
|
||||
<p class="yuju">
|
||||
Congratulations!
|
||||
<br>
|
||||
Your account registration has been successfully completed. Please log in by <a @click="tologin" type="text">clicking here</a>.
|
||||
</p>
|
||||
</div>
|
||||
</template>
|
||||
@@ -20,7 +25,11 @@
|
||||
|
||||
},
|
||||
methods: {
|
||||
|
||||
tologin(){
|
||||
this.$router.push({
|
||||
path:'/login'
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@@ -44,4 +53,5 @@
|
||||
padding: 20px;
|
||||
font-size: 20px;
|
||||
}
|
||||
.yuju>a{color: #66b1ff; cursor: pointer;}
|
||||
</style>
|
||||
|
||||
@@ -614,13 +614,6 @@ export default new Router({
|
||||
title: 'Reviewer article details'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/per_text_ls', //审稿人文章详情-总共
|
||||
component: () => import('../components/page/per_text_ls'),
|
||||
meta: {
|
||||
title: 'Reviewer article details'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/per_text_yq', //审稿人文章详情-邀请
|
||||
component: () => import('../components/page/per_text_yq'),
|
||||
@@ -795,7 +788,7 @@ export default new Router({
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/partyListPot', //用户列表-待开发
|
||||
path: '/partyListPot', //用户列表-待开发(灰库)
|
||||
component: () => import('../components/page/partyListPot'),
|
||||
meta: {
|
||||
title: 'Potential Users'
|
||||
@@ -892,6 +885,38 @@ export default new Router({
|
||||
title: 'Rejected Manuscripts'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/PreIngested', //预收录-完善资料页面
|
||||
component: () => import('../components/page/Complete_profile'),
|
||||
meta: {
|
||||
title: 'Pre-accept'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/ReferenceEditor', //用户端预收录-引用编辑
|
||||
component: () => import('../components/page/ReferenceEditor'),
|
||||
meta: {
|
||||
title: 'Reference Workflow'
|
||||
}
|
||||
},
|
||||
{
|
||||
name:'PreIngestedEditor',
|
||||
path: '/PreIngestedEditor', // 编辑端 - 预收录编辑页面
|
||||
component: () => import('../components/page/PreIngestedEditor'),
|
||||
meta: {
|
||||
|
||||
title: 'PreIngestedEditor'
|
||||
}
|
||||
},
|
||||
{
|
||||
name:'publishRefernceEditor',
|
||||
path: '/publishRefernceEditor', // 编辑端 - publish 引用编辑页面
|
||||
component: () => import('../components/page/publishRefernceEditor'),
|
||||
meta: {
|
||||
|
||||
title: 'Refernce Editor'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/404',
|
||||
component: () => import( /* webpackChunkName: "404" */
|
||||
|
||||
@@ -4,25 +4,23 @@ module.exports = {
|
||||
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