| 
					
				 | 
			
			
				@@ -1,74 +0,0 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  <!-- 常用模块 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  <ventBox1 class="module-common" :style="style"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <template v-if="moduleName" #title> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <div :class="{ 'cursor-pointer': !!moduleData.to }" @click="redirectTo">{{ moduleName }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <template #container> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <slot> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <Header :deviceType="deviceType" :moduleData="moduleData" :data="data" @select="selectedData = $event" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <Content :style="{ height: header.show ? 'calc(100% - 30px)' : '100%' }" :moduleData="moduleData" :data="selectedData" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      </slot> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  </ventBox1> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-</template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<script lang="ts" setup> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  import Header from './header.vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  import Content from './content.vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  // import ModuleLeft from './original/moduleLeft.vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  // import ModuleBottom from './original/moduleBottom.vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  import { computed, ref } from 'vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  import ventBox1 from '/@/components/vent/ventBox1.vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  import { openWindow } from '/@/utils'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  // import { ModuleProps } from '../types'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const props = defineProps<{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    /** 配置的详细模块信息 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    moduleData: any; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    /** 配置的详细样式信息 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    showStyle: any; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    /** 该模块配置中的设备标识符 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    deviceType: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    /** api返回的数据 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    data: any; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    moduleName: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    visible: boolean; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  defineEmits(['close', 'click']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const { header } = props.moduleData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const selectedData = ref(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const style = computed(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const size = props.showStyle.size; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const position = props.showStyle.position; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return size + position + 'position: absolute;'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  // 根据配置里的定位判断应该使用哪个module组件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  // function getModuleComponent(position) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  //   if (position === '中下') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  //     return ModuleBottom; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  //   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  //   return ModuleLeft; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  function redirectTo() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const { to } = props.moduleData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (!to) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    openWindow(to); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-</script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<style scoped> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  .module-common .box1-center { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    height: calc(100% - 70px); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  :deep(.box1-center) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    height: calc(100% - 70px); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  :deep(.box1-center > .box-container) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    height: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    padding: 0 !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    width: 100% !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-</style> 
			 |