feat:notebook二级页面导出json
This commit is contained in:
@@ -14,7 +14,8 @@ export default {
|
|||||||
name: 'chart-text',
|
name: 'chart-text',
|
||||||
props: {
|
props: {
|
||||||
chartInfo: {},
|
chartInfo: {},
|
||||||
chartData: {}
|
chartData: {},
|
||||||
|
from: String
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
<div @click="download('markdown')">{{$t('notebook.downloadAs',{format:'markdown'})}}</div>
|
<div @click="download('markdown')">{{$t('notebook.downloadAs',{format:'markdown'})}}</div>
|
||||||
</el-dropdown-item>
|
</el-dropdown-item>
|
||||||
<el-dropdown-item v-has="'dashboard_view'">
|
<el-dropdown-item v-has="'dashboard_view'">
|
||||||
<div @click="download('html')">{{$t('notebook.downloadAs',{format:'html'})}}</div>
|
<div @click="downloadJson()">{{$t('notebook.downloadNotebook')}} JSON</div>
|
||||||
</el-dropdown-item>
|
</el-dropdown-item>
|
||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
@@ -93,6 +93,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import axios from 'axios'
|
||||||
import bus from '../../../../libs/bus'
|
import bus from '../../../../libs/bus'
|
||||||
import subDataListMixin from '@/components/common/mixin/subDataList'
|
import subDataListMixin from '@/components/common/mixin/subDataList'
|
||||||
import nzBottomDataList from '@/components/common/bottomBox/nzBottomDataList'
|
import nzBottomDataList from '@/components/common/bottomBox/nzBottomDataList'
|
||||||
@@ -511,6 +512,41 @@ export default {
|
|||||||
this.showPanel.format = type
|
this.showPanel.format = type
|
||||||
this.snapshotVisible = true
|
this.snapshotVisible = true
|
||||||
},
|
},
|
||||||
|
downloadJson () {
|
||||||
|
const params = {
|
||||||
|
format: 3,
|
||||||
|
ids: this.obj.id
|
||||||
|
}
|
||||||
|
axios.get('/visual/notebook/export', { responseType: 'blob', params: params }).then(res => {
|
||||||
|
if (window.navigator.msSaveOrOpenBlob) {
|
||||||
|
// 兼容ie11
|
||||||
|
const blobObject = new Blob([res.data])
|
||||||
|
window.navigator.msSaveOrOpenBlob(blobObject, this.obj.name)
|
||||||
|
} else {
|
||||||
|
const url = URL.createObjectURL(new Blob([res.data]))
|
||||||
|
const a = document.createElement('a')
|
||||||
|
document.body.appendChild(a) // 此处增加了将创建的添加到body当中
|
||||||
|
a.href = url
|
||||||
|
a.download = this.obj.name
|
||||||
|
a.target = '_blank'
|
||||||
|
a.click()
|
||||||
|
a.remove() // 将a标签移除
|
||||||
|
}
|
||||||
|
}, error => {
|
||||||
|
const $self = this
|
||||||
|
const reader = new FileReader()
|
||||||
|
reader.onload = function (event) {
|
||||||
|
const responseText = reader.result
|
||||||
|
const exception = JSON.parse(responseText)
|
||||||
|
if (exception.message) {
|
||||||
|
$self.$message.error(exception.message)
|
||||||
|
} else {
|
||||||
|
console.error(error)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
reader.readAsText(error.response.data)
|
||||||
|
})
|
||||||
|
},
|
||||||
// 获取数据,用在子页面
|
// 获取数据,用在子页面
|
||||||
getData () {
|
getData () {
|
||||||
this.dataList = []
|
this.dataList = []
|
||||||
|
|||||||
@@ -35,6 +35,7 @@
|
|||||||
export-file-name="notebook"
|
export-file-name="notebook"
|
||||||
export-url="/visual/notebook/export"
|
export-url="/visual/notebook/export"
|
||||||
import-url="/visual/notebook/import"
|
import-url="/visual/notebook/import"
|
||||||
|
:only-json="true"
|
||||||
@afterImport="getTableData"
|
@afterImport="getTableData"
|
||||||
v-has="['role_add','role_edit']"
|
v-has="['role_add','role_edit']"
|
||||||
>
|
>
|
||||||
@@ -101,6 +102,7 @@
|
|||||||
export-file-name="notebook"
|
export-file-name="notebook"
|
||||||
export-url="/visual/notebook/export"
|
export-url="/visual/notebook/export"
|
||||||
import-url="/visual/notebook/import"
|
import-url="/visual/notebook/import"
|
||||||
|
:only-json="true"
|
||||||
@afterImport="getTableData"
|
@afterImport="getTableData"
|
||||||
v-has="['role_add','role_edit','role_delete']"
|
v-has="['role_add','role_edit','role_delete']"
|
||||||
>
|
>
|
||||||
|
|||||||
Reference in New Issue
Block a user