diff --git a/src/pages/workbench/component-center/intelligent-drawing/intelligent_appbuilder.vue b/src/pages/workbench/component-center/intelligent-drawing/intelligent_appbuilder.vue index a3aaf5b5f324837af270936bc463357f292097c0..31aa5eca3a11e2273000781e8dd559eaac538271 100644 --- a/src/pages/workbench/component-center/intelligent-drawing/intelligent_appbuilder.vue +++ b/src/pages/workbench/component-center/intelligent-drawing/intelligent_appbuilder.vue @@ -39,7 +39,12 @@ export default { }, }, mounted() { - window.addEventListener('message',event =>{ + this.$nextTick(() => { + window.addEventListener('message',this.postmassageevt); + }) + }, + methods: { + postmassageevt(event){ let data = event.data; // App Builder发布服务 if (data.cmd == 'appbuildermsg'){ @@ -47,9 +52,11 @@ export default { this.$store.commit("setAppBuilderParams", data.params); this.$router.push(`/fwzc/fwcs?map=4`); } - }) + } }, - methods: {}, + destroyed () { + window.removeEventListener('message',this.postmassageevt); + } }; diff --git a/src/pages/workbench/component-center/intelligent-drawing/intelligent_details.vue b/src/pages/workbench/component-center/intelligent-drawing/intelligent_details.vue index 718a85cd616664e2132ae1edfab0b84bcf4e2faa..30d21703d69b9e447d9703c171b9234c2bce0a83 100644 --- a/src/pages/workbench/component-center/intelligent-drawing/intelligent_details.vue +++ b/src/pages/workbench/component-center/intelligent-drawing/intelligent_details.vue @@ -32,19 +32,37 @@ export default { }, mounted() { this.$nextTick(() => { - window.addEventListener('message',event =>{ - let data = event.data; - if (data.cmd == 'mapdetailtoview'){ - console.log(data); - this.$store.commit("setZnztDetailsParams", data.params); - this.$router.push('/intelligent_drawing') - } - }) + window.addEventListener('message',this.postmassageevt) }) }, - methods: {}, + methods: { + postmassageevt(event){ + let data = event.data; + // App Builder页面 -- 新窗口打开 + if (data.cmd == 'mapviewtoapp'){ + let params = { + title: data.params.title, + tags: data.params.tags, + sharewithwebmap:data.params.shareWithWebMap, + webmap:data.params.id, + summary: data.params.summary, + }; + let routeData = this.$router.resolve({ + name: "intelligent_appbuilder", + query: params, + }); + window.open(routeData.href, '_blank'); + // this.$store.commit("setAppBuilderParams", data.params); + }; + if (data.cmd == 'mapdetailtoview'){ + console.log(data); + this.$store.commit("setZnztDetailsParams", data.params); + this.$router.push('/intelligent_drawing') + } + } + }, destroyed () { - // window.removeEventListener('message') + window.removeEventListener('message',this.postmassageevt) } };