Merge branch 'zy-edit' of https://gitee.com/wjl2008_admin/tougao_web
This commit is contained in:
@@ -1449,4 +1449,12 @@ wmath {
|
||||
.ML__keyboard {
|
||||
z-index: 99999 !important;
|
||||
position: fixed !important;
|
||||
}
|
||||
}
|
||||
.sticky-header {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 1000; /* 保证在上层 */
|
||||
background-color: transparent;
|
||||
/* padding: 10px; */
|
||||
box-shadow: 0 2px 2px rgba(221, 221, 221, 0.2);
|
||||
}
|
||||
@@ -273,6 +273,7 @@ const en = {
|
||||
state4: 'Revision',
|
||||
state5: 'Accept',
|
||||
state6: 'Pre-accept',
|
||||
// state7: 'Final Decision',
|
||||
act1: 'Dealing',
|
||||
act2: 'Finished'
|
||||
},
|
||||
|
||||
@@ -266,6 +266,7 @@ const zh = {
|
||||
state4: '退修',
|
||||
state5: '接收',
|
||||
state6: '终审',
|
||||
// state7: '终审',
|
||||
act1: '审查中',
|
||||
act2: '已完结'
|
||||
},
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div>
|
||||
<div :style="[2,5].includes(activeIndex) ?'height:100%':''">
|
||||
<!-- <div class="crumbs">
|
||||
<el-breadcrumb separator="/">
|
||||
<el-breadcrumb-item>
|
||||
@@ -7,6 +7,8 @@
|
||||
</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>
|
||||
@@ -25,8 +27,11 @@
|
||||
<!-- <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="padding: 20px 15px">
|
||||
<div class="container" style="padding: 20px 15px 10px;box-sizing: border-box;"
|
||||
:style="[2,5].includes(activeIndex) ?'height:calc(100% - 60px)':''"
|
||||
>
|
||||
|
||||
<articleListA v-if="activeIndex == '1'" :journals="journals[0]"></articleListA>
|
||||
<articleListB v-if="activeIndex == '2'" :journals="journals[1]" @changeEvent="changeEvent"></articleListB>
|
||||
@@ -153,6 +158,7 @@ export default {
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
.tab_all {
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
@@ -182,4 +188,7 @@ export default {
|
||||
|
||||
.tab_Select:hover {
|
||||
}
|
||||
.sticky-header{
|
||||
background-color: #fafafa;
|
||||
}
|
||||
</style>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
172
src/components/page/articleListEditor_A_list.vue
Normal file
172
src/components/page/articleListEditor_A_list.vue
Normal file
@@ -0,0 +1,172 @@
|
||||
<template>
|
||||
<div class="block commonMajor" style="width: 100%;overflow: hidden;">
|
||||
<el-button type="primary" plain size="mini" @click="handleAdd" style="float:right;margin-bottom: 20px;"><i class="el-icon-plus" ></i>Add Remark </el-button>
|
||||
<div
|
||||
v-for="(field, index) in fields"
|
||||
:key="index"
|
||||
class="cascader-container"
|
||||
style="margin-bottom: 10px; display: flex; align-items: center; justify-content: space-between"
|
||||
>
|
||||
<span style="margin-right: 10px; font-size: 12px; color: #006699; font-weight: bold">{{ Number(index+1) }}、</span>
|
||||
<el-input style="width: calc(100% - 80px)" type="textarea" :autosize="{minRows: 1, maxRows: 3}" v-model="field.text" :key="index"></el-input>
|
||||
|
||||
<!-- <el-cascader
|
||||
:ref="`cascader${index}`"
|
||||
@change="handleChange(index)"
|
||||
v-model="field.selectedValue"
|
||||
:placeholder="'Please select Field '"
|
||||
:options="options"
|
||||
:props="getProps()"
|
||||
style="width: calc(100% - 120px)"
|
||||
></el-cascader> -->
|
||||
|
||||
<!-- Delete button -->
|
||||
<el-button size="mini" type="danger" style="margin-left: 10px;" @click="handleDelete(index)"><i class="el-icon-delete"></i></el-button>
|
||||
</div>
|
||||
<!-- <el-dialog title="Add Field " :visible.sync="coreVisible1" width="780px" :close-on-click-modal="false">
|
||||
<el-form :model="coreForm1" :rules="rules1" ref="core_Form1" label-width="140px" >
|
||||
<el-form-item prop="major">
|
||||
<span slot="label">
|
||||
<i style="color: #f56c6c; margin-right: 4px">*</i>
|
||||
Field
|
||||
</span>
|
||||
|
||||
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="coreVisible1 = false">Cancel</el-button>
|
||||
<el-button type="primary" @click="onSubmit_core1(coreForm1)">Save</el-button>
|
||||
</span>
|
||||
</el-dialog> -->
|
||||
|
||||
<!-- 渲染多个 el-cascader 组件 -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
userId: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
list: {
|
||||
type: Array,
|
||||
default: []
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
list: {
|
||||
handler(e) {
|
||||
|
||||
this.fields=this.list.length>0?[...this.list]:[{}]
|
||||
},
|
||||
immediate: true
|
||||
},
|
||||
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
rules1:{},
|
||||
coreVisible1: false,
|
||||
coreForm1: {
|
||||
majorList: []
|
||||
},
|
||||
fields: [], // 用于存储多个领域的选项数据
|
||||
options: [] // 用于存储级联选择的选项数据
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.loadFields(); // 初始化时加载数据
|
||||
},
|
||||
methods: {
|
||||
|
||||
|
||||
// 动态添加一个新的 Cascader
|
||||
handleAdd() {
|
||||
this.$nextTick(() => {
|
||||
// this.fields=[]
|
||||
const today = new Date();
|
||||
const formattedDate = today.getFullYear() + '.' +
|
||||
String(today.getMonth() + 1).padStart(2, '0') + '.' +
|
||||
String(today.getDate()).padStart(2, '0');
|
||||
|
||||
this.fields.push({ text: '' });
|
||||
|
||||
|
||||
this.$emit('load',this.fields)
|
||||
// this.coreVisible1 = true;
|
||||
});
|
||||
},
|
||||
|
||||
// 删除指定的 Cascader
|
||||
handleDelete(index) {
|
||||
this.fields.splice(index, 1); // 删除指定索引的字段
|
||||
this.$emit('load',this.fields)
|
||||
},
|
||||
|
||||
// 获取 Cascader 配置
|
||||
getProps() {
|
||||
return {
|
||||
value: 'value',
|
||||
label: 'label',
|
||||
children: 'children',
|
||||
checkStrictly: true, // 允许任意选择一级
|
||||
expandTrigger: 'hover' // 使用 hover 触发展开
|
||||
};
|
||||
},
|
||||
|
||||
// API 调用,获取子节点数据
|
||||
getMajor(majorId) {
|
||||
return this.$api
|
||||
.post('api/Ucenter/getMajor', { major_id: majorId })
|
||||
.then((response) => response.data)
|
||||
.catch((error) => {
|
||||
console.error('API Error:', error);
|
||||
return [];
|
||||
});
|
||||
},
|
||||
|
||||
// 加载多个领域数据
|
||||
loadFields() {
|
||||
this.$api.post('api/Major/getMajorList', {}).then((res) => {
|
||||
const transformData = (data) => {
|
||||
return data.map((item) => {
|
||||
const transformedItem = {
|
||||
...item,
|
||||
value: item.major_id,
|
||||
label: `${item.major_title}`
|
||||
};
|
||||
|
||||
// 如果存在 children,递归处理
|
||||
if (item.children && item.children.length > 0) {
|
||||
transformedItem.children = transformData(item.children);
|
||||
}
|
||||
|
||||
return transformedItem;
|
||||
});
|
||||
};
|
||||
|
||||
// 执行递归,获取选项数据
|
||||
const data = transformData(res.data.majors.find((item) => item.major_id == 1).children);
|
||||
this.options = [...data]; // 将选项数据赋给 options
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
/* 你可以根据需要自定义样式 */
|
||||
.cascader-container {
|
||||
width: 100%;
|
||||
/* margin-top: 40px; */
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
::v-deep input[aria-hidden='true'] {
|
||||
display: none !important;
|
||||
}
|
||||
</style>
|
||||
@@ -1,308 +1,323 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="handle-box">
|
||||
<el-select v-model="queryType.journal_id" @change="getDateType" placeholder="Please select journal"
|
||||
style="width: 300px;">
|
||||
<el-option :key="0" label="All journals" :value="0"></el-option>
|
||||
<el-option v-for="item in journals" :key="item.journal_id" :label="item.title"
|
||||
:value="item.journal_id"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
<el-table :data="dataType" 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="160" label="Doi" align="center">
|
||||
<div style="height: 100%">
|
||||
<div class="handle-box">
|
||||
<el-select v-model="queryType.journal_id" @change="getDateType" placeholder="Please select journal" style="width: 300px">
|
||||
<el-option :key="0" label="All journals" :value="0"></el-option>
|
||||
<el-option v-for="item in journals" :key="item.journal_id" :label="item.title" :value="item.journal_id"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div style="height: calc(100% - 100px)">
|
||||
<el-table
|
||||
:data="dataType"
|
||||
border
|
||||
stripe
|
||||
class="table"
|
||||
ref="multipleTable"
|
||||
header-cell-class-name="table-header"
|
||||
height="100%"
|
||||
empty-text="New messages (0)"
|
||||
>
|
||||
<el-table-column type="index" label="No." width="55" align="center"></el-table-column>
|
||||
<el-table-column prop="accept_sn" label="SN" width="240px">
|
||||
<template slot-scope="scope">
|
||||
<p>
|
||||
{{ scope.row.accept_sn }}
|
||||
<el-button
|
||||
size="mini"
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-tickets"
|
||||
@click="showdetaileditor(scope.row)"
|
||||
style="margin-left: 10px; padding: 4px; float: right"
|
||||
>Detail</el-button
|
||||
>
|
||||
</p>
|
||||
<p v-if="scope.row.doi" style="color: #006699"><span>Doi: </span>{{ scope.row.doi }}</p>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column width="160" label="Doi" align="center">
|
||||
<template slot-scope="scope">
|
||||
<p style="margin-bottom: 5px;">
|
||||
<p >
|
||||
{{scope.row.doi}}
|
||||
|
||||
</p>
|
||||
<el-button size="mini" type="primary" plain icon="el-icon-tickets"
|
||||
@click="showdetaileditor(scope.row)">Detail</el-button>
|
||||
<el-button size="mini" type="primary" plain icon="el-icon-tickets"
|
||||
@click="showdetaileditor(scope.row)">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>
|
||||
<el-button size="mini" @click="typeDelete(scope.row)" type="danger" plain icon="el-icon-delete">
|
||||
Delete</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="Remarks" align="center">
|
||||
</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
|
||||
>
|
||||
<el-button size="mini" @click="typeDelete(scope.row)" type="danger" plain icon="el-icon-delete"> Delete</el-button>
|
||||
</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>
|
||||
<el-button @click="changeRemark(scope.row)" size="mini" type="primary" plain icon="el-icon-edit">
|
||||
Remark</el-button>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
</el-table>
|
||||
<div class="pagination">
|
||||
<el-pagination background layout="total, prev, pager, next" :current-page="queryType.pageIndex"
|
||||
:page-size="queryType.pageSize" :total="TotalType" @current-change="handPage_type"></el-pagination>
|
||||
</div>
|
||||
</el-table>
|
||||
<div class="pagination">
|
||||
<el-pagination
|
||||
background
|
||||
layout="total, prev, pager, next"
|
||||
:current-page="queryType.pageIndex"
|
||||
:page-size="queryType.pageSize"
|
||||
:total="TotalType"
|
||||
@current-change="handPage_type"
|
||||
></el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- remark标记 -->
|
||||
<el-dialog title="Remarks" :visible.sync="remarkBox" width="550px">
|
||||
<el-form ref="remark" :model="remark" label-width="85px">
|
||||
<el-form-item label="Title :">
|
||||
<p style="line-height: 20px;margin-top: 6px;">{{remark.title}}</p>
|
||||
</el-form-item>
|
||||
<el-form-item label="Content :">
|
||||
<el-input type="textarea" rows="5" v-model="remark.content"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="remarkBox = false">Cancel</el-button>
|
||||
<el-button type="primary" @click="saveRemark">Save</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
<!-- remark标记 -->
|
||||
<el-dialog title="Remarks" :visible.sync="remarkBox" width="550px">
|
||||
<el-form ref="remark" :model="remark" label-width="85px">
|
||||
<el-form-item label="Title :">
|
||||
<p style="line-height: 20px; margin-top: 6px">{{ remark.title }}</p>
|
||||
</el-form-item>
|
||||
<el-form-item label="Content :">
|
||||
<el-input type="textarea" rows="5" v-model="remark.content"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="remarkBox = false">Cancel</el-button>
|
||||
<el-button type="primary" @click="saveRemark">Save</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import 'quill/dist/quill.core.css';
|
||||
import 'quill/dist/quill.snow.css';
|
||||
import 'quill/dist/quill.bubble.css';
|
||||
import {
|
||||
quillEditor
|
||||
} from 'vue-quill-editor';
|
||||
import Clipboard from 'clipboard';
|
||||
import {
|
||||
Loading
|
||||
} from 'element-ui';
|
||||
export default {
|
||||
props: ['journals'],
|
||||
data() {
|
||||
return {
|
||||
baseUrl: this.Common.baseUrl,
|
||||
mediaUrl: this.Common.mediaUrl,
|
||||
uploadUrl: '/tsfile/',
|
||||
journalList: [],
|
||||
queryType: {
|
||||
username: localStorage.getItem('U_name'),
|
||||
editor_id: localStorage.getItem('U_id'),
|
||||
journal_id: 0,
|
||||
ts_state: 0,
|
||||
pageIndex: 1,
|
||||
pageSize: 50
|
||||
},
|
||||
import 'quill/dist/quill.core.css';
|
||||
import 'quill/dist/quill.snow.css';
|
||||
import 'quill/dist/quill.bubble.css';
|
||||
import { quillEditor } from 'vue-quill-editor';
|
||||
import Clipboard from 'clipboard';
|
||||
import { Loading } from 'element-ui';
|
||||
export default {
|
||||
props: ['journals'],
|
||||
data() {
|
||||
return {
|
||||
baseUrl: this.Common.baseUrl,
|
||||
mediaUrl: this.Common.mediaUrl,
|
||||
uploadUrl: '/tsfile/',
|
||||
journalList: [],
|
||||
queryType: {
|
||||
username: localStorage.getItem('U_name'),
|
||||
editor_id: localStorage.getItem('U_id'),
|
||||
journal_id: 0,
|
||||
ts_state: 0,
|
||||
pageIndex: 1,
|
||||
pageSize: 50
|
||||
},
|
||||
|
||||
queryPush: {},
|
||||
dataType: [],
|
||||
TotalType: 0,
|
||||
remarkBox: false,
|
||||
remark: {
|
||||
content: ''
|
||||
},
|
||||
};
|
||||
},
|
||||
created() {
|
||||
// this.initSelect();
|
||||
this.getDateType();
|
||||
},
|
||||
methods: {
|
||||
//初始化期刊
|
||||
|
||||
// 初始化列表
|
||||
getDateType() {
|
||||
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.dataType = res.data.productions;
|
||||
this.TotalType = res.data.count;
|
||||
loading.close();
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
loading.close();
|
||||
});
|
||||
},
|
||||
queryPush: {},
|
||||
dataType: [],
|
||||
TotalType: 0,
|
||||
remarkBox: false,
|
||||
remark: {
|
||||
content: ''
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
// this.initSelect();
|
||||
this.getDateType();
|
||||
},
|
||||
methods: {
|
||||
//初始化期刊
|
||||
|
||||
// 分页导航
|
||||
handPage_type(val) {
|
||||
this.$set(this.dataType, 'pageIndex', val);
|
||||
this.getDateType();
|
||||
},
|
||||
// 稿件信息展示
|
||||
showdetaileditor(row) {
|
||||
let stat_num = 'articleDetailEditor'
|
||||
this.$router.push({
|
||||
path: stat_num,
|
||||
query: {
|
||||
id: row.article_id
|
||||
}
|
||||
});
|
||||
},
|
||||
// 标记弹出框
|
||||
changeRemark(e) {
|
||||
this.remarkBox = true;
|
||||
this.remark.title = e.title;
|
||||
this.remark.articleId = e.article_id;
|
||||
this.remark.content = e.remarks;
|
||||
},
|
||||
// 修改标记
|
||||
saveRemark() {
|
||||
this.$api.post('api/Article/editArticleRemark', this.remark)
|
||||
.then(res => {
|
||||
if (res.code == 0) {
|
||||
this.$message.success('success');
|
||||
this.remarkBox = false;
|
||||
this.getDateType();
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 初始化列表
|
||||
getDateType() {
|
||||
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.dataType = res.data.productions;
|
||||
this.TotalType = res.data.count;
|
||||
loading.close();
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
loading.close();
|
||||
});
|
||||
},
|
||||
|
||||
// 稿件删除
|
||||
typeDelete(e) {
|
||||
// 二次确认
|
||||
this.$confirm('Are you sure to delete this manuscript?', 'Tips', {
|
||||
confirmButtonText: 'OK',
|
||||
cancelButtonText: 'Cancel',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
this.$api
|
||||
.post('api/Production/delProduction', {
|
||||
'p_article_id': e.p_article_id
|
||||
})
|
||||
.then(res => {
|
||||
this.$message.success('Delete successfully!');
|
||||
this.getDateType();
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err);
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
// 分页导航
|
||||
handPage_type(val) {
|
||||
this.$set(this.dataType, 'pageIndex', val);
|
||||
this.getDateType();
|
||||
},
|
||||
// 稿件信息展示
|
||||
showdetaileditor(row) {
|
||||
let stat_num = 'articleDetailEditor';
|
||||
this.$router.push({
|
||||
path: stat_num,
|
||||
query: {
|
||||
id: row.article_id
|
||||
}
|
||||
});
|
||||
},
|
||||
// 标记弹出框
|
||||
changeRemark(e) {
|
||||
this.remarkBox = true;
|
||||
this.remark.title = e.title;
|
||||
this.remark.articleId = e.article_id;
|
||||
this.remark.content = e.remarks;
|
||||
},
|
||||
// 修改标记
|
||||
saveRemark() {
|
||||
this.$api.post('api/Article/editArticleRemark', this.remark).then((res) => {
|
||||
if (res.code == 0) {
|
||||
this.$message.success('success');
|
||||
this.remarkBox = false;
|
||||
this.getDateType();
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 跳页录入排版
|
||||
changeEnter(val) {
|
||||
this.$router.push('/articleListEditor_B1?id=' + val.p_article_id);
|
||||
},
|
||||
// 稿件删除
|
||||
typeDelete(e) {
|
||||
// 二次确认
|
||||
this.$confirm('Are you sure to delete this manuscript?', 'Tips', {
|
||||
confirmButtonText: 'OK',
|
||||
cancelButtonText: 'Cancel',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(() => {
|
||||
this.$api
|
||||
.post('api/Production/delProduction', {
|
||||
p_article_id: e.p_article_id
|
||||
})
|
||||
.then((res) => {
|
||||
this.$message.success('Delete successfully!');
|
||||
this.getDateType();
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
},
|
||||
};
|
||||
// 跳页录入排版
|
||||
changeEnter(val) {
|
||||
this.$router.push('/articleListEditor_B1?id=' + val.p_article_id);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.handle-box {
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
.handle-box {
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
|
||||
.table {
|
||||
width: 100%;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.table {
|
||||
width: 100%;
|
||||
font-size: 14px;
|
||||
}
|
||||
.pane_act {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.pane_act {
|
||||
background-color: #fff;
|
||||
}
|
||||
.pane_act > div {
|
||||
}
|
||||
|
||||
.pane_act>div {}
|
||||
.pane_act > div > div > h3 {
|
||||
font-size: 14px;
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
.pane_act>div>div>h3 {
|
||||
font-size: 14px;
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.chanFerAll {
|
||||
position: relative;
|
||||
/* height: 500px;
|
||||
.chanFerAll {
|
||||
position: relative;
|
||||
/* height: 500px;
|
||||
overflow-y: scroll; */
|
||||
}
|
||||
}
|
||||
|
||||
.chanFerAll .chanFerBtn {
|
||||
cursor: pointer;
|
||||
}
|
||||
.chanFerAll .chanFerBtn {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.chanFerAll .ref_list:nth-child(2n) {}
|
||||
.chanFerAll .ref_list:nth-child(2n) {
|
||||
}
|
||||
|
||||
.chanFerAll .ref_list:nth-child(2n+1) {
|
||||
background-color: #ecf5ff;
|
||||
}
|
||||
.chanFerAll .ref_list:nth-child(2n + 1) {
|
||||
background-color: #ecf5ff;
|
||||
}
|
||||
|
||||
.ref_list {
|
||||
padding: 20px;
|
||||
}
|
||||
.ref_list {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.ref_list > div:nth-child(1) {
|
||||
margin: 0 0 15px 0;
|
||||
}
|
||||
|
||||
.ref_list > div:nth-child(1) input {
|
||||
}
|
||||
|
||||
.ref_list>div:nth-child(1) {
|
||||
margin: 0 0 15px 0;
|
||||
}
|
||||
.ref_list > div:nth-child(1) button {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.ref_list>div:nth-child(1) input {}
|
||||
.ref_list > div:nth-child(2) {
|
||||
margin: 0 0 15px 0;
|
||||
}
|
||||
|
||||
.ref_list>div:nth-child(1) button {
|
||||
float: right;
|
||||
}
|
||||
.RefProBar {
|
||||
position: absolute;
|
||||
background: rgba(0, 0, 0, 0.7);
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.ref_list>div:nth-child(2) {
|
||||
margin: 0 0 15px 0;
|
||||
}
|
||||
.RefProBar > div {
|
||||
width: 76%;
|
||||
position: absolute;
|
||||
top: 4.5%;
|
||||
left: 12%;
|
||||
}
|
||||
|
||||
.RefProBar > div > p {
|
||||
color: #fff;
|
||||
margin: 20px 0 0 0;
|
||||
}
|
||||
|
||||
.RefProBar {
|
||||
position: absolute;
|
||||
background: rgba(0, 0, 0, 0.7);
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
}
|
||||
.RefProBar > div > p > img {
|
||||
width: 30px;
|
||||
vertical-align: middle;
|
||||
margin: 0 10px 0 5px;
|
||||
}
|
||||
|
||||
.RefProBar>div {
|
||||
width: 76%;
|
||||
position: absolute;
|
||||
top: 4.5%;
|
||||
left: 12%;
|
||||
}
|
||||
.RefProBar > div > p > span {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.RefProBar>div>p {
|
||||
color: #fff;
|
||||
margin: 20px 0 0 0;
|
||||
}
|
||||
|
||||
.RefProBar>div>p>img {
|
||||
width: 30px;
|
||||
vertical-align: middle;
|
||||
margin: 0 10px 0 5px;
|
||||
}
|
||||
|
||||
.RefProBar>div>p>span {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.Fer_btn button:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.Fer_btn button:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="tab_post">
|
||||
|
||||
<div v-for="(item, index) in tabsList" @click="jumpTab(index, item)" :class="tabName == item.refName ? 'P_style' : ''">
|
||||
<h5>
|
||||
<span>{{ index + 1 }}</span>
|
||||
@@ -934,7 +935,7 @@
|
||||
<img :src="baseUrl + 'public/mainimg/' + item.content" :style="'width:' + item.width + 'px'" />
|
||||
<font :style="'width:' + item.width + 'px'">{{ item.note }} </font>
|
||||
</p> --><comArtHtmlCreatNewProduce
|
||||
:p_article_id="p_article_id"
|
||||
:p_article_id="p_article_id"
|
||||
:deMesYul="{ ...deMesYul, authors: authorData, articlePdfUrl: UpTyFIle ? baseUrl + 'public/' + UpTyFIle : '' }"
|
||||
></comArtHtmlCreatNewProduce>
|
||||
</div>
|
||||
@@ -1175,7 +1176,7 @@ export default {
|
||||
// value: '书评'
|
||||
// }
|
||||
// ],
|
||||
opMedical:[],
|
||||
opMedical: [],
|
||||
editAuthor: false,
|
||||
addAuthor: false,
|
||||
editSchool: false,
|
||||
@@ -1394,7 +1395,7 @@ export default {
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.opMedical=this.$commonJS.opMedicalList()
|
||||
this.opMedical = this.$commonJS.opMedicalList();
|
||||
this.getHight();
|
||||
window.addEventListener('resize', this.getHight);
|
||||
this.getData();
|
||||
@@ -2843,7 +2844,9 @@ export default {
|
||||
// 判断滚动条滚动距离是否大于当前滚动项可滚动距离
|
||||
let judge = e.target.scrollTop >= scrollItems[i].offsetTop - scrollItems[0].offsetTop;
|
||||
if (judge) {
|
||||
console.log('judge at line 2846:', judge)
|
||||
this.tabIndex = i.toString();
|
||||
console.log('this.tabIndex at line 2848:', this.tabIndex)
|
||||
// 找对应的tab-name值
|
||||
this.tabName = this.tabsList[this.tabIndex].refName;
|
||||
// this.tabClick = this.tabsList[this.tabIndex].refName
|
||||
@@ -3144,7 +3147,10 @@ export default {
|
||||
.chanFerAll {
|
||||
float: left;
|
||||
position: relative;
|
||||
width: 61.5%;
|
||||
/* width: 61.5%; */
|
||||
|
||||
min-width: 61.5%;
|
||||
width: calc(76% - 50px) !important;
|
||||
}
|
||||
|
||||
.chanFerAll .chanFerBtn {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div>
|
||||
<div style="height: 100%;">
|
||||
<div class="handle-box">
|
||||
<el-select v-model="queryType.issn" @change="getJourChange" placeholder="Please select a journal" style="width: 250px">
|
||||
<el-option v-for="item in journals" :key="item.issn" :label="item.title" :value="item.issn"> </el-option>
|
||||
@@ -26,7 +26,8 @@
|
||||
<i class="el-icon-search" style="margin-right: 5px"></i>Search
|
||||
</el-button>
|
||||
</div>
|
||||
<el-table
|
||||
<div style="height: calc(100% - 100px);">
|
||||
<el-table height="100%"
|
||||
:data="dataTable"
|
||||
border
|
||||
stripe
|
||||
@@ -36,13 +37,20 @@
|
||||
empty-text="New messages (0)"
|
||||
>
|
||||
<el-table-column width="80" label="No." prop="npp" align="center"></el-table-column>
|
||||
<el-table-column width="140" label="Stage" align="center">
|
||||
<el-table-column width="240" 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: 10px" size="mini" type="success" plain icon="el-icon-view" @click="lookView(scope.row)">
|
||||
Preview</el-button
|
||||
>
|
||||
<el-button
|
||||
|
||||
size="mini"
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-view"
|
||||
@click="lookView(scope.row)"
|
||||
style="margin-left: 10px;padding:4px;float: right;"
|
||||
>Preview</el-button
|
||||
>
|
||||
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="Title">
|
||||
@@ -65,9 +73,9 @@
|
||||
<p style="cursor: pointer; color: #006699 !important" @click="goCite(scope.row)">
|
||||
{{ scope.row.cite_num ? scope.row.cite_num.length : 0 }}
|
||||
|
||||
<!-- <span style="margin-left: 4px; cursor: pointer; color: #006699 !important; font-weight: bold">
|
||||
<span style="margin-left: 4px; cursor: pointer; color: #006699 !important; font-weight: bold">
|
||||
<i class="el-icon-edit"></i>
|
||||
</span> -->
|
||||
</span>
|
||||
</p>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -130,6 +138,8 @@
|
||||
@current-change="handlePageChange"
|
||||
></el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- 修改信息 -->
|
||||
<el-dialog title="" :visible.sync="EditVisible" width="750px" :close-on-click-modal="false">
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -23,13 +23,23 @@
|
||||
header-cell-class-name="table-header"
|
||||
empty-text="New messages (0)"
|
||||
>
|
||||
<el-table-column label="Base Information">
|
||||
<el-table-column width="360" label="Base Information">
|
||||
<template slot-scope="scope">
|
||||
<p class="tab_tie_col">
|
||||
<span>Realname: </span><b style="font-size: 15px">{{ scope.row.realname }}</b>
|
||||
<span>Realname: </span><b style="font-size: 14px">{{ scope.row.realname }}</b><el-button
|
||||
|
||||
size="mini"
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-tickets"
|
||||
@click="openDetail(scope.row)"
|
||||
style="margin-left: 10px;padding:4px;float: right;"
|
||||
>Detail</el-button
|
||||
>
|
||||
</p>
|
||||
<p class="tab_tie_col"><span>Account: </span>{{ scope.row.account }}</p>
|
||||
<p class="tab_tie_col"><span>Email: </span>{{ scope.row.email }}</p>
|
||||
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="Other Information">
|
||||
@@ -39,6 +49,16 @@
|
||||
<!-- <p class="tab_tie_col" v-if="scope.row.majorstr != ''"><span>Major: </span>{{ scope.row.majorstr }}</p> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="Research areas" width="310">
|
||||
<template slot-scope="scope">
|
||||
<commonMajorTableList
|
||||
:user_id="scope.row.user_id"
|
||||
:baseInfo="scope.row"
|
||||
:key="scope.row.user_id"
|
||||
:disabled="true"
|
||||
></commonMajorTableList>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="rs_num" label="Review Record" width="180">
|
||||
<template slot-scope="scope">
|
||||
Major review: {{ scope.row.major_times }} ({{ scope.row.major_rate }}%)
|
||||
@@ -66,9 +86,9 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column prop="rd_num" label="Fail number" width="140"></el-table-column> -->
|
||||
<el-table-column label="" width="200" align="center">
|
||||
<el-table-column label="" width="120" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="success" plain icon="el-icon-tickets" @click="openDetail(scope.row)">Detail</el-button>
|
||||
<!-- <el-button size="mini" type="success" plain icon="el-icon-tickets" @click="openDetail(scope.row)">Detail</el-button> -->
|
||||
<el-button size="mini" type="primary" plain icon="el-icon-check" @click="openSelect(scope.row)"> Select</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -87,7 +107,12 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
import commonMajorTableList from '../page/components/major/tableList.vue';
|
||||
|
||||
export default {components: {
|
||||
|
||||
commonMajorTableList
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
messform: {
|
||||
|
||||
@@ -1,24 +1,27 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="crumbs">
|
||||
<!-- <el-page-header @back="goBack" content="Add manuscript reviewer">
|
||||
</el-page-header> -->
|
||||
<el-breadcrumb separator="/">
|
||||
<el-breadcrumb-item> <i class="el-icon-lx-calendar"></i> Add manuscript reviewer</el-breadcrumb-item>
|
||||
</el-breadcrumb>
|
||||
</div>
|
||||
<div
|
||||
class="container"
|
||||
class="container" style="padding: 20px;"
|
||||
v-loading="loading"
|
||||
element-loading-text="Loading..."
|
||||
element-loading-spinner="el-icon-loading"
|
||||
element-loading-background="rgba(255, 255, 255, 0.8)"
|
||||
|
||||
>
|
||||
>
|
||||
<span
|
||||
style="float: right; display: flex; align-items: center; color: #6843ff; font-weight: bold"
|
||||
@click="isSelectAI = !isSelectAI"
|
||||
> <el-checkbox v-model="isSelectAI"></el-checkbox><img src="@/assets/img/ai.png" style="width: 30px; height: 30px; margin-left: 10px" /> </span
|
||||
>
|
||||
|
||||
<el-checkbox v-model="isSelectAI"></el-checkbox
|
||||
><img src="@/assets/img/ai.png" style="width: 30px; height: 30px; margin-left: 10px" />
|
||||
</span>
|
||||
|
||||
<!-- <el-select v-model="messform.major_a" placeholder="Please select major" @change="majorChange(1)"
|
||||
style="width: 200px;margin: 0 10px 0 0;">
|
||||
<el-option :key="0" label="All major" :value="0"></el-option>
|
||||
@@ -38,33 +41,32 @@
|
||||
<el-option v-for="item in majors_c" :key="item.major_id" :label="item.major_title"
|
||||
:value="item.major_id"></el-option>
|
||||
</el-select> -->
|
||||
|
||||
|
||||
|
||||
<div v-if="!isSelectAI"><span style="font-size: 14px; color: #606266; margin: 0 10px 0 0">Research direction :</span>
|
||||
<div v-if="!isSelectAI">
|
||||
<span style="font-size: 14px; color: #606266; margin: 0 10px 0 0">Research direction :</span>
|
||||
<el-cascader
|
||||
placeholder="Please select major"
|
||||
v-model="selectFileds"
|
||||
style="width: 300px; margin-right: 10px"
|
||||
@change="fieldChange"
|
||||
:options="allFileds"
|
||||
:props="fieldsProps"
|
||||
collapse-tags
|
||||
clearable
|
||||
></el-cascader>
|
||||
<el-input
|
||||
v-model="messform.email"
|
||||
clearable
|
||||
placeholder="Please enter email"
|
||||
style="width: 190px; display: inline-block; margin: 0 10px 20px 0"
|
||||
></el-input>
|
||||
<el-input
|
||||
v-model="messform.field"
|
||||
clearable
|
||||
placeholder="Please enter field"
|
||||
style="width: 190px; display: inline-block; margin: 0 10px 20px 0"
|
||||
></el-input>
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleSearch">Search</el-button>
|
||||
placeholder="Please select major"
|
||||
v-model="selectFileds"
|
||||
style="width: 300px; margin-right: 10px"
|
||||
@change="fieldChange"
|
||||
:options="allFileds"
|
||||
:props="fieldsProps"
|
||||
collapse-tags
|
||||
clearable
|
||||
></el-cascader>
|
||||
<el-input
|
||||
v-model="messform.email"
|
||||
clearable
|
||||
placeholder="Please enter email"
|
||||
style="width: 190px; display: inline-block; margin: 0 10px 20px 0"
|
||||
></el-input>
|
||||
<el-input
|
||||
v-model="messform.field"
|
||||
clearable
|
||||
placeholder="Please enter field"
|
||||
style="width: 190px; display: inline-block; margin: 0 10px 20px 0"
|
||||
></el-input>
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleSearch">Search</el-button>
|
||||
<el-table
|
||||
:data="revTable"
|
||||
border
|
||||
@@ -74,10 +76,21 @@
|
||||
header-cell-class-name="table-header"
|
||||
empty-text="New messages (0)"
|
||||
>
|
||||
<el-table-column label="Base Information">
|
||||
<el-table-column width="360" label="Base Information">
|
||||
<template slot-scope="scope">
|
||||
<p class="tab_tie_col">
|
||||
<span>Realname: </span><b style="font-size: 15px">{{ scope.row.realname }}</b>
|
||||
<span>Realname: </span><b style="font-size: 14px">{{ scope.row.realname }}</b>
|
||||
|
||||
<el-button
|
||||
|
||||
size="mini"
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-tickets"
|
||||
@click="openDetail(scope.row)"
|
||||
style="margin-left: 10px;padding:4px;float: right;"
|
||||
>Detail</el-button
|
||||
>
|
||||
</p>
|
||||
<p class="tab_tie_col"><span>Account: </span>{{ scope.row.account }}</p>
|
||||
<p class="tab_tie_col"><span>Email: </span>{{ scope.row.email }}</p>
|
||||
@@ -87,24 +100,41 @@
|
||||
<template slot-scope="scope">
|
||||
<p class="tab_tie_col" v-if="scope.row.company != ''"><span>Affiliation: </span>{{ scope.row.company }}</p>
|
||||
<p class="tab_tie_col" v-if="scope.row.field != ''"><span>Field: </span>{{ scope.row.field }}</p>
|
||||
<p class="tab_tie_col" v-if="scope.row.majorstr != ''"><span>Major: </span>{{ scope.row.majorstr }}</p>
|
||||
<!-- <p class="tab_tie_col" v-if="scope.row.majorstr != ''"><span>Major: </span>{{ scope.row.majorstr }}</p> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="rs_num" label="Reviewed Times" width="140">
|
||||
<el-table-column label="Research areas" width="310">
|
||||
<template slot-scope="scope">
|
||||
<commonMajorTableList
|
||||
:user_id="scope.row.reviewer_id"
|
||||
:baseInfo="scope.row"
|
||||
:key="scope.row.reviewer_id"
|
||||
:disabled="true"
|
||||
></commonMajorTableList>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="rs_num" label="Reviewed Times" width="160">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.rs_num }}
|
||||
<font style="margin-left: 5px">(Reviewing:{{ scope.row.now }})</font>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<!-- <el-table-column prop="rd_num" label="Fail number" width="140"></el-table-column> -->
|
||||
<el-table-column label="" width="200" align="center">
|
||||
<el-table-column label="" width="120" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="success" plain icon="el-icon-tickets" @click="openDetail(scope.row)"
|
||||
>Detail</el-button
|
||||
>
|
||||
<el-button size="mini" type="primary" plain icon="el-icon-check" @click="openSelect(scope.row)">
|
||||
Select</el-button
|
||||
>
|
||||
<div style="display: flex; align-items: center; flex-wrap: wrap; flex-direction: column">
|
||||
<el-button
|
||||
style="margin-bottom: 10px"
|
||||
size="mini"
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-check"
|
||||
@click="openSelect(scope.row)"
|
||||
>Select</el-button
|
||||
>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -120,7 +150,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="isSelectAI">
|
||||
<commonAI @openSelect="openSelect" @openDetail="openDetail" @loading="(status)=>loading=status"></commonAI>
|
||||
<commonAI @openSelect="openSelect" @openDetail="openDetail" @loading="(status) => (loading = status)"></commonAI>
|
||||
</div>
|
||||
</div>
|
||||
<el-dialog
|
||||
@@ -145,8 +175,11 @@
|
||||
<el-form-item label="Affiliation :">
|
||||
<span>{{ mesOpen.company }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="Major :">
|
||||
<span>{{ mesOpen.major_title }}</span>
|
||||
<el-form-item label="Research areas :">
|
||||
<p v-for="(v, i) in majorData" >
|
||||
<span style="font-weight: bold">{{ i + 1 }}.</span>
|
||||
{{ v.major_title.replace('Medicine >', '').trim() }}
|
||||
</p>
|
||||
</el-form-item>
|
||||
<el-form-item label="Field :">
|
||||
<span>{{ mesOpen.field }}</span>
|
||||
@@ -164,9 +197,11 @@
|
||||
|
||||
<script>
|
||||
import commonAI from './articleReviewerAIAdd.vue';
|
||||
import commonMajorTableList from '../page/components/major/tableList.vue';
|
||||
export default {
|
||||
components: {
|
||||
commonAI
|
||||
commonAI,
|
||||
commonMajorTableList
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -208,6 +243,16 @@ export default {
|
||||
},
|
||||
computed: {},
|
||||
methods: {
|
||||
goBack() {
|
||||
this.$router.push({
|
||||
path: 'articleReviewer',
|
||||
query: {
|
||||
id: this.$route.query.id
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
},
|
||||
fieldChange(e) {
|
||||
this.messform.major_id = this.selectFileds[this.selectFileds.length - 1];
|
||||
},
|
||||
@@ -246,11 +291,35 @@ export default {
|
||||
// console.log(this.messform)
|
||||
this.getDate();
|
||||
},
|
||||
|
||||
async fetchMajorData(userId) {
|
||||
// if (!this.majorData[userId]) {
|
||||
// 判断是否已经加载过该用户的数据
|
||||
this.majorData = await this.getMajorData(userId);
|
||||
console.log('this.majorData at line 279:', this.majorData)
|
||||
this.$forceUpdate();
|
||||
// }
|
||||
},
|
||||
// 修改标记
|
||||
async getMajorData(userId) {
|
||||
try {
|
||||
const res = await this.$api.post('api/Reviewer/getUserField', { user_id: userId });
|
||||
this.loading = false; // 开始加载数据
|
||||
if (res.status === 1) {
|
||||
return res.data; // 返回数据
|
||||
} else {
|
||||
return []; // 如果没有数据,返回空数组
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error fetching data:', error);
|
||||
return []; // 如果发生错误,返回空数组
|
||||
}
|
||||
},
|
||||
// 审稿人详情
|
||||
openDetail(row) {
|
||||
this.mesOpen={}
|
||||
this.mesOpen = {};
|
||||
this.mesOpenVisble = true;
|
||||
this.majorData=[]
|
||||
|
||||
this.$api
|
||||
.post('api/Article/getReviewerdetail', {
|
||||
uid: row.user_id
|
||||
@@ -260,7 +329,7 @@ export default {
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
});this.fetchMajorData(row.user_id);
|
||||
},
|
||||
// 保存添加操作
|
||||
openSelect(row) {
|
||||
@@ -381,4 +450,8 @@ export default {
|
||||
margin: 0 5px 0 0;
|
||||
font-size: 13px;
|
||||
}
|
||||
::v-deep .el-page-header__left, ::v-deep .el-page-header__content{
|
||||
font-size:14px !important ;
|
||||
color:#606266 !important ;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,27 +1,55 @@
|
||||
<template>
|
||||
<div class="block commonMajor" style="width: 100%;overflow: hidden;">
|
||||
<el-button type="primary" plain size="mini" @click="handleAdd" style="float:right;margin-bottom: 20px;"><i class="el-icon-plus" ></i>Add Field </el-button>
|
||||
<div
|
||||
v-for="(field, index) in fields"
|
||||
:key="index"
|
||||
class="cascader-container"
|
||||
style="margin-bottom: 10px; display: flex; align-items: center; justify-content: space-between"
|
||||
>
|
||||
<span style="margin-right: 10px; font-size: 12px; color: #006699; font-weight: bold">Field {{ Number(index+1) }} :</span>
|
||||
<div class="block commonMajor" style="width: 100%; overflow: hidden">
|
||||
|
||||
<div v-if="!disabled">
|
||||
<el-button type="primary" plain size="mini" @click="handleAdd" style="float: right; margin-bottom: 20px"
|
||||
><i class="el-icon-plus"></i>Add Field
|
||||
</el-button>
|
||||
<div
|
||||
v-for="(field, index) in fields"
|
||||
:key="index"
|
||||
class="cascader-container"
|
||||
style="margin-bottom: 10px; display: flex; align-items: center; justify-content: space-between"
|
||||
>
|
||||
<span style="margin-right: 10px; font-size: 12px; color: #006699; font-weight: bold">Field {{ Number(index + 1) }} :</span>
|
||||
|
||||
<el-cascader
|
||||
:ref="`cascader${index}`"
|
||||
@change="handleChange(index)"
|
||||
v-model="field.selectedValue"
|
||||
:placeholder="'Please select Field '"
|
||||
:options="options"
|
||||
:props="getProps()"
|
||||
style="width: calc(100% - 120px)"
|
||||
></el-cascader>
|
||||
|
||||
<!-- Delete button -->
|
||||
<el-button size="mini" type="danger" style="margin-left: 10px" @click="handleDelete(index)"
|
||||
><i class="el-icon-delete"></i
|
||||
></el-button>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
|
||||
<div
|
||||
v-for="(field, index) in fields"
|
||||
:key="index"
|
||||
class="cascader-container"
|
||||
style="display: flex; align-items: center; justify-content: space-between"
|
||||
>
|
||||
<span style="margin-right: 10px; font-size: 12px; color: #006699; font-weight: bold">Field {{ Number(index + 1) }} :</span>
|
||||
|
||||
|
||||
|
||||
<div style="width: calc(100% - 60px)">
|
||||
{{field.str.replace('Medicine >', '').trim() }}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<el-cascader
|
||||
:ref="`cascader${index}`"
|
||||
@change="handleChange(index)"
|
||||
v-model="field.selectedValue"
|
||||
:placeholder="'Please select Field '"
|
||||
:options="options"
|
||||
:props="getProps()"
|
||||
style="width: calc(100% - 120px)"
|
||||
></el-cascader>
|
||||
|
||||
<!-- Delete button -->
|
||||
<el-button v-if="!disabled" size="mini" type="danger" style="margin-left: 10px;" @click="handleDelete(index)"><i class="el-icon-delete"></i></el-button>
|
||||
</div>
|
||||
<!-- <el-dialog title="Add Field " :visible.sync="coreVisible1" width="780px" :close-on-click-modal="false">
|
||||
<el-form :model="coreForm1" :rules="rules1" ref="core_Form1" label-width="140px" >
|
||||
<el-form-item prop="major">
|
||||
@@ -45,7 +73,7 @@
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
props: {
|
||||
userId: {
|
||||
type: String,
|
||||
default: ''
|
||||
@@ -57,21 +85,19 @@ export default {
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
list: {
|
||||
handler(e) {
|
||||
|
||||
this.fields=this.list.length>0?[...this.list]:[{}]
|
||||
this.fields = this.list.length > 0 ? [...this.list] : [{}];
|
||||
},
|
||||
immediate: true
|
||||
},
|
||||
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
rules1:{},
|
||||
rules1: {},
|
||||
coreVisible1: false,
|
||||
coreForm1: {
|
||||
majorList: []
|
||||
@@ -90,18 +116,18 @@ export default {
|
||||
|
||||
this.$nextTick(() => {
|
||||
this.$refs[`cascader${i}`][0].dropDownVisible = false;
|
||||
this.coreForm1.majorList = this.fields[i].selectedValue;
|
||||
|
||||
this.$emit('load',this.fields)
|
||||
this.coreForm1.majorList = this.fields[i].selectedValue;
|
||||
|
||||
this.$emit('load', this.fields);
|
||||
|
||||
this.$forceUpdate();
|
||||
});
|
||||
},
|
||||
onSubmit_core1(coreForm) {
|
||||
console.log('coreForm at line 1963:', coreForm);
|
||||
if(!this.fields[0].selectedValue||this.fields[0].selectedValue.length == 0){
|
||||
if (!this.fields[0].selectedValue || this.fields[0].selectedValue.length == 0) {
|
||||
this.$message.error('Please select Field !');
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
this.$refs.core_Form1.validate((valid) => {
|
||||
if (valid) {
|
||||
@@ -116,7 +142,7 @@ this.coreForm1.majorList = this.fields[i].selectedValue;
|
||||
this.$message.success('Personal information modified successfully!');
|
||||
this.coreVisible1 = false;
|
||||
// this.tipVisible = false;
|
||||
this.$emit('load')
|
||||
this.$emit('load');
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
@@ -133,9 +159,9 @@ this.coreForm1.majorList = this.fields[i].selectedValue;
|
||||
// 动态添加一个新的 Cascader
|
||||
handleAdd() {
|
||||
this.$nextTick(() => {
|
||||
// this.fields=[]
|
||||
this.fields.push({ selectedValue: [] }); // 添加一个新的字段
|
||||
this.$emit('load',this.fields)
|
||||
// this.fields=[]
|
||||
this.fields.push({ selectedValue: [] }); // 添加一个新的字段
|
||||
this.$emit('load', this.fields);
|
||||
// this.coreVisible1 = true;
|
||||
});
|
||||
},
|
||||
@@ -143,7 +169,7 @@ this.coreForm1.majorList = this.fields[i].selectedValue;
|
||||
// 删除指定的 Cascader
|
||||
handleDelete(index) {
|
||||
this.fields.splice(index, 1); // 删除指定索引的字段
|
||||
this.$emit('load',this.fields)
|
||||
this.$emit('load', this.fields);
|
||||
},
|
||||
|
||||
// 获取 Cascader 配置
|
||||
|
||||
151
src/components/page/components/major/tableList.vue
Normal file
151
src/components/page/components/major/tableList.vue
Normal file
@@ -0,0 +1,151 @@
|
||||
<template>
|
||||
<div>
|
||||
<div
|
||||
@click="BoxMajor()"
|
||||
v-if="user_id"
|
||||
style="display: flex; align-items: center; justify-content: space-between"
|
||||
:style="{ cursor: disabled ? '' : 'pointer' }"
|
||||
>
|
||||
<!-- 使用 user_id 来获取用户的 majorData -->
|
||||
<div>
|
||||
<div v-if="!loading" class="majorDataBox">
|
||||
<p v-for="(v, i) in majorData" style="border-top: 1px solid #b3d8ff">
|
||||
<span style="font-weight: bold">{{ i + 1 }}.</span>
|
||||
{{ v.major_title.replace('Medicine >', '').trim().split('>').pop().trim() }}
|
||||
</p>
|
||||
</div>
|
||||
<div v-else>
|
||||
<span>Loading...</span>
|
||||
<!-- 如果数据还在加载,显示 "Loading..." -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<b style="margin-left: 10px; color: #006699" class="el-icon-edit" v-if="!disabled"></b>
|
||||
</div>
|
||||
|
||||
<el-dialog :title="disabled?'Research areas':'Edit Research areas'" :visible.sync="majorBox" width="800px">
|
||||
<el-form ref="remark" :model="majorMes" label-width="120px">
|
||||
<el-form-item label="Reviewer :">
|
||||
<p style="line-height: 20px; margin-top: 6px">
|
||||
<span style="color: #333; font-weight: bold">{{ majorMes.realname }}</span>
|
||||
( {{ majorMes.email }} )
|
||||
</p>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="Email :">
|
||||
<p style="line-height: 20px; margin-top: 6px">{{ majorMes.email }}</p>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="Research areas :">
|
||||
|
||||
<common-major-list :disabled="disabled" :list="majorValueList" @load="(e) => (this.majorValueList = e)"></common-major-list>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="majorBox = false">Cancel</el-button>
|
||||
<el-button type="primary" @click="saveMajor" v-if="!disabled">Save</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 评级弹出框 -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
components: {},
|
||||
props: ['user_id', 'baseInfo', 'disabled'],
|
||||
data() {
|
||||
return {
|
||||
majorValueList: [],
|
||||
majorData: [],
|
||||
majorMes: {},
|
||||
majorBox: false,
|
||||
loading: false
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.loading = true; // 开始加载数据
|
||||
// this.initMajor()
|
||||
},
|
||||
mounted() {
|
||||
this.fetchMajorData(this.user_id); // 加载第一个用户的数据
|
||||
},
|
||||
methods: {
|
||||
BoxMajor() {
|
||||
this.majorBox = true;
|
||||
this.majorMes.realname = this.baseInfo.realname;
|
||||
this.majorMes.user_id = this.baseInfo.user_id;
|
||||
this.majorMes.email = this.baseInfo.email;
|
||||
if (this.disabled) {
|
||||
this.majorValueList = [...this.majorData].map((item)=>{return {...item,str:item.major_title}});
|
||||
console.log('this.majorValueList at line 79:', this.majorValueList)
|
||||
} else {
|
||||
this.majorValueList = [...this.majorData].map((item) => ({
|
||||
selectedValue: Array.isArray(item.shu)
|
||||
? item.shu
|
||||
: typeof item.shu === 'string'
|
||||
? item.shu.split(',').map(Number)
|
||||
: [item.shu]
|
||||
}));
|
||||
}
|
||||
|
||||
},
|
||||
async fetchMajorData(userId) {
|
||||
// if (!this.majorData[userId]) {
|
||||
// 判断是否已经加载过该用户的数据
|
||||
this.majorData = await this.getMajorData(userId);
|
||||
this.$forceUpdate();
|
||||
// }
|
||||
},
|
||||
// 修改标记
|
||||
async getMajorData(userId) {
|
||||
try {
|
||||
const res = await this.$api.post('api/Reviewer/getUserField', { user_id: userId });
|
||||
this.loading = false; // 开始加载数据
|
||||
if (res.status === 1) {
|
||||
return res.data; // 返回数据
|
||||
} else {
|
||||
return []; // 如果没有数据,返回空数组
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error fetching data:', error);
|
||||
return []; // 如果发生错误,返回空数组
|
||||
}
|
||||
},
|
||||
saveMajor() {
|
||||
this.$api
|
||||
.post('api/Reviewer/updateUserField', {
|
||||
user_id: this.majorMes.user_id,
|
||||
user_field: this.majorValueList.map((item) => item.selectedValue[item.selectedValue.length - 1]).toString(',')
|
||||
})
|
||||
.then((res) => {
|
||||
if (res.status == 1) {
|
||||
this.$message.success('Success');
|
||||
this.majorBox = false;
|
||||
this.fetchMajorData(this.majorMes.user_id);
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.deteleBtn {
|
||||
color: #ce1111;
|
||||
margin-left: 18px;
|
||||
}
|
||||
|
||||
.deteleBtn i {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.deteleBtn:hover {
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
}
|
||||
.majorDataBox p:nth-child(1) {
|
||||
border-top: none !important;
|
||||
}
|
||||
</style>
|
||||
116
src/components/page/components/reviewArticle/index.vue
Normal file
116
src/components/page/components/reviewArticle/index.vue
Normal file
@@ -0,0 +1,116 @@
|
||||
<template>
|
||||
<div>
|
||||
<!-- <oldForm></oldForm> -->
|
||||
<newForm></newForm>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import oldForm from './old.vue';
|
||||
import newForm from './new.vue';
|
||||
export default {
|
||||
components: {
|
||||
oldForm,
|
||||
newForm,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
articleId: null,
|
||||
txt_mess: {},
|
||||
questionform: {
|
||||
rev_qu_id: '',
|
||||
art_rev_id: this.$route.query.Art_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: '',
|
||||
is_anonymous: ''
|
||||
},
|
||||
btn_submit: 0,
|
||||
journal_id: null,
|
||||
rules: {
|
||||
qu6: [{ required: true, message: 'please select', trigger: 'blur' }],
|
||||
rated: [{ required: true, message: 'please select', trigger: 'blur' }],
|
||||
comment: [{ required: true, message: 'please input content', trigger: 'blur' }],
|
||||
recommend: [{ required: true, message: 'please select', trigger: 'blur' }]
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getData();
|
||||
},
|
||||
methods: {
|
||||
getData() {
|
||||
// Fetch article data
|
||||
this.$api
|
||||
.post('api/Reviewer/getartrevdate', {
|
||||
revid: this.Art_id,
|
||||
human: 'reviewer'
|
||||
})
|
||||
.then((res) => {
|
||||
this.txt_mess = res;
|
||||
this.journal_id = res.journal_id;
|
||||
});
|
||||
},
|
||||
questionSubmit() {
|
||||
if (this.questionform.is_anonymous === '') {
|
||||
this.$message.error('Please choose disclose your name or remain anonymous.');
|
||||
return false;
|
||||
}
|
||||
|
||||
this.loading = true;
|
||||
this.$refs.question.validate((valid) => {
|
||||
if (valid) {
|
||||
this.$api.post('api/Reviewer/questionSubmit', this.questionform).then((res) => {
|
||||
this.loading = false;
|
||||
if (res.code === 0) {
|
||||
this.$message.success('Success!!');
|
||||
this.$router.push('/per_text_success');
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.loading = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.jouLink {
|
||||
color: #006699;
|
||||
font-weight: bold;
|
||||
}
|
||||
::v-deep .el-collapse {
|
||||
border-top: 0;
|
||||
border-bottom: 0;
|
||||
}
|
||||
</style>
|
||||
455
src/components/page/components/reviewArticle/new copy.vue
Normal file
455
src/components/page/components/reviewArticle/new copy.vue
Normal file
@@ -0,0 +1,455 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-form :model="questionform" :rules="rules" ref="question" label-width="300px" label-position="top">
|
||||
<!-- 评估部分 -->
|
||||
<el-divider content-position="center">REFEREE'S ASSESSMENT</el-divider>
|
||||
|
||||
<!-- 1. Originality of the topic -->
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="1. Originality of the topic" prop="qu1">
|
||||
<el-radio-group v-model="questionform.qu1">
|
||||
<el-radio :label="1">Excellent</el-radio>
|
||||
<el-radio :label="0.5">Good</el-radio>
|
||||
<el-radio :label="0">Fair</el-radio>
|
||||
<el-radio :label="-0.5">Poor</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<!-- 2. Importance in its Field -->
|
||||
<el-col :span="24">
|
||||
<el-form-item label="2. Importance in its Field" prop="qu2">
|
||||
<el-radio-group v-model="questionform.qu2">
|
||||
<el-radio :label="1">Excellent</el-radio>
|
||||
<el-radio :label="0.5">Good</el-radio>
|
||||
<el-radio :label="0">Fair</el-radio>
|
||||
<el-radio :label="-0.5">Poor</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<!-- 3. Does the manuscript fall within the aim and scope of the journal? -->
|
||||
<el-col :span="24">
|
||||
<el-form-item label="3. Does the manuscript fall within the aim and scope of the journal?" prop="qu3">
|
||||
<el-radio-group v-model="questionform.qu3">
|
||||
<el-radio :label="0.5">Yes</el-radio>
|
||||
<el-radio :label="-10">No</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<!-- 4. English language -->
|
||||
<el-col :span="24">
|
||||
<el-form-item label="4. English language" prop="qu4">
|
||||
<el-radio-group v-model="questionform.qu4">
|
||||
<el-radio :label="1">Excellent</el-radio>
|
||||
<el-radio :label="0.5">Good</el-radio>
|
||||
<el-radio :label="0">Fair</el-radio>
|
||||
<el-radio :label="-0.5">Poor</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<!-- Collapse sections for comments -->
|
||||
<el-collapse>
|
||||
<!-- 5. Does the title represent manuscript's contents? -->
|
||||
<el-form-item label="5. Does the title represent manuscript's contents?" prop="qu5">
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.qu5">
|
||||
<el-radio :label="0.5">Yes</el-radio>
|
||||
<el-radio :label="0">No</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="20">
|
||||
<el-collapse-item name="1">
|
||||
<template slot="title"><i class="el-icon-edit"></i> Comments/ Suggestions</template>
|
||||
<el-input
|
||||
type="textarea"
|
||||
v-model="questionform.qu5contents"
|
||||
:rows="4"
|
||||
placeholder="please input content"
|
||||
></el-input>
|
||||
</el-collapse-item>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
|
||||
<!-- 6. Is the Abstract accurate and concise? -->
|
||||
<el-form-item label="6. Is the Abstract accurate and concise?" prop="qu6">
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.qu6">
|
||||
<el-radio :label="0.5">Yes</el-radio>
|
||||
<el-radio :label="0">No</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="20">
|
||||
<el-collapse-item name="2">
|
||||
<template slot="title"><i class="el-icon-edit"></i> Comments/ Suggestions</template>
|
||||
<el-input
|
||||
type="textarea"
|
||||
v-model="questionform.qu6contents"
|
||||
:rows="4"
|
||||
placeholder="please input content"
|
||||
></el-input>
|
||||
</el-collapse-item>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
|
||||
<!-- 7. Does the Introduction highlight the latest advancements and address existing challenges in the current research? -->
|
||||
<el-form-item
|
||||
label="7. Does the Introduction highlight the latest advancements and address existing challenges in the current research?"
|
||||
prop="qu7"
|
||||
>
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.qu7">
|
||||
<el-radio :label="0.5">Yes</el-radio>
|
||||
<el-radio :label="0">No</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="20">
|
||||
<el-collapse-item name="3">
|
||||
<template slot="title"><i class="el-icon-edit"></i> Comments/ Suggestions</template>
|
||||
<el-input
|
||||
type="textarea"
|
||||
v-model="questionform.qu7contents"
|
||||
:rows="4"
|
||||
placeholder="please input content"
|
||||
></el-input>
|
||||
</el-collapse-item>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
|
||||
<!-- 8. Does the Introduction cite the most recent and pertinent reference directly related to the research? -->
|
||||
<el-form-item label="8. Does it cite the most recent and pertinent reference directly related to the research?" prop="qu8">
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.qu8">
|
||||
<el-radio :label="0.5">Yes</el-radio>
|
||||
<el-radio :label="0">No</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="20">
|
||||
<el-collapse-item name="4">
|
||||
<template slot="title"><i class="el-icon-edit"></i> Comments/ Suggestions</template>
|
||||
<el-input
|
||||
type="textarea"
|
||||
v-model="questionform.qu8contents"
|
||||
:rows="4"
|
||||
placeholder="please input content"
|
||||
></el-input>
|
||||
</el-collapse-item>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
|
||||
<!-- 9. Does the experimental design provide sufficient scientific support for the article? -->
|
||||
<el-form-item
|
||||
label="9. Materials and Methods: Does the experimental design provide sufficient scientific support for the article (e.g., by using diverse cell lines with clear origins, ensuring natural drugs are authenticated, integrating in vitro and in vivo studies, and examining the issue at multiple levels including proteins and nucleic acids)?"
|
||||
prop="qu9"
|
||||
>
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.qu9">
|
||||
<el-radio :label="0.5">Yes</el-radio>
|
||||
<el-radio :label="0">No</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="20">
|
||||
<el-collapse-item name="5">
|
||||
<template slot="title"><i class="el-icon-edit"></i> Comments/ Suggestions</template>
|
||||
<el-input
|
||||
type="textarea"
|
||||
v-model="questionform.qu9contents"
|
||||
:rows="4"
|
||||
placeholder="please input content"
|
||||
></el-input>
|
||||
</el-collapse-item>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
|
||||
<!-- 10. Does the experimental design adopt the latest cutting-edge research methods and technologies? -->
|
||||
<el-form-item
|
||||
label="10. Does the experimental design adopt the latest cutting-edge research methods and technologies?"
|
||||
prop="qu10"
|
||||
>
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.qu10">
|
||||
<el-radio :label="0.5">Yes</el-radio>
|
||||
<el-radio :label="0">No</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="20">
|
||||
<el-collapse-item name="6">
|
||||
<template slot="title"><i class="el-icon-edit"></i> Comments/ Suggestions</template>
|
||||
<el-input
|
||||
type="textarea"
|
||||
v-model="questionform.qu10contents"
|
||||
:rows="4"
|
||||
placeholder="please input content"
|
||||
></el-input>
|
||||
</el-collapse-item>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
|
||||
<!-- 11. Is the appropriate statistical analysis used? -->
|
||||
<el-form-item label="11. Is the appropriate statistical analysis used?" prop="qu11">
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.qu11">
|
||||
<el-radio :label="1">Yes</el-radio>
|
||||
<el-radio :label="0">No</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="20">
|
||||
<el-collapse-item name="7">
|
||||
<template slot="title"><i class="el-icon-edit"></i> Comments/ Suggestions</template>
|
||||
<el-input
|
||||
type="textarea"
|
||||
v-model="questionform.qu11contents"
|
||||
:rows="4"
|
||||
placeholder="please input content"
|
||||
></el-input>
|
||||
</el-collapse-item>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
|
||||
<!-- 12. Are the Figures or Tables clear, visually appealing, and easy to understand? -->
|
||||
<el-form-item label="12. Are the Figures or Tables clear, visually appealing, and easy to understand?" prop="qu12">
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.qu12">
|
||||
<el-radio :label="1">Yes</el-radio>
|
||||
<el-radio :label="0">No</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="20">
|
||||
<el-collapse-item name="8">
|
||||
<template slot="title"><i class="el-icon-edit"></i> Comments/ Suggestions</template>
|
||||
<el-input
|
||||
type="textarea"
|
||||
v-model="questionform.qu12contents"
|
||||
:rows="4"
|
||||
placeholder="please input content"
|
||||
></el-input>
|
||||
</el-collapse-item>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="13. Is the interpretation reliable (can the results adequately support the conclusions, are the conclusions overstated, and is there any selective reporting of results that could mislead readers)?"
|
||||
prop="qu13"
|
||||
>
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.qu13">
|
||||
<el-radio :label="1">Yes</el-radio>
|
||||
<el-radio :label="0">No</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="20">
|
||||
<el-collapse-item name="9">
|
||||
<template slot="title"><i class="el-icon-edit"></i> Comments/ Suggestions</template>
|
||||
<el-input
|
||||
type="textarea"
|
||||
v-model="questionform.qu13contents"
|
||||
:rows="4"
|
||||
placeholder="please input content"
|
||||
></el-input>
|
||||
</el-collapse-item>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="14. If there are notable limitations or imperfections in the research, does the author explicitly acknowledge these shortcomings?"
|
||||
prop="qu14"
|
||||
>
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.qu14">
|
||||
<el-radio :label="0.5">Yes</el-radio>
|
||||
<el-radio :label="0">No</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="20">
|
||||
<el-collapse-item name="10">
|
||||
<template slot="title"><i class="el-icon-edit"></i> Comments/ Suggestions</template>
|
||||
<el-input
|
||||
type="textarea"
|
||||
v-model="questionform.qu14contents"
|
||||
:rows="4"
|
||||
placeholder="please input content"
|
||||
></el-input>
|
||||
</el-collapse-item>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
</el-collapse>
|
||||
|
||||
<!-- 推荐部分 -->
|
||||
<el-divider content-position="center">REFEREE'S RECOMMENDATIONS</el-divider>
|
||||
<el-form-item label="Overall the Paper is Rated">
|
||||
( <span style="color: #e41411">←←←←← Bad ←←← Poor</span>
|
||||
<span style="width: 10px; display: inline-block"></span>
|
||||
<span style="color: #369916">Accept → Superior → Excellent</span> )<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">
|
||||
<el-radio-group v-model="questionform.recommend">
|
||||
<el-radio :label="1">Minor revision</el-radio>
|
||||
<el-radio :label="2">Major revision</el-radio>
|
||||
<el-radio v-if="journal_id == 1 || journal_id == 23 || journal_id == 10" :label="3">
|
||||
Reject in current form, but may be resubmitted
|
||||
</el-radio>
|
||||
<el-radio v-if="journal_id != 1 && journal_id != 23 && journal_id != 10" :label="4">Reject</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="OTHER SPECIFIC CRITICISMS">
|
||||
<el-radio-group v-model="questionform.recommend">
|
||||
<el-radio :label="1">Imperfect style</el-radio>
|
||||
<el-radio :label="2">Too long</el-radio>
|
||||
<el-radio :label="3"> References incorrectly presented </el-radio>
|
||||
<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, {{ txt_mess.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-form-item v-if="this.btn_submit == 0">
|
||||
<el-button type="primary" @click="questionSubmit">submit</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
articleId: null,
|
||||
txt_mess: {},
|
||||
questionform: {
|
||||
rev_qu_id: '',
|
||||
art_rev_id: this.$route.query.Art_id,
|
||||
qu1: '', // Originality of the topic
|
||||
qu2: '', // Importance in its Field
|
||||
qu3: '', // Does the manuscript fall within the aim and scope of the journal?
|
||||
qu4: '', // English language
|
||||
qu5: '', // Readily Understandable
|
||||
qu6: '', // Does the title represent manuscript's contents?
|
||||
qu6contents: '', // Title Comments
|
||||
qu7: '', // Abstract
|
||||
qu7contents: '', // Abstract Comments
|
||||
qu8: '', // Introduction
|
||||
qu8contents: '', // Introduction Comments
|
||||
qu9: '', // Materials and Methods
|
||||
qu9contents: '', // Methods Comments
|
||||
qu10: '', // Results
|
||||
qu10contents: '', // Results Comments
|
||||
qu11: '', // Discussion
|
||||
qu11contents: '', // Discussion Comments
|
||||
qu12: '', // Discussion
|
||||
qu12contents: '', // Discussion Comments
|
||||
qu13: '', // Discussion
|
||||
qu13contents: '', // Discussion Comments
|
||||
qu14: '', // Discussion
|
||||
qu14contents: '', // Discussion Comments
|
||||
|
||||
rated: '', // Overall Rating
|
||||
recommend: '', // Recommendations
|
||||
other: '', // Specific Criticisms
|
||||
confident: '', // Confidential Comments to the Editor
|
||||
comment: '', // Comments for the Authors
|
||||
is_anonymous: '' // Anonymous or Not
|
||||
},
|
||||
btn_submit: 0,
|
||||
journal_id: null,
|
||||
rules: {
|
||||
qu1: [{ required: true, message: 'please select', trigger: 'blur' }],
|
||||
qu2: [{ required: true, message: 'please select', trigger: 'blur' }],
|
||||
qu3: [{ required: true, message: 'please select', trigger: 'blur' }],
|
||||
qu4: [{ required: true, message: 'please select', trigger: 'blur' }],
|
||||
qu5: [{ required: true, message: 'please select', trigger: 'blur' }],
|
||||
rated: [{ required: true, message: 'please select', trigger: 'blur' }],
|
||||
recommend: [{ required: true, message: 'please select', trigger: 'blur' }],
|
||||
comment: [{ required: true, message: 'please input content', trigger: 'blur' }]
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getData();
|
||||
},
|
||||
methods: {
|
||||
getData() {
|
||||
// 获取文章数据
|
||||
this.$api
|
||||
.post('api/Reviewer/getartrevdate', {
|
||||
revid: this.Art_id,
|
||||
human: 'reviewer'
|
||||
})
|
||||
.then((res) => {
|
||||
this.txt_mess = res;
|
||||
this.journal_id = res.journal_id;
|
||||
});
|
||||
},
|
||||
questionSubmit() {
|
||||
if (this.questionform.is_anonymous === '') {
|
||||
this.$message.error('Please choose disclose your name or remain anonymous.');
|
||||
return false;
|
||||
}
|
||||
|
||||
this.loading = true;
|
||||
this.$refs.question.validate((valid) => {
|
||||
if (valid) {
|
||||
this.$api.post('api/Reviewer/questionSubmit', this.questionform).then((res) => {
|
||||
this.loading = false;
|
||||
if (res.code === 0) {
|
||||
this.$message.success('Success!!');
|
||||
this.$router.push('/per_text_success');
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.loading = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.jouLink {
|
||||
color: #006699;
|
||||
font-weight: bold;
|
||||
}
|
||||
</style>
|
||||
451
src/components/page/components/reviewArticle/new.vue
Normal file
451
src/components/page/components/reviewArticle/new.vue
Normal file
@@ -0,0 +1,451 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-form :model="questionform" :rules="rules" 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="24">
|
||||
<el-form-item label="1.Originality of the topic" prop="xx">
|
||||
<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="24">
|
||||
<el-form-item label="2.Importance in its Field" prop="xx">
|
||||
<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-collapse>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="3.Does the manuscript fall within the aim and scope of the journal?" prop="xx">
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.xx">
|
||||
<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-col>
|
||||
</el-collapse>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="4.English language" prop="xx">
|
||||
<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-row>
|
||||
|
||||
<el-collapse>
|
||||
<el-form-item label="5.Does the title represent manuscript's contents?" prop="xx">
|
||||
<el-col :span="4">
|
||||
<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="20">
|
||||
<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-collapse>
|
||||
<el-form-item label="6.Is the Abstract accurate and concise?" prop="xx">
|
||||
<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="7.Does it highlight the latest advancements and address existing challenges in the current research?" prop="xx">
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.xx">
|
||||
<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="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-form-item label="8.Does it cite the most recent and pertinent reference directly related to the research?" prop="xx">
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.xx">
|
||||
<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="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-form-item label="9.Materials and Methods: Does the experimental design provide sufficient scientific support for the article?" prop="xx">
|
||||
<p style="width: 100%;" class="titleInfo">e.g., by using diverse cell lines with clear origins, ensuring natural drugs are authenticated, integrating in vitro and in vivo studies, and examining the issue at multiple levels including proteins and nucleic acids</p>
|
||||
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.xx">
|
||||
<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="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-form-item label="10.Does the experimental design adopt the latest cutting-edge research methods and technologies?" prop="xx">
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.xx">
|
||||
<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="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-form-item label="11.Is the appropriate statistical analysis used?" prop="xx">
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.xx">
|
||||
<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="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-form-item label="12.Are the Figures or Tables clear, visually appealing, and easy to understand?" prop="xx">
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.xx">
|
||||
<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="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-form-item label="13.Is the interpretation reliable (can the results adequately support the conclusions, are the conclusions overstated, and is there any selective reporting of results that could mislead readers)?" prop="xx">
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.xx">
|
||||
<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="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-form-item label="14.If there are notable limitations or imperfections in the research, does the author explicitly acknowledge these shortcomings?" prop="xx">
|
||||
<el-col :span="4">
|
||||
<el-radio-group v-model="questionform.xx">
|
||||
<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="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-divider content-position="center">REFEREE'S RECOMMENDATIONS</el-divider>
|
||||
<el-form-item label="Overall the Paper is Rated" prop="rated">
|
||||
( <span style="color: #e41411">←←←←← Bad ←←← Poor</span>
|
||||
<span style="width: 10px; display: inline-block"></span>
|
||||
<span style="color: #369916">Accept → Superior → Excellent</span>)
|
||||
<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">Minor revision</el-radio>
|
||||
<br />
|
||||
<el-radio :label="2">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</el-radio>
|
||||
|
||||
|
||||
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="OTHER SPECIFIC CRITICISMS" prop="xx">
|
||||
<el-radio-group v-model="questionform.xx" 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" v-if="this.txt_mess.atype == 'Comment' || this.txt_mess.atype == 'News'">
|
||||
<el-input type="textarea" placeholder="please input content" v-model="questionform.comment" :rows="8"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" v-if="articleId">
|
||||
<common-word-html :articleId="articleId" style="box-sizing: border-box"></common-word-html>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="Comments for the Authors"
|
||||
prop="comment"
|
||||
v-if="this.txt_mess.atype != 'Comment' && this.txt_mess.atype != 'News'"
|
||||
>
|
||||
<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, {{ txt_mess.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-form-item v-if="this.btn_submit == 0">
|
||||
<el-button type="primary" @click="questionSubmit">submit</el-button>
|
||||
</el-form-item>
|
||||
</el-collapse>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
articleId: null,
|
||||
txt_mess: {},
|
||||
questionform: {
|
||||
rev_qu_id: '',
|
||||
art_rev_id: this.$route.query.Art_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: '',
|
||||
is_anonymous: ''
|
||||
},
|
||||
btn_submit: 0,
|
||||
journal_id: null,
|
||||
rules: {
|
||||
qu6: [{ required: true, message: 'please select', trigger: 'blur' }],
|
||||
rated: [{ required: true, message: 'please select', trigger: 'blur' }],
|
||||
comment: [{ required: true, message: 'please input content', trigger: 'blur' }],
|
||||
recommend: [{ required: true, message: 'please select', trigger: 'blur' }],
|
||||
xx: [{ required: true, message: 'please select', trigger: 'blur' }]
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getData();
|
||||
},
|
||||
methods: {
|
||||
getData() {
|
||||
// Fetch article data
|
||||
this.$api
|
||||
.post('api/Reviewer/getartrevdate', {
|
||||
revid: this.Art_id,
|
||||
human: 'reviewer'
|
||||
})
|
||||
.then((res) => {
|
||||
this.txt_mess = res;
|
||||
this.journal_id = res.journal_id;
|
||||
});
|
||||
},
|
||||
questionSubmit() {
|
||||
if (this.questionform.is_anonymous === '') {
|
||||
this.$message.error('Please choose disclose your name or remain anonymous.');
|
||||
return false;
|
||||
}
|
||||
|
||||
this.loading = true;
|
||||
this.$refs.question.validate((valid) => {
|
||||
if (valid) {
|
||||
this.$api.post('api/Reviewer/questionSubmit', this.questionform).then((res) => {
|
||||
this.loading = false;
|
||||
if (res.code === 0) {
|
||||
this.$message.success('Success!!');
|
||||
this.$router.push('/per_text_success');
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.loading = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.jouLink {
|
||||
color: #006699;
|
||||
font-weight: bold;
|
||||
}
|
||||
.titleInfo{
|
||||
color: #AAA;
|
||||
line-height: 18px;
|
||||
margin-top: -16px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
</style>
|
||||
337
src/components/page/components/reviewArticle/old.vue
Normal file
337
src/components/page/components/reviewArticle/old.vue
Normal file
@@ -0,0 +1,337 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-form :model="questionform" :rules="rules" 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="24">
|
||||
<el-form-item prop="qu6">
|
||||
<span slot="label">
|
||||
1.Does the manuscript fall within the aim and scope of the journal?
|
||||
<a :href="txt_mess.aim_web" target="_blank" class="jouLink">( Aims & Scope ) </a>
|
||||
</span>
|
||||
<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="2.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="3.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="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-row>
|
||||
|
||||
<el-collapse>
|
||||
<el-form-item label="6.Does the title represent manuscript's contents?">
|
||||
<el-col :span="4">
|
||||
<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="20">
|
||||
<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-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" prop="rated">
|
||||
( <span style="color: #e41411">←←←←← Bad ←←← Poor</span>
|
||||
<span style="width: 10px; display: inline-block"></span>
|
||||
<span style="color: #369916">Accept → Superior → Excellent</span>)
|
||||
<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">Minor revision</el-radio>
|
||||
<br />
|
||||
<el-radio :label="2">Major revision</el-radio>
|
||||
<br />
|
||||
|
||||
<div v-if="journal_id == 1 || journal_id == 23 || journal_id == 10">
|
||||
<el-radio :label="3">Reject in current form, but may be resubmitted</el-radio>
|
||||
<br />
|
||||
<el-radio :label="4">Reject</el-radio>
|
||||
</div>
|
||||
|
||||
<div v-else>
|
||||
<el-radio :label="4">Reject</el-radio>
|
||||
</div>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="Comments for the Authors" v-if="this.txt_mess.atype == 'Comment' || this.txt_mess.atype == 'News'">
|
||||
<el-input type="textarea" placeholder="please input content" v-model="questionform.comment" :rows="8"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" v-if="articleId">
|
||||
<common-word-html :articleId="articleId" style="box-sizing: border-box"></common-word-html>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="Comments for the Authors"
|
||||
prop="comment"
|
||||
v-if="this.txt_mess.atype != 'Comment' && this.txt_mess.atype != 'News'"
|
||||
>
|
||||
<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, {{ txt_mess.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-form-item v-if="this.btn_submit == 0">
|
||||
<el-button type="primary" @click="questionSubmit">submit</el-button>
|
||||
</el-form-item>
|
||||
</el-collapse>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
articleId: null,
|
||||
txt_mess: {},
|
||||
questionform: {
|
||||
rev_qu_id: '',
|
||||
art_rev_id: this.$route.query.Art_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: '',
|
||||
is_anonymous: ''
|
||||
},
|
||||
btn_submit: 0,
|
||||
journal_id: null,
|
||||
rules: {
|
||||
qu6: [{ required: true, message: 'please select', trigger: 'blur' }],
|
||||
rated: [{ required: true, message: 'please select', trigger: 'blur' }],
|
||||
comment: [{ required: true, message: 'please input content', trigger: 'blur' }],
|
||||
recommend: [{ required: true, message: 'please select', trigger: 'blur' }]
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getData();
|
||||
},
|
||||
methods: {
|
||||
getData() {
|
||||
// Fetch article data
|
||||
this.$api
|
||||
.post('api/Reviewer/getartrevdate', {
|
||||
revid: this.Art_id,
|
||||
human: 'reviewer'
|
||||
})
|
||||
.then((res) => {
|
||||
this.txt_mess = res;
|
||||
this.journal_id = res.journal_id;
|
||||
});
|
||||
},
|
||||
questionSubmit() {
|
||||
if (this.questionform.is_anonymous === '') {
|
||||
this.$message.error('Please choose disclose your name or remain anonymous.');
|
||||
return false;
|
||||
}
|
||||
|
||||
this.loading = true;
|
||||
this.$refs.question.validate((valid) => {
|
||||
if (valid) {
|
||||
this.$api.post('api/Reviewer/questionSubmit', this.questionform).then((res) => {
|
||||
this.loading = false;
|
||||
if (res.code === 0) {
|
||||
this.$message.success('Success!!');
|
||||
this.$router.push('/per_text_success');
|
||||
} else {
|
||||
this.$message.error(res.msg);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.loading = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.jouLink {
|
||||
color: #006699;
|
||||
font-weight: bold;
|
||||
}
|
||||
</style>
|
||||
@@ -92,7 +92,8 @@
|
||||
</el-card>
|
||||
|
||||
<el-card class="box-card" v-if="this.add_apply == 0">
|
||||
<el-form :model="questionform" :rules="rules" ref="question" label-width="300px" label-position="top">
|
||||
<common-review-article></common-review-article>
|
||||
<!-- <el-form :model="questionform" :rules="rules" 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="24">
|
||||
@@ -277,29 +278,19 @@
|
||||
<br />
|
||||
<el-radio :label="2">Major revision</el-radio>
|
||||
<br />
|
||||
<!-- TMR BMEC MDM .-->
|
||||
|
||||
<div v-if="journal_id == 1 || journal_id == 23 || journal_id == 10">
|
||||
<el-radio :label="3">Reject in current form, but may be resubmitted</el-radio>
|
||||
<br />
|
||||
<el-radio :label="4">Reject</el-radio>
|
||||
</div>
|
||||
<!-- 其他期刊 -->
|
||||
|
||||
<div v-else>
|
||||
<el-radio :label="4">Reject</el-radio>
|
||||
</div>
|
||||
</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"
|
||||
v-if="this.txt_mess.atype == 'Comment' || this.txt_mess.atype == 'News'"
|
||||
@@ -354,7 +345,7 @@
|
||||
<el-button type="primary" @click="questionSubmit">submit</el-button>
|
||||
</el-form-item>
|
||||
</el-collapse>
|
||||
</el-form>
|
||||
</el-form> -->
|
||||
</el-card>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
@@ -206,29 +206,9 @@
|
||||
></b>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<el-table-column label="Research areas" width="300">
|
||||
<el-table-column label="Research areas" width="310">
|
||||
<template slot-scope="scope">
|
||||
<div
|
||||
@click="BoxMajor(scope.row, majorData[scope.row.user_id])"
|
||||
v-if="scope.row.user_id"
|
||||
style="display: flex; align-items: center; justify-content: space-between; cursor: pointer"
|
||||
>
|
||||
<!-- 使用 user_id 来获取用户的 majorData -->
|
||||
<div>
|
||||
<div v-if="majorData[scope.row.user_id]" class="majorDataBox">
|
||||
<p v-for="(v, i) in majorData[scope.row.user_id]" style="border-top: 1px solid #b3d8ff">
|
||||
<span style="font-weight: bold">{{ i + 1 }}.</span>
|
||||
{{ v.major_title.replace('Medicine >', '').trim() }}
|
||||
</p>
|
||||
</div>
|
||||
<div v-else>
|
||||
<span>Loading...</span>
|
||||
<!-- 如果数据还在加载,显示 "Loading..." -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<b style="margin-left: 10px; color: #006699" class="el-icon-edit"></b>
|
||||
</div>
|
||||
<commonMajorTableList :user_id="scope.row.user_id" :baseInfo="scope.row" :key="scope.row.user_id"></commonMajorTableList>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
@@ -496,9 +476,11 @@
|
||||
const currentYear = new Date().getFullYear();
|
||||
var ReviewTime = `(${currentYear - 2}–${currentYear})`;
|
||||
import commonReviewer from '../page/components/reviewerList/add.vue';
|
||||
import commonMajorTableList from '../page/components/major/tableList.vue';
|
||||
export default {
|
||||
components: {
|
||||
commonReviewer
|
||||
commonReviewer,
|
||||
commonMajorTableList,
|
||||
},
|
||||
|
||||
data() {
|
||||
@@ -778,7 +760,7 @@ export default {
|
||||
if (res.code == 0) {
|
||||
this.tableData = res.data;
|
||||
for (var i = 0; i < this.tableData.length; i++) {
|
||||
this.fetchMajorData(this.tableData[i].user_id); // 加载第一个用户的数据
|
||||
// this.fetchMajorData(this.tableData[i].user_id); // 加载第一个用户的数据
|
||||
this.getScoreData(i, this.tableData[i].score);
|
||||
}
|
||||
this.link_Total = res.total || 0;
|
||||
|
||||
@@ -138,6 +138,8 @@ Vue.component("Editor", Editor);
|
||||
|
||||
import commonTable from '@/components/page/components/table/table.vue'
|
||||
Vue.component('common-table', commonTable);
|
||||
import commonReviewArticle from '@/components/page/components/reviewArticle/index.vue'
|
||||
Vue.component('common-review-article', commonReviewArticle);
|
||||
import commonLateX from '@/components/page/components/table/LateX.vue'
|
||||
Vue.component('common-late-x', commonLateX);
|
||||
import commonMajor from '@/components/page/components/major/index.vue'
|
||||
|
||||
Reference in New Issue
Block a user