Files
tougao_web/src/components/page/PreIngestedEditorProduce.vue
2025-11-26 17:31:53 +08:00

2787 lines
96 KiB
Vue
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<div>
<div class="liter_ture" v-if="0 == 2">
<div class="chanSelLef">
<!-- 1 -->
<div :class="showB_step == 1 ? 'C_style' : ''">
<h3><span>1</span>Check References and Doi</h3>
<div v-if="showB_step == 1">
<p>
You need to click
<el-button
type="warning"
@click="StepBOper(1)"
size="mini"
style="padding: 5px 8px; font-size: 12px; margin: 0 5px"
>
<i class="el-icon-edit-outline"></i>
Crossref
</el-button>
 to open the website, then paste the references part of the
<a :href="mediaUrl + this.gridData" target="_blank">
<el-button type="text" size="mini" style="font-size: 12px; margin: 0 5px; font-weight: bold">
<i class="el-icon-download" style="font-weight: bold"></i>
manuscript
</el-button>
</a>
to get the new references part, please paste the new one into the input box.
</p>
<el-button
@click="StepBNext(2)"
plain
type="primary"
style="width: 85%; margin: 15px 0px 0px 30px; position: relative"
>
<i class="el-icon-right" style="font-size: 18px; position: absolute; right: 8px; top: 5px"></i>
Next Step
</el-button>
</div>
</div>
<!-- 2 -->
<div :class="showB_step == 2 ? 'C_style' : ''">
<h3><span>2</span>Check Standard</h3>
<div v-if="showB_step == 2">
<p>Convert to standard format.</p>
<p style="background-color: #fdf3e3; padding: 10px; margin: 10px 0 0 30px">
The references with yellow background are problematic, so you can check and correct them yourself.
</p>
<el-button
@click="StepBNext(1)"
type="primary"
plain
style="width: 85%; margin: 15px 0px 0px 30px; position: relative"
>
<i
class="el-icon-back"
style="font-size: 18px; margin: 0; position: absolute; left: 8px; top: 5px"
></i>
Back Step and Reset
</el-button>
</div>
</div>
</div>
<div class="chanFerAll">
<div v-if="showB_step == 1">
<el-input
v-model="refAarray"
type="textarea"
rows="20"
style="width: 100%"
:placeholder="placeRef"
></el-input>
<el-button type="primary" @click="StepBOper(2)" style="width: 250px; margin: 20px 0 0 0; float: right">
<i class="el-icon-document-checked"></i>
Complete and conversion
</el-button>
<br clear="both" />
</div>
<div v-for="(item, index) in this.chanFerForm" v-if="showB_step == 2" class="ref_list">
<div>
<span style="float: left; margin: 3px 10px 0 0; width: 80px; text-align: right; font-size: 14px"
>DOI :</span
>
<p style="float: left; font-size: 14px; color: #555">{{ item.refer_doi }}</p>
<br clear="both" />
</div>
<div v-if="item.cs == 1 && item.edit_mark != 0" style="margin-bottom: 0">
<span style="float: left; margin: 0 12px 0 0; width: 80px; text-align: right; font-size: 14px"
>Standard :</span
>
<p
v-if="item.author == ''"
style="float: left; width: 74.5%; font-size: 14px; color: #555; line-height: 20px"
>
{{ item.refer_frag }}
</p>
<p
v-if="item.author != ''"
style="float: left; width: 74.5%; font-size: 14px; color: #555; line-height: 20px"
>
{{ item.author }} {{ item.title }} {{ item.joura }}{{ item.dateno }}. Available at:
{{ item.doilink }}
</p>
<br clear="both" />
</div>
<div
v-if="item.cs == 0 || item.edit_mark == 0"
:class="item.cs == 0 ? 'BG_yell' : ''"
style="margin-bottom: 0"
>
<span style="float: left; margin: 0 12px 0 0; width: 80px; text-align: right; font-size: 14px"
>Standard :</span
>
<el-input
type="textarea"
v-model="item.refer_frag"
autosize
style="width: 60%; display: inline-block"
></el-input>
<div style="display: inline-block; width: 50px; vertical-align: top">
<el-button
@click="ChanFerEditFrag(item, index)"
type="primary"
icon="el-icon-check"
size="mini"
style="margin: 0 5px 0 15px"
>
</el-button>
<el-button
@click="ChanFerMashUp(item)"
type="warning"
size="mini"
style="margin: 10px 5px 0 15px"
v-if="index != 0"
>Up</el-button
>
</div>
</div>
<b>{{ index + 1 }}</b>
<i
class="el-icon-edit-outline"
@click="referMark(index)"
v-if="item.edit_mark == 1 && item.cs != 0 && item.author == ''"
></i>
<i
class="el-icon-top"
@click="ChanFerMashUp(item)"
v-if="index != 0 && item.edit_mark == 1 && item.cs != 0"
style="right: 40px; font-size: 10px"
>up</i
>
</div>
</div>
<br clear="both" />
<!-- <p v-if="this.chanFerForm==''" style="text-align: center;color: #999;margin-top: 50px;">No references</p> -->
<!-- 进度条 -->
<div v-if="refProcess == 1" class="RefProBar">
<div>
<el-progress
:text-inside="true"
:stroke-width="24"
:percentage="refReal"
:color="customColorMethod"
></el-progress>
<p>
<img src="../../assets/img/Ip_spinner.gif" />
<span>{{ this.refReal }}%</span> completed, please wait...
</p>
</div>
</div>
</div>
<editPublicRefRdit
ref="editPublicRefRdit"
:chanFerForm="chanFerForm"
:chanFerFormRepeatList="chanFerFormRepeatList"
:gridData="gridData"
:p_article_id="p_article_id"
@ChanFerMashUp="ChanFerMashUp"
@refrashComp="refrashComp"
@changeRefer="changeRefer"
></editPublicRefRdit>
<!-- 上线弹出框 -->
<el-dialog title="Tips" :visible.sync="onlineVisible" width="680px" :close-on-click-modal="false">
<p style="line-height: 24px">Are you sure you want to push this manuscript to the official website? You can preview first.</p>
<div style="text-align: right; margin-top: 30px">
<el-button @click="onlineVisible = false">Cancel</el-button>
<el-button type="warning" @click="gOpreviewList()" icon="el-icon-tickets">Preview list</el-button>
<el-button type="warning" @click="gOpreviewArt()" icon="el-icon-document">Preview article</el-button>
<el-button type="warning" @click="gOpreviewPDF()" icon="el-icon-notebook-2">Preview PDF</el-button>
<el-button type="primary" @click="gOline()" icon="el-icon-finished">Push Online</el-button>
</div>
</el-dialog>
<!-- 预览列表 -->
<el-dialog title="" :visible.sync="preLisVisible" width="850px" :close-on-click-modal="false">
<div class="aMesage">
<div class="aMes_typ">
{{ deMesYul.type }}
</div>
<div class="aMes_tit">
{{ deMesYul.title }}
</div>
<div class="aMes_autor">
<span v-for="(item, index) in authorData">
{{ item.author_name }}
<span v-if="index != authorData.length - 1" style="margin-right: 3px">,</span>
</span>
</div>
<div class="aMes_doi">
{{ deMesYul.journal_title }}
<span>https://doi.org/10.53388/{{ deMesYul.doi }}</span>
</div>
<div class="aMes_asbimg">
<img :src="mediaUrl + 'articleicon/' + deMesYul.icon" alt="" />
<div>
<p style="font-weight: bold; color: #006699; margin: 10px 0 5px 0" v-html="deMesYul.tradition_tag"></p>
<p v-html="deMesYul.tradition" style="color: #888; line-height: 20px">{{ deMesYul.tradition }}</p>
</div>
<br clear="both" />
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="preLisVisible = false">OK</el-button>
</span>
</el-dialog>
<!-- 预览文章-->
<el-dialog title="" :visible.sync="preArtVisible" width="800px" :close-on-click-modal="false">
<div class="aArticle">
<div class="aArt_doi">
{{ deMesYul.journal_title }}
<span style="margin: 0 40px">|</span>
<span>DOI: 10.53388/{{ deMesYul.doi }}</span>
</div>
<div class="aArt_tit">
{{ deMesYul.title }}
</div>
<div class="aArt_autor">
<p v-html="deAuthorYul.author"></p>
</div>
<div class="aArt_jigou">
<p v-for="(item, index) in deAuthorYul.addressList">
<sup style="margin-right: 5px">{{ index + 1 }}</sup
>{{ item }}
</p>
</div>
<div class="aArt_abst">
<div class="titTop">
<b :class="preactive == 1 ? 'Tab_col' : ''" @click="preactive = 1">Abstract</b>
<b :class="preactive == 2 ? 'Tab_col' : ''" @click="preactive = 2">Medical history of objective</b>
<b
:class="preactive == 3 ? 'Tab_col' : ''"
@click="preactive = 3"
v-if="deMesYul.htmlList != '' && deMesYul.htmlList != undefined"
>Html</b
>
</div>
<p v-if="preactive == 1" v-html="deMesYul.abstract"></p>
<p v-if="preactive == 2" v-html="deMesYul.mhoo"></p>
<div v-if="preactive == 3" v-for="(item, index) in deMesYul.htmlList" class="titHtml">
<p v-html="item.content" v-if="!item.p_main_img_id"></p>
<p v-if="item.p_main_img_id" 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>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="preArtVisible = false">OK</el-button>
</span>
</el-dialog>
<el-dialog title="" :visible.sync="communVisible" width="800px" :close-on-click-modal="false">
<!-- <p
style="word-break: normal;margin-bottom: 20px;font-size: 15px;font-weight: bold;letter-spacing: -0.5px;line-height: 22px;">
{{msgform.title}}
</p> -->
<div class="talkDialog">
<timetalk :talkMsgs="talkMsgs" :msgform="msgform" @talksave="talksave"></timetalk>
</div>
</el-dialog>
</div>
</template>
<script>
import editPublicRefRdit from './editPublicRefRdit'; // 公共引用编辑页面
import 'quill/dist/quill.core.css';
import 'quill/dist/quill.snow.css';
import 'quill/dist/quill.bubble.css';
import { quillEditor } from 'vue-quill-editor';
import { Loading } from 'element-ui';
import timetalk from './time_talk';
export default {
props:['type','article_id','p_article_id'],
data() {
return {
feeStatus: null,
isShowCommit: false,
talkMsgs: [],
communVisible: false,
msgform: {
username: localStorage.getItem('U_name'),
user_id: this.$route.query.uid,
ad_content: ''
},
baseUrl: this.Common.baseUrl,
mediaUrl: this.Common.mediaUrl,
// article_id: this.$route.query.id, // 文章id
// p_article_id: null,
//p_article_id: 426,
idform: {},
imageUrl: '',
contentStyleObj: {
height: '100px'
},
tabName: 'setOneRef',
tabClick: 'setOneRef',
tabsList: [
// {
// name: 'Essential Information',
// refName: 'setOneRef',
// rongCont: 'Improve and check the basic information of the manuscript.'
// },
// {
// name: 'Author Information',
// refName: 'setTwoRef',
// rongCont: 'Please fill in the author information.'
// },
// {
// name: 'Article File',
// refName: 'setThreeRef',
// rongCont: 'Please upload the article file.'
// },
{
name: 'Reference Conversion',
refName: 'setOneRef',
rongCont: 'Revise, check and complete the references of the manuscript.'
},
// {
// name: 'MainText',
// refName: 'setFiveRef',
// rongCont: 'Modify the article body.'
// },
{
name: 'Text Proofread',
refName: 'setTwoRef',
rongCont: 'HTML layout.'
}
// {
// name: 'Create Build',
// refName: 'setSevenRef',
// rongCont: 'Create different types of checked manuscripts and download them.'
// },
// {
// name: 'Proof',
// refName: 'setEightRef',
// rongCont: ''
// }
],
detailMes: {
title: '',
type: '',
journal_special_id: 'None'
},
opInstal: [],
// opMedical: [
// {
// label: 'None',
// value: ''
// },
// {
// label: 'ARTICLE',
// value: 'Article'
// },
// {
// label: 'REVIEW',
// value: 'Review'
// },
// {
// label: 'CASE REPORT',
// value: 'Case report'
// },
// {
// label: 'RESEARCH PROPOSAL',
// value: 'Research proposal'
// },
// {
// label: 'NEWS',
// value: 'News'
// },
// {
// label: 'COMMENT',
// value: 'Comment'
// },
// {
// label: 'CORRECTION',
// value: 'Correction'
// },
// {
// label: 'HYPOTHESIS',
// value: 'Hypothesis'
// },
// {
// label: 'PREFACE',
// value: 'Preface'
// },
// {
// label: 'EDITORIAL',
// value: 'Editorial'
// },
// {
// label: 'REPORT',
// value: 'Report'
// },
// {
// label: 'LETTER',
// value: 'Letter'
// },
// {
// label: 'EMPIRICAL FORMULA',
// value: 'Empirical formula'
// },
// {
// label: 'EVIDENCE-BASED MEDICINE',
// value: 'Evidence-based medicine'
// },
// {
// label: 'EXPERT CONSENSUS',
// value: 'Expert consensus'
// },
// {
// label: 'LETTER TO EDITOR',
// value: 'Letter to editor'
// },
// {
// label: 'QUESTIONNAIRE INVESTIGATION',
// value: 'Questionnaire investigation'
// },
// {
// label: 'PROTOCOL',
// value: 'Protocol'
// },
// {
// label: 'CASE SERIES',
// value: 'Case Series'
// },
// {
// label: 'RETRACTION',
// value: 'Retraction'
// },
// {
// label: 'MINI REVIEW',
// value: 'Mini Review'
// },
// {
// label: 'RETRACTION NOTE',
// value: 'Retraction Note'
// },
// {
// label: '内经难经',
// value: '内经难经'
// },
// {
// label: '伤寒金匮',
// value: '伤寒金匮'
// },
// {
// label: '神农本草经',
// value: '神农本草经'
// },
// {
// label: '温病研究',
// value: '温病研究'
// },
// {
// label: '唐宋方药',
// value: '唐宋方药'
// },
// {
// label: '金元各家',
// value: '金元各家'
// },
// {
// label: '明清经典',
// value: '明清经典'
// },
// {
// label: '中西汇通',
// value: '中西汇通'
// },
// {
// label: '太湖选粹',
// value: '太湖选粹'
// },
// {
// label: '针灸推拿',
// value: '针灸推拿'
// },
// {
// label: '名医名方',
// value: '名医名方'
// },
// {
// label: '新冠肺炎',
// value: '新冠肺炎'
// },
// {
// label: '书评',
// value: '书评'
// }
// ],
opMedical: [],
editAuthor: false,
addAuthor: false,
editSchool: false,
addSchool: false,
authorData: [],
schoolData: [],
addFomauthor: {
is_first: '0',
is_report: '0',
organs: []
},
editFomauthor: {},
addFomschool: {},
editFomschool: {},
chanFerForm: [],
chanFerFormRepeatList: [],
refProcess: 0,
refReal: 0,
refAarray: '',
placeRef:
'eg:\n[1]Kagabu M, Nagasawa T, Fukagawa D, et al. Immunotherapy for Uterine Cervical Cancer. Healthcare (Basel). 2019 Sep 17;7(3):108. PMID: 31533297; PMCID: PMC6787701.\nhttps://doi.org/10.3390/healthcare7030108\n\n[2]Small W Jr, Bacon MA, Bajaj A, et al. Cervical cancer: A global health crisis. Cancer. 2017 Jul 1;123(13):2404-2412. Epub 2017 May 2. PMID: 28464289.\nhttps://doi.org/10.1002/cncr.30667\n\n[3]Cohen PA, Jhingran A, Oaknin A, et al. Cervical cancer. Lancet. 2019 Jan 12;393(10167):169-182. PMID: 30638582.\nhttps://doi.org/10.1016/S0140-6736(18)32470-X',
gridData: '',
Main_List: [],
file_picF: [],
fileL_sub: [],
fileL_sub2: [],
fileL_Note: [],
fileL_Tex: [],
fileL_Icm: [],
content: '',
editorOption: {
placeholder: 'Please enter...'
},
opCountry: [],
jour_id_: '',
mechanism: [],
fol_low: [
{
value: 1,
label: 'Default Template'
}
],
DLfileList: [],
UpTypeFile: {
pdf: ''
},
UpTyFIle: '',
shuTter: {
board: 1
},
exegesis: "The following contents'<b></b>,<i></i>'are necessary for the generation phase, please do not delete them!!!",
onlineVisible: false,
preLisVisible: false,
preArtVisible: false,
prePdfVisible: false,
preactive: 1,
deAuthorYul: {},
deMesYul: {},
rules: {
title: [
{
required: true,
message: 'Please enter title',
trigger: 'blur'
}
],
npp: [
{
required: true,
message: 'Please enter page',
trigger: 'blur'
}
],
journal_stage_id: [
{
required: true,
message: 'Please select stage',
trigger: 'blur'
}
],
type: [
{
required: true,
message: 'Please select type',
trigger: 'blur'
}
],
icon: [
{
required: true,
message: 'Please select picture',
trigger: 'blur'
}
],
abbr: [
{
required: true,
message: 'Please enter abbr',
trigger: 'blur'
}
],
tradition_tag: [
{
required: true,
message: 'Please enter tradition tag',
trigger: 'blur'
}
],
tradition: [
{
required: true,
message: 'Please enter tradition',
trigger: 'blur'
}
],
pubDate: [
{
required: true,
message: 'Please select pubDate',
trigger: 'blur'
}
],
doi: [
{
required: true,
message: 'Please enter doi',
trigger: 'blur'
}
],
abstract: [
{
required: true,
message: 'Please enter abstract',
trigger: 'blur'
}
],
keywords: [
{
required: true,
message: 'Please enter keywords',
trigger: 'blur'
}
],
fund: [
{
required: true,
message: 'Please enter Fund',
trigger: 'blur'
}
],
acknowledgment: [
{
required: true,
message: 'Please enter acknowledgment',
trigger: 'blur'
}
],
abbreviation: [
{
required: true,
message: 'Please enter abbreviation',
trigger: 'blur'
}
],
author_contribution: [
{
required: true,
message: 'Please enter author contribution',
trigger: 'blur'
}
],
pub_date: [
{
required: true,
message: 'Please enter date',
trigger: 'blur'
}
],
first_name: [
{
required: true,
message: 'Please enter author name',
trigger: 'blur'
}
],
last_name: [
{
required: true,
message: 'Please enter author name',
trigger: 'blur'
}
],
email: [
{
required: true,
message: 'Please enter contact author email',
trigger: 'blur'
}
],
author_country: [
{
required: true,
message: 'Please select a country',
trigger: 'blur'
}
],
organ_name: [
{
required: true,
message: 'Please enter mechanism',
trigger: 'blur'
}
]
}
};
},
mounted() {
this.opMedical=this.$commonJS.opMedicalList()
this.msgform={...this.msgform, article_id: this.article_id,}
this.getDetail();
this.getHight();
window.addEventListener('resize', this.getHight);
// this.getData();
this.getArtcleDetails();
this.getTalkList();
// this.getAuthorJG();
// this.getCount();
// this.getWorldPdf();
},
activated() {
this.msgform={...this.msgform, article_id: this.article_id,}
this.getDetail();
this.getTalkList();
},
methods: {
talksave(val) {
this.msgform.ad_content = '';
this.getTalkList();
},
// 刷新引用组件
refrashComp() {
this.$refs.editPublicRefRdit.$forceUpdate();
console.log('editPublicRefRdit');
},
// 跳转邮件
linkEmail() {
this.$router.push({
path: 'articleDetailEmail',
query: {
id: this.article_id
}
});
},
// 显示即时聊天创口
chatcommunication() {
console.log(this.msgform);
this.communVisible = true;
},
// 获取留言列表
getTalkList() {
this.$api
.post('api/Article/getArticleDialogs', {
article_id: this.article_id
})
.then((res) => {
this.talkMsgs = res.data.dialogs;
})
.catch((err) => {
console.log(err);
});
},
// 获取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.p_article_id })
// .then((res) => {
// loading.close();
// this.p_article_id = res.data.production.p_article_id;
if (this.p_article_id != null) {
this.getData();
this.getAuthorJG();
this.getCount();
this.getWorldPdf();
}
// })
// .catch((err) => {
// this.$message.error(err);
// loading.close();
// });
},
getDetail() {
this.isShowCommit = false;
this.$api
.post('api/Preaccept/getPreacceptPayment', {
article_id: this.article_id
})
.then((res) => {
console.log('res at line 191:', res);
if (res.code == 0) {
this.feeStatus=res.data.state
this.isShowCommit=res.data.state==1?true:false
console.log(this.isShowCommit)
}
});
},
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;
const loading = this.$loading({
lock: true,
text: 'Loading...',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
// 获取文章信息
this.$api
.post('api/Production/getProductionDetail', this.idform)
.then((res) => {
if (res.code == 0) {
this.detailMes = res.data.production;
this.UpTyFIle = res.data.production.file_pdf;
if (res.data.production.icon != '') {
this.imageUrl = this.mediaUrl + 'articleicon/' + res.data.production.icon;
}
if (res.data.production.file_pdf != '') {
this.file_picF = [{}];
this.file_picF[0].name = 'articlePDF';
this.file_picF[0].url = this.mediaUrl + 'articlePDF/' + res.data.production.file_pdf;
}
if (res.data.production.file_sub != '') {
this.fileL_sub = [{}];
this.fileL_sub[0].name = 'articleSUB';
this.fileL_sub[0].url = this.mediaUrl + 'articleSUB/' + res.data.production.file_sub;
}
if (res.data.production.file_sub2 != '') {
this.fileL_sub2 = [{}];
this.fileL_sub2[0].name = 'articleSUB2';
this.fileL_sub2[0].url = this.mediaUrl + 'articleSUB2/' + res.data.production.file_sub2;
}
if (res.data.production.endnote != '') {
this.fileL_Note = [{}];
this.fileL_Note[0].name = 'endNote';
this.fileL_Note[0].url = this.mediaUrl + 'endNote/' + res.data.production.endnote;
}
if (res.data.production.bibtex != '') {
this.fileL_Tex = [{}];
this.fileL_Tex[0].name = 'bibTex';
this.fileL_Tex[0].url = this.mediaUrl + 'bibTex/' + res.data.production.bibtex;
}
if (res.data.production.file_cdf != '') {
this.fileL_Icm = [{}];
this.fileL_Icm[0].name = 'articleCDF';
this.fileL_Icm[0].url = this.mediaUrl + 'articleCDF/' + res.data.production.file_cdf;
}
// if (this.detailMes.main != '') {
// this.detailMes.main = JSON.parse(this.detailMes.main)
// if (typeof(this.detailMes.main) != 'object') {
// this.detailMes.main = eval("(" + this.detailMes.main + ")")
// }
// }
// this.Main_List = []
// for (let i = 0; i < this.detailMes.main.length; i++) {
// this.Main_List.push({
// name: this.detailMes.main[i],
// value: i,
// })
// }
this.CSonline();
// 获取分期信息
this.$api
.post('api/Typeset/getStagesOnline', {
journal_id: this.detailMes.journal_id
})
.then((res) => {
if (res.code == 0) {
this.opInstal = res.data.stages;
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
// 下载稿件列表
this.$api
.post('api/Article/getFilesForArticle', {
article_id: this.detailMes.article_id,
type: 'm'
})
.then((res) => {
this.gridData = res.data.files[res.data.files.length - 1].file_url;
})
.catch((err) => {
console.log(err);
});
loading.close();
} else {
this.$message.error(res.msg);
loading.close();
}
})
.catch((err) => {
this.$message.error(err);
loading.close();
});
// 获取参考文献
this.$api
.post('api/Production/getReferList', {
p_article_id: this.p_article_id
})
.then((res) => {
this.chanFerForm = res.data.refers;
this.chanFerFormRepeatList = Object.values(res.data.repeat);
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);
});
})
.catch((err) => {
console.log(err);
});
// 预览
this.$api
.post('api/Production/getProductionPreview', {
p_article_id: this.p_article_id
})
.then((res) => {
if (res.code == 0) {
this.deAuthorYul = res.data.author;
this.deMesYul = res.data.production;
// this.deMesYul.journal_title = res.data.journal.title
this.deMesYul.journal_title = 3333;
let reg = new RegExp('<q>', 'g');
let reb = new RegExp('</q>', 'g');
this.deAuthorYul.author = this.deAuthorYul.author.replace(reg, '<sup>');
this.deAuthorYul.author = this.deAuthorYul.author.replace(reb, '</sup>,<span style="margin-left:8px"></span>');
let lastIndex = this.deAuthorYul.author.lastIndexOf(',');
this.deAuthorYul.author =
this.deAuthorYul.author.substring(0, lastIndex) +
this.deAuthorYul.author.substring(lastIndex + 1, this.deAuthorYul.author.length);
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
},
getWorldPdf() {
// 可以下载的word列表
this.$api
.post('api/Production/getArticleFrags', {
p_article_id: this.p_article_id
})
.then((res) => {
if (res.code == 0) {
this.DLfileList = res.data.frags;
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
},
getCount() {
// 获取国家列表
this.$api
.post('api/Admin/getCountrys')
.then((res) => {
this.opCountry = res;
})
.catch((err) => {
this.$message.error(err);
});
},
getAuthorJG() {
// 获取作者列表
this.$api
.post('api/Production/getAuthorlist', this.idform)
.then((res) => {
if (res.code == 0) {
this.authorData = res.data.authors;
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
// 获取机构列表
this.$api
.post('api/Production/getOrganList', this.idform)
.then((res) => {
if (res.code == 0) {
this.schoolData = res.data.organs;
this.mechanism = res.data.organs;
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
},
// 1----时间初始化
CSonline() {
if (this.detailMes.pub_date != '') {
this.detailMes.pubDate = '';
let date = this.detailMes.pub_date;
let dataM = date.split(' ')[1];
let Y = date.substring(date.lastIndexOf('\ ') + 1, date.length);
let M = 0;
let D = date.split(' ')[0];
if (dataM == 'January') {
M = 1;
} else if (dataM == 'February') {
M = 2;
} else if (dataM == 'March') {
M = 3;
} else if (dataM == 'April') {
M = 4;
} else if (dataM == 'May') {
M = 5;
} else if (dataM == 'June') {
M = 6;
} else if (dataM == 'July') {
M = 7;
} else if (dataM == 'August') {
M = 8;
} else if (dataM == 'September') {
M = 9;
} else if (dataM == 'October') {
M = 10;
} else if (dataM == 'November') {
M = 11;
} else if (dataM == 'December') {
M = 12;
}
this.detailMes.pubDate = Y + '-' + M + '-' + D;
}
},
// 1----转化日期格式
dateBlur(e) {
//1
this.$forceUpdate();
//2、或者自己修改数据监听的最新数据
this.itemKey = Math.random();
let date = new Date(e);
let Y = date.getFullYear();
let M = date.getMonth() + 1;
let D = date.getDate();
if (M == 1) {
M = 'January';
} else if (M == 2) {
M = 'February';
} else if (M == 3) {
M = 'March';
} else if (M == 4) {
M = 'April';
} else if (M == 5) {
M = 'May';
} else if (M == 6) {
M = 'June';
} else if (M == 7) {
M = 'July';
} else if (M == 8) {
M = 'August';
} else if (M == 9) {
M = 'September';
} else if (M == 10) {
M = 'October';
} else if (M == 11) {
M = 'November';
} else if (M == 12) {
M = 'December';
}
this.detailMes.pub_date = D + ' ' + M + ' ' + Y;
},
// 1----分期组合格式
neYStage(e) {
return e.stage_year + ' Vol.' + e.stage_vol + ' issue.' + e.stage_no + e.stage_pagename + e.stage_page;
},
// 1----保存稿件信息
ZsSaveMes() {
if (this.detailMes.journal_stage_id == 0) {
this.$message.error('Please select an installment!');
return;
}
this.$refs.Mes_Form.validate((valid) => {
if (valid) {
this.$api
.post('api/Production/editProduction', this.detailMes)
.then((res) => {
if (res.code == 0) {
this.$message.success(`Successfully save the article!`);
this.getData();
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
} else {
this.$message.error('Please complete Essential Information first!');
this.jumpTab(0, this.tabsList[0]);
return false;
}
});
},
// 2----添加作者操作
add_Authorclick(index, row) {
this.aid = index;
this.addAuthor = true;
},
authorAdd(addFomauthor) {
this.$refs.add_Author.validate((valid) => {
if (valid) {
this.$api
.post('api/Production/addAuthor', this.addFomauthor)
.then((res) => {
if (res.code == 0) {
this.addAuthor = false;
this.$refs.add_Author.resetFields();
this.addFomauthor.organs = [];
this.getAuthorJG();
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
} else {
this.$message.error('error submit!!');
return false;
}
});
},
handleCheckedCitiesChange(value) {},
// 2----编辑作者操作
authorhandEdit(index, row) {
this.idx = index;
this.editFomauthor = Object.assign({}, row);
this.editAuthor = true;
let xzjg_list = [];
for (var i = 0; i < this.editFomauthor.organs.length; i++) {
xzjg_list.push(this.editFomauthor.organs[i].p_article_organ_id + '');
}
this.editFomauthor.organs = xzjg_list;
},
authorEdit(editFomauthor) {
this.$refs.edit_Author.validate((valid) => {
if (valid) {
this.$api
.post('api/Production/editAuthor', this.editFomauthor)
.then((res) => {
if (res.code == 0) {
this.editAuthor = false;
this.$message.success(`Successfully changed the author of line ${this.idx + 1} !`);
this.getAuthorJG();
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
} else {
this.$message.error('error submit!!');
return false;
}
});
},
// 2----删除作者
authorDelete(index, row) {
// 二次确认删除
this.$confirm('Whether to delete the authors joint and several institutional relationships', 'Tips', {
type: 'warning'
})
.then(() => {
this.$api
.post('api/Production/delAuthor', row)
.then((res) => {
if (res.code == 0) {
this.$message.success('Deletion succeeded!');
this.getAuthorJG();
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
})
.catch(() => {});
},
// 2----添加机构操作
add_Schoolclick(index, row) {
this.aid = index;
this.addSchool = true;
},
schoolAdd(addFomschool) {
this.$refs.add_School.validate((valid) => {
if (valid) {
this.$api
.post('api/Production/addAuthorOrgan', this.addFomschool)
.then((res) => {
if (res.code == 0) {
this.addSchool = false;
this.$refs.add_School.resetFields();
this.getAuthorJG();
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
} else {
this.$message.error('error submit!!');
return false;
}
});
},
// 2----编辑机构操作
schoolhandEdit(index, row) {
this.idx = index;
this.editFomschool = Object.assign({}, row);
this.editSchool = true;
},
schoolEdit(editFomschool) {
this.$refs.edit_School.validate((valid) => {
if (valid) {
this.$api
.post('api/Production/editAuthorOrgan', this.editFomschool)
.then((res) => {
if (res.code == 0) {
this.editSchool = false;
this.$message.success(`Successfully changed the mechanism of row ${this.idx + 1} !`);
this.getAuthorJG();
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
} else {
this.$message.error('error submit!!');
return false;
}
});
},
// 2----删除机构
schoolDelete(index, row) {
// 二次确认删除
this.$confirm('Do you want to delete the author relationship between the organization and its associated authors', 'Tips', {
type: 'warning'
})
.then(() => {
this.$api
.post('api/Production/delAuthorOrgan', row)
.then((res) => {
if (res.code == 0) {
this.$message.success('Deletion succeeded!');
this.getAuthorJG();
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
})
.catch(() => {});
},
// 4----删除MainText
MTxtDelet(c, v) {
this.Main_List.splice(v, 1);
},
// 4----保存MainText
mtxt_save() {
let ts_main = [];
for (let i in this.Main_List) {
ts_main.push(this.Main_List[i].name);
}
ts_main = JSON.stringify(ts_main);
this.$api
.post('api/Production/editMainContent', {
p_article_id: this.p_article_id,
main: ts_main
})
.then((res) => {
if (res.code == 0) {
this.$message.success('Successfully modified the article body!');
this.getData();
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
},
//5----参考文献左侧步骤条
StepBNext(e) {
this.showB_step = e;
},
//5----按钮每一步操作
StepBOper(e) {
if (e == 1) {
// 弹出新的页面粘贴DOI
window.open(
'https://apps.crossref.org/SimpleTextQuery',
'_blank',
'width=900,height=600,toolbar=no,scrollbars=no,menubar=no,screenX=240,screenY=100'
);
} else if (e == 2) {
// 发送转化为标准格式
let refAarray_list = [];
if (this.refAarray != '') {
refAarray_list = this.refAarray.split(/[\r\n\r\n]/);
for (var i = 0; i < refAarray_list.length; i++) {
if (refAarray_list[i] == ' ' || refAarray_list[i] == '') {
refAarray_list.splice(i, 1);
i = i - 1;
}
if (refAarray_list[i].indexOf('https://') == 0) {
refAarray_list[i - 1] = refAarray_list[i - 1] + refAarray_list[i];
refAarray_list.splice(i, 1);
i = i - 1;
}
}
// 参考文献接口
this.$api
.post('api/Production/freshRefers', {
refers: refAarray_list,
p_article_id: this.p_article_id
})
.then((res) => {
if (res.code == 0) {
// 获取进度百分比
this.refProcess = 1;
this.refReal = 0;
let timeRef = setInterval(() => {
this.$api
.post('api/Production/getFragBF', {
p_article_id: this.p_article_id
})
.then((res) => {
if (res.code == 0) {
if (res.data.bf < 100) {
this.refReal = res.data.bf;
} else {
clearInterval(timeRef);
this.refProcess = 0;
this.$message.success('Successfully converted to standard format!');
this.changeRefer();
this.showB_step = 2;
}
} else {
this.refProcess = 0;
this.$message.error(res.msg);
}
})
.catch((err) => {
this.refProcess = 0;
console.log(err);
});
}, 3000);
}
})
.catch((err) => {
console.log(err);
});
} else {
this.$message.error('Please fill in the content!');
}
}
},
// 5----数组排序
DownNumber(a, b) {
return a > b ? 1 : -1;
},
// 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;
this.chanFerFormRepeatList = Object.values(res.data.repeat);
for (var i = 0; i < this.chanFerForm.length; i++) {
this.chanFerForm[i].edit_mark = 1;
}
console.log(this.chanFerForm);
})
.catch((err) => {
console.log(err);
});
},
// 5----点击修改参考文献
referMark(e) {
this.chanFerForm[e].edit_mark = 0;
this.$forceUpdate();
},
// 5----参考文献修改最终结果
ChanFerEditFrag(e, v) {
e.article_id = this.acticleId;
this.$api
.post('api/Production/editReferFrag', e)
.then((res) => {
if (res.code == 0) {
this.$message.success('Successfully modified the standard format!');
this.changeRefer(e);
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
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);
});
},
// 5----进度条颜色
customColorMethod(percentage) {
if (percentage < 20) {
return '#f95f30';
} else if (percentage < 40) {
return '#f6ac3d';
} else if (percentage < 60) {
return '#e6a23c';
} else if (percentage < 80) {
return '#afbd0d';
} else {
return '#79bd0d';
}
},
// 6----模板选择
select_tem() {},
// 6----创建文章
EstaBlish() {
this.$api
.post('api/Production/checkRefer', {
p_article_id: this.p_article_id
})
.then((res) => {
if (res.code == 0) {
const loading = this.$loading({
lock: true,
text: 'Loading...',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
this.$api
.post('api/Production/doTypeSettingNew', {
article_id: this.detailMes.article_id
})
.then((res) => {
if (res.code == 0) {
this.getWorldPdf();
this.$message.success('Successfully generated manuscript!');
loading.close();
} else {
this.$message.error(res.msg);
loading.close();
}
})
.catch((err) => {
this.$message.error(err);
loading.close();
});
} else {
this.$message.error(res.msg);
return;
}
})
.catch((err) => {
this.$message.error(err);
});
},
// 6----修改时间为年月日
modifDate(e) {
let date = new Date(parseInt(e));
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();
let H = date.getHours() < 10 ? '0' + date.getHours() + ':' : date.getHours() + ':';
let U = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
return Y + M + D + ' ' + H + U;
},
// 6----保存稿件信息
ZsSaveAbs() {
this.$refs.Abs_Form.validate((valid) => {
if (valid) {
this.$api
.post('api/Production/editArticleLast', {
p_article_id: this.detailMes.p_article_id,
abstract: this.detailMes.abstract,
doi: this.detailMes.doi,
pub_date: this.detailMes.pub_date
})
.then((res) => {
if (res.code == 0) {
this.$message.success(`Successfully save the article!`);
this.getData();
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
} else {
this.$message.error('error submit!!');
return false;
}
});
},
// 6----文件上传
beforeupload_UpTy(file) {},
uperr_UpTy(err) {
this.$message.error('upload error');
},
upSuccess_UpTy(res, file) {
if (res.code == 0) {
this.UpTypeFile.pdf = 'pdf/' + res.upurl;
this.$api
.post('api/Production/updateArticlePdf', this.UpTypeFile)
.then((res) => {
if (res.code == 0) {
this.$message.success('Upload PDF succeeded!');
this.$refs.uploadUpty.clearFiles();
this.UpTypeFile.pdf = '';
this.getData();
}
})
.catch((err) => {
this.$message.error(err);
});
} else {
this.$message.error('service error' + res.msg);
}
},
removefileUpTy(file, fileList) {
this.UpTypeFile.pdf = '';
},
alertlimit() {
this.$message.error('The maximum number of uploaded files has been exceeded');
},
// 7-----等待作者确定
TjQdingFirm() {
if (this.UpTyFIle == '') {
this.$message.error('Please upload PDF first!');
return;
}
this.$refs.Mes_Form.validate((valid) => {
if (valid) {
this.$confirm('Are you sure to submit to the author for confirmation?', 'Tips', {
confirmButtonText: 'OK',
cancelButtonText: 'Cancel',
type: 'warning'
})
.then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading...',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
this.$api
.post('api/Production/pushProof', {
p_article_id: this.detailMes.p_article_id
})
.then((res) => {
if (res.code == 0) {
this.$message.success('Proof succeeded!');
loading.close();
localStorage.setItem('U_point', 3);
localStorage.setItem('U_pointJour', this.detailMes.journal_id);
this.$router.push('/articleListEditor');
} else {
this.$message.error(res.msg);
loading.close();
}
})
.catch((err) => {
this.$message.error(err);
loading.close();
});
})
.catch(() => {});
} else {
this.$message.error('Please complete Essential Information first!');
this.jumpTab(0, this.tabsList[0]);
return false;
}
});
},
// 1----上传图片
handleAvatarSuccess(res, file) {
if (res.code == 0) {
this.detailMes.icon = res.upurl;
} else {
this.$message.error(res.msg);
}
this.imageUrl = URL.createObjectURL(file.raw);
},
handleAvatarError(res, file) {},
beforeAvatarUpload(file) {
const isLt2M = file.size / 1024 / 1024 < 1;
if (!isLt2M) {
this.$message.error('Picture size cannot exceed 1M!');
}
return isLt2M;
},
// 3----上传文件
handleChangeF(file, fileList) {
if (fileList.length > 0) {
this.file_picF = [fileList[fileList.length - 1]];
}
},
handleChange3(file, fileList) {
if (fileList.length > 0) {
this.fileL_sub = [fileList[fileList.length - 1]];
}
},
handleChange4(file, fileList) {
if (fileList.length > 0) {
this.fileL_sub2 = [fileList[fileList.length - 1]];
}
},
handleChange5(file, fileList) {
if (fileList.length > 0) {
this.fileL_Note = [fileList[fileList.length - 1]];
}
},
handleChange6(file, fileList) {
if (fileList.length > 0) {
this.fileL_Tex = [fileList[fileList.length - 1]];
}
},
handleChange7(file, fileList) {
if (fileList.length > 0) {
this.fileL_Icm = [fileList[fileList.length - 1]];
}
},
// 3----上传文件
handleFileSuccess3(res, file) {
if (res.code == 0) {
this.$api
.post('api/Production/editArticleFile', {
p_article_id: this.p_article_id,
filetype: 'SUB',
fileURL: res.upurl
})
.then((res) => {
if (res.code == 0) {
this.$message.success('SUB File upload succeeded!');
this.getData();
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
} else {
this.$message.error(res.msg);
}
},
handleFileSuccess4(res, file) {
if (res.code == 0) {
this.$api
.post('api/Production/editArticleFile', {
p_article_id: this.p_article_id,
filetype: 'SUB2',
fileURL: res.upurl
})
.then((res) => {
if (res.code == 0) {
this.$message.success('SUB2 File upload succeeded!');
this.getData();
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
} else {
this.$message.error(res.msg);
}
},
handleFileSuccess5(res, file) {
if (res.code == 0) {
this.$api
.post('api/Production/editArticleFile', {
p_article_id: this.p_article_id,
filetype: 'endNote',
fileURL: res.upurl
})
.then((res) => {
if (res.code == 0) {
this.$message.success('EndNote File upload succeeded!');
this.getData();
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
} else {
this.$message.error(res.msg);
}
},
handleFileSuccess6(res, file) {
if (res.code == 0) {
this.$api
.post('api/Production/editArticleFile', {
p_article_id: this.p_article_id,
filetype: 'bibTex',
fileURL: res.upurl
})
.then((res) => {
if (res.code == 0) {
this.$message.success('BibTeX File upload succeeded!');
this.getData();
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
} else {
this.$message.error(res.msg);
}
},
handleFileSuccess7(res, file) {
if (res.code == 0) {
this.$api
.post('api/Production/editArticleFile', {
p_article_id: this.p_article_id,
filetype: 'CDF',
fileURL: res.upurl
})
.then((res) => {
if (res.code == 0) {
this.$message.success('ICMJE DISCLOSURE FORM File upload succeeded!');
this.getData();
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
} else {
this.$message.error(res.msg);
}
},
handleFileError(res, file) {},
handleRemove(file, fileList) {},
handlePreview(file) {
window.open(file.url);
},
handleExceed(files, fileList) {
this.$message.warning('The current limit is 1 file. Please delete the current file first!');
},
// 3----删除文件
beforeRemove3(file, fileList) {
return this.$confirm(`Are you sure to remove ${file.name}?`).then(() => {
this.$api
.post('master/Article/editArticleFile', {
p_article_id: this.p_article_id,
filetype: 'SUB',
fileURL: ''
})
.then((res) => {
if (res.code == 0) {
this.$message.success('SUB File deleted successfully!');
this.getData();
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
});
},
beforeRemove4(file, fileList) {
return this.$confirm(`Are you sure to remove ${file.name}?`).then(() => {
this.$api
.post('master/Article/editArticleFile', {
p_article_id: this.p_article_id,
filetype: 'SUB2',
fileURL: ''
})
.then((res) => {
if (res.code == 0) {
this.$message.success('SUB2 File deleted successfully!');
this.getData();
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
});
},
beforeRemove5(file, fileList) {
return this.$confirm(`Are you sure to remove ${file.name}?`).then(() => {
this.$api
.post('master/Article/editArticleFile', {
p_article_id: this.p_article_id,
filetype: 'endNote',
fileURL: ''
})
.then((res) => {
if (res.code == 0) {
this.$message.success('EndNote File deleted successfully!');
this.getData();
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
});
},
beforeRemove6(file, fileList) {
return this.$confirm(`Are you sure to remove ${file.name}?`).then(() => {
this.$api
.post('master/Article/editArticleFile', {
p_article_id: this.p_article_id,
filetype: 'bibTex',
fileURL: ''
})
.then((res) => {
if (res.code == 0) {
this.$message.success('BibTeX File deleted successfully!');
this.getData();
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
});
},
beforeRemove7(file, fileList) {
return this.$confirm(`Are you sure to remove${file.name}?`).then(() => {
this.$api
.post('master/Article/editArticleFile', {
p_article_id: this.p_article_id,
filetype: 'CDF',
fileURL: ''
})
.then((res) => {
if (res.code == 0) {
this.$message.success('ICMJE DISCLOSURE FORM File deleted successfully!');
this.getData();
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
});
},
// 富文本编辑器
onEditorChange({ editor, html, text }) {
this.content = html;
},
// 提交到 accept
pushToAccept(detailMes) {
if (!this.isShowCommit) {
this.$message.error('The manuscript has not been paid, please contact the author promptly for payment');
return false;
}
this.$confirm(`Are you sure you want to adjust this article status to 'accept'?`, 'Prompt', {
confirmButtonText: 'Yes',
cancelButtonText: 'Cancle',
type: 'warning'
})
.then(() => {
this.$api
.post('api/Article/articleAccept', {
article_id: this.article_id
})
.then((res) => {
if (res.code == 0) {
// console.log(res, 'res')
this.$message.success('successed!');
setTimeout(() => {
this.$router.push({
path: 'articleListEditor',
params: { state: 6 }
});
}, 1000);
}
})
.catch((err) => {
console.log(err);
});
})
.catch(() => {});
},
// 点击开始上线显示
pushOnline(detailMes) {
if (this.authorData.length == 0) {
this.$message.error('Please complete the author information!');
return;
}
this.$refs.Mes_Form.validate((valid) => {
if (valid) {
this.onlineVisible = true;
} else {
this.$message.error('Please complete Essential Information first!');
this.jumpTab(0, this.tabsList[0]);
return false;
}
});
},
// 预览列表
gOpreviewList() {
this.preLisVisible = true;
},
// 预览文章
gOpreviewArt() {
// 获取文章信息
this.$api
.post('api/Production/getProductionMains', {
p_article_id: this.p_article_id
})
.then((res) => {
if (res.code == 0) {
this.deMesYul.htmlList = res.data.mains;
this.preArtVisible = true;
} else {
this.$message.error(res.msg);
}
})
.catch((err) => {
this.$message.error(err);
});
},
// 预览pdf
gOpreviewPDF() {
if (this.UpTyFIle == '') {
this.$message.error('Please upload PDF first!');
return;
} else {
let urlBlan = this.baseUrl + 'public/' + this.UpTyFIle;
window.open(urlBlan, '_blank');
}
},
// 上线
gOline() {
if (this.UpTyFIle == '') {
this.$message.error('Please upload PDF first!');
return;
}
// 二次确认
this.$confirm('Are you sure you want to push this manuscript to the official website?', 'Tips', {
confirmButtonText: 'OK',
cancelButtonText: 'Cancel',
type: 'warning'
})
.then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading...',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
this.$api
.post('api/Production/pushArticleToSystem', {
p_article_id: this.detailMes.p_article_id
})
.then((res) => {
if (res.code == 0) {
this.$message.success('Creat Online succeeded!');
loading.close();
localStorage.setItem('U_point', 3);
localStorage.setItem('U_pointJour', this.detailMes.journal_id);
this.$router.push('/articleListEditor');
} else {
this.$message.error(res.msg);
loading.close();
}
})
.catch((err) => {
this.$message.error(err);
loading.close();
});
})
.catch(() => {});
},
// tab click锚点滚动
jumpTab(tab, event) {
this.tabClick = event.refName;
let target = document.querySelector('.scroll-content');
// console.log(target)
let scrollItems = document.querySelectorAll('.scroll-item');
// 判断滚动条是否滚动到底部
if (target.scrollHeight <= target.scrollTop + target.clientHeight) {
this.tabIndex = tab;
}
let totalY = scrollItems[tab].offsetTop - scrollItems[0].offsetTop; // 锚点元素距离其offsetParent(这里是body)顶部的距离(待滚动的距离)
let distance = document.querySelector('.scroll-content').scrollTop; // 滚动条距离滚动区域顶部的距离
// let distance = document.body.scrollTop || document.documentElement.scrollTop || window.pageYOffset // 滚动条距离滚动区域顶部的距离(滚动区域为窗口)
// 滚动动画实现, 使用setTimeout的递归实现平滑滚动将距离细分为50小段10ms滚动一次
// 计算每一小段的距离
let step = totalY / 50;
if (totalY > distance) {
smoothDown(document.querySelector('.scroll-content'));
} else {
let newTotal = distance - totalY;
step = newTotal / 50;
smoothUp(document.querySelector('.scroll-content'));
}
// 参数element为滚动区域
function smoothDown(element) {
if (distance < totalY) {
distance += step;
element.scrollTop = distance;
setTimeout(smoothDown.bind(this, element), 10);
} else {
element.scrollTop = totalY;
}
}
// 参数element为滚动区域
function smoothUp(element) {
if (distance > totalY) {
distance -= step;
element.scrollTop = distance;
setTimeout(smoothUp.bind(this, element), 10);
} else {
element.scrollTop = totalY;
}
}
},
// 滚动条滚动
onScroll(e) {
let scrollItems = document.querySelectorAll('.scroll-item');
for (let i = scrollItems.length - 1; i >= 0; i--) {
// 判断滚动条滚动距离是否大于当前滚动项可滚动距离
let judge = e.target.scrollTop >= scrollItems[i].offsetTop - scrollItems[0].offsetTop;
if (judge) {
this.tabIndex = i.toString();
// 找对应的tab-name值
this.tabName = this.tabsList[this.tabIndex].refName;
// this.tabClick = this.tabsList[this.tabIndex].refName
break;
}
}
},
getHight() {
this.contentStyleObj.height = window.innerHeight - 120 + 'px';
// this.jumpTab(0,this.tabsList[0])
}
},
components: {
quillEditor,
timetalk,
editPublicRefRdit
}
};
</script>
<style scoped>
.tab_post {
width: 260px !important;
}
.scroll-item {
margin: 0 30px 50px 276px;
}
</style>
<style>
.talkDialog {
height: 500px;
overflow-y: scroll;
}
.contactAuthor {
margin-top: 50px;
color: #8c939d;
}
.contactAuthor > p {
font-size: 12px;
margin-left: 0 !important;
}
.contactAuthor > p > .btnCliArt {
color: #409eff;
}
.contactAuthor > h4 {
margin-bottom: 10px;
}
.handle-box {
margin-bottom: 20px;
}
.title_header {
margin-bottom: 20px;
}
.tab_post {
background-color: #fafafa;
position: absolute;
left: 25px;
top: 60px;
/* width: 220px; */
z-index: 50;
}
.tab_post > div {
margin-bottom: 30px;
cursor: pointer;
position: relative;
}
.tab_post > div h5 {
padding: 10px 10px 0 0;
margin-bottom: 5px;
border-radius: 10px;
font-size: 16px;
color: #333;
font-weight: bold;
letter-spacing: -0.6px;
}
.tab_post > div h5 span {
border: 2px solid #333;
padding: 0 7px;
margin: 0 5px 0 0;
border-radius: 15px;
font-size: 12px;
display: inline-block;
}
.tab_post > div p {
margin: 0 20px 0 33px;
color: #999;
font-size: 14px;
line-height: 18px;
}
.tab_post > div .line {
top: 50px;
left: 11px;
bottom: -25px;
position: absolute;
border: 1px dashed #999;
}
.tab_post > div:nth-child(7) .line {
border: none;
}
.tab_post > div.P_style h5 {
color: #006699;
}
.tab_post > div.P_style h5 span {
background-color: #006699;
border: 2px solid #006699;
color: #fff;
}
.tab_post > div.P_style p {
color: #333;
}
.tab_post > div.P_style .line {
/* border-color: #006699; */
}
.scroll-item {
margin: 0 30px 50px 255px;
}
.bor_style_onli {
height: 700px;
overflow-y: scroll;
border: 2px solid #0066991a;
background-color: #fff;
border-radius: 5px;
padding: 20px;
}
.bor_style_onli > h4 {
margin: 0 0 20px 0;
letter-spacing: -0.5px;
}
.captcha-img.el-switch.is-disabled {
opacity: 1;
}
.captcha-img.el-switch.is-disabled .el-switch__core {
cursor: pointer;
}
.message-title {
cursor: pointer;
}
.guanSty {
min-width: 1000px;
}
.guanSty .quill-editor {
margin-bottom: 20px;
/* height: 200px; */
}
.guanSty .ql-toolbar {
border: 1px solid #dcdfe6 !important;
}
.guanSty .ql-container {
min-height: 100px !important;
border: 1px solid #dcdfe6 !important;
}
.guanSty .ql-editor {
height: 100px;
}
.guanSty .upload-demo .el-upload {
width: 55px;
float: left;
margin-left: 5px;
border: none;
text-align: left;
height: 35px;
}
.guanSty .el-upload-list {
margin-top: 4px;
margin-left: 20px;
float: left;
width: 35px;
}
.guanSty .el-upload-list .el-upload-list__item {
width: 30px !important;
}
.guanSty .el-upload-list .el-upload-list__item:hover {
cursor: pointer;
}
.guanSty .el-upload-list .el-upload-list__item .el-upload-list__item-name {
width: 30px;
}
.guanSty .el-upload-list .el-upload-list__item .el-upload-list__item-status-label {
display: none;
}
.guanSty .el-upload-list__item:hover .el-icon-close {
display: none;
}
.guanSty .avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
width: 140px;
height: 140px;
}
.guanSty .avatar-uploader .el-upload:hover {
border-color: #409eff;
}
.guanSty .avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 140px;
height: 140px;
line-height: 140px;
text-align: center;
}
.guanSty .avatar {
width: 140px;
height: 140px;
display: block;
}
.guanSty .upload-demo .el-upload-list__item:first-child {
margin-top: 0;
width: 300px;
}
.suoshu_jigou .el-checkbox__label {
white-space: normal;
}
.suoshu_jigou .el-checkbox__input {
vertical-align: top;
margin-top: 8px;
}
.liter_ture {
position: relative;
margin-top: 30px;
}
.chanSelLef {
float: left;
width: 30%;
margin: 0 50px 0 0;
}
.chanSelLef > p {
font-size: 14px;
color: #333;
margin: 10px 0 30px 0;
line-height: 22px;
}
.chanSelLef > div {
margin: 0 0 20px 0;
}
.chanSelLef > div > h3 {
font-size: 14px;
letter-spacing: -0.5px;
color: #999;
}
.chanSelLef > div > h3:hover {
/* text-decoration: underline; */
}
.chanSelLef > div > h3 > span {
color: #fff;
background-color: #999;
padding: 2px 6px;
margin: 0 10px 0 0;
}
.chanSelLef > div > div > p {
font-size: 14px;
color: #333;
margin: 10px 0 0 32px;
line-height: 24px;
}
.chanSelLef > div.C_style > h3 {
color: #006699;
}
.chanSelLef > div.C_style > h3 > span {
background-color: #006699;
}
.chanFerAll {
float: left;
position: relative;
width: 61.5% !important;
}
.chanFerAll .chanFerBtn {
cursor: pointer;
}
.chanFerAll .ref_list:nth-child(2n) {
}
.chanFerAll .ref_list:nth-child(2n + 1) {
background-color: #ecf5ff;
}
.ref_list {
padding: 20px;
position: relative;
}
.ref_list > b {
position: absolute;
top: 5px;
left: 10px;
font-size: 12px;
}
.ref_list > i {
position: absolute;
top: 10px;
right: 10px;
font-size: 16px;
color: #006699;
cursor: pointer;
}
.ref_list > div:nth-child(1) {
margin: 0 0 15px 0;
}
.ref_list > div:nth-child(1) input {
}
.ref_list > div:nth-child(1) button {
float: right;
}
.ref_list > div:nth-child(2) {
margin: 0 0 15px 0;
}
.ref_list > div.BG_yell {
background-color: #fdf3e3;
padding: 15px 0;
}
.RefProBar {
position: absolute;
background: rgba(0, 0, 0, 0.7);
top: 0;
bottom: 0;
left: 0;
right: 0;
}
.RefProBar > div {
width: 76%;
position: absolute;
top: 40%;
left: 12%;
}
.RefProBar > div > p {
color: #fff;
margin: 20px 0 0 0;
}
.RefProBar > div > p > img {
width: 30px;
vertical-align: middle;
margin: 0 10px 0 5px;
}
.RefProBar > div > p > span {
font-size: 18px;
}
.upload-demo_6 {
overflow: auto;
}
.upload-demo_6 .el-upload {
margin-left: 0 !important;
width: 150px !important;
height: auto !important;
text-align: center !important;
}
.upload-demo_6 .el-upload__tip {
margin-left: 15px;
float: left;
}
.typeA_MTxt > div > div {
position: relative;
border-bottom: 1px solid #d6e5ec;
padding: 10px 0 12px 0;
}
.typeA_MTxt > div > div .el-button {
position: absolute;
right: 5px;
top: -1px;
}
.typeA_MTxt > h5 {
margin: 25px 0 15px 0;
line-height: 18px;
font-size: 13px;
color: #bbb;
font-weight: 400;
}
.bor_style_onli .load_pdf {
margin-bottom: 20px;
}
.bor_style_onli .load_pdf > img {
vertical-align: sub;
margin: 0 15px 0 0;
}
.bor_style_onli .load_pdf a i:hover {
color: #006699 !important;
transform: scale(1.3);
}
.con_firm {
font-size: 14px;
line-height: 28px;
}
.con_firm b {
margin-left: 5px;
}
.con_firm i {
font-size: 18px;
margin-right: 5px;
vertical-align: text-bottom;
}
.aMesage {
font-size: 14px;
font-family: 'Helvetica Neue', Helvetica, Georgia, sans-serif;
word-break: break-all;
}
.aMes_typ {
line-height: 35px;
border-bottom: 1px solid #f1f1f1;
color: #7f0202;
font-weight: bold;
}
.aMes_tit {
color: #222;
font-weight: bold;
margin-top: 8px;
line-height: 20px;
font-family: 'Helvetica Neue', Helvetica, Georgia, sans-serif;
}
.aMes_autor {
margin-top: 5px;
font-size: 15px;
font-family: Calibri;
}
.aMes_doi {
margin-top: 8px;
}
.aMes_doi span {
margin-left: 20px;
}
.aMes_asbimg {
margin-top: 20px;
}
.aMes_asbimg img {
float: left;
width: 290px;
}
.aMes_asbimg div {
float: left;
font-family: Calibri;
width: 430px;
padding-left: 30px;
}
.aArticle {
font-size: 14px;
font-family: 'Helvetica Neue', Helvetica, Georgia, sans-serif;
word-break: break-all;
}
.aArt_doi {
}
.aArt_tit {
font-size: 16px;
color: #333333;
font-weight: bold;
margin: 20px 0 15px 0;
line-height: 24px;
}
.aArt_autor {
margin-top: 5px;
font-size: 15px;
font-family: Calibri;
}
.aArt_autor img {
width: 13px;
margin-left: 3px;
}
.aArt_jigou {
margin-top: 10px;
line-height: 20px;
font-family: Calibri;
}
.aArt_abst {
margin-top: 30px;
}
.aArt_abst .titTop {
border-bottom: 1px solid #ddd;
margin-bottom: 20px;
}
.aArt_abst .titTop b {
font-weight: normal;
display: inline-block;
padding: 8px 10px;
border: 1px solid transparent;
margin-bottom: -1px;
border-radius: 4px 4px 0 0;
cursor: pointer;
}
.aArt_abst .titTop b.Tab_col {
border: 1px solid #ddd;
border-bottom-color: #fff;
}
.aArt_abst .titHtml {
letter-spacing: 0.03em;
margin: 15px 10px 0 10px;
color: #444;
font-size: 15px;
line-height: 1.4;
word-break: break-word;
}
.aArt_abst > p {
margin: 25px 10px 0 10px;
text-align: justify;
color: #666;
font-size: 15px;
line-height: 1.4;
/* text-indent: 2.6rem; */
word-break: break-word;
}
.aArt_abst .titHtml .MaxPicture {
text-align: center;
}
.aArt_abst .titHtml .MaxPicture > img {
margin-bottom: 10px;
}
.aArt_abst .titHtml .MaxPicture > font {
display: block;
margin: 0 auto;
font-size: 13px;
}
</style>