Merge branch 'master' into xie-accept
This commit is contained in:
134
src/api/index.js
134
src/api/index.js
@@ -1,134 +0,0 @@
|
||||
// 引入axios
|
||||
import axios from 'axios'
|
||||
// 引入qs库转换参数格式
|
||||
import qs from 'qs'
|
||||
|
||||
|
||||
// axios全局配置
|
||||
axios.defaults.timeout = 10000; // 超时时间
|
||||
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'; // 配置请求头
|
||||
|
||||
|
||||
// axios.defaults.baseURL = '/'
|
||||
// axios.defaults.baseURL = 'http://testtougao.tmrjournals.com/public/index.php/'
|
||||
// axios.defaults.baseURL = 'http://www.tougao.com/'
|
||||
|
||||
//
|
||||
const service = axios.create({
|
||||
// baseURL: 'http://testtougao.tmrjournals.com/public/index.php/',
|
||||
baseURL: 'http://www.tougao.com/',
|
||||
// baseURL: '/',
|
||||
});
|
||||
|
||||
const service_new = axios.create({
|
||||
baseURL: 'http://journal.com/',
|
||||
// baseURL: '/',
|
||||
});
|
||||
|
||||
|
||||
// 添加响应拦截器,统一处理服务器响应和异常
|
||||
axios.interceptors.response.use(
|
||||
(response) => {
|
||||
// 请求正常则返回0
|
||||
return Promise.resolve(response)
|
||||
},
|
||||
(error) => {
|
||||
// 请求错误进行的处理可以写在这里
|
||||
if (err && err.response) {
|
||||
switch (err.response.status) {
|
||||
case 400:
|
||||
err.message = '错误请求'
|
||||
break;
|
||||
case 401:
|
||||
err.message = '未授权,请重新登录';
|
||||
break;
|
||||
case 403:
|
||||
err.message = '拒绝访问';
|
||||
break;
|
||||
case 404:
|
||||
err.message = '请求错误,未找到该资源';
|
||||
break;
|
||||
case 405:
|
||||
err.message = '请求方法未允许';
|
||||
break;
|
||||
case 408:
|
||||
err.message = '请求超时';
|
||||
break;
|
||||
case 500:
|
||||
err.message = '服务器端出错';
|
||||
break;
|
||||
case 501:
|
||||
err.message = '网络未实现';
|
||||
break;
|
||||
case 502:
|
||||
err.message = '网络错误';
|
||||
break;
|
||||
case 503:
|
||||
err.message = '服务不可用';
|
||||
break;
|
||||
case 504:
|
||||
err.message = '网络超时';
|
||||
break;
|
||||
case 505:
|
||||
err.message = 'http版本不支持该请求';
|
||||
break;
|
||||
default:
|
||||
err.message = `连接错误${err.response.status}`
|
||||
}
|
||||
}
|
||||
return Promise.reject(error)
|
||||
}
|
||||
)
|
||||
|
||||
export default {
|
||||
/**
|
||||
* post方法,对应post请求
|
||||
* @param {String} url [请求的url地址]
|
||||
* @param {Object} params [请求时携带的参数]
|
||||
*/
|
||||
post(url, params) {
|
||||
return new Promise((resolve, reject) => {
|
||||
service.post(url, qs.stringify(params))
|
||||
.then(res => {
|
||||
resolve(res.data)
|
||||
})
|
||||
.catch(err => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* post方法,对应post请求
|
||||
* @param {String} url [请求的url地址]
|
||||
* @param {Object} params [请求时携带的参数]
|
||||
*/
|
||||
postNew(url, params) {
|
||||
return new Promise((resolve, reject) => {
|
||||
service_new.post(url, qs.stringify(params))
|
||||
.then(res => {
|
||||
resolve(res.data)
|
||||
})
|
||||
.catch(err => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* get方法,对应get请求
|
||||
* @param {String} url [请求的url地址]
|
||||
* @param {Object} params [请求时携带的参数]
|
||||
*/
|
||||
get(url, params) {
|
||||
return new Promise((resolve, reject) => {
|
||||
axios.get(url, qs.stringify(params))
|
||||
.then(res => {
|
||||
resolve(res.data)
|
||||
})
|
||||
.catch(err => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
},
|
||||
}
|
||||
@@ -13,7 +13,7 @@
|
||||
{{scope.row.accept_sn}}
|
||||
</p>
|
||||
<!-- <el-button @click="huaGuest(scope.row)" size="mini" type="primary" plain style="margin-top: 10px;">
|
||||
Put into special issue</el-button> ---->
|
||||
Put into special issue</el-button> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="title" label="Title" align="center">
|
||||
@@ -31,10 +31,9 @@
|
||||
<el-table-column label="author" align="center" width="300">
|
||||
<template slot-scope="scope">
|
||||
<b>{{scope.row.user.realname}}</b><br/>
|
||||
{{scope.row.user.email}}
|
||||
{{scope.row.user.email}}<br/>
|
||||
{{scope.row.user.phone}}
|
||||
</template>
|
||||
|
||||
|
||||
</el-table-column>
|
||||
<el-table-column label="Remarks" align="center">
|
||||
<template slot-scope="scope">
|
||||
|
||||
@@ -487,8 +487,8 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="Major :" prop="major_all">
|
||||
<el-cascader :options="jl_major" v-model="item.major_all" :props="defaultParams"
|
||||
placeholder="Please select major" style="width: 270px;" clearable></el-cascader>
|
||||
<el-cascader :options="step4MajorList" v-model="item.major_all" :props="default4Params"
|
||||
placeholder="Please select major" style="width: 270px;" clearable ></el-cascader>
|
||||
</el-form-item>
|
||||
<el-button :disabled="tuiJianForm.length==1" @click="onDeleteTuijian(item, index)"
|
||||
type="danger" icon="el-icon-delete" class="shanchu_tj"></el-button>
|
||||
@@ -665,7 +665,7 @@
|
||||
manuscirpt: '',
|
||||
supplementary: '',
|
||||
code: '',
|
||||
topics:null
|
||||
// topics:null
|
||||
},
|
||||
journal_type: [{
|
||||
name: 'ARTICLE',
|
||||
@@ -874,12 +874,18 @@
|
||||
companyList: [],
|
||||
countrys: [],
|
||||
majorList: [],
|
||||
step4MajorList:[], // 第四步的major数据
|
||||
jl_major: [],
|
||||
defaultParams: {
|
||||
label: 'title',
|
||||
value: 'major_id',
|
||||
children: 'children'
|
||||
},
|
||||
default4Params:{
|
||||
label: 'major_title',
|
||||
value: 'major_id',
|
||||
children: 'children'
|
||||
},
|
||||
mj_jour: [],
|
||||
jour_name: '',
|
||||
topicsList:null, // 话题列表
|
||||
@@ -907,7 +913,7 @@
|
||||
this.Temporary()
|
||||
} else {
|
||||
this.initMajor();
|
||||
this.getTopics()
|
||||
// this.getTopics() 获取话题列表
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -1023,8 +1029,9 @@
|
||||
this.$refs.tuiJianForm[i].validate(vali => {
|
||||
if (vali) {
|
||||
tuijian_yanzheng += 0
|
||||
this.tuiJianForm[i].major = this.tuiJianForm[i].major_all[0]
|
||||
this.tuiJianForm[i].cmajor = this.tuiJianForm[i].major_all[1]
|
||||
//this.tuiJianForm[i].major = this.tuiJianForm[i].major_all[0]
|
||||
this.tuiJianForm[i].major = this.tuiJianForm[i].major_all[this.tuiJianForm[i].major_all.length - 1]
|
||||
//this.tuiJianForm[i].cmajor = this.tuiJianForm[i].major_all[1]
|
||||
} else {
|
||||
tuijian_yanzheng += 1
|
||||
}
|
||||
@@ -1186,7 +1193,6 @@
|
||||
})
|
||||
}
|
||||
});
|
||||
|
||||
this.$api
|
||||
.post('/api/Reviewer/getMajorForReviewer', {
|
||||
username: localStorage.getItem('U_name'),
|
||||
@@ -1196,6 +1202,7 @@
|
||||
.post('api/User/getMajorList')
|
||||
.then(res => {
|
||||
this.majorList = res.data;
|
||||
|
||||
})
|
||||
}
|
||||
})
|
||||
@@ -1211,6 +1218,14 @@
|
||||
|
||||
this.checkReviewer()
|
||||
|
||||
this.$api
|
||||
.post('api/Major/getMajorList')
|
||||
.then(res => {
|
||||
console.log(res,99)
|
||||
this.step4MajorList = res.data.majors;
|
||||
|
||||
})
|
||||
|
||||
},
|
||||
|
||||
// 机构模糊搜索
|
||||
@@ -1634,7 +1649,7 @@
|
||||
this.form.istransfer = false
|
||||
this.form.becomeRev = false
|
||||
this.initMajor();
|
||||
this.getTopics()
|
||||
// this.getTopics()
|
||||
},
|
||||
|
||||
// 点击tab变化
|
||||
@@ -1951,7 +1966,7 @@
|
||||
this.form.approval = res.data.base.approval
|
||||
this.form.abstrart = res.data.base.abstrart
|
||||
this.form.fund = res.data.base.fund
|
||||
this.form.topics = res.data.base.topics
|
||||
// this.form.topics = res.data.base.topics
|
||||
// 领域
|
||||
this.$api
|
||||
.post('api/Major/getMajorForAddArticle', {
|
||||
@@ -2055,7 +2070,7 @@
|
||||
.then((res) => {
|
||||
if (res.code == 0) {
|
||||
this.topicsList = res.data.topics
|
||||
console.log(res.data.topics,'话题')
|
||||
// console.log(res.data.topics,'话题')
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
@@ -2063,7 +2078,7 @@
|
||||
},
|
||||
// 选中值变化
|
||||
topicsChange(e){
|
||||
console.log(this.form.topics,'选中的话题id')
|
||||
// console.log(this.form.topics,'选中的话题id')
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,17 +1,13 @@
|
||||
<template>
|
||||
<div style="min-width: 1200px;">
|
||||
<div style="min-width: 1280px;">
|
||||
<div class="handle-box">
|
||||
<el-select v-model="query.journal" @change="chageJour" placeholder="Please select journal">
|
||||
<el-option :key="0" label="All journals" :value="0"></el-option>
|
||||
<el-option v-for="item in items" :key="item.journal_id" :label="item.title" :value="item.journal_id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
<el-select v-model="query.act" @change="getdate" 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.state" @change="getdate" placeholder="Please select status" style="width: 130px;">
|
||||
<el-option :key="-1" label="All status" :value="-1"></el-option>
|
||||
<el-badge :value="item.num" type="warning" v-for="item in statList"
|
||||
:hidden='item.num==0||item.state==3||item.state==5' style="margin-right: 25px;">
|
||||
<el-button @click="query.state=item.state;getdate()" :type="query.state==item.state?'primary':''">
|
||||
{{$t('artstate.state'+item.state)}}
|
||||
</el-button>
|
||||
</el-badge>
|
||||
<!-- <el-select v-model="query.state" @change="getdate" placeholder="Please select status" style="width: 180px;">
|
||||
<el-option :key="0" :label="$t('artstate.state0')" :value="0" :disabled="query.act==2"></el-option>
|
||||
<el-option :key="1" :label="$t('artstate.state1')" :value="1" :disabled="query.act==2"></el-option>
|
||||
<el-option :key="2" :label="$t('artstate.state2')" :value="2" :disabled="query.act==2"></el-option>
|
||||
@@ -19,22 +15,370 @@
|
||||
<el-option :key="4" :label="$t('artstate.state4')" :value="4" :disabled="query.act==2"></el-option>
|
||||
<el-option :key="6" :label="$t('artstate.state6')" :value="6" :disabled="query.act==2"></el-option>
|
||||
<el-option :key="5" :label="$t('artstate.state5')" :value="5" :disabled="query.act==1"></el-option>
|
||||
</el-select> -->
|
||||
<!-- <el-select v-model="query.act" @change="changeState" 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.journal" @change="chageJour" placeholder="Please select journal">
|
||||
<el-option :key="0" label="All journals" :value="0"></el-option>
|
||||
<el-option v-for="item in items" :key="item.journal_id" :label="item.title" :value="item.journal_id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
||||
<p style="height: 5px;"></p>
|
||||
<el-select v-model="query.special_num" @change="getdate" placeholder="Please select guest"
|
||||
style="width: 185px;">
|
||||
style="width: 245px;">
|
||||
<el-option :key="0" label="Not select special issue" :value="0"></el-option>
|
||||
<el-option v-for="item in itemGuest" :key="item.journal_special_id" :label="item.title"
|
||||
:value="item.journal_special_id"></el-option>
|
||||
</el-select>
|
||||
<el-input v-model="query.name" placeholder="Title" style="width: 120px;"></el-input>
|
||||
<el-input v-model="query.sn" placeholder="SN" style="width: 120px;margin-right: 10px;"></el-input>
|
||||
<el-input v-model="query.name" placeholder="Title" style="width: 250px;"></el-input>
|
||||
<el-input v-model="query.sn" placeholder="SN" style="width: 250px;margin-right: 10px;"></el-input>
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleSearch" style="margin:0 0 10px 0;">Search
|
||||
</el-button>
|
||||
</div>
|
||||
<el-table :data="tableData" border stripe class="table" ref="multipleTable"
|
||||
|
||||
<div v-for="(item,ikgn) in tableData" class="mangu_list">
|
||||
<div>
|
||||
<font style="color: #666b7a;">ID : </font>
|
||||
<span
|
||||
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">S
|
||||
</span>
|
||||
{{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>
|
||||
<font>
|
||||
{{artType(item.type)}}
|
||||
</font>
|
||||
<span style="color: #666b7a;margin-left: 40px;">Countries :</span>
|
||||
<!-- <span :class="item.countrys.length > 1 ? 'Countries': ''" > -->
|
||||
<font v-for="(iken, index) in item.countrys">
|
||||
{{iken}}
|
||||
<font v-if="index!=item.countrys.length-1">,</font>
|
||||
</font>
|
||||
<!-- </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;">
|
||||
{{stateFormat(item.state)}}
|
||||
</font>
|
||||
<b v-if="item.state!=5" @click="testvis(item)" class="btnCliArt">
|
||||
<i class="el-icon-edit"></i> Change
|
||||
</b>
|
||||
<b v-if="item.state==5" @click="prodBegin(item)" class="btnCliArt">
|
||||
<i class="el-icon-paperclip"></i> Begin Produce
|
||||
</b>
|
||||
<span style="color: #666b7a;margin-left: 40px;">Plagiarism Check :</span>
|
||||
<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="openTracking(item)" class="btnCliArt" style="margin-left: 50px;">
|
||||
<i class="el-icon-data-line"></i> Manuscript Tracking
|
||||
</b>
|
||||
</div>
|
||||
<div class="man_title">
|
||||
<el-badge is-dot :hidden="item.author_act==1?false:true">
|
||||
<b @click="showdetaileditor(item)">
|
||||
{{item.title}}
|
||||
</b>
|
||||
</el-badge>
|
||||
</div>
|
||||
|
||||
<div style="display: flex;margin-left: auto;">
|
||||
<div class="fixCard" style="width: 34%;">
|
||||
<b style="font-size: 16px;letter-spacing: -0.5px;">Manuscript Files</b>
|
||||
<p style="height: 10px;"></p>
|
||||
<div class="fi_new" v-if="item.file.coverLetter">
|
||||
<p>
|
||||
Cover letter
|
||||
<sup style="color: #006699;">({{item.file.coverLetter.length}})</sup> :
|
||||
<b class="btnUpDown el-icon-arrow-up"
|
||||
v-if="item.file_cover==0&&item.file.coverLetter.length>1"
|
||||
@click="changeFileUpdown(1,ikgn,'file_cover')"></b>
|
||||
<b class="btnUpDown el-icon-arrow-down"
|
||||
v-if="item.file_cover==1&&item.file.coverLetter.length>1"
|
||||
@click="changeFileUpdown(0,ikgn,'file_cover')"></b>
|
||||
</p>
|
||||
<div v-for="ikrm in item.file.coverLetter" v-if="item.file_cover==1">
|
||||
<img src="../../assets/img/icon_0.png">
|
||||
<span>
|
||||
<font>Uploader : </font>{{ikrm.username}}
|
||||
<i><i class="el-icon-time"></i>{{formatDate(ikrm.ctime)}}</i>
|
||||
</span>
|
||||
<a :href="mediaUrl + ikrm.file_url">
|
||||
<i class="el-icon-download download"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fi_new" v-if="item.file.picturesAndTables">
|
||||
<p>
|
||||
Figures
|
||||
<sup style="color: #006699;">({{item.file.picturesAndTables.length}})</sup> :
|
||||
<b class="btnUpDown el-icon-arrow-up"
|
||||
v-if="item.file_figer==0&&item.file.picturesAndTables.length>1"
|
||||
@click="changeFileUpdown(1,ikgn,'file_figer')"></b>
|
||||
<b class="btnUpDown el-icon-arrow-down"
|
||||
v-if="item.file_figer==1&&item.file.picturesAndTables.length>1"
|
||||
@click="changeFileUpdown(0,ikgn,'file_figer')"></b>
|
||||
</p>
|
||||
<div v-for="ikrm in item.file.picturesAndTables" v-if="item.file_figer==1">
|
||||
<img src="../../assets/img/icon_0.png">
|
||||
<span>
|
||||
<font>Uploader : </font>{{ikrm.username}}
|
||||
<i><i class="el-icon-time"></i>{{formatDate(ikrm.ctime)}}</i>
|
||||
</span>
|
||||
<a :href="mediaUrl + ikrm.file_url">
|
||||
<i class="el-icon-download download"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fi_new" v-if="item.file.totalpage">
|
||||
<p>
|
||||
Title page
|
||||
<sup style="color: #006699;">({{item.file.totalpage.length}})</sup> :
|
||||
<b class="btnUpDown el-icon-arrow-up"
|
||||
v-if="item.file_total==0&&item.file.totalpage.length>1"
|
||||
@click="changeFileUpdown(1,ikgn,'file_total')"></b>
|
||||
<b class="btnUpDown el-icon-arrow-down"
|
||||
v-if="item.file_total==1&&item.file.totalpage.length>1"
|
||||
@click="changeFileUpdown(0,ikgn,'file_total')"></b>
|
||||
</p>
|
||||
<div v-for="ikrm in item.file.totalpage" v-if="item.file_total==1">
|
||||
<img src="../../assets/img/icon_0.png">
|
||||
<span>
|
||||
<font>Uploader : </font>{{ikrm.username}}
|
||||
<i><i class="el-icon-time"></i>{{formatDate(ikrm.ctime)}}</i>
|
||||
</span>
|
||||
<a :href="mediaUrl + ikrm.file_url">
|
||||
<i class="el-icon-download download"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fi_new" v-if="item.file.manuscirpt">
|
||||
<p>
|
||||
Manuscirpt
|
||||
<sup style="color: #006699;">({{item.file.manuscirpt.length}})</sup> :
|
||||
<b class="btnUpDown el-icon-arrow-up"
|
||||
v-if="item.file_maun==0&&item.file.manuscirpt.length>1"
|
||||
@click="changeFileUpdown(1,ikgn,'file_maun')"></b>
|
||||
<b class="btnUpDown el-icon-arrow-down"
|
||||
v-if="item.file_maun==1&&item.file.manuscirpt.length>1"
|
||||
@click="changeFileUpdown(0,ikgn,'file_maun')"></b>
|
||||
</p>
|
||||
<div v-for="ikrm in item.file.manuscirpt" v-if="item.file_maun==1">
|
||||
<img src="../../assets/img/icon_0.png">
|
||||
<span>
|
||||
<font>Uploader : </font>{{ikrm.username}}
|
||||
<i><i class="el-icon-time"></i>{{formatDate(ikrm.ctime)}}</i>
|
||||
</span>
|
||||
<a :href="mediaUrl + ikrm.file_url">
|
||||
<i class="el-icon-download download"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fi_new" v-if="item.file.supplementary">
|
||||
<p>
|
||||
Supplementary Material
|
||||
<sup style="color: #006699;">({{item.file.supplementary.length}})</sup> :
|
||||
<b class="btnUpDown el-icon-arrow-up"
|
||||
v-if="item.file_supper==0&&item.file.supplementary.length>1"
|
||||
@click="changeFileUpdown(1,ikgn,'file_supper')"></b>
|
||||
<b class="btnUpDown el-icon-arrow-down"
|
||||
v-if="item.file_supper==1&&item.file.supplementary.length>1"
|
||||
@click="changeFileUpdown(0,ikgn,'file_supper')"></b>
|
||||
</p>
|
||||
<div v-for="ikrm in item.file.supplementary" v-if="item.file_supper==1">
|
||||
<img src="../../assets/img/icon_0.png">
|
||||
<span>
|
||||
<font>Uploader : </font>{{ikrm.username}}
|
||||
<i><i class="el-icon-time"></i>{{formatDate(ikrm.ctime)}}</i>
|
||||
</span>
|
||||
<a :href="mediaUrl + ikrm.file_url">
|
||||
<i class="el-icon-download download"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width: 1%;"></div>
|
||||
<div class="fixCard" style="width: 16%;">
|
||||
<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">
|
||||
<font style="font-size: 14px;font-weight: normal;color: #333;">Initial review score :</font>
|
||||
{{item.scoring}}
|
||||
</p>
|
||||
<p style="font-size: 18px;font-weight: bold;margin-bottom: 5px;" v-if="item.reportList.length==0">
|
||||
<font style="font-size: 14px;font-weight: normal;">Initial review score :</font>
|
||||
{{item.scoring}}
|
||||
</p>
|
||||
<p v-if="item.scoring!=0&&item.H!=null" style="color: #999;">{{item.H.google_editor}}
|
||||
</p>
|
||||
<p v-if="item.scoring!=0&&item.H!=null&&item.H.google_time!=0" style="color: #999;">
|
||||
{{formatDate(item.H.google_time)}}
|
||||
</p>
|
||||
<b @click="aiSoring(item)" class="btnCliArt" v-if="item.reportList.length>0"
|
||||
style="margin-top: 10px;display: block;">
|
||||
<i class="el-icon-edit"></i> Edit Hindex
|
||||
</b>
|
||||
<!-- <el-button @click="aiSoring(item)" size="mini" type="primary" icon="el-icon-edit"
|
||||
v-if="item.reportList.length>0" style="margin-top: 1px;">Edit Hindex</el-button> -->
|
||||
<p v-if="item.review.length>0"
|
||||
style="font-size: 18px;font-weight: bold;margin-top: 15px;padding-top: 10px;border-top: 1px solid #dddddd;color: #db890e;">
|
||||
<font style="font-size: 14px;font-weight: normal;color: #333;">Final review score :</font>
|
||||
{{finalCount(item)}}
|
||||
</p>
|
||||
</div>
|
||||
<div style="width: 1%;"></div>
|
||||
<div class="fixCard" style="width: 16%;">
|
||||
<b style="font-size: 16px;letter-spacing: -0.5px;">Reviewer Decision</b>
|
||||
<p style="height: 5px;"></p>
|
||||
<p v-for="(iken, index) in item.reviewScore" style="line-height: 28px;">
|
||||
Reviewer{{index+1}} score : <b style="color: #db890e;font-size: 18px;">{{iken.rated}}</b>
|
||||
</p>
|
||||
<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>
|
||||
</p>
|
||||
<p>
|
||||
<span v-for="(iken, index) in item.review" style="display: inline-block;padding: 5px;">
|
||||
<font v-if="iken.state==0"
|
||||
style="width: 12px;height: 12px;display: block;border-radius: 10px;background-color: #ccc;">
|
||||
</font>
|
||||
<font v-if="iken.state==1||iken.state==3"
|
||||
style="width: 12px;height: 12px;display: block;border-radius: 10px;background-color: #67c23a;">
|
||||
</font>
|
||||
<font v-if="iken.state==2"
|
||||
style="width: 12px;height: 12px;display: block;border-radius: 10px;background-color: #f56c6c;">
|
||||
</font>
|
||||
</span>
|
||||
</p>
|
||||
<p style="margin-top: 10px;">
|
||||
<b @click="articleReviewer(item)" class="btnCliArt">
|
||||
<i class="el-icon-edit"></i> Inviting Reviewer
|
||||
</b>
|
||||
<!-- <el-button size="mini" type="primary" icon="el-icon-user" @click="articleReviewer(item)">
|
||||
Inviting Reviewer</el-button> -->
|
||||
</p>
|
||||
</div>
|
||||
<div style="width: 1%;"></div>
|
||||
<div class="fixCard" style="width: 26%;">
|
||||
<b style="font-size: 16px;letter-spacing: -0.5px;">Corresponding Author</b>
|
||||
<p style="height: 10px;"></p>
|
||||
<div style="text-align: left;">
|
||||
<p v-if="item.realname!=''">
|
||||
<font style="color: #999;">Name :</font>
|
||||
{{item.realname}}
|
||||
<span v-if="item.phone!=''" style="margin-left: 5px;color: #666;">({{item.phone}})</span>
|
||||
</p>
|
||||
<p v-if="item.email!=''" style="margin: 8px 0 5px 0;line-height: 22px;">
|
||||
<font style="color: #999;">Email :</font>
|
||||
{{item.email}}
|
||||
<b @click="linkEmail(item)" class="btnCliArt" style="margin-left: 15px;">
|
||||
<i class="el-icon-message"></i> 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>
|
||||
</p>
|
||||
</div>
|
||||
<p style="margin-top: 20px;">
|
||||
<b @click="articleCommun(item)" class="btnCliArt">
|
||||
<i class="el-icon-chat-line-square"></i> Communication
|
||||
</b>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div style="margin: 15px 0 0 0;">
|
||||
<span style="color: #666b7a;margin: 2px 5px 0 0;">Remarks :</span>
|
||||
<font style="margin-right: 10px;line-height: 24px;font-weight: bold;">{{item.remarks}}</font>
|
||||
<b @click="testedit(item)" class="btnCliArt">
|
||||
<i class="el-icon-edit"></i> Change
|
||||
</b>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- <el-table :data="tableData" 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="180" label="Manuscript ID" align="center">
|
||||
<el-table-column type="index" label="No." width="50" align="center"></el-table-column>
|
||||
<el-table-column label="Base Information" width="380px">
|
||||
<template slot-scope="scope">
|
||||
<p class="tab_tie_col">
|
||||
<span>ID: </span>
|
||||
<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}}
|
||||
<el-button @click="huaGuest(scope.row)" size="mini" type="primary" plain
|
||||
style="margin-left: 5px;">
|
||||
Put into special issue
|
||||
</el-button>
|
||||
</p>
|
||||
<p class="tab_tie_col">
|
||||
<el-badge is-dot :hidden="scope.row.author_act==1?false:true">
|
||||
<b class="titArtHov" @click="showdetaileditor(scope.row)"
|
||||
style="font-size: 15px;letter-spacing: -0.5px;margin-right: 5px;">
|
||||
{{scope.row.title}}
|
||||
</b>
|
||||
<b @click="showdetaileditor(scope.row)" class="btnCliArt">
|
||||
<i class="el-icon-tickets"></i> Detail
|
||||
</b>
|
||||
<el-button size="mini" type="primary" plain icon="el-icon-tickets"
|
||||
@click="showdetaileditor(scope.row)">Detail</el-button>
|
||||
</el-badge>
|
||||
|
||||
</p>
|
||||
<p class="tab_tie_col">
|
||||
<span>Status :</span>
|
||||
<font
|
||||
style="margin-right: 15px;color: #006699;font-size: 15px;font-weight: bold;letter-spacing: -0.5px;">
|
||||
{{stateFormat(scope.row.state)}}
|
||||
</font>
|
||||
<b v-if="scope.row.state!=5" @click="testvis(scope.row)" class="btnCliArt">
|
||||
<i class="el-icon-edit"></i> Change
|
||||
</b>
|
||||
<b v-if="scope.row.state==5" @click="prodBegin(scope.row)" class="btnCliArt"
|
||||
style="color: #2a9916;">
|
||||
<i class="el-icon-edit"></i> Begin Produce
|
||||
</b>
|
||||
</p>
|
||||
<p class="tab_tie_col">
|
||||
<span>Repetition :</span>
|
||||
<font style="margin-right: 15px;color: #006699;font-size: 15px;font-weight: bold;">
|
||||
{{scope.row.repetition}} %
|
||||
</font>
|
||||
<b @click="changeRepe(scope.row)" class="btnCliArt">
|
||||
<i class="el-icon-edit"></i> Change
|
||||
</b>
|
||||
</p>
|
||||
<p class="tab_tie_col">
|
||||
<span>Countries :</span>
|
||||
<font v-for="(item, index) in scope.row.countrys">
|
||||
{{item}}
|
||||
<font v-if="index!=scope.row.countrys.length-1">,</font>
|
||||
</font>
|
||||
</p>
|
||||
<p class="tab_tie_col">
|
||||
<span>Email :</span>
|
||||
<el-button size="mini" type="primary" plain icon="el-icon-chat-dot-square"
|
||||
@click="linkEmailist(scope.row)" v-if="scope.row.emailh==1">History</el-button>
|
||||
<el-button size="mini" type="primary" plain icon="el-icon-message"
|
||||
@click="linkEmail(scope.row)">Email</el-button>
|
||||
</p>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column width="180" label="Manuscript ID" align="center">
|
||||
<template slot-scope="scope">
|
||||
<p style="margin-bottom: 5px;">
|
||||
<span
|
||||
@@ -74,10 +418,10 @@
|
||||
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>
|
||||
Inviting Reviewer</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="">
|
||||
<el-table-column width="220px">
|
||||
<template slot="header">
|
||||
<div style="white-space:nowrap;text-align: center;">Corresponding</div>
|
||||
<div style="text-align: center;">Author</div>
|
||||
@@ -119,7 +463,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="AI scoring" align="center" width="150">
|
||||
<template slot-scope="scope">
|
||||
<p style="font-size: 18px;font-weight: bold;margin-bottom: 5px;color: #006699;cursor: pointer;"
|
||||
<p style="font-size: 18px;font-weight: bold;margin-bottom: 5px;color: #006699;"
|
||||
v-if="scope.row.reportList.length>0">
|
||||
<font style="font-size: 14px;font-weight: normal;">Initial review score :</font>
|
||||
{{scope.row.scoring}}
|
||||
@@ -136,7 +480,8 @@
|
||||
</p>
|
||||
<el-button @click="aiSoring(scope.row)" size="mini" type="primary" plain icon="el-icon-edit"
|
||||
v-if="scope.row.reportList.length>0">Edit Hindex</el-button>
|
||||
<p v-if="scope.row.review.length>0" style="font-size: 18px;font-weight: bold;margin-top: 15px;padding-top: 10px;border-top: 1px solid #00669966;color: #006699;">
|
||||
<p v-if="scope.row.review.length>0"
|
||||
style="font-size: 18px;font-weight: bold;margin-top: 15px;padding-top: 10px;border-top: 1px solid #00669966;color: #006699;">
|
||||
<font style="font-size: 14px;font-weight: normal;">Final review score :</font>
|
||||
{{finalCount(scope.row)}}
|
||||
</p>
|
||||
@@ -159,14 +504,17 @@
|
||||
Change</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="Remarks" align="center">
|
||||
<el-table-column label="Remarks">
|
||||
<template slot-scope="scope">
|
||||
<p style="margin-bottom: 5px;text-align: left;">{{scope.row.remarks}}</p>
|
||||
<el-button @click="testedit(scope.row)" size="mini" type="primary" plain icon="el-icon-edit">Change
|
||||
</el-button>
|
||||
<font style="margin-right: 10px;">{{scope.row.remarks}}</font>
|
||||
<b @click="testedit(scope.row)" class="btnCliArt">
|
||||
<i class="el-icon-edit"></i> Change
|
||||
</b>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-table> -->
|
||||
|
||||
|
||||
<div class="pagination">
|
||||
<el-pagination background layout="total, prev, pager, next" :current-page="query.pageIndex"
|
||||
:page-size="query.pageSize" :total="Total" @current-change="handlePageChange"></el-pagination>
|
||||
@@ -382,6 +730,48 @@
|
||||
<el-button type="primary" @click="saveRepe">Save</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
|
||||
<el-dialog title="" :visible.sync="communVisible" width="800px">
|
||||
<p
|
||||
style="word-break: normal;margin-bottom: 20px;font-size: 15px;font-weight: bold;letter-spacing: -0.5px;line-height: 22px;">
|
||||
{{msgform.title}}
|
||||
</p>
|
||||
<timetalk :talkMsgs="talkMsgs" :msgform="msgform"></timetalk>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog title="Manuscript Tracking" :visible.sync="trackVisible" width="700px">
|
||||
<p
|
||||
style="word-break: normal;margin-bottom: 20px;font-size: 15px;font-weight: bold;letter-spacing: -0.5px;line-height: 22px;">
|
||||
{{timeLaxis.title}}
|
||||
</p>
|
||||
<div style="">
|
||||
<el-timeline>
|
||||
<el-timeline-item :timestamp="formatDate_(timeLaxis.ctime)" placement="top">
|
||||
<el-card>
|
||||
<p style="line-height: 20px;">
|
||||
Manuscript submission :
|
||||
<b>{{timeLaxis.realname}}</b>
|
||||
submitted to
|
||||
<b>{{timeLaxis.journalname}}</b>
|
||||
</p>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<el-timeline-item v-for="(activity, index) in timeLaxis.list" :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>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -389,7 +779,11 @@
|
||||
import {
|
||||
Loading
|
||||
} from 'element-ui';
|
||||
import timetalk from './time_talk'
|
||||
export default {
|
||||
components: {
|
||||
timetalk
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
baseUrl: this.Common.baseUrl,
|
||||
@@ -401,14 +795,27 @@
|
||||
special_num: 0,
|
||||
name: '',
|
||||
sn: '',
|
||||
state: -1,
|
||||
state: 0,
|
||||
act: 1,
|
||||
pageIndex: 1,
|
||||
pageSize: 50
|
||||
pageSize: 20
|
||||
},
|
||||
tableData: [],
|
||||
multipleSelection: [],
|
||||
delList: [],
|
||||
statList: [{
|
||||
state: 0
|
||||
}, {
|
||||
state: 1
|
||||
}, {
|
||||
state: 2
|
||||
}, {
|
||||
state: 4
|
||||
}, {
|
||||
state: 3
|
||||
}, {
|
||||
state: 5
|
||||
}],
|
||||
Total: 0,
|
||||
geogleList: [],
|
||||
IndexForm: {},
|
||||
@@ -417,7 +824,23 @@
|
||||
editbox: false,
|
||||
repebox: false,
|
||||
aiSorbox: false,
|
||||
communVisible: false,
|
||||
trackVisible: false,
|
||||
talkMsgs: [],
|
||||
timeLaxis: {
|
||||
title: '',
|
||||
ctime: '',
|
||||
realname: '',
|
||||
journalname: '',
|
||||
list: []
|
||||
},
|
||||
itemGuest: [],
|
||||
msgform: {
|
||||
username: localStorage.getItem('U_name'),
|
||||
article_id: '',
|
||||
user_id: '',
|
||||
ad_content: ''
|
||||
},
|
||||
editform: {
|
||||
editname: localStorage.getItem('U_name'),
|
||||
articleId: 0,
|
||||
@@ -520,6 +943,17 @@
|
||||
});
|
||||
|
||||
},
|
||||
// 改变状态
|
||||
changeState() {
|
||||
if (this.query.act == 1) {
|
||||
this.statList = [0, 1, 2, 4, 6]
|
||||
this.query.state = 0
|
||||
} else {
|
||||
this.statList = [3, 5]
|
||||
this.query.state = 3
|
||||
}
|
||||
this.getdate()
|
||||
},
|
||||
// 获取数据
|
||||
getdate() {
|
||||
const loading = this.$loading({
|
||||
@@ -534,6 +968,47 @@
|
||||
this.Total = res.total;
|
||||
this.tableData = res.data;
|
||||
for (let i = 0; i < this.tableData.length; i++) {
|
||||
this.tableData[i].file_cover = 1
|
||||
this.tableData[i].file_figer = 1
|
||||
this.tableData[i].file_total = 1
|
||||
this.tableData[i].file_maun = 1
|
||||
this.tableData[i].file_supper = 1
|
||||
if (this.tableData[i].file.coverLetter) {
|
||||
if (this.tableData[i].file.coverLetter.length > 1) {
|
||||
this.tableData[i].file_cover = 0
|
||||
}
|
||||
}
|
||||
if (this.tableData[i].file.picturesAndTables) {
|
||||
if (this.tableData[i].file.picturesAndTables.length > 1) {
|
||||
this.tableData[i].file_figer = 0
|
||||
}
|
||||
}
|
||||
if (this.tableData[i].file.totalpage) {
|
||||
if (this.tableData[i].file.totalpage.length > 1) {
|
||||
this.tableData[i].file_total = 0
|
||||
}
|
||||
}
|
||||
if (this.tableData[i].file.manuscirpt) {
|
||||
if (this.tableData[i].file.coverLetter || this.tableData[i].file.picturesAndTables || this.tableData[i]
|
||||
.file.totalpage || this.tableData[i].file.supplementary) {
|
||||
if(this.tableData[i].file.manuscirpt.length > 1){
|
||||
this.tableData[i].file_maun = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.tableData[i].file.supplementary) {
|
||||
if (this.tableData[i].file.supplementary.length > 1) {
|
||||
this.tableData[i].file_supper = 0
|
||||
}
|
||||
}
|
||||
|
||||
this.tableData[i].reviewScore = []
|
||||
for (let j = 0; j < this.tableData[i].review.length; j++){
|
||||
if(this.tableData[i].review[j].rated!=null){
|
||||
this.tableData[i].reviewScore.push(this.tableData[i].review[j])
|
||||
}
|
||||
}
|
||||
|
||||
this.tableData[i].reportList = []
|
||||
if (this.tableData[i].reports.length == 1) {
|
||||
for (let j = 0; j < this.tableData[i].reports.length; j++) {
|
||||
@@ -557,8 +1032,14 @@
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
};
|
||||
for (let i = 0; i < res.state_num.length; i++) {
|
||||
for (let j = 0; j < this.statList.length; j++) {
|
||||
if (i == this.statList[j].state) {
|
||||
this.statList[j].num = res.state_num[i]
|
||||
}
|
||||
}
|
||||
}
|
||||
loading.close();
|
||||
})
|
||||
.catch(err => {
|
||||
@@ -571,6 +1052,11 @@
|
||||
this.$set(this.query, 'pageIndex', 1);
|
||||
this.getdate();
|
||||
},
|
||||
// 文章展开收缩
|
||||
changeFileUpdown(e, i, m) {
|
||||
this.tableData[i][m] = e
|
||||
this.$forceUpdate()
|
||||
},
|
||||
//文章送审
|
||||
articleReviewer(row) {
|
||||
this.$router.push({
|
||||
@@ -909,6 +1395,45 @@
|
||||
this.$message.error(err);
|
||||
});
|
||||
},
|
||||
// 留言板弹出层
|
||||
articleCommun(e) {
|
||||
this.msgform.user_id = e.user_id
|
||||
this.msgform.article_id = e.article_id
|
||||
this.msgform.title = e.title
|
||||
this.talkMsgs = []
|
||||
this.$api
|
||||
.post('api/Article/getArticleDialogs', {
|
||||
article_id: e.article_id
|
||||
})
|
||||
.then((res) => {
|
||||
this.talkMsgs = res.data.dialogs;
|
||||
this.communVisible = true
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
|
||||
},
|
||||
// 时间轴弹出层
|
||||
openTracking(e) {
|
||||
this.timeLaxis.title = e.title
|
||||
this.timeLaxis.ctime = e.ctime
|
||||
this.timeLaxis.realname = e.realname
|
||||
this.timeLaxis.journalname = e.journalname
|
||||
this.$api
|
||||
.post('api/Article/getArticleDetail', {
|
||||
articleId: e.article_id,
|
||||
human: 'editor'
|
||||
})
|
||||
.then(res => {
|
||||
this.timeLaxis.list = res.msg;
|
||||
this.trackVisible = true
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
|
||||
},
|
||||
// 修改标记
|
||||
saveRemark() {
|
||||
this.$api.post('api/Article/editArticleRemark', this.remark)
|
||||
@@ -982,6 +1507,79 @@
|
||||
return str;
|
||||
},
|
||||
|
||||
//文章类型
|
||||
artType(e) {
|
||||
let frag = '';
|
||||
switch (e) {
|
||||
case "A":
|
||||
frag = 'ARTICLE';
|
||||
break;
|
||||
case 'B':
|
||||
frag = 'REVIEW';
|
||||
break;
|
||||
case 'C':
|
||||
frag = 'CASE REPORT';
|
||||
break;
|
||||
case 'P':
|
||||
frag = 'RESEARCH PROPOSAL';
|
||||
break;
|
||||
case 'N':
|
||||
frag = 'NEWS';
|
||||
break;
|
||||
case 'T':
|
||||
frag = 'COMMENT';
|
||||
break;
|
||||
case 'CT':
|
||||
frag = 'CORRECTION';
|
||||
break;
|
||||
case 'HT':
|
||||
frag = 'HYPOTHESIS';
|
||||
break;
|
||||
case 'PF':
|
||||
frag = 'PREFACE';
|
||||
break;
|
||||
case 'ET':
|
||||
frag = 'EDITORIAL';
|
||||
break;
|
||||
case 'RP':
|
||||
frag = 'REPORT';
|
||||
break;
|
||||
case 'LR':
|
||||
frag = 'LETTER';
|
||||
break;
|
||||
case 'EF':
|
||||
frag = 'EMPIRICAL FORMULA';
|
||||
break;
|
||||
case 'EM':
|
||||
frag = 'EVIDENCE-BASED MEDICINE';
|
||||
break;
|
||||
case 'EC':
|
||||
frag = 'EXPERT CONSENSUS';
|
||||
break;
|
||||
case 'LTE':
|
||||
frag = 'LETTER TO EDITOR';
|
||||
break;
|
||||
case 'QI':
|
||||
frag = 'QUESTIONNAIRE INVESTIGATION';
|
||||
break;
|
||||
case 'PT':
|
||||
frag = 'PROTOCOL';
|
||||
break;
|
||||
case 'CS':
|
||||
frag = 'CASE SERIES';
|
||||
break;
|
||||
case 'RT':
|
||||
frag = 'RETRACTION';
|
||||
break;
|
||||
case 'MR':
|
||||
frag = 'MINI REVIEW';
|
||||
break;
|
||||
default:
|
||||
frag = 'OTHERS';
|
||||
}
|
||||
return frag;
|
||||
},
|
||||
|
||||
// 算平均分
|
||||
avegeCount(arry) {
|
||||
let str = 0;
|
||||
@@ -1014,6 +1612,16 @@
|
||||
var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
||||
return Y + M + D;
|
||||
},
|
||||
formatDate_(timestamp) {
|
||||
var date = new Date(timestamp * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
|
||||
var Y = date.getFullYear() + '-';
|
||||
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
|
||||
var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
||||
var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
|
||||
var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
|
||||
var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
|
||||
return Y + M + D + ' ' + h + ':' + m + ':' + s;
|
||||
},
|
||||
// 分页导航
|
||||
handlePageChange(val) {
|
||||
this.$set(this.query, 'pageIndex', val);
|
||||
@@ -1056,6 +1664,11 @@
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.Countries{
|
||||
display: inline-block;
|
||||
width: 20px; vertical-align: middle;
|
||||
white-space: nowrap;text-overflow:ellipsis; overflow:hidden; margin-bottom:3px;
|
||||
}
|
||||
.art_file>h4 {
|
||||
text-align: left;
|
||||
}
|
||||
@@ -1073,6 +1686,19 @@
|
||||
margin: 0 5px 10px 0;
|
||||
}
|
||||
|
||||
.markStare {
|
||||
float: right;
|
||||
color: #fff;
|
||||
font-size: 12px;
|
||||
background: #006699;
|
||||
border-radius: 10px;
|
||||
display: inline-block;
|
||||
line-height: 18px;
|
||||
height: 18px;
|
||||
padding: 0 6px;
|
||||
margin: 9px 0 0 0;
|
||||
}
|
||||
|
||||
.table {
|
||||
width: 100%;
|
||||
font-size: 14px;
|
||||
@@ -1093,10 +1719,160 @@
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
.item {
|
||||
margin-top: 5px;
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
.btnCliArt {
|
||||
color: #006699;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.btnCliArt:hover {
|
||||
cursor: pointer;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.btnCliArt i {
|
||||
margin-right: 2px;
|
||||
}
|
||||
|
||||
.mangu_list {
|
||||
color: #333;
|
||||
margin: 0 0 20px 0;
|
||||
font-size: 14px;
|
||||
padding: 20px;
|
||||
border-radius: 5px;
|
||||
border: 1px solid #EBEEF5;
|
||||
background-color: #fff;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.mangu_list:nth-child(2n+1) {
|
||||
background-color: #fafafa;
|
||||
}
|
||||
|
||||
.mangu_list:hover {
|
||||
box-shadow: 0 2px 12px 0 #0066991a;
|
||||
background-color: #00669905;
|
||||
}
|
||||
|
||||
.mangu_list>div {
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.mangu_list .man_title {
|
||||
margin: 2px 100px 20px 0;
|
||||
font-weight: bolder;
|
||||
letter-spacing: -0.5px;
|
||||
font-size: 16px;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
line-height: 22px;
|
||||
}
|
||||
|
||||
.mangu_list .man_title b:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
|
||||
.mangu_list div.fi_new {
|
||||
margin: 0 0 0 10px;
|
||||
margin-bottom: 10px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.mangu_list div.fi_new>p {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.mangu_list div.fi_new>div {
|
||||
color: #333;
|
||||
display: block;
|
||||
margin: 0 0 5px 0;
|
||||
line-height: 22px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.mangu_list div.fi_new>div>img {
|
||||
width: 15px;
|
||||
vertical-align: text-bottom;
|
||||
margin: 0 5px 0 0;
|
||||
}
|
||||
|
||||
.mangu_list div.fi_new>div>span>font {
|
||||
color: #888;
|
||||
margin: 0 5px 0 0;
|
||||
font-size: 13px;
|
||||
letter-spacing: -1px;
|
||||
}
|
||||
|
||||
.mangu_list div.fi_new>div>span>i {
|
||||
font-size: 12px;
|
||||
color: #888;
|
||||
margin: 0 0 0 3px;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.mangu_list div.fi_new>div>span>i>i {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
|
||||
.mangu_list div.fi_new>div>a {
|
||||
margin: 0 5px 0 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.mangu_list div.fi_new .download {
|
||||
font-weight: bold;
|
||||
color: #75abf1;
|
||||
margin: 0 0 0 10px;
|
||||
}
|
||||
|
||||
.mangu_list div.fi_new>div>a:hover .download {
|
||||
color: #006699;
|
||||
}
|
||||
|
||||
|
||||
.mangu_list div.fi_new .btnUpDown {
|
||||
font-weight: bold;
|
||||
color: #75abf1;
|
||||
cursor: pointer;
|
||||
margin-left: 5px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.mangu_list div.fi_new .btnUpDown:hover {
|
||||
color: #006699;
|
||||
}
|
||||
|
||||
|
||||
.mangu_list .fixCard {
|
||||
text-align: center;
|
||||
background: #0066990d;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.gugeList {
|
||||
font-size: 14px;
|
||||
border: 2px dashed #eee;
|
||||
|
||||
@@ -968,6 +968,10 @@
|
||||
label: 'MINI REVIEW',
|
||||
value: 'Mini Review'
|
||||
},
|
||||
{
|
||||
label: 'RETRACTION NOTE',
|
||||
value: 'Retraction Note'
|
||||
},
|
||||
{
|
||||
label: '内经难经',
|
||||
value: '内经难经'
|
||||
|
||||
@@ -83,6 +83,9 @@
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="Begin Page Number :" prop="beginPage">
|
||||
<el-input-number :min="1" :max="Math.ceil(userListNum/EmailData.pagesize)" v-model="EmailData.beginPage" label="Page Number"></el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item label="Scheduled Tasks :" prop="frequency">
|
||||
<el-radio-group v-model="EmailData.frequency">
|
||||
<el-radio label="day" style="display: block;margin: 10px 0 0 0;">
|
||||
@@ -299,6 +302,7 @@
|
||||
substance_bom: '',
|
||||
substanceOld: '',
|
||||
frequency: 'day',
|
||||
beginPage:1 // 开始页数
|
||||
},
|
||||
keyValue: 0,
|
||||
userListNum: 0,
|
||||
@@ -864,8 +868,6 @@
|
||||
// artHtml)
|
||||
// }
|
||||
|
||||
|
||||
|
||||
this.$api
|
||||
.post('api/Promotion/addPromotion', this.EmailData)
|
||||
.then(res => {
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
</el-breadcrumb-item>
|
||||
</el-breadcrumb>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<div class="form-box">
|
||||
<el-form ref="editorform" :model="form" :rules="rules" label-width="200px">
|
||||
|
||||
@@ -77,11 +77,14 @@
|
||||
<el-table-column prop="company" label="Affiliation"></el-table-column>
|
||||
<el-table-column prop="field" label="Field"></el-table-column>
|
||||
<el-table-column prop="remark" label="Remark" width="160"></el-table-column>
|
||||
<el-table-column label="" width="100" align="center">
|
||||
<el-table-column label="" width="200" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button plain type="primary" icon="el-icon-edit" @click="handleEdit(scope.row)">
|
||||
Edit
|
||||
</el-button>
|
||||
<el-button plain type="danger" icon="el-icon-edit" @click="handleDelete(scope.row)">
|
||||
Delete
|
||||
</el-button>
|
||||
<!-- <div style="margin-top: 12px;">
|
||||
<el-button plain type="warning" @click="handleSend(scope.row)">
|
||||
PROMOTION
|
||||
@@ -545,6 +548,29 @@
|
||||
this.initMajor()
|
||||
},
|
||||
methods: {
|
||||
// 删除灰库用户
|
||||
handleDelete(row){
|
||||
|
||||
this.$confirm(`'Do you want to delete the user? Name: '${row.name}'`, 'prompt', {
|
||||
confirmButtonText: 'Yes',
|
||||
cancelButtonText: 'Cancel',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.$api
|
||||
.post('api/User/delAshUser',{'ash_id': row.ash_id})
|
||||
.then(res => {
|
||||
if(res.code == 0){
|
||||
this.$message.success('successed!')
|
||||
this.getDate()
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
}).catch(() => { });
|
||||
|
||||
|
||||
},
|
||||
// 获取国家列表
|
||||
getCountry() {
|
||||
this.$api
|
||||
|
||||
@@ -893,7 +893,7 @@ export default new Router({
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/ReferenceEditor', //预收录-引用编辑
|
||||
path: '/ReferenceEditor', //预收录-引用编辑1
|
||||
component: () => import('../components/page/ReferenceEditor'),
|
||||
meta: {
|
||||
title: 'ReferenceEditor'
|
||||
|
||||
Reference in New Issue
Block a user