diff --git a/dist.rar b/dist.rar deleted file mode 100644 index f58f2c1..0000000 Binary files a/dist.rar and /dev/null differ diff --git a/src/App.vue b/src/App.vue index 345bbbf..ee1d672 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,10 +1,15 @@ \ No newline at end of file + @import "./assets/css/main.css"; + @import "./assets/css/color-dark.css"; + /*深色主题*/ + /*@import "./assets/css/theme-green/color-green.css"; 浅绿色主题*/ + diff --git a/src/assets/css/Charisb.ttf b/src/assets/css/Charisb.ttf new file mode 100644 index 0000000..d6579d5 Binary files /dev/null and b/src/assets/css/Charisb.ttf differ diff --git a/src/assets/css/main.css b/src/assets/css/main.css index 8182fa5..3c8be28 100644 --- a/src/assets/css/main.css +++ b/src/assets/css/main.css @@ -13,8 +13,11 @@ body, } body { - font-family: 'PingFang SC', "Helvetica Neue", Helvetica, "microsoft yahei", arial, STHeiTi, sans-serif; - font-family: 'Noto Sans', sans-serif; + /* font-family: 'PingFang SC', "Helvetica Neue", Helvetica, "microsoft yahei", arial, STHeiTi, sans-serif; + font-family: 'Noto Sans', sans-serif; */ + word-wrap: break-word; + word-break: normal; + font-family: "Helvetica Neue For Number", "Elsevier Gulliver", Georgia, serif; } a { @@ -261,13 +264,619 @@ a { } /* 欢迎句 */ -.mes_alert{ +.mes_alert { background-color: #e1edf3 !important; padding: 12px 20px 12px 12px !important; color: #006699 !important; font-size: 14px !important; } -.mes_alert .el-alert__description{ + +.mes_alert .el-alert__description { color: #006699 !important; font-size: 13px !important; } + + + +/* 编辑分步骤稿件流程 */ +@font-face { + font-family: 'Helvetica Neue For Number'; + src: url(Charisb.ttf); + unicode-range: U+30-39; +} + +.container_state { + overflow: hidden; + padding: 0 15px 15px 15px; + color: #333; + min-width: 800px; + font-size: 14px; + /* font-family: NexusSans, Arial, Helvetica, Lucida Sans Unicode, Microsoft Sans Serif, Segoe UI Symbol, STIXGeneral, Cambria Math, Arial Unicode MS, sans-serif; */ + font-family: "Helvetica Neue For Number", "Elsevier Gulliver", Georgia, serif; +} + +.art_state_text { + font-family: "Helvetica Neue For Number", "Elsevier Gulliver", Georgia, serif; + border-radius: 5px; + padding: 10px 15px 25px 15px; + line-height: 19px; + font-size: 12px; + color: #888; +} + +.art_state_text>p:nth-child(1) b { + color: #006699; +} + + + +.art_state_ { + border: 1px solid #dcdfe6; + border-radius: 5px; + background-color: #fff; + padding: 20px; +} + +.art_state_message>h3, +.art_file>h3, +.art_state_repet>h3, +.art_state_remark>h3, +.art_revlist>h3, +.art_reviewer>h3, +.art_state_btn>h3 { + font-size: 16px; + margin: 5px 0 30px 0; + letter-spacing: -0.8px; +} + +.art_state_repet>h3, +.art_state_btn>h3, +.art_reviewer>h3 { + color: #006699; +} + +.art_state_message { + margin: 0 0 0 0; +} + +.art_state_message .auth_mess { + margin: 0 0 0 30px; +} + +.art_state_message .auth_mess h4 { + margin: 0 0 5px 0; +} + +.art_state_message .auth_mess>div { + margin: 0 0 15px 0; +} + +.art_state_message .auth_mess>div p { + margin: 0 0 3px 0; +} + +.art_state_message p { + margin: 0 0 15px 30px; + line-height: 22px; + overflow: hidden; +} + +.art_state_message p>font { + color: #777; +} + +.art_state_message p>b { + font-weight: normal; + margin: 0 0 0 5px; + word-wrap: break-word; + word-break: normal; + color: #333; +} + +.art_state_message>div.art_state_message_id { + border-bottom: 1px solid #eee; + padding: 0 0 15px 5px; + margin: 0 0 30px 0; +} + + +.art_state_message .det_cssep { + background-color: #006699; + color: #fff; + font-size: 12px; + margin: 0 0 0 15px; + padding: 2px 5px; + border-radius: 5px; + cursor: pointer; + font-style: normal; +} + +.art_state_message .det_cssep:hover { + text-decoration: underline; +} + +.auth_colla { + margin: 0 0 15px 0; +} + + +.auth_colla .el-collapse-item__arrow { + position: absolute; + left: 45px; + color: #006699; + font-weight: bolder; + font-size: 18px; +} + +.auth_colla .el-collapse-item__header { + padding-left: 30px; + line-height: 18px; +} + +.auth_colla_new .el-collapse-item__arrow { + left: 25px; +} + + +.editor_tree { + margin: 20px 0 0 10px; +} + +.editor_tree .el-timeline-item__node--large { + width: 30px; + height: 30px; +} + +.editor_tree .el-timeline-item__wrapper { + padding-left: 0; +} + +.editor_tree .el-timeline-item__timestamp.is-top { + padding-top: 10px; + margin: 0 0 13px 45px; + font-size: 14px; +} + +.editor_tree .el-timeline-item__content { + margin: 10px 0 0 45px; +} + +.editor_tree .el-timeline-item__tail { + height: auto; + bottom: 15px; + top: 45px; + border-left: 3px solid #E4E7ED; + /* border-left: 2px solid #66a3c2; */ + left: 12px; +} + +.editor_tree p>font>b { + margin-left: 5px; +} + +.kuang_communtion, +.kuang_tracking { + border: 1px solid #dcdfe6; + padding: 20px; + background-color: #fff; + border-radius: 5px; + +} + +.kuang_communtion { + margin: 0 0 30px 0; +} + +.kuang_tracking {} + +.kuang_communtion>h2, +.kuang_tracking>h2 { + font-size: 18px; + margin: 0 0 15px 0; + letter-spacing: -0.8px; +} + +.kuang_communtion>h2>a { + float: right; + background-color: rgb(0, 102, 153); + color: rgb(255, 255, 255); + font-size: 12px; + padding: 2px 5px; + font-weight: normal; + border-radius: 5px; + cursor: pointer; +} + +.kuang_communtion>h2>a:hover { + text-decoration: underline; +} + +.kuang_communtion .kuang_communtion_conmt { + max-height: 350px; + overflow-y: auto; +} + +.kuang_communtion_input { + margin-top: 40px; + position: relative; +} + +.kuang_communtion_input>p { + position: absolute; + height: 1px; + background-color: #dcdfe6; + top: -25px; + left: -12px; + right: -12px; +} + +.kuang_communtion_input>div.kuang_communtion_input_text { + color: #aaa; + font-size: 12px; + position: relative; + margin: 0 65px 0 0; + padding: 8px 0 0 0; + line-height: 16px; + letter-spacing: -0.8px; +} + +.kuang_communtion_input>div>button { + position: absolute; + top: 8px; + right: -65px; +} + +.art_file { + border-top: 1px solid #eee; + padding: 20px 0 0 0; + margin: 25px 0 0 0; + +} + + + +.art_file>h4 { + margin: 10px 0 5px 0; + float: left; + width: 116px; + text-align: right; +} + +.art_file>p { + margin: 6px 0 0 20px; + margin-bottom: 10px; + float: left; +} + +.art_file>p>a { + color: #333; + display: block; + margin: 0 0 10px 0; +} + +.art_file>p>a:hover { + text-decoration: underline; +} + +.art_file>p>a>img { + width: 15px; + vertical-align: text-bottom; + margin: 0 10px 0 0; +} + +.art_file>p>a>span>font { + color: #888; + margin: 0 5px 0 0; + font-size: 13px; +} + +.art_file>p>a>span>i { + font-size: 12px; + color: #888; + margin: 0 0 0 15px; + font-style: normal; +} + +.art_file>p>a>span>i>i { + margin: 0 8px 0 0; +} + +.art_file .download{ + font-weight: bold; + color: #75abf1; + margin: 0 0 0 18px; + } + +.art_revlist { + border-top: 1px solid #eee; + padding: 20px 0 0 0; + margin: 10px 0 0 0; +} + +.art_reviewer { + margin: 15px 0 20px 0; + padding: 0 0 10px 0; + border-bottom: 1px solid #cce7f3; +} + +.talk_aued { + width: 85%; + margin-bottom: 10px; +} + +.talk_aued>p { + margin-left: 5px; +} + +.talk_aued>.el-card { + margin: 8px 0 0 0; + +} + +.talk_aued>b { + display: block; + font-weight: normal; + font-size: 12px; + margin: 2px 0 0 0; + text-align: right; + color: #aaa; +} + +.talk_aued .el-card__body { + padding: 6px 12px; +} + +.talk_edit { + margin-left: 15%; +} + +.talk_edit>p { + text-align: right; + margin-right: 5px; +} + + +.art_caozuo_ { + border: 1px solid #cce7f3; + background-color: #eef6fb; + margin-top: 30px; + padding: 20px; + border-radius: 5px; + position: relative; +} + +.art_file_btn {} + +.art_file_btn .btn_remarks { + display: inline-block; + border: 1px solid #fff; + margin: 0 20px 0 0; + padding: 8px 12px; + cursor: pointer; + font-weight: bolder; + color: #fff; +} + +.art_file_btn .art_file_btn_text { + line-height: 18px; + font-size: 12px; + color: #888; + margin: 20px 0 20px 0; +} + + +.art_state_repet { + margin: 0 0 20px 0; + padding: 0 0 25px 0; + border-bottom: 1px solid #cce7f3; +} + +.art_state_repet>p { + margin: -10px 0 0 30px; + line-height: 18px; + font-size: 12px; + color: #888; +} + +.art_state_repet>p>b { + margin: 0 0 0 15px; + font-size: 20px; + color: #333; +} + +.art_state_repet>p>img { + width: 15px; + vertical-align: baseline; + margin: 0 0 0 20px; + cursor: pointer; +} + + +.art_state_btn { + border-radius: 5px; + margin: 10px 0 5px 0; + +} + +.art_state_btn div { + display: inline-block; + border: 1px solid #fff; + border-radius: 5px; + margin: 0 20px 0 0; + padding: 8px 12px; + cursor: pointer; + font-size: 16px; + font-weight: bolder; + color: #fff; +} + +.art_state_btn div:nth-last-child(1) { + margin: 0; +} + + +.art_state_btn div.a_s_t1 { + background-color: #f75822; +} + +.art_state_btn div.a_s_t1:hover { + background-color: #c1451b; +} + +.art_state_btn div.a_s_t2 { + background-color: #0ebee1; +} + +.art_state_btn div.a_s_t2:hover { + background-color: #0c92ad; +} + +.art_state_btn div.a_s_t3 { + background-color: #f3170f; +} + +.art_state_btn div.a_s_t3:hover { + background-color: #d31d16; +} + + +.art_state_btn div.a_s_t4 { + background-color: #5a90e1; +} + +.art_state_btn div.a_s_t4:hover { + background-color: #4a73b1; +} + +.art_state_btn div.a_s_t5 { + background-color: #91cc75; +} + +.art_state_btn div.a_s_t5:hover { + background-color: #73a35c; +} + +.art_state_btn div.a_s_t6 { + background-color: #27727B; +} + +.art_state_btn div.a_s_t6:hover { + background-color: #1a4e54; +} + +.art_state_btn div:hover { + color: #fff; +} + +.art_state_btn div i { + margin: 0 8px 0 0; + font-weight: bolder; +} + +.art_caozuo_ div.btn_remarks { + position: absolute; + right: -22px; + top: -2px; + font-size: 13px; + background-color: #006699; + border-radius: 0px; + border-top-right-radius: 5px; +} + +.art_caozuo_ div.btn_remarks:hover { + text-decoration: underline; + background-color: #045883; +} + +.art_state_remark { + margin: 30px 0 0 0; + border: 1px solid #dcdfe6; + border-radius: 5px; + padding: 20px; +} + +.art_state_remark>div { + font-size: 13px; + color: #888; + margin: -10px 0 35px 30px; +} + +.art_state_remark>p { + line-height: 24px; + margin: -10px 0 0 30px; +} + + +.art_state_remark img { + width: 15px; + vertical-align: baseline; + margin: 0 0 0 10px; + cursor: pointer; +} + +.rev_list { + margin: 0 0 0 20px; +} + +.rev_list>p { + margin: 0 0 15px 0; +} + + +.rev_list>p>a { + margin: 0 0 0 20px; + color: #006699; + cursor: pointer; +} + +.rev_list>p>a:hover { + text-decoration: underline; +} + +.rev_list>p>a>i { + margin: 0 5px 0 0; +} + +.revi_tab_sty th { + background-color: #f5f7fa !important; + color: #006699 !important; +} + +.revi_pag_sty.is-background .el-pager li:not(.disabled).active { + background-color: #e4eaf3 !important; + color: #006699 !important; + border: 1px solid #e5e6e9 !important; +} + +.revi_tab_sty .rev_lise { + color: #006699; + font-weight: bold; + cursor: pointer; +} + +.revi_tab_sty .rev_lise:hover { + text-decoration: underline; +} + +.add_revi { + background-color: #f5f7fa !important; + border-color: #e5e6e9 !important; + color: #006699 !important; + font-weight: bold; +} + +.add_revi i { + font-weight: bold; +} + +.add_revi:hover { + text-decoration: underline !important; +} + +.text_upload_tip { + display: inline-block; + line-height: 32px; + margin: 0 0 0 15px; + color: #888 !important; + vertical-align: text-bottom; +} diff --git a/src/assets/img/liucheng.png b/src/assets/img/liucheng.png new file mode 100644 index 0000000..c818dff Binary files /dev/null and b/src/assets/img/liucheng.png differ diff --git a/src/assets/img/right_band.png b/src/assets/img/right_band.png new file mode 100644 index 0000000..26c9508 Binary files /dev/null and b/src/assets/img/right_band.png differ diff --git a/src/assets/img/state_edt.png b/src/assets/img/state_edt.png new file mode 100644 index 0000000..d2678e1 Binary files /dev/null and b/src/assets/img/state_edt.png differ diff --git a/src/assets/img/state_email.png b/src/assets/img/state_email.png new file mode 100644 index 0000000..14b7407 Binary files /dev/null and b/src/assets/img/state_email.png differ diff --git a/src/assets/img/state_one.png b/src/assets/img/state_one.png new file mode 100644 index 0000000..cb9b298 Binary files /dev/null and b/src/assets/img/state_one.png differ diff --git a/src/components/common/Header.vue b/src/components/common/Header.vue index ea79aca..ef6b448 100644 --- a/src/components/common/Header.vue +++ b/src/components/common/Header.vue @@ -85,6 +85,7 @@ + {{ $t('system.loyout') }} @@ -162,6 +163,11 @@ methods: { // 用户名下拉菜单选择事件 handleCommand(command) { + // 个人中心 + if (command == 'personcenter') { + this.$router.push('/percenter'); + } + // 退出系统 if (command == 'loginout') { localStorage.removeItem('U_role'); localStorage.removeItem('U_id'); @@ -319,7 +325,7 @@ float: left; height: 40px; } - + .header .logo p { font-size: 12px; text-align: center; diff --git a/src/components/common/Sidebar.vue b/src/components/common/Sidebar.vue index 2ff685d..6682b89 100644 --- a/src/components/common/Sidebar.vue +++ b/src/components/common/Sidebar.vue @@ -99,6 +99,8 @@ + + + + diff --git a/src/components/page/articleDetailEditor_c.vue b/src/components/page/articleDetailEditor_c.vue new file mode 100644 index 0000000..83a0062 --- /dev/null +++ b/src/components/page/articleDetailEditor_c.vue @@ -0,0 +1,1084 @@ + + + diff --git a/src/components/page/articleDetailEditor_d.vue b/src/components/page/articleDetailEditor_d.vue new file mode 100644 index 0000000..ff75e40 --- /dev/null +++ b/src/components/page/articleDetailEditor_d.vue @@ -0,0 +1,947 @@ + + + + + + diff --git a/src/components/page/articleDetailEditor_e.vue b/src/components/page/articleDetailEditor_e.vue new file mode 100644 index 0000000..1073056 --- /dev/null +++ b/src/components/page/articleDetailEditor_e.vue @@ -0,0 +1,1085 @@ + + + diff --git a/src/components/page/articleDetailEditor_f.vue b/src/components/page/articleDetailEditor_f.vue new file mode 100644 index 0000000..6fcc510 --- /dev/null +++ b/src/components/page/articleDetailEditor_f.vue @@ -0,0 +1,961 @@ + + + diff --git a/src/components/page/articleDetailEditor_g.vue b/src/components/page/articleDetailEditor_g.vue new file mode 100644 index 0000000..3f112b0 --- /dev/null +++ b/src/components/page/articleDetailEditor_g.vue @@ -0,0 +1,1100 @@ + + + diff --git a/src/components/page/articleList.vue b/src/components/page/articleList.vue index 72b1540..8ac2554 100644 --- a/src/components/page/articleList.vue +++ b/src/components/page/articleList.vue @@ -13,7 +13,7 @@ - + @@ -23,10 +23,10 @@ Search - New Submission + New + Submission - > @@ -45,11 +45,187 @@ + +
+
+

+ ID : + {{item.accept_sn}} +

+

{{item.title}}

+

+ Type : + {{item.type | ellipsis}} + Journal : + {{item.journalname}} +

+

+ Update Time : + {{item.ctime}} +

+
+ {{item.state | stateChange}} +
+
+
+ Manuscript process + | + Detail + | + Files +
+
+ + Latest Progress : + + {{item.state | stateChange}} + + : click to + + Major revision + +
+
+ + + + +
+

+ Title :{{artextForm.title}} +

+

+ Type :{{artextForm.type | ellipsis}} +

+

+ Ethical Approval :{{artextForm.approval?'Yes':'No'}} +

+

+ Special Issues :{{ artextForm.special_title }} +

+ +

+ Journal :{{artextForm | journal_me}} +

+

+ Major :{{artextForm.major}} +

+ + +
+

+ + {{item.firstname}} {{item.lastname}} {{item.isSuper?'#':''}}{{item.isReport?'*':''}} +

+
+

+ + Email : {{item.email}} +

+

+ ORCID iD : {{item.orcid}} +

+

+ First author : + Yes + No +

+

+ Corresponding Author : + Yes + No +

+

+ Address : {{item.address}} +

+

+ Institution : {{item.company}} +

+

+ Department : {{item.department}} +

+

+ Title : {{item.title}} +

+

+ Country : {{item.country}} +

+
+
+
+
+

+ Abstrart :{{artextForm.abstrart}} +

+

+ KeyWords :{{artextForm.keyWords}} +

+

+ Fund :{{artextForm.fund}} +

+ +
+ + OK + +
+ + + + + OK + + @@ -58,10 +234,13 @@ name: 'articleList', data() { return { + baseUrl: this.Common.baseUrl, + mediaUrl: this.Common.mediaUrl, items: '', query: { username: localStorage.getItem('U_name'), - journal: localStorage.getItem('ms_journal_alias') ? parseInt(localStorage.getItem('ms_journal_alias')) : 0, + // journal: localStorage.getItem('ms_journal_alias') ? parseInt(localStorage.getItem('ms_journal_alias')) : 0, + journal: 0, name: '', state: 0, pageIndex: 1, @@ -70,11 +249,17 @@ tableData: [], multipleSelection: [], delList: [], + activeNames: [], + artextForm: {}, + coverLetterFileList: [], + picturesAndTablesFileList: [], + totalpageFileList: [], + manuscirptFileList: [], + authorList_name: '', editVisible: false, + artextVisible: false, + artfileVisible: false, Total: 0 - // form: {}, - // idx: -1, - // id: -1 }; }, created() { @@ -93,13 +278,20 @@ console.log(err); }); }, - // 获取数据 + // 获取文章列表数据 getdate() { this.$api .post('api/Article/getArticle', this.query) .then(res => { console.log(res); this.Total = res.total; + for (let i = 0; i < res.data.length; i++) { + let date = new Date(parseInt(res.data[i].ctime) * 1000); + let Y = date.getFullYear() + '-'; + let M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) + '-' : date.getMonth() + 1 + '-'; + let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate(); + res.data[i].ctime = Y + M + D; + } this.tableData = res.data; }) .catch(err => { @@ -170,12 +362,238 @@ if (row.editor_act == 1) { return 'hasChange-row'; } - } + }, + + // 点击稿件进程 + esy_mtps(e) { + this.$router.push({ + path: 'articleProcess', + query: { + id: e + } + }); + }, + // 点击稿件内容 + esy_deta(e) { + this.$api + .post('api/Article/getArticleDetail', { + articleId: e, + human: 'author' + }) + .then(res => { + this.artextForm = res.article + this.artextForm.major = res.major; + this.artextForm.authors = [] + let alist = res.authors; + let alist_name = []; + for (let i in alist) { + this.artextForm.authors.push({ + art_aut_id: alist[i].art_aut_id, + firstname: alist[i].firstname, + lastname: alist[i].lastname, + orcid: alist[i].orcid, + company: alist[i].company, + department: alist[i].department, + title: alist[i].author_title, + country: alist[i].country, + email: alist[i].email, + address: alist[i].address, + isSuper: alist[i].is_super == 1 ? true : false, + isReport: alist[i].is_report == 1 ? true : false + }); + if (i == alist.length - 1) { + alist_name.push(alist[i].firstname + ' ' + alist[i].lastname) + } else { + alist_name.push(alist[i].firstname + ' ' + alist[i].lastname + ' , ') + } + } + this.authorList_name = "Author : " + alist_name.join(""); + + this.artextVisible = true + + }) + .catch(err => { + console.log(err); + }); + + + }, + // 点击稿件文件 + esy_file(e) { + this.$api + .post('api/Article/getFilelistByArticleID', { + articleId: e + }) + .then(res => { + this.coverLetterFileList = res.coverLetter; + this.picturesAndTablesFileList = res.picturesAndTables; + this.manuscirptFileList = res.manuscirpt; + this.totalpageFileList = res.totalpage; + + this.artfileVisible = true + }) + .catch(err => { + console.log(err); + }); + + }, + + formatDate(timestamp) { + var date = new Date(timestamp * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000 + var Y = date.getFullYear() + '-'; + var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; + var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate(); + var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours(); + var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); + var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds(); + return Y + M + D + ' ' + h + ':' + m + ':' + s; + }, + }, + filters: { + // 文章类型 + ellipsis(value) { + let frag = ''; + switch (value) { + case "A": + frag = 'ARTICLE'; + break; + case 'B': + frag = 'REVIEW'; + break; + case 'C': + frag = 'CASE REPORT'; + break; + case 'P': + frag = 'RESEARCH PROPOSAL'; + break; + case 'N': + frag = 'NEWS'; + break; + case 'T': + frag = 'COMMENT'; + break; + case 'CT': + frag = 'CORRECTION'; + break; + case 'HT': + frag = 'HYPOTHESIS'; + break; + case 'PF': + frag = 'PREFACE'; + break; + case 'ET': + frag = 'EDITORIAL'; + break; + case 'RP': + frag = 'REPORT'; + break; + case 'EF': + frag = 'EMPIRICAL FORMULA'; + break; + case 'EM': + frag = 'EVIDENCE-BASED MEDICINE'; + break; + case 'EC': + frag = 'EXPERT CONSENSUS'; + break; + case 'LTE': + frag = 'LETTER TO EDITOR'; + break; + case 'QI': + frag = 'QUESTIONNAIRE INVESTIGATION'; + break; + case 'PT': + frag = 'PROTOCOL'; + break; + case 'CS': + frag = 'CASE SERIES'; + break; + default: + frag = 'OTHERS'; + } + return frag; + }, + + // 稿件状态 + stateChange(value) { + let str = ''; + switch (value) { + case 0: + str = 'Received'; + break; + case 1: + str = 'With editor'; + break; + case 2: + str = 'Under review'; + break; + case 3: + str = 'Reject'; + break; + case 4: + str = 'Revision'; + break; + case 5: + str = 'Accepted'; + break; + case 6: + str = 'Fininal decision'; + break; + default: + str = 'error!!'; + } + return str; + }, + // 稿件状态颜色 + stateColor(value) { + let str = ''; + switch (value) { + case 0: + str = 'background-color: #B5C334;'; + break; + case 1: + str = 'background-color: #f75822;'; + break; + case 2: + str = 'background-color: #0ebee1;'; + break; + case 3: + str = 'background-color: #f3170f;'; + break; + case 4: + str = 'background-color: #5a90e1;'; + break; + case 5: + str = 'background-color: #91cc75;'; + break; + case 6: + str = 'background-color: #27727B;'; + break; + default: + str = 'background-color: #888;'; + } + return str; + }, + journal_me(e) { + var frag = e.journalname; + if (e.special_num > 0) { + frag += "(Special Issues)"; + } + return frag; + }, + }, + computed: { + } + }; - diff --git a/src/components/page/articleListEditor.vue b/src/components/page/articleListEditor.vue index 53c26bb..a1ce7a2 100644 --- a/src/components/page/articleListEditor.vue +++ b/src/components/page/articleListEditor.vue @@ -167,8 +167,24 @@ this.getdate(); }, showdetaileditor(row) { + let stat_num='articleDetailEditor' + if(row.state==0){//Received + stat_num = 'articleDetailEditor_a' + }else if(row.state==1){//With editor + stat_num = 'articleDetailEditor_b' + }else if(row.state==2){//Under review + stat_num = 'articleDetailEditor_c' + }else if(row.state==3){//Reject + stat_num = 'articleDetailEditor_d' + }else if(row.state==4){//Revision + stat_num = 'articleDetailEditor_e' + }else if(row.state==5){//Accepted + stat_num = 'articleDetailEditor_f' + }else if(row.state==6){//Fininal decision + stat_num = 'articleDetailEditor_g' + } this.$router.push({ - path: 'articleDetailEditor', + path: stat_num, query: { id: row.article_id } diff --git a/src/components/page/articleProcess.vue b/src/components/page/articleProcess.vue new file mode 100644 index 0000000..c303fd4 --- /dev/null +++ b/src/components/page/articleProcess.vue @@ -0,0 +1,388 @@ + + + + + + diff --git a/src/components/page/articleReviewerDetail.vue b/src/components/page/articleReviewerDetail.vue index 46ab2db..bad9059 100644 --- a/src/components/page/articleReviewerDetail.vue +++ b/src/components/page/articleReviewerDetail.vue @@ -185,7 +185,7 @@ - + REFEREE'S ASSESSMENT diff --git a/src/components/page/authorApplyReviewer.vue b/src/components/page/authorApplyReviewer.vue index 281d482..21e820f 100644 --- a/src/components/page/authorApplyReviewer.vue +++ b/src/components/page/authorApplyReviewer.vue @@ -16,7 +16,7 @@

- + diff --git a/src/components/page/cenper_ter.vue b/src/components/page/cenper_ter.vue new file mode 100644 index 0000000..df697b3 --- /dev/null +++ b/src/components/page/cenper_ter.vue @@ -0,0 +1,420 @@ + + + + + diff --git a/src/components/page/monitorManuscript.vue b/src/components/page/monitorManuscript.vue index e95aac3..5f3dc58 100644 --- a/src/components/page/monitorManuscript.vue +++ b/src/components/page/monitorManuscript.vue @@ -229,6 +229,9 @@ case 'PT': frag = 'PROTOCOL'; break; + case 'CS': + frag = 'CASE SERIES'; + break; default: frag = 'OTHERS'; } diff --git a/src/components/page/monitorManuscriptDetail.vue b/src/components/page/monitorManuscriptDetail.vue index 4b7723b..c74c4e3 100644 --- a/src/components/page/monitorManuscriptDetail.vue +++ b/src/components/page/monitorManuscriptDetail.vue @@ -15,7 +15,7 @@ {{articleState}} - + {{form.accept_sn}} @@ -307,6 +307,9 @@ case 'PT': frag = 'PROTOCOL'; break; + case 'CS': + frag = 'CASE SERIES'; + break; default: frag = 'OTHERS'; } diff --git a/src/components/page/per_history.vue b/src/components/page/per_history.vue index 3fa5a97..05ac5d6 100644 --- a/src/components/page/per_history.vue +++ b/src/components/page/per_history.vue @@ -8,15 +8,12 @@
- - {{tag}} - - +
+ +

{{item.label}}

+

{{item.title}}

+

{{item.content}}

+
- + + + + -

- Dear reviewer, we recommend the available comment should be more than 40 words. -

@@ -328,36 +328,6 @@ required: true, message: "please input content", trigger: "blur" - }, { - validator: function(rule, value, callback) { - if (new RegExp("[\\u4E00-\\u9FFF]+", "g").test(value)) { - //中文 - let blankCount = 0; - for (let i in value.match(/ /g)) { - blankCount++ - } - let wenziCount = 0; - for (let j = 0; j < value.length; j++) { - if ((value.charCodeAt(j) < 0) || (value.charCodeAt(j) > 255)) { - wenziCount++ - } - } - if (blankCount + wenziCount <= 60) { - callback(new Error( - "Dear reviewer, we recommend the available comment should be more than 60 Chinese words.")); - } - } else { - //英文 - let blankCount = 0; - for (let i in value.match(/ /g)) { - blankCount++ - } - if (blankCount <= 40) { - callback(new Error("Dear reviewer, we recommend the available comment should be more than 40 words.")); - } - } - }, - trigger: "blur" }], } } @@ -392,7 +362,6 @@ this.$message.error(err); }); - } else { this.$message.error(res.msg); } @@ -513,23 +482,64 @@ if (this.questionform.is_anonymous == "" && this.questionform.is_anonymous != "0") { this.$message.error('Please choose disclose your name or remain anonymous.'); } else { + // 验证相加的字数 + let Char_Cter = this.questionform.qu9contents + ' ' + this.questionform.qu10contents + ' ' + + this.questionform.qu11contents + ' ' + this.questionform.qu12contents + ' ' + + this.questionform.qu13contents + ' ' + this.questionform.comment + if (new RegExp("[\\u4E00-\\u9FFF]+", "g").test(Char_Cter)) { + //中文 + let blankCount = 0; + for (let i in Char_Cter.match(/ /g)) { + blankCount++ + } + let wenziCount = 0; + for (let j = 0; j < Char_Cter.length; j++) { + if ((Char_Cter.charCodeAt(j) < 0) || (Char_Cter.charCodeAt(j) > 255)) { + wenziCount++ + } + } + if (blankCount + wenziCount <= 60) { + this.$message({ + offset: '380', + type: 'error', + message: "We encourage you to enrich your comment further to help improve the peer paper." + }) + return false + } + } else { + //英文 + let blankCount = 0; + for (let i in Char_Cter.match(/ /g)) { + blankCount++ + } + if (blankCount <= 40) { + this.$message({ + offset: '380', + type: 'error', + message: "We encourage you to enrich your comment further to help improve the peer paper." + }) + return false + } + } + + // 提交接口 this.loading = true this.$refs.question.validate((valid) => { if (valid) { - // this.$api.post('api/Reviewer/questionSubmit', this.questionform) - // .then((res) => { - // if (res.code == 0) { - // this.loading = false; - // this.$message.success('Success!!'); - // this.getData(); - // } else { - // this.loading = false; - // this.$message.error('question submit error'); - // } - // }); + this.$api.post('api/Reviewer/questionSubmit', this.questionform) + .then((res) => { + if (res.code == 0) { + this.loading = false; + this.$message.success('Success!!'); + this.getData(); + this.$router.push('/per_text_success'); + } else { + this.loading = false; + this.$message.error('question submit error'); + } + }); } else { - this.loading = false - this.$message.error('Please complete the information!'); + this.loading = false; } }); } diff --git a/src/components/page/per_text_fail.vue b/src/components/page/per_text_fail.vue new file mode 100644 index 0000000..d8fefa6 --- /dev/null +++ b/src/components/page/per_text_fail.vue @@ -0,0 +1,135 @@ + + + + + diff --git a/src/components/page/per_text_sq.vue b/src/components/page/per_text_sq.vue index 2bbe760..4d8d93c 100644 --- a/src/components/page/per_text_sq.vue +++ b/src/components/page/per_text_sq.vue @@ -256,11 +256,11 @@ - + + + + -

- Dear reviewer, we recommend the available comment should be more than 40 words. -

@@ -343,37 +343,7 @@ required: true, message: "please input content", trigger: "blur" - }, { - validator: function(rule, value, callback) { - if (new RegExp("[\\u4E00-\\u9FFF]+", "g").test(value)) { - //中文 - let blankCount = 0; - for (let i in value.match(/ /g)) { - blankCount++ - } - let wenziCount = 0; - for (let j = 0; j < value.length; j++) { - if ((value.charCodeAt(j) < 0) || (value.charCodeAt(j) > 255)) { - wenziCount++ - } - } - if (blankCount + wenziCount <= 60) { - callback(new Error( - "Dear reviewer, we recommend the available comment should be more than 60 Chinese words.")); - } - } else { - //英文 - let blankCount = 0; - for (let i in value.match(/ /g)) { - blankCount++ - } - if (blankCount <= 40) { - callback(new Error("Dear reviewer, we recommend the available comment should be more than 40 words.")); - } - } - }, - trigger: "blur" - }], + }] } } }, @@ -509,6 +479,47 @@ if (this.questionform.is_anonymous == "" && this.questionform.is_anonymous != "0") { this.$message.error('Please choose disclose your name or remain anonymous.'); } else { + // 验证相加的字数 + let Char_Cter = this.questionform.qu9contents + ' ' + this.questionform.qu10contents + ' ' + + this.questionform.qu11contents + ' ' + this.questionform.qu12contents + ' ' + + this.questionform.qu13contents + ' ' + this.questionform.comment + if (new RegExp("[\\u4E00-\\u9FFF]+", "g").test(Char_Cter)) { + //中文 + let blankCount = 0; + for (let i in Char_Cter.match(/ /g)) { + blankCount++ + } + let wenziCount = 0; + for (let j = 0; j < Char_Cter.length; j++) { + if ((Char_Cter.charCodeAt(j) < 0) || (Char_Cter.charCodeAt(j) > 255)) { + wenziCount++ + } + } + if (blankCount + wenziCount <= 60) { + this.$message({ + offset: '380', + type: 'error', + message: "We encourage you to enrich your comment further to help improve the peer paper." + }) + return false + } + } else { + //英文 + let blankCount = 0; + for (let i in Char_Cter.match(/ /g)) { + blankCount++ + } + if (blankCount <= 40) { + this.$message({ + offset: '380', + type: 'error', + message: "We encourage you to enrich your comment further to help improve the peer paper." + }) + return false + } + } + + // 提交接口 this.loading = true; this.$refs.question.validate((valid) => { if (valid) { @@ -518,6 +529,7 @@ this.loading = false; this.$message.success('Success!!'); this.getData(); + this.$router.push('/per_text_success'); } else { this.loading = false; this.$message.error('question submit error'); diff --git a/src/components/page/per_text_success.vue b/src/components/page/per_text_success.vue new file mode 100644 index 0000000..3f453f1 --- /dev/null +++ b/src/components/page/per_text_success.vue @@ -0,0 +1,104 @@ + + + + + diff --git a/src/components/page/reviewerAdd.vue b/src/components/page/reviewerAdd.vue deleted file mode 100644 index 84a504a..0000000 --- a/src/components/page/reviewerAdd.vue +++ /dev/null @@ -1,734 +0,0 @@ - - - - - - diff --git a/src/components/page/reviewerArticleDetail.vue b/src/components/page/reviewerArticleDetail.vue index 454fcf0..45820ee 100644 --- a/src/components/page/reviewerArticleDetail.vue +++ b/src/components/page/reviewerArticleDetail.vue @@ -343,7 +343,7 @@ - + Imperfect style
Too long @@ -354,16 +354,16 @@
- + - - -

- Dear reviewer, we recommend the available comment should be more than 40 words. -

+ + + + + - + Disclose name
Remain anonymous @@ -466,8 +466,10 @@ } } if (blankCount + wenziCount <= 60) { - callback(new Error( + return callback(new Error( "Dear reviewer, we recommend the available comment should be more than 60 Chinese words.")); + } else { + return callback(); } } else { //英文 @@ -476,7 +478,9 @@ blankCount++ } if (blankCount <= 40) { - callback(new Error("Dear reviewer, we recommend the available comment should be more than 40 words.")); + return callback(new Error("Dear reviewer, we recommend the available comment should be more than 40 words.")); + } else { + return callback(); } } }, diff --git a/src/components/page/reviewerArticleList.vue b/src/components/page/reviewerArticleList.vue index b708608..54042bb 100644 --- a/src/components/page/reviewerArticleList.vue +++ b/src/components/page/reviewerArticleList.vue @@ -89,8 +89,8 @@ return 'Accepted'; } else if (cellValue == 4) { return 'invalid'; - } else if (row.state == 5) { - frag = 'invitation'; + } else if (cellValue == 5) { + return 'invitation'; } } diff --git a/src/components/page/reviewerList.vue b/src/components/page/reviewerList.vue index 3785977..6e195ff 100644 --- a/src/components/page/reviewerList.vue +++ b/src/components/page/reviewerList.vue @@ -77,11 +77,7 @@
- - - - - + @@ -147,11 +143,7 @@ - - - - - + @@ -213,7 +205,7 @@ - + @@ -254,7 +246,6 @@ Cancel OK - @@ -284,7 +275,7 @@ }, mess_age: {}, editForm: { - title:'', + title: '', }, oldForm: {}, delOpen: false, @@ -308,15 +299,15 @@ pageIndex: 1, pageSize: 15 }, - df_technical:[{ + df_technical: [{ label: 'Prof', - },{ + }, { label: 'Associate Prof.', - },{ + }, { label: 'Assistant Prof.', - },{ + }, { label: 'Ph.D.', - },{ + }, { label: 'Others', }], link_Total: 0, @@ -679,8 +670,8 @@ // 编辑操作 handleEdit(index, row) { this.idx = index; + row.title = row.technical; this.editForm = Object.assign({}, row); - this.editForm.title = this.editForm.technical; this.editForm.cv = this.editForm.qualifications; this.fileL_pdf3 = []; if (this.editForm.qualifications != "") { @@ -690,32 +681,31 @@ } this.editForm.maj_cn = [this.editForm.major, this.editForm.cmajor]; this.editVisible = true; - + }, // 保存编辑 saveEdit(editForm) { - console.log(this.editForm) this.$refs.edit_Form.validate((valid) => { if (this.editForm.qualifications == '') { this.$message.error('Please make sure that the qualifications document is uploaded successfully'); return false; } if (valid) { - // this.$api - // .post('api/Reviewer/editReviewerForEditor', this.editForm) - // .then(res => { - // if (res.code == 0) { - // this.editVisible = false; - // this.btn_alert = false; - // this.$message.success(`Successfully changed line ${this.idx + 1} `); - // this.getContent(); - // } else { - // this.$message.error(res.msg); - // } - // }) - // .catch(err => { - // this.$message.error(err); - // }); + this.$api + .post('api/Reviewer/editReviewerForEditor', this.editForm) + .then(res => { + if (res.code == 0) { + this.editVisible = false; + this.btn_alert = false; + this.$message.success(`Successfully changed line ${this.idx + 1} `); + this.getContent(); + } else { + this.$message.error(res.msg); + } + }) + .catch(err => { + this.$message.error(err); + }); } else { this.$message.error('error submit!!'); return false; diff --git a/src/components/page/time_axis.vue b/src/components/page/time_axis.vue new file mode 100644 index 0000000..c77c820 --- /dev/null +++ b/src/components/page/time_axis.vue @@ -0,0 +1,111 @@ + + + + + + diff --git a/src/components/page/time_talk.vue b/src/components/page/time_talk.vue new file mode 100644 index 0000000..30481df --- /dev/null +++ b/src/components/page/time_talk.vue @@ -0,0 +1,97 @@ + + + + + + diff --git a/src/components/page/you_text.vue b/src/components/page/you_text.vue index 8ec250b..da501d7 100644 --- a/src/components/page/you_text.vue +++ b/src/components/page/you_text.vue @@ -220,11 +220,11 @@ - + + + + -

- Dear reviewer, we recommend the available comment should be more than 40 words. -

@@ -321,8 +321,10 @@ } } if (blankCount + wenziCount <= 60) { - callback(new Error( + return callback(new Error( "Dear reviewer, we recommend the available comment should be more than 60 Chinese words.")); + } else { + return callback(); } } else { //英文 @@ -331,7 +333,9 @@ blankCount++ } if (blankCount <= 40) { - callback(new Error("Dear reviewer, we recommend the available comment should be more than 40 words.")); + return callback(new Error("Dear reviewer, we recommend the available comment should be more than 40 words.")); + } else { + return callback(); } } }, @@ -479,6 +483,7 @@ this.loading = false; this.$message.success('success!!'); this.getData(); + this.$router.push('/per_text_success'); } else { this.loading = false; this.$message.error('question submit error'); diff --git a/src/router/index.js b/src/router/index.js index eca3a6b..132f814 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -43,7 +43,6 @@ export default new Router({ component: () => import( /* webpackChunkName: "table" */ '../components/page/articleListEditor.vue'), meta: { title: 'Manuscript to be examined', - permission: 2 } }, { @@ -51,7 +50,62 @@ export default new Router({ component: () => import('../components/page/articleDetailEditor.vue'), meta: { title: 'Manuscript detail', - permission: 2 + }, + hidden: true + }, + { + path: '/articleDetailEditor_a', + component: () => import('../components/page/articleDetailEditor_a.vue'), + meta: { + title: 'Manuscript Received', + }, + hidden: true + }, + { + path: '/articleDetailEditor_b', + component: () => import('../components/page/articleDetailEditor_b.vue'), + meta: { + title: 'Manuscript With editor', + }, + hidden: true + }, + { + path: '/articleDetailEditor_c', + component: () => import('../components/page/articleDetailEditor_c.vue'), + meta: { + title: 'Manuscript Under review', + }, + hidden: true + }, + { + path: '/articleDetailEditor_d', + component: () => import('../components/page/articleDetailEditor_d.vue'), + meta: { + title: 'Manuscript Reject', + }, + hidden: true + }, + { + path: '/articleDetailEditor_e', + component: () => import('../components/page/articleDetailEditor_e.vue'), + meta: { + title: 'Manuscript Revision', + }, + hidden: true + }, + { + path: '/articleDetailEditor_f', + component: () => import('../components/page/articleDetailEditor_f.vue'), + meta: { + title: 'Manuscript Accepted', + }, + hidden: true + }, + { + path: '/articleDetailEditor_g', + component: () => import('../components/page/articleDetailEditor_g.vue'), + meta: { + title: 'Manuscript Fininal decision', }, hidden: true }, @@ -63,6 +117,14 @@ export default new Router({ }, hidden: true }, + { + path: '/articleProcess', + component: () => import('../components/page/articleProcess.vue'), + meta: { + title: 'Manuscript process', + }, + hidden: true + }, { path: 'articleRevise', component: () => import('../components/page/articleRevise.vue'), @@ -123,6 +185,22 @@ export default new Router({ title: 'Journal list' } }, + { + path: 'reviewerArticleDetail', + component: () => import('../components/page/reviewerArticleDetail.vue'), + meta: { + title: 'Reviewer Article Detail' + }, + hidden: true + }, + { + path: 'reviewerArticleList', + component: () => import('../components/page/reviewerArticleList.vue'), + meta: { + title: 'Reviewer Article List' + }, + hidden: true + }, { path: 'authorApplyReviewer', component: () => import('../components/page/authorApplyReviewer.vue'), @@ -160,21 +238,6 @@ export default new Router({ title: 'Author transferred to reviewer list' } }, - { - path: '/reviewerArticleList', - component: () => import('../components/page/reviewerArticleList.vue'), - meta: ({ - title: 'Reviewer article list' - }) - }, - { - path: '/reviewerArticleDetail', - component: () => import('../components/page/reviewerArticleDetail.vue'), - meta: ({ - title: 'Reviewer article detail' - }), - hidden: true - }, { path: '/reviewerList', component: () => import('../components/page/reviewerList.vue'), @@ -218,6 +281,7 @@ export default new Router({ title: 'Apply success' } }, + { path: '/reviewerImportError', component: () => import('../components/page/reviewerImportError.vue'), @@ -225,13 +289,6 @@ export default new Router({ title: 'Import error' } }, - { - path: '/reviewerAdd', - component: () => import('../components/page/reviewerAdd.vue'), - meta: { - title: 'Reviewer Add' - } - }, { path: '/monitorManuscript', component: () => import('../components/page/monitorManuscript.vue'), @@ -280,7 +337,7 @@ export default new Router({ hidden: true }, { - path: '/citationanalysis',//引用情况分析 + path: '/citationanalysis', //引用情况分析 component: () => import('../components/page/analysis_report.vue'), meta: { title: 'Citation Analysis Report' @@ -307,32 +364,33 @@ export default new Router({ meta: { title: 'Editor-in-Chief article details' } - }, + }, { path: '/man_text_ls', //主编文章详情-历史 component: () => import('../components/page/man_text_ls'), meta: { title: 'Editor-in-Chief article details' } - }, + }, { path: '/man_report', //-统计-图表 component: () => import( /* webpackChunkName: "" */ '../components/page/man_report'), meta: { title: 'Editor-in-Chief Statistical Analysis' } - }, + }, { path: '/peerewer', //审稿人进行中列表 component: () => import('../components/page/per_ewer'), meta: { title: 'Reviewer' } - },{ + }, { path: '/perhistory', //审稿人历史列表 component: () => import('../components/page/per_history'), meta: { - title: 'Reviewer historical manuscripts' + title: 'Reviewer historical manuscripts', + // keepAlive: true, } }, { path: '/perhistory_commen', //审稿人历史列表 @@ -340,28 +398,42 @@ export default new Router({ meta: { title: 'Reviewer historical comment' } - }, + }, { path: '/per_text', //审稿人文章详情 component: () => import('../components/page/per_text'), meta: { title: 'Reviewer article details' } - }, + }, { path: '/per_text_yq', //审稿人文章详情-邀请 component: () => import('../components/page/per_text_yq'), meta: { title: 'Reviewer article details' } - }, + }, + { + path: '/per_text_success', //审稿人文章-审稿成功页 + component: () => import('../components/page/per_text_success'), + meta: { + title: 'Review completed' + } + }, + { + path: '/per_text_fail', + component: () => import('../components/page/per_text_fail.vue'), + meta: { + title: 'Review fail' + } + }, { path: '/editorial', //编委进行中列表 component: () => import('../components/page/edit_ial'), meta: { title: 'Editorial board member' } - },{ + }, { path: '/edithistory', //编委历史列表 component: () => import('../components/page/edit_history'), meta: { @@ -379,7 +451,7 @@ export default new Router({ meta: { title: 'Editorial board member article details' } - }, + }, { path: '/youthed', //青年编委进行中列表 component: () => import('../components/page/you_thed'), @@ -388,7 +460,14 @@ export default new Router({ } }, { - path: '/you_text', //青年编委-审稿详情 + path: '/percenter', //青年编委-审稿详情 + component: () => import('../components/page/cenper_ter'), + meta: { + title: 'Personal Center' + } + }, + { + path: '/you_text', //个人中心 component: () => import('../components/page/you_text'), meta: { title: 'Young scientist member article details'