|
@@ -3,62 +3,37 @@
|
|
|
<!-- 主体内容部分 -->
|
|
|
<div class="content">
|
|
|
<!-- 背景 -->
|
|
|
- <img v-if="background.show && background.type === 'image'" class="content__background image__background" :src="background.link" />
|
|
|
- <video
|
|
|
- v-if="background.show && background.type === 'video'"
|
|
|
- class="content__background content__background_video"
|
|
|
- width="100%"
|
|
|
- autoplay
|
|
|
- loop
|
|
|
- muted
|
|
|
- disablepictureinpicture
|
|
|
- playsinline
|
|
|
- >
|
|
|
+ <img v-if="background.show && background.type === 'image'" class="content__background image__background"
|
|
|
+ :src="background.link" />
|
|
|
+ <video v-if="background.show && background.type === 'video'" class="content__background content__background_video"
|
|
|
+ width="100%" autoplay loop muted disablepictureinpicture playsinline>
|
|
|
<source :src="background.link" />
|
|
|
Not Supportted Link Or Browser
|
|
|
</video>
|
|
|
<div class="flex w-full h-full" :style="{ flexDirection: layout.direction }">
|
|
|
- <div v-for="config in layoutConfig" :key="config.name" :style="{ flexBasis: config.basis, overflow: config.overflow ? 'auto' : 'none' }">
|
|
|
+ <div v-for="config in layoutConfig" :key="config.name"
|
|
|
+ :style="{ flexBasis: config.basis, overflow: config.overflow ? 'auto' : 'none' }">
|
|
|
<!-- 告示板部分 -->
|
|
|
<template v-if="config.name === 'board'">
|
|
|
- <div
|
|
|
- v-if="config.pageType == 'vent_New'"
|
|
|
- style="padding-top: 11%"
|
|
|
- class="content__module content__module1 flex flex-justify-around flex-items-center flex-wrap"
|
|
|
- >
|
|
|
- <MiniBoard
|
|
|
- v-for="item in config.items"
|
|
|
- :key="item.prop"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
- :type="config.type"
|
|
|
- :layout="config.layout"
|
|
|
- />
|
|
|
+ <div v-if="config.pageType == 'vent_New'" style="padding-top: 11%"
|
|
|
+ class="content__module content__module1 flex flex-justify-around flex-items-center flex-wrap">
|
|
|
+ <MiniBoard v-for="item in config.items" :key="item.prop" :label="item.label" :value="item.value"
|
|
|
+ :type="config.type" :layout="config.layout" />
|
|
|
</div>
|
|
|
- <div v-else-if="config.pageType == 'New_fire'" class="content__module flex flex-justify-around flex-items-center flex-wrap">
|
|
|
- <MiniBoardNew
|
|
|
- v-for="item in config.items"
|
|
|
- :key="item.prop"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
- :type="config.type"
|
|
|
- :layout="config.layout"
|
|
|
- />
|
|
|
+ <div v-else-if="config.pageType == 'New_fire'"
|
|
|
+ class="content__module flex flex-justify-around flex-items-center flex-wrap">
|
|
|
+ <MiniBoardNew v-for="item in config.items" :key="item.prop" :label="item.label" :value="item.value"
|
|
|
+ :type="config.type" :layout="config.layout" />
|
|
|
</div>
|
|
|
<div v-else class="content__module flex flex-justify-around flex-items-center flex-wrap">
|
|
|
- <MiniBoard
|
|
|
- v-for="item in config.items"
|
|
|
- :key="item.prop"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
- :type="config.type"
|
|
|
- :layout="config.layout"
|
|
|
- />
|
|
|
+ <MiniBoard v-for="item in config.items" :key="item.prop" :label="item.label" :value="item.value"
|
|
|
+ :type="config.type" :layout="config.layout" />
|
|
|
</div>
|
|
|
</template>
|
|
|
<!-- 图表部分,这部分通常需要填充,有告示板、Header等内容需要填充父级 -->
|
|
|
<template v-if="config.name === 'chart'">
|
|
|
- <CustomChart v-if="config.pageType == 'New_dust'" class="content__module_dust" :chart-config="config.config" :chart-data="config.data" />
|
|
|
+ <CustomChart v-if="config.pageType == 'New_dust'" class="content__module_dust" :chart-config="config.config"
|
|
|
+ :chart-data="config.data" />
|
|
|
<CustomChart v-else class="content__module" :chart-config="config.config" :chart-data="config.data" />
|
|
|
</template>
|
|
|
<!-- 通常列表部分 -->
|
|
@@ -82,7 +57,8 @@
|
|
|
</template>
|
|
|
<!-- 复杂列表部分 -->
|
|
|
<template v-if="config.name === 'gallery_list'">
|
|
|
- <GalleryList class="content__module" :type="config.type" :list-config="config.items" :gallery-config="config.galleryItems" />
|
|
|
+ <GalleryList class="content__module" :type="config.type" :list-config="config.items"
|
|
|
+ :gallery-config="config.galleryItems" />
|
|
|
</template>
|
|
|
<!-- 复杂列表部分 -->
|
|
|
<template v-if="config.name === 'complex_list'">
|
|
@@ -90,22 +66,22 @@
|
|
|
</template>
|
|
|
<!-- 表格部分,这部分通常是占一整个模块的 -->
|
|
|
<template v-if="config.name === 'table'">
|
|
|
- <CustomTable class="content__module text-center overflow-auto" :type="config.type" :columns="config.columns" :data="config.data" />
|
|
|
+ <CustomTable class="content__module text-center overflow-auto" :type="config.type" :columns="config.columns"
|
|
|
+ :data="config.data" />
|
|
|
</template>
|
|
|
<template v-if="config.name === 'tabs'">
|
|
|
- <CustomTabs class="content__module" :type="config.type" :tab-config="config.items" :overflow="config.overflow" />
|
|
|
+ <CustomTabs class="content__module" :type="config.type" :tab-config="config.items"
|
|
|
+ :overflow="config.overflow" />
|
|
|
</template>
|
|
|
<template v-if="config.name === 'blast_delta'">
|
|
|
- <BlastDelta
|
|
|
- v-if="config.pageType === 'New_fire'"
|
|
|
- class="content__moduleFire"
|
|
|
- :pos-monitor="config.data"
|
|
|
- :canvasSize="{ width: 250, height: 200 }"
|
|
|
- />
|
|
|
- <BlastDelta v-else class="content__module" :pos-monitor="config.data" :canvasSize="{ width: 250, height: 200 }" />
|
|
|
+ <BlastDelta v-if="config.pageType === 'New_fire'" class="content__moduleFire" :pos-monitor="config.data"
|
|
|
+ :canvasSize="{ width: 250, height: 200 }" />
|
|
|
+ <BlastDelta v-else class="content__module" :pos-monitor="config.data"
|
|
|
+ :canvasSize="{ width: 250, height: 200 }" />
|
|
|
</template>
|
|
|
<template v-if="config.name === 'qh_curve'">
|
|
|
- <QHCurve class="content__module" :mainfan="config.data" :fan1-prop="config.config.fan1Prop" :fan2-prop="config.config.fan2Prop" />
|
|
|
+ <QHCurve class="content__module" :mainfan="config.data" :fan1-prop="config.config.fan1Prop"
|
|
|
+ :fan2-prop="config.config.fan2Prop" />
|
|
|
</template>
|
|
|
<template v-if="config.name === 'ai_chat'">
|
|
|
<AIChat class="content__module" />
|
|
@@ -113,14 +89,13 @@
|
|
|
<template v-if="config.name === 'device_alarm'">
|
|
|
<DeviceAlarm class="content__module" :devicedata="config.data" />
|
|
|
</template>
|
|
|
+ <!-- lxh -->
|
|
|
+ <template v-if="config.name === 'select_cs'">
|
|
|
+ <SelectCs></SelectCs>
|
|
|
+ </template>
|
|
|
<template v-if="config.name === 'measure_detail'">
|
|
|
- <MeasureDetail
|
|
|
- class="content__module"
|
|
|
- :show-title="false"
|
|
|
- :composite-data="config.data"
|
|
|
- :topconfig="config.config.topconfig"
|
|
|
- :btnconfig="config.config.btnconfig"
|
|
|
- />
|
|
|
+ <MeasureDetail class="content__module" :show-title="false" :composite-data="config.data"
|
|
|
+ :topconfig="config.config.topconfig" :btnconfig="config.config.btnconfig" />
|
|
|
</template>
|
|
|
<!-- <template v-if="config.key === 'fire_control'">
|
|
|
<FIreControl class="content__module" />
|
|
@@ -160,6 +135,7 @@ import MeasureDetail from './preset/MeasureDetail.vue';
|
|
|
import CustomTabs from './preset/CustomTabs.vue';
|
|
|
import AIChat from '/@/components/AIChat/MiniChat.vue';
|
|
|
import DeviceAlarm from './preset/DeviceAlarm.vue';
|
|
|
+import SelectCs from './preset/SelectCs.vue';
|
|
|
import MiniBoardNew from './detail/MiniBoard-New.vue';
|
|
|
// import FIreWarn from './preset/FIreWarn.vue';
|
|
|
// import FIreControl from './preset/FIreControl.vue';
|
|
@@ -407,6 +383,7 @@ const layoutConfig = computed(() => {
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
}
|
|
|
+
|
|
|
.content__background {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
@@ -416,17 +393,20 @@ const layoutConfig = computed(() => {
|
|
|
z-index: 0;
|
|
|
object-fit: fill;
|
|
|
}
|
|
|
+
|
|
|
.image__background {
|
|
|
width: 35%;
|
|
|
height: 61%;
|
|
|
left: 30%;
|
|
|
}
|
|
|
+
|
|
|
.content__module {
|
|
|
// margin-top: 5px;
|
|
|
// margin-bottom: 5px;
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
}
|
|
|
+
|
|
|
.content__module1 {
|
|
|
background: url('@/assets/images/vent/homeNew/databg/4.png');
|
|
|
background-repeat: no-repeat;
|
|
@@ -434,11 +414,13 @@ const layoutConfig = computed(() => {
|
|
|
height: 129px;
|
|
|
margin-top: 20%;
|
|
|
}
|
|
|
+
|
|
|
.content__moduleFire {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
margin-left: -24% !important;
|
|
|
}
|
|
|
+
|
|
|
.content__module_dust {
|
|
|
background: url('@/assets/images/vent/homeNew/bottomBg.png');
|
|
|
background-repeat: no-repeat;
|
|
@@ -446,6 +428,7 @@ const layoutConfig = computed(() => {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
}
|
|
|
+
|
|
|
// .content__module:first-of-type {
|
|
|
// margin-top: 0;
|
|
|
// }
|
|
@@ -455,6 +438,7 @@ const layoutConfig = computed(() => {
|
|
|
::-webkit-scrollbar {
|
|
|
width: 5px !important;
|
|
|
}
|
|
|
+
|
|
|
::-webkit-scrollbar-thumb {
|
|
|
width: 5px !important;
|
|
|
}
|
|
@@ -463,15 +447,19 @@ const layoutConfig = computed(() => {
|
|
|
/* background-color: transparent; */
|
|
|
color: #fff;
|
|
|
}
|
|
|
+
|
|
|
:deep(.zxm-select-arrow) {
|
|
|
color: #fff;
|
|
|
}
|
|
|
+
|
|
|
:deep(.zxm-select-selection-item) {
|
|
|
color: #fff !important;
|
|
|
}
|
|
|
+
|
|
|
:deep(.zxm-select-selection-placeholder) {
|
|
|
color: #fff !important;
|
|
|
}
|
|
|
+
|
|
|
:deep(.dialog-overlay) {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
@@ -482,6 +470,7 @@ const layoutConfig = computed(() => {
|
|
|
::-webkit-scrollbar {
|
|
|
width: 5px !important;
|
|
|
}
|
|
|
+
|
|
|
::-webkit-scrollbar-thumb {
|
|
|
width: 5px !important;
|
|
|
}
|