This commit is contained in:
2025-06-19 11:40:39 +08:00
parent 69d2aac8bb
commit eb84024fdf
10 changed files with 358 additions and 306 deletions

View File

@@ -1,5 +1,5 @@
<template> <template>
<div> <div :style="[2,5].includes(activeIndex) ?'height:100%':''">
<!-- <div class="crumbs"> <!-- <div class="crumbs">
<el-breadcrumb separator="/"> <el-breadcrumb separator="/">
<el-breadcrumb-item> <el-breadcrumb-item>
@@ -29,7 +29,9 @@
<br clear="both" /> <br clear="both" />
</div> </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> <articleListA v-if="activeIndex == '1'" :journals="journals[0]"></articleListA>
<articleListB v-if="activeIndex == '2'" :journals="journals[1]" @changeEvent="changeEvent"></articleListB> <articleListB v-if="activeIndex == '2'" :journals="journals[1]" @changeEvent="changeEvent"></articleListB>

View File

@@ -1,5 +1,5 @@
<template> <template>
<div style="min-width: 1280px" class="articleListEditorA"> <div style="min-width: 1280px;" class="articleListEditorA">
<div class="handle-box"> <div class="handle-box">
<el-badge <el-badge
:value="item.num" :value="item.num"
@@ -597,7 +597,7 @@
empty-text="New messages (0)" empty-text="New messages (0)"
> >
<el-table-column type="index" label="No." width="55" align="center"></el-table-column> <el-table-column type="index" label="No." width="55" align="center"></el-table-column>
<el-table-column width="160" label="Doi" align="center"> <!-- <el-table-column width="160" label="Doi" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<p style="margin-bottom: 5px"> <p style="margin-bottom: 5px">
{{ scope.row.doi }} {{ scope.row.doi }}
@@ -606,8 +606,24 @@
>Detail</el-button >Detail</el-button
> >
</template> </template>
</el-table-column> </el-table-column> -->
<el-table-column prop="accept_sn" label="SN" width="180px"></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 prop="" label="Title"> <el-table-column prop="" label="Title">
<template slot-scope="scope"> <template slot-scope="scope">
<p v-if="scope.row.title == ''">Article{{ scope.row.p_article_id }}</p> <p v-if="scope.row.title == ''">Article{{ scope.row.p_article_id }}</p>
@@ -651,7 +667,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label=" " align="center" width="140"> <el-table-column label=" " align="center" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click="changeEnter(scope.row)" size="mini" type="primary" plain icon="el-icon-edit">Edit</el-button> <el-button @click="changeEnter(scope.row)" size="mini" type="primary" plain icon="el-icon-edit">Edit</el-button>
</template> </template>
@@ -1373,6 +1389,7 @@
<p style="line-height: 20px; margin-top: 6px">{{ majorMes.email }}</p> <p style="line-height: 20px; margin-top: 6px">{{ majorMes.email }}</p>
</el-form-item> --> </el-form-item> -->
<el-form-item label="Research areas :"> <el-form-item label="Research areas :">
<common-major-list <common-major-list
:disabled="majorMes.disabled" :disabled="majorMes.disabled"
:list="majorValueList" :list="majorValueList"
@@ -1567,15 +1584,15 @@ export default {
methods: { methods: {
saveMajor() { saveMajor() {
this.$api this.$api
.post('api/Reviewer/updateUserField', { .post('api/Article/updateArticleField', {
article_id: this.majorMes.article_id, article_id: this.majorMes.article_id,
user_field: this.majorValueList.map((item) => item.selectedValue[item.selectedValue.length - 1]).toString(',') article_field: this.majorValueList.map((item) => item.selectedValue[item.selectedValue.length - 1]).toString(',')
}) })
.then((res) => { .then((res) => {
if (res.status == 1) { if (res.status == 1) {
this.$message.success('Success'); this.$message.success('Success');
this.majorBox = false;
this.fetchMajorData(this.majorMes.article_id); // this.fetchMajorData(this.majorMes.article_id);
} else { } else {
this.$message.error(res.msg); this.$message.error(res.msg);
} }
@@ -1616,14 +1633,14 @@ export default {
}) })
.then((res) => { .then((res) => {
if (this.majorMes.disabled) { if (this.majorMes.disabled) {
this.majorValueList = [...res.article.majors]; this.majorValueList = [...res.data].map((item)=>({...item,str:item.major_title}));
} else { } else {
this.majorValueList = [...res.article.majors].map((item) => ({ this.majorValueList = [...res.data].map((item) => ({
selectedValue: Array.isArray(item.major) selectedValue: Array.isArray(item.shu)
? item.major ? item.shu
: typeof item.major === 'string' : typeof item.shu === 'string'
? item.major.split(',').map(Number) ? item.shu.split(',').map(Number)
: [item.major] : [item.shu]
})); }));
} }

View File

@@ -1,308 +1,323 @@
<template> <template>
<div> <div style="height: 100%">
<div class="handle-box"> <div class="handle-box">
<el-select v-model="queryType.journal_id" @change="getDateType" placeholder="Please select journal" <el-select v-model="queryType.journal_id" @change="getDateType" placeholder="Please select journal" style="width: 300px">
style="width: 300px;"> <el-option :key="0" label="All journals" :value="0"></el-option>
<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-option v-for="item in journals" :key="item.journal_id" :label="item.title" </el-select>
:value="item.journal_id"></el-option> </div>
</el-select> <div style="height: calc(100% - 100px)">
</div> <el-table
:data="dataType"
<el-table :data="dataType" border stripe class="table" ref="multipleTable" header-cell-class-name="table-header" border
empty-text="New messages (0)"> stripe
<el-table-column type="index" label="No." width="55" align="center"></el-table-column> class="table"
<el-table-column width="160" label="Doi" align="center"> 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"> <template slot-scope="scope">
<p style="margin-bottom: 5px;"> <p >
{{scope.row.doi}} {{scope.row.doi}}
</p> </p>
<el-button size="mini" type="primary" plain icon="el-icon-tickets" <el-button size="mini" type="primary" plain icon="el-icon-tickets"
@click="showdetaileditor(scope.row)">Detail</el-button> @click="showdetaileditor(scope.row)">Detail</el-button>
</template> </template>
</el-table-column> </el-table-column> -->
<el-table-column prop="accept_sn" label="SN" width="180px"></el-table-column> <!-- <el-table-column prop="accept_sn" label="SN" width="180px"></el-table-column> -->
<el-table-column prop="" label="Title"> <el-table-column prop="" label="Title">
<template slot-scope="scope"> <template slot-scope="scope">
<p v-if="scope.row.title==''"> <p v-if="scope.row.title == ''">Article{{ scope.row.p_article_id }}</p>
Article{{scope.row.p_article_id}} <p else>
</p> {{ scope.row.title }}
<p else> </p>
{{scope.row.title}} </template>
</p> </el-table-column>
</template> <el-table-column label=" " align="center" width="200px">
</el-table-column> <template slot-scope="scope">
<el-table-column label=" " align="center" width="200px"> <el-button @click="changeEnter(scope.row)" size="mini" type="primary" plain icon="el-icon-paperclip"
<template slot-scope="scope"> >Enter</el-button
<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>
<el-button size="mini" @click="typeDelete(scope.row)" type="danger" plain icon="el-icon-delete"> </template>
Delete</el-button> </el-table-column>
</template> <!-- <el-table-column label="Remarks" align="center">
</el-table-column>
<!-- <el-table-column label="Remarks" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<p style="margin-bottom: 5px;text-align: left;">{{scope.row.remarks}}</p> <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"> <el-button @click="changeRemark(scope.row)" size="mini" type="primary" plain icon="el-icon-edit">
Remark</el-button> Remark</el-button>
</template> </template>
</el-table-column> --> </el-table-column> -->
</el-table> </el-table>
<div class="pagination"> <div class="pagination">
<el-pagination background layout="total, prev, pager, next" :current-page="queryType.pageIndex" <el-pagination
:page-size="queryType.pageSize" :total="TotalType" @current-change="handPage_type"></el-pagination> background
</div> layout="total, prev, pager, next"
:current-page="queryType.pageIndex"
:page-size="queryType.pageSize"
:total="TotalType"
@current-change="handPage_type"
></el-pagination>
</div>
</div>
<!-- remark标记 -->
<!-- remark标记 --> <el-dialog title="Remarks" :visible.sync="remarkBox" width="550px">
<el-dialog title="Remarks" :visible.sync="remarkBox" width="550px"> <el-form ref="remark" :model="remark" label-width="85px">
<el-form ref="remark" :model="remark" label-width="85px"> <el-form-item label="Title :">
<el-form-item label="Title :"> <p style="line-height: 20px; margin-top: 6px">{{ remark.title }}</p>
<p style="line-height: 20px;margin-top: 6px;">{{remark.title}}</p> </el-form-item>
</el-form-item> <el-form-item label="Content :">
<el-form-item label="Content :"> <el-input type="textarea" rows="5" v-model="remark.content"></el-input>
<el-input type="textarea" rows="5" v-model="remark.content"></el-input> </el-form-item>
</el-form-item> </el-form>
</el-form> <span slot="footer" class="dialog-footer">
<span slot="footer" class="dialog-footer"> <el-button @click="remarkBox = false">Cancel</el-button>
<el-button @click="remarkBox = false">Cancel</el-button> <el-button type="primary" @click="saveRemark">Save</el-button>
<el-button type="primary" @click="saveRemark">Save</el-button> </span>
</span> </el-dialog>
</el-dialog> </div>
</div>
</template> </template>
<script> <script>
import 'quill/dist/quill.core.css'; import 'quill/dist/quill.core.css';
import 'quill/dist/quill.snow.css'; import 'quill/dist/quill.snow.css';
import 'quill/dist/quill.bubble.css'; import 'quill/dist/quill.bubble.css';
import { import { quillEditor } from 'vue-quill-editor';
quillEditor import Clipboard from 'clipboard';
} from 'vue-quill-editor'; import { Loading } from 'element-ui';
import Clipboard from 'clipboard'; export default {
import { props: ['journals'],
Loading data() {
} from 'element-ui'; return {
export default { baseUrl: this.Common.baseUrl,
props: ['journals'], mediaUrl: this.Common.mediaUrl,
data() { uploadUrl: '/tsfile/',
return { journalList: [],
baseUrl: this.Common.baseUrl, queryType: {
mediaUrl: this.Common.mediaUrl, username: localStorage.getItem('U_name'),
uploadUrl: '/tsfile/', editor_id: localStorage.getItem('U_id'),
journalList: [], journal_id: 0,
queryType: { ts_state: 0,
username: localStorage.getItem('U_name'), pageIndex: 1,
editor_id: localStorage.getItem('U_id'), pageSize: 50
journal_id: 0, },
ts_state: 0,
pageIndex: 1,
pageSize: 50
},
queryPush: {}, queryPush: {},
dataType: [], dataType: [],
TotalType: 0, TotalType: 0,
remarkBox: false, remarkBox: false,
remark: { remark: {
content: '' content: ''
}, }
}; };
}, },
created() { created() {
// this.initSelect(); // this.initSelect();
this.getDateType(); this.getDateType();
}, },
methods: { methods: {
//初始化期刊 //初始化期刊
// 初始化列表 // 初始化列表
getDateType() { getDateType() {
const loading = this.$loading({ const loading = this.$loading({
lock: true, lock: true,
text: 'Loading...', text: 'Loading...',
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}); });
this.$api this.$api
.post('api/Production/getProductionList', this.queryType) .post('api/Production/getProductionList', this.queryType)
.then(res => { .then((res) => {
this.dataType = res.data.productions; this.dataType = res.data.productions;
this.TotalType = res.data.count; this.TotalType = res.data.count;
loading.close(); loading.close();
}) })
.catch(err => { .catch((err) => {
console.log(err); console.log(err);
loading.close(); loading.close();
}); });
}, },
// 分页导航 // 分页导航
handPage_type(val) { handPage_type(val) {
this.$set(this.dataType, 'pageIndex', val); this.$set(this.dataType, 'pageIndex', val);
this.getDateType(); this.getDateType();
}, },
// 稿件信息展示 // 稿件信息展示
showdetaileditor(row) { showdetaileditor(row) {
let stat_num = 'articleDetailEditor' let stat_num = 'articleDetailEditor';
this.$router.push({ this.$router.push({
path: stat_num, path: stat_num,
query: { query: {
id: row.article_id id: row.article_id
} }
}); });
}, },
// 标记弹出框 // 标记弹出框
changeRemark(e) { changeRemark(e) {
this.remarkBox = true; this.remarkBox = true;
this.remark.title = e.title; this.remark.title = e.title;
this.remark.articleId = e.article_id; this.remark.articleId = e.article_id;
this.remark.content = e.remarks; this.remark.content = e.remarks;
}, },
// 修改标记 // 修改标记
saveRemark() { saveRemark() {
this.$api.post('api/Article/editArticleRemark', this.remark) this.$api.post('api/Article/editArticleRemark', this.remark).then((res) => {
.then(res => { if (res.code == 0) {
if (res.code == 0) { this.$message.success('success');
this.$message.success('success'); this.remarkBox = false;
this.remarkBox = false; this.getDateType();
this.getDateType(); } else {
} else { this.$message.error(res.msg);
this.$message.error(res.msg); }
} });
}); },
},
// 稿件删除 // 稿件删除
typeDelete(e) { typeDelete(e) {
// 二次确认 // 二次确认
this.$confirm('Are you sure to delete this manuscript?', 'Tips', { this.$confirm('Are you sure to delete this manuscript?', 'Tips', {
confirmButtonText: 'OK', confirmButtonText: 'OK',
cancelButtonText: 'Cancel', cancelButtonText: 'Cancel',
type: 'warning' type: 'warning'
}) })
.then(() => { .then(() => {
this.$api this.$api
.post('api/Production/delProduction', { .post('api/Production/delProduction', {
'p_article_id': e.p_article_id p_article_id: e.p_article_id
}) })
.then(res => { .then((res) => {
this.$message.success('Delete successfully!'); this.$message.success('Delete successfully!');
this.getDateType(); this.getDateType();
}) })
.catch(err => { .catch((err) => {
console.log(err); console.log(err);
}); });
}) })
.catch(() => {}); .catch(() => {});
}, },
// 跳页录入排版 // 跳页录入排版
changeEnter(val) { changeEnter(val) {
this.$router.push('/articleListEditor_B1?id=' + val.p_article_id); this.$router.push('/articleListEditor_B1?id=' + val.p_article_id);
}, }
}
};
},
};
</script> </script>
<style scoped> <style scoped>
.handle-box { .handle-box {
margin-bottom: 18px; margin-bottom: 18px;
} }
.table {
width: 100%;
font-size: 14px;
}
.table { .pane_act {
width: 100%; background-color: #fff;
font-size: 14px; }
}
.pane_act { .pane_act > div {
background-color: #fff; }
}
.pane_act>div {} .pane_act > div > div > h3 {
font-size: 14px;
margin: 20px 0;
}
.pane_act>div>div>h3 { .chanFerAll {
font-size: 14px; position: relative;
margin: 20px 0; /* height: 500px;
}
.chanFerAll {
position: relative;
/* height: 500px;
overflow-y: scroll; */ overflow-y: scroll; */
} }
.chanFerAll .chanFerBtn { .chanFerAll .chanFerBtn {
cursor: pointer; cursor: pointer;
} }
.chanFerAll .ref_list:nth-child(2n) {} .chanFerAll .ref_list:nth-child(2n) {
}
.chanFerAll .ref_list:nth-child(2n+1) { .chanFerAll .ref_list:nth-child(2n + 1) {
background-color: #ecf5ff; background-color: #ecf5ff;
} }
.ref_list { .ref_list {
padding: 20px; 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) { .ref_list > div:nth-child(1) button {
margin: 0 0 15px 0; 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 { .RefProBar {
float: right; position: absolute;
} background: rgba(0, 0, 0, 0.7);
top: 0;
bottom: 0;
left: 0;
right: 0;
}
.ref_list>div:nth-child(2) { .RefProBar > div {
margin: 0 0 15px 0; width: 76%;
} position: absolute;
top: 4.5%;
left: 12%;
}
.RefProBar > div > p {
color: #fff;
margin: 20px 0 0 0;
}
.RefProBar { .RefProBar > div > p > img {
position: absolute; width: 30px;
background: rgba(0, 0, 0, 0.7); vertical-align: middle;
top: 0; margin: 0 10px 0 5px;
bottom: 0; }
left: 0;
right: 0;
}
.RefProBar>div { .RefProBar > div > p > span {
width: 76%; font-size: 18px;
position: absolute; }
top: 4.5%;
left: 12%;
}
.RefProBar>div>p { .Fer_btn button:hover {
color: #fff; text-decoration: underline;
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;
}
</style> </style>

View File

@@ -1,5 +1,5 @@
<template> <template>
<div> <div style="height: 100%;">
<div class="handle-box"> <div class="handle-box">
<el-select v-model="queryType.issn" @change="getJourChange" placeholder="Please select a journal" style="width: 250px"> <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> <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 <i class="el-icon-search" style="margin-right: 5px"></i>Search
</el-button> </el-button>
</div> </div>
<el-table <div style="height: calc(100% - 100px);">
<el-table height="100%"
:data="dataTable" :data="dataTable"
border border
stripe stripe
@@ -36,13 +37,20 @@
empty-text="New messages (0)" empty-text="New messages (0)"
> >
<el-table-column width="80" label="No." prop="npp" align="center"></el-table-column> <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"> <template slot-scope="scope">
{{ scope.row.stage_year }} Vol.{{ scope.row.stage_vol }} issue.{{ scope.row.stage_no }} {{ scope.row.stage_year }} Vol.{{ scope.row.stage_vol }} issue.{{ scope.row.stage_no }}
<br /> <el-button
<el-button style="margin-top: 10px" size="mini" type="success" plain icon="el-icon-view" @click="lookView(scope.row)">
Preview</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> </template>
</el-table-column> </el-table-column>
<el-table-column label="Title"> <el-table-column label="Title">
@@ -65,9 +73,9 @@
<p style="cursor: pointer; color: #006699 !important" @click="goCite(scope.row)"> <p style="cursor: pointer; color: #006699 !important" @click="goCite(scope.row)">
{{ scope.row.cite_num ? scope.row.cite_num.length : 0 }} {{ 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> <i class="el-icon-edit"></i>
</span> --> </span>
</p> </p>
</template> </template>
</el-table-column> </el-table-column>
@@ -130,6 +138,8 @@
@current-change="handlePageChange" @current-change="handlePageChange"
></el-pagination> ></el-pagination>
</div> </div>
</div>
<!-- 修改信息 --> <!-- 修改信息 -->
<el-dialog title="" :visible.sync="EditVisible" width="750px" :close-on-click-modal="false"> <el-dialog title="" :visible.sync="EditVisible" width="750px" :close-on-click-modal="false">

View File

@@ -80,7 +80,7 @@
<!-- <el-table-column prop="email" label="Email" align="center"></el-table-column> --> <!-- <el-table-column prop="email" label="Email" align="center"></el-table-column> -->
<!-- <el-table-column prop="company" label="Company" align="center"></el-table-column> --> <!-- <el-table-column prop="company" label="Company" align="center"></el-table-column> -->
<!-- <el-table-column prop="major_str" label="Major"></el-table-column> --> <!-- <el-table-column prop="major_str" label="Major"></el-table-column> -->
<el-table-column label="Research areas" width="300"> <el-table-column label="Research areas" width="310">
<template slot-scope="scope"> <template slot-scope="scope">
<commonMajorTableList <commonMajorTableList
:user_id="scope.row.reviewer_id" :user_id="scope.row.reviewer_id"

View File

@@ -49,7 +49,7 @@
<!-- <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> </template>
</el-table-column> </el-table-column>
<el-table-column label="Research areas" width="300"> <el-table-column label="Research areas" width="310">
<template slot-scope="scope"> <template slot-scope="scope">
<commonMajorTableList <commonMajorTableList
:user_id="scope.row.user_id" :user_id="scope.row.user_id"

View File

@@ -1,11 +1,11 @@
<template> <template>
<div> <div>
<div class="crumbs"> <div class="crumbs">
<el-page-header @back="goBack" content="Add manuscript reviewer"> <!-- <el-page-header @back="goBack" content="Add manuscript reviewer">
</el-page-header> </el-page-header> -->
<!-- <el-breadcrumb separator="/"> <el-breadcrumb separator="/">
<el-breadcrumb-item> <i class="el-icon-lx-calendar"></i> Add manuscript reviewer</el-breadcrumb-item> <el-breadcrumb-item> <i class="el-icon-lx-calendar"></i> Add manuscript reviewer</el-breadcrumb-item>
</el-breadcrumb> --> </el-breadcrumb>
</div> </div>
<div <div
class="container" style="padding: 20px;" class="container" style="padding: 20px;"
@@ -103,7 +103,7 @@
<!-- <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> </template>
</el-table-column> </el-table-column>
<el-table-column label="Research areas" width="300"> <el-table-column label="Research areas" width="310">
<template slot-scope="scope"> <template slot-scope="scope">
<commonMajorTableList <commonMajorTableList
:user_id="scope.row.reviewer_id" :user_id="scope.row.reviewer_id"

View File

@@ -1,5 +1,6 @@
<template> <template>
<div class="block commonMajor" style="width: 100%; overflow: hidden"> <div class="block commonMajor" style="width: 100%; overflow: hidden">
<div v-if="!disabled"> <div v-if="!disabled">
<el-button type="primary" plain size="mini" @click="handleAdd" style="float: right; margin-bottom: 20px" <el-button type="primary" plain size="mini" @click="handleAdd" style="float: right; margin-bottom: 20px"
><i class="el-icon-plus"></i>Add Field ><i class="el-icon-plus"></i>Add Field

View File

@@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<div <div
@click="disabled ? '' : BoxMajor()" @click="BoxMajor()"
v-if="user_id" v-if="user_id"
style="display: flex; align-items: center; justify-content: space-between" style="display: flex; align-items: center; justify-content: space-between"
:style="{ cursor: disabled ? '' : 'pointer' }" :style="{ cursor: disabled ? '' : 'pointer' }"
@@ -11,7 +11,7 @@
<div v-if="!loading" class="majorDataBox"> <div v-if="!loading" class="majorDataBox">
<p v-for="(v, i) in majorData" style="border-top: 1px solid #b3d8ff"> <p v-for="(v, i) in majorData" style="border-top: 1px solid #b3d8ff">
<span style="font-weight: bold">{{ i + 1 }}.</span> <span style="font-weight: bold">{{ i + 1 }}.</span>
{{ v.major_title.replace('Medicine >', '').trim() }} {{ v.major_title.replace('Medicine >', '').trim().split('>').pop().trim() }}
</p> </p>
</div> </div>
<div v-else> <div v-else>
@@ -23,7 +23,7 @@
<b style="margin-left: 10px; color: #006699" class="el-icon-edit" v-if="!disabled"></b> <b style="margin-left: 10px; color: #006699" class="el-icon-edit" v-if="!disabled"></b>
</div> </div>
<el-dialog title="Edit Research areas" :visible.sync="majorBox" width="800px"> <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 ref="remark" :model="majorMes" label-width="120px">
<el-form-item label="Reviewer :"> <el-form-item label="Reviewer :">
<p style="line-height: 20px; margin-top: 6px"> <p style="line-height: 20px; margin-top: 6px">
@@ -35,12 +35,13 @@
<p style="line-height: 20px; margin-top: 6px">{{ majorMes.email }}</p> <p style="line-height: 20px; margin-top: 6px">{{ majorMes.email }}</p>
</el-form-item> --> </el-form-item> -->
<el-form-item label="Research areas :"> <el-form-item label="Research areas :">
<common-major-list :list="majorValueList" @load="(e) => (this.majorValueList = e)"></common-major-list>
<common-major-list :disabled="disabled" :list="majorValueList" @load="(e) => (this.majorValueList = e)"></common-major-list>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="majorBox = false">Cancel</el-button> <el-button @click="majorBox = false">Cancel</el-button>
<el-button type="primary" @click="saveMajor">Save</el-button> <el-button type="primary" @click="saveMajor" v-if="!disabled">Save</el-button>
</span> </span>
</el-dialog> </el-dialog>
@@ -74,13 +75,19 @@ export default {
this.majorMes.realname = this.baseInfo.realname; this.majorMes.realname = this.baseInfo.realname;
this.majorMes.user_id = this.baseInfo.user_id; this.majorMes.user_id = this.baseInfo.user_id;
this.majorMes.email = this.baseInfo.email; this.majorMes.email = this.baseInfo.email;
this.majorValueList = [...this.majorData].map((item) => ({ 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) selectedValue: Array.isArray(item.shu)
? item.shu ? item.shu
: typeof item.shu === 'string' : typeof item.shu === 'string'
? item.shu.split(',').map(Number) ? item.shu.split(',').map(Number)
: [item.shu] : [item.shu]
})); }));
}
}, },
async fetchMajorData(userId) { async fetchMajorData(userId) {
// if (!this.majorData[userId]) { // if (!this.majorData[userId]) {

View File

@@ -206,7 +206,7 @@
></b> ></b>
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column label="Research areas" width="300"> <el-table-column label="Research areas" width="310">
<template slot-scope="scope"> <template slot-scope="scope">
<commonMajorTableList :user_id="scope.row.user_id" :baseInfo="scope.row" :key="scope.row.user_id"></commonMajorTableList> <commonMajorTableList :user_id="scope.row.user_id" :baseInfo="scope.row" :key="scope.row.user_id"></commonMajorTableList>
</template> </template>