|
|
@@ -3,79 +3,96 @@
|
|
|
<div class="top-bg">
|
|
|
<greenNav :activeIndex="activeIndex" />
|
|
|
</div>
|
|
|
- <div class="main-container">
|
|
|
- <!-- 采用定位方式以避免出现各个模块隐藏时其他模块下移的问题 -->
|
|
|
- <div class="left-t">
|
|
|
- <div class="tcontent-area">
|
|
|
- <div class="tcontent-l">
|
|
|
- <div>监测</div>
|
|
|
- <div>区域</div>
|
|
|
- </div>
|
|
|
- <div class="tcontent-c">
|
|
|
- <div style="margin-bottom: -4px; color: #3afde7; font-size: 24px; font-weight: bolder; letter-spacing: 10px">
|
|
|
- {{ data.fireAllMineWarn }}
|
|
|
+ <div class="main-container">
|
|
|
+ <!-- 采用定位方式以避免出现各个模块隐藏时其他模块下移的问题 -->
|
|
|
+ <div class="left-t">
|
|
|
+ <div class="tcontent-area">
|
|
|
+ <div class="tcontent-l">
|
|
|
+ <div>监测</div>
|
|
|
+ <div>区域</div>
|
|
|
+ </div>
|
|
|
+ <div class="tcontent-c">
|
|
|
+ <div style="margin-bottom: -4px; color: #3afde7; font-size: 24px; font-weight: bolder; letter-spacing: 10px">
|
|
|
+ {{ data.fireAllMineWarn }}
|
|
|
+ </div>
|
|
|
+ <div style="color: #fff; font-size: 12px">自燃倾向性等级 : 自燃</div>
|
|
|
+ </div>
|
|
|
+ <div class="tcontent-r">
|
|
|
+ <div>火灾</div>
|
|
|
+ <div>风险</div>
|
|
|
</div>
|
|
|
- <div style="color: #fff; font-size: 12px">自燃倾向性等级 : 自燃</div>
|
|
|
- </div>
|
|
|
- <div class="tcontent-r">
|
|
|
- <div>火灾</div>
|
|
|
- <div>风险</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div class="right-t">
|
|
|
- <div class="tcontent-l" @click="redirectTo('/grout-home?mock-login=1')">
|
|
|
- <div>智能注浆系统</div>
|
|
|
- </div>
|
|
|
- <div class="tcontent-r" @click="redirectTo('/nitrogen-home?mock-login=1')">
|
|
|
- <div>智能注氮系统</div>
|
|
|
+ <div class="right-t">
|
|
|
+ <div class="tcontent-l" @click="redirectTo('/grout-home?mock-login=1')">
|
|
|
+ <div>智能注浆系统</div>
|
|
|
+ </div>
|
|
|
+ <div class="tcontent-r" @click="redirectTo('/nitrogen-home?mock-login=1')">
|
|
|
+ <div>智能注氮系统</div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
+ <ModuleGreen
|
|
|
+ v-for="cfg in cfgs"
|
|
|
+ :key="cfg.deviceType"
|
|
|
+ :show-style="cfg.showStyle"
|
|
|
+ :module-data="cfg.moduleData"
|
|
|
+ :module-name="cfg.moduleName"
|
|
|
+ :device-type="cfg.deviceType"
|
|
|
+ :data="data"
|
|
|
+ :visible="true"
|
|
|
+ />
|
|
|
+ <ModuleDual
|
|
|
+ v-if="cfgA && cfgB"
|
|
|
+ :show-style="cfgA.showStyle"
|
|
|
+ :module-data-a="cfgA.moduleData"
|
|
|
+ :module-name-a="cfgA.moduleName"
|
|
|
+ :device-type-a="cfgA.deviceType"
|
|
|
+ :module-data-b="cfgB.moduleData"
|
|
|
+ :module-name-b="cfgB.moduleName"
|
|
|
+ :device-type-b="cfgB.deviceType"
|
|
|
+ :data="data"
|
|
|
+ :visible="true"
|
|
|
+ />
|
|
|
</div>
|
|
|
- <ModuleGreen v-for="cfg in cfgs" :key="cfg.deviceType" :show-style="cfg.showStyle" :module-data="cfg.moduleData"
|
|
|
- :module-name="cfg.moduleName" :device-type="cfg.deviceType" :data="data" :visible="true" />
|
|
|
- <ModuleDual v-if="cfgA && cfgB" :show-style="cfgA.showStyle" :module-data-a="cfgA.moduleData"
|
|
|
- :module-name-a="cfgA.moduleName" :device-type-a="cfgA.deviceType" :module-data-b="cfgB.moduleData"
|
|
|
- :module-name-b="cfgB.moduleName" :device-type-b="cfgB.deviceType" :data="data" :visible="true" />
|
|
|
- </div>
|
|
|
-
|
|
|
- <div style="width: 998px; height: 550px; position: absolute; left: calc(50% - 500px); top: 60px">
|
|
|
- <VentModal />
|
|
|
+
|
|
|
+ <div style="width: 998px; height: 550px; position: absolute; left: calc(50% - 500px); top: 60px">
|
|
|
+ <SubApp />
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script lang="ts" setup>
|
|
|
-import { ref, computed, onMounted, onUnmounted } from 'vue';
|
|
|
-import { useInitConfigs, useInitPage } from '../hooks/useInit';
|
|
|
-import greenNav from './components/green-nav.vue';
|
|
|
-import ModuleGreen from './components/module-green.vue';
|
|
|
-import ModuleDual from './components/moduleDual-green.vue';
|
|
|
-import VentModal from '/@/components/vent/micro/ventModal.vue';
|
|
|
-import { getDisHome } from '../configurable.api';
|
|
|
-import { testConfigBDFire } from '../configurable.data';
|
|
|
-// import { getToken } from '/@/utils/auth';
|
|
|
-let activeIndex = ref(2)
|
|
|
+ import { ref, computed, onMounted, onUnmounted } from 'vue';
|
|
|
+ import { useInitConfigs, useInitPage } from '../hooks/useInit';
|
|
|
+ import greenNav from './components/green-nav.vue';
|
|
|
+ import ModuleGreen from './components/module-green.vue';
|
|
|
+ import ModuleDual from './components/moduleDual-green.vue';
|
|
|
+ import SubApp from '/@/components/vent/micro/createSubApp.vue';
|
|
|
+ import { getDisHome } from '../configurable.api';
|
|
|
+ import { testConfigBDFire } from '../configurable.data';
|
|
|
+ // import { getToken } from '/@/utils/auth';
|
|
|
+ let activeIndex = ref(2);
|
|
|
|
|
|
-const cfgs = computed(() =>
|
|
|
- configs.value.filter((_, index) => {
|
|
|
- return index !== 4 && index !== 3;
|
|
|
- })
|
|
|
-);
|
|
|
-const cfgA = computed<any>(() =>
|
|
|
- configs.value.find((_, index) => {
|
|
|
- return index === 3;
|
|
|
- })
|
|
|
-);
|
|
|
-const cfgB = computed<any>(() =>
|
|
|
- configs.value.find((_, index) => {
|
|
|
- return index === 4;
|
|
|
- })
|
|
|
-);
|
|
|
-const { configs, devicesTypes, fetchConfigs } = useInitConfigs();
|
|
|
-const { mainTitle, data, updateData } = useInitPage('');
|
|
|
-let interval: number | undefined;
|
|
|
+ const cfgs = computed(() =>
|
|
|
+ configs.value.filter((_, index) => {
|
|
|
+ return index !== 4 && index !== 3;
|
|
|
+ })
|
|
|
+ );
|
|
|
+ const cfgA = computed<any>(() =>
|
|
|
+ configs.value.find((_, index) => {
|
|
|
+ return index === 3;
|
|
|
+ })
|
|
|
+ );
|
|
|
+ const cfgB = computed<any>(() =>
|
|
|
+ configs.value.find((_, index) => {
|
|
|
+ return index === 4;
|
|
|
+ })
|
|
|
+ );
|
|
|
+ const { configs, devicesTypes, fetchConfigs } = useInitConfigs();
|
|
|
+ const { mainTitle, data, updateData } = useInitPage('');
|
|
|
+ let interval: number | undefined;
|
|
|
|
|
|
-onMounted(() => {
|
|
|
- fetchConfigs('BD_fire').then(() => {
|
|
|
+ onMounted(() => {
|
|
|
+ fetchConfigs('BD_fire').then(() => {
|
|
|
configs.value = testConfigBDFire;
|
|
|
getDisHome({
|
|
|
dataList: devicesTypes.value.concat('fireAllMineWarn').join(','),
|
|
|
@@ -86,195 +103,193 @@ onMounted(() => {
|
|
|
dataList: devicesTypes.value.concat('fireAllMineWarn').join(','),
|
|
|
}).then(updateData);
|
|
|
}, 2000);
|
|
|
-});
|
|
|
+ });
|
|
|
|
|
|
-onUnmounted(() => {
|
|
|
- clearInterval(interval);
|
|
|
-});
|
|
|
+ onUnmounted(() => {
|
|
|
+ clearInterval(interval);
|
|
|
+ });
|
|
|
|
|
|
-function redirectTo(url) {
|
|
|
- window.open(url);
|
|
|
-}
|
|
|
+ function redirectTo(url) {
|
|
|
+ window.open(url);
|
|
|
+ }
|
|
|
</script>
|
|
|
<style lang="less" scoped>
|
|
|
-@import '/@/design/theme.less';
|
|
|
+ @import '/@/design/theme.less';
|
|
|
|
|
|
-@font-face {
|
|
|
- font-family: 'douyuFont';
|
|
|
- src: url('../../../../assets/font/douyuFont.otf');
|
|
|
-}
|
|
|
+ @font-face {
|
|
|
+ font-family: 'douyuFont';
|
|
|
+ src: url('../../../../assets/font/douyuFont.otf');
|
|
|
+ }
|
|
|
|
|
|
-@{theme-deepblue} {
|
|
|
- .fire-green {
|
|
|
- --image-bg: url('@/assets/images/themify/deepblue/home-container/configurable/firehome/bg.png');
|
|
|
- --image-fire-title: url(/@/assets/images/themify/deepblue/home-container/configurable/firehome/fire-title.png);
|
|
|
- --image-qkjaq: url('/@/assets/images/themify/deepblue/home-container/configurable/firehome/1-2.png');
|
|
|
- --image-common-border2: url('/@/assets/images/themify/deepblue/home-container/configurable/firehome/green-bd-bottom.png');
|
|
|
- --image-znzjxt: url(/@/assets/images/themify/deepblue/home-container/configurable/firehome/1-7.png);
|
|
|
- --image-znzdxt: url(/@/assets/images/themify/deepblue/home-container/configurable/firehome/1-8.png);
|
|
|
+ @{theme-deepblue} {
|
|
|
+ .fire-green {
|
|
|
+ --image-bg: url('@/assets/images/themify/deepblue/home-container/configurable/firehome/bg.png');
|
|
|
+ --image-fire-title: url(/@/assets/images/themify/deepblue/home-container/configurable/firehome/fire-title.png);
|
|
|
+ --image-qkjaq: url('/@/assets/images/themify/deepblue/home-container/configurable/firehome/1-2.png');
|
|
|
+ --image-common-border2: url('/@/assets/images/themify/deepblue/home-container/configurable/firehome/green-bd-bottom.png');
|
|
|
+ --image-znzjxt: url(/@/assets/images/themify/deepblue/home-container/configurable/firehome/1-7.png);
|
|
|
+ --image-znzdxt: url(/@/assets/images/themify/deepblue/home-container/configurable/firehome/1-8.png);
|
|
|
+ }
|
|
|
}
|
|
|
-}
|
|
|
|
|
|
-.fire-green {
|
|
|
- --image-bg: url('@/assets/images/home-container/configurable/firehome/bg.png');
|
|
|
- --image-fire-title: url(/@/assets/images/home-container/configurable/firehome/fire-title.png);
|
|
|
- --image-qkjaq: url('/@/assets/images/home-container/configurable/firehome/1-2.png');
|
|
|
- --image-common-border2: url('@/assets/images/home-container/configurable/firehome/green-bd-bottom.png');
|
|
|
- --image-znzjxt: url(/@/assets/images/home-container/configurable/firehome/1-7.png);
|
|
|
- --image-znzdxt: url(/@/assets/images/home-container/configurable/firehome/1-8.png);
|
|
|
- position: relative;
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- background-color: #181b24;
|
|
|
+ .fire-green {
|
|
|
+ --image-bg: url('@/assets/images/home-container/configurable/firehome/bg.png');
|
|
|
+ --image-fire-title: url(/@/assets/images/home-container/configurable/firehome/fire-title.png);
|
|
|
+ --image-qkjaq: url('/@/assets/images/home-container/configurable/firehome/1-2.png');
|
|
|
+ --image-common-border2: url('@/assets/images/home-container/configurable/firehome/green-bd-bottom.png');
|
|
|
+ --image-znzjxt: url(/@/assets/images/home-container/configurable/firehome/1-7.png);
|
|
|
+ --image-znzdxt: url(/@/assets/images/home-container/configurable/firehome/1-8.png);
|
|
|
+ position: relative;
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ background-color: #181b24;
|
|
|
|
|
|
+ .top-bg {
|
|
|
+ width: 100%;
|
|
|
+ height: 96px;
|
|
|
+ position: absolute;
|
|
|
+ z-index: 1;
|
|
|
+ }
|
|
|
+ .main-container {
|
|
|
+ position: absolute;
|
|
|
+ top: 96px;
|
|
|
+ width: calc(100% - 30px);
|
|
|
+ height: calc(100% - 96px);
|
|
|
+ margin: 0px 15px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ }
|
|
|
|
|
|
- .top-bg {
|
|
|
- width: 100%;
|
|
|
- height: 96px;
|
|
|
- position: absolute;
|
|
|
- z-index: 1;
|
|
|
- }
|
|
|
- .main-container {
|
|
|
- position: absolute;
|
|
|
- top: 96px;
|
|
|
- width: calc(100% - 30px);
|
|
|
- height: calc(100% - 96px);
|
|
|
- margin: 0px 15px;
|
|
|
- box-sizing: border-box;
|
|
|
- }
|
|
|
+ .module-dropdown {
|
|
|
+ padding: 10px;
|
|
|
+ background-image: linear-gradient(to bottom, #036886, #072a40);
|
|
|
+ border-bottom: 2px solid #3df6ff;
|
|
|
+ color: @vent-font-color;
|
|
|
+ position: absolute;
|
|
|
+ top: 70px;
|
|
|
+ right: 460px;
|
|
|
+ }
|
|
|
|
|
|
- .module-dropdown {
|
|
|
- padding: 10px;
|
|
|
- background-image: linear-gradient(to bottom, #036886, #072a40);
|
|
|
- border-bottom: 2px solid #3df6ff;
|
|
|
- color: @vent-font-color;
|
|
|
- position: absolute;
|
|
|
- top: 70px;
|
|
|
- right: 460px;
|
|
|
+ .module-dropdown-original {
|
|
|
+ padding: 10px;
|
|
|
+ background-image: linear-gradient(to bottom, #036886, #072a40);
|
|
|
+ border-bottom: 2px solid #3df6ff;
|
|
|
+ color: @vent-font-color;
|
|
|
+ position: absolute;
|
|
|
+ top: 70px;
|
|
|
+ right: 460px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .module-trigger-button {
|
|
|
+ color: @vent-font-color;
|
|
|
+ background-image: linear-gradient(to bottom, #036886, #072a40);
|
|
|
+ border: none;
|
|
|
+ border-bottom: 2px solid #3df6ff;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- .module-dropdown-original {
|
|
|
- padding: 10px;
|
|
|
- background-image: linear-gradient(to bottom, #036886, #072a40);
|
|
|
- border-bottom: 2px solid #3df6ff;
|
|
|
- color: @vent-font-color;
|
|
|
+ .left-t {
|
|
|
position: absolute;
|
|
|
- top: 70px;
|
|
|
- right: 460px;
|
|
|
- }
|
|
|
+ height: 90px;
|
|
|
+ top: 0px;
|
|
|
+ left: 10px;
|
|
|
+ width: 420px;
|
|
|
+ background-image: var(--image-qkjaq);
|
|
|
+ background-repeat: no-repeat;
|
|
|
+ background-position: center;
|
|
|
+ background-size: 100% 100%;
|
|
|
|
|
|
- .module-trigger-button {
|
|
|
- color: @vent-font-color;
|
|
|
- background-image: linear-gradient(to bottom, #036886, #072a40);
|
|
|
- border: none;
|
|
|
- border-bottom: 2px solid #3df6ff;
|
|
|
- }
|
|
|
-}
|
|
|
+ .tcontent-area {
|
|
|
+ display: flex;
|
|
|
+ position: absolute;
|
|
|
+ top: 50%;
|
|
|
+ left: 0;
|
|
|
+ box-sizing: border-box;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-around;
|
|
|
+ width: 100%;
|
|
|
+ height: 70px;
|
|
|
+ padding: 0 15px;
|
|
|
+ transform: translate(0, -40%);
|
|
|
|
|
|
-.left-t {
|
|
|
- position: absolute;
|
|
|
- height: 90px;
|
|
|
- top: 0px;
|
|
|
- left: 10px;
|
|
|
- width: 420px;
|
|
|
- background-image: var(--image-qkjaq);
|
|
|
- background-repeat: no-repeat;
|
|
|
- background-position: center;
|
|
|
- background-size: 100% 100%;
|
|
|
+ .tcontent-l {
|
|
|
+ display: flex;
|
|
|
+ flex: 1;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ height: 100%;
|
|
|
+ color: #9da5aa;
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: bold;
|
|
|
+ letter-spacing: 2px;
|
|
|
+ }
|
|
|
|
|
|
- .tcontent-area {
|
|
|
- display: flex;
|
|
|
+ .tcontent-c {
|
|
|
+ display: flex;
|
|
|
+ flex: 3;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ height: 100%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .tcontent-r {
|
|
|
+ display: flex;
|
|
|
+ flex: 1;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ height: 100%;
|
|
|
+ color: #9da5aa;
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: bold;
|
|
|
+ letter-spacing: 2px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .right-t {
|
|
|
position: absolute;
|
|
|
- top: 50%;
|
|
|
- left: 0;
|
|
|
- box-sizing: border-box;
|
|
|
+ height: 90px;
|
|
|
+ right: 10px;
|
|
|
+ top: 0px;
|
|
|
+ width: 420px;
|
|
|
+ background-image: var(--image-common-border2);
|
|
|
+ background-repeat: no-repeat;
|
|
|
+ background-position: center;
|
|
|
+ background-size: 100% 100%;
|
|
|
+ display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: space-around;
|
|
|
- width: 100%;
|
|
|
- height: 70px;
|
|
|
- padding: 0 15px;
|
|
|
- transform: translate(0, -40%);
|
|
|
-
|
|
|
+ color: #fff;
|
|
|
.tcontent-l {
|
|
|
- display: flex;
|
|
|
flex: 1;
|
|
|
- flex-direction: column;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
height: 100%;
|
|
|
- color: #9da5aa;
|
|
|
font-size: 14px;
|
|
|
font-weight: bold;
|
|
|
- letter-spacing: 2px;
|
|
|
- }
|
|
|
-
|
|
|
- .tcontent-c {
|
|
|
- display: flex;
|
|
|
- flex: 3;
|
|
|
- flex-direction: column;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
- height: 100%;
|
|
|
+ background-image: var(--image-znzjxt);
|
|
|
+ background-size: 75% 80%;
|
|
|
+ background-repeat: no-repeat;
|
|
|
+ background-position: center;
|
|
|
+ text-align: center;
|
|
|
+ padding-top: 70px;
|
|
|
}
|
|
|
|
|
|
.tcontent-r {
|
|
|
- display: flex;
|
|
|
flex: 1;
|
|
|
- flex-direction: column;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
height: 100%;
|
|
|
- color: #9da5aa;
|
|
|
font-size: 14px;
|
|
|
font-weight: bold;
|
|
|
- letter-spacing: 2px;
|
|
|
+ background-image: var(--image-znzdxt);
|
|
|
+ background-size: 75% 80%;
|
|
|
+ background-repeat: no-repeat;
|
|
|
+ background-position: center;
|
|
|
+ text-align: center;
|
|
|
+ padding-top: 70px;
|
|
|
}
|
|
|
}
|
|
|
-}
|
|
|
|
|
|
-.right-t {
|
|
|
- position: absolute;
|
|
|
- height: 90px;
|
|
|
- right: 10px;
|
|
|
- top: 0px;
|
|
|
- width: 420px;
|
|
|
- background-image: var(--image-common-border2);
|
|
|
- background-repeat: no-repeat;
|
|
|
- background-position: center;
|
|
|
- background-size: 100% 100%;
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: space-around;
|
|
|
- color: #fff;
|
|
|
- .tcontent-l {
|
|
|
- flex: 1;
|
|
|
- height: 100%;
|
|
|
- font-size: 14px;
|
|
|
- font-weight: bold;
|
|
|
- background-image: var(--image-znzjxt);
|
|
|
- background-size: 75% 80%;
|
|
|
- background-repeat: no-repeat;
|
|
|
- background-position: center;
|
|
|
- text-align: center;
|
|
|
- padding-top: 70px;
|
|
|
+ :deep(.loading-box) {
|
|
|
+ position: unset;
|
|
|
}
|
|
|
-
|
|
|
- .tcontent-r {
|
|
|
- flex: 1;
|
|
|
- height: 100%;
|
|
|
- font-size: 14px;
|
|
|
- font-weight: bold;
|
|
|
- background-image: var(--image-znzdxt);
|
|
|
- background-size: 75% 80%;
|
|
|
- background-repeat: no-repeat;
|
|
|
- background-position: center;
|
|
|
- text-align: center;
|
|
|
- padding-top: 70px;
|
|
|
-
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-:deep(.loading-box) {
|
|
|
- position: unset;
|
|
|
-}
|
|
|
</style>
|