<template>
<analysis-sam style="height: 100%;" :conf="conf"></analysis-sam>
</template>
<script>
import { LoadUtil } from "./funclib/LoadUtil";
import { getToken } from "./utils/auth";
import { projectName, requestUrl } from "@birt/config";
import cmps from 'zhc-birt-cmps'
import AnalysisSam from './components/analysisSam/Index.vue'
export default {
data() {
return {
birtModel: {},
VUE_APP_BASE_API: requestUrl,
pn: projectName || "birt",
conf:{}
};
},
components:{AnalysisSam},
methods: {
// 动态加载报表模型方法
birtModelMethod(routePath, birtModelMethod, scope) {
debugger
return new Promise((resolve, reject) => {
let me = this;
let token = getToken();
let vId = window.scpRequestData && window.scpRequestData.__viewItemId
LoadUtil.loadJsBirtModel({
loadModelUrl: this.$HI.birtModel,
routePath: routePath,
token: token,
pn: this.pn,
vId: vId,
})
.then((res) => {
debugger
try {
let birtModel = getBirtModel(scope || me, cmps.Tool)
resolve(birtModel);
} catch (e) {
console.error(e);
}
})
.catch((e) => {
reject(e);
});
});
},
// loadBirtModel(routePath) {
// return new Promise((resolve, reject) => {
// let me = this;
// this.birtModelMethod(routePath, this.birtModelMethod)
// .then((birtModel) => {
// debugger
// me.conf = birtModel;
// console.log("conf", me.conf);
// resolve();
// })
// .catch((e) => {
// reject(e);
// });
// });
// },
// 获取地址栏参数
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;
},
},
created() {
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);
}
}
let me = this;
let token = getToken();
let vId = window.scpRequestData && window.scpRequestData.__viewItemId
LoadUtil.loadJsBirtModel({
loadModelUrl: this.$HI.birtModel,
routePath: path,
token: token,
pn: this.pn,
vId: vId,
})
.then((res) => {
try {
let birtModel = getBirtModel(me, cmps.Tool)
me.conf = birtModel;
console.log("conf", me.conf);
} catch (e) {
console.error(e);
}
})
.catch((e) => {
console.error(e);
});
// this.loadBirtModel(path).then((res) => {
// console.log('res', res)
// }).catch(e =>{
// console.log('error', e)
// })
},
};
</script>
<style>
html,body{
height: 100%;
}
</style>