|
|
|
@ -1,5 +1,5 @@
|
|
|
|
|
<template>
|
|
|
|
|
<div class="module-style">
|
|
|
|
|
<div class="module-style" ref="moduleRef">
|
|
|
|
|
<div class="module-title-style">
|
|
|
|
|
<span>{{getModuleName()}}</span>
|
|
|
|
|
<div class="icon-container-style">
|
|
|
|
@ -16,7 +16,7 @@
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import {moduleData} from './moduleAndLaySettingConfig'
|
|
|
|
|
import {moduleData} from './moduleAndLaySettingConfig';
|
|
|
|
|
export default {
|
|
|
|
|
name: "ModuleBase",
|
|
|
|
|
props: {
|
|
|
|
@ -26,7 +26,7 @@
|
|
|
|
|
return {
|
|
|
|
|
module_type_id: '',
|
|
|
|
|
module_id: '',
|
|
|
|
|
size:''
|
|
|
|
|
size: '',
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -36,43 +36,89 @@
|
|
|
|
|
type_id: this.moduleData.module_type_id,
|
|
|
|
|
id: this.moduleData.module_id,
|
|
|
|
|
module_size: this.moduleData.size,
|
|
|
|
|
url: this.initModuleUrl()
|
|
|
|
|
//url: this.initModuleUrl(),
|
|
|
|
|
url: "",
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mounted(){
|
|
|
|
|
//初次加载:第一次加载时,模块在屏幕内就加载
|
|
|
|
|
this.initLoadModule();
|
|
|
|
|
//延时加载:随着屏幕向下滚动,模块出现在屏幕中再加载
|
|
|
|
|
let moduleContent = document.getElementById("moduleContent");
|
|
|
|
|
moduleContent.addEventListener("scroll", () => {
|
|
|
|
|
let scrollTop = moduleContent.scrollTop;
|
|
|
|
|
//可见区域底部高度 = 滚动条高度 + 视窗高度
|
|
|
|
|
let visibleBottom = scrollTop + document.documentElement.clientHeight - 100;
|
|
|
|
|
//模块距离顶部高度
|
|
|
|
|
let moduleTop = this.$refs.moduleRef ? this.$refs.moduleRef.offsetTop : 0;
|
|
|
|
|
//如果模块距离顶部高度 小于 可见区域底部高度 就视为可见
|
|
|
|
|
if (moduleTop + 100 < visibleBottom) {
|
|
|
|
|
//开始加载
|
|
|
|
|
this.url = this.getModuleUrl();
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
|
getCom: function () {
|
|
|
|
|
return () => import(`@/views/superFusionPlatform/mainPlatform/moduleAndLayout/moduleCom/${this.url}`)
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
initLoadModule: function () {
|
|
|
|
|
let moduleTop = this.$refs.moduleRef ? this.$refs.moduleRef.offsetTop : 0;
|
|
|
|
|
let initVisibleBottom = document.documentElement.clientHeight;
|
|
|
|
|
if (moduleTop < initVisibleBottom) {
|
|
|
|
|
//开始加载
|
|
|
|
|
this.url = this.getModuleUrl();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
accessSubsystem: function () {
|
|
|
|
|
debugger;
|
|
|
|
|
let type = (moduleData.filter((type)=>{return type.module_type_id === this.type_id})[0]);
|
|
|
|
|
let module = type.module_list.filter((module)=>{return module.module_id === this.id})[0];
|
|
|
|
|
let type = (moduleData.filter((type) => {
|
|
|
|
|
return type.module_type_id === this.type_id
|
|
|
|
|
})[0]);
|
|
|
|
|
let module = type.module_list.filter((module) => {
|
|
|
|
|
return module.module_id === this.id
|
|
|
|
|
})[0];
|
|
|
|
|
this.$emit('accessSubsystem', module);
|
|
|
|
|
},
|
|
|
|
|
hideModule: function () {
|
|
|
|
|
this.$emit('hideModule')
|
|
|
|
|
},
|
|
|
|
|
initModuleUrl: function () {
|
|
|
|
|
let type = (moduleData.filter((type)=>{return type.module_type_id === this.moduleData.module_type_id})[0])
|
|
|
|
|
let type = (moduleData.filter((type) => {
|
|
|
|
|
return type.module_type_id === this.moduleData.module_type_id
|
|
|
|
|
})[0])
|
|
|
|
|
if (this.moduleData.size === 'small') {
|
|
|
|
|
return type.module_list.filter((module)=>{return module.module_id === this.moduleData.module_id})[0].module_url_small
|
|
|
|
|
return type.module_list.filter((module) => {
|
|
|
|
|
return module.module_id === this.moduleData.module_id
|
|
|
|
|
})[0].module_url_small
|
|
|
|
|
} else {
|
|
|
|
|
return type.module_list.filter((module)=>{return module.module_id === this.moduleData.module_id})[0].module_url_large
|
|
|
|
|
return type.module_list.filter((module) => {
|
|
|
|
|
return module.module_id === this.moduleData.module_id
|
|
|
|
|
})[0].module_url_large
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
getModuleUrl: function () {
|
|
|
|
|
let type = (moduleData.filter((type)=>{return type.module_type_id === this.type_id})[0])
|
|
|
|
|
let type = (moduleData.filter((type) => {
|
|
|
|
|
return type.module_type_id === this.type_id
|
|
|
|
|
})[0])
|
|
|
|
|
if (this.module_size === 'small') {
|
|
|
|
|
return type.module_list.filter((module)=>{return module.module_id === this.id})[0].module_url_small
|
|
|
|
|
return type.module_list.filter((module) => {
|
|
|
|
|
return module.module_id === this.id
|
|
|
|
|
})[0].module_url_small
|
|
|
|
|
} else {
|
|
|
|
|
return type.module_list.filter((module)=>{return module.module_id === this.id})[0].module_url_large
|
|
|
|
|
return type.module_list.filter((module) => {
|
|
|
|
|
return module.module_id === this.id
|
|
|
|
|
})[0].module_url_large
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
getModuleName: function () {
|
|
|
|
|
return (moduleData.filter((type)=>{return type.module_type_id === this.type_id})[0]).
|
|
|
|
|
module_list.filter((module)=>{return module.module_id === this.id})[0].module_name
|
|
|
|
|
return (moduleData.filter((type) => {
|
|
|
|
|
return type.module_type_id === this.type_id
|
|
|
|
|
})[0]).module_list.filter((module) => {
|
|
|
|
|
return module.module_id === this.id
|
|
|
|
|
})[0].module_name
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
watch: {
|
|
|
|
@ -80,7 +126,9 @@
|
|
|
|
|
this.type_id = newData.module_type_id
|
|
|
|
|
this.id = newData.module_id
|
|
|
|
|
this.module_size = newData.size
|
|
|
|
|
this.url = this.getModuleUrl()
|
|
|
|
|
this.showIndex = newData.showIndex
|
|
|
|
|
//this.url = this.getModuleUrl()
|
|
|
|
|
this.initLoadModule();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|