2787 lines
96 KiB
Vue
2787 lines
96 KiB
Vue
<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>
|