cli3改版基本完成
Former-commit-id: 637e58a7d3aef389a4ea51c179aaee17f421f34c [formerly 637e58a7d3aef389a4ea51c179aaee17f421f34c [formerly 637e58a7d3aef389a4ea51c179aaee17f421f34c [formerly 637e58a7d3aef389a4ea51c179aaee17f421f34c [formerly fc66dcb2e437ff46b2c36ec1e3bcce71a6461250 [formerly b6451dc60d4c1e6006a9fcd380656d2023436e64]]]]] Former-commit-id: c791410cda91e2df1b9808bfb032f0d3d68106ef Former-commit-id: 0c5197800cfae6f27f7ab792c887fb25a73a23e0 Former-commit-id: 208a8e77c0fada6e9d191a7d495615ec2ef9704d [formerly af8c1367ed65b626196ac156c8521257cc804d60] Former-commit-id: 1fdb571cea6ed9dba9ea02f4ba6ebfb5d89e1b2f Former-commit-id: 774a145ae0694612edf988d9992ef797ddf4f21d Former-commit-id: 03fc24d70365836d60360aa24e24dc7cb4520b91 Former-commit-id: bba4fd5552fa42da029fd6b310f5ee48558d5508 Former-commit-id: 2de81d34fb07248965677e8a3866c13089fa95e7
This commit is contained in:
71
src/plugin/export/index.js
Normal file
71
src/plugin/export/index.js
Normal file
@@ -0,0 +1,71 @@
|
||||
/* eslint-disable */
|
||||
|
||||
// 库
|
||||
import Csv from './_csv'
|
||||
import ExportCsv from './_export-csv'
|
||||
import FileSaver from 'file-saver'
|
||||
import * as Excel from './_export2Excel'
|
||||
|
||||
export default {
|
||||
install (Vue, options) {
|
||||
Vue.prototype.$export = {
|
||||
// 导出 csv
|
||||
csv (params) {
|
||||
return new Promise((resolve, reject) => {
|
||||
// 默认值
|
||||
const paramsDefault = {
|
||||
columns: [],
|
||||
data: [],
|
||||
title: 'table',
|
||||
noHeader: false
|
||||
}
|
||||
// 合并参数
|
||||
const _params = Object.assign({}, paramsDefault, params)
|
||||
// 生成数据
|
||||
const data = Csv(_params.columns, _params.data, params, _params.noHeader)
|
||||
// 下载数据
|
||||
ExportCsv.download(_params.title, data)
|
||||
// 完成
|
||||
resolve()
|
||||
})
|
||||
},
|
||||
// 导出 excel
|
||||
excel (params) {
|
||||
return new Promise((resolve, reject) => {
|
||||
// 默认值
|
||||
const paramsDefault = {
|
||||
columns: [],
|
||||
data: [],
|
||||
title: 'table'
|
||||
}
|
||||
// 合并参数
|
||||
const _params = Object.assign({}, paramsDefault, params)
|
||||
// 从参数中派生数据
|
||||
const header = _params.columns.map(e => e.label)
|
||||
const data = _params.data.map(row => _params.columns.map(col => row[col.prop]))
|
||||
// 导出
|
||||
Excel.export_json_to_excel(header, data, _params.title)
|
||||
// 完成
|
||||
resolve()
|
||||
})
|
||||
},
|
||||
// 导出 文本文档
|
||||
txt (params) {
|
||||
return new Promise((resolve, reject) => {
|
||||
// 默认值
|
||||
const paramsDefault = {
|
||||
text: '',
|
||||
title: '文本'
|
||||
}
|
||||
// 合并参数
|
||||
const _params = Object.assign({}, paramsDefault, params)
|
||||
// 导出
|
||||
const blob = new Blob([_params.text], {type: 'text/plain;charset=utf-8'})
|
||||
FileSaver.saveAs(blob, _params.title + '.txt')
|
||||
// 完成
|
||||
resolve()
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user