diff --git a/src/components/page/Re_review.vue b/src/components/page/Re_review.vue index 329df97..84af234 100644 --- a/src/components/page/Re_review.vue +++ b/src/components/page/Re_review.vue @@ -155,7 +155,16 @@ - + + + + REFEREE'S ASSESSMENT diff --git a/src/components/page/articleReviewerDetail.vue b/src/components/page/articleReviewerDetail.vue index fa0f18a..2844843 100644 --- a/src/components/page/articleReviewerDetail.vue +++ b/src/components/page/articleReviewerDetail.vue @@ -240,7 +240,17 @@ - + + + + +
Reject in current form, but may be resubmitted
Reject
- +
Reject
- + @@ -469,11 +477,21 @@

-
+
-->
- + + + + @@ -799,7 +817,24 @@ export default { // 显示初审对话框 showUnderReview(item) { this.dialogFormVisible1 = true; - this.undeQuestion = item; + this.undeQuestion = { ...item }; + this.undeQuestion.qu9 = item.qu9 == 0 ? false : true; + this.undeQuestion.qu9contents = item.qu9_contents; + this.undeQuestion.qu10 = item.qu10 == 0 ? false : true; + this.undeQuestion.qu10contents = item.qu10_contents; + this.undeQuestion.qu11 = item.qu11 == 0 ? false : true; + this.undeQuestion.qu11contents = item.qu11_contents; + this.undeQuestion.qu12 = item.qu12 == 0 ? false : true; + this.undeQuestion.qu12contents = item.qu12_contents; + this.undeQuestion.qu13 = item.qu13 == 0 ? false : true; + this.undeQuestion.qu13contents = item.qu13_contents; + this.undeQuestion.qu14 = item.qu14 == 0 ? false : true; + this.undeQuestion.qu14contents = item.qu14_contents; + this.undeQuestion.qu15 = item.qu15 == 0 ? false : true; + this.undeQuestion.qu15contents = item.qu15_contents; + this.undeQuestion.confident = item.confidential; + this.undeQuestion.comment = item.comments; + }, // 关闭初审对话框 closeUnderDia() { diff --git a/src/components/page/components/reviewArticle/index.vue b/src/components/page/components/reviewArticle/index.vue index d8bc434..27545a9 100644 --- a/src/components/page/components/reviewArticle/index.vue +++ b/src/components/page/components/reviewArticle/index.vue @@ -1,8 +1,141 @@ @@ -12,53 +145,71 @@ import newForm from './new.vue'; export default { components: { oldForm, - newForm, + newForm + }, + props: { + // isEdit: { + // type: Boolean, + // default: true + // }, + isNewForm: { + type: Boolean, + default: false + }, + type: { + type: String, + default: 'questionform' + }, + confident: { + type: Boolean, + default: true + }, + articleId: { + type: Number, + default: 0 + }, + journal_id: { + type: Number, + default: 0 + }, + txt_mess: { + type: Object, + default: {} + }, + form: { + type: Object, + default: {} + }, + btn_submit: { + type: Number, + default: 0 + } + }, + watch: { + form: { + handler(e) { + this.baseQuestionform = JSON.parse(JSON.stringify(e)); // 深拷贝,防止直接改 props + }, + immediate: true, + deep: true + }, + btn_submit: { + handler(e) { + this.isEdit = e == 0 ? true : false; // 深拷贝,防止直接改 props + }, + immediate: true, + deep: true + } }, data() { return { loading: false, - articleId: null, - txt_mess: {}, - questionform: { - rev_qu_id: '', - art_rev_id: this.$route.query.Art_id, - qu1: '', - qu2: '', - qu3: '', - qu4: '', - qu5: '', - qu6: '', - qu7: '', - qu8: '', - qu9: '', - qu9contents: '', - qu10: '', - qu10contents: '', - qu11: '', - qu11contents: '', - qu12: '', - qu12contents: '', - qu13: '', - qu13contents: '', - qu14: '', - qu14contents: '', - qu15: '', - qu15contents: '', - rated: '', - recommend: '', - other: '', - confident: '', - comment: '', - is_anonymous: '' - }, - btn_submit: 0, - journal_id: null, - rules: { - qu6: [{ required: true, message: 'please select', trigger: 'blur' }], - rated: [{ required: true, message: 'please select', trigger: 'blur' }], - comment: [{ required: true, message: 'please input content', trigger: 'blur' }], - recommend: [{ required: true, message: 'please select', trigger: 'blur' }] - } + + isEdit: true, + baseQuestionform: {}, + questionform: {}, + + rules: {} }; }, created() { @@ -67,36 +218,121 @@ export default { methods: { getData() { // Fetch article data - this.$api - .post('api/Reviewer/getartrevdate', { - revid: this.Art_id, - human: 'reviewer' - }) - .then((res) => { - this.txt_mess = res; - this.journal_id = res.journal_id; - }); + this.questionform = { ...this.baseQuestionform }; + if (this.isNewForm) { + this.rules = { + qu6: [{ required: true, message: 'please select', trigger: 'blur' }], + rated: [{ required: true, message: 'please select', trigger: 'blur' }], + comment: [{ required: true, message: 'please input content', trigger: 'blur' }], + recommend: [{ required: true, message: 'please select', trigger: 'blur' }] + }; + } else { + this.rules = { + qu6: [{ required: true, message: 'please select', trigger: 'blur' }], + rated: [{ required: true, message: 'please select', trigger: 'blur' }], + comment: [{ required: true, message: 'please input content', trigger: 'blur' }], + recommend: [{ required: true, message: 'please select', trigger: 'blur' }] + }; + } }, questionSubmit() { - if (this.questionform.is_anonymous === '') { + if (this.questionform.is_anonymous == '' && this.questionform.is_anonymous != '0') { this.$message.error('Please choose disclose your name or remain anonymous.'); + return false; } + const regex = /[\u4E00-\u9FA5\uF900-\uFA2D]{1,}/; + if (this.questionform.comment && this.questionform.comment != '') { + if (regex.test(this.questionform.comment)) { + // 如果输入的是中文,则清空输入框 + this.$message.error('Comments for the Authors cannot use Chinese.'); - this.loading = true; + return false; + } + } + if (this.questionform.confident && this.questionform.confident != '') { + if (regex.test(this.questionform.confident)) { + // 如果输入的是中文,则清空输入框 + this.$message.error('Confidential Comments to the Editor cannot be in Chinese.'); + + return false; + } + } + // 验证相加的字数 + 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.error('We encourage you to enrich your comment further to help improve the peer paper.'); + 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 <= 50) { + this.$message.error('We encourage you to enrich your comment further to help improve the peer paper.'); + 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; + const loading = this.$loading({ + lock: true, + text: 'Loading...', + spinner: 'el-icon-loading', + background: 'rgba(0, 0, 0, 0.7)' + }); this.$refs.question.validate((valid) => { if (valid) { this.$api.post('api/Reviewer/questionSubmit', this.questionform).then((res) => { - this.loading = false; - if (res.code === 0) { + if (res.code == 0) { + loading.close(); this.$message.success('Success!!'); + this.$emit('refresh'); this.$router.push('/per_text_success'); } else { + loading.close(); + // this.$message.error('Question submit error!'); this.$message.error(res.msg); } }); } else { - this.loading = false; + loading.close(); } }); } @@ -113,4 +349,7 @@ export default { border-top: 0; border-bottom: 0; } +::v-deep .el-divider { + background-color: #006699; +} diff --git a/src/components/page/components/reviewArticle/new copy.vue b/src/components/page/components/reviewArticle/new copy.vue deleted file mode 100644 index 431a3c9..0000000 --- a/src/components/page/components/reviewArticle/new copy.vue +++ /dev/null @@ -1,455 +0,0 @@ - - - - - diff --git a/src/components/page/components/reviewArticle/new.vue b/src/components/page/components/reviewArticle/new.vue index 2a42a73..2945e7b 100644 --- a/src/components/page/components/reviewArticle/new.vue +++ b/src/components/page/components/reviewArticle/new.vue @@ -1,439 +1,200 @@ @@ -442,8 +203,8 @@ export default { color: #006699; font-weight: bold; } -.titleInfo{ - color: #AAA; +.titleInfo { + color: #aaa; line-height: 18px; margin-top: -16px; margin-bottom: 12px; diff --git a/src/components/page/components/reviewArticle/old.vue b/src/components/page/components/reviewArticle/old.vue index b385079..46ca298 100644 --- a/src/components/page/components/reviewArticle/old.vue +++ b/src/components/page/components/reviewArticle/old.vue @@ -1,403 +1,173 @@ diff --git a/src/components/page/per_history_commen.vue b/src/components/page/per_history_commen.vue index 53b55aa..6a09e15 100644 --- a/src/components/page/per_history_commen.vue +++ b/src/components/page/per_history_commen.vue @@ -64,10 +64,9 @@

Recommendation : Minor revision - Major revision + Major revision Reject in current form, but may be resubmitted Reject -

Reviewed Time : {{ item.ctime }} @@ -78,7 +77,18 @@ - + + + + Reject in current form, but may be resubmitted
Reject - - - + @@ -295,7 +302,7 @@ > -
+ -->
diff --git a/src/components/page/per_text.vue b/src/components/page/per_text.vue index 0c68f54..1e22c74 100644 --- a/src/components/page/per_text.vue +++ b/src/components/page/per_text.vue @@ -92,8 +92,9 @@ - - + + + @@ -584,6 +585,7 @@ export default { }) .then((res) => { if (res.code == 0) { + this.questionform.rev_qu_id = res.data.rev_qu_id; this.questionform.qu1 = res.data.qu1; this.questionform.qu2 = res.data.qu2;