|
|
|
@ -8,23 +8,11 @@ |
|
|
|
|
<div class="ai-edit-left col m-r-large v-overflow-y" v-loading="generatedLoading" |
|
|
|
|
element-loading-text="请稍后,正文生成中..."> |
|
|
|
|
<div class="ai-show-btn show" @click="showPage=!showPage"><i class="el-icon-arrow-right"></i></div> |
|
|
|
|
<Toolbar |
|
|
|
|
style="border-bottom: 1px solid #ccc" |
|
|
|
|
:editor="editor" |
|
|
|
|
:defaultConfig="toolbarConfig" |
|
|
|
|
:mode="mode" |
|
|
|
|
/> |
|
|
|
|
<div class="ai-edit-content" v-html="generatedContent" v-if="!editorState"></div> |
|
|
|
|
<Editor |
|
|
|
|
style="height:calc(100% - 81px) ; overflow-y: hidden;" |
|
|
|
|
:defaultConfig="editorConfig" |
|
|
|
|
:mode="mode" |
|
|
|
|
@onCreated="onCreated" |
|
|
|
|
/> |
|
|
|
|
<ckeditor :editor="editor" v-model="editorData" :config="editorConfig" style="height:500px" /> |
|
|
|
|
<div class="v-edit-tool"> |
|
|
|
|
<div class="v-edit-tool-item down" @click="downLoadDoc"><i class="iconfont icon-down"></i></div> |
|
|
|
|
<div class="v-edit-tool-item refresh" @click="refreshDoc"><i class="iconfont icon-refresh"></i></div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<!-- 对话右侧 --> |
|
|
|
|
<div class="ai-edit-right m-r-large" :class="showPage?'show':'hide'"> |
|
|
|
@ -34,13 +22,13 @@ |
|
|
|
|
<el-form ref="formRef" :model="form" label-width="80px" size="small" :rules="rules"> |
|
|
|
|
<el-form-item label="" class="v-item-block" label-width="0"> |
|
|
|
|
<el-cascader |
|
|
|
|
@change="getModelCascader" |
|
|
|
|
:disabled="generatedLoading" |
|
|
|
|
class="v-cascader" |
|
|
|
|
popper-class="v-cascader-popper inline" |
|
|
|
|
style="width: 100%" |
|
|
|
|
v-model="form.model" |
|
|
|
|
:options="modelOptions" |
|
|
|
|
@change="getModelCascader" |
|
|
|
|
:disabled="generatedLoading" |
|
|
|
|
class="v-cascader" |
|
|
|
|
popper-class="v-cascader-popper inline" |
|
|
|
|
style="width: 100%" |
|
|
|
|
v-model="form.model" |
|
|
|
|
:options="modelOptions" |
|
|
|
|
></el-cascader> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-tabs v-model="form.docType" @tab-click="getDocumentList" class="v-tabs"> |
|
|
|
@ -51,10 +39,10 @@ |
|
|
|
|
<el-select v-model="form.subType" placeholder="请选择" class="v-select" style="width: 100%" |
|
|
|
|
popper-class="v-select-popper inline" :disabled="generatedLoading"> |
|
|
|
|
<el-option |
|
|
|
|
v-for="item in typeList" |
|
|
|
|
:key="item.value" |
|
|
|
|
:label="item.label" |
|
|
|
|
:value="item.value"> |
|
|
|
|
v-for="item in typeList" |
|
|
|
|
:key="item.value" |
|
|
|
|
:label="item.label" |
|
|
|
|
:value="item.value"> |
|
|
|
|
<span style="float: left">{{ item.label }}</span> |
|
|
|
|
</el-option> |
|
|
|
|
</el-select> |
|
|
|
@ -125,14 +113,185 @@ |
|
|
|
|
|
|
|
|
|
<script> |
|
|
|
|
import FileUpload from '@/components/FileUpload' |
|
|
|
|
import {Editor, Toolbar} from '@wangeditor/editor-for-vue' |
|
|
|
|
import * as AiApi from '@/api/ai-api' |
|
|
|
|
const { |
|
|
|
|
GeneralHtmlSupport, |
|
|
|
|
HtmlComment, |
|
|
|
|
HtmlEmbed, |
|
|
|
|
ClassicEditor, |
|
|
|
|
Essentials, |
|
|
|
|
Alignment, |
|
|
|
|
Title, |
|
|
|
|
Bookmark, |
|
|
|
|
Code, |
|
|
|
|
Strikethrough, |
|
|
|
|
Autoformat, |
|
|
|
|
AutoImage, |
|
|
|
|
Autosave, |
|
|
|
|
BlockQuote, |
|
|
|
|
Bold, |
|
|
|
|
CodeBlock, |
|
|
|
|
FontBackgroundColor, |
|
|
|
|
FontColor, |
|
|
|
|
FontFamily, |
|
|
|
|
FontSize, |
|
|
|
|
FullPage, |
|
|
|
|
Heading, |
|
|
|
|
HorizontalLine, |
|
|
|
|
Image, |
|
|
|
|
ImageBlock, |
|
|
|
|
ImageCaption, |
|
|
|
|
ImageInline, |
|
|
|
|
ImageInsert, |
|
|
|
|
ImageInsertViaUrl, |
|
|
|
|
ImageResize, |
|
|
|
|
ImageResizeHandles, |
|
|
|
|
ImageStyle, |
|
|
|
|
ImageTextAlternative, |
|
|
|
|
ImageToolbar, |
|
|
|
|
ImageUpload, |
|
|
|
|
Indent, |
|
|
|
|
IndentBlock, |
|
|
|
|
Italic, |
|
|
|
|
Link, |
|
|
|
|
LinkImage, |
|
|
|
|
List, |
|
|
|
|
ListProperties, |
|
|
|
|
Paragraph, |
|
|
|
|
PasteFromOffice, |
|
|
|
|
SimpleUploadAdapter, |
|
|
|
|
TableLayout, |
|
|
|
|
// SourceEditing, |
|
|
|
|
SpecialCharacters, |
|
|
|
|
SpecialCharactersArrows, |
|
|
|
|
SpecialCharactersCurrency, |
|
|
|
|
SpecialCharactersEssentials, |
|
|
|
|
SpecialCharactersLatin, |
|
|
|
|
SpecialCharactersMathematical, |
|
|
|
|
SpecialCharactersText, |
|
|
|
|
Subscript, |
|
|
|
|
Superscript, |
|
|
|
|
Table, |
|
|
|
|
TableCaption, |
|
|
|
|
TableCellProperties, |
|
|
|
|
TableColumnResize, |
|
|
|
|
TableProperties, |
|
|
|
|
TableToolbar, |
|
|
|
|
TextTransformation, |
|
|
|
|
TodoList, |
|
|
|
|
Underline, |
|
|
|
|
ImageResizeEditing, |
|
|
|
|
Base64UploadAdapter, |
|
|
|
|
|
|
|
|
|
} = CKEDITOR; |
|
|
|
|
const { FormatPainter } = CKEDITOR_PREMIUM_FEATURES; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export default { |
|
|
|
|
name: 'DocumentCorrectionDialog', |
|
|
|
|
components: {Editor, Toolbar, FileUpload}, |
|
|
|
|
components: { FileUpload}, |
|
|
|
|
data() { |
|
|
|
|
return { |
|
|
|
|
editor: ClassicEditor, |
|
|
|
|
editorData: "<h1 style='color:red'>asdf</h1>", |
|
|
|
|
editorConfig: { |
|
|
|
|
licenseKey:"eyJhbGciOiJFUzI1NiJ9.eyJleHAiOjE3ODAwMTI3OTksImp0aSI6IjIzOThmNWExLTU5NGItNDVmNC04YjZiLTYxY2M0MWQ5YzE0YiIsInVzYWdlRW5kcG9pbnQiOiJodHRwczovL3Byb3h5LWV2ZW50LmNrZWRpdG9yLmNvbSIsImRpc3RyaWJ1dGlvbkNoYW5uZWwiOlsiY2xvdWQiLCJkcnVwYWwiXSwiZmVhdHVyZXMiOlsiRFJVUCIsIkUyUCIsIkUyVyJdLCJ2YyI6IjY4OTc5NjhlIn0.-YzAWQBdSXs9w0xLPLc4v2T2wVUnMShOBNMXceWayj4oXbfVEsMokgHHr_4zHTtoQbCbc3pWMxR5iSYaY8Xhtw", |
|
|
|
|
placeholder: "请输入内容", |
|
|
|
|
|
|
|
|
|
language: 'zh-cn', |
|
|
|
|
toolbar: { |
|
|
|
|
items: [ |
|
|
|
|
"undo", |
|
|
|
|
"redo", |
|
|
|
|
"Bold", |
|
|
|
|
"Italic", |
|
|
|
|
"Strikethrough", |
|
|
|
|
"Underline", |
|
|
|
|
"Subscript", |
|
|
|
|
"Superscript", |
|
|
|
|
"", |
|
|
|
|
"", |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
plugins: [ |
|
|
|
|
GeneralHtmlSupport, |
|
|
|
|
HtmlComment, |
|
|
|
|
HtmlEmbed, |
|
|
|
|
ImageResizeEditing, |
|
|
|
|
Base64UploadAdapter, |
|
|
|
|
Title, |
|
|
|
|
Code, |
|
|
|
|
Bookmark, |
|
|
|
|
Strikethrough, |
|
|
|
|
Autoformat, |
|
|
|
|
AutoImage, |
|
|
|
|
Autosave, |
|
|
|
|
BlockQuote, |
|
|
|
|
Bold, |
|
|
|
|
CodeBlock, |
|
|
|
|
Essentials, |
|
|
|
|
TableLayout, |
|
|
|
|
FontBackgroundColor, |
|
|
|
|
FontColor, |
|
|
|
|
FontFamily, |
|
|
|
|
FontSize, |
|
|
|
|
Alignment, |
|
|
|
|
FullPage, |
|
|
|
|
Heading, |
|
|
|
|
HorizontalLine, |
|
|
|
|
Image, |
|
|
|
|
ImageResizeHandles, |
|
|
|
|
ImageBlock, |
|
|
|
|
ImageCaption, |
|
|
|
|
ImageInline, |
|
|
|
|
ImageInsert, |
|
|
|
|
ImageInsertViaUrl, |
|
|
|
|
ImageResize, |
|
|
|
|
ImageStyle, |
|
|
|
|
ImageTextAlternative, |
|
|
|
|
ImageToolbar, |
|
|
|
|
ImageUpload, |
|
|
|
|
Indent, |
|
|
|
|
IndentBlock, |
|
|
|
|
Italic, |
|
|
|
|
Link, |
|
|
|
|
LinkImage, |
|
|
|
|
List, |
|
|
|
|
ListProperties, |
|
|
|
|
Paragraph, |
|
|
|
|
PasteFromOffice, |
|
|
|
|
SimpleUploadAdapter, |
|
|
|
|
// SourceEditing, |
|
|
|
|
SpecialCharacters, |
|
|
|
|
SpecialCharactersArrows, |
|
|
|
|
SpecialCharactersCurrency, |
|
|
|
|
SpecialCharactersEssentials, |
|
|
|
|
SpecialCharactersLatin, |
|
|
|
|
SpecialCharactersMathematical, |
|
|
|
|
SpecialCharactersText, |
|
|
|
|
Subscript, |
|
|
|
|
Superscript, |
|
|
|
|
Table, |
|
|
|
|
TableCaption, |
|
|
|
|
TableCellProperties, |
|
|
|
|
TableColumnResize, |
|
|
|
|
TableProperties, |
|
|
|
|
TableToolbar, |
|
|
|
|
TextTransformation, |
|
|
|
|
TodoList, |
|
|
|
|
Underline, |
|
|
|
|
], |
|
|
|
|
htmlSupport: { |
|
|
|
|
allow: [//哪些功能被支持 |
|
|
|
|
{ |
|
|
|
|
name: /^.*$/, |
|
|
|
|
styles: true, |
|
|
|
|
attributes: true, |
|
|
|
|
classes: true |
|
|
|
|
} |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
showPage: true, |
|
|
|
|
DocumentType: undefined, |
|
|
|
|
modelOptions: [], |
|
|
|
@ -155,10 +314,10 @@ export default { |
|
|
|
|
{required: true, message: '请输入主题词', trigger: 'blur'}, |
|
|
|
|
] |
|
|
|
|
}, |
|
|
|
|
editor: null, |
|
|
|
|
|
|
|
|
|
html: '', |
|
|
|
|
toolbarConfig: {}, |
|
|
|
|
editorConfig: {placeholder: '请输入内容...'}, |
|
|
|
|
|
|
|
|
|
mode: 'default', // or 'simple' |
|
|
|
|
// 生成状态 |
|
|
|
|
isLoading: false, |
|
|
|
@ -177,6 +336,9 @@ export default { |
|
|
|
|
generatedEdit: '', |
|
|
|
|
generatedContent: '', |
|
|
|
|
reasoningContent: '', |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
mounted() { |
|
|
|
@ -243,7 +405,7 @@ export default { |
|
|
|
|
children: children |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
this.generateDoc() |
|
|
|
|
//this.generateDoc() |
|
|
|
|
} catch (err) { |
|
|
|
|
} finally { |
|
|
|
|
} |
|
|
|
@ -343,8 +505,7 @@ export default { |
|
|
|
|
this.generatedLoading = false |
|
|
|
|
this.editorState = true |
|
|
|
|
this.generatedEdit = this.generatedContent |
|
|
|
|
console.log(this.generatedContent) |
|
|
|
|
this.editor.dangerouslyInsertHtml( this.generatedEdit) |
|
|
|
|
|
|
|
|
|
this.closeConnection(); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
@ -382,8 +543,8 @@ export default { |
|
|
|
|
this.isLoading = false; |
|
|
|
|
this.isGenerating = false; |
|
|
|
|
this.errorMessage = this.generatedContent |
|
|
|
|
? '生成中断,已停止' |
|
|
|
|
: '生成失败,请重试'; |
|
|
|
|
? '生成中断,已停止' |
|
|
|
|
: '生成失败,请重试'; |
|
|
|
|
this.closeConnection(); |
|
|
|
|
}; |
|
|
|
|
} catch (err) { |
|
|
|
@ -421,7 +582,7 @@ export default { |
|
|
|
|
container.scrollTop = container.scrollHeight; |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
gotoBack(){ |
|
|
|
|
gotoBack() { |
|
|
|
|
this.$router.push('/DocumentCorrectionIndex'); |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|