- 由 李关标创建, 最后修改于七月 23, 2024
1、不显示导出弹窗
不显示导出弹窗示例1
展开源码
import SmartBIExt from 'smartbi-ext' let { DashModule: { DashEventEmum: { PAGE_ON_BEFORE_EXPORT_DIALOG }, BaseDashExtender } } = SmartBIExt class DashInterfaceExtension extends BaseDashExtender { install () { this.on(PAGE_ON_BEFORE_EXPORT_DIALOG, (iPage, { portletId, props }) => { // 省略默认值设置步骤 props.openDialog = false; // 不打开导出弹窗 }) } } export default DashInterfaceExtension
不显示导出弹窗示例2
展开源码
import SmartBIExt from 'smartbi-ext' let { DashModule: { DashEventEmum: { PAGE_ON_PORTLET_BEFORE_EXPORT }, BaseDashExtender } } = SmartBIExt class DashInterfaceExtension extends BaseDashExtender { install () { this.on(PAGE_ON_PORTLET_BEFORE_EXPORT, (iPage, { portletId, exportType }) => { // 提供exportSetting, 则下面的接口不会显示弹窗 // 目前exportSetting是空对象, 表示所有设置项都使用默认值 let exportSetting = {} iPage.execExport({ exportType, portletId, exportSetting }) // 下面是第二种方式 // let setting = iPage.execGenerateExportSetting({ exportType }) // iPage.execExportWithSetting({ exportType, portletId, setting }) }) } } export default DashInterfaceExtension
2、修改导出弹窗
修改弹窗弹窗示例
展开源码
import SmartBIExt from 'smartbi-ext' let { DashModule: { DashEventEmum: { PAGE_ON_BEFORE_EXPORT_DIALOG }, BaseDashExtender } } = SmartBIExt class DashInterfaceExtension extends BaseDashExtender { install () { this.on(PAGE_ON_BEFORE_EXPORT_DIALOG, (iPage, { portletId, props }) => { props.defaultValue.fileName = '固定报表'; // 设置文件名 props.disables.fileName = true; props.visibles.exportMode = false; // 隐藏导出渠道 }) } } export default DashInterfaceExtension
3、定制导出弹窗
自定义导出弹窗
展开源码
// MyExportSettingDialogHandler.js import SmartbiBIExt from 'smartbi-ext' // MyExportSettingDialog.vue的代码自由发挥, 不再详细展示 import MyExportSettingDialog from './MyExportSettingDialog.vue' const layer = SmartbiBIExt.InterfaceObject.IGlobal.getLayer() export default { open (parent, exportSetting, callback) { this.layerId = layer.iframe('导出弹窗', { content: { content: MyExportSettingDialog, parent, data: { // 传递给MyExportSettingDialog的数据 setting: exportSetting, apply: (exportSetting) => { callback(exportSetting) this.close() }, cancel: () => { this.close() } } } }) }, close () { layer.close(this.layerId) } }
定制组件导出弹窗示例
展开源码
import SmartBIExt from 'smartbi-ext' // 在当前目录定义一个自己的导出弹窗 import MyExportSettingDialogHandler from './MyExportSettingDialogHandler.js' let { DashModule: { DashEventEmum: { PAGE_ON_PORTLET_BEFORE_EXPORT }, BaseDashExtender } } = SmartBIExt class DashInterfaceExtension extends BaseDashExtender { install () { this.on(PAGE_ON_PORTLET_BEFORE_EXPORT, (iPage, { portletId, exportType }) => { // 获取默认的导出设置 let setting = iPage.execGenerateExportSetting({ portletId, exportType }) MyExportSettingDialogHandler.open(this, setting, (setting) => { iPage.execExportWithSetting({ exportType, portletId, setting }) }) }) } } export default DashInterfaceExtension
定制页面导出弹窗示例
展开源码
import SmartBIExt from 'smartbi-ext' // 在当前目录定义一个自己的导出弹窗 import MyExportSettingDialogHandler from './MyExportSettingDialogHandler.js' let { DashModule: { DashEventEmum: { PAGE_ON_BEFORE_EXPORT }, BaseDashExtender } } = SmartBIExt class DashInterfaceExtension extends BaseDashExtender { install () { this.on(PAGE_ON_BEFORE_EXPORT, (iPage, { exportType }) => { // 获取默认的导出设置 let setting = iPage.execGenerateExportSetting({ exportType }) MyExportSettingDialogHandler.open(this, setting, (setting) => { iPage.execExportWithSetting({ exportType, setting }) }) }) } } export default DashInterfaceExtension
4、定制导出流程
定制导出流程示例
展开源码
import SmartBIExt from 'smartbi-ext' let { DashModule: { DashEventEmum: { PAGE_ON_BEFORE_EXPORT }, BaseDashExtender } } = SmartBIExt class DashInterfaceExtension extends BaseDashExtender { install () { this.on(PAGE_ON_BEFORE_EXPORT, (iPage, { exportType }) => { // 自定义导出流程 // 这里做审核之类的事情 let pass = true; // 审核是否通过 if (pass) { // 使用系统的导出弹窗 iPage.execOpenExportSettingDialog({ exportType }, (setting) => { // 获取导出接口入参 iPage.execGetExportSetting({ exportType, setting }, (ret) => { if (ret === false) { // 创建临时页面失败 return } let { exportData, doAfterExport } = ret // 使用exportData调用自定义导出接口 // 导出完毕, 调用导出完成回调 doAfterExport() }) }) } }) } } export default DashInterfaceExtension
- 无标签