GitBucket
4.6.0
Toggle navigation
Sign in
Files
Branches
1
Tags
Issues
Pull Requests
Labels
Milestones
Wiki
08335
/
hivui-platform-template
hivui平台项目模板
Browse code
birt model1取消deploy,添加viewItemId参数
master
1 parent
721be68
commit
ec8de41bca7031171e14dc3921e2f9047e68ea5b
hhb
authored
on 25 Feb 2022
Showing
2 changed files
project/hivuiBirt/App.vue
project/hivuiBirt/funclib/LoadUtil.js
Ignore Space
Show notes
View
project/hivuiBirt/App.vue
<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 upgrade from "./mixins/upgrade.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, upgrade, 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' let vId = this.getQueryVariable('viewItemId') LoadUtil.loadJsBirtModel({ loadModelUrl: this.$HI.birtModel, routePath: routePath, token: token, pn: this.pn, viewItemId: vId }) .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(); }); }); }, // 获取地址栏参数 getQueryVariable(variable) { var query = window.location.search.substring(1); var vars = query.split("&"); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split("="); if (pair[0] == variable) { return pair[1]; } } return false; }, }, mounted() { var path = window.location.pathname; // 编译后多e5 if (window.HIVUI_SETTING) { var serverName = window.HIVUI_SETTING.serverName; if (serverName && path.startsWith(serverName)) { path = path.substring(serverName.length); } } // 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>
<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 upgrade from "./mixins/upgrade.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,upgrade, 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 // 编译后多e5 if(window.HIVUI_SETTING){ var serverName = window.HIVUI_SETTING.serverName if(serverName && path.startsWith(serverName)){ path = path.substring(serverName.length) } } // 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>
Ignore Space
Show notes
View
project/hivuiBirt/funclib/LoadUtil.js
/** * 原生 动态加载后台资源js,json工具类 * @author cls * @date 2021-01-30 * import { LoadUtil } from "@birt/funclib/LoadUtil"; */ export const LoadUtil = { loadJs(url) { return new Promise((resolve, reject) => { let srcArr = document.getElementsByTagName("script"); let hasLoaded = false; for (let i = 0; i < srcArr.length; i++) { //判断当前js是否加载上 hasLoaded = (srcArr[i].src == url) ? true : false; } if (hasLoaded) { resolve(); return; } let script = document.createElement('script') script.type = 'text/javascript'; script.src = url; document.body.appendChild(script); script.onload = () => { resolve(); } script.onerror = () => { reject(); } }) }, // 动态加载报表模型(js) loadJsBirtModel({ loadModelUrl, routePath, token,pn,vId }) { return new Promise((resolve, reject) => { let url = this._getBirtModelUrl(loadModelUrl, routePath, token,pn,vId); this.loadJs(url).then((response) => { resolve(); }).catch(() => { reject(); }) }) }, // 获取加载报表模型地址 _getBirtModelUrl(loadModelUrl, routePath, token,pn,vId) { // let pi = routePath.lastIndexOf("."); // if (pi != -1) { // routePath = routePath.substring(0, pi); // } let url = `${loadModelUrl}?bizpath=${routePath}&access_token=${token}&pn=${pn}`; if(vId){ url += `&viewItemId=${vId}` } return url; } };
/** * 原生 动态加载后台资源js,json工具类 * @author cls * @date 2021-01-30 * import { LoadUtil } from "@birt/funclib/LoadUtil"; */ export const LoadUtil = { loadJs(url) { return new Promise((resolve, reject) => { let srcArr = document.getElementsByTagName("script"); let hasLoaded = false; for (let i = 0; i < srcArr.length; i++) { //判断当前js是否加载上 hasLoaded = (srcArr[i].src == url) ? true : false; } if (hasLoaded) { resolve(); return; } let script = document.createElement('script') script.type = 'text/javascript'; script.src = url; document.body.appendChild(script); script.onload = () => { resolve(); } script.onerror = () => { reject(); } }) }, // 动态加载报表模型(js) loadJsBirtModel({ loadModelUrl, routePath, token,pn }) { return new Promise((resolve, reject) => { let url = this._getBirtModelUrl(loadModelUrl, routePath, token,pn); this.loadJs(url).then((response) => { resolve(); }).catch(() => { reject(); }) }) }, // 获取加载报表模型地址 _getBirtModelUrl(loadModelUrl, routePath, token,pn) { // let pi = routePath.lastIndexOf("."); // if (pi != -1) { // routePath = routePath.substring(0, pi); // } let url = `${loadModelUrl}?bizpath=/deploy${routePath}&access_token=${token}&pn=${pn}`; return url; } };
Show line notes below