50 Commits

Author SHA1 Message Date
@fawn-nine
089cc4290a 更改状态展示 2023-07-12 13:57:49 +08:00
@fawn-nine
5732216436 7-10 2023-07-10 15:38:39 +08:00
@fawn-nine
1b5993cb90 . 2023-07-10 15:08:47 +08:00
@fawn-nine
1d0675716d . 2023-07-10 13:39:53 +08:00
@fawn-nine
2f77ea87d4 微调 2023-07-10 13:22:49 +08:00
@fawn-nine
1f7e3c484b 12:22 2023-07-07 12:22:08 +08:00
@fawn-nine
85cc743ba0 后台引用编辑前 2023-07-07 10:22:27 +08:00
@fawn-nine
c509b53180 . 2023-07-04 15:09:51 +08:00
@fawn-nine
1be18db3ea 登陆验证 2023-06-30 17:54:50 +08:00
@fawn-nine
d0741468cd . 2023-06-30 17:17:04 +08:00
@fawn-nine
0660931ba9 . 2023-06-30 17:08:07 +08:00
@fawn-nine
2bfb4e237d 翻译 2023-06-30 17:03:52 +08:00
@fawn-nine
e53bbd0c3f 微调 2023-06-30 16:34:59 +08:00
@fawn-nine
9cd6916feb 微调 2023-06-30 16:09:55 +08:00
@fawn-nine
aad8481719 微调 2023-06-30 16:05:19 +08:00
@fawn-nine
d6decc78bd . 2023-06-30 13:46:56 +08:00
@fawn-nine
607c377e89 微调 2023-06-30 13:29:51 +08:00
@fawn-nine
f6db714b46 预接收 2023-06-30 11:35:04 +08:00
@fawn-nine
b230e61de9 18:02 2023-06-29 18:02:21 +08:00
@fawn-nine
cf880b0864 15:39 2023-06-28 15:39:53 +08:00
@fawn-nine
fbfbd8b6f6 17:04 2023-06-27 17:04:55 +08:00
@fawn-nine
20c809387d 15:08 2023-06-27 15:10:56 +08:00
@fawn-nine
a2e7328caf Merge branch 'master' into xie-accept 2023-06-27 13:05:13 +08:00
@fawn-nine
c0bbe5a671 0627 2023-06-27 11:36:40 +08:00
@fawn-nine
a870a091ce : 2023-06-26 17:46:05 +08:00
@fawn-nine
f60e0f4b8a 回库删除用户 2023-06-26 17:36:25 +08:00
@fawn-nine
8a91600612 step 4 major数据变更 2023-06-26 15:13:13 +08:00
@fawn-nine
0161fcc4fb 编辑工作台微调 2023-06-26 13:31:08 +08:00
@fawn-nine
a0d93c47a8 编辑工作台微调 2023-06-26 10:31:44 +08:00
@fawn-nine
6da4d6f79d 微调 2023-06-25 14:52:44 +08:00
@fawn-nine
531726439b 引用页面调整 2023-06-25 14:19:50 +08:00
徐哼唧L
6a924b067e 编辑工作台 2023-06-21 16:20:33 +08:00
徐哼唧L
2448358bb9 编辑工作台 2023-06-21 16:07:52 +08:00
徐哼唧L
d3593e6eb2 编辑工作台 2023-06-21 16:06:58 +08:00
徐哼唧L
75a08bbe70 编辑工作台 2023-06-21 14:08:51 +08:00
徐哼唧L
155185d668 编辑工作台 2023-06-21 13:03:40 +08:00
徐哼唧L
e8f4d19eea 编辑工作台列表 2023-06-15 18:06:58 +08:00
徐哼唧L
b4eef8558b 编辑工作台列表 2023-06-15 17:32:43 +08:00
徐哼唧L
3ed242a6b2 编辑工作台列表 2023-06-15 17:30:41 +08:00
@fawn-nine
2751b840a2 接口对接 2023-06-14 17:31:15 +08:00
@fawn-nine
fdeaeb57d2 完成右侧按钮基本功能 2023-06-13 18:02:20 +08:00
wangjinlei
6571b8c42f wjltest 2023-06-13 11:49:05 +08:00
@fawn-nine
fa8a3caf9a 0612 2023-06-12 18:07:36 +08:00
wangjinlei
849f06891f update .gitignore 2023-06-12 11:32:45 +08:00
@fawn-nine
15d3e7e0d3 显示电话 2023-06-12 11:28:16 +08:00
@fawn-nine
45d06d5960 . 2023-06-12 11:18:53 +08:00
@fawn-nine
de67e6e742 同步被拒稿件列表 2023-06-09 17:49:36 +08:00
@fawn-nine
bb544d5684 0609 2023-06-09 17:38:46 +08:00
@fawn-nine
55327d3b77 0609 2023-06-09 17:04:01 +08:00
@fawn-nine
184c4af1ca 预接收 2023-06-09 16:53:09 +08:00
20 changed files with 6706 additions and 274 deletions

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

View 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" >&nbsp; &nbsp;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>

File diff suppressed because it is too large Load Diff

View 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 &nbsp;&nbsp;
<!-- <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 &nbsp;&nbsp;&nbsp;<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 references 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 doesnt 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:Publishers 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>&nbsp;&nbsp;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>

View File

@@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<div class="container"> <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)"> 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 type="index" label="No." width="55" align="center"></el-table-column>
<el-table-column width="180" label="Manuscript ID" align="center"> <el-table-column width="180" label="Manuscript ID" align="center">
@@ -24,22 +24,15 @@
</el-badge> </el-badge>
</p> </p>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="Type" align="center" width="300"> <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"> <template slot-scope="scope">
<!-- {{scope.row.type}} --> <b>{{scope.row.user.realname}}</b><br/>
<el-select v-model="scope.row.type" disabled style="width: 100%;"> {{scope.row.user.email}}<br/>
<el-option v-for="item in journal_type" :key="item.value" :label="item.name" {{scope.row.user.phone}}
: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> --->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="Remarks" align="center"> <el-table-column label="Remarks" align="center">
@@ -100,7 +93,8 @@
content: '' content: ''
}, },
journal_type:[], journal_type:[],
ss:'' ss:'',
loading:false
}; };
}, },
components: { components: {
@@ -120,10 +114,12 @@
// 获取数据 // 获取数据
getData() { getData() {
// 被拒稿件列表 // 被拒稿件列表
this.loading = true
this.$api this.$api
.post('api/Article/getRejectArticles', this.query) .post('api/Article/getRejectArticles', this.query)
.then(res => { .then(res => {
if (res.data.count > 0) { if (res.data.count > 0) {
this.loading = false
this.tableData = res.data.articles this.tableData = res.data.articles
this.Total = res.data.count this.Total = res.data.count
} }

View File

@@ -326,7 +326,7 @@
Only Word and compressed files can be uploaded (file format: .docx). Only Word and compressed files can be uploaded (file format: .docx).
</div> </div>
</el-upload> </el-upload>
</a>
</el-form-item> </el-form-item>
<el-form-item label="Supplementary Material :" label-width="200px"> <el-form-item label="Supplementary Material :" label-width="200px">
<el-upload class="upload-demo up_newstyle" :action="upload_supplementary" accept=".zip" <el-upload class="upload-demo up_newstyle" :action="upload_supplementary" accept=".zip"
@@ -487,8 +487,8 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="Major :" prop="major_all"> <el-form-item label="Major :" prop="major_all">
<el-cascader :options="jl_major" v-model="item.major_all" :props="defaultParams" <el-cascader :options="step4MajorList" v-model="item.major_all" :props="default4Params"
placeholder="Please select major" style="width: 270px;" clearable></el-cascader> placeholder="Please select major" style="width: 270px;" clearable ></el-cascader>
</el-form-item> </el-form-item>
<el-button :disabled="tuiJianForm.length==1" @click="onDeleteTuijian(item, index)" <el-button :disabled="tuiJianForm.length==1" @click="onDeleteTuijian(item, index)"
type="danger" icon="el-icon-delete" class="shanchu_tj"></el-button> type="danger" icon="el-icon-delete" class="shanchu_tj"></el-button>
@@ -665,7 +665,7 @@
manuscirpt: '', manuscirpt: '',
supplementary: '', supplementary: '',
code: '', code: '',
topics:null // topics:null
}, },
journal_type: [{ journal_type: [{
name: 'ARTICLE', name: 'ARTICLE',
@@ -874,12 +874,18 @@
companyList: [], companyList: [],
countrys: [], countrys: [],
majorList: [], majorList: [],
step4MajorList:[], // 第四步的major数据
jl_major: [], jl_major: [],
defaultParams: { defaultParams: {
label: 'title', label: 'title',
value: 'major_id', value: 'major_id',
children: 'children' children: 'children'
}, },
default4Params:{
label: 'major_title',
value: 'major_id',
children: 'children'
},
mj_jour: [], mj_jour: [],
jour_name: '', jour_name: '',
topicsList:null, // 话题列表 topicsList:null, // 话题列表
@@ -907,7 +913,7 @@
this.Temporary() this.Temporary()
} else { } else {
this.initMajor(); this.initMajor();
this.getTopics() // this.getTopics() 获取话题列表
} }
}, },
computed: { computed: {
@@ -1023,14 +1029,15 @@
this.$refs.tuiJianForm[i].validate(vali => { this.$refs.tuiJianForm[i].validate(vali => {
if (vali) { if (vali) {
tuijian_yanzheng += 0 tuijian_yanzheng += 0
this.tuiJianForm[i].major = this.tuiJianForm[i].major_all[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[this.tuiJianForm[i].major_all.length - 1]
//this.tuiJianForm[i].cmajor = this.tuiJianForm[i].major_all[1]
} else { } else {
tuijian_yanzheng += 1 tuijian_yanzheng += 1
} }
}) })
} }
this.form.reviewers = this.tuiJianForm this.form.reviewers = this.tuiJianForm
} else { } else {
this.form.reviewers = [] this.form.reviewers = []
} }
@@ -1185,17 +1192,17 @@
'value': res.data.companys[i].title 'value': res.data.companys[i].title
}) })
} }
}); });
this.$api this.$api
.post('/api/Reviewer/getMajorForReviewer', { .post('/api/Reviewer/getMajorForReviewer', {
username: localStorage.getItem('U_name'), username: localStorage.getItem('U_name'),
}).then(res => { }).then(res => {
if (res.data.major != 0) { if (res.data.major != 0) {
this.$api this.$api
.post('api/User/getMajorList') .post('api/User/getMajorList')
.then(res => { .then(res => {
this.majorList = res.data; this.majorList = res.data;
}) })
} }
}) })
@@ -1211,6 +1218,14 @@
this.checkReviewer() this.checkReviewer()
this.$api
.post('api/Major/getMajorList')
.then(res => {
console.log(res,99)
this.step4MajorList = res.data.majors;
})
}, },
// 机构模糊搜索 // 机构模糊搜索
@@ -1634,7 +1649,7 @@
this.form.istransfer = false this.form.istransfer = false
this.form.becomeRev = false this.form.becomeRev = false
this.initMajor(); this.initMajor();
this.getTopics() // this.getTopics()
}, },
// 点击tab变化 // 点击tab变化
@@ -1693,7 +1708,7 @@
} }
} }
}, },
showFiles() { showFiles() {
// 文件显示出来 // 文件显示出来
this.fileL_coverLetter = []; this.fileL_coverLetter = [];
@@ -1951,7 +1966,7 @@
this.form.approval = res.data.base.approval this.form.approval = res.data.base.approval
this.form.abstrart = res.data.base.abstrart this.form.abstrart = res.data.base.abstrart
this.form.fund = res.data.base.fund this.form.fund = res.data.base.fund
this.form.topics = res.data.base.topics // this.form.topics = res.data.base.topics
// 领域 // 领域
this.$api this.$api
.post('api/Major/getMajorForAddArticle', { .post('api/Major/getMajorForAddArticle', {
@@ -2055,7 +2070,7 @@
.then((res) => { .then((res) => {
if (res.code == 0) { if (res.code == 0) {
this.topicsList = res.data.topics this.topicsList = res.data.topics
console.log(res.data.topics,'话题') // console.log(res.data.topics,'话题')
} else { } else {
this.$message.error(res.msg); this.$message.error(res.msg);
} }
@@ -2063,7 +2078,7 @@
}, },
// 选中值变化 // 选中值变化
topicsChange(e){ topicsChange(e){
console.log(this.form.topics,'选中的话题id') // console.log(this.form.topics,'选中的话题id')
} }
} }

View File

@@ -1,5 +1,5 @@
<template> <template>
<div> <div >
<div class="crumbs"> <div class="crumbs">
<el-breadcrumb separator="/"> <el-breadcrumb separator="/">
<el-breadcrumb-item> <el-breadcrumb-item>
@@ -68,7 +68,7 @@
<font style="color: #666b7a;">Journal : </font> <font style="color: #666b7a;">Journal : </font>
<b style="font-weight: normal;">{{item.journalname}}</b> <b style="font-weight: normal;">{{item.journalname}}</b>
</p> </p>
<p> <p v-if="item.state != 6">
<font style="color: #666b7a;"> <font style="color: #666b7a;">
<i class="el-icon-time" style="margin: 0 5px 0 0;"></i> <i class="el-icon-time" style="margin: 0 5px 0 0;"></i>
Update Time : Update Time :
@@ -92,6 +92,14 @@
<span @click="esy_deta(item.article_id)"> <span @click="esy_deta(item.article_id)">
<i class="el-icon-paperclip"></i>My Manuscript <i class="el-icon-paperclip"></i>My Manuscript
</span> </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>
</div> </div>
@@ -435,7 +443,16 @@
// } // }
}, },
// 显示预收录页面
goPre_ingested(id){
this.$router.push({
path: 'PreIngested',
query: {
id: id
// id: 3070
}
});
},
// 点击稿件进程 // 点击稿件进程
esy_mtps(e) { esy_mtps(e) {
this.$router.push({ this.$router.push({
@@ -720,6 +737,9 @@
</script> </script>
<style scoped> <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 { .container {
color: #333; color: #333;
} }

File diff suppressed because it is too large Load Diff

View File

@@ -968,6 +968,10 @@
label: 'MINI REVIEW', label: 'MINI REVIEW',
value: 'Mini Review' value: 'Mini Review'
}, },
{
label: 'RETRACTION NOTE',
value: 'Retraction Note'
},
{ {
label: '内经难经', label: '内经难经',
value: '内经难经' value: '内经难经'

View File

@@ -192,7 +192,7 @@
<!-- Html排版 --> <!-- 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"> <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;" <h3 style="font-size: 16px;margin-bottom: 25px;line-height: 22px;letter-spacing: -0.5px;word-break: break-word;"
v-html="UpHtpFIle.title"></h3> v-html="UpHtpFIle.title"></h3>
@@ -223,31 +223,103 @@
can be uploaded(.pdf)</div> can be uploaded(.pdf)</div>
</el-upload> </el-upload>
</div> --> </div> -->
<div style="border-top: 2px dashed #0066994d;margin: 20px 0 0 0;padding: 20px 0 0 0;"> <p style="border-top: 2px dashed #0066994d;margin: 20px 0 0 0;padding: 20px 0 0 0;"> </p>
<font style="font-size: 16px;">Html Layout :</font> <el-collapse v-model="collapseActiveNames">
<span style="margin-left: 15px;color: #666;" v-if="UpHtpFIle.mains==''">No Layout</span> <el-collapse-item name="html">
<span style="margin-left: 15px;color: #0b4b6a;" v-if="UpHtpFIle.mains!=''">Typesetting <template slot="title">
completed</span> Html Layout :
<el-button type="primary" icon="el-icon-document-copy" @click="htmlLayout()" <span style="margin-left: 15px;color: #666;" v-if="UpHtpFIle.mains==''">No Layout</span>
style="margin-left: 20px;"> <span style="margin-left: 15px;color: #0b4b6a;" v-if="UpHtpFIle.mains!=''">Typesetting completed</span>
<font v-if="UpHtpFIle.mains==''">Creat Html Proofread</font> <!-- <el-button v-if="UpHtpFIle.mains==''" type="text" plain icon="el-icon-document-copy" @click="showCreateHtmlItem()"
<font v-if="UpHtpFIle.mains!=''">Edit Html Proofread</font> style="margin-left: 20px;">
</el-button> <font >Create Html Proofread</font>
<div class="titHtml" v-if="UpHtpFIle.mains!=''"> </el-button> -->
<div v-for="(item,index) in UpHtpFIle.mains"> <el-button v-if="UpHtpFIle.mains!=''" type="primary" plain icon="el-icon-document-copy" @click="htmlLayout()"
<p v-html="item.content" v-if="item.width==0"></p> style="margin-left: 20px;">
<p v-if="item.width!=0" class="MaxPicture"> <font >Edit Html Proofread</font>
<img :src="baseUrl+'public/mainimg/'+item.content" :style="'width:'+item.width+'px'"> </el-button>
<font :style="'width:'+item.width+'px'">{{item.note}} </template>
</font> <div>
</p> <!-- 生成选项 -->
</div> <div v-if="UpHtpFIle.mains==''">
</div> <el-radio v-model="createType" label="1">使用稿件最终版生成html</el-radio>
<el-radio v-model="createType" label="2">重新上传word文件生成html</el-radio>
</div> <!-- 方式是重新上传且没有上传文件时按钮不可用 -->
<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> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="HtmlVisible = false" plain>Cancel</el-button> <el-button @click="CancelHtml" plain>Cancel</el-button>
</span> </span>
</el-dialog> </el-dialog>
@@ -258,9 +330,15 @@
import { import {
Loading Loading
} from 'element-ui'; } from 'element-ui';
import { watch } from 'vue';
export default { export default {
data() { data() {
return { return {
articleId:null,
createType:'1', // html生成方式
collapseActiveNames:['html'], // 手风琴绑定值
// oldFile:false, // 是否用新文件生成
fileL_manuscirpt: [],
baseUrl: this.Common.baseUrl, baseUrl: this.Common.baseUrl,
mediaUrl: this.Common.mediaUrl, mediaUrl: this.Common.mediaUrl,
username: localStorage.getItem('U_name'), username: localStorage.getItem('U_name'),
@@ -291,6 +369,7 @@
article_id: '', article_id: '',
htmlfile: '', htmlfile: '',
mains: [], mains: [],
refers:[], //引用参数
}, },
UpLoadFile: { UpLoadFile: {
article_id: '', article_id: '',
@@ -309,12 +388,24 @@
chooseData: [], chooseData: [],
loading: false, loading: false,
steps_jour: 0, steps_jour: 0,
form:{
manuscirpt: '',
},
fileData:'' // 上传后返回的文件url
}; };
}, },
created() { created() {
this.getJourDate(); 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() { getDate() {
const loading = this.$loading({ const loading = this.$loading({
@@ -335,7 +426,66 @@
loading.close(); 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() { getJourDate() {
this.$api this.$api
@@ -639,8 +789,10 @@
}, },
// 文章html弹出层 // 文章html弹出层
htmlContet(e) { htmlContet(e) {
this.articleId = e.article_id
this.UpHtpFIle.article_id = e.article_id this.UpHtpFIle.article_id = e.article_id
this.UpHtpFIle.refers = e.refers
this.UpHtpFIle.doi = e.doi this.UpHtpFIle.doi = e.doi
this.UpHtpFIle.htmlfile = e.file_html this.UpHtpFIle.htmlfile = e.file_html
this.UpHtpFIle.title = e.title this.UpHtpFIle.title = e.title
@@ -648,7 +800,26 @@
this.UpLoadFile.article_id = e.article_id this.UpLoadFile.article_id = e.article_id
this.HtmlVisible = true 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 // 修改文章html
htmlLayout() { htmlLayout() {
const loading = this.$loading({ const loading = this.$loading({
@@ -659,7 +830,8 @@
}); });
this.$api this.$api
.post('api/Production/getProductionMainsByDoi', { .post('api/Production/getProductionMainsByDoi', {
doi: this.UpHtpFIle.doi doi: this.UpHtpFIle.doi,
file: this.fileData
}) })
.then(res => { .then(res => {
if (res.code == 0) { if (res.code == 0) {
@@ -741,11 +913,39 @@
this.$message.error('The maximum number of uploaded files has been exceeded'); 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> </script>
<style scoped> <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 { .handle-box {
margin-bottom: 18px; margin-bottom: 18px;
} }
@@ -909,31 +1109,33 @@
} }
/deep/.htmlfile .upload-demo .el-upload-list { /deep/.htmlfile .upload-demo .el-upload-list {
margin-top: 4px; margin-top: -4px;
margin-left: 20px; margin-left: 20px;
float: left; float: left;
width: 35px; width: 500px;
display: none; /* 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; width: 30px !important;
} } */
/deep/.htmlfile .upload-demo .el-upload-list .el-upload-list__item:hover { /deep/.htmlfile .upload-demo .el-upload-list .el-upload-list__item:hover {
cursor: pointer; 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; 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; 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; display: none;
} } */
/deep/ .table99 th{background: #e4e7ed !important; color: #777 !important;}
</style> </style>

View File

@@ -83,6 +83,9 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </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-form-item label="Scheduled Tasks :" prop="frequency">
<el-radio-group v-model="EmailData.frequency"> <el-radio-group v-model="EmailData.frequency">
<el-radio label="day" style="display: block;margin: 10px 0 0 0;"> <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> <span style="margin: 0 0 0 5px;">(explanatory note: 1st - 5th)</span>
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</div> </div>
<div class="d_rol"> <div class="d_rol">
<h3> <h3>
@@ -299,6 +302,7 @@
substance_bom: '', substance_bom: '',
substanceOld: '', substanceOld: '',
frequency: 'day', frequency: 'day',
beginPage:1 // 开始页数
}, },
keyValue: 0, keyValue: 0,
userListNum: 0, userListNum: 0,
@@ -864,8 +868,6 @@
// artHtml) // artHtml)
// } // }
this.$api this.$api
.post('api/Promotion/addPromotion', this.EmailData) .post('api/Promotion/addPromotion', this.EmailData)
.then(res => { .then(res => {

File diff suppressed because it is too large Load Diff

View File

@@ -7,6 +7,7 @@
</el-breadcrumb-item> </el-breadcrumb-item>
</el-breadcrumb> </el-breadcrumb>
</div> </div>
<div class="container"> <div class="container">
<div class="form-box"> <div class="form-box">
<el-form ref="editorform" :model="form" :rules="rules" label-width="200px"> <el-form ref="editorform" :model="form" :rules="rules" label-width="200px">

View File

@@ -77,11 +77,14 @@
<el-table-column prop="company" label="Affiliation"></el-table-column> <el-table-column prop="company" label="Affiliation"></el-table-column>
<el-table-column prop="field" label="Field"></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 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"> <template slot-scope="scope">
<el-button plain type="primary" icon="el-icon-edit" @click="handleEdit(scope.row)"> <el-button plain type="primary" icon="el-icon-edit" @click="handleEdit(scope.row)">
Edit Edit
</el-button> </el-button>
<el-button plain type="danger" icon="el-icon-edit" @click="handleDelete(scope.row)">
Delete
</el-button>
<!-- <div style="margin-top: 12px;"> <!-- <div style="margin-top: 12px;">
<el-button plain type="warning" @click="handleSend(scope.row)"> <el-button plain type="warning" @click="handleSend(scope.row)">
PROMOTION PROMOTION
@@ -545,6 +548,29 @@
this.initMajor() this.initMajor()
}, },
methods: { 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() { getCountry() {
this.$api this.$api

View 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>

View File

@@ -40,7 +40,7 @@
</template> </template>
<script> <script>
import Vue from 'vue' import Vue from 'vue'
export default { export default {
props: { props: {
talkMsgs: { talkMsgs: {
@@ -85,10 +85,15 @@
.post('api/Article/pushArticleDialog', this.msgform) .post('api/Article/pushArticleDialog', this.msgform)
.then((res) => { .then((res) => {
this.loading = false; this.loading = false;
this.$message.success('Sent successfully'); // this.$message.success('Sent successfully');
this.$router.go(0); this.$emit('talksave',true) // 传递成功信号
// setTimeout(()=>{
// this.$router.go(0);
// },1000)
}); });
}, },
} }
} }
</script> </script>

View File

@@ -1,9 +1,14 @@
<template> <template>
<div class="login-wrap"> <div class="login-wrap">
<p class="yuju"> <!-- <p class="yuju">
You are almost done. You are almost done.
<br> <br>
Please click on the link sent to your email inbox to complete your registration. 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> </p>
</div> </div>
</template> </template>
@@ -20,7 +25,11 @@
}, },
methods: { methods: {
tologin(){
this.$router.push({
path:'/login'
})
}
} }
}; };
</script> </script>
@@ -44,4 +53,5 @@
padding: 20px; padding: 20px;
font-size: 20px; font-size: 20px;
} }
.yuju>a{color: #66b1ff; cursor: pointer;}
</style> </style>

View File

@@ -788,7 +788,7 @@ export default new Router({
} }
}, },
{ {
path: '/partyListPot', //用户列表-待开发 path: '/partyListPot', //用户列表-待开发(灰库)
component: () => import('../components/page/partyListPot'), component: () => import('../components/page/partyListPot'),
meta: { meta: {
title: 'Potential Users' title: 'Potential Users'
@@ -885,6 +885,38 @@ export default new Router({
title: 'Rejected Manuscripts' 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', path: '/404',
component: () => import( /* webpackChunkName: "404" */ component: () => import( /* webpackChunkName: "404" */

View File

@@ -4,23 +4,23 @@ module.exports = {
assetsDir: 'static', assetsDir: 'static',
productionSourceMap: false, productionSourceMap: false,
devServer: { devServer: {
public: 'http://192.168.110.159:8080/', // 你自己本地的ip地址:端口号 // public: 'http://192.168.110.159:8080/', // 你自己本地的ip地址:端口号
// port: '8080', port: '8080',
// open: true, open: true,
// overlay: { overlay: {
// warnings: false, warnings: false,
// errors: true errors: true
// }, },
// proxy: { proxy: {
// '/api': { '/api': {
// // target: 'https://www.tmrjournals.cn', // target: 'https://www.tmrjournals.cn',
// target: 'https://submission.tmrjournals.com/', target: 'https://submission.tmrjournals.com/',
// changeOrigin: true, changeOrigin: true,
// pathRewrite: { pathRewrite: {
// '^/api': '' '^/api': ''
// } }
// } }
// } }
}, },
// devServer: { // devServer: {