diff --git a/src/components/page/GenerateCharts.vue b/src/components/page/GenerateCharts.vue index a443995..5d6b131 100644 --- a/src/components/page/GenerateCharts.vue +++ b/src/components/page/GenerateCharts.vue @@ -68,6 +68,7 @@ ref="commonWordHtmlTypeSetting" @onDragStart="onDragStart" @huifu="huifu" + @onAddComment="onAddComment" @add="handleImageAdd" @addComment="addCommentSetting" @goToComment="goToComment" @@ -128,7 +129,7 @@ - + Cancel @@ -401,7 +402,6 @@ export default { // console.log('value1 或 value2 发生变化'); // console.log('新值:', newVal); // console.log('旧值:', oldVal); - // // 处理任意一个值变化的逻辑 // this.updateWordTiffImage(newVal); // } @@ -453,48 +453,46 @@ export default { }, async getContent(type, content) { if (type == 'content') { - // 使用正则表达式移除所有不允许的标签 - // 1. 移除不允许的标签 - content = content.replace(/<(?!\/?(img|b|i|sub|sup|span|strong|em |blue)\b)[^>]+>/g, ''); + // 使用正则表达式移除所有不允许的标签 + // 1. 移除不允许的标签 + content = content.replace(/<(?!\/?(img|b|i|sub|sup|span|strong|em |blue)\b)[^>]+>/g, ''); -// 2. 移除所有 style 属性 -content = content.replace(/\s*style="[^"]*"/g, ''); + // 2. 移除所有 style 属性 + content = content.replace(/\s*style="[^"]*"/g, ''); -// 3. 将 转换为 转换为 + // 3. 将 转换为 转换为 + var div = document.createElement('div'); + div.innerHTML = content; // 将 HTML 字符串加载到 div 中 - var div = document.createElement('div'); -div.innerHTML = content; // 将 HTML 字符串加载到 div 中 + // 替换所有 + var strongTags = div.getElementsByTagName('strong'); + for (var i = 0; i < strongTags.length; i++) { + var bTag = document.createElement('b'); + bTag.innerHTML = strongTags[i].innerHTML; // 保留内容 + strongTags[i].parentNode.replaceChild(bTag, strongTags[i]); + } -// 替换所有 -var strongTags = div.getElementsByTagName('strong'); -for (var i = 0; i < strongTags.length; i++) { - var bTag = document.createElement('b'); - bTag.innerHTML = strongTags[i].innerHTML; // 保留内容 - strongTags[i].parentNode.replaceChild(bTag, strongTags[i]); -} + // 替换所有 + var emTags = div.getElementsByTagName('em'); + for (var i = 0; i < emTags.length; i++) { + var iTag = document.createElement('i'); + iTag.innerHTML = emTags[i].innerHTML; // 保留内容 + emTags[i].parentNode.replaceChild(iTag, emTags[i]); + } -// 替换所有 -var emTags = div.getElementsByTagName('em'); -for (var i = 0; i < emTags.length; i++) { - var iTag = document.createElement('i'); - iTag.innerHTML = emTags[i].innerHTML; // 保留内容 - emTags[i].parentNode.replaceChild(iTag, emTags[i]); -} + // 获取最终修改后的 HTML + content = div.innerHTML; + console.log('content at line 486:', content); -// 获取最终修改后的 HTML -content = div.innerHTML; + // // 4. 去除多余的空格:替换连续的空格、换行符、制表符等 + // content = content.replace(/\s+/g, ' ').trim(); // 将多个空白字符替换为一个空格,并去除前后空白 + // // 5. 去除标签之间的空格 + // content = content.replace(/>\s+<'); // 去除标签之间的空格 - -// 4. 去除多余的空格:替换连续的空格、换行符、制表符等 -content = content.replace(/\s+/g, ' ').trim(); // 将多个空白字符替换为一个空格,并去除前后空白 - -// 5. 去除标签之间的空格 -content = content.replace(/>\s+<'); // 去除标签之间的空格 - -// 6. 如果需要,还可以去除 标签内部的空格 -// content = content.replace(/]*>\s*([^<]+)\s*<\/span>/g, '$1'); // 清理 标签内部的空格 + // 6. 如果需要,还可以去除 标签内部的空格 + // content = content.replace(/]*>\s*([^<]+)\s*<\/span>/g, '$1'); // 清理 标签内部的空格 this.saveContent(content); } else if (type == 'table') { @@ -558,7 +556,6 @@ content = content.replace(/>\s+<'); // 去除标签之间的空格 if (res.code == 0) { this.ManuscirptContent = res.data.list; this.$refs.commonWordHtmlTypeSetting.getCommentList(); - } }); }, @@ -690,9 +687,7 @@ content = content.replace(/>\s+<'); // 去除标签之间的空格 this.$forceUpdate(); this.commentVisible = false; this.getDate(); - this.$nextTick(() => { - - }); + this.$nextTick(() => {}); } else { this.$message.error(res.msg); } @@ -717,6 +712,7 @@ content = content.replace(/>\s+<'); // 去除标签之间的空格 console.log('data at line 575:', data); }, async onAddComment(dataId) { + console.log('dataId at line 721:', dataId); var data = this.Main_List.find((item) => item.am_id == dataId); this.commentForm = { ...data @@ -878,11 +874,14 @@ content = content.replace(/>\s+<'); // 去除标签之间的空格 //批注 let contentHtml = ''; var isRemark = ``; - if (item.state == 2 && item.remark && item.remark != '') { + if (item.remark && item.remark != '') { // isRemark = ``; - isRemark = ` + isRemark = ` (${item.am_id}) + ${item.state == 0 ? `Resolved` : ''} `; diff --git a/src/components/page/components/Tinymce/index.vue b/src/components/page/components/Tinymce/index.vue index 94383ce..0eef61e 100644 --- a/src/components/page/components/Tinymce/index.vue +++ b/src/components/page/components/Tinymce/index.vue @@ -594,6 +594,7 @@ export default { var content = window.tinymce.get(this.tinymceId).getContent(); content = content.replace(//g, '').replace(/<\/strong>/g, ''); content = content.replace(//g, '').replace(/<\/em>/g, ''); + content = content.replace(/ /g, ' '); // 将所有   替换为空格 this.$emit('getContent', type, content); console.log('window.tinymce.get(this.tinymceId).getContent() at line 431:', content); }, diff --git a/src/components/page/components/table/word.vue b/src/components/page/components/table/word.vue index 447ee98..7ab85a2 100644 --- a/src/components/page/components/table/word.vue +++ b/src/components/page/components/table/word.vue @@ -363,6 +363,17 @@ export default { font-size: 12px;display:inline-block; + } + .isRemark .Resolved{ + background-color: #67c23a; + margin-left:10px; + border-color: #67c23a; + color:#fff; + font-weight:bold; + border-radius:2px; + + + } @@ -415,7 +426,7 @@ export default { const target = e.target; console.log('target at line 351:', target); - if (target.classList.contains('isRemarkIcon')) { + if (target.classList.contains('isRemarkIcon')||target.classList.contains('Resolved')) { _this.$emit('onComment', target.getAttribute('main-id')); } }); diff --git a/src/components/page/components/table/wordHtmlTypesetting.vue b/src/components/page/components/table/wordHtmlTypesetting.vue index 828b43c..de8199e 100644 --- a/src/components/page/components/table/wordHtmlTypesetting.vue +++ b/src/components/page/components/table/wordHtmlTypesetting.vue @@ -86,17 +86,23 @@
-

+

- + Edit

- + style="color: rgb(252, 98, 93)" + >
@@ -475,17 +481,32 @@ export default { this.isEditing = null; // 退出编辑模式 } }, + onAddComment(comment) { + if (this.isEditComment) { + this.$emit('onAddComment',comment.am_id) + // this.isEditing = null; // 退出编辑模式 + } + }, // 删除评论 deleteComment(comment, index) { - if (this.isShowComment) { + console.log('comment at line 480:', comment) + if (this.isEditComment) { this.$confirm(this.$t('commonTable.removeAnnotations'), 'Prompt', { confirmButtonText: 'Submit', cancelButtonText: 'Cancel', type: 'warning' }) .then(() => { - this.comments.splice(index, 1); // 删除评论 + + this.$api + .post('api/Preaccept/clearMainsRemark', { + am_id: comment.am_id + }) + .then((res) => { + this.getCommentList() + }); + // this.comments.splice(index, 1); // 删除评论 }) .catch(() => {}); } @@ -525,6 +546,7 @@ export default { this.comments = res.data.list; console.log('this.comments at line 537:', this.comments); }); + }, add(type) { this.$emit('add', type);