Files
tougao_web/src/components/page/documentView.vue
2025-06-25 17:00:00 +08:00

1801 lines
57 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<div>
<!-- <div class="crumbs">
<el-breadcrumb separator="/">
<el-breadcrumb-item>
<i class="el-icon-lx-cascades"></i> Manuscripts list
</el-breadcrumb-item>
</el-breadcrumb>
</div> -->
<div class="tab_all">
<!-- 正在处理 -->
<p @click="tabIndex(1)" :class="activeIndex == 1 ? 'tab_Normal tab_Select' : 'tab_Normal'">Edit</p>
<!-- 接收的文章 -->
<p @click="tabIndex(2)" :class="activeIndex == 2 ? 'tab_Normal tab_Select' : 'tab_Normal'">Produce</p>
<!-- 等作者确认 -->
<!-- <p @click="tabIndex(3)" :class="activeIndex == 3 ? 'tab_Normal tab_Select' : 'tab_Normal'">Proof</p> -->
<!-- 已经发表 -->
<p @click="tabIndex(3)" :class="activeIndex == 3 ? 'tab_Normal tab_Select' : 'tab_Normal'">Online</p>
<!-- 连续出版 -->
<p @click="tabIndex(4)" :class="activeIndex == 4 ? 'tab_Normal tab_Select' : 'tab_Normal'"
v-if="preJouList">Pre-publish</p>
<!-- 出版的 -->
<p @click="tabIndex(5)" :class="activeIndex == 5 ? 'tab_Normal tab_Select' : 'tab_Normal'">Publish</p>
<!-- 调查与撤回 -->
<!-- <p @click="tabIndex(4)" :class="activeIndex == 4 ? 'tab_Normal tab_Select' : 'tab_Normal'">Investigte and
Retrace</p> -->
<br clear="both">
</div>
<div class="container" style="min-width: 1200px;">
<div v-if="activeIndex=='1'">
<div class="handle-box">
<el-select v-model="query_1.journal" @change="chageJour_1" placeholder="Please select journal">
<el-option :key="0" label="All journals" :value="0"></el-option>
<el-option v-for="item in jourList_1" :key="item.journal_id" :label="item.title"
:value="item.journal_id">
</el-option>
</el-select>
<el-select v-model="query_1.act" @change="handleSearch_1" placeholder="Please select status"
style="width: 100px;">
<el-option :key="1" :label="$t('artstate.act1')" :value="1"></el-option>
<el-option :key="2" :label="$t('artstate.act2')" :value="2"></el-option>
</el-select>
<el-select v-model="query_1.state" @change="handleSearch_1" placeholder="Please select status"
style="width: 130px;">
<el-option :key="-1" label="All status" :value="-1"></el-option>
<el-option :key="0" :label="$t('artstate.state0')" :value="0" :disabled="query_1.act==2">
</el-option>
<el-option :key="1" :label="$t('artstate.state1')" :value="1" :disabled="query_1.act==2">
</el-option>
<el-option :key="2" :label="$t('artstate.state2')" :value="2" :disabled="query_1.act==2">
</el-option>
<el-option :key="3" :label="$t('artstate.state3')" :value="3" :disabled="query_1.act==1">
</el-option>
<el-option :key="4" :label="$t('artstate.state4')" :value="4" :disabled="query_1.act==2">
</el-option>
<el-option :key="6" :label="$t('artstate.state6')" :value="6" :disabled="query_1.act==2">
</el-option>
<el-option :key="5" :label="$t('artstate.state5')" :value="5" :disabled="query_1.act==1">
</el-option>
</el-select>
<el-select v-model="query_1.special_num" @change="handleSearch_1" placeholder="Please select guest"
style="width: 185px;">
<el-option :key="0" label="Not select special issue" :value="0"></el-option>
<el-option v-for="item in itemGuest_1" :key="item.journal_special_id" :label="item.title"
:value="item.journal_special_id"></el-option>
</el-select>
<el-input v-model="query_1.name" placeholder="Title" style="width: 120px;"></el-input>
<el-input v-model="query_1.sn" placeholder="SN" style="width: 120px;margin-right: 10px;"></el-input>
<el-button type="primary" icon="el-icon-search" @click="handleSearch_1" style="margin:0 0 10px 0;">
Search
</el-button>
</div>
<el-table :data="tableData_1" border stripe class="table" ref="multipleTable"
header-cell-class-name="table-header" empty-text="New messages (0)">
<el-table-column type="index" label="No." width="50" align="center"></el-table-column>
<el-table-column label="Manuscript" width="260">
<template slot-scope="scope">
<p style="margin-bottom: 5px;color: #666;">
<span
style="background-color: #006699;width: 20px;color: #fff;margin: 0 2px 0 0;font-weight: bold;padding: 2px 4px;"
v-if="scope.row.special_num>0">S</span>
{{scope.row.accept_sn}}
</p>
<p
style="font-weight: bold;letter-spacing: -0.5px;word-wrap: break-word;word-break: normal;line-height: 22px;">
{{scope.row.title}}
</p>
<p style="text-align: center;margin: 10px 0 5px 0;">
<el-button size="mini" type="primary" plain icon="el-icon-tickets"
@click="showDetail(scope.row)">Manuscript Detail</el-button>
</p>
</template>
</el-table-column>
<el-table-column label="" align="center" width="145">
<template slot="header">
<div>Reviewer</div>
<div>Decision</div>
</template>
<template slot-scope="scope">
<p v-for="(item, index) in scope.row.review">
Reviewer{{index+1}} score: <b style="color: #006699;">{{item.rated}}</b>
</p>
<p v-if="scope.row.review.length>0" style="color: #006699;font-size: 15px;margin: 5px 0;">
Average: <b>{{avegeCount(scope.row.review)}}</b>
</p>
<p style="margin-bottom: 5px;">
<el-button v-for="(item, index) in scope.row.review"
:type="item.state==2?'danger':'success'" circle style="padding: 5px;"></el-button>
</p>
<el-button size="mini" type="primary" plain icon="el-icon-user"
@click="articleReviewer(scope.row)">
Peer-Review</el-button>
</template>
</el-table-column>
<el-table-column label="">
<template slot="header">
<div style="white-space:nowrap;text-align: center;">Corresponding</div>
<div style="text-align: center;">Author</div>
</template>
<template slot-scope="scope">
<p v-if="scope.row.realname!=''">
<font style="color: #999;font-size: 12px;">Name:</font>
{{scope.row.realname}}
</p>
<p v-if="scope.row.email!=''">
<font style="color: #999;font-size: 12px;">Email:</font>
{{scope.row.email}}
</p>
<p v-if="scope.row.phone!=''">
<font style="color: #999;font-size: 12px;">Phone:</font>
{{scope.row.phone}}
</p>
</template>
</el-table-column>
<el-table-column label="Email" align="center" width="110">
<template slot-scope="scope">
<div style="text-align: center;margin-bottom: 10px;" v-if="scope.row.emailh==1">
<el-button size="mini" type="primary" plain icon="el-icon-chat-dot-square"
@click="linkEmailist(scope.row)">History</el-button>
</div>
</template>
</el-table-column>
<el-table-column label="Countries" align="center" width="95">
<template slot-scope="scope">
<p v-for="(item, index) in scope.row.countrys">
{{item}}
<font v-if="index!=scope.row.countrys.length-1">,</font>
</p>
</template>
</el-table-column>
<el-table-column label="AI scoring" align="center" width="100">
<template slot-scope="scope">
<p style="font-size: 18px;font-weight: bold;margin-bottom: 5px;color: #006699;cursor: pointer;"
v-if="scope.row.reportList.length>0">{{scope.row.scoring}}</p>
<p style="font-size: 18px;font-weight: bold;margin-bottom: 5px;"
v-if="scope.row.reportList.length==0">
{{scope.row.scoring}}
</p>
<p v-if="scope.row.scoring!=0&&scope.row.H!=null" style="color: #999;">
{{scope.row.H.google_editor}}
</p>
<p v-if="scope.row.scoring!=0&&scope.row.H!=null&&scope.row.H.google_time!=0"
style="color: #999;">
{{formatDate(scope.row.H.google_time)}}
</p>
</template>
</el-table-column>
<el-table-column label="Status" align="center" width="110">
<template slot-scope="scope">
<p style="margin-bottom: 5px;">{{stateFormat(scope.row.state)}}</p>
</template>
</el-table-column>
<el-table-column label="Repetition" align="center" width="80">
<template slot-scope="scope">
<p style="margin-bottom: 5px;">{{scope.row.repetition}} %</p>
</template>
</el-table-column>
<el-table-column label="Remarks" align="center">
<template slot-scope="scope">
<p style="margin-bottom: 5px;text-align: left;">{{scope.row.remarks}}</p>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background layout="total, prev, pager, next" :current-page="query_1.pageIndex"
:page-size="query_1.pageSize" :total="Total_1" @current-change="handlePageChange_1">
</el-pagination>
</div>
</div>
<div v-if="activeIndex=='2'">
<div class="handle-box">
<el-select v-model="query_2.journal_id" @change="handleSearch_2" placeholder="Please select journal"
style="width: 300px;">
<el-option :key="0" label="All journals" :value="0"></el-option>
<el-option v-for="item in jourList_2" :key="item.journal_id" :label="item.title"
:value="item.journal_id"></el-option>
</el-select>
</div>
<el-table :data="tableData_2" border stripe class="table" ref="multipleTable"
header-cell-class-name="table-header" empty-text="New messages (0)">
<el-table-column type="index" label="No." width="55" align="center"></el-table-column>
<el-table-column width="170" label="Doi" align="center">
<template slot-scope="scope">
<p style="margin-bottom: 5px;">
{{scope.row.doi}}
</p>
<el-button size="mini" type="primary" plain icon="el-icon-tickets"
@click="showDetail(scope.row)">Manuscript Detail</el-button>
</template>
</el-table-column>
<el-table-column prop="accept_sn" label="SN" width="180px"></el-table-column>
<el-table-column prop="" label="Title">
<template slot-scope="scope">
<p v-if="scope.row.title==''">
Article{{scope.row.p_article_id}}
</p>
<p else>
{{scope.row.title}}
</p>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background layout="total, prev, pager, next" :current-page="query_2.pageIndex"
:page-size="query_2.pageSize" :total="Total_2" @current-change="handlePageChange_2">
</el-pagination>
</div>
</div>
<div v-if="activeIndex=='3'">
<div class="handle-box">
<el-select v-model="query_3.issn" @change="getDate_3" placeholder="Please select journal"
style="width: 500px;">
<el-option v-for="item in jourList_3" :key="item.issn" :label="item.title" :value="item.issn">
</el-option>
</el-select>
</div>
<div v-for="(item,index) in tableData_3">
<div style="margin: 30px 0 20px 10px;">
<b style="letter-spacing: -0.5px;">
{{item.stage_year}} Vol.{{item.stage_vol}} issue.{{item.stage_no}}
</b>
<span style="color: #888;margin-left: 20px;font-size: 14px;">({{item.articles.length}} articles
in
total)</span>
</div>
<div v-for="(item,index) in item.articles" class="actList">
<span>{{item.npp}}.</span>
<font @click="lookView(item)">{{item.title}}</font>
</div>
<p style="height: 1px;background-color: #eee;width: 100%;margin-top: 30px;"></p>
</div>
<div v-if="tableData_3.length==0" style="margin: 40px 0 10px 10px;">
No Article
</div>
</div>
<div v-if="activeIndex=='4'">
<div class="handle-box">
<el-select v-model="query_4.journal_id" @change="handleSearch_4" placeholder="Please select journal"
style="width: 300px;">
<el-option v-for="item in jourList_4" :key="item.journal_id" :label="item.title"
:value="item.journal_id"></el-option>
</el-select>
</div>
<el-table :data="tableData_4" border stripe class="table" ref="multipleTable"
header-cell-class-name="table-header" empty-text="New messages (0)">
<el-table-column type="index" label="No." width="60" align="center"></el-table-column>
<el-table-column width="160" label="Doi" align="center">
<template slot-scope="scope">
<p style="margin-bottom: 5px;">
{{scope.row.doi}}
</p>
<el-button size="mini" type="primary" plain icon="el-icon-tickets"
@click="showDetail(scope.row)">Manuscript Detail</el-button>
</template>
</el-table-column>
<el-table-column prop="accept_sn" label="SN" width="180px"></el-table-column>
<el-table-column prop="" label="Title">
<template slot-scope="scope">
<p v-if="scope.row.title==''">
Article{{scope.row.p_article_id}}
</p>
<p else>
{{scope.row.title}}
</p>
</template>
</el-table-column>
<el-table-column label=" " align="center" width="200px">
<template slot-scope="scope">
<el-button @click="changeEnter(scope.row)" size="mini" type="primary" plain
icon="el-icon-paperclip">Enter</el-button>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background layout="total, prev, pager, next" :current-page="query_4.pageIndex"
:page-size="query_4.pageSize" :total="Total_4" @current-change="handlePageChange_4">
</el-pagination>
</div>
</div>
<div v-if="activeIndex=='5'">
<div class="handle-box">
<el-select v-model="query_5.issn" @change="handleSearch_5" placeholder="Please select a journal"
style="width: 250px;">
<el-option v-for="item in jourList_5" :key="item.issn" :label="item.title" :value="item.issn">
</el-option>
</el-select>
<el-select v-model="query_5.journal_stage_id" @change="handleSearch_5"
placeholder="Please select a stage" style="width: 250px;margin-left: 15px;">
<el-option :key="0" label="All stages" :value="0"></el-option>
<el-option v-for="item in stageList_5" :key="item.journal_stage_id"
:label="item.stage_year+' Vol.'+item.stage_vol +' issue.'+item.stage_no+' '+item.stage_pagename+item.stage_page"
:value="item.journal_stage_id">
</el-option>
</el-select>
<el-input v-model="query_5.seach" placeholder="Please enter keywords..."
style="width: 200px;margin-left: 15px;"></el-input>
<el-button type="primary" @click="handleSearch_5" style="margin-left: 15px;">
<i class="el-icon-search" style="margin-right: 5px;"></i>Search
</el-button>
</div>
<el-table :data="tableData_5" border stripe class="table" ref="multipleTable"
header-cell-class-name="table-header" empty-text="New messages (0)">
<el-table-column width="50" label="No." prop="npp" align="center"></el-table-column>
<el-table-column width="170" label="Stage" align="center">
<template slot-scope="scope">
{{scope.row.stage_year}} Vol.{{scope.row.stage_vol}} issue.{{scope.row.stage_no}}
<br>
<el-button style="margin-top: 5px;" size="mini" type="success" plain icon="el-icon-view"
@click="lookView(scope.row)">Preview</el-button>
</template>
</el-table-column>
<el-table-column label="Sort" width="60px" align="center">
<template slot-scope="scope">
<p v-html="scope.row.sort"></p>
</template>
</el-table-column>
<el-table-column label="Title">
<template slot-scope="scope">
<p v-html="scope.row.title"></p>
</template>
</el-table-column>
<el-table-column label="Guest Journal" width="130px" align="center">
<template slot-scope="scope">
<p v-html="scope.row.journal_special_id"></p>
</template>
</el-table-column>
<el-table-column label="Topics" width="180px">
<template slot-scope="scope">
<p v-html=""></p>
</template>
</el-table-column>
<el-table-column label="" width="130px" align="center">
<template slot-scope="scope">
<el-button size="mini" type="primary" plain icon="el-icon-tickets"
@click="viewRelated(scope.row)">
Relevant</el-button>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background layout="total, prev, pager, next" :current-page="query_5.pageIndex"
:page-size="query_5.pageSize" :total="Total_5" @current-change="handlePageChange_5">
</el-pagination>
</div>
</div>
</div>
<!-- 文章详情弹出框 -->
<el-dialog title="" :visible.sync="detailVisible" width="1200px" class="articlDialog">
<el-row :gutter="30">
<el-col :span="16">
<div class="art_state_">
<div class="art_state_message">
<div class="art_state_message_id" style="padding-left: 15px;">
<font>Journal : <b
style="margin-right: 25px;">{{journal_state(detailMess.journalname)}}</b></font>
<font>ID : <b style="margin-right: 25px;">{{detailMess.accept_sn}}</b></font>
<font>Type : <b style="margin-right: 25px;">{{detailMess.type |jtName}}</b></font>
<font>Major : <b>{{detailMess.major}}</b></font>
</div>
<p>
<font>Title :</font>
<b> {{detailMess.title}}</b>
</p>
<p v-show="detailMess.type=='A'">
<font>Ethical Approval :</font><b>{{detailMess.approval?'Yes':'No'}}</b>
</p>
<p v-if="detailMess.special_num > 0">
<font>Special Issues :</font><b>{{ detailMess.special_title }}</b>
</p>
<el-collapse class="auth_colla auth_collna_ew">
<el-collapse-item :title="authorList_name" name="1">
<div v-for="(item, index) in detailMess.authorList" class="auth_mess">
<h4 style="font-weight: bolder;">
<img src="../../assets/img/state_one.png" v-if="item.isSuper"
style="width: 15px;margin: 0 2px 0 0;vertical-align: text-bottom;">
{{item.firstname}} {{item.lastname}}
{{item.isSuper?'#':''}}{{item.isReport?'*':''}}
</h4>
<div>
<p v-if="item.email">
<img src="../../assets/img/state_email.png" v-if="item.isReport"
style="width: 14px;margin: 0 8px 0 0;vertical-align: text-bottom;">
<font>Email : </font>{{item.email}}
</p>
<p v-if="item.orcid">
<font>ORCID iD : </font>{{item.orcid}}
</p>
<p>
<font>First author : </font>
<b v-if="item.isSuper">Yes</b>
<b v-if="!item.isSuper">No</b>
</p>
<p>
<font>Corresponding Author :</font>
<b v-if="item.isReport">Yes</b>
<b v-if="!item.isReport">No</b>
</p>
<p v-if="item.address">
<font>Address : </font>{{item.address}}
</p>
<p v-if="item.company">
<font>Affiliation : </font>{{item.company}}
</p>
<p v-if="item.department">
<font>Department : </font>{{item.department}}
</p>
<p v-if="item.title">
<font>Title : </font>{{item.title}}
</p>
<p v-if="item.country">
<font>Country : </font>{{item.country}}
</p>
</div>
</div>
</el-collapse-item>
</el-collapse>
<el-collapse class="auth_colla auth_collna_ew" style="margin-top: -15px;">
<el-collapse-item name="2">
<template slot="title">
Abstract
<font v-if="detailMess.keywords" style="margin-left: 3px;">, Keywords</font>
<font v-if="detailMess.fund" style="margin-left: 3px;">, Fund</font>
</template>
<p>
<font>Abstract :</font><b>{{detailMess.abstrart}}</b>
</p>
<p v-if="detailMess.keywords">
<font>Keywords :</font><b>{{detailMess.keywords}}</b>
</p>
<p v-if="detailMess.fund">
<font>Fund :</font><b>{{detailMess.fund}}</b>
</p>
</el-collapse-item>
</el-collapse>
</div>
<div class="art_file_">
<el-row :gutter="24">
<el-col :span="24" v-if="coverLetterFileList">
<h4>Cover letter : </h4>
<p class="fi_new">
<a v-for="item in coverLetterFileList" :href="mediaUrl + item.file_url">
<img src="../../assets/img/icon_0.png">
<span>
<font>Uploader : </font>{{item.username}}
<i><i class="el-icon-time"></i>{{formatDate(item.ctime)}}</i>
</span>
<i class="el-icon-download download"></i>
</a>
</p>
<br clear="both">
</el-col>
<el-col :span="24" v-if="picturesAndTablesFileList">
<h4>Figures : </h4>
<p class="fi_new">
<a v-for="item in picturesAndTablesFileList" :href="mediaUrl + item.file_url">
<img src="../../assets/img/icon_0.png">
<span>
<font>Uploader : </font>{{item.username}}
<i><i class="el-icon-time"></i>{{formatDate(item.ctime)}}</i>
</span>
<i class="el-icon-download download"></i>
</a>
</p>
<br clear="both">
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="24" v-if="totalpageFileList">
<h4>Title page : </h4>
<p class="fi_new">
<a v-for="item in totalpageFileList" :href="mediaUrl + item.file_url">
<img src="../../assets/img/icon_0.png">
<span>
<font>Uploader : </font>{{item.username}}
<i><i class="el-icon-time"></i>{{formatDate(item.ctime)}}</i>
</span>
<i class="el-icon-download download"></i>
</a>
</p>
<br clear="both">
</el-col>
<el-row :gutter="24" v-if="supplementaryFileList">
<el-col :span="24">
<h4>Supplementary Material : </h4>
<p class="fi_new">
<a v-for="item in supplementaryFileList" :href="mediaUrl + item.file_url">
<img src="../../assets/img/icon_0.png">
<span>
<font>Uploader : </font>{{item.username}}
<i><i class="el-icon-time"></i>{{formatDate(item.ctime)}}</i>
</span>
<i class="el-icon-download download"></i>
</a>
</p>
<br clear="both">
</el-col>
</el-row>
<el-col :span="24">
<h4>Manuscirpt : </h4>
<p class="fi_new">
<a v-for="item in manuscirptFileList" :href="mediaUrl + item.file_url">
<img src="../../assets/img/icon_0.png">
<span>
<font>Uploader : </font>{{item.username}}
<i><i class="el-icon-time"></i>{{formatDate(item.ctime)}}</i>
</span>
<i class="el-icon-download download"></i>
</a>
</p>
<br clear="both">
</el-col>
</el-row>
<el-row v-if="responseFileList!=''">
<div
style="height: 1px;width: 98%;background-color: #EBEEF5;margin: 5px auto 20px auto;">
</div>
<el-col :span="24">
<h4>Response to reviewers : </h4>
<p class="fi_new">
<a v-for="item in responseFileList" :href="mediaUrl + item.file_url">
<img src="../../assets/img/icon_0.png">
<span>
<font>Uploader : </font>{{detailMess.username}}
<i><i class="el-icon-time"></i>{{formatDate(item.artr_ctime)}}</i>
</span>
<i class="el-icon-download download"></i>
</a>
</p>
</el-col>
</el-row>
</div>
</div>
<div class="art_caozuo_">
<p>
<span>Status : </span>
<b>{{stateFormat(detailMess.state)}}</b>
</p>
<p>
<span>Remarks : </span>
<b>{{detailMess.remarks}}</b>
</p>
<p>
<span>Repetition : </span>
<b>{{detailMess.repetition}}%</b>
<a :href="mediaUrl + detailMess.repeurl" v-if="detailMess.repeurl" class="zip_load"
target="_blank">
<img src="../../assets/img/icon_0.png">
<span>Duplicate check file</span>
<i class="el-icon-download download"></i>
</a>
</p>
</div>
</el-col>
<el-col :span="8">
<div class="kuang_communtion">
<h2>
Communication
</h2>
<div v-for="(item, index) in talkMsgs" class="kuang_communtion_conmt">
<div v-if="item.user_id == msgform.user_id" class="talk_aued">
<p>
Author :
</p>
<el-card>Dear Editor,
<p style="white-space: pre-wrap;">{{ item.ad_content }}</p>
</el-card>
<b>{{formatDate(item.ad_ctime)}}</b>
</div>
<div v-if="item.user_id != msgform.user_id" class="talk_aued talk_edit">
<p>
Editor :
</p>
<el-card>
<p style="white-space: pre-wrap;">{{ item.ad_content }}</p>
</el-card>
<b>{{formatDate(item.ad_ctime)}}</b>
</div>
</div>
</div>
<div class="tree_box">
<h2 style="margin: 0 0 20px 0;font-size: 18px;letter-spacing: -0.8px;">Manuscript Tracking</h2>
<div class="block">
<el-timeline>
<el-timeline-item :timestamp="formatDate(detailMess.ctime)" placement="top">
<el-card>
<p style="line-height: 20px;">
Manuscript submission :
<b>{{detailMess.account}}</b>
submitted to
<b>{{journal_state(detailMess.journalname)}}</b>
</p>
</el-card>
</el-timeline-item>
<el-timeline-item v-for="(activity, index) in msgs" :key="index"
:timestamp="formatDate(activity.ctime)" placement="top">
<el-card v-if="activity.ftype==0">
<p>Status change : {{stateFormat(activity.state_to)}}</p>
<p v-if="activity.content!=''">{{activity.content}}</p>
</el-card>
<el-card v-else>
<p style="margin-bottom: 5px;font-weight: bold;">Author message :</p>
<p style="line-height: 18px;">{{activity.content}}</p>
</el-card>
</el-timeline-item>
</el-timeline>
</div>
</div>
</el-col>
</el-row>
</el-dialog>
<!-- 审稿意见 -->
<el-dialog title="" :visible.sync="reviewVisible" width="1000px">
<p style="margin: 0 0 20px 0;font-size: 16px;">{{detailMess.title}}</p>
<el-table :data="reviewData" border stripe 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 label="Reviewer" width="400">
<template slot-scope="scope">
<p class="tab_tie_col">
<span>Realname: </span>
<el-badge is-dot :hidden="scope.row.reviewer_act == 1 ? false : true" class="item">
{{ scope.row.reviewer }}
</el-badge>
</p>
<p class="tab_tie_col">
<span>Country: </span>{{scope.row.country}}
</p>
<p class="tab_tie_col">
<span>Company: </span>{{scope.row.company}}
</p>
<p class="tab_tie_col">
<span>Major: </span>{{scope.row.major_str}}
</p>
</template>
</el-table-column>
<el-table-column prop="field" label="Field"></el-table-column>
<el-table-column label="state" align="center" width="95">
<template slot-scope="scope">
{{stateFormat(scope.row.state)}}
<font style="color: #aaa;display: block;line-height: 18px;font-size: 13px;margin: 5px 0 0 0;">
{{formatDate(scope.row.ctime)}}
</font>
</template>
</el-table-column>
<el-table-column label="" width="150" align="center">
<template slot-scope="scope">
<el-button size="mini" type="primary" plain icon="el-icon-tickets"
@click="initquesion(scope.row.art_rev_id)">See Feedback</el-button>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background layout="total, prev, pager, next" :current-page="query_review.pageIndex"
:page-size="query_review.pageSize" :total="Total_review" @current-change="handlePageChange_review">
</el-pagination>
</div>
</el-dialog>
<!-- 审稿问卷 -->
<el-dialog title="Feedback questionnaire" :visible.sync="questionVisible" width="900px">
<el-form :model="questionform" ref="question" label-width="300px" label-position="top">
<el-divider content-position="center">REFEREE'S ASSESSMENT</el-divider>
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="1.Originality of the topic">
<el-radio-group v-model="questionform.qu1">
<el-radio :label="1">Excellent</el-radio>
<el-radio :label="2">Good</el-radio>
<el-radio :label="3">Fair</el-radio>
<el-radio :label="4">Poor</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="2.Importance in its Field">
<el-radio-group v-model="questionform.qu3">
<el-radio :label="1">Excellent</el-radio>
<el-radio :label="2">Good</el-radio>
<el-radio :label="3">Fair</el-radio>
<el-radio :label="4">Poor</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="3.Does the manuscript fall within the aim and scope of the journal?">
<el-radio-group v-model="questionform.qu6">
<el-radio :label="1">Excellent</el-radio>
<el-radio :label="2">Good</el-radio>
<el-radio :label="3">Fair</el-radio>
<el-radio :label="4">Poor</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="4.English language">
<el-radio-group v-model="questionform.qu8">
<el-radio :label="1">Excellent</el-radio>
<el-radio :label="2">Good</el-radio>
<el-radio :label="3">Fair</el-radio>
<el-radio :label="4">Poor</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="5.Readily Understandable">
<el-radio-group v-model="questionform.qu5">
<el-radio :label="1">Excellent</el-radio>
<el-radio :label="2">Good</el-radio>
<el-radio :label="3">Fair</el-radio>
<el-radio :label="4">Poor</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-collapse>
<el-form-item label="6.Does the title represent manuscript's contents?">
<el-col :span="8">
<el-radio-group v-model="questionform.qu9">
<el-radio :label="true">Yes</el-radio>
<el-radio :label="false">No</el-radio>
</el-radio-group>
</el-col>
<el-col :span="12">
<el-collapse-item name="1" style="margin-top: -10px;">
<template slot="title">
<i class="el-icon-edit"></i>Comments/ Suggestions
</template>
<el-input type="textarea" placeholder="please input content"
v-model="questionform.qu9contents" :rows="4"></el-input>
</el-collapse-item>
</el-col>
</el-form-item>
</el-collapse>
</el-col>
</el-row>
<el-collapse>
<el-form-item label="7.Is the Abstract accurate and concise?">
<el-col :span="4">
<el-radio-group v-model="questionform.qu10">
<el-radio :label="true">Yes</el-radio>
<el-radio :label="false">No</el-radio>
</el-radio-group>
</el-col>
<el-col :span="20">
<el-collapse-item name="2" style="margin-top: -10px;">
<template slot="title">
<i class="el-icon-edit"></i>Comments/ Suggestions
</template>
<el-input type="textarea" placeholder="please input content"
v-model="questionform.qu10contents" :rows="4"></el-input>
</el-collapse-item>
</el-col>
</el-form-item>
<el-form-item label="8.Are the approach/ methods properly described?">
<el-col :span="4">
<el-radio-group v-model="questionform.qu11">
<el-radio :label="true">Yes</el-radio>
<el-radio :label="false">No</el-radio>
</el-radio-group>
</el-col>
<el-col :span="20">
<el-collapse-item name="3" style="margin-top: -10px;">
<template slot="title">
<i class="el-icon-edit"></i>Comments/ Suggestions
</template>
<el-input type="textarea" placeholder="please input content"
v-model="questionform.qu11contents" :rows="4"></el-input>
</el-collapse-item>
</el-col>
</el-form-item>
<el-form-item label="9.Are the conclusions and interpretations sound?">
<el-col :span="4">
<el-radio-group v-model="questionform.qu12">
<el-radio :label="true">Yes</el-radio>
<el-radio :label="false">No</el-radio>
</el-radio-group>
</el-col>
<el-col :span="20">
<el-collapse-item name="4" style="margin-top: -10px;">
<template slot="title">
<i class="el-icon-edit"></i>Comments/ Suggestions
</template>
<el-input type="textarea" placeholder="please input content"
v-model="questionform.qu12contents" :rows="4"></el-input>
</el-collapse-item>
</el-col>
</el-form-item>
<el-form-item label="10.Are the references properly cited?">
<el-col :span="4">
<el-radio-group v-model="questionform.qu13">
<el-radio :label="true">Yes</el-radio>
<el-radio :label="false">No</el-radio>
</el-radio-group>
</el-col>
<el-col :span="20">
<el-collapse-item name="5" style="margin-top: -10px;">
<template slot="title">
<i class="el-icon-edit"></i>Comments/ Suggestions
</template>
<el-input type="textarea" placeholder="please input content"
v-model="questionform.qu13contents" :rows="4"></el-input>
</el-collapse-item>
</el-col>
</el-form-item>
<el-divider content-position="center">REFEREE'S RECOMMENDATIONS</el-divider>
<el-form-item label="Overall the Paper is Rated">
(Poor------------------------Excellent)
<br />
<el-radio-group v-model="questionform.rated" size="small">
<el-radio-button label="1"></el-radio-button>
<el-radio-button label="2"></el-radio-button>
<el-radio-button label="3"></el-radio-button>
<el-radio-button label="4"></el-radio-button>
<el-radio-button label="5"></el-radio-button>
<el-radio-button label="6"></el-radio-button>
<el-radio-button label="7"></el-radio-button>
<el-radio-button label="8"></el-radio-button>
<el-radio-button label="9"></el-radio-button>
<el-radio-button label="10"></el-radio-button>
</el-radio-group>
<span style="margin-left: 20px;">>Your score:{{questionform.rated}}</span>
</el-form-item>
<el-form-item label="REFEREE'S RECOMMENDATIONS" prop="recommend">
<el-radio-group v-model="questionform.recommend" style="line-height: 30px;">
<el-radio :label="1">Accept with minor revision</el-radio>
<br />
<el-radio :label="2">Accept with major revision</el-radio>
<br />
<el-radio :label="3">Reject in current form, but may be resubmitted</el-radio>
<br />
<el-radio :label="4">Reject, with no resubmission</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="OTHER SPECIFIC CRITICISMS">
<el-radio-group v-model="questionform.other" style="line-height: 30px;">
<el-radio :label="1">Imperfect style</el-radio>
<br />
<el-radio :label="2">Too long</el-radio>
<br />
<el-radio :label="3">References incorrectly presented</el-radio>
<br />
<el-radio :label="4">Typographical and Grammatical errors</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="Comments for the Authors">
<el-input type="textarea" placeholder="please input content" v-model="questionform.comment"
:rows="8"></el-input>
</el-form-item>
<el-form-item label="Confidential Comments to the Editor">
<el-input type="textarea" placeholder="please input content" v-model="questionform.confident"
:rows="8"></el-input>
</el-form-item>
<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 :label="0">Disclose name</el-radio>
<br />
<el-radio :label="1">Remain anonymous</el-radio>
</el-radio-group>
<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
PDF. However, if you prefer to remain anonymous, we will still express our gratitude
by thanking you as an anonymous reviewer.
<br />For example, {{detailMess.title}} would like to thank AAAAAAAA, BBBBBBBB, and other
anonymous reviewers for their
invaluable contributions to the peer review process of this paper.
</p>
</el-form-item>
</el-collapse>
</el-form>
</el-dialog>
<!-- 相关期刊 -->
<el-dialog title="" :visible.sync="RelatVisible" width="800px">
<p style="font-weight: bold;font-size: 16px;margin-bottom: 30px;" v-html="RelatMes.title"></p>
<p class="reta_tit">Related articles selected</p>
<div>
<div v-for="item in chooseData_5" class="choose_list">
<b>{{item.journal_title}}</b>
<span>——</span>
{{ item.title }}
</div>
<p v-if="chooseData_5==''" style="color: #777;padding: 5px 0 0 15px;">No Articles</p>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
name: 'articleListEditor',
data() {
return {
baseUrl: this.Common.baseUrl,
mediaUrl: this.Common.mediaUrl,
activeIndex: 1,
preJouList: true,
query_1: {
// username: localStorage.getItem('U_name'),
username: 'liuna',
journal: 0,
special_num: 0,
name: '',
sn: '',
state: -1,
act: 1,
pageIndex: 1,
pageSize: 50
},
tableData_1: [],
Total_1: 0,
jourList_1: [],
itemGuest_1: [],
query_2: {
// username: localStorage.getItem('U_name'),
username: 'liuna',
// editor_id: localStorage.getItem('U_id'),
editor_id: 19,
journal_id: 0,
ts_state: 0,
pageIndex: 1,
pageSize: 50
},
tableData_2: [],
jourList_2: [],
Total_2: 0,
query_3: {
// username: localStorage.getItem('U_name'),
username: 'liuna',
issn: 0,
},
tableData_3: [],
jourList_3: [],
query_4: {
// username: localStorage.getItem('U_name'),
// editor_id: localStorage.getItem('U_id'),
username: 'liuna',
editor_id: 19,
journal_id: 0,
ts_state: 0,
pageIndex: 1,
pageSize: 50
},
tableData_4: [],
jourList_4: [],
Total_4: 0,
query_5: {
issn: '',
journal_stage_id: 0,
seach: '',
pageIndex: 1,
pageSize: 50
},
tableData_5: [],
jourList_5: [],
stageList_5: [],
Total_5: 0,
topicList_5: [],
chooseData_5: [],
query_review: {
pageIndex: 1,
pageSize: 10
},
Total_review: 0,
RelatMes: {},
RelatVisible: false,
detailVisible: false,
reviewVisible: false,
reviewData: [],
detailMess: {},
authorList_name: '',
coverLetterFileList: [],
picturesAndTablesFileList: [],
totalpageFileList: [],
manuscirptFileList: [],
supplementaryFileList: [],
responseFileList: [],
talkMsgs: [],
msgs: [],
msgform: {
username: localStorage.getItem('U_name'),
article_id: this.$route.query.id,
user_id: '',
ad_content: ''
},
talkMsgs: [],
questionVisible: false,
questionform: {
// rev_qu_id: '',
// art_rev_id: this.$route.query.id,
qu1: '',
qu2: '',
qu3: '',
qu4: '',
qu5: '',
qu6: '',
qu7: '',
qu8: '',
qu9: '',
qu9contents: '',
qu10: '',
qu10contents: '',
qu11: '',
qu11contents: '',
qu12: '',
qu12contents: '',
qu13: '',
qu13contents: '',
qu14: '',
qu14contents: '',
qu15: '',
qu15contents: '',
rated: '',
recommend: '',
other: '',
confident: '',
comment: ''
}
};
},
created() {
this.getDate();
if (localStorage.getItem('U_point') != null) {
this.activeIndex = localStorage.getItem('U_point')
localStorage.removeItem('U_point')
}
this.getDate_1();
},
methods: {
// 获取数据
getDate() {
// 连续出刊是否展示
// this.$api
// .post('api/Article/getContinuityJournals', {
// 'editor_id': localStorage.getItem('U_id')
// })
// .then(res => {
// if (res.data.journals.length > 0) {
// this.preJouList = true
// }
// })
// .catch(err => {
// console.log(err);
// });
// 获取全部期刊
this.$api
.post('api/Journal/getAllJournal')
.then(res => {
this.jourList_1 = res.data.journals;
this.jourList_2 = res.data.journals;
this.jourList_3 = res.data.journals;
this.jourList_4 = res.data.journals;
this.jourList_5 = res.data.journals;
this.query_3.issn = this.jourList_3[0].issn
this.query_5.issn = this.jourList_3[0].issn
this.getStage();
})
.catch(err => {
console.log(err);
});
},
getStage() {
// 获取全部分期
this.$api
.post('api/Publish/getAllStages', this.query_5)
.then(res => {
this.stageList_5 = res.data.stages;
})
.catch(err => {
console.log(err);
});
},
// 点击切换
tabIndex(e) {
this.activeIndex = e
if (e == 1) {
this.getDate_1();
} else if (e == 2) {
this.getDate_2();
} else if (e == 3) {
this.getDate_3();
} else if (e == 4) {
this.getDate_4();
} else if (e == 5) {
this.getDate_5();
}
},
// 获取子级的切换
changeEvent(e) {
this.tabIndex(e)
},
// 1-----------文章列表数据
getDate_1() {
const loading = this.$loading({
lock: true,
text: 'Loading...',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
this.$api
.post('api/Article/getArticleForEditor', this.query_1)
.then(res => {
this.Total_1 = res.total;
this.tableData_1 = res.data;
for (let i = 0; i < this.tableData_1.length; i++) {
this.tableData_1[i].reportList = []
if (this.tableData_1[i].reports.length == 1) {
for (let j = 0; j < this.tableData_1[i].reports.length; j++) {
if (this.tableData_1[i].reports[j].author_account != '' && this.tableData_1[i]
.reports[
j].author_account != null) {
if (this.tableData_1[i].reports[j].author_account.google_time == 0) {
this.tableData_1[i].reports[j].Hindex = 0
this.tableData_1[i].reportList.push(this.tableData_1[i].reports[j])
}
}
};
} else if (this.tableData_1[i].reports.length > 1) {
for (let j = 0; j < this.tableData_1[i].reports.length; j++) {
if (this.tableData_1[i].reports[j].author_account != '' && this.tableData_1[i]
.reports[
j].author_account != null) {
this.tableData_1[i].reports[j].Hindex = this.tableData_1[i].reports[j]
.author_account.google_index
if (this.tableData_1[i].reports[j].author_account.google_time == 0) {
this.tableData_1[i].reportList = this.tableData_1[i].reports
}
}
};
}
};
loading.close();
})
.catch(err => {
loading.close();
});
},
// 1-----------改变期刊
chageJour_1() {
if (this.query_1.journal == 0) {
this.itemGuest_1 = [];
} else {
this.$api
.post('api/Special/getSpecial', {
'journal_id': this.query_1.journal
})
.then(res => {
this.itemGuest_1 = res.data.specials;
})
.catch(err => {
console.log(err);
});
}
this.query_1.special_num = 0
this.$set(this.query_1, 'pageIndex', 1);
this.getDate_1()
},
// 1-----------触发搜索按钮
handleSearch_1() {
this.$set(this.query_1, 'pageIndex', 1);
this.getDate_1();
},
// 1-----------跳转邮件-历史列表
linkEmailist(row) {
this.$router.push({
path: 'articleDetailEmailist',
query: {
id: row.article_id
}
});
},
// 2-----------触发搜索按钮
handleSearch_2() {
this.$set(this.query_2, 'pageIndex', 1);
this.getDate_2()
},
// 2-----------文章列表数据
getDate_2() {
const loading = this.$loading({
lock: true,
text: 'Loading...',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
this.$api
.post('api/Production/getProductionList', this.query_2)
.then(res => {
this.tableData_2 = res.data.productions;
this.Total_2 = res.data.count;
loading.close();
})
.catch(err => {
loading.close();
});
},
// 3-----------文章列表数据
getDate_3() {
const loading = this.$loading({
lock: true,
text: 'Loading...',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
this.$api
.post('api/Publish/getOnlineList', {
'issn': this.query_3.issn
})
.then(res => {
this.tableData_3 = res.data.stages
loading.close();
})
.catch(err => {
console.log(err);
});
},
// 3-----------跳转页面
lookView(e) {
let urlBlan = 'https://www.tmrjournals.cn/article.html?J_num=' + e.journal_id + '&a_id=' + e
.article_id
window.open(urlBlan, '_blank')
},
// 4-----------触发搜索按钮
handleSearch_4() {
this.$set(this.query_4, 'pageIndex', 1);
this.getDate_4();
},
// 4-----------文章列表数据
getDate_4() {
const loading = this.$loading({
lock: true,
text: 'Loading...',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
this.$api
.post('api/Production/getProductionList', this.queryType)
.then(res => {
this.tableData_4 = res.data.productions;
this.Total_4 = res.data.count;
loading.close();
})
.catch(err => {
loading.close();
});
},
// 5-----------触发搜索按钮
handleSearch_5() {
this.$set(this.query_5, 'pageIndex', 1);
this.getDate_5()
},
// 5-----------文章列表数据
getDate_5() {
const loading = this.$loading({
lock: true,
text: 'Loading...',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
this.$api
.post('api/Publish/getPublicAiticles', this.query_5)
.then(res => {
this.tableData_5 = res.data.articleList;
this.Total_5 = res.data.count
loading.close();
})
.catch(err => {
loading.close();
});
},
// 5-----------相关文章
viewRelated(e) {
this.RelatMes.title = e.title
this.RelatMes.article_id = e.article_id
this.$api
.post('api/Publish/getArticleRelates', this.RelatMes)
.then(res => {
if (res.code == 0) {
this.chooseData_5 = res.data.articles
this.RelatVisible = true
} else {
this.$message.error(res.msg);
}
})
.catch(err => {
this.$message.error(err);
});
},
// 时间
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();
return Y + M + D;
},
//格式化状态输出
stateFormat(e) {
let str = '';
switch (e) {
case 0:
str = this.$t('artstate.state0');
break;
case 1:
str = this.$t('artstate.state1');
break;
case 2:
str = this.$t('artstate.state2');
break;
case 3:
str = this.$t('artstate.state3');
break;
case 4:
str = this.$t('artstate.state4');
break;
case 5:
str = this.$t('artstate.state5');
break;
case 6:
str = this.$t('artstate.state6');
break;
default:
str = 'error!!';
}
return str;
},
// 算平均分
avegeCount(arry) {
let str = 0;
let all = 0
for (let i = 0; i < arry.length; i++) {
all += arry[i].rated
};
str = (all / arry.length).toFixed(1)
return str;
},
// 期刊标记
journal_state(e) {
var frag = e;
if (this.detailMess.special_num > 0) {
frag += "(Special Issues)";
}
return frag;
},
// 文章类型
// 稿件预览
showDetail(e) {
this.now_year = new Date().getFullYear()
this.$api
.post('api/Article/getArticleDetail', {
articleId: e.article_id,
human: 'editor'
})
.then(res => {
this.detailMess = res.article;
this.detailMess.authorList = []
this.detailMess.approval = res.article.approval == 1 ? true : false;
this.detailMess.transList = res.transfer;
this.detailMess.major = res.major;
this.msgs = res.msg;
var alist = res.authors;
let alist_name = [];
for (var i in alist) {
let index_h = 0
let index_c = "#000"
this.detailMess.authorList.push({
art_aut_id: alist[i].art_aut_id,
firstname: alist[i].firstname,
lastname: alist[i].lastname,
orcid: alist[i].orcid,
company: alist[i].company,
department: alist[i].department,
title: alist[i].author_title,
country: alist[i].country,
email: alist[i].email,
address: alist[i].address,
isSuper: alist[i].is_super == 1 ? true : false,
isReport: alist[i].is_report == 1 ? true : false,
});
if (i == alist.length - 1) {
alist_name.push(alist[i].firstname + ' ' + alist[i].lastname)
} else {
alist_name.push(alist[i].firstname + ' ' + alist[i].lastname + ' , ')
}
}
this.authorList_name = "Author : " + alist_name.join("");
this.detailVisible = true
})
.catch(err => {
console.log(err);
});
// 文件列表
this.$api
.post('api/Article/getFilelistByArticleID', {
articleId: e.article_id
})
.then(res => {
this.coverLetterFileList = res.coverLetter;
this.picturesAndTablesFileList = res.picturesAndTables;
this.manuscirptFileList = res.manuscirpt;
this.totalpageFileList = res.totalpage;
this.supplementaryFileList = res.supplementary;
})
.catch(err => {
console.log(err);
});
// 获取作者发给审稿人邮件列表
this.$api
.post('api/Article/getArticleResponseFiles', {
article_id: e.article_id
})
.then(res => {
this.responseFileList = res.data.files;
})
.catch(err => {
console.log(err);
});
// 留言板列表
this.$api
.post('api/Article/getArticleDialogs', {
article_id: e.article_id
})
.then((res) => {
this.talkMsgs = res.data.dialogs;
})
.catch((err) => {
console.log(err);
});
},
// 审稿信息预览
articleReviewer(e) {
this.detailMess.title = e.title
this.query_review.articleId = e.article_id
this.query_review.article_id = e.article_id
this.$api
.post('api/Article/getReviewerList', this.query_review)
.then((res) => {
this.Total_review = res.totle;
this.reviewData = res.data;
this.reviewVisible = true
})
.catch((err) => {
console.log(err);
});
},
//初始化问卷
initquesion(e) {
this.$api
.post('api/Reviewer/getQuestion', {
artrevid: e
}).then((res) => {
if (res.code == 0) {
this.questionform = res.data;
this.questionform.rev_qu_id = res.data.rev_qu_id;
this.questionform.qu1 = res.data.qu1;
this.questionform.qu2 = res.data.qu2;
this.questionform.qu3 = res.data.qu3;
this.questionform.qu4 = res.data.qu4;
this.questionform.qu5 = res.data.qu5;
this.questionform.qu6 = res.data.qu6;
this.questionform.qu7 = res.data.qu7;
this.questionform.qu8 = res.data.qu8;
this.questionform.qu9 = res.data.qu9 == 0 ? false : true;
this.questionform.qu9contents = res.data.qu9_contents;
this.questionform.qu10 = res.data.qu10 == 0 ? false : true;
this.questionform.qu10contents = res.data.qu10_contents;
this.questionform.qu11 = res.data.qu11 == 0 ? false : true;
this.questionform.qu11contents = res.data.qu11_contents;
this.questionform.qu12 = res.data.qu12 == 0 ? false : true;
this.questionform.qu12contents = res.data.qu12_contents;
this.questionform.qu13 = res.data.qu13 == 0 ? false : true;
this.questionform.qu13contents = res.data.qu13_contents;
this.questionform.qu14 = res.data.qu14 == 0 ? false : true;
this.questionform.qu14contents = res.data.qu14_contents;
this.questionform.qu15 = res.data.qu15 == 0 ? false : true;
this.questionform.qu15contents = res.data.qu15_contents;
this.questionform.rated = res.data.rated;
this.questionform.recommend = res.data.recommend;
this.questionform.other = res.data.other;
this.questionform.confident = res.data.confidential;
this.questionform.comment = res.data.comments;
this.questionform.is_anonymous = res.data.is_anonymous;
this.questionform.type= res.data.type;this.questionform.score = res.data.score;
this.questionVisible = true
}
});
},
// 分页导航-1
handlePageChange_1(val) {
this.$set(this.query_1, 'pageIndex', val);
this.getDate_1();
},
// 分页导航-2
handlePageChange_2(val) {
this.$set(this.query_2, 'pageIndex', val);
this.getDate_2();
},
// 分页导航-4
handlePageChange_4(val) {
this.$set(this.query_4, 'pageIndex', val);
this.getDate_4();
},
// 分页导航-5
handlePageChange_5(val) {
this.$set(this.query_5, 'pageIndex', val);
this.getDate_5();
},
// 分页导航-review
handlePageChange_review(val) {
this.$set(this.query_review, 'pageIndex', val);
},
}
};
</script>
<style scoped>
.tab_all {
border-bottom: 1px solid #ddd;
}
.tab_Normal {
font-size: 15px;
border: 1px solid #fff;
border-top: 3px solid #fff;
border-bottom: none;
float: left;
margin: 10px 0 -1px 0;
padding: 20px 30px;
cursor: pointer;
background-color: #fafafa;
}
.tab_Normal:hover {
text-decoration: underline;
}
.tab_Select {
background-color: #fff;
border: 1px solid #ddd;
border-top: 3px solid #6dafcf;
border-bottom: 1px solid #fff;
}
.tab_Select:hover {}
.handle-box {
margin-bottom: 10px;
}
.handle-box .el-select {
margin: 0 5px 10px 0;
}
.handle-box .el-input {
margin: 0 5px 10px 0;
}
.table {
width: 100%;
font-size: 14px;
word-wrap: break-word;
word-break: normal;
}
.red {
color: #ff0000;
}
.actList {
font-size: 15px;
line-height: 28px;
margin-bottom: 15px;
color: #333;
margin-left: 10px;
}
.actList font:hover {
cursor: pointer;
text-decoration: underline;
}
.actList b.sort {
margin-left: 10px;
color: #006699;
}
.actList i.ediCon {
margin-left: 10px;
color: #006699;
}
.actList i.ediCon:hover {
cursor: pointer;
text-decoration: underline;
}
.art_state_ {
padding: 20px 20px 1px 20px;
}
.art_state_ .art_state_message_id {
margin-bottom: 15px;
color: #777;
line-height: 22px;
padding: 0 0 15px 5px;
}
.art_state_message_id>font {
display: inline-block;
}
.art_state_message_id b {
letter-spacing: -1px;
color: #333;
}
.art_caozuo_>p {
margin: 0 0 15px 10px;
}
.art_caozuo_>p:last-child {
margin-bottom: 0;
}
.art_caozuo_>p>span {
color: #777;
margin: 0 15px 0 0;
}
.art_file_ h4 {
margin: 1px 0 5px 15px;
float: left;
color: #777;
font-weight: normal;
}
.art_file_ p.fi_new {
margin: 0 0 0 10px;
margin-bottom: 10px;
float: left;
}
.art_file_ p.fi_new>a {
color: #333;
display: block;
margin: 0 0 10px 0;
}
.art_file_ p.fi_new>a:hover {
text-decoration: underline;
}
.art_file_ p.fi_new>a>img {
width: 15px;
vertical-align: text-bottom;
margin: 0 5px 0 0;
}
.art_file_ p.fi_new>a>span>font {
color: #888;
margin: 0 5px 0 0;
font-size: 13px;
letter-spacing: -1px;
}
.art_file_ p.fi_new>a>span>i {
font-size: 12px;
color: #888;
margin: 0 0 0 3px;
font-style: normal;
}
.art_file_ p.fi_new>a>span>i>i {
margin: 0 5px 0 0;
}
.art_file_ .download {
font-weight: bold;
color: #75abf1;
margin: 0 0 0 10px;
}
.tree_box {
border: 1px solid #dcdfe6;
border-radius: 5px;
background-color: #fff;
padding: 20px;
}
/deep/ .articlDialog .el-dialog {
background: #fafafa;
}
.reta_tit {
margin: 30px 0 15px 0;
font-weight: bold;
letter-spacing: -0.5px;
font-size: 15px;
}
.choose_list {
padding: 14px 15px;
margin-bottom: 10px;
border-bottom: 1px solid #ebf5ff;
background-color: #f8fbff;
-webkit-box-shadow: 2px 30px 15px -20px #ebf5ff inset;
box-shadow: inset 2px 30px 15px -20px #ebf5ff;
line-height: 22px;
word-break: normal;
}
.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>