2786 lines
66 KiB
Vue
2786 lines
66 KiB
Vue
<template>
|
||
<div>
|
||
<div class="tab_post">
|
||
<div v-for="(item, index) in tabsList" @click="jumpTab(index,item)"
|
||
:class="tabName==item.refName?'P_style':''">
|
||
<h5>
|
||
<span>{{index+1}}</span>
|
||
{{item.name}}
|
||
</h5>
|
||
<p>{{item.rongCont}}</p>
|
||
<!-- <div class="line"></div> -->
|
||
</div>
|
||
<div style="margin: 30px 0 0 0;">
|
||
<el-button type="primary" @click="pushToAccept(detailMes)" style="width: 220px;">
|
||
<i class="el-icon-finished"></i>
|
||
Push To Accept
|
||
</el-button>
|
||
</div>
|
||
<!-- 作者联系 -->
|
||
<div class="contactAuthor">
|
||
<h4>Contact author</h4>
|
||
<p>→ Send email
|
||
<b @click="linkEmail" class="btnCliArt" style="margin-left: 15px;">
|
||
<i class="el-icon-message"></i>
|
||
</b>
|
||
</p>
|
||
<p style=" margin-top: 10px;">→ Chat width communication
|
||
<b @click="chatcommunication" class="btnCliArt" style="margin-left: 15px;">
|
||
<i class="el-icon-chat-line-square"></i>
|
||
</b>
|
||
</p>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="scroll-content guanSty" @scroll="onScroll"
|
||
:style="'overflow-x: hidden; overflow-y: auto;height:' + contentStyleObj.height">
|
||
<!-- 基本信息 -->
|
||
|
||
<!-- 作者列表 -->
|
||
|
||
<!-- 文件上传 -->
|
||
|
||
|
||
<!-- 文章正文 -->
|
||
|
||
<!-- 参考文献 -->
|
||
<div :ref="tabsList[0].refName" class="scroll-item">
|
||
<div class="bor_style_onli">
|
||
<h4>{{tabsList[0].name}}</h4>
|
||
<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' :gridData = 'gridData' :p_article_id='p_article_id' @ChanFerMashUp="ChanFerMashUp" @refrashComp="refrashComp" @changeRefer="changeRefer"></editPublicRefRdit>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<!-- Html排版 -->
|
||
|
||
<!-- 生成文章 -->
|
||
|
||
|
||
|
||
<!-- 作者确认 -->
|
||
|
||
|
||
</div>
|
||
|
||
|
||
<!-- 上线弹出框 -->
|
||
<el-dialog title="Tips" :visible.sync="onlineVisible" width="680px">
|
||
<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">
|
||
<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">
|
||
<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" >
|
||
<!-- <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 {
|
||
data() {
|
||
return {
|
||
talkMsgs: [],
|
||
communVisible:false,
|
||
msgform: {
|
||
username: localStorage.getItem('U_name'),
|
||
article_id: this.$route.query.id,
|
||
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: 'setFourRef',
|
||
rongCont: 'Revise, check and complete the references of the manuscript.'
|
||
},
|
||
// {
|
||
// name: 'MainText',
|
||
// refName: 'setFiveRef',
|
||
// rongCont: 'Modify the article body.'
|
||
// },
|
||
// {
|
||
// name: 'Html',
|
||
// refName: 'setSixRef',
|
||
// 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: '书评'
|
||
}
|
||
],
|
||
editAuthor: false,
|
||
addAuthor: false,
|
||
editSchool: false,
|
||
addSchool: false,
|
||
authorData: [],
|
||
schoolData: [],
|
||
addFomauthor: {
|
||
is_first: '0',
|
||
is_report: '0',
|
||
organs: []
|
||
},
|
||
editFomauthor: {},
|
||
addFomschool: {},
|
||
editFomschool: {},
|
||
|
||
chanFerForm: [],
|
||
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'
|
||
}]
|
||
},
|
||
|
||
};
|
||
},
|
||
created() {
|
||
this.getHight();
|
||
window.addEventListener('resize', this.getHight);
|
||
// this.getData();
|
||
this.getArtcleDetails()
|
||
this.getTalkList()
|
||
// this.getAuthorJG();
|
||
// this.getCount();
|
||
// this.getWorldPdf();
|
||
|
||
},
|
||
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.$route.query.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.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()
|
||
});
|
||
},
|
||
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
|
||
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
|
||
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/doTypeSetting', {
|
||
p_article_id: this.p_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----校对文章
|
||
htmlContet() {
|
||
this.$api
|
||
.post('api/Production/getProductionMains', {
|
||
p_article_id: this.p_article_id
|
||
})
|
||
.then(res => {
|
||
if (res.code == 0) {
|
||
this.$router.push({
|
||
path: 'comArtHtmlCreat',
|
||
query: {
|
||
id: this.p_article_id
|
||
}
|
||
});
|
||
} else {
|
||
this.$message.error(res.msg);
|
||
}
|
||
})
|
||
.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){
|
||
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.$route.query.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%;
|
||
}
|
||
|
||
.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: .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>
|