2694 lines
74 KiB
Vue
2694 lines
74 KiB
Vue
<template>
|
||
<div>
|
||
<el-row :gutter="30" style="min-width: 1000px;padding: 20px 0;margin: 0 auto;">
|
||
<el-col :span="7">
|
||
<div class="consumer">
|
||
<div class="portrait" @click="unplIcon">
|
||
<img src="../../assets/img/userImg.jpg" style="cursor: pointer;" v-if="pictureUrl==''">
|
||
<img :src="pictureUrl" style="cursor: pointer;" v-if="pictureUrl!=''">
|
||
<el-upload class="avatar-uploader" ref="upIconIMg"
|
||
:action="baseUrl+'api/Ucenter/up_userIcon_file'" :show-file-list="false" name="icon"
|
||
:on-success="handleAvatarSuccess2" :on-error="handleAvatarError2"
|
||
:before-upload="beforeAvatarUpload2" style="display: none;">
|
||
<img v-if="pictureUrl" :src="pictureUrl" class="avatar" accept=".png,.jpg">
|
||
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
||
</el-upload>
|
||
<div class="ptmark">Upload avatar</div>
|
||
</div>
|
||
<p style="font-size: 22px;font-weight: bold;margin: 10px 0 0 0;">
|
||
{{coreTable.account}}
|
||
</p>
|
||
<div style="margin:8px 0 5px 0;" v-if="starList_mark!=0">
|
||
<img src="../../assets/img/star-all.png" v-for="item in starList"
|
||
v-if="starList_mark<=8&&item.star==1" class="starSty">
|
||
<img src="../../assets/img/star-traf.png" v-for="item in starList"
|
||
v-if="starList_mark<=8&&item.star==0" class="starSty">
|
||
<img src="../../assets/img/star-none.png" v-for="item in starList"
|
||
v-if="starList_mark<=8&&item.star==2" class="starSty">
|
||
<img src="../../assets/img/star-all.png" v-if="starList_mark>8" class="starSty">
|
||
<b style="font-size: 15px;color: #b77614;" v-if="starList_mark>8">× {{starList_mark}}</b>
|
||
</div>
|
||
<div v-else>
|
||
<img src="../../assets/img/star-grey.png" class="starSty">
|
||
</div>
|
||
<el-button type="primary" plain @click="openCoreHand()" size="mini" style="margin-top: 5px;">
|
||
<i class="el-icon-setting"></i>
|
||
Profile settings
|
||
</el-button>
|
||
</div>
|
||
</el-col>
|
||
|
||
<el-col :span="8">
|
||
<!-- 个人信息 -->
|
||
<div class="exponent">
|
||
<div>
|
||
<div class="expTit">
|
||
Real name :
|
||
</div>
|
||
<div class="expInde">
|
||
{{coreTable.realname}}
|
||
</div>
|
||
</div>
|
||
<div v-if="coreTable.localname!=''">
|
||
<div class="expTit">
|
||
Localname :
|
||
</div>
|
||
<div class="expInde">
|
||
{{coreTable.localname}}
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<div class="expTit">
|
||
Email :
|
||
</div>
|
||
<div class="expInde">
|
||
{{coreTable.email}}
|
||
</div>
|
||
</div>
|
||
<div v-if="coreTable.phone!=''">
|
||
<div class="expTit">
|
||
Phone :
|
||
</div>
|
||
<div class="expInde">
|
||
{{coreTable.phone}}
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<div class="expTit">
|
||
ORCID :
|
||
</div>
|
||
<div class="expInde">
|
||
<img src="../../assets/img/orcid.png" @click="skip_link()" v-if="coreTable.orcid!=''"
|
||
style="width: 20px;cursor: pointer;" />
|
||
<img src="../../assets/img/orcno.png" @click="skip_check()" v-if="coreTable.orcid==''"
|
||
style="width: 20px;cursor: pointer;" />
|
||
</div>
|
||
</div>
|
||
<div v-if="this.coreTable.google_index!=0">
|
||
<div class="expTit">
|
||
H Index :
|
||
</div>
|
||
<div class="expInde">
|
||
<b style="font-size: 20px;color: #006699;">{{this.coreTable.google_index}}</b>
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<div class="expTit">
|
||
Google Scholar profile page :
|
||
</div>
|
||
<div class="expInde">
|
||
<b class="el-icon-check" v-if="this.coreTable.g_author!=''"
|
||
style="font-size: 16px;font-weight: bold;color: #2a9916;margin-right: 5px;"></b>
|
||
<a class="webLink" style="font-size: 14px;color: #2a9916;"
|
||
v-if="this.coreTable.g_author!=''" target="_blank"
|
||
:href="'https://scholar.google.it/citations?user='+this.coreTable.g_author">Certified</a>
|
||
<el-button type="warning" @click="H_Index" icon="el-icon-paperclip" plain size="mini"
|
||
v-if="this.coreTable.g_author==''">Certified</el-button>
|
||
</div>
|
||
</div>
|
||
<div v-if="this.coreTable.code!=''">
|
||
<div class="expTit">
|
||
Invitation code
|
||
<!-- <el-popover placement="top-start" width="300" trigger="hover"
|
||
content="If you invite users to submit, please fill in your invitation code.">
|
||
<span slot="reference">
|
||
<i class="el-icon-info" style="color: #ef8429;font-size: 18px;cursor: pointer;"></i>
|
||
</span>
|
||
</el-popover> -->
|
||
:
|
||
</div>
|
||
<div class="expInde" style="display: flex;">
|
||
<p style="font-weight: bold;color: #006699;margin-right: 10px;">{{this.coreTable.code}}</p>
|
||
<!-- <p style="margin: 0 0 0 10px;">(56)</p> -->
|
||
<el-button type="primary" @click="codeCopy" icon="el-icon-copy-document" size="mini" plain
|
||
style="padding: 4px 8px;">Copy</el-button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</el-col>
|
||
|
||
<el-col :span="9">
|
||
<!-- 个人信息 -->
|
||
<div class="exponent">
|
||
<div v-if="coreTable.technical!=''">
|
||
<div class="expTit">
|
||
Academic title :
|
||
</div>
|
||
<div class="expInde">
|
||
{{coreTable.technical}}
|
||
</div>
|
||
</div>
|
||
<div v-if="coreTable.country!=''">
|
||
<div class="expTit">
|
||
Country :
|
||
</div>
|
||
<div class="expInde">
|
||
{{coreTable.country}}
|
||
</div>
|
||
</div>
|
||
<div v-if="coreTable.website!=''">
|
||
<div class="expTit">
|
||
Website :
|
||
</div>
|
||
<div class="expInde" style="margin-top: 0;">
|
||
<el-link :href="coreTable.website" target="_blank" type="primary">Personal academic
|
||
introduction</el-link>
|
||
</div>
|
||
</div>
|
||
<div v-if="coreTable.company!=''">
|
||
<div class="expTit">
|
||
Affiliation :
|
||
</div>
|
||
<div class="expInde">
|
||
{{coreTable.company}}
|
||
</div>
|
||
</div>
|
||
<div v-if="coreTable.field!=''">
|
||
<div class="expTit">
|
||
Field :
|
||
</div>
|
||
<el-popover placement="top-start" width="300" trigger="hover" :content="coreTable.field">
|
||
<div class="expInde oveTxtLine" slot="reference">
|
||
{{coreTable.field}}
|
||
</div>
|
||
</el-popover>
|
||
</div>
|
||
<div>
|
||
<div class="expTit">
|
||
Resume :
|
||
</div>
|
||
<div class="expInde">
|
||
<img src="../../assets/img/icon_0.png" alt="" class="icon_img"
|
||
v-if="cvitaTable.length>0&&cvitaTable!=undefined">
|
||
<span style="margin-left: 10px;color: #888;font-size: 13px;vertical-align: text-bottom;"
|
||
v-if="cvitaTable.length>0&&cvitaTable!=undefined">
|
||
<i class="el-icon-paperclip"></i>
|
||
{{formatDate(cvitaTable[cvitaTable.length-1].ctime)}}
|
||
</span>
|
||
<el-button type="success" @click="openCVita()" size="mini"
|
||
style="vertical-align: text-bottom;padding: 4px 8px;margin-left: 10px;">
|
||
<i class="el-icon-document"></i>
|
||
Update/View
|
||
</el-button>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- <div v-if="starList_mark!=0">
|
||
<div class="expTit">
|
||
Comment on stars :
|
||
</div>
|
||
<div class="expInde">
|
||
<img src="../../assets/img/star-all.png" v-for="item in starList"
|
||
v-if="starList_mark<=8&&item.star==1" class="starSty">
|
||
<img src="../../assets/img/star-traf.png" v-for="item in starList"
|
||
v-if="starList_mark<=8&&item.star==0" class="starSty">
|
||
<img src="../../assets/img/star-all.png" v-if="starList_mark>8" class="starSty">
|
||
<b style="font-size: 15px;color: #b77614;" v-if="starList_mark>8">× {{starList_mark}}</b>
|
||
<el-button type="success" @click="openStar()" size="mini"
|
||
style="vertical-align: text-bottom;padding: 4px 8px;margin-left: 10px;">
|
||
<i class="el-icon-document"></i>
|
||
Record
|
||
</el-button>
|
||
</div>
|
||
</div> -->
|
||
|
||
|
||
</div>
|
||
</el-col>
|
||
|
||
<el-col :span="24" v-if="!this.usercap.includes('editor')">
|
||
<el-row :gutter="40" style="display: flex;">
|
||
<el-col :span="15">
|
||
<!-- 作者信息 -->
|
||
<div class="chunking" style="margin-top: 55px;">
|
||
<!-- <el-divider></el-divider> -->
|
||
<h2 class="infor_title">Author</h2>
|
||
<div class="chunkPiece">
|
||
<div style="margin: 12px 20px 30px 20px;line-height:24px;font-size: 14px;">
|
||
<div v-if="this.usercap.includes('author')">
|
||
<!-- 统计数据 -->
|
||
<div class="numeric" v-if="authorTable.manuscriptNum!=undefined">
|
||
<!-- <div class="numerItem">
|
||
<b @click="JumpPage(1)">0</b>
|
||
<p>Obtain<br />certificate</p>
|
||
</div> -->
|
||
<div class="numerItem">
|
||
<b @click="JumpPage(2)">{{authorTable.manuscriptNum}}</b>
|
||
<p>Submitted manuscripts</p>
|
||
</div>
|
||
<div class="numerItem">
|
||
<b @click="JumpPage(3)">{{authorTable.accept}}</b>
|
||
<p>Published articles</p>
|
||
</div>
|
||
<div class="numerItem">
|
||
<b>{{authorTable.tj}}</b>
|
||
<p>Recommended manuscripts</p>
|
||
</div>
|
||
<div class="numerItem">
|
||
<b @click="JumpPage(6)"
|
||
v-if="reviewTable.successReview">{{reviewTable.successReview}}</b>
|
||
<b @click="JumpPage(6)" v-else>0</b>
|
||
<p>Reviewed manuscripts</p>
|
||
</div>
|
||
<div class="numerItem">
|
||
<b @click="JumpPage(4)">{{authorTable.index}}</b>
|
||
<p>Articles of interest</p>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="join_link" v-if="!this.usercap.includes('editor')">
|
||
<!-- 如果你想投稿 请点击 -->
|
||
<p v-if="this.usercap.includes('author')" style="white-space:nowrap;">
|
||
Click here to <img src="../../assets/img/icon_9.png" alt=""
|
||
class="icon_img">
|
||
<el-link href="/articleAdd"><b>submit a new manuscript.</b></el-link>
|
||
</p>
|
||
<!-- 查看已投稿件列表 -->
|
||
<p style="white-space:nowrap">
|
||
Click here to <img src="../../assets/img/icon_9.png" alt=""
|
||
class="icon_img">
|
||
<el-link href="/articleList"><b>view the list of your submitted
|
||
manuscripts.</b>
|
||
</el-link>
|
||
</p>
|
||
<!-- 点击增加引用文章 -->
|
||
<p style="white-space:nowrap">
|
||
Click here to <img src="../../assets/img/icon_9.png" alt=""
|
||
class="icon_img">
|
||
<el-link>
|
||
<b @click="apointVisible=true">add valuable references.</b>
|
||
</el-link>
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</el-col>
|
||
|
||
<el-col :span="9">
|
||
<!-- 审稿人信息 -->
|
||
<div class="chunking" style="margin-top: 55px;">
|
||
<!-- <el-divider></el-divider> -->
|
||
<h2 class="infor_title">Reviewer</h2>
|
||
<!-- 加入审稿人 -->
|
||
<!-- <el-button type="primary" @click="reviewPoint(1)" v-if="this.usercap.includes('reviewer')"
|
||
size="mini" class="infor_edit">
|
||
<i class="el-icon-edit"></i>
|
||
Edit Reviewer Information
|
||
</el-button> -->
|
||
<el-button type="warning" @click="reviewPoint(2)" size="mini" class="infor_edit">
|
||
<i class="el-icon-plus"></i>
|
||
Apply to join the reviewer team
|
||
</el-button>
|
||
<div class="chunkPiece" :style="{'height':(this.usercap.includes('reviewer')?'85%':'12%')}">
|
||
<div style="margin: 20px 20px 30px 30px;line-height:24px;font-size: 14px;">
|
||
<div v-if="this.usercap.includes('reviewer')">
|
||
<p style="margin: 5px 0 10px 0;line-height: 26px;">
|
||
You are already the reviewer of the Journal of
|
||
<b v-for="(item,index) in review_journal" style="margin-left: 3px;">
|
||
{{item.title}} <span v-if="index!=review_journal.length-1">,</span>
|
||
</b>
|
||
.
|
||
</p>
|
||
<p>
|
||
You have reviewed
|
||
<b class="depresBtn" @click="JumpPage(6)"
|
||
style="margin-left: 5px;">{{reviewTable.successReview}}</b>
|
||
manuscripts.
|
||
</p>
|
||
|
||
<div class="join_link" v-if="!this.usercap.includes('editor')"
|
||
style="margin-top: 10px;">
|
||
<!-- 如果你是审稿人 -->
|
||
<p style="white-space:nowrap">Click to <img
|
||
src="../../assets/img/icon_9.png" alt="" class="icon_img">
|
||
<el-link href="/peerewer"><b>review the manuscript. </b>
|
||
</el-link>
|
||
</p>
|
||
<!-- 查看审稿记录 -->
|
||
<p style="white-space:nowrap">Click to <img
|
||
src="../../assets/img/icon_9.png" alt="" class="icon_img">
|
||
<el-link href="/perhistory"><b>view your review records. </b></el-link>
|
||
</p>
|
||
<!-- 如果您想下载审稿证书 -->
|
||
<p style="white-space:nowrap;">Click to <img
|
||
src="../../assets/img/icon_9.png" alt="" class="icon_img">
|
||
<el-link href="/perhistory"><b>view and download review
|
||
certificates.</b>
|
||
</el-link>
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</el-col>
|
||
</el-row>
|
||
|
||
<div style="height: 60px;" v-if="!this.usercap.includes('author')&&!this.usercap.includes('reviewer')">
|
||
</div>
|
||
|
||
<el-row :gutter="40" style="display: flex;">
|
||
<el-col :span="12">
|
||
<!-- 编委信息 -->
|
||
<div class="chunking" style="margin-top: 45px;">
|
||
<h2 class="infor_title">Editorial Board Member</h2>
|
||
<el-button type="warning" size="mini" class="infor_edit" @click="boardPoint(2)">
|
||
<i class="el-icon-plus"></i>
|
||
Apply to join Editorial Board Member
|
||
</el-button>
|
||
<div class="chunkPiece" :style="{'height':(this.usercap.includes(',board')?'85%':'28%')}">
|
||
<div style="margin: 20px 0 30px 55px;line-height:24px;font-size: 14px;">
|
||
<div v-if="this.usercap.includes(',board')">
|
||
<div style="line-height: 30px;">
|
||
You are already the Editorial Board Member of the Journal of
|
||
<p v-for="(item,index) in board_journal">
|
||
<b>{{item.title}}</b>
|
||
<!-- <a @click="cerFicte(item)" class="certBtn">
|
||
<i class="el-icon-trophy"></i>
|
||
Certificate
|
||
</a> -->
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</el-col>
|
||
<el-col :span="12">
|
||
<!-- 青年科学家信息 -->
|
||
<div class="chunking" style="margin-top: 45px;">
|
||
<h2 class="infor_title">Young Scientist</h2>
|
||
<el-button type="warning" size="mini" class="infor_edit" @click="youthPoint(2)"
|
||
v-if="!this.usercap.includes('youth')">
|
||
<i class="el-icon-plus"></i>
|
||
Apply to join Young Scientist
|
||
</el-button>
|
||
<div class="chunkPiece" :style="{'height':(this.usercap.includes('yboard')?'85%':'28%')}">
|
||
<div style="margin: 20px 0 30px 55px;line-height:24px;font-size: 14px;">
|
||
<div v-if="this.usercap.includes('yboard')">
|
||
<div style="line-height: 30px;">
|
||
You are already the Young Scientist of the Journal of
|
||
<div v-for="(item,index) in youth_journal">
|
||
<b>{{item.title}}</b>
|
||
<i class="el-icon-arrow-up arrowBtn" v-if="item.arrowMark==0"
|
||
@click="arrowBtnChange(index,1)"></i>
|
||
<i class="el-icon-arrow-down arrowBtn" v-if="item.arrowMark==1"
|
||
@click="arrowBtnChange(index,0)"></i>
|
||
<p v-if="item.arrowMark==1">
|
||
<span v-for="ihxd in item.sd" style="display: block;">
|
||
{{formatYear(ihxd.start_date)}}
|
||
<span style="margin: 0 3px;">-</span>
|
||
{{formatYear(ihxd.end_date)}}
|
||
<a @click="cerFicte(ihxd.icon)" class="certBtn">
|
||
<i class="el-icon-trophy"></i>
|
||
Certificate
|
||
</a>
|
||
</span>
|
||
<font style="display: block;">
|
||
Submitted articles :
|
||
<b
|
||
style="color: #006699;font-size: 16px;margin: 0 0 0 5px;">{{item.article_num}}</b>
|
||
</font>
|
||
<font style="display: block;">
|
||
Reviewed articles :
|
||
<b
|
||
style="color: #006699;font-size: 16px;margin: 0 0 0 5px;">{{item.reviewer_num}}</b>
|
||
</font>
|
||
</p>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</el-col>
|
||
</el-row>
|
||
<div style="height: 30px;" v-if="!this.usercap.includes(',board')||!this.usercap.includes('yboard')">
|
||
</div>
|
||
|
||
</el-col>
|
||
|
||
<el-col :span="24" v-if="this.usercap.includes('editor')" style="margin-top: 40px;">
|
||
<div style="border: 2px solid #00669926;padding: 20px;border-radius: 10px;background-color: #fff;">
|
||
<div style="border-bottom: 2px solid #00669926;padding: 0 0 20px 0;margin: 0 0 20px 0;">
|
||
<el-badge :value="this.usermsgList.length" :hidden="this.usermsgList.length>0?false:true"
|
||
class="item">
|
||
<span>{{$t('home.usermsg')}}</span>
|
||
</el-badge>
|
||
<el-button type="warning" @click="oneRead()" size="mini" style="float: right;">
|
||
<i class="el-icon-document-checked"></i>
|
||
Read all messages
|
||
</el-button>
|
||
</div>
|
||
<el-table :data="usermsgList" border class="msg-table" empty-text="New messages (0)">
|
||
<el-table-column label="Date" width="150">
|
||
<template slot-scope="scope">
|
||
<el-button type="text">{{formatDate(scope.row.ctime)}}</el-button>
|
||
</template>
|
||
</el-table-column>
|
||
<el-table-column label="Message" prop="content"></el-table-column>
|
||
<el-table-column label="" width="80" align="center">
|
||
<template slot-scope="scope">
|
||
<el-button type="text" @click="showNewMsg(scope.row)">To See</el-button>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table>
|
||
</div>
|
||
</el-col>
|
||
|
||
|
||
<el-col :span="24">
|
||
<el-row :gutter="30" style="margin-top: 10px;">
|
||
<div v-if="this.usercap.includes('editor')"
|
||
style="display: flex;margin:40px 20px 20px 20px;border-bottom: 2px solid #00669926;">
|
||
<h4 style="float: left;width: 50%;padding: 0 0 20px 0;">User guide</h4>
|
||
<h4 style="float: left;width: 50%;padding: 0 0 20px 100px;">Contact us</h4>
|
||
</div>
|
||
|
||
<div style="display: flex">
|
||
<!-- 引导指向 -->
|
||
<div class="new_scard" style="width: 49.5%;" v-show="userrole=='reviewer'||userrole==1">
|
||
<div class="top-content">
|
||
<span>
|
||
<p>
|
||
Thank you for choosing the TMR Publishing Group online manuscript submission and
|
||
tracking system.
|
||
</p>
|
||
<p>
|
||
Prior to submission, we kindly request that you review our instructions for
|
||
authors.
|
||
</p>
|
||
<p>
|
||
To submit your manuscript, please
|
||
<el-link type="primary" href="/articleAdd">
|
||
click here</el-link>.
|
||
</p>
|
||
<el-divider></el-divider>
|
||
<p>
|
||
If you encounter any issues, please don't hesitate to reach out to us at
|
||
publisher@tmrjournals.com.
|
||
</p>
|
||
</span>
|
||
</div>
|
||
</div>
|
||
|
||
<p style="background-color: #00669926;width: 2px;margin: 0 30px;"></p>
|
||
|
||
<div class="new_scard" style="width: 49.5%;" v-if="this.usercap.includes('editor')">
|
||
<!-- 意见反馈,联系我们 -->
|
||
<p>2/77 Prince regent drive</p>
|
||
<p style="margin: 5px 0;">Half moon bay, Auckland 2012</p>
|
||
<p>New Zealand</p>
|
||
<p style="margin: 5px 0;"><b style="color: #666;font-size: 14px;cursor: text;">Telephone
|
||
number
|
||
:</b> +64
|
||
02108293806</p>
|
||
<p><b style="color: #666;font-size: 14px;cursor: text;">Email :</b>
|
||
publisher@tmrjournals.com</p>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
</el-row>
|
||
|
||
<el-row :gutter="30" style="margin-top: 15px;">
|
||
|
||
<div v-if="!this.usercap.includes('editor')"
|
||
style="display: flex;margin:0 20px 20px 20px;border-bottom: 2px solid #00669926;">
|
||
<h4 style="width: 715px;padding: 0 0 20px 0;">Feedback and Suggestions</h4>
|
||
<h4 style="width: 13%;"></h4>
|
||
<h4 style="width: 292px;padding: 0 0 20px 1px;">Contact us</h4>
|
||
</div>
|
||
|
||
<div style="display: flex;">
|
||
<div class="new_scard" v-if="!this.usercap.includes('editor')">
|
||
<el-form ref="probleform" :model="proForm" :rules="rules" label-width="170px">
|
||
<div style="display: flex;">
|
||
<div>
|
||
<el-form-item label="Problem classification :" prop="problem_id">
|
||
<el-select v-model="proForm.problem_id" filterable
|
||
placeholder="Please select">
|
||
<el-option v-for="item in dysfuncte" :key="item.problem_id"
|
||
:label="item.problem_title" :value="item.problem_id"></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
<el-form-item label="Problem description :" prop="suggest_desc">
|
||
<el-input v-model="proForm.suggest_desc" type="textarea" :rows="3"
|
||
style="width:250px;">
|
||
</el-input>
|
||
</el-form-item>
|
||
</div>
|
||
<div>
|
||
<el-form-item label="Screenshots :" label-width="130px">
|
||
<el-upload class="avatar-uploader" :action="baseUrl+'api/Suggest/upImg'"
|
||
:show-file-list="false" name="img" :on-success="handleAvatarSuccess"
|
||
:on-error="handleAvatarError" :before-upload="beforeAvatarUpload">
|
||
<img v-if="imageUrl" :src="imageUrl" class="avatar">
|
||
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
||
</el-upload>
|
||
</el-form-item>
|
||
</div>
|
||
</div>
|
||
|
||
<div style="text-align: center;margin-left: 100px;">
|
||
<el-button type="primary" @click="onSubmit">Submit</el-button>
|
||
</div>
|
||
</el-form>
|
||
</div>
|
||
|
||
<div style="width: 13%;">
|
||
<p style="background-color: #00669926;width: 2px;height: 100%;margin: 0 auto;"></p>
|
||
</div>
|
||
|
||
<div class="new_scard" v-if="!this.usercap.includes('editor')">
|
||
<!-- <p>
|
||
New Zealand
|
||
<img src="../../assets/img/New_Z.png"
|
||
style="width: 45px;margin: 0 0 0 15px;vertical-align: middle;">
|
||
</p> -->
|
||
<p style="margin: 10px 0;white-space:nowrap;">
|
||
<b style="color: #666;font-size: 14px;cursor: text;">Telephone number :</b> +64
|
||
02108293806
|
||
</p>
|
||
<p style="white-space:nowrap;">
|
||
<b style="color: #666;font-size: 14px;cursor: text;">Email:</b>
|
||
publisher@tmrjournals.com
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</el-row>
|
||
</el-col>
|
||
</el-row>
|
||
|
||
|
||
<!-- 修改密码弹出框 -->
|
||
<el-dialog title="Change Password" :visible.sync="pwdVisible" width="500px">
|
||
<el-form :model="pwdForm" :rules="rules" ref="pwd_form" label-width="150px">
|
||
<el-form-item label="Old password :" prop="password">
|
||
<el-input type="password" placeholder="Please enter..." v-model="pwdForm.password"></el-input>
|
||
</el-form-item>
|
||
<el-form-item label="New password :" prop="new_password">
|
||
<el-input type="password" placeholder="Please enter..." v-model="pwdForm.new_password">
|
||
</el-input>
|
||
</el-form-item>
|
||
<el-form-item label="Confirm password :" prop="re_password">
|
||
<el-input type="password" placeholder="Please enter..." v-model="pwdForm.re_password">
|
||
</el-input>
|
||
</el-form-item>
|
||
</el-form>
|
||
<span slot="footer" class="dialog-footer">
|
||
<el-button @click="pwdVisible = false">Cancel</el-button>
|
||
<el-button type="primary" @click="save_pwd(pwdForm)">OK</el-button>
|
||
</span>
|
||
</el-dialog>
|
||
|
||
<!-- 获得证书出框 -->
|
||
<el-dialog title="Obtain certificate" :visible.sync="obertVisible" width="800px">
|
||
<div>
|
||
<el-tabs v-model="activeObert">
|
||
<el-tab-pane label="Reviewer" name="first">
|
||
<div class="diploma">
|
||
<h2>2008</h2>
|
||
<div>
|
||
<!-- <el-image ref="preview" style="width: 94%;height: 140px;"
|
||
src="https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg"
|
||
:preview-src-list="srcPicList" @click="largePic()">
|
||
</el-image> -->
|
||
<p>Traditional Medicine Research</p>
|
||
</div>
|
||
<div>
|
||
<img src="../../assets/img/userImg_.jpg" alt="" @click="largePic()">
|
||
<p>Traditional Medicine Research</p>
|
||
</div>
|
||
<div>
|
||
<img src="../../assets/img/userImg_.jpg" alt="" @click="largePic()">
|
||
<p>Traditional Medicine Research</p>
|
||
</div>
|
||
<div>
|
||
<img src="../../assets/img/userImg_.jpg" alt="">
|
||
<p>Traditional Medicine Research</p>
|
||
</div>
|
||
</div>
|
||
</el-tab-pane>
|
||
<el-tab-pane label="Editorial Board Member" name="second">配置管理</el-tab-pane>
|
||
<el-tab-pane label="Young Scientist" name="third">角色管理</el-tab-pane>
|
||
</el-tabs>
|
||
</div>
|
||
<span slot="footer" class="dialog-footer">
|
||
<el-button type="primary" @click="obertVisible = false">OK</el-button>
|
||
</span>
|
||
</el-dialog>
|
||
|
||
<el-image-viewer v-if="imgViewerVisible" :on-close="closeImgViewer" :url-list="srcPicList" />
|
||
|
||
|
||
<!-- 绑定谷歌账号弹出框 -->
|
||
<el-dialog title="Bind Google account" :visible.sync="bindVisible" width="550px">
|
||
<p style="padding:0 0 20px 5px;font-weight: bold;">
|
||
Please select one and press the OK button.</p>
|
||
<div v-for="item in geogleList" :class="bindForm.g_author == item.author_id?'gugeList gu_col':'gugeList'"
|
||
@click="choseGego(item)">
|
||
<p style="font-weight: bold;letter-spacing: -0.5px;">{{item.name}}</p>
|
||
<p>
|
||
<font>Email :</font>{{item.email}}
|
||
</p>
|
||
<p>
|
||
<font>Affiliations :</font>{{item.affiliations}}
|
||
</p>
|
||
<p><a :href="item.link" target="_blank">{{item.link}}</a></p>
|
||
<i class="kuangGeo"></i>
|
||
<b class="el-icon-check"></b>
|
||
</div>
|
||
<span slot="footer" class="dialog-footer">
|
||
<el-button @click="bindVisible = false">Cancel</el-button>
|
||
<el-button type="primary" @click="save_bind(bindForm)">OK</el-button>
|
||
</span>
|
||
</el-dialog>
|
||
|
||
<!-- 个人简历弹出框 -->
|
||
<el-dialog title="" :visible.sync="cvitaVisible" width="500px">
|
||
<p style="margin: 0 0 25px 28px;font-size: 18px;">CV. List</p>
|
||
<p style="color: #aaa;margin: 0 0 30px 28px;" v-if="cvitaTable.length==0">No data</p>
|
||
<div v-for="(item,index) in cvitaTable" style="margin: 0 0 0 30px;">
|
||
{{index+1}}.
|
||
<img src="../../assets/img/icon_0.png" alt="" class="icon_img"
|
||
style="vertical-align: middle;margin-left: 10px;">
|
||
<span style="margin-left: 20px;color: #888;font-size: 13px;">
|
||
<i class="el-icon-paperclip"></i>
|
||
{{formatDate(item.ctime)}}
|
||
</span>
|
||
<a :href="mediaUrl+'reviewer/'+item.cv" target="_blank" class="txt_pdf">
|
||
<i class="el-icon-download"></i>
|
||
</a>
|
||
<i class="el-icon-delete" @click="deletCVita(item)"
|
||
style="color: #f12424;cursor: pointer;font-weight: bold;margin: 0 0 0 15px;"></i>
|
||
</div>
|
||
<p style="width: 90%;background-color: #d7d7d7;height: 1px;margin: 10px auto 30px auto;"></p>
|
||
<p style="margin: 0 0 25px 28px;">If you want to update your resume, please upload it.</p>
|
||
<el-form :model="cvitaForm" :rules="rules" ref="cvita_Form" label-width="70px">
|
||
<el-form-item label="CV. :">
|
||
<el-upload class="upload-demo" :action="baseUrl+'api/Ucenter/up_cv_file'"
|
||
:on-success="handleFileSuccess1" name="reviewerCV" type="reviewerCV" :on-error="handleFileError"
|
||
:on-preview="handlePreview" :on-remove="handleRemove" :before-remove="beforeRemove"
|
||
:on-change="handleChange1" accept=".pdf" :on-exceed="handleExceed" ref="uploadRef1">
|
||
<el-button type="text" style="font-weight: bolder;">
|
||
<b class="el-icon-lx-top" style="font-weight: bolder;"></b>upload
|
||
</el-button>
|
||
</el-upload>
|
||
<span style="font-size: 12px; color: #aaa;">
|
||
Only pdf files can be uploaded(.pdf)
|
||
</span>
|
||
</el-form-item>
|
||
</el-form>
|
||
<span slot="footer" class="dialog-footer">
|
||
<el-button @click="cvitaVisible = false;tipVisible = false">Close</el-button>
|
||
</span>
|
||
</el-dialog>
|
||
|
||
<!-- 星级弹出框 -->
|
||
<el-dialog title="Rating probability" :visible.sync="starVisible" :close-on-click-modal="false" width="700px">
|
||
<el-button type="warning" @click="explainVisible=true" style="float: right;margin: -10px 15px 20px 0;">
|
||
<i class="el-icon-document"></i>
|
||
Detailed instructions
|
||
</el-button>
|
||
<br clear="both">
|
||
<div v-for="(item,index) in starTable" class="ratList">
|
||
<div style="margin: 0 0 5px 0;">{{item.title}}</div>
|
||
<div>
|
||
<span style="font-size: 14px;color: #999;">Time :</span>
|
||
{{item.time}}
|
||
</div>
|
||
<div class="ratNum">+ {{item.num}}</div>
|
||
</div>
|
||
<div class="pagination">
|
||
<el-pagination background layout="total, prev, pager, next" :current-page="starQuery.pageIndex"
|
||
:page-size="starQuery.pageSize" :total="starTotal" @current-change="handleStarChange">
|
||
</el-pagination>
|
||
</div>
|
||
<span slot="footer" class="dialog-footer">
|
||
<el-button @click="starVisible = false">Cancel</el-button>
|
||
</span>
|
||
</el-dialog>
|
||
|
||
<!-- 细则弹出框 -->
|
||
<el-dialog title="Detailed instructions" :visible.sync="explainVisible" :close-on-click-modal="false"
|
||
width="450px">
|
||
<p>123456</p>
|
||
<span slot="footer" class="dialog-footer">
|
||
<el-button @click="explainVisible = false">Cancel</el-button>
|
||
</span>
|
||
</el-dialog>
|
||
|
||
<!-- 引用弹出框 -->
|
||
<el-dialog title="Citing records" :visible.sync="apointVisible" width="475px">
|
||
<el-form :model="apoinForm" :rules="rules" ref="apoint_Form" label-width="125px">
|
||
<el-form-item label="Journal :" prop="journal_id">
|
||
<el-select v-model="apoinForm.journal_id" placeholder="Please select a journal"
|
||
style="width: 290px;">
|
||
<el-option v-for="item in pointJour_list" :label="item.title" :key="item.journal_id"
|
||
:value="item.journal_id"></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
<el-form-item label="My paper doi :" prop="local_doi">
|
||
<el-input type="text" placeholder="Please enter..." v-model="apoinForm.local_doi"
|
||
style="width: 290px;"></el-input>
|
||
</el-form-item>
|
||
<el-form-item label="Cited form :" prop="pub_doi">
|
||
<span>10.53388/</span>
|
||
<el-input type="text" placeholder="Please enter..." v-model="apoinForm.pub_doi"
|
||
style="width: 215px;margin-left: 10px;"></el-input>
|
||
</el-form-item>
|
||
</el-form>
|
||
<span slot="footer" class="dialog-footer">
|
||
<el-button @click="apointVisible = false">Cancel</el-button>
|
||
<el-button type="primary" @click="onSubmit_apoin(apoinForm)">Save</el-button>
|
||
</span>
|
||
</el-dialog>
|
||
|
||
<!-- 个人信息弹出框 -->
|
||
<el-dialog title="Change Essential Information" :visible.sync="coreVisible" width="780px">
|
||
<el-form :model="coreForm" :rules="rules" ref="core_Form" label-width="140px">
|
||
<el-form-item label="Account :" prop="account">
|
||
<span>{{coreForm.account}}</span>
|
||
</el-form-item>
|
||
<el-form-item label="Email :">
|
||
<span>{{coreForm.email}}</span>
|
||
</el-form-item>
|
||
<!-- <el-form-item label="Change Password :">
|
||
<el-button type="success" @click="psw_word" plain>Change Password</el-button>
|
||
</el-form-item> -->
|
||
<el-form-item label="Real name :" prop="realname">
|
||
<el-input type="text" placeholder="Please enter..." v-model="coreForm.realname"
|
||
style="width: 320px;"></el-input>
|
||
</el-form-item>
|
||
<!-- <el-form-item label="Localname :" prop="localname">
|
||
<el-input type="text" placeholder="Please enter..." v-model="coreForm.localname"
|
||
style="width: 320px;"></el-input>
|
||
</el-form-item> -->
|
||
<el-form-item label="Phone :">
|
||
<!-- <el-input type="text" placeholder="Please enter..." v-model="coreForm.reviewer_id" style="width: 80px;margin-right: 10px;"></el-input> -->
|
||
<el-input type="text" placeholder="Please enter..." v-model="coreForm.phone" style="width: 320px;">
|
||
</el-input>
|
||
</el-form-item>
|
||
<!-- <el-form-item label="Gender :" prop="gender">
|
||
<el-radio-group v-model="coreTable.gender">
|
||
<el-radio :label="1">Male</el-radio>
|
||
<el-radio :label="2">Female</el-radio>
|
||
</el-radio-group>
|
||
</el-form-item>-->
|
||
<el-form-item label="Academic title :" prop="technical">
|
||
<el-select v-model="coreForm.technical" filterable placeholder="Please select a title"
|
||
value-key="groupID" style="width: 320px;">
|
||
<el-option v-for="item in df_technical" :key="item.label" :label="item.label"
|
||
:value="item.label"></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
<el-form-item label="Country :" prop="country">
|
||
<el-select v-model="coreForm.country" filterable placeholder="Please select a country"
|
||
value-key="groupID" style="width: 320px;">
|
||
<el-option v-for="item in df_country" :label="item.en_name+' ('+item.zh_name+')'"
|
||
:key="item.en_name" :value="item.en_name"></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
<el-form-item label="Website :" prop="website">
|
||
<el-input type="text" placeholder="eg:http://..." v-model="coreForm.website" style="width: 320px;">
|
||
</el-input>
|
||
</el-form-item>
|
||
<el-form-item prop="major_a">
|
||
<span slot="label">
|
||
<i style="color: #F56C6C;margin-right: 4px;">*</i>
|
||
Major
|
||
</span>
|
||
<el-select v-model="coreForm.major_a" placeholder="Please select major" @change="majorChange(1)"
|
||
style="width: 180px">
|
||
<el-option v-for="item in majors_a" :key="item.major_id"
|
||
:label="item.major_title+' ('+item.nickname+')'" :value="item.major_id"></el-option>
|
||
</el-select>
|
||
<el-select v-model="coreForm.major_b" placeholder="Please select major" v-if="majors_b!=''"
|
||
@change="majorChange(2)" style="margin:0 15px;width: 180px">
|
||
<el-option :key="0" label="None" :value="0"></el-option>
|
||
<el-option v-for="item in majors_b" :key="item.major_id"
|
||
:label="item.major_title+' ('+item.nickname+')'" :value="item.major_id"></el-option>
|
||
</el-select>
|
||
<el-select v-model="coreForm.major_c" placeholder="Please select major" v-if="majors_c!=''"
|
||
style="width: 180px" @change="majorChange(3)">
|
||
<el-option :key="0" label="None" :value="0"></el-option>
|
||
<el-option v-for="item in majors_c" :key="item.major_id"
|
||
:label="item.major_title+' ('+item.nickname+')'" :value="item.major_id"></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
<el-form-item label="Field :" prop="field">
|
||
<el-input v-model="coreForm.field" type="textarea" style="width: 570px;" autosize></el-input>
|
||
</el-form-item>
|
||
<el-form-item label="Introduction :">
|
||
<el-input v-model="coreForm.introduction" type="textarea" style="width: 570px;" autosize>
|
||
</el-input>
|
||
</el-form-item>
|
||
<el-form-item label="Affiliation :" prop="company">
|
||
<el-input v-model="coreForm.company" style="width: 570px;"></el-input>
|
||
</el-form-item>
|
||
</el-form>
|
||
<span slot="footer" class="dialog-footer">
|
||
<el-button @click="coreVisible = false;">Cancel</el-button>
|
||
<el-button type="primary" @click="onSubmit_core(coreForm)">Save</el-button>
|
||
</span>
|
||
</el-dialog>
|
||
|
||
<!-- 申请审稿人出框 -->
|
||
<el-dialog title="Apply Reviewer team" :visible.sync="reviewVisible" width="450px">
|
||
<el-form :model="reviewForm" :rules="rules" ref="review_Form" label-width="90px">
|
||
<el-form-item label="Journal :" prop="journal_id">
|
||
<el-select v-model="reviewForm.journal_id" placeholder="Please select a journal"
|
||
style="width: 300px;">
|
||
<el-option v-for="item in jourReview_list" :label="item.title" :key="item.journal_id"
|
||
:value="item.journal_id"></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
</el-form>
|
||
<span slot="footer" class="dialog-footer">
|
||
<el-button @click="reviewVisible = false">Cancel</el-button>
|
||
<el-button type="primary" @click="onSubmit_review(reviewForm)">OK</el-button>
|
||
</span>
|
||
</el-dialog>
|
||
|
||
<!-- 申请编委弹出框 -->
|
||
<el-dialog title="Apply Editorial board member" :visible.sync="boardVisible" width="450px">
|
||
<el-form :model="boardForm" :rules="rules" ref="board_Form" label-width="90px">
|
||
<el-form-item label="Journal :" prop="journal_id">
|
||
<el-select v-model="boardForm.journal_id" placeholder="Please select a journal"
|
||
style="width: 300px;">
|
||
<el-option v-for="item in jourBord_list" :label="item.title" :key="item.journal_id"
|
||
:value="item.journal_id"></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
</el-form>
|
||
<span slot="footer" class="dialog-footer">
|
||
<el-button @click="boardVisible = false">Cancel</el-button>
|
||
<el-button type="primary" @click="onSubmit_board(boardForm)">OK</el-button>
|
||
</span>
|
||
</el-dialog>
|
||
|
||
<!-- 申请青年科学家弹出框 -->
|
||
<el-dialog title="Apply Young Scientist" :visible.sync="youthVisible" width="450px">
|
||
<el-form :model="youthForm" :rules="rules" ref="youth_Form" label-width="100px">
|
||
<el-form-item label="Journal :" prop="journal_id">
|
||
<el-select v-model="youthForm.journal_id" placeholder="Please select a journal"
|
||
style="width: 300px;">
|
||
<el-option v-for="item in jourYoth_list" :label="item.title" :key="item.journal_id"
|
||
:value="item.journal_id"></el-option>
|
||
</el-select>
|
||
</el-form-item>
|
||
</el-form>
|
||
<span slot="footer" class="dialog-footer">
|
||
<el-button @click="youthVisible = false">Cancel</el-button>
|
||
<el-button type="primary" @click="onSubmit_youth(youthForm)">OK</el-button>
|
||
</span>
|
||
</el-dialog>
|
||
|
||
<!-- 申请补全信息弹出框 -->
|
||
<el-dialog title="Tip" :visible.sync="tipVisible" width="550px">
|
||
<p style="font-size: 15px;line-height: 24px;word-wrap: break-word;word-break: normal;">{{tipTable.message}}
|
||
</p>
|
||
<span slot="footer" class="dialog-footer">
|
||
<el-button @click="tipVisible = false">Cancel</el-button>
|
||
<el-button type="primary" @click="openCoreHand()">Supplementary Information</el-button>
|
||
<el-button type="primary" @click="openCVita()">Supplementary CV.</el-button>
|
||
</span>
|
||
</el-dialog>
|
||
|
||
<!-- 证书弹出框 -->
|
||
<el-dialog :visible.sync="cerVisible" width="850px">
|
||
<p style="text-align: right;margin-bottom: 20px;">
|
||
<el-button type="primary" @click="down_pic" icon="el-icon-download">Download</el-button>
|
||
</p>
|
||
<el-image class="table-td-thumb rev_digol" :src="this.IMG_Url"></el-image>
|
||
</el-dialog>
|
||
|
||
</div>
|
||
</template>
|
||
|
||
<script>
|
||
import Schart from 'vue-schart';
|
||
import bus from '../common/bus';
|
||
export default {
|
||
name: 'dashboard',
|
||
data() {
|
||
return {
|
||
user_id: localStorage.getItem('U_id'),
|
||
username: localStorage.getItem('U_name'),
|
||
userrole: localStorage.getItem('U_status'),
|
||
usercap: localStorage.getItem('U_role'),
|
||
baseUrl: this.Common.baseUrl,
|
||
mediaUrl: this.Common.mediaUrl,
|
||
activeObert: 'first',
|
||
userdata: '',
|
||
proForm: {
|
||
user_id: localStorage.getItem('U_id'),
|
||
suggest_url: ''
|
||
},
|
||
imageUrl: '',
|
||
dysfuncte: [],
|
||
pictureUrl: '',
|
||
coreTable: {},
|
||
authorTable: {},
|
||
reviewTable: {},
|
||
obertTable: {},
|
||
cvitaTable: [],
|
||
starTable: [{
|
||
title: 'You are already the reviewer of the Journal',
|
||
time: '2012-05-56',
|
||
num: '20'
|
||
}, {
|
||
title: 'You are already the reviewer of the Journal',
|
||
time: '2012-05-56',
|
||
num: '20'
|
||
}, {
|
||
title: 'You are already the reviewer of the Journal',
|
||
time: '2012-05-56',
|
||
num: '20'
|
||
}],
|
||
reviewVisible: false,
|
||
coreVisible: false,
|
||
bindVisible: false,
|
||
boardVisible: false,
|
||
youthVisible: false,
|
||
obertVisible: false,
|
||
imgViewerVisible: false,
|
||
cvitaVisible: false,
|
||
starVisible: false,
|
||
apointVisible: false,
|
||
explainVisible: false,
|
||
cerVisible: false,
|
||
IMG_Url: '',
|
||
coreForm: {},
|
||
|
||
bindForm: {
|
||
g_author: '',
|
||
g_website: ''
|
||
},
|
||
reviewForm: {
|
||
journal_id: ''
|
||
},
|
||
boardForm: {
|
||
journal_id: ''
|
||
},
|
||
youthForm: {
|
||
journal_id: ''
|
||
},
|
||
cvitaForm: {},
|
||
apoinForm: {
|
||
journal_id: ''
|
||
},
|
||
tipTable: {},
|
||
tipVisible: false,
|
||
srcPicList: [],
|
||
majors_a: [],
|
||
majors_b: [],
|
||
majors_c: [],
|
||
pwdForm: {
|
||
account: localStorage.getItem("U_name"),
|
||
password: '',
|
||
new_password: '',
|
||
re_password: ''
|
||
},
|
||
geogleList: [],
|
||
review_journal: [],
|
||
board_journal: [],
|
||
youth_journal: [],
|
||
df_country: [],
|
||
df_technical: [{
|
||
label: 'Professor',
|
||
}, {
|
||
label: 'Associate Professor',
|
||
}, {
|
||
label: 'Assistant Professor',
|
||
},
|
||
// {
|
||
// label: 'Ph.D.',
|
||
// },
|
||
{
|
||
label: 'Researcher',
|
||
}, {
|
||
label: 'Associate research fellow',
|
||
}, {
|
||
label: 'Assistant research fellow',
|
||
}, {
|
||
label: 'Engineer',
|
||
}, {
|
||
label: 'Senior engineer',
|
||
},
|
||
{
|
||
label: 'Associate Researcher',
|
||
},
|
||
{
|
||
label: 'Lecturer',
|
||
},
|
||
{
|
||
label: 'Associate Chief Physician',
|
||
},
|
||
{
|
||
label: 'Assistant Researcher',
|
||
},
|
||
{
|
||
label: 'Physician',
|
||
},
|
||
{
|
||
label: 'Chief Physician',
|
||
},
|
||
{
|
||
label: 'Senior Lecturer',
|
||
},
|
||
{
|
||
label: 'Research Fellow',
|
||
},
|
||
{
|
||
label: 'Senior Investigator',
|
||
},
|
||
],
|
||
fileL_pdf1: [],
|
||
pwdVisible: false,
|
||
usermsgList: [],
|
||
jourReview_list: [],
|
||
jourBord_list: [],
|
||
jourYoth_list: [],
|
||
pointJour_list: [],
|
||
starList: [],
|
||
starList_mark: 0,
|
||
starQuery: {
|
||
pageIndex: 1,
|
||
pageSize: 10
|
||
},
|
||
starTotal: 0,
|
||
rules: {
|
||
journal_id: [{
|
||
required: true,
|
||
message: 'Please select a journal',
|
||
trigger: 'blur'
|
||
}],
|
||
problem_id: [{
|
||
required: true,
|
||
message: 'Please select the question type',
|
||
trigger: 'blur'
|
||
}],
|
||
suggest_desc: [{
|
||
required: true,
|
||
message: 'Please enter a description of the problem',
|
||
trigger: 'blur'
|
||
}],
|
||
email: [{
|
||
required: true,
|
||
message: 'Please enter email',
|
||
trigger: 'blur'
|
||
}, {
|
||
validator: function(rule, value, callback) {
|
||
if (/^[-.-_A-Za-z0-9]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/.test(value) == false) {
|
||
callback(new Error("Please enter the correct email format"));
|
||
} else {
|
||
callback();
|
||
}
|
||
},
|
||
trigger: "blur"
|
||
}],
|
||
phone: [{
|
||
required: true,
|
||
message: 'Please enter phone',
|
||
trigger: 'blur'
|
||
}, {
|
||
validator: function(rule, value, callback) {
|
||
if (/^1[34578]\d{9}$/.test(value) == false) {
|
||
callback(new Error("Please enter the correct phone format"));
|
||
} else {
|
||
callback();
|
||
}
|
||
},
|
||
trigger: "blur"
|
||
}],
|
||
password: [{
|
||
required: true,
|
||
message: 'Please enter old password',
|
||
trigger: 'blur'
|
||
}],
|
||
new_password: [{
|
||
required: true,
|
||
message: 'Please enter new password ',
|
||
trigger: 'blur'
|
||
}],
|
||
re_password: [{
|
||
required: true,
|
||
message: 'Please enter the new password again',
|
||
trigger: 'blur'
|
||
}],
|
||
gender: [{
|
||
required: true,
|
||
message: 'Please select gender',
|
||
trigger: 'blur'
|
||
}],
|
||
// major_a: [{
|
||
// required: true,
|
||
// message: 'Please select major',
|
||
// trigger: 'blur'
|
||
// }],
|
||
technical: [{
|
||
required: true,
|
||
message: 'Please select title',
|
||
trigger: 'blur'
|
||
}],
|
||
country: [{
|
||
required: true,
|
||
message: 'Please select country',
|
||
trigger: 'blur'
|
||
}],
|
||
field: [{
|
||
required: true,
|
||
message: 'Please input field',
|
||
trigger: 'blur'
|
||
}],
|
||
company: [{
|
||
required: true,
|
||
message: 'Please input affiliation',
|
||
trigger: 'blur'
|
||
}],
|
||
realname: [{
|
||
required: true,
|
||
message: 'Please input real name',
|
||
trigger: 'blur'
|
||
}],
|
||
pub_doi: [{
|
||
required: true,
|
||
message: 'Please input DOI',
|
||
trigger: 'blur'
|
||
}],
|
||
local_doi: [{
|
||
required: true,
|
||
message: 'Please input DOI',
|
||
trigger: 'blur'
|
||
}]
|
||
}
|
||
};
|
||
},
|
||
created: function() {
|
||
this.getFeedback();
|
||
this.getPersonData();
|
||
this.getCVitaData();
|
||
this.initUserMsg();
|
||
this.getPointData();
|
||
this.getReviewList();
|
||
this.getYouthList();
|
||
this.getBoardList();
|
||
},
|
||
|
||
components: {
|
||
Schart,
|
||
'el-image-viewer': () => import('element-ui/packages/image/src/image-viewer')
|
||
},
|
||
computed: {
|
||
|
||
},
|
||
methods: {
|
||
// 新消息
|
||
initUserMsg() {
|
||
this.$api.post('api/User/getUserMsg', {
|
||
account: this.username
|
||
}).then((res) => {
|
||
this.usermsgList = res;
|
||
});
|
||
},
|
||
|
||
// 一键已读
|
||
oneRead() {
|
||
// 二次确认删除
|
||
this.$confirm('Are you sure you want to read all messages?', 'Tip', {
|
||
type: 'warning'
|
||
})
|
||
.then(() => {
|
||
this.$api
|
||
.post('api/Article/allEditorMsgReaded', {
|
||
editor_id: this.user_id
|
||
})
|
||
.then(res => {
|
||
if (res.code == 0) {
|
||
this.initUserMsg()
|
||
this.$message.success('Successfully read all messages!');
|
||
} else {
|
||
this.$message.error(res.msg);
|
||
}
|
||
})
|
||
.catch(err => {
|
||
this.$message.error(err);
|
||
});
|
||
})
|
||
.catch(() => {});
|
||
},
|
||
|
||
// 跳转
|
||
showNewMsg(row) {
|
||
this.$api.post('api/User/changeMsgState', {
|
||
id: row.user_msg_id
|
||
})
|
||
.then(res => {
|
||
this.initUserMsg();
|
||
this.$router.push(row.url);
|
||
});
|
||
},
|
||
|
||
|
||
|
||
// 意见反馈
|
||
getFeedback() {
|
||
this.$api
|
||
.post('api/Suggest/getProblem', this.proForm)
|
||
.then(res => {
|
||
if (res.code == 0) {
|
||
this.dysfuncte = res.data
|
||
} else {
|
||
this.$message.error(res.msg);
|
||
}
|
||
})
|
||
.catch(err => {
|
||
this.$message.error(err);
|
||
});
|
||
},
|
||
|
||
onSubmit() {
|
||
this.$refs.probleform.validate(valid => {
|
||
if (valid) {
|
||
this.$api
|
||
.post('api/Suggest/addSuggest', this.proForm)
|
||
.then(res => {
|
||
if (res.code == 0) {
|
||
this.$refs.probleform.resetFields();
|
||
this.$message.success('Comments submitted successfully!');
|
||
this.$router.push('/comOpinionSuccess');
|
||
} else {
|
||
this.$message.error(res.msg);
|
||
}
|
||
})
|
||
.catch(err => {
|
||
this.$message.error(err);
|
||
});
|
||
} else {
|
||
this.$message.error('Failed to submit. Please ensure the integrity of the information!');
|
||
return false;
|
||
}
|
||
});
|
||
},
|
||
|
||
// orcid
|
||
skip_link() {
|
||
window.open('https://orcid.org/' + this.coreTable.orcid)
|
||
},
|
||
|
||
skip_check() {
|
||
window.open(
|
||
'https://orcid.org/oauth/authorize?client_id=APP-PKF0BGRP6DWM6FUB&response_type=code&scope=/authenticate&redirect_uri=https://submission.tmrjournals.com/orcidBind'
|
||
)
|
||
},
|
||
|
||
// 上传头像
|
||
unplIcon() {
|
||
this.$refs["upIconIMg"].$refs["upload-inner"].handleClick();
|
||
},
|
||
//上传图片
|
||
handleAvatarSuccess(res, file) {
|
||
if (res.code == 0) {
|
||
this.proForm.suggest_url = res.data.icon;
|
||
} else {
|
||
this.$message.error(res.msg);
|
||
}
|
||
this.imageUrl = URL.createObjectURL(file.raw);
|
||
},
|
||
handleAvatarError(res, file) {
|
||
// this.$message.error(res);
|
||
},
|
||
beforeAvatarUpload(file) {
|
||
const isLt2M = file.size / 1024 / 1024 < 1;
|
||
if (!isLt2M) {
|
||
this.$message.error('The picture size cannot exceed 1M!');
|
||
}
|
||
return isLt2M;
|
||
},
|
||
|
||
// 重新生成H指数
|
||
getHindex() {
|
||
this.$api
|
||
.post('api/User/googleGetIndex', {
|
||
'user_id': this.coreTable.user_id
|
||
})
|
||
.then(res => {
|
||
if (res.code == 0) {
|
||
this.coreTable.hindex = 1
|
||
} else {
|
||
this.coreTable.hindex = 'no'
|
||
}
|
||
})
|
||
.catch(err => {
|
||
this.$message.error(err);
|
||
});
|
||
},
|
||
|
||
// 获取简历列表
|
||
getCVitaData() {
|
||
this.$api
|
||
.post('api/Ucenter/getUserInfo', {
|
||
'user_id': this.user_id
|
||
})
|
||
.then(res => {
|
||
if (res.code == 0) {
|
||
this.cvitaTable = res.data.cvs
|
||
} else {
|
||
this.$message.error(res.msg);
|
||
}
|
||
})
|
||
.catch(err => {
|
||
this.$message.error(err);
|
||
});
|
||
},
|
||
|
||
// 简历弹出层
|
||
openCVita() {
|
||
this.cvitaVisible = true
|
||
this.cvitaForm.cv = ''
|
||
},
|
||
|
||
// 删除简历
|
||
deletCVita(e) {
|
||
// 二次确认删除
|
||
this.$confirm('Are you sure you want to delete the CV.?', 'Tip', {
|
||
type: 'warning'
|
||
})
|
||
.then(() => {
|
||
this.$api
|
||
.post('api/Ucenter/delUserCv', e)
|
||
.then(res => {
|
||
if (res.code == 0) {
|
||
this.$message.success('Delete successful!');
|
||
this.getCVitaData()
|
||
} else {
|
||
this.$message.error(res.msg);
|
||
}
|
||
})
|
||
.catch(err => {
|
||
this.$message.error(err);
|
||
});
|
||
})
|
||
.catch(() => {});
|
||
},
|
||
|
||
|
||
// 星级弹出层
|
||
openStar() {
|
||
this.starVisible = true
|
||
},
|
||
|
||
getStarData() {
|
||
|
||
},
|
||
// 获取引用列表
|
||
getPointData() {
|
||
this.$api
|
||
.post('api/Journal/getAllJournal')
|
||
.then(res => {
|
||
if (res.code == 0) {
|
||
this.pointJour_list = res.data.journals
|
||
} else {
|
||
this.$message.error(res.msg);
|
||
}
|
||
})
|
||
.catch(err => {
|
||
this.$message.error(err);
|
||
});
|
||
},
|
||
|
||
// 保存引用星级
|
||
onSubmit_apoin() {
|
||
this.$refs.apoint_Form.validate(valid => {
|
||
if (valid) {
|
||
this.apoinForm.pub_doi = '10.53388/' + this.apoinForm.pub_doi
|
||
this.$api
|
||
.post('api/User/addIndexApply', this.apoinForm)
|
||
.then(res => {
|
||
if (res.code == 0) {
|
||
this.apointVisible = false
|
||
this.$message.success('Submitted successfully!');
|
||
this.getPersonData()
|
||
} else {
|
||
this.$message.error(res.msg);
|
||
}
|
||
})
|
||
.catch(err => {
|
||
this.$message.error(err);
|
||
});
|
||
} else {
|
||
this.$message.error('Failed to submit. Please ensure the integrity of the information!');
|
||
return false;
|
||
}
|
||
});
|
||
},
|
||
|
||
// 保存分页导航
|
||
handleStarChange(val) {
|
||
this.$set(this.starQuery, 'pageIndex', val);
|
||
this.getStarData();
|
||
},
|
||
|
||
|
||
// 获取个人信息,数据列表
|
||
getPersonData() {
|
||
this.$api
|
||
.post('api/Ucenter/getUserInfo', {
|
||
'user_id': this.user_id
|
||
})
|
||
.then(res => {
|
||
if (res.code == 0) {
|
||
this.coreTable = res.data.baseInfo
|
||
this.cvitaForm.user_id = res.data.baseInfo.user_id;
|
||
this.reviewForm.user_id = res.data.baseInfo.user_id;
|
||
this.boardForm.user_id = res.data.baseInfo.user_id;
|
||
this.youthForm.user_id = res.data.baseInfo.user_id;
|
||
this.apoinForm.user_id = res.data.baseInfo.user_id;
|
||
if (res.data.baseInfo.icon != '') {
|
||
this.pictureUrl = this.mediaUrl + 'usericon/' + res.data.baseInfo.icon
|
||
} else {
|
||
this.pictureUrl = ''
|
||
}
|
||
if (res.data.asAuthor) {
|
||
this.authorTable = res.data.asAuthor
|
||
}
|
||
if (res.data.asReviewer) {
|
||
this.review_journal = res.data.asReviewer.journal
|
||
this.reviewTable = res.data.asReviewer
|
||
if (!this.usercap.includes('reviewer')) {
|
||
localStorage.setItem('U_role', this.usercap + ',reviewer')
|
||
}
|
||
}
|
||
if (res.data.asBoard) {
|
||
this.board_journal = res.data.asBoard
|
||
if (!this.usercap.includes(',board')) {
|
||
localStorage.setItem('U_role', this.usercap + ',board')
|
||
}
|
||
}
|
||
if (res.data.Yboard) {
|
||
this.youth_journal = res.data.Yboard
|
||
for (let i = 0; i < this.youth_journal.length; i++) {
|
||
if (i == 0) {
|
||
this.youth_journal[i].arrowMark = 1
|
||
} else {
|
||
this.youth_journal[i].arrowMark = 0
|
||
}
|
||
}
|
||
if (!this.usercap.includes('yboard')) {
|
||
localStorage.setItem('U_role', this.usercap + ',yboard')
|
||
}
|
||
}
|
||
this.getScoreData();
|
||
} else {
|
||
this.$message.error(res.msg);
|
||
}
|
||
})
|
||
.catch(err => {
|
||
this.$message.error(err);
|
||
});
|
||
|
||
this.$api
|
||
.post('api/Reviewer/getCountrys')
|
||
.then(res => {
|
||
this.df_country = res.countrys;
|
||
})
|
||
.catch(err => {
|
||
this.$message.error(err);
|
||
});
|
||
},
|
||
|
||
// 评分
|
||
getScoreData() {
|
||
this.starList = []
|
||
if (this.coreTable.score < 0.5 && this.coreTable.score > 0) {
|
||
this.starList.push({
|
||
star: 2
|
||
})
|
||
this.starList_mark = 1
|
||
} else {
|
||
let zheng = Math.floor(this.coreTable.score)
|
||
let xiao = Number(this.coreTable.score) - Math.floor(this.coreTable.score)
|
||
if (xiao >= 0.5) {
|
||
xiao = 0.5
|
||
} else {
|
||
xiao = 0
|
||
}
|
||
for (var i = 0; i < zheng; i++) {
|
||
this.starList.push({
|
||
star: 1
|
||
})
|
||
}
|
||
if (xiao == 0.5) {
|
||
this.starList.push({
|
||
star: 0
|
||
})
|
||
}
|
||
this.starList_mark = Number(zheng) + Number(xiao)
|
||
}
|
||
|
||
},
|
||
|
||
|
||
|
||
// 证书弹出层
|
||
cerFicte(e) {
|
||
this.IMG_Url = this.Common.mediaUrl + 'cert/' + e
|
||
this.cerVisible = true;
|
||
},
|
||
|
||
// 证书折叠
|
||
arrowBtnChange(index, e) {
|
||
this.youth_journal[index].arrowMark = e
|
||
this.$forceUpdate()
|
||
},
|
||
|
||
// 证书下载
|
||
down_pic() {
|
||
const a_b = document.createElement('a');
|
||
a_b.href = this.IMG_Url;
|
||
a_b.download = 'certificate.png';
|
||
a_b.click()
|
||
},
|
||
|
||
// 统计图跳转
|
||
JumpPage(e) {
|
||
if (e == 1) {
|
||
// this.obertVisible = true
|
||
} else if (e == 2) {
|
||
this.$router.push({
|
||
path: 'articleList'
|
||
});
|
||
} else if (e == 3) {
|
||
this.$router.push({
|
||
path: 'articleList'
|
||
});
|
||
} else if (e == 4) {
|
||
// this.$router.push({
|
||
// path: 'perhistory'
|
||
// });
|
||
} else if (e == 6) {
|
||
this.$router.push({
|
||
path: 'peerewer'
|
||
});
|
||
}
|
||
},
|
||
|
||
// 大图预览
|
||
largePic() {
|
||
this.srcPicList = []
|
||
this.srcPicList.push('https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg')
|
||
// this.$refs.preview.clickHandler()
|
||
this.imgViewerVisible = true;
|
||
const m = (e) => {
|
||
e.preventDefault()
|
||
};
|
||
document.body.style.overflow = 'hidden';
|
||
document.addEventListener("touchmove", m, false); // 禁止页面滑动
|
||
},
|
||
closeImgViewer() {
|
||
this.imgViewerVisible = false;
|
||
const m = (e) => {
|
||
e.preventDefault()
|
||
};
|
||
document.body.style.overflow = 'auto';
|
||
document.removeEventListener("touchmove", m, true);
|
||
},
|
||
|
||
// 点击修改密码
|
||
psw_word() {
|
||
this.pwdVisible = true;
|
||
},
|
||
|
||
// 点击提交密码
|
||
save_pwd(pwdForm) {
|
||
this.$refs.pwd_form.validate((valid) => {
|
||
if (valid) {
|
||
if (pwdForm.new_password == pwdForm.re_password) {
|
||
this.$api
|
||
.post('master/Admin/changepasswd', this.pwdForm)
|
||
.then(res => {
|
||
if (res.code == 0) {
|
||
this.$message.success('Password modified successfully!');
|
||
this.pwdVisible = false;
|
||
} else {
|
||
this.$message.error(res.msg);
|
||
}
|
||
})
|
||
.catch(err => {
|
||
this.$message.error(err);
|
||
});
|
||
} else {
|
||
this.$message.error("The two new password entries are inconsistent!");
|
||
}
|
||
} else {
|
||
this.$message.error('error submit!!');
|
||
return false;
|
||
}
|
||
});
|
||
},
|
||
|
||
// 点击绑定谷歌账号
|
||
H_Index() {
|
||
const loading = this.$loading({
|
||
lock: true,
|
||
text: 'Loading...',
|
||
spinner: 'el-icon-loading',
|
||
background: 'rgba(0, 0, 0, 0.7)'
|
||
});
|
||
this.$api
|
||
.post('api/User/googleGetAuthor', {
|
||
user_id: this.coreTable.user_id
|
||
})
|
||
.then(res => {
|
||
if (res.code == 0) {
|
||
this.geogleList = res.data.authors
|
||
this.bindVisible = true
|
||
this.$forceUpdate()
|
||
loading.close()
|
||
} else {
|
||
this.$message.error('No corresponding data!');
|
||
loading.close()
|
||
}
|
||
})
|
||
.catch(err => {
|
||
this.$message.error(err);
|
||
loading.close()
|
||
});
|
||
},
|
||
|
||
// 选择谷歌账号
|
||
choseGego(e) {
|
||
this.bindForm.g_author = e.author_id
|
||
this.bindForm.g_website = e.link
|
||
this.bindForm.user_id = this.coreTable.user_id
|
||
this.$forceUpdate()
|
||
},
|
||
|
||
// 保存谷歌账号
|
||
save_bind() {
|
||
if (this.bindForm.g_author == '') {
|
||
this.$message.error('Please select one!');
|
||
return
|
||
}
|
||
this.$api
|
||
.post('api/User/googleBindAuthor', this.bindForm)
|
||
.then(res => {
|
||
if (res.code == 0) {
|
||
this.getHindex();
|
||
this.bindVisible = false
|
||
this.$message.success('Successfully modified personal index');
|
||
} else {
|
||
this.$message.error(res.msg);
|
||
}
|
||
})
|
||
.catch(err => {
|
||
this.$message.error(err);
|
||
});
|
||
},
|
||
|
||
// 复制邀请码
|
||
codeCopy() {
|
||
var input = document.createElement("input"); // 创建input对象
|
||
input.value = this.coreTable.code; // 设置复制内容
|
||
document.body.appendChild(input); // 添加临时实例
|
||
input.select(); // 选择实例内容
|
||
document.execCommand("Copy"); // 执行复制
|
||
document.body.removeChild(input); // 删除临时实例
|
||
this.$message.success('Invitation code copied successfully!');
|
||
},
|
||
|
||
// 个人信息弹出框
|
||
openCoreHand() {
|
||
this.coreForm = JSON.parse(JSON.stringify(this.coreTable))
|
||
this.fileL_pdf1 = []
|
||
if (this.coreForm.qualifications != '') {
|
||
this.fileL_pdf1 = [{}];
|
||
this.fileL_pdf1[0].name = 'reviewerCV';
|
||
this.fileL_pdf1[0].url = this.mediaUrl + 'reviewer/' + this.coreForm.qualifications;
|
||
|
||
}
|
||
this.coreForm.majorList = []
|
||
if (this.coreTable.majorshu != '' && this.coreTable.majorshu != undefined) {
|
||
if (typeof(this.coreTable.majorshu) == 'number') {
|
||
this.coreForm.majorList.push(this.coreTable.majorshu)
|
||
} else {
|
||
this.coreForm.majorList = this.coreTable.majorshu.split(",")
|
||
}
|
||
}
|
||
this.$nextTick(() => {
|
||
this.jiLInaoan()
|
||
this.coreVisible = true
|
||
})
|
||
},
|
||
|
||
// 点击提交个人基本信息
|
||
onSubmit_core(coreForm) {
|
||
this.$refs.core_Form.validate((valid) => {
|
||
if (valid) {
|
||
this.$api
|
||
.post('api/Ucenter/updateUserInfo', this.coreForm)
|
||
.then(res => {
|
||
if (res.code == 0) {
|
||
this.$message.success(
|
||
'Personal information modified successfully!');
|
||
this.coreVisible = false
|
||
this.tipVisible = false
|
||
this.getPersonData();
|
||
} else {
|
||
this.$message.error(res.msg);
|
||
}
|
||
})
|
||
.catch(err => {
|
||
this.$message.error(err);
|
||
});
|
||
} else {
|
||
this.$message.error('error submit!!');
|
||
return false;
|
||
}
|
||
});
|
||
},
|
||
|
||
// 审稿人可申请的期刊
|
||
getReviewList() {
|
||
this.$api
|
||
.post('api/Journal/getJournalOutReviewer', {
|
||
username: this.username
|
||
})
|
||
.then((res) => {
|
||
if (res.code == 0) {
|
||
this.jourReview_list = res.data.journals;
|
||
}
|
||
})
|
||
.catch((err) => {
|
||
console.log(err);
|
||
});
|
||
},
|
||
|
||
|
||
// 审稿人弹出框
|
||
reviewPoint(e) {
|
||
if (e == 2) {
|
||
this.$api
|
||
.post('api/Ucenter/checkApply', {
|
||
user_id: this.user_id,
|
||
type: 1
|
||
})
|
||
.then((res) => {
|
||
if (res.code == 0) {
|
||
this.reviewForm.journal_id = '';
|
||
this.reviewVisible = true
|
||
} else {
|
||
// 提示完善信息
|
||
this.tipVisible = true
|
||
this.tipTable.message = res.msg
|
||
}
|
||
})
|
||
.catch((err) => {
|
||
console.log(err);
|
||
});
|
||
} else {
|
||
this.reviewVisible = true
|
||
}
|
||
},
|
||
|
||
// 点击提交审稿人信息
|
||
onSubmit_review(reviewForm) {
|
||
this.$refs.review_Form.validate((valid) => {
|
||
if (valid) {
|
||
this.$api
|
||
.post('api/Ucenter/applyReviewer', this.reviewForm)
|
||
.then(res => {
|
||
if (res.code == 0) {
|
||
this.reviewVisible = false
|
||
this.$confirm(
|
||
'Your Reviewer application has been approved. The editor will be in touch with you soon.',
|
||
'', {
|
||
showCancelButton: false,
|
||
type: 'success'
|
||
})
|
||
.then(() => {})
|
||
.catch(() => {});
|
||
} else {
|
||
this.$message.error(res.msg);
|
||
}
|
||
})
|
||
.catch(err => {
|
||
this.$message.error(err);
|
||
});
|
||
} else {
|
||
this.$message.error('error submit!!');
|
||
return false;
|
||
}
|
||
});
|
||
},
|
||
|
||
// 编委可申请的期刊
|
||
getBoardList() {
|
||
this.$api
|
||
.post('api/Ucenter/getCanApplyJournal', {
|
||
user_id: this.user_id
|
||
})
|
||
.then((res) => {
|
||
if (res.code == 0) {
|
||
this.jourBord_list = res.data.journals;
|
||
}
|
||
})
|
||
.catch((err) => {
|
||
console.log(err);
|
||
});
|
||
},
|
||
|
||
|
||
// 编委弹出框
|
||
boardPoint() {
|
||
// 判断
|
||
this.$api
|
||
.post('api/Ucenter/checkApply', {
|
||
user_id: this.user_id,
|
||
type: 3
|
||
})
|
||
.then((res) => {
|
||
if (res.code == 0) {
|
||
this.boardForm.journal_id = '';
|
||
this.boardVisible = true;
|
||
} else {
|
||
// 提示完善信息
|
||
this.tipVisible = true
|
||
this.tipTable.message = res.msg
|
||
}
|
||
})
|
||
.catch((err) => {
|
||
console.log(err);
|
||
});
|
||
},
|
||
|
||
// 点击提交编委信息
|
||
onSubmit_board(boardForm) {
|
||
this.$refs.board_Form.validate((valid) => {
|
||
if (valid) {
|
||
this.$api
|
||
.post('api/Ucenter/applyBoard', this.boardForm)
|
||
.then(res => {
|
||
if (res.code == 0) {
|
||
this.boardVisible = false
|
||
this.$confirm(
|
||
'Your Editorial Board application has been approved. The editor will be in touch with you soon.',
|
||
'', {
|
||
showCancelButton: false,
|
||
type: 'success'
|
||
})
|
||
.then(() => {})
|
||
.catch(() => {});
|
||
} else {
|
||
this.$message.error(res.msg);
|
||
}
|
||
})
|
||
.catch(err => {
|
||
this.$message.error(err);
|
||
});
|
||
} else {
|
||
this.$message.error('error submit!!');
|
||
return false;
|
||
}
|
||
});
|
||
},
|
||
|
||
// 青年科学家可申请的期刊
|
||
getYouthList() {
|
||
this.$api
|
||
.post('api/Ucenter/getCanApplyYjournal', {
|
||
user_id: this.user_id
|
||
})
|
||
.then((res) => {
|
||
if (res.code == 0) {
|
||
this.jourYoth_list = res.data.journals;
|
||
}
|
||
})
|
||
.catch((err) => {
|
||
console.log(err);
|
||
});
|
||
},
|
||
|
||
// 青年科学家弹出框
|
||
youthPoint() {
|
||
// 判断
|
||
this.$api
|
||
.post('api/Ucenter/checkApply', {
|
||
user_id: this.user_id,
|
||
type: 2
|
||
})
|
||
.then((res) => {
|
||
if (res.code == 0) {
|
||
this.youthForm.journal_id = '';
|
||
this.youthVisible = true;
|
||
} else {
|
||
// 提示完善信息
|
||
this.tipVisible = true
|
||
this.tipTable.message = res.msg
|
||
}
|
||
})
|
||
.catch((err) => {
|
||
console.log(err);
|
||
});
|
||
|
||
|
||
},
|
||
|
||
// 点击提交青年科学家信息
|
||
onSubmit_youth(youthForm) {
|
||
this.$refs.youth_Form.validate((valid) => {
|
||
if (valid) {
|
||
this.$api
|
||
.post('api/Ucenter/applyYboard', this.youthForm)
|
||
.then(res => {
|
||
if (res.code == 0) {
|
||
this.youthVisible = false
|
||
this.$confirm(
|
||
'Your Young Scientist application has been approved. The editor will be in touch with you soon.',
|
||
'', {
|
||
showCancelButton: false,
|
||
type: 'success'
|
||
})
|
||
.then(() => {})
|
||
.catch(() => {});
|
||
} else {
|
||
this.$message.error(res.msg);
|
||
}
|
||
})
|
||
.catch(err => {
|
||
this.$message.error(err);
|
||
});
|
||
} else {
|
||
this.$message.error('error submit!!');
|
||
return false;
|
||
}
|
||
});
|
||
},
|
||
|
||
// 初始化级联
|
||
jiLInaoan() {
|
||
this.$api
|
||
.post('api/Ucenter/getMajor', {
|
||
major_id: 1
|
||
}).then((res) => {
|
||
this.majors_a = res.data.major.children;
|
||
if (this.coreForm.majorList[0] != undefined) {
|
||
this.coreForm.major_a = Number(this.coreForm.majorList[0])
|
||
this.$api
|
||
.post('api/Ucenter/getMajor', {
|
||
major_id: this.coreForm.major_a
|
||
}).then((res) => {
|
||
this.majors_b = res.data.major.children;
|
||
this.majors_c = []
|
||
this.coreForm.major_b = ''
|
||
this.coreForm.major_c = ''
|
||
this.majorChange_panduan()
|
||
if (this.coreForm.majorList[1] != undefined) {
|
||
this.coreForm.major_b = Number(this.coreForm.majorList[1])
|
||
this.$api
|
||
.post('api/Ucenter/getMajor', {
|
||
major_id: this.coreForm.major_b
|
||
}).then((ref) => {
|
||
if (ref.data.major.children.length != 0) {
|
||
this.majors_c = ref.data.major.children;
|
||
this.majorChange_panduan()
|
||
if (this.coreForm.majorList[2] != undefined) {
|
||
this.coreForm.major_c = Number(this.coreForm.majorList[
|
||
2])
|
||
this.majorChange_panduan()
|
||
}
|
||
}
|
||
});
|
||
}
|
||
});
|
||
}
|
||
});
|
||
},
|
||
|
||
// 下拉级联添加
|
||
initMajor() {
|
||
this.$api
|
||
.post('api/Ucenter/getMajor', {
|
||
major_id: 1
|
||
}).then((res) => {
|
||
this.majors_a = res.data.major.children;
|
||
});
|
||
},
|
||
|
||
majorChange(e) {
|
||
this.$forceUpdate()
|
||
if (e == 1) {
|
||
this.$api
|
||
.post('api/Ucenter/getMajor', {
|
||
major_id: this.coreForm.major_a
|
||
}).then((res) => {
|
||
this.majors_b = res.data.major.children;
|
||
this.majors_c = []
|
||
this.coreForm.major_b = ''
|
||
this.coreForm.major_c = ''
|
||
this.majorChange_panduan()
|
||
});
|
||
} else if (e == 2 && this.coreForm.major_b != 0) {
|
||
this.$api
|
||
.post('api/Ucenter/getMajor', {
|
||
major_id: this.coreForm.major_b
|
||
}).then((res) => {
|
||
this.majors_c = res.data.major.children;
|
||
this.coreForm.major_c = ''
|
||
this.majorChange_panduan()
|
||
});
|
||
} else {
|
||
this.majorChange_panduan()
|
||
}
|
||
},
|
||
|
||
majorChange_panduan() {
|
||
if (this.coreForm.major_c != '' || this.coreForm.major_c != 0) {
|
||
this.coreForm.major = this.coreForm.major_c
|
||
} else if (this.coreForm.major_b != '' || this.coreForm.major_b != 0) {
|
||
this.coreForm.major = this.coreForm.major_b
|
||
} else {
|
||
this.coreForm.major = this.coreForm.major_a
|
||
}
|
||
},
|
||
|
||
//上传图片
|
||
handleAvatarSuccess2(res, file) {
|
||
if (res.code == 0) {
|
||
this.coreForm.icon = res.upurl;
|
||
this.coreForm.user_id = this.coreTable.user_id;
|
||
|
||
this.$api
|
||
.post('api/Ucenter/updateIncon', this.coreForm)
|
||
.then(res => {
|
||
if (res.code == 0) {
|
||
this.$message.success('Successfully uploaded the avatar!');
|
||
this.pictureUrl = URL.createObjectURL(file.raw);
|
||
} else {
|
||
this.$message.error(res.msg);
|
||
}
|
||
})
|
||
.catch(err => {
|
||
this.$message.error(err);
|
||
});
|
||
} else {
|
||
this.$message.error(res.msg);
|
||
}
|
||
},
|
||
handleAvatarError2(res, file) {
|
||
// this.$message.error(res);
|
||
},
|
||
beforeAvatarUpload2(file) {
|
||
const isLt2M = file.size / 1024 / 1024 < 1;
|
||
if (!isLt2M) {
|
||
this.$message.error('Picture size cannot exceed 1M!');
|
||
}
|
||
return isLt2M;
|
||
},
|
||
|
||
// 上传文件
|
||
handleChange1(file, fileList) {
|
||
if (fileList.length > 0) {
|
||
this.fileL_pdf1 = [fileList[fileList.length - 1]]
|
||
}
|
||
},
|
||
handleFileSuccess1(res, file) {
|
||
this.$refs.uploadRef1.clearFiles();
|
||
if (res.code == 0) {
|
||
this.cvitaForm.cv = res.upurl;
|
||
this.$api
|
||
.post('api/Ucenter/addUserCv', this.cvitaForm)
|
||
.then(res => {
|
||
if (res.code == 0) {
|
||
this.$message.success('Upload succeeded!');
|
||
this.getCVitaData()
|
||
} else {
|
||
this.$message.error(res.msg);
|
||
}
|
||
})
|
||
.catch(err => {
|
||
this.$message.error(err);
|
||
});
|
||
} else {
|
||
this.$message.error(res.msg);
|
||
}
|
||
},
|
||
beforeRemove(file, fileList) {
|
||
return this.$confirm(`Remove ${ file.name }?`)
|
||
},
|
||
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!");
|
||
},
|
||
|
||
// 时间格式
|
||
formatDate(timestamp) {
|
||
var date = new Date(timestamp * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
|
||
var Y = date.getFullYear() + '-';
|
||
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
|
||
var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
||
var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
|
||
var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
|
||
var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
|
||
return Y + M + D;
|
||
},
|
||
|
||
formatYear(timestamp) {
|
||
var date = new Date(timestamp * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
|
||
var Y = date.getFullYear() + ' . ';
|
||
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1);
|
||
return Y + M;
|
||
},
|
||
|
||
}
|
||
};
|
||
</script>
|
||
|
||
|
||
<style scoped>
|
||
.msg-table {
|
||
text-align: center;
|
||
}
|
||
|
||
.add-button {
|
||
display: block;
|
||
margin: 50px auto;
|
||
}
|
||
|
||
.top-content {
|
||
padding: 2px;
|
||
}
|
||
|
||
.top-content span {
|
||
/* font-family: Arial, Helvetica, sans-serif; */
|
||
display: block;
|
||
padding: 2px;
|
||
font-size: 14px;
|
||
line-height: 1.5;
|
||
}
|
||
|
||
.grid-jue1,
|
||
.grid-jue2,
|
||
.grid-jue3,
|
||
.grid-jue4 {
|
||
margin: 10px 10px 20px 10px;
|
||
padding: 20px 20px 26px 20px;
|
||
color: #fff;
|
||
border-radius: 5px;
|
||
}
|
||
|
||
.grid-jue1 p,
|
||
.grid-jue2 p,
|
||
.grid-jue3 p,
|
||
.grid-jue4 p {
|
||
margin-left: 50px;
|
||
margin-top: -30px;
|
||
}
|
||
|
||
.grid-jue1:hover,
|
||
.grid-jue2:hover,
|
||
.grid-jue3:hover,
|
||
.grid-jue4:hover {
|
||
box-shadow: 0 2px 12px 0 rgb(0 0 0 / 30%);
|
||
}
|
||
|
||
.grid-jue1 {
|
||
background-image: linear-gradient(to right, #1c66c0, #118bb3);
|
||
}
|
||
|
||
.grid-jue2 {
|
||
background-image: linear-gradient(to right, #e26a2d, #f5953c);
|
||
}
|
||
|
||
.grid-jue3 {
|
||
background-image: linear-gradient(to right, #4640c4, #7959e1);
|
||
}
|
||
|
||
.grid-jue4 {
|
||
background-image: linear-gradient(to right, #cc3646, #e84651);
|
||
}
|
||
|
||
|
||
.join_bth {
|
||
margin: 15px 0 25px 0;
|
||
color: #fff;
|
||
text-align: center;
|
||
border-radius: 4px;
|
||
width: 100%;
|
||
max-width: 340px;
|
||
height: 50px;
|
||
line-height: 50px;
|
||
background-color: #006699;
|
||
font-size: 20px;
|
||
}
|
||
|
||
.join_bth div {
|
||
color: #fff;
|
||
text-align: center;
|
||
border-radius: 4px;
|
||
width: 100%;
|
||
height: 50px;
|
||
line-height: 50px;
|
||
background-color: #006699;
|
||
font-size: 20px;
|
||
}
|
||
|
||
.join_bth div:hover {
|
||
cursor: pointer;
|
||
text-decoration: underline;
|
||
}
|
||
|
||
.join_link {
|
||
height: 100%;
|
||
}
|
||
|
||
.join_link p {
|
||
margin-bottom: 6px;
|
||
}
|
||
|
||
.join_link b {
|
||
/* color: #fff;
|
||
text-align: center;
|
||
border-radius: 4px;
|
||
width: 240px;
|
||
height: 42px;
|
||
line-height: 42px;
|
||
background-color: #006699;
|
||
font-size: 15px; */
|
||
margin-right: 5px;
|
||
display: inline-block;
|
||
cursor: pointer;
|
||
color: #006699;
|
||
font-weight: normal;
|
||
}
|
||
|
||
.join_link b:hover {
|
||
|
||
color: #006699;
|
||
/* text-decoration: underline; */
|
||
}
|
||
|
||
.join_link .icon_img {
|
||
width: 15px;
|
||
height: 15px;
|
||
margin-right: 5px;
|
||
margin-left: 5px;
|
||
vertical-align: middle;
|
||
color: #006699;
|
||
}
|
||
|
||
.avatar-uploader .el-upload {
|
||
border: 1px dashed #d9d9d9;
|
||
border-radius: 6px;
|
||
cursor: pointer;
|
||
position: relative;
|
||
overflow: hidden;
|
||
width: 100px;
|
||
height: 100px;
|
||
}
|
||
|
||
.avatar-uploader_small {
|
||
height: 100px;
|
||
}
|
||
|
||
.avatar-uploader .el-upload:hover {
|
||
border-color: #409EFF;
|
||
}
|
||
|
||
.avatar-uploader-icon {
|
||
font-size: 28px;
|
||
color: #8c939d;
|
||
width: 120px;
|
||
height: 120px;
|
||
line-height: 120px;
|
||
text-align: center;
|
||
}
|
||
|
||
.avatar-uploader_small .el-upload {
|
||
width: 80px;
|
||
height: 80px;
|
||
}
|
||
|
||
.avatar-uploader_small .avatar-uploader-icon {
|
||
line-height: 80px;
|
||
margin-left: -30px;
|
||
}
|
||
|
||
.avatar {
|
||
width: 120px;
|
||
height: 120px;
|
||
display: block;
|
||
}
|
||
|
||
.consumer {
|
||
text-align: center;
|
||
color: #40485b;
|
||
}
|
||
|
||
.consumer .portrait {
|
||
width: 135px;
|
||
height: 135px;
|
||
border-radius: 110px;
|
||
border: 4px solid #EEE;
|
||
margin: 0 auto;
|
||
cursor: pointer;
|
||
position: relative;
|
||
}
|
||
|
||
.consumer .portrait .ptmark {
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
bottom: 0;
|
||
right: 0;
|
||
background-color: #00000033;
|
||
color: #fff;
|
||
border-radius: 110px;
|
||
font-size: 20px;
|
||
line-height: 140px;
|
||
display: none;
|
||
}
|
||
|
||
.consumer .portrait:hover .ptmark {
|
||
display: block;
|
||
}
|
||
|
||
.consumer .portrait img {
|
||
width: 135px;
|
||
height: 135px;
|
||
border-radius: 110px;
|
||
}
|
||
|
||
.consumer>p {}
|
||
|
||
.starSty {
|
||
width: 18px;
|
||
margin-right: 4px;
|
||
vertical-align: text-top;
|
||
}
|
||
|
||
.starSty:nth-last-child(1) {
|
||
margin-right: 0;
|
||
}
|
||
|
||
|
||
.numeric {
|
||
margin-bottom: 23px;
|
||
display: flex;
|
||
}
|
||
|
||
.numeric .numerItem {
|
||
width: 50%;
|
||
font-size: 16px;
|
||
text-align: center;
|
||
}
|
||
|
||
.numeric .numerItem>b {
|
||
color: #066999;
|
||
font-size: 20px;
|
||
margin-bottom: 15px;
|
||
display: block;
|
||
}
|
||
|
||
.numeric .numerItem>b:hover {
|
||
text-decoration: underline;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.numeric .numerItem>p {
|
||
font-size: 14px;
|
||
color: #40485b;
|
||
line-height: 22px;
|
||
}
|
||
|
||
.exponent {
|
||
margin: 20px 0 25px 0;
|
||
}
|
||
|
||
|
||
.exponent>div {
|
||
line-height: 25px;
|
||
margin-bottom: 5px;
|
||
overflow: auto;
|
||
}
|
||
|
||
.exponent .expTit {
|
||
float: left;
|
||
margin-right: 10px;
|
||
color: #606266;
|
||
font-size: 14px;
|
||
line-height: 32px;
|
||
}
|
||
|
||
.exponent .expInde {
|
||
float: left;
|
||
margin-top: 5px;
|
||
}
|
||
|
||
.exponent .oveTxtLine {
|
||
width: 80%;
|
||
text-overflow: ellipsis;
|
||
overflow: hidden;
|
||
white-space: nowrap;
|
||
cursor: pointer;
|
||
}
|
||
|
||
|
||
.exponent .expInde .webLink {
|
||
color: #006699;
|
||
}
|
||
|
||
.exponent .expInde .webLink:hover {
|
||
text-decoration: underline;
|
||
}
|
||
|
||
.chunking {
|
||
position: relative;
|
||
height: 80%;
|
||
}
|
||
|
||
.chunking .infor_title {
|
||
position: absolute;
|
||
background-color: #fff;
|
||
border: 2px solid rgba(0, 102, 153, 0.15);
|
||
padding: 8px 15px;
|
||
font-size: 15px;
|
||
letter-spacing: -0.5px;
|
||
border-radius: 5px;
|
||
top: -16px;
|
||
left: 50px;
|
||
}
|
||
|
||
.chunking .infor_edit {
|
||
position: absolute;
|
||
top: 20px;
|
||
right: 20px;
|
||
}
|
||
|
||
.chunking .chunkPiece {
|
||
background-color: #fff;
|
||
border: 2px solid rgba(0, 102, 153, 0.15);
|
||
border-radius: 10px;
|
||
padding-top: 40px;
|
||
height: 85%;
|
||
}
|
||
|
||
.chunking .chunkPiece .chunkItem {
|
||
overflow: auto;
|
||
font-size: 14px;
|
||
line-height: 32px;
|
||
margin-bottom: 18px;
|
||
}
|
||
|
||
.chunking .chunkPiece .depresBtn {
|
||
cursor: pointer;
|
||
color: #006699;
|
||
font-size: 20px;
|
||
margin-right: 5px;
|
||
}
|
||
|
||
.chunking .chunkPiece .depresBtn:hover {
|
||
text-decoration: underline;
|
||
}
|
||
|
||
|
||
.chunking .chunkPiece .certBtn {
|
||
margin: 0 0 0 20px;
|
||
color: #006699;
|
||
|
||
}
|
||
|
||
.chunking .chunkPiece .certBtn:hover {
|
||
cursor: pointer;
|
||
text-decoration: underline;
|
||
}
|
||
|
||
.chunking .chunkPiece .arrowBtn {
|
||
color: #006699;
|
||
cursor: pointer;
|
||
font-weight: bold;
|
||
margin: 0 0 0 10px;
|
||
}
|
||
|
||
|
||
.gugeList {
|
||
font-size: 14px;
|
||
border: 2px dashed #eee;
|
||
cursor: pointer;
|
||
margin: 0 5px 20px 5px;
|
||
padding: 10px 30px 10px 15px;
|
||
position: relative;
|
||
}
|
||
|
||
.gugeList:hover {
|
||
background-color: #fdfdfd;
|
||
}
|
||
|
||
.gugeList>p {
|
||
margin-bottom: 5px;
|
||
line-height: 20px;
|
||
}
|
||
|
||
.gugeList>p>font {
|
||
margin-right: 5px;
|
||
color: #999;
|
||
}
|
||
|
||
.gugeList>p>a {
|
||
color: #006699;
|
||
}
|
||
|
||
.gugeList>p>a:hover {
|
||
text-decoration: underline;
|
||
}
|
||
|
||
.gugeList>b {
|
||
display: none;
|
||
}
|
||
|
||
.gugeList>.kuangGeo {
|
||
display: block;
|
||
position: absolute;
|
||
width: 15px;
|
||
height: 15px;
|
||
border: 2px solid #eee;
|
||
top: 10px;
|
||
right: 10px;
|
||
}
|
||
|
||
.gugeList.gu_col {
|
||
border: 2px solid #006699;
|
||
background-color: #ebf4f9;
|
||
position: relative;
|
||
}
|
||
|
||
.gugeList.gu_col>b {
|
||
display: block;
|
||
position: absolute;
|
||
top: 5px;
|
||
right: 5px;
|
||
color: #069;
|
||
font-weight: 700;
|
||
font-size: 25px;
|
||
}
|
||
|
||
.diploma {
|
||
overflow: auto;
|
||
}
|
||
|
||
.diploma>div {
|
||
float: left;
|
||
width: 33%;
|
||
text-align: center;
|
||
margin-top: 20px;
|
||
}
|
||
|
||
.diploma>div img {
|
||
width: 94%;
|
||
height: 140px;
|
||
}
|
||
|
||
.diploma>div p {
|
||
margin-top: 10px;
|
||
text-align: center;
|
||
}
|
||
|
||
.el-image-viewer__wrapper {
|
||
z-index: 5000 !important;
|
||
padding: 50px 0;
|
||
}
|
||
|
||
.el-image-viewer__wrapper .el-icon-circle-close {
|
||
color: #fff !important;
|
||
}
|
||
|
||
.new_scard {
|
||
padding: 0 20px;
|
||
height: 100%;
|
||
}
|
||
|
||
.txt_pdf {
|
||
margin: 0 0 20px 10px;
|
||
display: inline-block;
|
||
color: #333;
|
||
}
|
||
|
||
.txt_pdf>i {
|
||
color: #66a9f0;
|
||
font-weight: bold;
|
||
margin-left: 10px;
|
||
}
|
||
|
||
.ratList {
|
||
margin: 0 0 15px 0;
|
||
border-bottom: 1px solid #eee;
|
||
padding: 0 0 10px 10px;
|
||
position: relative;
|
||
}
|
||
|
||
.ratList .ratNum {
|
||
position: absolute;
|
||
right: 15px;
|
||
top: 3px;
|
||
font-size: 20px;
|
||
font-weight: bold;
|
||
color: #006699;
|
||
}
|
||
|
||
/* .avatar-uploader .el-upload {
|
||
border: 1px dashed #d9d9d9;
|
||
border-radius: 6px;
|
||
cursor: pointer;
|
||
position: relative;
|
||
overflow: hidden;
|
||
width: 140px;
|
||
height: 140px;
|
||
}
|
||
|
||
.avatar-uploader .el-upload:hover {
|
||
border-color: #409EFF;
|
||
}
|
||
|
||
.avatar-uploader-icon {
|
||
font-size: 28px;
|
||
color: #8c939d;
|
||
width: 140px;
|
||
height: 140px;
|
||
line-height: 140px;
|
||
text-align: center;
|
||
} */
|
||
</style> |