diff --git a/src/components/page/articleDetailEditor.vue b/src/components/page/articleDetailEditor.vue index 6362a60..769ba01 100644 --- a/src/components/page/articleDetailEditor.vue +++ b/src/components/page/articleDetailEditor.vue @@ -132,10 +132,11 @@

- +
Field {{ i + 1 }}:{{ v.str - }} -
+
Search
-
- - -
- ID : +
+

+ ID : + S + + {{ item.accept_sn }} + + | + {{ item.type | jtName }} + | + + + {{ iken }} + , + + + + Manuscript Tracking + + + Plagiarism Check : + {{ item.repetition }} % + Change + + | + + Status : + + {{ stateFormat(item.state) }} + + + Change + + + Begin Produce + + +

+
+ + +
+ + {{ item.accept_sn }} --> - Type : + {{ iken }} , - - Status : + Status : {{ stateFormat(item.state) }} @@ -98,228 +144,293 @@ Plagiarism Check : {{ item.repetition }} % - Change - + Change --> + - {{ formatDate(ikrm.ctime) }} - - - - -
-
-
-

- Figures - ({{ item.file.picturesAndTables.length }}) : - - -

-
- - - Uploader {{ ikrmIndex+1 }} - - {{ formatDate(ikrm.ctime) }} - - - - -
-
-
-

- Title page - ({{ item.file.totalpage.length }}) : - - -

-
- - - Uploader {{ikrmIndex}} - - {{ formatDate(ikrm.ctime) }} - - - - -
-
-
-

- Manuscirpt - ({{ item.file.manuscirpt.length }}) : - - -

-
- - - Uploader {{ ikrmIndex+1 }} - - - {{ formatDate(ikrm.ctime) }} - - - - -
-
-
-

- Supplementary Material - ({{ item.file.supplementary.length }}) : - - -

-
- - - Uploader {{ ikrmIndex+1 }} - - {{ formatDate(ikrm.ctime) }} - - - - -
-
+
-->
-
-
- AI scoring -

- Initial review score : - {{ item.scoring }} - -

-

- Initial review score : - {{ item.scoring }} -

+
+ + {{ item.title }} -
-
-
-
- - + Author's previous articles + + + + - overflow: hidden; - text-overflow: ellipsis; - " - >{{ v.author_account.realname }} + Research areas + + + +
+ +
+
+ Manuscript Files +

+
+

+ Cover letter + ({{ item.file.coverLetter.length }}) : + + +

+ +
+
+ + + + + + + + {{ formatDate(ikrm.ctime) }} + + + +
+
+
+
+

+ Figures + ({{ item.file.picturesAndTables.length }}) : + + +

-
- - WOS : - +
+
+ + + + + {{ formatDate(ikrm.ctime) }} - - Scopus : - + + + +
+
+
+
+

+ Title page + ({{ item.file.totalpage.length }}) : + + +

+ +
+
+ + + + + {{ formatDate(ikrm.ctime) }} - - Google : - + + + +
+
+
+
+

+ Manuscirpt + ({{ item.file.manuscirpt.length }}) : + + +

+
+
+ + + + + + {{ formatDate(ikrm.ctime) }} - - - + + + +
+
+
+
+

+ Supplementary Material + ({{ item.file.supplementary.length }}) : + + +

+
+
+ + + + + {{ formatDate(ikrm.ctime) }} + + + +
- - -

- Comprehensive Score : - {{ finalCount(item) }} -

-
- -
-
- Corresponding Author -

-
-

- Name : - {{ item.realname }} - ({{ item.phone }}) -

-

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

+ Corresponding Author +

+
+

+ Name : + {{ item.realname }} + ({{ item.phone }}) +

+

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

+
+

+ + Communication

-

- Communication -

-
-
- Remarks : - {{ item.remarks }} - Change +
+ Remarks : + {{ item.remarks }} + Change +
@@ -795,8 +952,8 @@

{{ remark.title }}

- - + + @@ -1200,6 +1357,29 @@ Close + + + +

+ {{ majorMes.title }} +

+
+ + + + +
+ + Cancel + Save + +
@@ -1215,6 +1395,9 @@ export default { props: ['journals'], data() { return { + majorValueList: [], + majorBox: false, + majorMes: {}, isShowAI: false, currentArticleData: {}, rules: {}, @@ -1363,6 +1546,7 @@ export default { } ], bankVisible: false, + majorData: {}, googleSearchInfo: '' }; }, @@ -1375,6 +1559,58 @@ export default { } }, methods: { + async fetchMajorData(article_id) { + // if (!this.majorData[userId]) { + // 判断是否已经加载过该用户的数据 + const data = await this.getMajorData(article_id); // 获取数据 + + this.$set(this.majorData, article_id, data); // 使用 Vue.set 确保数据是响应式的 + // } + }, + // 修改标记 + async getMajorData(article_id) { + try { + const res = await this.$api.post('api/Article/getArticleDetail', { articleId: article_id, human: 'editor' }); + if (res.article&&res.article.majors.length>0) { + return res.article.majors; // 返回数据 + } else { + return []; // 如果没有数据,返回空数组 + } + } catch (error) { + console.error('Error fetching data:', error); + return []; // 如果发生错误,返回空数组 + } + }, + BoxMajor(e, data) { + this.majorMes.disabled = e.state == 0 ? false : true; + // this.majorMes.realname = e.realname; + // this.majorMes.user_id = e.user_id; + this.majorMes.title = e.title; + + this.$api + .post('api/Article/getArticleDetail', { + articleId: e.article_id, + human: 'editor' + }) + .then((res) => { + if (this.majorMes.disabled) { + this.majorValueList = [...res.article.majors]; + } else { + this.majorValueList = [...res.article.majors].map((item) => ({ + selectedValue: Array.isArray(item.major) + ? item.major + : typeof item.major === 'string' + ? item.major.split(',').map(Number) + : [item.major] + })); + } + + this.majorBox = true; + }); + }, + openFile(url) { + window.open(url, '_blank'); + }, openAI(data) { this.isShowAI = true; this.currentArticleData = { ...data }; @@ -1579,6 +1815,10 @@ export default { this.Total = res.total; this.tableData = res.data; for (let i = 0; i < this.tableData.length; i++) { + // if (this.query.state == 0) { + // this.fetchMajorData(this.tableData[i].article_id); // 加载第一个用户的数据 + // } + this.tableData[i].file_cover = 1; this.tableData[i].file_figer = 1; this.tableData[i].file_total = 1; @@ -1948,13 +2188,14 @@ export default { this.editbox = true; this.remark.title = e.title; this.remark.articleId = e.article_id; + this.remark.content = e.remarks; // var remarksList = e.remarks.split(/。|\n|\r\n/); - var remarksList = e.remarks.split('。'); - this.remark.contentList = remarksList - .filter((item) => item.trim() !== '') // 过滤空内容 - .map((item) => { - return { text: item + '' }; // 补回句号,或根据需要自定义 - }); + // var remarksList = e.remarks.split('。'); + // this.remark.contentList = remarksList + // .filter((item) => item.trim() !== '') // 过滤空内容 + // .map((item) => { + // return { text: item + '' }; // 补回句号,或根据需要自定义 + // }); }, // 查重弹出框 changeRepe(e) { @@ -2530,14 +2771,22 @@ export default { .mangu_list { color: #333; - margin: 0 0 20px 0; + margin: 0 0 35px 0; font-size: 14px; padding: 10px 20px; - border-radius: 5px; + border-bottom-right-radius: 8px; + border-bottom-left-radius: 8px; + /* border-radius: 5px; */ border: 1px solid #ebeef5; + /* border: 1px solid #0077b8e6; */ background-color: #fff; position: relative; } +.mangu_list:hover { + + border: 1px solid #0077b8e6; + +} .mangu_list:nth-child(2n + 1) { background-color: #fafafa; @@ -2553,7 +2802,7 @@ export default { } .mangu_list .man_title { - margin: 2px 100px 20px 0; + margin: 2px 40px 10px 0; font-weight: bolder; letter-spacing: -0.5px; font-size: 16px; @@ -2567,8 +2816,10 @@ export default { } .mangu_list div.fi_new { - margin: 0 0 0 10px; - margin-bottom: 10px; + display: flex; + align-items: center; + margin: 0 0 0 00px; + margin-bottom: 1px; text-align: left; } @@ -2576,48 +2827,48 @@ export default { margin-bottom: 5px; } -.mangu_list div.fi_new > div { +.mangu_list div.fi_new div > div { color: #333; display: block; - margin: 0 0 5px 0; + margin: 5px 0 0px 5px; line-height: 22px; } -.mangu_list div.fi_new > div > img { +.mangu_list div.fi_new div > div > img { width: 15px; vertical-align: text-bottom; margin: 0 5px 0 0; } -.mangu_list div.fi_new > div > span > font { +.mangu_list div.fi_new div > div > span > font { color: #888; margin: 0 5px 0 0; font-size: 13px; letter-spacing: -1px; } -.mangu_list div.fi_new > div > span > i { +.mangu_list div.fi_new div > div > span > i { font-size: 12px; color: #888; margin: 0 0 0 3px; font-style: normal; } -.mangu_list div.fi_new > div > span > i > i { +.mangu_list div.fi_new div > div > span > i > i { margin-right: 5px; } -.mangu_list div.fi_new > div > a { +.mangu_list div.fi_new div > div > a { margin: 0 5px 0 0; } .mangu_list div.fi_new .download { font-weight: bold; color: #75abf1; - margin: 0 0 0 10px; + margin: 0 0 0 4px; } -.mangu_list div.fi_new > div > a:hover .download { +.mangu_list div.fi_new div > div > a:hover .download { color: #006699; } @@ -2636,7 +2887,12 @@ export default { .mangu_list .fixCard { text-align: center; background: #0066990d; - padding: 14px 20px; + padding: 14px 10px; + margin-left: 6px; + box-sizing: border-box; +} +.mangu_list .fixCard:nth-child(1) { + margin-left: 0px; } .gugeList { @@ -2808,4 +3064,38 @@ export default { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15); } +.openFile { + cursor: pointer; +} +.openFile :hover i { + color: #333 !important; +} +.articleBaseInfo { + text-align: left !important; + line-height: 28px; + color: #333; +} +.articleTopBaseInfo { + color: #fff; + padding: 0 10px; + font-size: 14px; +} +.articleBaseInfo .labelTitle { + color: #333; + font-weight: bold; +} +.articleTopBaseInfo .labelTitle { + color: #fff !important; + font-size: 16px; +} +.articleListEditorA .el-button--mini, +.el-button--mini.is-round { + padding: 6px 10px; +} +.majorDataBox p:nth-child(1) { + border-top: none !important; +} +.mangu_list div.fi_new div > div:nth-child(1) { + margin-top: 0px; +} diff --git a/src/components/page/articleReviewer.vue b/src/components/page/articleReviewer.vue index bfed17d..48ce710 100644 --- a/src/components/page/articleReviewer.vue +++ b/src/components/page/articleReviewer.vue @@ -1,654 +1,793 @@ diff --git a/src/components/page/components/major/list.vue b/src/components/page/components/major/list.vue index f9af797..b35dfec 100644 --- a/src/components/page/components/major/list.vue +++ b/src/components/page/components/major/list.vue @@ -1,27 +1,54 @@ + + + + diff --git a/src/components/page/reviewerList.vue b/src/components/page/reviewerList.vue index 76f2661..60417ec 100644 --- a/src/components/page/reviewerList.vue +++ b/src/components/page/reviewerList.vue @@ -208,27 +208,7 @@ --> @@ -496,9 +476,11 @@ const currentYear = new Date().getFullYear(); var ReviewTime = `(${currentYear - 2}–${currentYear})`; import commonReviewer from '../page/components/reviewerList/add.vue'; +import commonMajorTableList from '../page/components/major/tableList.vue'; export default { components: { - commonReviewer + commonReviewer, + commonMajorTableList, }, data() { @@ -778,7 +760,7 @@ export default { if (res.code == 0) { this.tableData = res.data; for (var i = 0; i < this.tableData.length; i++) { - this.fetchMajorData(this.tableData[i].user_id); // 加载第一个用户的数据 + // this.fetchMajorData(this.tableData[i].user_id); // 加载第一个用户的数据 this.getScoreData(i, this.tableData[i].score); } this.link_Total = res.total || 0;