<template> <div> <birt-work-book :conf="birtModel"></birt-work-book> </div> </template> <script> import HcPage from "./components/Birt/Page"; import { BirtModelFactory } from "./templates/BirtModelFactory"; import { LoadUtil } from "./funclib/LoadUtil"; import { getToken } from "./utils/auth"; import { Tool } from "./funclib/Tool"; import user from './mixins/user.js' import resource from './mixins/resource.js' import permission_assign from './mixins/permission_assign.js' import permission_modify from './mixins/permission_modify.js' import permission_check from './mixins/permission_check.js' // import { getBirtModel } from "./birtModel" import {baseURL,projectName,requestUrl} from '@birt/config' export default { extends: HcPage, mixins: [user, resource, permission_assign, permission_modify,permission_check], data() { return { birtModel: {}, VUE_APP_BASE_API: requestUrl, pn: projectName || 'birt' }; }, watch: { // $route() { // this.loadBirtModel(this.$route.path); // }, }, methods: { // 动态加载报表模型方法 birtModelMethod(routePath, birtModelMethod, scope) { debugger return new Promise((resolve, reject) => { debugger let me = this; let token = getToken() // let token = '3d3fe30c-3d99-41e8-9aea-addd8528aa07' LoadUtil.loadJsBirtModel({ loadModelUrl: this.$HI.birtModel, routePath: routePath, token: token, pn: this.pn }) .then(() => { try { let birtModel = BirtModelFactory.buildModel( getBirtModel(scope || me, Tool) ); birtModel.token = token; birtModel.birtModelMethod = birtModelMethod; resolve(birtModel); } catch (e) { console.error(e); } }) .catch(() => { reject(); }); }); }, loadBirtModel(routePath) { return new Promise((resolve, reject) => { let me = this; this.birtModelMethod(routePath, this.birtModelMethod).then( (birtModel) => { debugger me.birtModel = birtModel; console.log('birtModel', birtModel) // me.applyRouteParam(); me.setWorkBookParam(); resolve() } ).catch(() =>{ reject(); }) }) }, }, mounted() { var path = window.location.pathname var _push = window.scpRequestData // var path = '/platf/user-info/func/query.func' this.loadBirtModel(path).then(()=>{ if(path == '/platf/permission/func/assign.func') this.getOrgData(-1); else if (path == '/platf/permission/func/modify.func') this.getOrgDataM(-1); }); }, }; </script> <style scope> .el-row>.zhc-birt-cell-children>.el-button { border: none; border-right: 1px solid #ddd; border-radius: 0; padding: 5px 15px; } </style>