|
@@ -4,7 +4,7 @@
|
|
|
<div class="top-bg">
|
|
|
<div class="main-title">{{ mainTitle }}</div>
|
|
|
</div>
|
|
|
- <a-dropdown class="module-dropdown" :trigger="['click']" placement="bottomRight">
|
|
|
+ <a-dropdown class="module-dropdown" :class="{ 'module-dropdown-original': isOriginal }" :trigger="['click']" placement="bottomRight">
|
|
|
<a class="ant-dropdown-link" @click.prevent>
|
|
|
全矿井通风检测
|
|
|
<CaretDownOutlined />
|
|
@@ -14,17 +14,22 @@
|
|
|
</template>
|
|
|
</a-dropdown>
|
|
|
<!-- 采用定位方式以避免出现各个模块隐藏时其他模块下移的问题 -->
|
|
|
- <SubVentilate />
|
|
|
+
|
|
|
+ <!-- <SubVentilate />
|
|
|
<Ventilate />
|
|
|
<VentilateControl />
|
|
|
<AirVolumeMonitor />
|
|
|
<VentilateAnalysis />
|
|
|
<WorkSurface />
|
|
|
- <DeviceWarning />
|
|
|
+ <DeviceWarning /> -->
|
|
|
+ <div v-if="isOriginal"> </div>
|
|
|
+ <div v-else>
|
|
|
+ <ModuleEnhanced v-for="cfg in configs" :key="cfg.deviceType" v-bind="cfg" :visible="visible" />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script lang="ts" setup>
|
|
|
- import { ref } from 'vue';
|
|
|
+ import { onMounted, ref } from 'vue';
|
|
|
import SubVentilate from './components/SubVentilate.vue';
|
|
|
import Ventilate from './components/Ventilate.vue';
|
|
|
import { CaretDownOutlined } from '@ant-design/icons-vue';
|
|
@@ -34,9 +39,81 @@
|
|
|
import WorkSurface from './components/WorkSurface.vue';
|
|
|
import DeviceWarning from './components/DeviceWarning.vue';
|
|
|
import MonitorCenter from './components/MonitorCenter.vue';
|
|
|
+ import { useInitConfigs } from './hooks/useInit';
|
|
|
+ import { Config } from '../../deviceManager/configurationTable/types';
|
|
|
+ import ModuleEnhanced from './components/moduleEnhanced.vue';
|
|
|
// import mapComponent from './components/3Dmap/index.vue';
|
|
|
|
|
|
const mainTitle = ref('智能通风管控系统');
|
|
|
+
|
|
|
+ const moduleCodes = ['fanlocal', 'fanmain' /** 'vc', 'ar', 'va', 'ws', 'dw' */];
|
|
|
+
|
|
|
+ const configs = ref<Config[]>([
|
|
|
+ {
|
|
|
+ deviceType: 'fanlocal',
|
|
|
+ moduleName: '测试局扇',
|
|
|
+ pageType: '',
|
|
|
+ moduleData: {
|
|
|
+ header: {
|
|
|
+ show: true,
|
|
|
+ showSelector: true,
|
|
|
+ showSlot: true,
|
|
|
+ selector: {
|
|
|
+ icon: 'SwapOutlined',
|
|
|
+ prop: 'strInstallPos',
|
|
|
+ },
|
|
|
+ slot: {
|
|
|
+ icon: 'SwapOutlined',
|
|
|
+ prop: 'strInstallPos',
|
|
|
+ },
|
|
|
+ },
|
|
|
+ background: {
|
|
|
+ show: false,
|
|
|
+ type: 'vedio',
|
|
|
+ link: '',
|
|
|
+ },
|
|
|
+ layout: ['board', 'chart'],
|
|
|
+ board: [
|
|
|
+ {
|
|
|
+ label: '风量',
|
|
|
+ type: 'A',
|
|
|
+ layout: 'value-top',
|
|
|
+ prop: 'f1Val',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '风速',
|
|
|
+ type: 'A',
|
|
|
+ layout: 'value-top',
|
|
|
+ prop: 'f2Val',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ chart: [
|
|
|
+ {
|
|
|
+ type: 'line',
|
|
|
+ readFrom: 'readData.history',
|
|
|
+ xAxis: [{ prop: 'strInstallPos' }],
|
|
|
+ yAxis: ['风量', '风速'],
|
|
|
+ series: [
|
|
|
+ { label: '风量', prop: 'f1Val' },
|
|
|
+ { label: '风速', prop: 'f2Val' },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ showStyle: {
|
|
|
+ size: 'width:450px;height:280px;',
|
|
|
+ version: 'enhanced',
|
|
|
+ position: 'top:60px;left:0;',
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ]);
|
|
|
+ const isOriginal = false;
|
|
|
+ const visible = ref(true);
|
|
|
+ // const { configs, isOriginal, fetchConfigs } = useInitConfigs();
|
|
|
+
|
|
|
+ onMounted(() => {
|
|
|
+ fetchConfigs();
|
|
|
+ });
|
|
|
</script>
|
|
|
<style lang="less" scoped>
|
|
|
@font-face {
|
|
@@ -93,5 +170,14 @@
|
|
|
top: 70px;
|
|
|
right: 460px;
|
|
|
}
|
|
|
+ .module-dropdown-original {
|
|
|
+ padding: 10px;
|
|
|
+ background-image: linear-gradient(to bottom, #036886, #072a40);
|
|
|
+ border-bottom: 2px solid #3df6ff;
|
|
|
+ color: #fff;
|
|
|
+ position: absolute;
|
|
|
+ top: 70px;
|
|
|
+ right: 460px;
|
|
|
+ }
|
|
|
}
|
|
|
</style>
|