提交 邀请审稿人列表
This commit is contained in:
@@ -132,10 +132,11 @@
|
|||||||
</p>
|
</p>
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
</el-collapse>
|
</el-collapse>
|
||||||
<el-collapse class="auth_colla auth_collna_ew" style="margin-top: -15px">
|
<el-collapse v-model="researchAreas" class="auth_colla auth_collna_ew" style="margin-top: -15px">
|
||||||
<el-collapse-item title="Research areas" name="1">
|
<el-collapse-item title="Research areas" name="1">
|
||||||
<div style="position: relative; height: 30px">
|
<div style="position: relative; height: 30px">
|
||||||
<common-major
|
<common-major
|
||||||
|
v-if="form.state==0"
|
||||||
:articleId="editform.articleId"
|
:articleId="editform.articleId"
|
||||||
@load="initMajor()"
|
@load="initMajor()"
|
||||||
style="position: absolute; top: 10px; right: 10px"
|
style="position: absolute; top: 10px; right: 10px"
|
||||||
@@ -152,7 +153,7 @@
|
|||||||
<span style="color: #006699; font-weight: bold; margin-right: 10px"
|
<span style="color: #006699; font-weight: bold; margin-right: 10px"
|
||||||
>Field {{ i + 1 }}:</span
|
>Field {{ i + 1 }}:</span
|
||||||
>{{ v.str
|
>{{ v.str
|
||||||
}}<i
|
}}<i v-if="form.state==0"
|
||||||
class="el-icon-delete-solid"
|
class="el-icon-delete-solid"
|
||||||
style="color: #f56c6c !important; margin-left: 10px"
|
style="color: #f56c6c !important; margin-left: 10px"
|
||||||
@click="handleDeleteMajor(v)"
|
@click="handleDeleteMajor(v)"
|
||||||
@@ -553,6 +554,7 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
researchAreas:['1'],
|
||||||
AIcontent:'',
|
AIcontent:'',
|
||||||
previewData: {},
|
previewData: {},
|
||||||
baseUrl: this.Common.baseUrl,
|
baseUrl: this.Common.baseUrl,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div style="min-width: 1280px">
|
<div style="min-width: 1280px" class="articleListEditorA">
|
||||||
<div class="handle-box">
|
<div class="handle-box">
|
||||||
<el-badge
|
<el-badge
|
||||||
:value="item.num"
|
:value="item.num"
|
||||||
@@ -52,7 +52,58 @@
|
|||||||
<el-button type="primary" icon="el-icon-search" @click="handleSearch" style="margin: 0 0 10px 0">Search </el-button>
|
<el-button type="primary" icon="el-icon-search" @click="handleSearch" style="margin: 0 0 10px 0">Search </el-button>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="!PreAcpVisible">
|
<div v-if="!PreAcpVisible">
|
||||||
<div v-for="(item, ikgn) in tableData" class="mangu_list" style="position: relative">
|
<div v-for="(item, ikgn) in tableData">
|
||||||
|
<p
|
||||||
|
style="background-color: #0077b8e6; border-top-left-radius: 8px; border-top-right-radius: 8px"
|
||||||
|
class="articleBaseInfo articleTopBaseInfo"
|
||||||
|
>
|
||||||
|
<font class="labelTitle">ID : </font>
|
||||||
|
<span
|
||||||
|
style="
|
||||||
|
background-color: #ff0000cc;
|
||||||
|
width: 20px;
|
||||||
|
color: #fff;
|
||||||
|
margin: 0 2px 0 0;
|
||||||
|
font-weight: bold;
|
||||||
|
padding: 2px 4px;
|
||||||
|
"
|
||||||
|
v-if="item.special_num > 0"
|
||||||
|
>S
|
||||||
|
</span>
|
||||||
|
{{ item.accept_sn }}
|
||||||
|
|
||||||
|
<sapn style="margin: 0 4px">| </sapn>
|
||||||
|
<sapn style="font-size: 12px"> {{ item.type | jtName }}</sapn>
|
||||||
|
<sapn style="margin: 0 4px">| </sapn>
|
||||||
|
<sapn style="font-size: 12px">
|
||||||
|
<font v-for="(iken, index) in item.countrys">
|
||||||
|
{{ iken }}
|
||||||
|
<font v-if="index != item.countrys.length - 1">,</font>
|
||||||
|
</font>
|
||||||
|
</sapn>
|
||||||
|
<b @click="openTracking(item)" class="btnCliArt" style="color: #f0f0f0; font-size: 12px; margin-left: 10px">
|
||||||
|
<i class="el-icon-data-line"></i> Manuscript Tracking
|
||||||
|
</b>
|
||||||
|
<sapn style="float: right">
|
||||||
|
<span class="labelTitle" style="font-weight: 500">Plagiarism Check :</span>
|
||||||
|
<font style="margin-right: 16px; font-size: 15px; font-weight: bold"> {{ item.repetition }} % </font>
|
||||||
|
<b @click="changeRepe(item)" class="btnCliArt" style="color: #eaf6fb"> <i class="el-icon-edit"></i> Change </b>
|
||||||
|
</sapn>
|
||||||
|
<sapn style="margin: 0 10px; float: right">| </sapn>
|
||||||
|
<sapn style="float: right">
|
||||||
|
<span class="labelTitle" style="font-weight: 500">Status :</span>
|
||||||
|
<font style="margin-right: 15px; font-size: 16px; font-weight: bold; letter-spacing: -0.5px">
|
||||||
|
{{ stateFormat(item.state) }}
|
||||||
|
</font>
|
||||||
|
<b v-if="item.state != 5" @click="testvis(item)" class="btnCliArt" style="color: #eaf6fb">
|
||||||
|
<i class="el-icon-edit"></i> Change
|
||||||
|
</b>
|
||||||
|
<b v-if="item.state == 5" @click="prodBegin(item)" class="btnCliArt" style="color: #eaf6fb">
|
||||||
|
<i class="el-icon-paperclip"></i> Begin Produce
|
||||||
|
</b>
|
||||||
|
</sapn>
|
||||||
|
</p>
|
||||||
|
<div class="mangu_list" style="position: relative">
|
||||||
<img
|
<img
|
||||||
v-if="item.ai_review != '' && item.ai_review"
|
v-if="item.ai_review != '' && item.ai_review"
|
||||||
src="@/assets/img/ai.png"
|
src="@/assets/img/ai.png"
|
||||||
@@ -66,28 +117,23 @@
|
|||||||
style="opacity: 0.5; cursor: pointer; width: 30px; height: 30px; position: absolute; right: 6px; top: 6px"
|
style="opacity: 0.5; cursor: pointer; width: 30px; height: 30px; position: absolute; right: 6px; top: 6px"
|
||||||
/>
|
/>
|
||||||
<div>
|
<div>
|
||||||
<font style="color: #666b7a">ID : </font>
|
<!-- <font style="color: #666b7a">ID : </font>
|
||||||
<span
|
<span
|
||||||
style="background-color: #006699; width: 20px; color: #fff; margin: 0 2px 0 0; font-weight: bold; padding: 2px 4px"
|
style="background-color: #006699; width: 20px; color: #fff; margin: 0 2px 0 0; font-weight: bold; padding: 2px 4px"
|
||||||
v-if="item.special_num > 0"
|
v-if="item.special_num > 0"
|
||||||
>S
|
>S
|
||||||
</span>
|
</span>
|
||||||
{{ item.accept_sn }}
|
{{ item.accept_sn }} -->
|
||||||
<!-- <b @click="showdetaileditor(item)" class="btnCliArt" style="margin-left: 15px;">
|
|
||||||
<i class="el-icon-collection"></i> Detail
|
|
||||||
</b> -->
|
|
||||||
|
|
||||||
<span style="color: #666b7a; margin-left: 40px">Type :</span>
|
<!-- <span style="color: #666b7a; margin-left: 40px">Type :</span>
|
||||||
<font>
|
<font>
|
||||||
{{ item.type | jtName }}
|
{{ item.type | jtName }}
|
||||||
</font>
|
</font>
|
||||||
<span style="color: #666b7a; margin-left: 40px">Countries :</span>
|
<span style="color: #666b7a; margin-left: 40px">Countries :</span>
|
||||||
<!-- <span :class="item.countrys.length > 1 ? 'Countries': ''" > -->
|
|
||||||
<font v-for="(iken, index) in item.countrys">
|
<font v-for="(iken, index) in item.countrys">
|
||||||
{{ iken }}
|
{{ iken }}
|
||||||
<font v-if="index != item.countrys.length - 1">,</font>
|
<font v-if="index != item.countrys.length - 1">,</font>
|
||||||
</font>
|
</font>
|
||||||
<!-- </span> -->
|
|
||||||
<span style="color: #666b7a; margin-left: 40px">Status :</span>
|
<span style="color: #666b7a; margin-left: 40px">Status :</span>
|
||||||
<font style="margin-right: 15px; font-size: 16px; font-weight: bold; letter-spacing: -0.5px">
|
<font style="margin-right: 15px; font-size: 16px; font-weight: bold; letter-spacing: -0.5px">
|
||||||
{{ stateFormat(item.state) }}
|
{{ stateFormat(item.state) }}
|
||||||
@@ -98,24 +144,64 @@
|
|||||||
</b>
|
</b>
|
||||||
<span style="color: #666b7a; margin-left: 40px">Plagiarism Check :</span>
|
<span style="color: #666b7a; margin-left: 40px">Plagiarism Check :</span>
|
||||||
<font style="margin-right: 16px; font-size: 15px; font-weight: bold"> {{ item.repetition }} % </font>
|
<font style="margin-right: 16px; font-size: 15px; font-weight: bold"> {{ item.repetition }} % </font>
|
||||||
<b @click="changeRepe(item)" class="btnCliArt"> <i class="el-icon-edit"></i> Change </b>
|
<b @click="changeRepe(item)" class="btnCliArt"> <i class="el-icon-edit"></i> Change </b> -->
|
||||||
<b @click="openTracking(item)" class="btnCliArt" style="margin-left: 50px">
|
<!-- <b @click="openTracking(item)" class="btnCliArt" style="margin-left: 50px">
|
||||||
<i class="el-icon-data-line"></i> Manuscript Tracking
|
<i class="el-icon-data-line"></i> Manuscript Tracking
|
||||||
</b>
|
</b> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="man_title">
|
<div class="man_title">
|
||||||
<el-badge is-dot :hidden="item.author_act == 1 ? false : true">
|
<el-badge is-dot :hidden="item.author_act == 1 ? false : true">
|
||||||
<b @click="showdetaileditor(item)">
|
<b @click="showdetaileditor(item)"> {{ item.title }} </b>
|
||||||
{{ item.title }}
|
|
||||||
</b><b @click="corrSpe(item)" class="btnCliArt" style="margin-left: 20px">
|
<b @click="corrSpe(item)" class="btnCliArt" style="margin-left: 20px; white-space: nowrap">
|
||||||
<i class="el-icon-paperclip"></i> Author's previous articles
|
<i class="el-icon-paperclip"></i> Author's previous articles
|
||||||
</b>
|
</b>
|
||||||
|
<el-button
|
||||||
|
:type="item.state == 0 ? 'primary' : 'info'"
|
||||||
|
plain
|
||||||
|
size="mini"
|
||||||
|
@click="BoxMajor(item)"
|
||||||
|
style="margin-left: 10px"
|
||||||
|
>
|
||||||
|
<i class="el-icon-edit" v-if="item.state == 0"></i>
|
||||||
|
<i class="el-icon-view" v-else></i>
|
||||||
|
|
||||||
|
Research areas
|
||||||
|
</el-button>
|
||||||
|
<!-- <b @click="BoxMajor(item)" class="btnCliArt" style="margin-left: 20px; white-space: nowrap"> Research areas </b> -->
|
||||||
</el-badge>
|
</el-badge>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
<!-- <div style="margin: 0 0 10px">
|
||||||
|
<b>
|
||||||
|
<font class="labelTitle">Corresponding Author </font>
|
||||||
|
</b>
|
||||||
|
<span style="margin-left: 10px">
|
||||||
|
<b @click="articleCommun(item)" class="btnCliArt" style="">
|
||||||
|
<i class="el-icon-chat-line-square"></i> Communication
|
||||||
|
</b>
|
||||||
|
</span>
|
||||||
|
|
||||||
<div style="display: flex; margin-left: auto">
|
<span style="text-align: left;margin-left: 10px"
|
||||||
<div class="fixCard" :style="`width: ${query.state == 0 ? '33% !important' : '33% !important'};`">
|
><font class="labelTitle">Name : </font>
|
||||||
|
<span v-if="item.realname != ''">
|
||||||
|
{{ item.realname }}
|
||||||
|
<span v-if="item.phone != ''" style="margin-left: 5px; color: #666">({{ item.phone }})</span>
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span v-if="item.email != ''" style="margin-left: 10px"
|
||||||
|
><font class="labelTitle">Email : </font>
|
||||||
|
<b @click="linkEmail(item)" class="btnCliArt" style=""> {{ item.email }} </b>
|
||||||
|
<b @click="linkEmailist(item)" v-if="item.emailh == 1" class="btnCliArt" style="margin-left: 15px">
|
||||||
|
<i class="el-icon-refresh-left"></i> History
|
||||||
|
</b>
|
||||||
|
</span>
|
||||||
|
</div> -->
|
||||||
|
<div style="display: flex; margin-left: auto; flex-wrap: nowrap">
|
||||||
|
<div
|
||||||
|
class="fixCard"
|
||||||
|
:style="`width:${item.state == 0 ? '350px !important;flex-shrink: 0' : '320px !important;flex-shrink: 0'}`"
|
||||||
|
>
|
||||||
<b style="font-size: 16px; letter-spacing: -0.5px">Manuscript Files</b>
|
<b style="font-size: 16px; letter-spacing: -0.5px">Manuscript Files</b>
|
||||||
<p style="height: 10px"></p>
|
<p style="height: 10px"></p>
|
||||||
<div class="fi_new" v-if="item.file.coverLetter">
|
<div class="fi_new" v-if="item.file.coverLetter">
|
||||||
@@ -133,18 +219,25 @@
|
|||||||
@click="changeFileUpdown(0, ikgn, 'file_cover')"
|
@click="changeFileUpdown(0, ikgn, 'file_cover')"
|
||||||
></b>
|
></b>
|
||||||
</p>
|
</p>
|
||||||
<div v-for="(ikrm,ikrmIndex) in item.file.coverLetter" v-if="item.file_cover == 1">
|
|
||||||
|
<div>
|
||||||
|
<div v-for="(ikrm, ikrmIndex) in item.file.coverLetter" v-if="item.file_cover == 1">
|
||||||
<img src="../../assets/img/icon_0.png" />
|
<img src="../../assets/img/icon_0.png" />
|
||||||
<span>
|
<span @click="openFile(mediaUrl + ikrm.file_url)" class="openFile">
|
||||||
<font>Uploader {{ ikrmIndex+1 }} </font>
|
<!-- <font>Uploader {{ ikrmIndex+1 }} </font> -->
|
||||||
<!-- {{ ikrm.username }} -->
|
<!-- {{ ikrm.username }} -->
|
||||||
<i><i class="el-icon-time"></i>{{ formatDate(ikrm.ctime) }}</i>
|
<i>
|
||||||
|
<!-- <i class="el-icon-time"></i> -->
|
||||||
|
|
||||||
|
{{ formatDate(ikrm.ctime) }}</i
|
||||||
|
>
|
||||||
</span>
|
</span>
|
||||||
<a :href="mediaUrl + ikrm.file_url">
|
<a :href="mediaUrl + ikrm.file_url">
|
||||||
<i class="el-icon-download download"></i>
|
<i class="el-icon-download download"></i>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div class="fi_new" v-if="item.file.picturesAndTables">
|
<div class="fi_new" v-if="item.file.picturesAndTables">
|
||||||
<p>
|
<p>
|
||||||
Figures
|
Figures
|
||||||
@@ -160,18 +253,21 @@
|
|||||||
@click="changeFileUpdown(0, ikgn, 'file_figer')"
|
@click="changeFileUpdown(0, ikgn, 'file_figer')"
|
||||||
></b>
|
></b>
|
||||||
</p>
|
</p>
|
||||||
<div v-for="(ikrm,ikrmIndex) in item.file.picturesAndTables" v-if="item.file_figer == 1">
|
|
||||||
|
<div>
|
||||||
|
<div v-for="(ikrm, ikrmIndex) in item.file.picturesAndTables" v-if="item.file_figer == 1">
|
||||||
<img src="../../assets/img/icon_0.png" />
|
<img src="../../assets/img/icon_0.png" />
|
||||||
<span>
|
<span @click="openFile(mediaUrl + ikrm.file_url)" class="openFile">
|
||||||
<font>Uploader {{ ikrmIndex+1 }} </font>
|
<!-- <font>Uploader {{ ikrmIndex+1 }} </font> -->
|
||||||
<!-- {{ ikrm.username }} -->
|
<!-- {{ ikrm.username }} -->
|
||||||
<i><i class="el-icon-time"></i>{{ formatDate(ikrm.ctime) }}</i>
|
<i> <!-- <i class="el-icon-time"></i> -->{{ formatDate(ikrm.ctime) }}</i>
|
||||||
</span>
|
</span>
|
||||||
<a :href="mediaUrl + ikrm.file_url">
|
<a :href="mediaUrl + ikrm.file_url">
|
||||||
<i class="el-icon-download download"></i>
|
<i class="el-icon-download download"></i>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div class="fi_new" v-if="item.file.totalpage">
|
<div class="fi_new" v-if="item.file.totalpage">
|
||||||
<p>
|
<p>
|
||||||
Title page
|
Title page
|
||||||
@@ -187,18 +283,21 @@
|
|||||||
@click="changeFileUpdown(0, ikgn, 'file_total')"
|
@click="changeFileUpdown(0, ikgn, 'file_total')"
|
||||||
></b>
|
></b>
|
||||||
</p>
|
</p>
|
||||||
<div v-for="(ikrm,ikrmIndex) in item.file.totalpage" v-if="item.file_total == 1">
|
|
||||||
|
<div>
|
||||||
|
<div v-for="(ikrm, ikrmIndex) in item.file.totalpage" v-if="item.file_total == 1">
|
||||||
<img src="../../assets/img/icon_0.png" />
|
<img src="../../assets/img/icon_0.png" />
|
||||||
<span>
|
<span @click="openFile(mediaUrl + ikrm.file_url)" class="openFile">
|
||||||
<font>Uploader {{ikrmIndex}} </font>
|
<!-- <font>Uploader {{ikrmIndex}} </font> -->
|
||||||
<!-- {{ ikrm.username }} -->
|
<!-- {{ ikrm.username }} -->
|
||||||
<i><i class="el-icon-time"></i>{{ formatDate(ikrm.ctime) }}</i>
|
<i> <!-- <i class="el-icon-time"></i> -->{{ formatDate(ikrm.ctime) }}</i>
|
||||||
</span>
|
</span>
|
||||||
<a :href="mediaUrl + ikrm.file_url">
|
<a :href="mediaUrl + ikrm.file_url">
|
||||||
<i class="el-icon-download download"></i>
|
<i class="el-icon-download download"></i>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div class="fi_new" v-if="item.file.manuscirpt">
|
<div class="fi_new" v-if="item.file.manuscirpt">
|
||||||
<p>
|
<p>
|
||||||
Manuscirpt
|
Manuscirpt
|
||||||
@@ -214,19 +313,21 @@
|
|||||||
@click="changeFileUpdown(0, ikgn, 'file_maun')"
|
@click="changeFileUpdown(0, ikgn, 'file_maun')"
|
||||||
></b>
|
></b>
|
||||||
</p>
|
</p>
|
||||||
<div v-for="(ikrm,ikrmIndex) in item.file.manuscirpt" v-if="item.file_maun == 1">
|
<div>
|
||||||
|
<div v-for="(ikrm, ikrmIndex) in item.file.manuscirpt" v-if="item.file_maun == 1">
|
||||||
<img src="../../assets/img/icon_0.png" />
|
<img src="../../assets/img/icon_0.png" />
|
||||||
<span>
|
<span @click="openFile(mediaUrl + ikrm.file_url)" class="openFile">
|
||||||
<font>Uploader {{ ikrmIndex+1 }} </font>
|
<!-- <font>Uploader {{ ikrmIndex+1 }} </font> -->
|
||||||
|
|
||||||
<!-- {{ ikrm.username }} -->
|
<!-- {{ ikrm.username }} -->
|
||||||
<i><i class="el-icon-time"></i>{{ formatDate(ikrm.ctime) }}</i>
|
<i> <!-- <i class="el-icon-time"></i> -->{{ formatDate(ikrm.ctime) }}</i>
|
||||||
</span>
|
</span>
|
||||||
<a :href="mediaUrl + ikrm.file_url">
|
<a :href="mediaUrl + ikrm.file_url">
|
||||||
<i class="el-icon-download download"></i>
|
<i class="el-icon-download download"></i>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div class="fi_new" v-if="item.file.supplementary">
|
<div class="fi_new" v-if="item.file.supplementary">
|
||||||
<p>
|
<p>
|
||||||
Supplementary Material
|
Supplementary Material
|
||||||
@@ -242,12 +343,13 @@
|
|||||||
@click="changeFileUpdown(0, ikgn, 'file_supper')"
|
@click="changeFileUpdown(0, ikgn, 'file_supper')"
|
||||||
></b>
|
></b>
|
||||||
</p>
|
</p>
|
||||||
<div v-for="(ikrm,ikrmIndex) in item.file.supplementary" v-if="item.file_supper == 1">
|
<div>
|
||||||
|
<div v-for="(ikrm, ikrmIndex) in item.file.supplementary" v-if="item.file_supper == 1">
|
||||||
<img src="../../assets/img/icon_0.png" />
|
<img src="../../assets/img/icon_0.png" />
|
||||||
<span>
|
<span @click="openFile(mediaUrl + ikrm.file_url)" class="openFile">
|
||||||
<font>Uploader {{ ikrmIndex+1 }} </font>
|
<!-- <font>Uploader {{ ikrmIndex+1 }} </font> -->
|
||||||
<!-- { ikrm.username }} -->
|
<!-- { ikrm.username }} -->
|
||||||
<i><i class="el-icon-time"></i>{{ formatDate(ikrm.ctime) }}</i>
|
<i> <!-- <i class="el-icon-time"></i> -->{{ formatDate(ikrm.ctime) }}</i>
|
||||||
</span>
|
</span>
|
||||||
<a :href="mediaUrl + ikrm.file_url">
|
<a :href="mediaUrl + ikrm.file_url">
|
||||||
<i class="el-icon-download download"></i>
|
<i class="el-icon-download download"></i>
|
||||||
@@ -255,10 +357,19 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="width: 1%"></div>
|
</div>
|
||||||
<div class="fixCard" style="width: 36%">
|
|
||||||
|
<div
|
||||||
|
class="fixCard"
|
||||||
|
:style="`width: ${
|
||||||
|
item.state == 0 ? 'calc(100% - 350px - 230px - 18px)' : 'calc(100% - 350px - 230px - 18px)'
|
||||||
|
}`"
|
||||||
|
>
|
||||||
<b style="font-size: 16px; letter-spacing: -0.5px">AI scoring</b>
|
<b style="font-size: 16px; letter-spacing: -0.5px">AI scoring</b>
|
||||||
<p style="font-size: 18px; font-weight: bold; margin-bottom: 5px; color: #db890e" v-if="item.reportList.length > 0">
|
<p
|
||||||
|
style="font-size: 18px; font-weight: bold; margin-bottom: 5px; color: #db890e"
|
||||||
|
v-if="item.reportList.length > 0"
|
||||||
|
>
|
||||||
<font style="font-size: 14px; font-weight: normal; color: #333">Initial review score :</font>
|
<font style="font-size: 14px; font-weight: normal; color: #333">Initial review score :</font>
|
||||||
{{ item.scoring }}
|
{{ item.scoring }}
|
||||||
<i class="el-icon-refresh refreshBtn" @click="refreshScore(item)"></i>
|
<i class="el-icon-refresh refreshBtn" @click="refreshScore(item)"></i>
|
||||||
@@ -353,18 +464,21 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<template v-if="query.state != 0">
|
<template v-if="query.state != 0">
|
||||||
<div style="width: 1%"></div>
|
<div class="fixCard" style="width: 230px; flex-shrink: 0">
|
||||||
<div class="fixCard" style="width: 17%">
|
|
||||||
<b style="font-size: 16px; letter-spacing: -0.5px">Reviewer Decision</b>
|
<b style="font-size: 16px; letter-spacing: -0.5px">Reviewer Decision</b>
|
||||||
<p style="height: 5px"></p>
|
<p style="height: 5px"></p>
|
||||||
<p v-for="(iken, index) in item.reviewScore" style="line-height: 28px" :key="index">
|
<p v-for="(iken, index) in item.reviewScore" style="line-height: 24px" :key="index">
|
||||||
Reviewer{{ index + 1 }} score : <b style="color: #db890e; font-size: 18px">{{ iken.rated }}</b
|
Reviewer{{ index + 1 }} : <b style="color: #db890e; font-size: 18px">{{ iken.rated }}</b
|
||||||
><el-button style="margin-left: 10px" type="text" @click="crateRevision(iken)" v-if="iken.can_repeat == 1"
|
><el-button
|
||||||
|
style="margin-left: 10px"
|
||||||
|
type="text"
|
||||||
|
@click="crateRevision(iken)"
|
||||||
|
v-if="iken.can_repeat == 1"
|
||||||
>Re-review</el-button
|
>Re-review</el-button
|
||||||
>
|
>
|
||||||
</p>
|
</p>
|
||||||
<p v-if="item.reviewScore.length > 0" style="font-size: 15px; margin: 0 0 5px 0">
|
<p v-if="item.reviewScore.length > 0" style="font-size: 15px; margin: 0 0 5px 0">
|
||||||
Average : <b style="font-size: 18px; color: #db890e">{{ avegeCount(item.reviewScore) }}</b>
|
Average score: <b style="font-size: 18px; color: #db890e">{{ avegeCount(item.reviewScore) }}</b>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<span v-for="(iken, index) in item.review" style="display: inline-block; padding: 5px">
|
<span v-for="(iken, index) in item.review" style="display: inline-block; padding: 5px">
|
||||||
@@ -375,12 +489,24 @@
|
|||||||
</font>
|
</font>
|
||||||
<font
|
<font
|
||||||
v-if="iken.state == 1 || iken.state == 3"
|
v-if="iken.state == 1 || iken.state == 3"
|
||||||
style="width: 12px; height: 12px; display: block; border-radius: 10px; background-color: #67c23a"
|
style="
|
||||||
|
width: 12px;
|
||||||
|
height: 12px;
|
||||||
|
display: block;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: #67c23a;
|
||||||
|
"
|
||||||
>
|
>
|
||||||
</font>
|
</font>
|
||||||
<font
|
<font
|
||||||
v-if="iken.state == 2"
|
v-if="iken.state == 2"
|
||||||
style="width: 12px; height: 12px; display: block; border-radius: 10px; background-color: #f56c6c"
|
style="
|
||||||
|
width: 12px;
|
||||||
|
height: 12px;
|
||||||
|
display: block;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: #f56c6c;
|
||||||
|
"
|
||||||
>
|
>
|
||||||
</font>
|
</font>
|
||||||
</span>
|
</span>
|
||||||
@@ -393,8 +519,37 @@
|
|||||||
</div></template
|
</div></template
|
||||||
>
|
>
|
||||||
|
|
||||||
<div style="width: 1%"></div>
|
<!-- <div class="fixCard" style="width: 320px; flex-shrink: 0" v-if="query.state == 0">
|
||||||
<div class="fixCard" style="width: 26%">
|
<b style="font-size: 16px; letter-spacing: -0.5px">Research areas</b>
|
||||||
|
<p style="height: 10px"></p>
|
||||||
|
<div style="text-align: left">
|
||||||
|
<div
|
||||||
|
@click="BoxMajor(item, majorData[item.article_id])"
|
||||||
|
v-if="item.article_id"
|
||||||
|
style="display: flex; align-items: center; justify-content: space-between; cursor: pointer"
|
||||||
|
>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<div v-if="majorData[item.article_id]" class="majorDataBox">
|
||||||
|
<p v-for="(v, i) in majorData[item.article_id]" style="border-top: 1px solid #b3d8ff">
|
||||||
|
<span style="font-weight: bold">{{ i + 1 }}.</span>
|
||||||
|
<span style="color:#666"> {{ v.str.replace('Medicine >', '').trim() }}</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div v-else>
|
||||||
|
<span>Loading...</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<b style="margin-left: 10px; color: #006699" class="el-icon-edit"></b>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
|
<div class="fixCard" style="width: 320px; flex-shrink: 0">
|
||||||
<b style="font-size: 16px; letter-spacing: -0.5px">Corresponding Author</b>
|
<b style="font-size: 16px; letter-spacing: -0.5px">Corresponding Author</b>
|
||||||
<p style="height: 10px"></p>
|
<p style="height: 10px"></p>
|
||||||
<div style="text-align: left">
|
<div style="text-align: left">
|
||||||
@@ -404,10 +559,9 @@
|
|||||||
<span v-if="item.phone != ''" style="margin-left: 5px; color: #666">({{ item.phone }})</span>
|
<span v-if="item.phone != ''" style="margin-left: 5px; color: #666">({{ item.phone }})</span>
|
||||||
</p>
|
</p>
|
||||||
<p v-if="item.email != ''" style="margin: 8px 0 5px 0; line-height: 22px">
|
<p v-if="item.email != ''" style="margin: 8px 0 5px 0; line-height: 22px">
|
||||||
|
<b @click="linkEmail(item)" class="btnCliArt" style="">
|
||||||
<font style="color: #999">Email :</font>
|
<font style="color: #999">Email :</font>
|
||||||
{{ item.email }}
|
{{ item.email }}
|
||||||
<b @click="linkEmail(item)" class="btnCliArt" style="margin-left: 15px">
|
|
||||||
<i class="el-icon-message"></i> Email
|
|
||||||
</b>
|
</b>
|
||||||
<b @click="linkEmailist(item)" v-if="item.emailh == 1" class="btnCliArt" style="margin-left: 15px">
|
<b @click="linkEmailist(item)" v-if="item.emailh == 1" class="btnCliArt" style="margin-left: 15px">
|
||||||
<i class="el-icon-refresh-left"></i> History
|
<i class="el-icon-refresh-left"></i> History
|
||||||
@@ -415,7 +569,9 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<p style="margin-top: 20px">
|
<p style="margin-top: 20px">
|
||||||
<b @click="articleCommun(item)" class="btnCliArt"> <i class="el-icon-chat-line-square"></i> Communication </b>
|
<b @click="articleCommun(item)" class="btnCliArt">
|
||||||
|
<i class="el-icon-chat-line-square"></i> Communication
|
||||||
|
</b>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -427,6 +583,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<!-- 预接收表 -->
|
<!-- 预接收表 -->
|
||||||
<el-table
|
<el-table
|
||||||
v-if="PreAcpVisible"
|
v-if="PreAcpVisible"
|
||||||
@@ -795,8 +952,8 @@
|
|||||||
<p style="line-height: 20px; margin-top: 6px">{{ remark.title }}</p>
|
<p style="line-height: 20px; margin-top: 6px">{{ remark.title }}</p>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="Content :">
|
<el-form-item label="Content :">
|
||||||
<commonRemarkList :list="remark.contentList" @load="(e) => (this.remark.contentList = e)"></commonRemarkList>
|
<!-- <commonRemarkList :list="remark.contentList" @load="(e) => (this.remark.contentList = e)"></commonRemarkList> -->
|
||||||
<!-- <el-input type="textarea" rows="5" v-model="remark.content" ></el-input> -->
|
<el-input type="textarea" rows="5" v-model="remark.content" ></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
@@ -1200,6 +1357,29 @@
|
|||||||
<el-button type="primary" @click="isShowAI = false">Close</el-button>
|
<el-button type="primary" @click="isShowAI = false">Close</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
<el-dialog :title="majorMes.disabled ? 'Research areas' : 'Edit Research areas'" :visible.sync="majorBox" width="800px">
|
||||||
|
<el-form ref="remark" :model="majorMes" label-width="120px">
|
||||||
|
<el-form-item label="Title :">
|
||||||
|
<p style="line-height: 20px">
|
||||||
|
<span style="color: #333; font-weight: bold">{{ majorMes.title }}</span>
|
||||||
|
</p>
|
||||||
|
</el-form-item>
|
||||||
|
<!-- <el-form-item label="Email :">
|
||||||
|
<p style="line-height: 20px; margin-top: 6px">{{ majorMes.email }}</p>
|
||||||
|
</el-form-item> -->
|
||||||
|
<el-form-item label="Research areas :">
|
||||||
|
<common-major-list
|
||||||
|
:disabled="majorMes.disabled"
|
||||||
|
:list="majorValueList"
|
||||||
|
@load="(e) => (this.majorValueList = e)"
|
||||||
|
></common-major-list>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="majorBox = false">Cancel</el-button>
|
||||||
|
<el-button type="primary" @click="saveMajor" v-if="!majorMes.disabled">Save</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -1215,6 +1395,9 @@ export default {
|
|||||||
props: ['journals'],
|
props: ['journals'],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
majorValueList: [],
|
||||||
|
majorBox: false,
|
||||||
|
majorMes: {},
|
||||||
isShowAI: false,
|
isShowAI: false,
|
||||||
currentArticleData: {},
|
currentArticleData: {},
|
||||||
rules: {},
|
rules: {},
|
||||||
@@ -1363,6 +1546,7 @@ export default {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
bankVisible: false,
|
bankVisible: false,
|
||||||
|
majorData: {},
|
||||||
googleSearchInfo: ''
|
googleSearchInfo: ''
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@@ -1375,6 +1559,58 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
async fetchMajorData(article_id) {
|
||||||
|
// if (!this.majorData[userId]) {
|
||||||
|
// 判断是否已经加载过该用户的数据
|
||||||
|
const data = await this.getMajorData(article_id); // 获取数据
|
||||||
|
|
||||||
|
this.$set(this.majorData, article_id, data); // 使用 Vue.set 确保数据是响应式的
|
||||||
|
// }
|
||||||
|
},
|
||||||
|
// 修改标记
|
||||||
|
async getMajorData(article_id) {
|
||||||
|
try {
|
||||||
|
const res = await this.$api.post('api/Article/getArticleDetail', { articleId: article_id, human: 'editor' });
|
||||||
|
if (res.article&&res.article.majors.length>0) {
|
||||||
|
return res.article.majors; // 返回数据
|
||||||
|
} else {
|
||||||
|
return []; // 如果没有数据,返回空数组
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error fetching data:', error);
|
||||||
|
return []; // 如果发生错误,返回空数组
|
||||||
|
}
|
||||||
|
},
|
||||||
|
BoxMajor(e, data) {
|
||||||
|
this.majorMes.disabled = e.state == 0 ? false : true;
|
||||||
|
// this.majorMes.realname = e.realname;
|
||||||
|
// this.majorMes.user_id = e.user_id;
|
||||||
|
this.majorMes.title = e.title;
|
||||||
|
|
||||||
|
this.$api
|
||||||
|
.post('api/Article/getArticleDetail', {
|
||||||
|
articleId: e.article_id,
|
||||||
|
human: 'editor'
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
if (this.majorMes.disabled) {
|
||||||
|
this.majorValueList = [...res.article.majors];
|
||||||
|
} else {
|
||||||
|
this.majorValueList = [...res.article.majors].map((item) => ({
|
||||||
|
selectedValue: Array.isArray(item.major)
|
||||||
|
? item.major
|
||||||
|
: typeof item.major === 'string'
|
||||||
|
? item.major.split(',').map(Number)
|
||||||
|
: [item.major]
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
|
this.majorBox = true;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
openFile(url) {
|
||||||
|
window.open(url, '_blank');
|
||||||
|
},
|
||||||
openAI(data) {
|
openAI(data) {
|
||||||
this.isShowAI = true;
|
this.isShowAI = true;
|
||||||
this.currentArticleData = { ...data };
|
this.currentArticleData = { ...data };
|
||||||
@@ -1579,6 +1815,10 @@ export default {
|
|||||||
this.Total = res.total;
|
this.Total = res.total;
|
||||||
this.tableData = res.data;
|
this.tableData = res.data;
|
||||||
for (let i = 0; i < this.tableData.length; i++) {
|
for (let i = 0; i < this.tableData.length; i++) {
|
||||||
|
// if (this.query.state == 0) {
|
||||||
|
// this.fetchMajorData(this.tableData[i].article_id); // 加载第一个用户的数据
|
||||||
|
// }
|
||||||
|
|
||||||
this.tableData[i].file_cover = 1;
|
this.tableData[i].file_cover = 1;
|
||||||
this.tableData[i].file_figer = 1;
|
this.tableData[i].file_figer = 1;
|
||||||
this.tableData[i].file_total = 1;
|
this.tableData[i].file_total = 1;
|
||||||
@@ -1948,13 +2188,14 @@ export default {
|
|||||||
this.editbox = true;
|
this.editbox = true;
|
||||||
this.remark.title = e.title;
|
this.remark.title = e.title;
|
||||||
this.remark.articleId = e.article_id;
|
this.remark.articleId = e.article_id;
|
||||||
|
this.remark.content = e.remarks;
|
||||||
// var remarksList = e.remarks.split(/。|\n|\r\n/);
|
// var remarksList = e.remarks.split(/。|\n|\r\n/);
|
||||||
var remarksList = e.remarks.split('。');
|
// var remarksList = e.remarks.split('。');
|
||||||
this.remark.contentList = remarksList
|
// this.remark.contentList = remarksList
|
||||||
.filter((item) => item.trim() !== '') // 过滤空内容
|
// .filter((item) => item.trim() !== '') // 过滤空内容
|
||||||
.map((item) => {
|
// .map((item) => {
|
||||||
return { text: item + '' }; // 补回句号,或根据需要自定义
|
// return { text: item + '' }; // 补回句号,或根据需要自定义
|
||||||
});
|
// });
|
||||||
},
|
},
|
||||||
// 查重弹出框
|
// 查重弹出框
|
||||||
changeRepe(e) {
|
changeRepe(e) {
|
||||||
@@ -2530,14 +2771,22 @@ export default {
|
|||||||
|
|
||||||
.mangu_list {
|
.mangu_list {
|
||||||
color: #333;
|
color: #333;
|
||||||
margin: 0 0 20px 0;
|
margin: 0 0 35px 0;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
padding: 10px 20px;
|
padding: 10px 20px;
|
||||||
border-radius: 5px;
|
border-bottom-right-radius: 8px;
|
||||||
|
border-bottom-left-radius: 8px;
|
||||||
|
/* border-radius: 5px; */
|
||||||
border: 1px solid #ebeef5;
|
border: 1px solid #ebeef5;
|
||||||
|
/* border: 1px solid #0077b8e6; */
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
.mangu_list:hover {
|
||||||
|
|
||||||
|
border: 1px solid #0077b8e6;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
.mangu_list:nth-child(2n + 1) {
|
.mangu_list:nth-child(2n + 1) {
|
||||||
background-color: #fafafa;
|
background-color: #fafafa;
|
||||||
@@ -2553,7 +2802,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.mangu_list .man_title {
|
.mangu_list .man_title {
|
||||||
margin: 2px 100px 20px 0;
|
margin: 2px 40px 10px 0;
|
||||||
font-weight: bolder;
|
font-weight: bolder;
|
||||||
letter-spacing: -0.5px;
|
letter-spacing: -0.5px;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
@@ -2567,8 +2816,10 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.mangu_list div.fi_new {
|
.mangu_list div.fi_new {
|
||||||
margin: 0 0 0 10px;
|
display: flex;
|
||||||
margin-bottom: 10px;
|
align-items: center;
|
||||||
|
margin: 0 0 0 00px;
|
||||||
|
margin-bottom: 1px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2576,48 +2827,48 @@ export default {
|
|||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mangu_list div.fi_new > div {
|
.mangu_list div.fi_new div > div {
|
||||||
color: #333;
|
color: #333;
|
||||||
display: block;
|
display: block;
|
||||||
margin: 0 0 5px 0;
|
margin: 5px 0 0px 5px;
|
||||||
line-height: 22px;
|
line-height: 22px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mangu_list div.fi_new > div > img {
|
.mangu_list div.fi_new div > div > img {
|
||||||
width: 15px;
|
width: 15px;
|
||||||
vertical-align: text-bottom;
|
vertical-align: text-bottom;
|
||||||
margin: 0 5px 0 0;
|
margin: 0 5px 0 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mangu_list div.fi_new > div > span > font {
|
.mangu_list div.fi_new div > div > span > font {
|
||||||
color: #888;
|
color: #888;
|
||||||
margin: 0 5px 0 0;
|
margin: 0 5px 0 0;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
letter-spacing: -1px;
|
letter-spacing: -1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mangu_list div.fi_new > div > span > i {
|
.mangu_list div.fi_new div > div > span > i {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
color: #888;
|
color: #888;
|
||||||
margin: 0 0 0 3px;
|
margin: 0 0 0 3px;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mangu_list div.fi_new > div > span > i > i {
|
.mangu_list div.fi_new div > div > span > i > i {
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mangu_list div.fi_new > div > a {
|
.mangu_list div.fi_new div > div > a {
|
||||||
margin: 0 5px 0 0;
|
margin: 0 5px 0 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mangu_list div.fi_new .download {
|
.mangu_list div.fi_new .download {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #75abf1;
|
color: #75abf1;
|
||||||
margin: 0 0 0 10px;
|
margin: 0 0 0 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mangu_list div.fi_new > div > a:hover .download {
|
.mangu_list div.fi_new div > div > a:hover .download {
|
||||||
color: #006699;
|
color: #006699;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2636,7 +2887,12 @@ export default {
|
|||||||
.mangu_list .fixCard {
|
.mangu_list .fixCard {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background: #0066990d;
|
background: #0066990d;
|
||||||
padding: 14px 20px;
|
padding: 14px 10px;
|
||||||
|
margin-left: 6px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
.mangu_list .fixCard:nth-child(1) {
|
||||||
|
margin-left: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gugeList {
|
.gugeList {
|
||||||
@@ -2808,4 +3064,38 @@ export default {
|
|||||||
transform: translateY(-4px);
|
transform: translateY(-4px);
|
||||||
box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
|
box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
|
||||||
}
|
}
|
||||||
|
.openFile {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.openFile :hover i {
|
||||||
|
color: #333 !important;
|
||||||
|
}
|
||||||
|
.articleBaseInfo {
|
||||||
|
text-align: left !important;
|
||||||
|
line-height: 28px;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
.articleTopBaseInfo {
|
||||||
|
color: #fff;
|
||||||
|
padding: 0 10px;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
.articleBaseInfo .labelTitle {
|
||||||
|
color: #333;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.articleTopBaseInfo .labelTitle {
|
||||||
|
color: #fff !important;
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
.articleListEditorA .el-button--mini,
|
||||||
|
.el-button--mini.is-round {
|
||||||
|
padding: 6px 10px;
|
||||||
|
}
|
||||||
|
.majorDataBox p:nth-child(1) {
|
||||||
|
border-top: none !important;
|
||||||
|
}
|
||||||
|
.mangu_list div.fi_new div > div:nth-child(1) {
|
||||||
|
margin-top: 0px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -3,61 +3,136 @@
|
|||||||
<div class="crumbs">
|
<div class="crumbs">
|
||||||
<el-breadcrumb separator="/">
|
<el-breadcrumb separator="/">
|
||||||
<el-breadcrumb-item> <i class="el-icon-lx-calendar"></i> Manuscript reviewer list </el-breadcrumb-item>
|
<el-breadcrumb-item> <i class="el-icon-lx-calendar"></i> Manuscript reviewer list </el-breadcrumb-item>
|
||||||
|
<el-breadcrumb-item>
|
||||||
|
<div>
|
||||||
|
<span>ID:{{ articleBaseInfo.accept_sn }} </span>
|
||||||
|
</div>
|
||||||
|
</el-breadcrumb-item>
|
||||||
</el-breadcrumb>
|
</el-breadcrumb>
|
||||||
</div>
|
</div>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="handle-box">
|
<div class="handle-box">
|
||||||
|
<div>
|
||||||
<el-button type="primary" icon="el-icon-plus" @click="openAddRev">Reviewer Bank</el-button>
|
<el-button type="primary" icon="el-icon-plus" @click="openAddRev">Reviewer Bank</el-button>
|
||||||
|
|
||||||
<el-button type="primary" icon="el-icon-plus" @click="openSuggRev">Reviewers Suggested By Author
|
<el-button
|
||||||
({{tableSuggest.length}})</el-button>
|
:type="tableSuggest.length > 0 ? 'primary' : 'info'"
|
||||||
|
:plain="tableSuggest.length == 0"
|
||||||
|
:disabled="tableSuggest.length == 0"
|
||||||
|
icon="el-icon-plus"
|
||||||
|
@click="tableSuggest.length > 0 ? openSuggRev() : ''"
|
||||||
|
>Reviewers Suggested By Author ({{ tableSuggest.length }})</el-button
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- <el-button type="primary" icon="el-icon-circle-plus-outline" @click="editVisible1 = true">Supplement</el-button> -->
|
<!-- <el-button type="primary" icon="el-icon-circle-plus-outline" @click="editVisible1 = true">Supplement</el-button> -->
|
||||||
</div>
|
</div>
|
||||||
<el-table :data="tableData" border stripe class="table" ref="multipleTable"
|
<el-table
|
||||||
header-cell-class-name="table-header" empty-text="New messages (0)">
|
:data="tableData"
|
||||||
|
stripe
|
||||||
|
size="mini"
|
||||||
|
class="table"
|
||||||
|
ref="multipleTable"
|
||||||
|
header-cell-class-name="table-header"
|
||||||
|
empty-text="New messages (0)"
|
||||||
|
>
|
||||||
<el-table-column type="index" label="No." align="center" width="50"></el-table-column>
|
<el-table-column type="index" label="No." align="center" width="50"></el-table-column>
|
||||||
|
<el-table-column label="Base Information" width="280px">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p class="tab_tie_col">
|
||||||
|
<span>Name: </span>
|
||||||
|
<el-badge is-dot :hidden="scope.row.reviewer_act == 1 ? false : true" class="item">
|
||||||
|
<b style="font-size: 15px; letter-spacing: -0.5px">{{ scope.row.reviewer }}</b>
|
||||||
|
</el-badge>
|
||||||
|
</p>
|
||||||
|
<p class="tab_tie_col">
|
||||||
|
<span>Realname: </span>
|
||||||
|
{{ scope.row.realname }}
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="tab_tie_col"><span>Country: </span>{{ scope.row.country }}</p>
|
||||||
|
<p class="tab_tie_col"><span>Email: </span>{{ scope.row.email }}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="Other Information">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p class="tab_tie_col">
|
||||||
|
<span>Field: </span>
|
||||||
|
{{ scope.row.field }}
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="tab_tie_col">
|
||||||
|
<span>Company: </span>
|
||||||
|
{{ scope.row.company }}
|
||||||
|
</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<!-- <el-table-column prop="art_rev_id" label="ID" align="center" width="60"></el-table-column> -->
|
<!-- <el-table-column prop="art_rev_id" label="ID" align="center" width="60"></el-table-column> -->
|
||||||
<el-table-column label="Reviewer" align="center" width="130">
|
<!-- <el-table-column label="Reviewer" align="center" width="130">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-badge is-dot :hidden="scope.row.reviewer_act == 1 ? false : true" class="item">
|
<el-badge is-dot :hidden="scope.row.reviewer_act == 1 ? false : true" class="item">
|
||||||
{{ scope.row.reviewer }}
|
{{ scope.row.reviewer }}
|
||||||
</el-badge>
|
</el-badge>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column> -->
|
||||||
<el-table-column prop="country" label="Country" align="center" width="100"></el-table-column>
|
<!-- <el-table-column prop="country" label="Country" align="center" width="100"></el-table-column> -->
|
||||||
<el-table-column prop="email" label="Email" align="center"></el-table-column>
|
<!-- <el-table-column prop="email" label="Email" align="center"></el-table-column> -->
|
||||||
<el-table-column prop="company" label="Company" align="center"></el-table-column>
|
<!-- <el-table-column prop="company" label="Company" align="center"></el-table-column> -->
|
||||||
<el-table-column prop="major_str" label="Major"></el-table-column>
|
<!-- <el-table-column prop="major_str" label="Major"></el-table-column> -->
|
||||||
<el-table-column prop="field" label="Field"></el-table-column>
|
<el-table-column label="Research areas" width="300">
|
||||||
<el-table-column label="state" align="center" width="95">
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{revstate(scope.row)}}
|
<commonMajorTableList
|
||||||
<font style="color: #aaa;display: block;line-height: 18px;font-size: 13px;margin: 5px 0 0 0;">
|
:user_id="scope.row.reviewer_id"
|
||||||
{{formatDate(scope.row.ctime)}}</font>
|
:baseInfo="scope.row"
|
||||||
|
:key="scope.row.reviewer_id"
|
||||||
|
:disabled="true"
|
||||||
|
></commonMajorTableList>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="" width="110" align="center">
|
<!-- <el-table-column prop="field" label="Field"></el-table-column> -->
|
||||||
|
<el-table-column label="State" align="center" width="120">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button size="mini" type="primary" plain icon="el-icon-tickets"
|
{{ revstate(scope.row) }}
|
||||||
@click="showdetail(scope.row)">Detail</el-button>
|
<font
|
||||||
|
style="color: #aaa; display: block; line-height: 18px; font-size: 13px; margin: 5px 0 0 0"
|
||||||
|
v-html="formatDate(scope.row.ctime)"
|
||||||
|
>
|
||||||
|
</font>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="" width="100" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button size="mini" type="primary" plain icon="el-icon-tickets" @click="showdetail(scope.row)">Detail</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<div class="pagination">
|
<div class="pagination">
|
||||||
<el-pagination background layout="total, prev, pager, next" :current-page="query.pageIndex"
|
<el-pagination
|
||||||
:page-size="query.pageSize" :total="Total" @current-change="handlePageChange"></el-pagination>
|
background
|
||||||
|
layout="total, prev, pager, next"
|
||||||
|
:current-page="query.pageIndex"
|
||||||
|
:page-size="query.pageSize"
|
||||||
|
:total="Total"
|
||||||
|
@current-change="handlePageChange"
|
||||||
|
></el-pagination>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<el-dialog title="Add Suggest Reviewer" :visible.sync="AddSuggest" width="800px">
|
<el-dialog title="Add Suggest Reviewer" :visible.sync="AddSuggest" width="800px">
|
||||||
<el-table :data="tableSuggest" border stripe class="table" ref="multipleTable"
|
<el-table
|
||||||
header-cell-class-name="table-header" empty-text="New messages (0)">
|
:data="tableSuggest"
|
||||||
|
border
|
||||||
|
stripe
|
||||||
|
class="table"
|
||||||
|
ref="multipleTable"
|
||||||
|
header-cell-class-name="table-header"
|
||||||
|
empty-text="New messages (0)"
|
||||||
|
>
|
||||||
<el-table-column prop="account" label="Email"></el-table-column>
|
<el-table-column prop="account" label="Email"></el-table-column>
|
||||||
<el-table-column prop="realname" label="Realname"></el-table-column>
|
<el-table-column prop="realname" label="Realname"></el-table-column>
|
||||||
<el-table-column prop="cmajor" label="Major"></el-table-column>
|
<el-table-column prop="cmajor" label="Major"></el-table-column>
|
||||||
<el-table-column label="" width="120" align="center">
|
<el-table-column label="" width="120" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button size="mini" type="primary" plain icon="el-icon-check" @click="selSuggest(scope.row)">
|
<el-button size="mini" type="primary" plain icon="el-icon-check" @click="selSuggest(scope.row)"> Select</el-button>
|
||||||
Select</el-button>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@@ -65,15 +140,21 @@
|
|||||||
<el-button type="primary" @click="AddSuggest = false">Cancel</el-button>
|
<el-button type="primary" @click="AddSuggest = false">Cancel</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<el-dialog title="add reviewer" :closeOnClickModal="false" :visible.sync="editVisible" width="80%"
|
<el-dialog
|
||||||
v-loading="loading" element-loading-text="Loading..." element-loading-spinner="el-icon-loading"
|
title="add reviewer"
|
||||||
element-loading-background="rgba(0, 0, 0, 0.8)">
|
:closeOnClickModal="false"
|
||||||
|
:visible.sync="editVisible"
|
||||||
|
width="80%"
|
||||||
|
v-loading="loading"
|
||||||
|
element-loading-text="Loading..."
|
||||||
|
element-loading-spinner="el-icon-loading"
|
||||||
|
element-loading-background="rgba(0, 0, 0, 0.8)"
|
||||||
|
>
|
||||||
<el-form ref="editform" :model="editform" label-width="100px">
|
<el-form ref="editform" :model="editform" label-width="100px">
|
||||||
<el-form-item label="state">
|
<el-form-item label="state">
|
||||||
<el-select v-model="editform.uid" filterable @change="changereviewer()" placeholder="Please select">
|
<el-select v-model="editform.uid" filterable @change="changereviewer()" placeholder="Please select">
|
||||||
<el-option :key="0" label="please select" :value="0"></el-option>
|
<el-option :key="0" label="please select" :value="0"></el-option>
|
||||||
<el-option v-for="item in reviewerList" :key="item.user_id" :label="item.account"
|
<el-option v-for="item in reviewerList" :key="item.user_id" :label="item.account" :value="item.user_id"></el-option>
|
||||||
:value="item.user_id"></el-option>
|
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="Country" v-if="editform.uid != 0">
|
<el-form-item label="Country" v-if="editform.uid != 0">
|
||||||
@@ -93,13 +174,19 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-button type="primary" @click="editVisible=false">canel</el-button>
|
<el-button type="primary" @click="editVisible = false">canel</el-button>
|
||||||
<el-button type="primary" @click="saveEdit">save</el-button>
|
<el-button type="primary" @click="saveEdit">save</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<el-dialog title="Supplement" :visible.sync="editVisible1" width="40%" v-loading="loading"
|
<el-dialog
|
||||||
element-loading-text="Loading..." element-loading-spinner="el-icon-loading"
|
title="Supplement"
|
||||||
element-loading-background="rgba(0, 0, 0, 0.8)">
|
:visible.sync="editVisible1"
|
||||||
|
width="40%"
|
||||||
|
v-loading="loading"
|
||||||
|
element-loading-text="Loading..."
|
||||||
|
element-loading-spinner="el-icon-loading"
|
||||||
|
element-loading-background="rgba(0, 0, 0, 0.8)"
|
||||||
|
>
|
||||||
<el-form :model="questionform" ref="question" label-width="300px" label-position="top">
|
<el-form :model="questionform" ref="question" label-width="300px" label-position="top">
|
||||||
<el-divider content-position="center">REFEREE'S ASSESSMENT</el-divider>
|
<el-divider content-position="center">REFEREE'S ASSESSMENT</el-divider>
|
||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
@@ -163,12 +250,14 @@
|
|||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-collapse-item name="1" style="margin-top: -10px;">
|
<el-collapse-item name="1" style="margin-top: -10px">
|
||||||
<template slot="title">
|
<template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
|
||||||
<i class="el-icon-edit"></i>Comments/ Suggestions
|
<el-input
|
||||||
</template>
|
type="textarea"
|
||||||
<el-input type="textarea" placeholder="please input content"
|
placeholder="please input content"
|
||||||
v-model="questionform.qu9contents" :rows="4"></el-input>
|
v-model="questionform.qu9contents"
|
||||||
|
:rows="4"
|
||||||
|
></el-input>
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -176,7 +265,6 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
|
|
||||||
<el-collapse>
|
<el-collapse>
|
||||||
<el-form-item label="7.Is the Abstract accurate and concise?">
|
<el-form-item label="7.Is the Abstract accurate and concise?">
|
||||||
<el-col :span="4">
|
<el-col :span="4">
|
||||||
@@ -186,12 +274,14 @@
|
|||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="20">
|
<el-col :span="20">
|
||||||
<el-collapse-item name="2" style="margin-top: -10px;">
|
<el-collapse-item name="2" style="margin-top: -10px">
|
||||||
<template slot="title">
|
<template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
|
||||||
<i class="el-icon-edit"></i>Comments/ Suggestions
|
<el-input
|
||||||
</template>
|
type="textarea"
|
||||||
<el-input type="textarea" placeholder="please input content"
|
placeholder="please input content"
|
||||||
v-model="questionform.qu10contents" :rows="4"></el-input>
|
v-model="questionform.qu10contents"
|
||||||
|
:rows="4"
|
||||||
|
></el-input>
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -203,12 +293,14 @@
|
|||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="20">
|
<el-col :span="20">
|
||||||
<el-collapse-item name="3" style="margin-top: -10px;">
|
<el-collapse-item name="3" style="margin-top: -10px">
|
||||||
<template slot="title">
|
<template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
|
||||||
<i class="el-icon-edit"></i>Comments/ Suggestions
|
<el-input
|
||||||
</template>
|
type="textarea"
|
||||||
<el-input type="textarea" placeholder="please input content"
|
placeholder="please input content"
|
||||||
v-model="questionform.qu11contents" :rows="4"></el-input>
|
v-model="questionform.qu11contents"
|
||||||
|
:rows="4"
|
||||||
|
></el-input>
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -220,12 +312,14 @@
|
|||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="20">
|
<el-col :span="20">
|
||||||
<el-collapse-item name="4" style="margin-top: -10px;">
|
<el-collapse-item name="4" style="margin-top: -10px">
|
||||||
<template slot="title">
|
<template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
|
||||||
<i class="el-icon-edit"></i>Comments/ Suggestions
|
<el-input
|
||||||
</template>
|
type="textarea"
|
||||||
<el-input type="textarea" placeholder="please input content"
|
placeholder="please input content"
|
||||||
v-model="questionform.qu12contents" :rows="4"></el-input>
|
v-model="questionform.qu12contents"
|
||||||
|
:rows="4"
|
||||||
|
></el-input>
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -237,12 +331,14 @@
|
|||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="20">
|
<el-col :span="20">
|
||||||
<el-collapse-item name="5" style="margin-top: -10px;">
|
<el-collapse-item name="5" style="margin-top: -10px">
|
||||||
<template slot="title">
|
<template slot="title"> <i class="el-icon-edit"></i>Comments/ Suggestions </template>
|
||||||
<i class="el-icon-edit"></i>Comments/ Suggestions
|
<el-input
|
||||||
</template>
|
type="textarea"
|
||||||
<el-input type="textarea" placeholder="please input content"
|
placeholder="please input content"
|
||||||
v-model="questionform.qu13contents" :rows="4"></el-input>
|
v-model="questionform.qu13contents"
|
||||||
|
:rows="4"
|
||||||
|
></el-input>
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -263,10 +359,10 @@
|
|||||||
<el-radio-button label="9"></el-radio-button>
|
<el-radio-button label="9"></el-radio-button>
|
||||||
<el-radio-button label="10"></el-radio-button>
|
<el-radio-button label="10"></el-radio-button>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
<span style="margin-left: 20px;">>Your score:{{questionform.rated}}</span>
|
<span style="margin-left: 20px">>Your score:{{ questionform.rated }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="REFEREE'S RECOMMENDATIONS" prop="recommend">
|
<el-form-item label="REFEREE'S RECOMMENDATIONS" prop="recommend">
|
||||||
<el-radio-group v-model="questionform.recommend" style="line-height: 30px;">
|
<el-radio-group v-model="questionform.recommend" style="line-height: 30px">
|
||||||
<el-radio :label="1">Accept with minor revision</el-radio>
|
<el-radio :label="1">Accept with minor revision</el-radio>
|
||||||
<br />
|
<br />
|
||||||
<el-radio :label="2">Accept with major revision</el-radio>
|
<el-radio :label="2">Accept with major revision</el-radio>
|
||||||
@@ -277,7 +373,7 @@
|
|||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="OTHER SPECIFIC CRITICISMS">
|
<el-form-item label="OTHER SPECIFIC CRITICISMS">
|
||||||
<el-radio-group v-model="questionform.other" style="line-height: 30px;">
|
<el-radio-group v-model="questionform.other" style="line-height: 30px">
|
||||||
<el-radio :label="1">Imperfect style</el-radio>
|
<el-radio :label="1">Imperfect style</el-radio>
|
||||||
<br />
|
<br />
|
||||||
<el-radio :label="2">Too long</el-radio>
|
<el-radio :label="2">Too long</el-radio>
|
||||||
@@ -288,25 +384,22 @@
|
|||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="Comments for the Authors">
|
<el-form-item label="Comments for the Authors">
|
||||||
<el-input type="textarea" placeholder="please input content" v-model="questionform.comment"
|
<el-input type="textarea" placeholder="please input content" v-model="questionform.comment" :rows="8"></el-input>
|
||||||
:rows="8"></el-input>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="Confidential Comments to the Editor">
|
<el-form-item label="Confidential Comments to the Editor">
|
||||||
<el-input type="textarea" placeholder="please input content" v-model="questionform.confident"
|
<el-input type="textarea" placeholder="please input content" v-model="questionform.confident" :rows="8"></el-input>
|
||||||
:rows="8"></el-input>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="Please choose disclose your name or remain anonymous.">
|
<el-form-item label="Please choose disclose your name or remain anonymous.">
|
||||||
<el-radio-group v-model="questionform.is_anonymous" style="line-height: 30px;">
|
<el-radio-group v-model="questionform.is_anonymous" style="line-height: 30px">
|
||||||
<el-radio :label="0">Disclose name</el-radio>
|
<el-radio :label="0">Disclose name</el-radio>
|
||||||
<br />
|
<br />
|
||||||
<el-radio :label="1">Remain anonymous</el-radio>
|
<el-radio :label="1">Remain anonymous</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
<p style="line-height: 20px;color: #aaa;font-size: 13px;margin: 12px 0 0 0;">
|
<p style="line-height: 20px; color: #aaa; font-size: 13px; margin: 12px 0 0 0">
|
||||||
If you agree to disclose your name, we will acknowledge you by name in the published
|
If you agree to disclose your name, we will acknowledge you by name in the published PDF. However, if you prefer
|
||||||
PDF. However, if you prefer to remain anonymous, we will still express our gratitude
|
to remain anonymous, we will still express our gratitude by thanking you as an anonymous reviewer.
|
||||||
by thanking you as an anonymous reviewer.
|
<br />For example, {{ txt_mess.title }} would like to thank AAAAAAAA, BBBBBBBB, and other anonymous reviewers
|
||||||
<br />For example, {{txt_mess.title}} would like to thank AAAAAAAA, BBBBBBBB, and other anonymous reviewers for their
|
for their invaluable contributions to the peer review process of this paper.
|
||||||
invaluable contributions to the peer review process of this paper.
|
|
||||||
</p>
|
</p>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
@@ -319,10 +412,16 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
import commonMajorTableList from '../page/components/major/tableList.vue';
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
commonMajorTableList
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
majorData: [],
|
||||||
baseUrl: this.Common.baseUrl,
|
baseUrl: this.Common.baseUrl,
|
||||||
|
articleBaseInfo: {},
|
||||||
questionform: {
|
questionform: {
|
||||||
uid: 0,
|
uid: 0,
|
||||||
articleId: this.$route.query.id,
|
articleId: this.$route.query.id,
|
||||||
@@ -390,15 +489,27 @@
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
this.initArticle();
|
||||||
this.getdate();
|
this.getdate();
|
||||||
this.initreviewerList();
|
this.initreviewerList();
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
upload_url: function() {
|
upload_url: function () {
|
||||||
return this.baseUrl + 'api/Reviewer/up_file';
|
return this.baseUrl + 'api/Reviewer/up_file';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
initArticle() {
|
||||||
|
this.$api
|
||||||
|
.post('api/Article/getArticleDetail', {
|
||||||
|
articleId: this.query.article_id,
|
||||||
|
human: 'editor'
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
this.articleBaseInfo = res.article;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
// 获取编辑列表数据
|
// 获取编辑列表数据
|
||||||
getdate() {
|
getdate() {
|
||||||
this.$api
|
this.$api
|
||||||
@@ -475,11 +586,12 @@
|
|||||||
addArtRev() {
|
addArtRev() {
|
||||||
if (this.questionform.uid == 0) {
|
if (this.questionform.uid == 0) {
|
||||||
this.$message.error('Please select a reviewer');
|
this.$message.error('Please select a reviewer');
|
||||||
} else if (this.questionform.is_anonymous == "" && this.questionform.is_anonymous != "0") {
|
} else if (this.questionform.is_anonymous == '' && this.questionform.is_anonymous != '0') {
|
||||||
this.$message.error('Please choose disclose your name or remain anonymous.');
|
this.$message.error('Please choose disclose your name or remain anonymous.');
|
||||||
} else {
|
} else {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
this.$api.post('api/Article/addArtRev', this.questionform)
|
this.$api
|
||||||
|
.post('api/Article/addArtRev', this.questionform)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
@@ -496,7 +608,7 @@
|
|||||||
},
|
},
|
||||||
// 添加推荐审稿人
|
// 添加推荐审稿人
|
||||||
openSuggRev() {
|
openSuggRev() {
|
||||||
this.AddSuggest = true
|
this.AddSuggest = true;
|
||||||
},
|
},
|
||||||
selSuggest(e) {
|
selSuggest(e) {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
@@ -509,7 +621,7 @@
|
|||||||
this.loading = false;
|
this.loading = false;
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
this.$message.success('Add Success');
|
this.$message.success('Add Success');
|
||||||
this.AddSuggest = false
|
this.AddSuggest = false;
|
||||||
this.getdate();
|
this.getdate();
|
||||||
} else {
|
} else {
|
||||||
this.$message.error('Add Error');
|
this.$message.error('Add Error');
|
||||||
@@ -596,59 +708,86 @@
|
|||||||
var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
|
var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
|
||||||
var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
|
var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
|
||||||
var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
|
var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
|
||||||
return Y + M + D + ' ' + h + ':' + m + ':' + s;
|
return Y + M + D + '<br/>' + h + ':' + m + ':' + s;
|
||||||
},
|
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.handle-box {
|
.container {
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
.reviewerListBox {
|
||||||
|
color: rgba(0, 119, 184, 1);
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: bold;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.reviewerListBox .labelTitle {
|
||||||
|
color: rgba(0, 119, 184, 1);
|
||||||
|
}
|
||||||
|
.handle-box {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.handle-select {
|
.handle-select {
|
||||||
width: 120px;
|
width: 120px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.handle-input {
|
.handle-input {
|
||||||
width: 300px;
|
width: 300px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.table {
|
.table {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.red {
|
.red {
|
||||||
color: #ff0000;
|
color: #ff0000;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mr10 {
|
.mr10 {
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.table-td-thumb {
|
.table-td-thumb {
|
||||||
display: block;
|
display: block;
|
||||||
margin: auto;
|
margin: auto;
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-table .warning-row {
|
.el-table .warning-row {
|
||||||
background: #f3ca7f;
|
background: #f3ca7f;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-table .success-row {
|
.el-table .success-row {
|
||||||
background: #bcfc9a;
|
background: #bcfc9a;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-table .normol-row {
|
.el-table .normol-row {
|
||||||
background: #d8f1c7;
|
background: #d8f1c7;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-table .red-row {
|
.el-table .red-row {
|
||||||
background: #f05555;
|
background: #f05555;
|
||||||
}
|
}
|
||||||
|
.tab_tie_col {
|
||||||
|
margin-bottom: 5px;
|
||||||
|
color: #333;
|
||||||
|
word-wrap: break-word;
|
||||||
|
word-break: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab_tie_col > span {
|
||||||
|
color: #888;
|
||||||
|
margin: 0 5px 0 0;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,13 +1,16 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="block commonMajor" style="width: 100%;overflow: hidden;">
|
<div class="block commonMajor" style="width: 100%; overflow: hidden">
|
||||||
<el-button type="primary" plain size="mini" @click="handleAdd" style="float:right;margin-bottom: 20px;"><i class="el-icon-plus" ></i>Add Field </el-button>
|
<div v-if="!disabled">
|
||||||
|
<el-button type="primary" plain size="mini" @click="handleAdd" style="float: right; margin-bottom: 20px"
|
||||||
|
><i class="el-icon-plus"></i>Add Field
|
||||||
|
</el-button>
|
||||||
<div
|
<div
|
||||||
v-for="(field, index) in fields"
|
v-for="(field, index) in fields"
|
||||||
:key="index"
|
:key="index"
|
||||||
class="cascader-container"
|
class="cascader-container"
|
||||||
style="margin-bottom: 10px; display: flex; align-items: center; justify-content: space-between"
|
style="margin-bottom: 10px; display: flex; align-items: center; justify-content: space-between"
|
||||||
>
|
>
|
||||||
<span style="margin-right: 10px; font-size: 12px; color: #006699; font-weight: bold">Field {{ Number(index+1) }} :</span>
|
<span style="margin-right: 10px; font-size: 12px; color: #006699; font-weight: bold">Field {{ Number(index + 1) }} :</span>
|
||||||
|
|
||||||
<el-cascader
|
<el-cascader
|
||||||
:ref="`cascader${index}`"
|
:ref="`cascader${index}`"
|
||||||
@@ -20,8 +23,32 @@
|
|||||||
></el-cascader>
|
></el-cascader>
|
||||||
|
|
||||||
<!-- Delete button -->
|
<!-- Delete button -->
|
||||||
<el-button size="mini" type="danger" style="margin-left: 10px;" @click="handleDelete(index)"><i class="el-icon-delete"></i></el-button>
|
<el-button size="mini" type="danger" style="margin-left: 10px" @click="handleDelete(index)"
|
||||||
|
><i class="el-icon-delete"></i
|
||||||
|
></el-button>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div v-else>
|
||||||
|
|
||||||
|
<div
|
||||||
|
v-for="(field, index) in fields"
|
||||||
|
:key="index"
|
||||||
|
class="cascader-container"
|
||||||
|
style="display: flex; align-items: center; justify-content: space-between"
|
||||||
|
>
|
||||||
|
<span style="margin-right: 10px; font-size: 12px; color: #006699; font-weight: bold">Field {{ Number(index + 1) }} :</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div style="width: calc(100% - 60px)">
|
||||||
|
{{field.str.replace('Medicine >', '').trim() }}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- <el-dialog title="Add Field " :visible.sync="coreVisible1" width="780px" :close-on-click-modal="false">
|
<!-- <el-dialog title="Add Field " :visible.sync="coreVisible1" width="780px" :close-on-click-modal="false">
|
||||||
<el-form :model="coreForm1" :rules="rules1" ref="core_Form1" label-width="140px" >
|
<el-form :model="coreForm1" :rules="rules1" ref="core_Form1" label-width="140px" >
|
||||||
<el-form-item prop="major">
|
<el-form-item prop="major">
|
||||||
@@ -53,21 +80,23 @@ export default {
|
|||||||
list: {
|
list: {
|
||||||
type: Array,
|
type: Array,
|
||||||
default: []
|
default: []
|
||||||
|
},
|
||||||
|
disabled: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
list: {
|
list: {
|
||||||
handler(e) {
|
handler(e) {
|
||||||
|
this.fields = this.list.length > 0 ? [...this.list] : [{}];
|
||||||
this.fields=this.list.length>0?[...this.list]:[{}]
|
|
||||||
},
|
},
|
||||||
immediate: true
|
immediate: true
|
||||||
},
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
rules1:{},
|
rules1: {},
|
||||||
coreVisible1: false,
|
coreVisible1: false,
|
||||||
coreForm1: {
|
coreForm1: {
|
||||||
majorList: []
|
majorList: []
|
||||||
@@ -86,16 +115,16 @@ export default {
|
|||||||
|
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs[`cascader${i}`][0].dropDownVisible = false;
|
this.$refs[`cascader${i}`][0].dropDownVisible = false;
|
||||||
this.coreForm1.majorList = this.fields[i].selectedValue;
|
this.coreForm1.majorList = this.fields[i].selectedValue;
|
||||||
|
|
||||||
this.$emit('load',this.fields)
|
this.$emit('load', this.fields);
|
||||||
|
|
||||||
this.$forceUpdate();
|
this.$forceUpdate();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onSubmit_core1(coreForm) {
|
onSubmit_core1(coreForm) {
|
||||||
console.log('coreForm at line 1963:', coreForm);
|
console.log('coreForm at line 1963:', coreForm);
|
||||||
if(!this.fields[0].selectedValue||this.fields[0].selectedValue.length == 0){
|
if (!this.fields[0].selectedValue || this.fields[0].selectedValue.length == 0) {
|
||||||
this.$message.error('Please select Field !');
|
this.$message.error('Please select Field !');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -112,7 +141,7 @@ this.coreForm1.majorList = this.fields[i].selectedValue;
|
|||||||
this.$message.success('Personal information modified successfully!');
|
this.$message.success('Personal information modified successfully!');
|
||||||
this.coreVisible1 = false;
|
this.coreVisible1 = false;
|
||||||
// this.tipVisible = false;
|
// this.tipVisible = false;
|
||||||
this.$emit('load')
|
this.$emit('load');
|
||||||
} else {
|
} else {
|
||||||
this.$message.error(res.msg);
|
this.$message.error(res.msg);
|
||||||
}
|
}
|
||||||
@@ -131,7 +160,7 @@ this.coreForm1.majorList = this.fields[i].selectedValue;
|
|||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
// this.fields=[]
|
// this.fields=[]
|
||||||
this.fields.push({ selectedValue: [] }); // 添加一个新的字段
|
this.fields.push({ selectedValue: [] }); // 添加一个新的字段
|
||||||
this.$emit('load',this.fields)
|
this.$emit('load', this.fields);
|
||||||
// this.coreVisible1 = true;
|
// this.coreVisible1 = true;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@@ -139,7 +168,7 @@ this.coreForm1.majorList = this.fields[i].selectedValue;
|
|||||||
// 删除指定的 Cascader
|
// 删除指定的 Cascader
|
||||||
handleDelete(index) {
|
handleDelete(index) {
|
||||||
this.fields.splice(index, 1); // 删除指定索引的字段
|
this.fields.splice(index, 1); // 删除指定索引的字段
|
||||||
this.$emit('load',this.fields)
|
this.$emit('load', this.fields);
|
||||||
},
|
},
|
||||||
|
|
||||||
// 获取 Cascader 配置
|
// 获取 Cascader 配置
|
||||||
|
|||||||
147
src/components/page/components/major/tableList.vue
Normal file
147
src/components/page/components/major/tableList.vue
Normal file
@@ -0,0 +1,147 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<div
|
||||||
|
@click="disabled?'':BoxMajor()"
|
||||||
|
v-if="user_id"
|
||||||
|
style="display: flex; align-items: center; justify-content: space-between;"
|
||||||
|
:style="{ cursor: disabled ? '' : 'pointer' }"
|
||||||
|
>
|
||||||
|
<!-- 使用 user_id 来获取用户的 majorData -->
|
||||||
|
<div>
|
||||||
|
<div v-if="!loading" class="majorDataBox">
|
||||||
|
<p v-for="(v, i) in majorData" style="border-top: 1px solid #b3d8ff">
|
||||||
|
<span style="font-weight: bold">{{ i + 1 }}.</span>
|
||||||
|
{{ v.major_title.replace('Medicine >', '').trim() }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div v-else>
|
||||||
|
<span>Loading...</span>
|
||||||
|
<!-- 如果数据还在加载,显示 "Loading..." -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<b style="margin-left: 10px; color: #006699" class="el-icon-edit" v-if="!disabled"></b>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<el-dialog title="Edit Research areas" :visible.sync="majorBox" width="800px">
|
||||||
|
<el-form ref="remark" :model="majorMes" label-width="120px">
|
||||||
|
<el-form-item label="Reviewer :">
|
||||||
|
<p style="line-height: 20px; margin-top: 6px">
|
||||||
|
<span style="color: #333; font-weight: bold">{{ majorMes.realname }}</span>
|
||||||
|
( {{ majorMes.email }} )
|
||||||
|
</p>
|
||||||
|
</el-form-item>
|
||||||
|
<!-- <el-form-item label="Email :">
|
||||||
|
<p style="line-height: 20px; margin-top: 6px">{{ majorMes.email }}</p>
|
||||||
|
</el-form-item> -->
|
||||||
|
<el-form-item label="Research areas :">
|
||||||
|
<common-major-list :list="majorValueList" @load="(e) => (this.majorValueList = e)"></common-major-list>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="majorBox = false">Cancel</el-button>
|
||||||
|
<el-button type="primary" @click="saveMajor">Save</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- 评级弹出框 -->
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
components: {},
|
||||||
|
props: ['user_id','baseInfo','disabled'],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
majorValueList: [],
|
||||||
|
majorData: [],
|
||||||
|
majorMes: {},
|
||||||
|
majorBox: false,
|
||||||
|
loading: false,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.loading = true; // 开始加载数据
|
||||||
|
// this.initMajor()
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.fetchMajorData(this.user_id); // 加载第一个用户的数据
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
BoxMajor() {
|
||||||
|
this.majorBox = true;
|
||||||
|
this.majorMes.realname = this.baseInfo.realname;
|
||||||
|
this.majorMes.user_id = this.baseInfo.user_id;
|
||||||
|
this.majorMes.email = this.baseInfo.email;
|
||||||
|
this.majorValueList = [...this.majorData].map((item) => ({
|
||||||
|
selectedValue: Array.isArray(item.shu)
|
||||||
|
? item.shu
|
||||||
|
: typeof item.shu === 'string'
|
||||||
|
? item.shu.split(',').map(Number)
|
||||||
|
: [item.shu]
|
||||||
|
}));
|
||||||
|
},
|
||||||
|
async fetchMajorData(userId) {
|
||||||
|
|
||||||
|
// if (!this.majorData[userId]) {
|
||||||
|
// 判断是否已经加载过该用户的数据
|
||||||
|
this.majorData = await this.getMajorData(userId);
|
||||||
|
this.$forceUpdate()
|
||||||
|
// }
|
||||||
|
},
|
||||||
|
// 修改标记
|
||||||
|
async getMajorData(userId) {
|
||||||
|
try {
|
||||||
|
const res = await this.$api.post('api/Reviewer/getUserField', { user_id: userId });
|
||||||
|
this.loading = false; // 开始加载数据
|
||||||
|
if (res.status === 1) {
|
||||||
|
return res.data; // 返回数据
|
||||||
|
} else {
|
||||||
|
return []; // 如果没有数据,返回空数组
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error fetching data:', error);
|
||||||
|
return []; // 如果发生错误,返回空数组
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
saveMajor() {
|
||||||
|
this.$api
|
||||||
|
.post('api/Reviewer/updateUserField', {
|
||||||
|
user_id: this.majorMes.user_id,
|
||||||
|
user_field: this.majorValueList.map((item) => item.selectedValue[item.selectedValue.length - 1]).toString(',')
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
if (res.status == 1) {
|
||||||
|
this.$message.success('Success');
|
||||||
|
this.majorBox = false;
|
||||||
|
this.fetchMajorData(this.majorMes.user_id);
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.deteleBtn {
|
||||||
|
color: #ce1111;
|
||||||
|
margin-left: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.deteleBtn i {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.deteleBtn:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.majorDataBox p:nth-child(1) {
|
||||||
|
border-top: none !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -208,27 +208,7 @@
|
|||||||
</el-table-column> -->
|
</el-table-column> -->
|
||||||
<el-table-column label="Research areas" width="300">
|
<el-table-column label="Research areas" width="300">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div
|
<commonMajorTableList :user_id="scope.row.user_id" :baseInfo="scope.row" :key="scope.row.user_id"></commonMajorTableList>
|
||||||
@click="BoxMajor(scope.row, majorData[scope.row.user_id])"
|
|
||||||
v-if="scope.row.user_id"
|
|
||||||
style="display: flex; align-items: center; justify-content: space-between; cursor: pointer"
|
|
||||||
>
|
|
||||||
<!-- 使用 user_id 来获取用户的 majorData -->
|
|
||||||
<div>
|
|
||||||
<div v-if="majorData[scope.row.user_id]" class="majorDataBox">
|
|
||||||
<p v-for="(v, i) in majorData[scope.row.user_id]" style="border-top: 1px solid #b3d8ff">
|
|
||||||
<span style="font-weight: bold">{{ i + 1 }}.</span>
|
|
||||||
{{ v.major_title.replace('Medicine >', '').trim() }}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div v-else>
|
|
||||||
<span>Loading...</span>
|
|
||||||
<!-- 如果数据还在加载,显示 "Loading..." -->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<b style="margin-left: 10px; color: #006699" class="el-icon-edit"></b>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
@@ -496,9 +476,11 @@
|
|||||||
const currentYear = new Date().getFullYear();
|
const currentYear = new Date().getFullYear();
|
||||||
var ReviewTime = `(${currentYear - 2}–${currentYear})`;
|
var ReviewTime = `(${currentYear - 2}–${currentYear})`;
|
||||||
import commonReviewer from '../page/components/reviewerList/add.vue';
|
import commonReviewer from '../page/components/reviewerList/add.vue';
|
||||||
|
import commonMajorTableList from '../page/components/major/tableList.vue';
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
commonReviewer
|
commonReviewer,
|
||||||
|
commonMajorTableList,
|
||||||
},
|
},
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
@@ -778,7 +760,7 @@ export default {
|
|||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
this.tableData = res.data;
|
this.tableData = res.data;
|
||||||
for (var i = 0; i < this.tableData.length; i++) {
|
for (var i = 0; i < this.tableData.length; i++) {
|
||||||
this.fetchMajorData(this.tableData[i].user_id); // 加载第一个用户的数据
|
// this.fetchMajorData(this.tableData[i].user_id); // 加载第一个用户的数据
|
||||||
this.getScoreData(i, this.tableData[i].score);
|
this.getScoreData(i, this.tableData[i].score);
|
||||||
}
|
}
|
||||||
this.link_Total = res.total || 0;
|
this.link_Total = res.total || 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user