mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-07-16 12:05:07 +08:00
增加数据库文档的 html、word、markdown 的导出
This commit is contained in:
@ -8,3 +8,19 @@ export function exportHtml() {
|
||||
responseType: 'blob'
|
||||
})
|
||||
}
|
||||
|
||||
export function exportWord() {
|
||||
return request({
|
||||
url: '/infra/db-doc/export-word',
|
||||
method: 'get',
|
||||
responseType: 'blob'
|
||||
})
|
||||
}
|
||||
|
||||
export function exportMarkdown() {
|
||||
return request({
|
||||
url: '/infra/db-doc/export-markdown',
|
||||
method: 'get',
|
||||
responseType: 'blob'
|
||||
})
|
||||
}
|
||||
|
@ -25,7 +25,10 @@ import {
|
||||
download,
|
||||
handleTree,
|
||||
downloadExcel,
|
||||
downloadZip
|
||||
downloadWord,
|
||||
downloadZip,
|
||||
downloadHtml,
|
||||
downloadMarkdown,
|
||||
} from "@/utils/ruoyi";
|
||||
import Pagination from "@/components/Pagination";
|
||||
// 自定义表格工具扩展
|
||||
@ -48,6 +51,9 @@ Vue.prototype.getDictDataLabel = getDictDataLabel
|
||||
Vue.prototype.DICT_TYPE = DICT_TYPE
|
||||
Vue.prototype.download = download
|
||||
Vue.prototype.downloadExcel = downloadExcel
|
||||
Vue.prototype.downloadWord = downloadWord
|
||||
Vue.prototype.downloadHtml = downloadHtml
|
||||
Vue.prototype.downloadMarkdown = downloadMarkdown
|
||||
Vue.prototype.downloadZip = downloadZip
|
||||
Vue.prototype.handleTree = handleTree
|
||||
|
||||
|
@ -120,11 +120,26 @@ export function downloadExcel(data, fileName) {
|
||||
download0(data, fileName, 'application/vnd.ms-excel');
|
||||
}
|
||||
|
||||
// 下载 Word 方法
|
||||
export function downloadWord(data, fileName) {
|
||||
download0(data, fileName, 'application/msword');
|
||||
}
|
||||
|
||||
// 下载 Zip 方法
|
||||
export function downloadZip(data, fileName) {
|
||||
download0(data, fileName, 'application/zip');
|
||||
}
|
||||
|
||||
// 下载 Html 方法
|
||||
export function downloadHtml(data, fileName) {
|
||||
download0(data, fileName, 'text/html');
|
||||
}
|
||||
|
||||
// 下载 Markdown 方法
|
||||
export function downloadMarkdown(data, fileName) {
|
||||
download0(data, fileName, 'text/markdown');
|
||||
}
|
||||
|
||||
function download0(data, fileName, mineType) {
|
||||
// 创建 blob
|
||||
let blob = new Blob([data], {type: mineType});
|
||||
|
@ -1,10 +1,21 @@
|
||||
<template>
|
||||
<div v-loading="loading" :style="'height:'+ height">
|
||||
<iframe :src="src" frameborder="no" style="width: 100%;height: 100%" scrolling="auto" />
|
||||
<div class="app-container">
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleExportHtml">导出 HTML</el-button>
|
||||
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleExportWord">导出 Word</el-button>
|
||||
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleExportMarkdown">导出 Markdown</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<!-- 展示文档 -->
|
||||
<div v-loading="loading" :style="'height:'+ height">
|
||||
<iframe :src="src" frameborder="no" style="width: 100%;height: 100%" scrolling="auto" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import {exportHtml} from "@/api/infra/dbDoc";
|
||||
import { exportHtml, exportWord, exportMarkdown} from "@/api/infra/dbDoc";
|
||||
|
||||
export default {
|
||||
name: "DBDoc",
|
||||
@ -25,10 +36,31 @@ export default {
|
||||
};
|
||||
},
|
||||
created() {
|
||||
// 加载 Html,进行预览
|
||||
exportHtml().then(response => {
|
||||
// var blob = new Blob(['<a id="a"><b id="b">hey!</b></a>'], {type : 'text/html'});
|
||||
this.src = window.URL.createObjectURL(response);
|
||||
let blob = new Blob([response], {type : 'text/html'});
|
||||
this.src = window.URL.createObjectURL(blob);
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
/** 处理导出 HTML */
|
||||
handleExportHtml() {
|
||||
exportHtml().then(response => {
|
||||
this.downloadHtml(response, '数据库文档.html');
|
||||
})
|
||||
},
|
||||
/** 处理导出 Word */
|
||||
handleExportWord() {
|
||||
exportWord().then(response => {
|
||||
this.downloadWord(response, '数据库文档.doc');
|
||||
})
|
||||
},
|
||||
/** 处理导出 Markdown */
|
||||
handleExportMarkdown() {
|
||||
exportMarkdown().then(response => {
|
||||
this.downloadMarkdown(response, '数据库文档.md');
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
Reference in New Issue
Block a user