From 2765edb0dead54cd9ef4c19bc04f7af118de2616 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=8B=E4=BA=8E=E5=88=9D=E8=A7=81?= <752204717@qq.com> Date: Tue, 1 Jul 2025 17:09:55 +0800 Subject: [PATCH] tijiao --- src/components/common/langs/en.js | 38 +- src/components/common/langs/zh.js | 29 ++ src/components/page/articleDetailEditor.vue | 369 ++++++++++++++++++-- src/components/page/articleListEditor_A.vue | 289 +++++++++++++-- 4 files changed, 668 insertions(+), 57 deletions(-) diff --git a/src/components/common/langs/en.js b/src/components/common/langs/en.js index c1a9163..639895c 100644 --- a/src/components/common/langs/en.js +++ b/src/components/common/langs/en.js @@ -384,8 +384,8 @@ const en = { selectComment: 'Please select the text to add annotations to!', selectWord: 'Please select only a single word!', alreadyCommented: 'There are already annotations in the text, please select again!', - Multicolumn:'Multicolumn', - singleRow:"single-row", + Multicolumn: 'Multicolumn', + singleRow: "single-row", }, pendingPayment: { title: 'Title', @@ -468,7 +468,39 @@ const en = { 11: 'WeChat article publishing in progress...', fail: 'WeChat article publishing failed', unknown: 'Unknown status' - } + }, + aiReview: { + Explain: 'Explain', + state0: 'Journal Scope Assessment', + state1: 'Journal Scope Explanation', + state2: 'Scientific and Innovative Assessment', + state3: 'Scientific and Innovative Explanation', + state4: 'Contradiction Assessment', + state5: 'Contradiction Explanation', + state6: 'Unreasonable Assessment', + state7: 'Unreasonable Explanation', + state8: 'Ethics Assessment', + state9: 'Ethics Explanation', + state10: 'Academic Misconduct Assessment', + state11: 'Academic Misconduct Explanation', + state12: 'Conclusion Assessment', + state13: 'Conclusion Explanation', + state14: 'Fund Number', + state15: 'Article Hotspot', + state16: 'Review Direction', + state17: 'AI Publishing Suggestion', + state18: 'Review Time', + state19: 'Reference Evaluation', + state20: 'Clinical registration number and informed consent assessment', + state191: 'Proportion of references from the past three years', + + state192: 'Proportion of references from the past five years', + + state193: 'Proportion of references from JCR Q1', + + state194: 'Proportion of references from JCR Q2', + state21: 'Probability of article being cited', + } } diff --git a/src/components/common/langs/zh.js b/src/components/common/langs/zh.js index cda2e54..4ba9bc8 100644 --- a/src/components/common/langs/zh.js +++ b/src/components/common/langs/zh.js @@ -461,6 +461,35 @@ const zh = { fail: '公微文章发布失败', unknown: '状态未知' }, + aiReview: { + Explain: '解释', + state0: '期刊范围评估', + state1: '期刊范围解释', + state2: '科学性及创新性评估', + state3: '科学性及创新性解释', + state4: '矛盾评估', + state5: '矛盾解释', + state6: '不合理评估', + state7: '不合理解释', + state8: '伦理号评估', + state9: '伦理号解释', + state10: '学术不端评估', + state11: '学术不端解释', + state12: '结论的评估', + state13: '结论的解释', + state14: '基金号', + state15: '文章热点', + state16: '送审方向', + state17: 'AI发表建议', + state18: '审核时间', + state19: '参考文献评估', + state20: '临床注册号和知情同意书评估', + state191: '近三年参考文献的比例', + state192: '近五年参考文献的比例', + state193: '参考文献JCR1区比例', + state194: '参考文献JCR2区比例', + state21: '文章被引用概率', + } } diff --git a/src/components/page/articleDetailEditor.vue b/src/components/page/articleDetailEditor.vue index 769ba01..e8ba535 100644 --- a/src/components/page/articleDetailEditor.vue +++ b/src/components/page/articleDetailEditor.vue @@ -6,14 +6,45 @@
-
- - -

{{ AIcontent }}

-
+
+ +
+
+ +
+
+ +
Field {{ i + 1 }}:{{ v.str - }}
- +
@@ -543,6 +575,81 @@ frameborder="0" > + + +
+ + + +

+ Abstract :{{ currentArticleData.abstrart }} +

+

+ Keywords :{{ currentArticleData.keywords }} +

+
+
+ +
+

+ {{ $t('aiReview.state17') }} + + {{ currentArticleData.ai_review['overall_evaluation'] }} +

+

+ {{ this.$t('aiReview.state18') }} : {{ currentArticleData.ai_review['create_time'] }} +

+

+ {{ $t('AI.AIAbstractInfo') }} +

+ + + + + + + {{ `${i + 1}. ${v.topic} : ` }} + +
+
+
+ + {{ `(${index + 1}) ${item.topic} : ` }} + +
+
+ {{ currentArticleData.ai_review[item.value] }} + + + {{ currentArticleData.ai_review[item.explanationValue] }} + +
+
+
+
+
{{ currentArticleData.ai_review[v.value] }}
+ +
+ {{ $t('aiReview.Explain') }} : {{ currentArticleData.ai_review[v.explanationValue] }} +
+
+
+
+
+
+ + + Close + +
@@ -554,8 +661,10 @@ export default { }, data() { return { - researchAreas:['1'], - AIcontent:'', + isShowAI: false, + currentArticleData: {}, + researchAreas: ['1'], + AIcontent: '', previewData: {}, baseUrl: this.Common.baseUrl, mediaUrl: this.Common.mediaUrl, @@ -626,7 +735,7 @@ export default { { state: 6, title: this.$t('artstate.state6') - }, + } // { // state: 5, // title: this.$t('artstate.state5') @@ -672,19 +781,136 @@ export default { }, Resubmitrules: { journalId: [{ required: true, message: 'Please select the name of the journal to be forwarded to' }] - } + }, + aiReview: [ + { + topic: this.$t('aiReview.state0'), + value: 'journal_scope_assessment', + explanationValue: 'journal_scope_explanation' + }, + + { + topic: this.$t('aiReview.state2'), + value: 'attribute_assessment', + explanationValue: 'attribute_explanation' + }, + + { + topic: this.$t('aiReview.state4'), + value: 'contradiction_assessment', + explanationValue: 'contradiction_explanation' + }, + + { + topic: this.$t('aiReview.state6'), + value: 'unreasonable_assessment', + explanationValue: 'unreasonable_explanation' + }, + + { + topic: this.$t('aiReview.state8'), + value: 'ethics_assessment', + explanationValue: '', + parameter: [ + { + topic: this.$t('aiReview.state8'), + value: 'ethics_assessment', + explanationValue: 'ethics_explanation' + }, + { + topic: this.$t('aiReview.state20'), + value: 'registration_assessment', + explanationValue: '' + } + ] + }, + + { + topic: this.$t('aiReview.state10'), + value: 'academic_assessment', + explanationValue: 'academic_explanation' + }, + + { + topic: this.$t('aiReview.state12'), + value: 'conclusion_assessment', + explanationValue: 'conclusion_explanation' + }, + { + topic: this.$t('aiReview.state14'), + value: 'fund_number', + explanationValue: '' + }, + { + topic: this.$t('aiReview.state15'), + value: 'hotspot', + explanationValue: '' + }, + { + topic: this.$t('aiReview.state16'), + value: 'submit_direction', + explanationValue: '' + }, + // { + // topic: this.$t('aiReview.state17'), + // value: 'overall_evaluation', + // explanationValue: '' + // }, + + { + topic: this.$t('aiReview.state19'), + value: 'create_time', + explanationValue: '', + color: 'rgb(0, 112, 192)', + parameter: [ + { + topic: this.$t('aiReview.state191'), + value: 'references_past_three', + explanationValue: '', + color: 'rgb(0, 112, 192)' + }, + { + topic: this.$t('aiReview.state192'), + value: 'references_past_five', + explanationValue: '', + color: 'rgb(0, 112, 192)' + }, + { + topic: this.$t('aiReview.state193'), + value: 'references_ratio_JCR1', + explanationValue: '', + color: 'rgb(0, 112, 192)' + }, + { + topic: this.$t('aiReview.state194'), + value: 'references_ratio_JCR2', + explanationValue: '', + color: 'rgb(0, 112, 192)' + } + ] + }, + { + topic: this.$t('aiReview.state21'), + value: 'cite_rate', + explanationValue: '' + } + + // { + // topic: this.$t('aiReview.state18'), + // value: 'create_time', + // explanationValue: '' + // } + ] }; }, - created: function () { - this.getAi(); - this.initarticle(); - + async created() { + await this.initarticle(); + await this.getAi(); this.initFileList(); this.getWordimgList(); this.getWordTablesList(); }, computed: { - // coverLetterUrl: function() { // return this.baseUrl + this.form.coverLetter; // }, @@ -742,16 +968,59 @@ export default { } }, methods: { - async getAi(){ - var that = this; - await this.$api - .post('api/Aireview/get', { - article_id: this.$route.query.id + + + + async creatAI() { + const loading = this.$loading({ + lock: true, + text: 'loading...', + spinner: 'el-icon-loading', + background: 'rgba(0, 0, 0, 0.7)' + }); + await this.$api + // api/Article/addArticle + .post('api/Aireview/review', { + article_id: this.editform.articleId }) - .then(async (res) => { - console.log('res at line 819:', res) - this.AIcontent = res.data.content?res.data.content:''; - + .then(async(res) => { + if (res.status==1) { + + loading.close(); + + await this.getAi() + await this.openAI(); + } + }) + .catch((err) => { + loading.close(); + this.$message.error('Please click to view again in 1 minute in AI analysis'); + }); + }, + openAI(data) { + this.isShowAI = true; + }, + async getAi() { + await this.$api + // api/Article/addArticle + .post('api/Aireview/get', { + article_id: this.editform.articleId + // article_id: 6332 + }) + .then((res) => { + this.currentArticleData = { + abstrart: this.form.abstrart, + keywords: this.form.keywords, + ai_review: '' + }; + if (res.data != null) { + this.currentArticleData.ai_review = res.data; + } + + console.log('this.currentArticleData at line 1312:', this.currentArticleData); + }) + .catch((err) => { + // this.$message.error('AI analysis failed'); }); }, async getWordimgList() { @@ -1422,19 +1691,51 @@ export default { } .beautiful-gradient { - background: linear-gradient(135deg, #f0f9fe, #dce6ff, #d7e9fd); - box-shadow: 0 8px 20px rgba(0, 0, 0, 0.01); - border-radius: 16px; + /* background: linear-gradient(135deg, #f0f9fe, #dce6ff, #d7e9fd); */ + box-shadow: 0 8px 20px rgba(0, 0, 0, 0.01); + /* border-radius: 16px; padding: 10px; box-sizing: border-box; color: #333; - font-family: "Segoe UI", sans-serif; - transition: transform 0.3s ease, box-shadow 0.3s ease; + font-family: "Segoe UI", sans-serif; */ + transition: transform 0.3s ease, box-shadow 0.3s ease; + border-radius: 30px; } .beautiful-gradient:hover { - transform: translateY(-4px); - box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15); + transform: translateY(-4px); + box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15); +} +.AISummaryAnalysis .titleBox { + display: flex; + align-items: center; + justify-content: center; + background-color: #6157fd; + padding: 4px; + border-radius: 4px; + margin-bottom: 20px; +} +.AISummaryAnalysis div .title { + display: inline-block; + width: auto; + color: #6157fd; + /* font-weight: bold; */ +} +::v-deep .AISummaryAnalysis .auth_collna_ew .el-collapse-item__header { + padding-left: 30px; +} +::v-deep .AISummaryAnalysis .el-form-item--mini.el-form-item, +.el-form-item--small.el-form-item { + margin-bottom: 10px; +}.beautiful-gradient1 { + background: linear-gradient(135deg, #f0f9fe, #dce6ff, #d7e9fd); + box-shadow: 0 8px 20px rgba(0, 0, 0, 0.01); + border-radius: 10px; + padding: 10px 20px 10px 20px !important; + box-sizing: border-box; + color: #333; + font-family: 'Segoe UI', sans-serif; + transition: transform 0.3s ease, box-shadow 0.3s ease; + border-radius: 30px; } - diff --git a/src/components/page/articleListEditor_A.vue b/src/components/page/articleListEditor_A.vue index 10705d7..47fd5a6 100644 --- a/src/components/page/articleListEditor_A.vue +++ b/src/components/page/articleListEditor_A.vue @@ -107,15 +107,17 @@

@@ -408,7 +410,7 @@ overflow: hidden; text-overflow: ellipsis; " - >{{ v.author_account&&v.author_account.realname?v.author_account.realname:'' }}{{ v.author_account && v.author_account.realname ? v.author_account.realname : '' }}
@@ -1348,9 +1350,9 @@
- +
- +