Compare commits

...

2 Commits

  1. 5
      package.json
  2. BIN
      public/favicon.ico
  3. 3
      src/assets/styles/v-layout.scss
  4. 39
      src/views/pages/AI-Document-Correction/dialog.vue
  5. 3
      vue.config.js

@ -51,17 +51,15 @@
"axios": "0.27.2",
"benz-amr-recorder": "^1.1.5",
"bpmn-js-token-simulation": "0.10.0",
"ckeditor5": "^45.1.0",
"clipboard": "2.0.8",
"core-js": "^3.26.0",
"crypto-js": "^4.0.0",
"echarts": "5.4.0",
"element-ui": "2.15.14",
"event-source-polyfill": "^1.0.31",
"file-saver": "^2.0.5",
"file-saver": "2.0.5",
"fuse.js": "6.6.2",
"highlight.js": "9.18.5",
"html-docx-js": "^0.3.1",
"js-beautify": "1.13.0",
"jsencrypt": "3.3.1",
"min-dash": "3.5.2",
@ -80,6 +78,7 @@
"vue-video-player": "^5.0.2",
"vuedraggable": "2.24.3",
"vuex": "3.6.2",
"xh-htmlword": "^1.3.2",
"xml-js": "1.6.11"
},
"devDependencies": {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 17 KiB

@ -699,6 +699,7 @@ body {
border: none;
border-top: 1px solid $--border-color-light;
}
.v-export-box{display: none; margin: 2.8pt}
.ck-sticky-panel__content{border: none}
.ai-pages-back {
position: absolute;
@ -750,7 +751,7 @@ body {
.ai-edit-content {
position: absolute;
width: 100%;
height: 100%;
height: calc(100vh - 80px);
left: 0;
top: 41px;
padding: 10px;

@ -8,7 +8,7 @@
<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>
<div class="ai-edit-content" v-html="generatedContent" v-if="!editorState"></div>
<div class="ai-edit-content v-overflow-y" ref="generatedContent" v-html="generatedContent" v-if="!editorState"></div>
<ckeditor :editor="editor" v-model="generatedEdit" :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>
@ -97,6 +97,7 @@
</div>
</div>
</div>
<div v-html="generatedEdit" class="v-export-box" ></div>
</main>
</div>
</template>
@ -105,8 +106,7 @@
import FileUpload from '@/components/FileUpload'
import FileUpload1 from '@/components/FileUpload1'
import htmlDocx from 'html-docx-js/dist/html-docx';
import FileSaver from 'file-saver';
import handleExportWord from "xh-htmlword";
import * as AiApi from '@/api/ai-api'
@ -323,29 +323,17 @@ export default {
methods: {
downLoadDoc() {
let doc = this.generatedContent.replace(/<[^>]*>/g, '')
this.downloadTextAsFile(doc, this.form.title)
this.downloadTextAsFile()
},
refreshDoc() {
this.generateDoc()
},
downloadTextAsFile(text, fileName) {
// BlobBlob
var blob = new Blob([text], {type: 'application/msword;charset=utf-8'});
//
var downloadLink = document.createElement('a');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = fileName;
//
document.body.appendChild(downloadLink);
//
downloadLink.click();
//
document.body.removeChild(downloadLink);
// BlobURL
URL.revokeObjectURL(downloadLink.href);
downloadTextAsFile() {
console.log("adsf",this.generatedEdit)
handleExportWord({
dom: ".v-export-box",
fileName: this.form.title?this.form.title:'公文',
});
},
/** 获取 模型列表 */
async getModellist() {
@ -490,6 +478,7 @@ export default {
//
if (delta.content) {
this.$nextTick(this.scrollToBottom('generatedContent'))
if (this.thinkState) {
this.endTime = new Date();
let deepTime = Math.abs(this.endTime.getTime() - this.startTime.getTime());
@ -501,7 +490,7 @@ export default {
this.generatedContent += delta.content;
}
this.$nextTick(this.scrollToBottom);
this.$nextTick(this.scrollToBottom(docCcontent));
}
} catch (e) {
console.warn("解析数据失败:", e);
@ -546,8 +535,8 @@ export default {
this.eventSource = null;
}
},
scrollToBottom() {
const container = this.$refs.docCcontent
scrollToBottom(val) {
const container = this.$refs[val]
if (container) {
container.scrollTop = container.scrollHeight;
}

@ -16,6 +16,9 @@ const port = process.env.port || process.env.npm_config_port || 80 // 端口
//官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions
// 这里只列一部分,具体配置参考文档
module.exports = {
transpileDependencies: [
'xh-htmlword', // 指定element-ui库需要被转译
],
// 部署生产环境和开发环境下的URL。
// 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上
// 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。

Loading…
Cancel
Save