提交
This commit is contained in:
@@ -19,8 +19,8 @@ const service = axios.create({
|
|||||||
// baseURL: 'https://submission.tmrjournals.com/', //正式 记得切换
|
// baseURL: 'https://submission.tmrjournals.com/', //正式 记得切换
|
||||||
// baseURL: 'http://www.tougao.com/', //测试本地 记得切换
|
// baseURL: 'http://www.tougao.com/', //测试本地 记得切换
|
||||||
// baseURL: 'http://192.168.110.110/tougao/public/index.php/',
|
// baseURL: 'http://192.168.110.110/tougao/public/index.php/',
|
||||||
// baseURL: '/api', //本地
|
baseURL: '/api', //本地
|
||||||
baseURL: '/', //正式
|
// baseURL: '/', //正式
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
208
src/components/common/cv.vue
Normal file
208
src/components/common/cv.vue
Normal file
@@ -0,0 +1,208 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<!-- 个人简历弹出框 -->
|
||||||
|
<p style="margin: 0 0 25px 28px; font-size: 18px">CV. List</p>
|
||||||
|
<p style="color: #aaa; margin: 0 0 30px 28px" v-if="cvitaTable.length == 0">No data</p>
|
||||||
|
<div v-for="(item, index) in cvitaTable" style="margin: 0 0 0 30px">
|
||||||
|
{{ index + 1 }}.
|
||||||
|
<img src="../../assets/img/icon_0.png" alt="" class="icon_img" style="vertical-align: middle; margin-left: 10px" />
|
||||||
|
<span style="margin-left: 20px; color: #888; font-size: 13px">
|
||||||
|
<i class="el-icon-paperclip"></i>
|
||||||
|
{{ formatDate(item.ctime) }}
|
||||||
|
</span>
|
||||||
|
<a :href="mediaUrl + 'reviewer/' + item.cv" target="_blank" class="txt_pdf">
|
||||||
|
<i class="el-icon-download"></i>
|
||||||
|
</a>
|
||||||
|
<i
|
||||||
|
class="el-icon-delete"
|
||||||
|
@click="deletCVita(item)"
|
||||||
|
style="color: #f12424; cursor: pointer; font-weight: bold; margin: 0 0 0 15px"
|
||||||
|
></i>
|
||||||
|
</div>
|
||||||
|
<p style="width: 90%; background-color: #d7d7d7; height: 1px; margin: 10px auto 30px auto"></p>
|
||||||
|
<p style="margin: 0 0 25px 28px">If you want to update your resume, please upload it.</p>
|
||||||
|
<el-form :model="cvitaForm" :rules="rules" ref="cvita_Form" label-width="70px">
|
||||||
|
<el-form-item label="CV. :">
|
||||||
|
<el-upload
|
||||||
|
class="upload-demo"
|
||||||
|
:action="baseUrl + 'api/Ucenter/up_cv_file'"
|
||||||
|
:on-success="handleFileSuccess1"
|
||||||
|
name="reviewerCV"
|
||||||
|
type="reviewerCV"
|
||||||
|
:on-error="handleFileError"
|
||||||
|
:on-preview="handlePreview"
|
||||||
|
:on-remove="handleRemove"
|
||||||
|
:before-remove="beforeRemove"
|
||||||
|
:on-change="handleChange1"
|
||||||
|
accept=".pdf"
|
||||||
|
:on-exceed="handleExceed"
|
||||||
|
ref="uploadRef1"
|
||||||
|
>
|
||||||
|
<el-button type="text" style="font-weight: bolder">
|
||||||
|
<b class="el-icon-lx-top" style="font-weight: bolder"></b>upload
|
||||||
|
</el-button>
|
||||||
|
</el-upload>
|
||||||
|
<span style="font-size: 12px; color: #aaa"> Only pdf files can be uploaded(.pdf) </span>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import Schart from 'vue-schart';
|
||||||
|
import bus from '../common/bus';
|
||||||
|
export default {
|
||||||
|
name: 'dashboard',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
user_id: '',
|
||||||
|
baseUrl: this.Common.baseUrl,
|
||||||
|
mediaUrl: this.Common.mediaUrl,
|
||||||
|
cvitaTable1: [],
|
||||||
|
cvitaForm: {},
|
||||||
|
fileL_pdf1: []
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created: function () {},
|
||||||
|
|
||||||
|
components: {
|
||||||
|
Schart,
|
||||||
|
'el-image-viewer': () => import('element-ui/packages/image/src/image-viewer')
|
||||||
|
},
|
||||||
|
computed: {},
|
||||||
|
methods: {
|
||||||
|
init() {
|
||||||
|
this.user_id = localStorage.getItem('U_id');
|
||||||
|
this.cvitaForm.user_id = this.user_id;
|
||||||
|
console.log('this.user_id at line 75:', this.user_id)
|
||||||
|
this.getCVitaData();
|
||||||
|
},
|
||||||
|
// 获取简历列表
|
||||||
|
getCVitaData() {
|
||||||
|
this.$api
|
||||||
|
.post('api/Ucenter/getUserInfo', {
|
||||||
|
user_id: this.user_id
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
if (res.code == 0) {
|
||||||
|
this.cvitaTable1 = res.data.cvs;
|
||||||
|
this.$emit('cvitaTable', this.cvitaTable1);
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
this.$message.error(err);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
// 删除简历
|
||||||
|
deletCVita(e) {
|
||||||
|
// 二次确认删除
|
||||||
|
this.$confirm('Are you sure you want to delete the CV.?', 'Tip', {
|
||||||
|
type: 'warning'
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.$api
|
||||||
|
.post('api/Ucenter/delUserCv', e)
|
||||||
|
.then((res) => {
|
||||||
|
if (res.code == 0) {
|
||||||
|
this.$message.success('Delete successful!');
|
||||||
|
this.getCVitaData();
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
this.$message.error(err);
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
},
|
||||||
|
|
||||||
|
// 星级弹出层
|
||||||
|
|
||||||
|
// 上传文件
|
||||||
|
handleChange1(file, fileList) {
|
||||||
|
if (fileList.length > 0) {
|
||||||
|
this.fileL_pdf1 = [fileList[fileList.length - 1]];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleFileSuccess1(res, file) {
|
||||||
|
this.$refs.uploadRef1.clearFiles();
|
||||||
|
if (res.code == 0) {
|
||||||
|
this.cvitaForm.cv = res.upurl;
|
||||||
|
this.$api
|
||||||
|
.post('api/Ucenter/addUserCv', this.cvitaForm)
|
||||||
|
.then((res) => {
|
||||||
|
if (res.code == 0) {
|
||||||
|
this.$message.success('Upload succeeded!');
|
||||||
|
this.getCVitaData();
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
this.$message.error(err);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
beforeRemove(file, fileList) {
|
||||||
|
return this.$confirm(`Remove ${file.name}?`);
|
||||||
|
},
|
||||||
|
handleFileError(res, file) {},
|
||||||
|
|
||||||
|
handleRemove(file, fileList) {},
|
||||||
|
handlePreview(file) {
|
||||||
|
window.open(file.url);
|
||||||
|
},
|
||||||
|
handleExceed(files, fileList) {
|
||||||
|
this.$message.warning('The current limit is 1 file. Please delete the current file first!');
|
||||||
|
},
|
||||||
|
|
||||||
|
// 时间格式
|
||||||
|
formatDate(timestamp) {
|
||||||
|
var date = new Date(timestamp * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
|
||||||
|
var Y = date.getFullYear() + '-';
|
||||||
|
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
|
||||||
|
var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
||||||
|
var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
|
||||||
|
var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
|
||||||
|
var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
|
||||||
|
return Y + M + D;
|
||||||
|
},
|
||||||
|
|
||||||
|
formatYear(timestamp) {
|
||||||
|
var date = new Date(timestamp * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
|
||||||
|
var Y = date.getFullYear() + ' . ';
|
||||||
|
var M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1;
|
||||||
|
return Y + M;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.el-image-viewer__wrapper {
|
||||||
|
z-index: 5000 !important;
|
||||||
|
padding: 50px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-image-viewer__wrapper .el-icon-circle-close {
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.txt_pdf {
|
||||||
|
margin: 0 0 20px 10px;
|
||||||
|
display: inline-block;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.txt_pdf > i {
|
||||||
|
color: #66a9f0;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -998,7 +998,11 @@
|
|||||||
:value="item.journal_id"
|
:value="item.journal_id"
|
||||||
></el-option>
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<!-- <el-form-item label=" " label-width="0px">
|
||||||
|
<commonCv ref="commoncv" @cvitaTable="getCVitaData"></commonCv>
|
||||||
|
</el-form-item> -->
|
||||||
</el-form>
|
</el-form>
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-button @click="youthVisible = false">Cancel</el-button>
|
<el-button @click="youthVisible = false">Cancel</el-button>
|
||||||
@@ -1027,12 +1031,14 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import commonCv from '../common/cv.vue';
|
||||||
import Schart from 'vue-schart';
|
import Schart from 'vue-schart';
|
||||||
import bus from '../common/bus';
|
import bus from '../common/bus';
|
||||||
export default {
|
export default {
|
||||||
name: 'dashboard',
|
name: 'dashboard',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
applyCvitaTable: [],
|
||||||
user_id: localStorage.getItem('U_id'),
|
user_id: localStorage.getItem('U_id'),
|
||||||
username: localStorage.getItem('U_name'),
|
username: localStorage.getItem('U_name'),
|
||||||
userrole: localStorage.getItem('U_status'),
|
userrole: localStorage.getItem('U_status'),
|
||||||
@@ -1343,11 +1349,15 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
components: {
|
components: {
|
||||||
|
commonCv,
|
||||||
Schart,
|
Schart,
|
||||||
'el-image-viewer': () => import('element-ui/packages/image/src/image-viewer')
|
'el-image-viewer': () => import('element-ui/packages/image/src/image-viewer')
|
||||||
},
|
},
|
||||||
computed: {},
|
computed: {},
|
||||||
methods: {
|
methods: {
|
||||||
|
getCVitaData(data){
|
||||||
|
this.applyCvitaTable = data;
|
||||||
|
},
|
||||||
handleDeleteMajor(v) {
|
handleDeleteMajor(v) {
|
||||||
this.$confirm('Are you sure you want to delete this Field ?', 'Tip', {
|
this.$confirm('Are you sure you want to delete this Field ?', 'Tip', {
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -2102,6 +2112,12 @@ export default {
|
|||||||
|
|
||||||
// 青年科学家弹出框
|
// 青年科学家弹出框
|
||||||
youthPoint() {
|
youthPoint() {
|
||||||
|
// this.youthForm.journal_id = '';
|
||||||
|
|
||||||
|
// this.youthVisible = true;
|
||||||
|
// this.$nextTick(()=>{
|
||||||
|
// this.$refs.commoncv.init();
|
||||||
|
// })
|
||||||
// 判断
|
// 判断
|
||||||
this.$api
|
this.$api
|
||||||
.post('api/Ucenter/checkApply', {
|
.post('api/Ucenter/checkApply', {
|
||||||
@@ -2111,7 +2127,12 @@ export default {
|
|||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
this.youthForm.journal_id = '';
|
this.youthForm.journal_id = '';
|
||||||
|
|
||||||
this.youthVisible = true;
|
this.youthVisible = true;
|
||||||
|
// this.$nextTick(()=>{
|
||||||
|
// this.$refs.commoncv.init();
|
||||||
|
// })
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
// 提示完善信息
|
// 提示完善信息
|
||||||
this.tipVisible = true;
|
this.tipVisible = true;
|
||||||
@@ -2150,7 +2171,7 @@ export default {
|
|||||||
this.$message.error(err);
|
this.$message.error(err);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
this.$message.error('error submit!!');
|
this.$message.error('Please select a journal!');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -266,9 +266,9 @@
|
|||||||
<b v-if="item.indexs_show==0" style="color: #aaa;">Null</b>
|
<b v-if="item.indexs_show==0" style="color: #aaa;">Null</b>
|
||||||
<i class="el-icon-edit" @click="HIndexEdit(item)" v-if="form.state==1" style="margin-left: 10px;color: #006699;cursor: pointer;"></i>
|
<i class="el-icon-edit" @click="HIndexEdit(item)" v-if="form.state==1" style="margin-left: 10px;color: #006699;cursor: pointer;"></i>
|
||||||
</p> -->
|
</p> -->
|
||||||
<p v-if="item.address"><font>Address : </font>{{ item.address }}</p>
|
<p v-if="item.address&&isShowAuthorInfo"><font>Address : </font>{{ item.address }}</p>
|
||||||
<p v-if="item.company"><font>Affiliation : </font>{{ item.company }}</p>
|
<div v-if="item.company" style="display: flex;align-items: flex-start;"><font style="display: inline-block;width: 70px;color:#777 ;">Affiliation : </font><p v-html="getAllCompany(item.company)" style="width: calc(100% - 70px);"></p></div>
|
||||||
<p v-if="item.department"><font>Department : </font>{{ item.department }}</p>
|
<p v-if="item.department&&isShowAuthorInfo"><font>Department : </font>{{ item.department }}</p>
|
||||||
<p v-if="item.title"><font>Title : </font>{{ item.title }}</p>
|
<p v-if="item.title"><font>Title : </font>{{ item.title }}</p>
|
||||||
<p v-if="item.country"><font>Country : </font>{{ item.country }}</p>
|
<p v-if="item.country"><font>Country : </font>{{ item.country }}</p>
|
||||||
</div>
|
</div>
|
||||||
@@ -486,6 +486,7 @@
|
|||||||
<template v-for="(_, index1) in maxRepeatReviewCount()">
|
<template v-for="(_, index1) in maxRepeatReviewCount()">
|
||||||
<th>{{ index1 + 2 }}<sup>nd</sup> review</th>
|
<th>{{ index1 + 2 }}<sup>nd</sup> review</th>
|
||||||
</template>
|
</template>
|
||||||
|
<!-- <th>final state</th> -->
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@@ -504,18 +505,7 @@
|
|||||||
<td @click="handleClick(iken)" style="cursor: pointer">
|
<td @click="handleClick(iken)" style="cursor: pointer">
|
||||||
<span style="display: inline-block; margin-left: 4px; margin-right: 8px">
|
<span style="display: inline-block; margin-left: 4px; margin-right: 8px">
|
||||||
<font
|
<font
|
||||||
v-if="iken.state == 0"
|
v-if="iken.recommend == 1 || iken.recommend == 2"
|
||||||
style="
|
|
||||||
width: 12px;
|
|
||||||
height: 12px;
|
|
||||||
display: block;
|
|
||||||
border-radius: 10px;
|
|
||||||
background-color: #ccc;
|
|
||||||
"
|
|
||||||
>
|
|
||||||
</font>
|
|
||||||
<font
|
|
||||||
v-if="iken.state == 1 || iken.state == 3"
|
|
||||||
style="
|
style="
|
||||||
width: 12px;
|
width: 12px;
|
||||||
height: 12px;
|
height: 12px;
|
||||||
@@ -526,7 +516,7 @@
|
|||||||
>
|
>
|
||||||
</font>
|
</font>
|
||||||
<font
|
<font
|
||||||
v-if="iken.state == 2"
|
v-if="iken.recommend == 3|| iken.recommend == 4"
|
||||||
style="
|
style="
|
||||||
width: 12px;
|
width: 12px;
|
||||||
height: 12px;
|
height: 12px;
|
||||||
@@ -537,7 +527,11 @@
|
|||||||
>
|
>
|
||||||
</font>
|
</font>
|
||||||
</span>
|
</span>
|
||||||
<span>{{ mystate(iken.state) }}</span>
|
<span v-if="iken.recommend == 1">Minor</span>
|
||||||
|
<span v-else-if="iken.recommend == 2">Major</span>
|
||||||
|
<span v-else-if="iken.recommend == 3">Reject</span>
|
||||||
|
<span v-else-if="iken.recommend == 4">Reject</span>
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<!-- 关键:按最大重复次数遍历,而非仅遍历当前iken.repeat -->
|
<!-- 关键:按最大重复次数遍历,而非仅遍历当前iken.repeat -->
|
||||||
<template v-for="(_1, index1) in maxRepeatReviewCount()">
|
<template v-for="(_1, index1) in maxRepeatReviewCount()">
|
||||||
@@ -595,6 +589,44 @@
|
|||||||
</span>
|
</span>
|
||||||
</td>
|
</td>
|
||||||
</template>
|
</template>
|
||||||
|
<!-- <td @click="handleClick(iken)" style="cursor: pointer">
|
||||||
|
<span style="display: inline-block; margin-left: 4px; margin-right: 8px">
|
||||||
|
<font
|
||||||
|
v-if="iken.state == 0"
|
||||||
|
style="
|
||||||
|
width: 12px;
|
||||||
|
height: 12px;
|
||||||
|
display: block;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: #ccc;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
</font>
|
||||||
|
<font
|
||||||
|
v-if="iken.state == 1 || iken.state == 3"
|
||||||
|
style="
|
||||||
|
width: 12px;
|
||||||
|
height: 12px;
|
||||||
|
display: block;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: #67c23a;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
</font>
|
||||||
|
<font
|
||||||
|
v-if="iken.state == 2"
|
||||||
|
style="
|
||||||
|
width: 12px;
|
||||||
|
height: 12px;
|
||||||
|
display: block;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: #f56c6c;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
</font>
|
||||||
|
</span>
|
||||||
|
<span>{{ mystate(iken.state) }}</span>
|
||||||
|
</td> -->
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|
||||||
@@ -1048,6 +1080,7 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
isShowAuthorInfo: false,
|
||||||
activeFinalComment: [],
|
activeFinalComment: [],
|
||||||
isShowAI: false,
|
isShowAI: false,
|
||||||
currentArticleData: {},
|
currentArticleData: {},
|
||||||
@@ -1343,6 +1376,8 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
async created() {
|
async created() {
|
||||||
|
|
||||||
|
|
||||||
await this.initarticle();
|
await this.initarticle();
|
||||||
await this.getAi();
|
await this.getAi();
|
||||||
this.initFileList();
|
this.initFileList();
|
||||||
@@ -1411,6 +1446,15 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
getAllCompany(company) {
|
||||||
|
let str = '';
|
||||||
|
var list=company.split('/');
|
||||||
|
|
||||||
|
for (let i = 0; i < list.length; i++) {
|
||||||
|
str +=`${i+1}. `+ list[i] + '<br/>';
|
||||||
|
}
|
||||||
|
return str;
|
||||||
|
},
|
||||||
// 算平均分
|
// 算平均分
|
||||||
avegeCount(arry) {
|
avegeCount(arry) {
|
||||||
let str = 0;
|
let str = 0;
|
||||||
@@ -1870,6 +1914,22 @@ export default {
|
|||||||
})
|
})
|
||||||
|
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
|
|
||||||
|
const dynamicTimestamp = res.article.ctime;
|
||||||
|
const dynamicDate = new Date(dynamicTimestamp * 1000);
|
||||||
|
const targetDate = new Date(2025, 10, 3);
|
||||||
|
dynamicDate.setHours(0, 0, 0, 0);
|
||||||
|
targetDate.setHours(0, 0, 0, 0);
|
||||||
|
// 2025-11-03 ---上线了自动解析word 识别作者功能 去掉了 address和department字段
|
||||||
|
const isDynamicDateAfterTarget = dynamicDate > targetDate;
|
||||||
|
if (!isDynamicDateAfterTarget) {
|
||||||
|
// 判断日期是否小于等于 2025-11-03
|
||||||
|
this.isShowAuthorInfo = true;
|
||||||
|
}else{
|
||||||
|
|
||||||
|
this.isShowAuthorInfo = false;
|
||||||
|
}
|
||||||
|
|
||||||
this.initMajor();
|
this.initMajor();
|
||||||
this.form.username = res.article.account;
|
this.form.username = res.article.account;
|
||||||
this.form.title = res.article.title;
|
this.form.title = res.article.title;
|
||||||
|
|||||||
@@ -665,6 +665,7 @@
|
|||||||
<template v-for="(_, index1) in maxRepeatReviewCount(item)">
|
<template v-for="(_, index1) in maxRepeatReviewCount(item)">
|
||||||
<th>{{ index1 + 2 }}<sup>nd</sup> review</th>
|
<th>{{ index1 + 2 }}<sup>nd</sup> review</th>
|
||||||
</template>
|
</template>
|
||||||
|
<!-- <th>final state</th> -->
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@@ -673,20 +674,10 @@
|
|||||||
<td>Reviewer {{ reviewerIndex + 1 }}</td>
|
<td>Reviewer {{ reviewerIndex + 1 }}</td>
|
||||||
<!-- 1st review:原逻辑不变 -->
|
<!-- 1st review:原逻辑不变 -->
|
||||||
<td>
|
<td>
|
||||||
<span style="display: inline-block; margin-left: 4px; margin-right: 8px">
|
<span style="display: inline-block; margin-left: 4px; margin-right: 8px" v-if="iken.question">
|
||||||
|
|
||||||
<font
|
<font
|
||||||
v-if="iken.state == 0"
|
v-if="iken.question.recommend == 1 || iken.question.recommend == 2"
|
||||||
style="
|
|
||||||
width: 12px;
|
|
||||||
height: 12px;
|
|
||||||
display: block;
|
|
||||||
border-radius: 10px;
|
|
||||||
background-color: #ccc;
|
|
||||||
"
|
|
||||||
>
|
|
||||||
</font>
|
|
||||||
<font
|
|
||||||
v-if="iken.state == 1 || iken.state == 3"
|
|
||||||
style="
|
style="
|
||||||
width: 12px;
|
width: 12px;
|
||||||
height: 12px;
|
height: 12px;
|
||||||
@@ -697,7 +688,7 @@
|
|||||||
>
|
>
|
||||||
</font>
|
</font>
|
||||||
<font
|
<font
|
||||||
v-if="iken.state == 2"
|
v-if="iken.question.recommend == 3|| iken.question.recommend == 4"
|
||||||
style="
|
style="
|
||||||
width: 12px;
|
width: 12px;
|
||||||
height: 12px;
|
height: 12px;
|
||||||
@@ -708,7 +699,11 @@
|
|||||||
>
|
>
|
||||||
</font>
|
</font>
|
||||||
</span>
|
</span>
|
||||||
<span>{{ mystate(iken.state) }}</span>
|
<span v-if="iken.question.recommend == 1">Minor</span>
|
||||||
|
<span v-else-if="iken.question.recommend == 2">Major</span>
|
||||||
|
<span v-else-if="iken.question.recommend == 3">Reject</span>
|
||||||
|
<span v-else-if="iken.question.recommend == 4">Reject</span>
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<!-- 关键:按最大重复次数遍历,而非仅遍历当前iken.repeat -->
|
<!-- 关键:按最大重复次数遍历,而非仅遍历当前iken.repeat -->
|
||||||
<template v-for="(_1, index1) in maxRepeatReviewCount(item)">
|
<template v-for="(_1, index1) in maxRepeatReviewCount(item)">
|
||||||
@@ -762,6 +757,45 @@
|
|||||||
</span>
|
</span>
|
||||||
</td>
|
</td>
|
||||||
</template>
|
</template>
|
||||||
|
<!-- <td>
|
||||||
|
<span style="display: inline-block; margin-left: 4px; margin-right: 8px">
|
||||||
|
<font
|
||||||
|
v-if="iken.state == 0"
|
||||||
|
style="
|
||||||
|
width: 12px;
|
||||||
|
height: 12px;
|
||||||
|
display: block;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: #ccc;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
</font>
|
||||||
|
<font
|
||||||
|
v-if="iken.state == 1 || iken.state == 3"
|
||||||
|
style="
|
||||||
|
width: 12px;
|
||||||
|
height: 12px;
|
||||||
|
display: block;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: #67c23a;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
</font>
|
||||||
|
<font
|
||||||
|
v-if="iken.state == 2"
|
||||||
|
style="
|
||||||
|
width: 12px;
|
||||||
|
height: 12px;
|
||||||
|
display: block;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: #f56c6c;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
</font>
|
||||||
|
</span>
|
||||||
|
<span>{{ mystate(iken.state) }}</span>
|
||||||
|
</td> -->
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@@ -2743,7 +2777,7 @@ export default {
|
|||||||
})
|
})
|
||||||
|
|
||||||
.then(async (res) => {
|
.then(async (res) => {
|
||||||
console.log('res at line 2219:', res);
|
|
||||||
this.Total = res.data.total;
|
this.Total = res.data.total;
|
||||||
this.tableData = res.data.lists;
|
this.tableData = res.data.lists;
|
||||||
for (let i = 0; i < this.tableData.length; i++) {
|
for (let i = 0; i < this.tableData.length; i++) {
|
||||||
@@ -2751,11 +2785,10 @@ export default {
|
|||||||
await this.$api
|
await this.$api
|
||||||
.post('api/Finalreview/getReviewRecord', { article_id: this.tableData[i].article_id })
|
.post('api/Finalreview/getReviewRecord', { article_id: this.tableData[i].article_id })
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log('res at line 2356:', res);
|
|
||||||
if (res.status == 1) {
|
if (res.status == 1) {
|
||||||
this.$set(this.tableData[i], 'reviewScore', res.data.article_review);
|
this.$set(this.tableData[i], 'reviewScore', res.data.article_review);
|
||||||
console.log('.reviewScore at line 2358:', this.tableData[i].reviewScore);
|
}
|
||||||
}
|
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
console.error('API call failed:', error);
|
console.error('API call failed:', error);
|
||||||
|
|||||||
@@ -45,7 +45,6 @@
|
|||||||
<b v-if="scope.row.article_state == 4">Revision</b>
|
<b v-if="scope.row.article_state == 4">Revision</b>
|
||||||
<b v-if="scope.row.article_state == 5">Accept</b>
|
<b v-if="scope.row.article_state == 5">Accept</b>
|
||||||
<b v-if="scope.row.article_state == 8">Final Decision</b>
|
<b v-if="scope.row.article_state == 8">Final Decision</b>
|
||||||
|
|
||||||
<b v-if="scope.row.astate == 6">Pre-accept</b>
|
<b v-if="scope.row.astate == 6">Pre-accept</b>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|||||||
@@ -44,12 +44,12 @@
|
|||||||
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="Recommendation" width="160" align="center">
|
<!-- <el-table-column label="Recommendation" width="160" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<b v-if="scope.row.recommend == 1||scope.row.recommend == 2">Accept</b>
|
<b v-if="scope.row.recommend == 1||scope.row.recommend == 2">Accept</b>
|
||||||
<b v-if="scope.row.recommend == 3||scope.row.recommend == 4">Reject</b>
|
<b v-if="scope.row.recommend == 3||scope.row.recommend == 4">Reject</b>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column> -->
|
||||||
<el-table-column label=" " width="230">
|
<el-table-column label=" " width="230">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<router-link
|
<router-link
|
||||||
|
|||||||
Reference in New Issue
Block a user