|
@@ -15,12 +15,26 @@
|
|
|
</a-dropdown> -->
|
|
|
<!-- 采用定位方式以避免出现各个模块隐藏时其他模块下移的问题 -->
|
|
|
<template v-if="isOriginal">
|
|
|
- <ModuleOriginal v-for="cfg in configs" :key="cfg.deviceType" :show-style="cfg.showStyle" :module-name="cfg.moduleName" :visible="true">
|
|
|
+ <ModuleOriginal
|
|
|
+ v-for="cfg in configs"
|
|
|
+ :key="cfg.deviceType"
|
|
|
+ :show-style="cfg.showStyle"
|
|
|
+ :module-name="cfg.moduleName"
|
|
|
+ :visible="true"
|
|
|
+ @click="redirectTo(cfg)"
|
|
|
+ >
|
|
|
<Content v-bind="cfg" />
|
|
|
</ModuleOriginal>
|
|
|
</template>
|
|
|
<template v-else-if="isCommon">
|
|
|
- <ModuleCommon v-for="cfg in configs" :key="cfg.deviceType" :show-style="cfg.showStyle" :module-name="cfg.moduleName" :visible="true">
|
|
|
+ <ModuleCommon
|
|
|
+ v-for="cfg in configs"
|
|
|
+ :key="cfg.deviceType"
|
|
|
+ :show-style="cfg.showStyle"
|
|
|
+ :module-name="cfg.moduleName"
|
|
|
+ :visible="true"
|
|
|
+ @click="redirectTo(cfg)"
|
|
|
+ >
|
|
|
<Content v-bind="cfg" />
|
|
|
</ModuleCommon>
|
|
|
</template>
|
|
@@ -33,6 +47,7 @@
|
|
|
:show-style="cfg.showStyle"
|
|
|
:module-name="cfg.moduleName"
|
|
|
@close="cfg.visible = false"
|
|
|
+ @click="redirectTo(cfg)"
|
|
|
>
|
|
|
<Content v-bind="cfg" />
|
|
|
</ModuleEnhanced>
|
|
@@ -57,6 +72,7 @@
|
|
|
import Content from './components/content.vue';
|
|
|
import { testConfigA } from './configurable.data';
|
|
|
import { useRoute } from 'vue-router';
|
|
|
+ import { openWindow } from '/@/utils';
|
|
|
|
|
|
interface EnhancedConfig extends Config {
|
|
|
visible: boolean;
|
|
@@ -73,6 +89,12 @@
|
|
|
});
|
|
|
const { configs, isOriginal, isCommon, fetchConfigs } = useInitConfigs();
|
|
|
|
|
|
+ function redirectTo(config: Config) {
|
|
|
+ const { to } = config.moduleData;
|
|
|
+ if (!to) return;
|
|
|
+ openWindow(to);
|
|
|
+ }
|
|
|
+
|
|
|
onMounted(() => {
|
|
|
const query = useRoute().query;
|
|
|
if (query.fire) {
|