main
han 5 months ago
parent b5ed379148
commit 9c6e199097
  1. 1
      src/assets/ai-images/no-errors.svg
  2. 45
      src/assets/styles/v-layout.scss
  3. 47
      src/views/components/v-editor/index1.vue
  4. 32
      src/views/pages/AI-Document-Writing/dialog.vue
  5. 1
      src/views/pages/AI-Document-Writing/index.vue

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 25 KiB

@ -921,18 +921,6 @@ body {
animation: bounce 2s infinite;
}
}
@keyframes bounce {
0%, 20%, 50%, 80%, 100% {
transform: translateY(0);
}
40% {
transform: translateY(-30px);
}
60% {
transform: translateY(-15px);
}
}
}
}
@ -1043,8 +1031,27 @@ body {
width: 350px;
height: 100%;
padding-bottom: 60px;
}
}
.ai-edit-loading {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
background-image: url('~@/assets/ai-images/no-errors.svg');
background-position: center;
background-repeat: no-repeat;
background-size: 60%;
.loading-box{margin-top: -260px}
.logo {
img {
width: 40px;
animation: bounce 2s infinite;
}
}
}
.ai-pages-logo {
.logo {
width: 50px;
@ -2325,3 +2332,15 @@ aie-footer {
color: #FFFFFF;
}
}
@keyframes bounce {
0%, 20%, 50%, 80%, 100% {
transform: translateY(0);
}
40% {
transform: translateY(-30px);
}
60% {
transform: translateY(-15px);
}
}

@ -0,0 +1,47 @@
<template>
<div ref="divRef" style="height: calc(100% - 50px)"/>
</template>
<script>
import {AiEditor} from "aieditor";
import "aieditor/dist/style.css"
export default {
props: {
content: {
type: String,
default: ''
},
},
data() {
return {
aiEditor: undefined,
}
},
watch: {
content: {
handler(newVal, oldVal) {
if(newVal){
this.aiEditor.setMarkdownContent(newVal)
}
},
immediate: true
}
},
beforeDestroy() {
this.aiEditor.destroy();
},
mounted() {
this.aiEditor = new AiEditor({
element: this.$refs.divRef,
placeholder: "正在生成内容...",
textSelectionBubbleMenu: {
enable: true,
items: ["Bold", "Italic", "Underline", "Strike", "code", "comment"],
},
})
}
}
</script>
<style>
</style>

@ -10,8 +10,13 @@
<VEditor :content="DocumentContent" ref="editorDom"></VEditor>
</div>
<!-- 对话右侧 -->
<div class="ai-edit-right row types" :class="showPage?'show':'hide'" v-loading="loading"
element-loading-text="请稍后,正在纠错中...">
<div class="ai-edit-right row types" :class="showPage?'show':'hide'">
<div class="ai-edit-loading row flex-justify-center flex-align-center" v-if="loading">
<div class="text-center loading-box">
<div class="logo text-center"><img src="@/assets/ai-images/aie.png" class="logo"/></div>
<div class="text text-center">请稍后正在纠错中...</div>
</div>
</div>
<!-- 对话 表单 -->
<div class="ai-edit-right-form m-r-large">
<div class="v-ecode-form" v-if="!loading">
@ -69,13 +74,11 @@
import * as AiApi from '@/api/ai-api'
import FileUpload from '@/components/FileUpload'
import VEditor from "@/views/components/v-editor/index.vue";
import VEditor from "@/views/components/v-editor/index1.vue";
import VDefault from "@/views/components/v-default/index.vue";
import mammoth from 'mammoth'
import TurndownService from 'turndown'
import MarkdownIt from "markdown-it";
import handleExportWord from "xh-htmlword";
import mammoth from 'mammoth'//docxhtml
import TurndownService from 'turndown'//htmlmarkdown
export default {
name: 'DocumentWritingDialog',
@ -83,7 +86,6 @@ export default {
data() {
return {
editExport: undefined,
md: new MarkdownIt(),
file: undefined,
fileId: "",
fileName: "",
@ -153,7 +155,7 @@ export default {
.then(result => {
const turndownService = new TurndownService();
const markdown = turndownService.turndown(result.value);
$this.DocumentContent = this.md.render(markdown);
$this.DocumentContent = markdown
});
};
} catch (err) {
@ -242,18 +244,18 @@ export default {
},
/** 接受所有错误 */
acceptAllError() {
this.errorList.forEach((item, index, arr) => {
this.changeErrorType(item.errorType)
this.DocumentContent = this.DocumentContent.replace(item.errorName, item.correctName)
})
const regex = /\<span style=".*?\"><s>/g;
const match = this.DocumentContent.match(regex);
if (match) {
console.log(match)
this.DocumentContent = this.DocumentContent.replace(match[0], '')
this.DocumentContent = this.DocumentContent.replace('</s></span>', '')
this.DocumentContent = this.DocumentContent.replace('</span>', '')
}
this.errorList.forEach((item, index, arr) => {
this.changeErrorType(item.errorType)
this.DocumentContent = this.DocumentContent.replace(item.errorName, item.correctName)
})
this.errorList = []
},
/** 忽略错误 */
ignoreError(index, row) {

@ -37,7 +37,6 @@ import FileUploadDrag from '@/components/FileUploadDrag'
import img01 from "@/assets/ai-test/img01.png"
import img02 from "@/assets/ai-test/img02.png"
import img03 from "@/assets/ai-test/img03.png"
import mammoth from "mammoth";
export default {
name: 'Index',

Loading…
Cancel
Save