|
@@ -1,31 +1,33 @@
|
|
|
<!-- eslint-disable vue/multi-word-component-names -->
|
|
|
<template>
|
|
|
- <CostumeHeader v-model:value="selectedDeviceID" :options="options">
|
|
|
- <!-- <div class="w-200px flex flex-items-center">
|
|
|
+ <ModuleBasic :title="config.moduleName" :version="config.showStyle?.version" :size="config.showStyle?.size" :position="config.showStyle?.position">
|
|
|
+ <CostumeHeader v-model:value="selectedDeviceID" :options="options">
|
|
|
+ <!-- <div class="w-200px flex flex-items-center">
|
|
|
<RightCircleOutlined class="w-30px" />
|
|
|
<div class="flex-grow-1">
|
|
|
{{ selectedDevice.strinstallpos }}
|
|
|
</div>
|
|
|
</div> -->
|
|
|
- </CostumeHeader>
|
|
|
- <LineMulti
|
|
|
- :option="chartOption"
|
|
|
- :prop-type-arr="propTypeArr"
|
|
|
- x-axis-prop-type="x"
|
|
|
- :chart-data="chartData"
|
|
|
- height="140px"
|
|
|
- class="worksurface-chart"
|
|
|
- />
|
|
|
- <div class="flex justify-around">
|
|
|
- <MiniBoard
|
|
|
- v-for="(label, prop) in configs.list"
|
|
|
- :key="`vhccws-${prop}`"
|
|
|
- :label="label"
|
|
|
- :value="get(selectedDevice, prop)"
|
|
|
- layout="label-top"
|
|
|
- type="B"
|
|
|
+ </CostumeHeader>
|
|
|
+ <LineMulti
|
|
|
+ :option="chartOption"
|
|
|
+ :prop-type-arr="propTypeArr"
|
|
|
+ x-axis-prop-type="x"
|
|
|
+ :chart-data="chartData"
|
|
|
+ height="140px"
|
|
|
+ class="worksurface-chart"
|
|
|
/>
|
|
|
- </div>
|
|
|
+ <div class="flex justify-around">
|
|
|
+ <MiniBoard
|
|
|
+ v-for="(label, prop) in remoteConfig.moduleData?.main"
|
|
|
+ :key="`vhccws-${prop}`"
|
|
|
+ :label="label"
|
|
|
+ :value="get(selectedDevice, prop)"
|
|
|
+ layout="label-top"
|
|
|
+ type="B"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </ModuleBasic>
|
|
|
</template>
|
|
|
<script lang="ts" setup>
|
|
|
import LineMulti from '/@/components/chart/LineMulti.vue';
|
|
@@ -36,12 +38,21 @@
|
|
|
import { get } from '../../billboard/utils';
|
|
|
import _ from 'lodash-es';
|
|
|
import MiniBoard from './MiniBoard.vue';
|
|
|
+ import ModuleBasic from './moduleBasic.vue';
|
|
|
// import mapComponent from './components/3Dmap/index.vue';
|
|
|
|
|
|
// 设备类别,是个枚举 TODO: 将手动换为自动获取类别
|
|
|
const devicekind = 'fanlocal';
|
|
|
|
|
|
- const { configs, fetchConfig } = useInitConfig(devicekind);
|
|
|
+ const config = ref({
|
|
|
+ moduleName: '采煤工作面智能管控',
|
|
|
+ showStyle: {
|
|
|
+ size: 'width:450px;height:280px;',
|
|
|
+ position: 'right:0px;top:350px;',
|
|
|
+ version: 'enhanced',
|
|
|
+ },
|
|
|
+ });
|
|
|
+ const { config: remoteConfig, fetchConfig } = useInitConfig(devicekind);
|
|
|
const { options, selectedDevice, selectedDeviceID, fetchDevices } = useInitDevices(devicekind);
|
|
|
|
|
|
onMounted(() => {
|
|
@@ -59,9 +70,9 @@
|
|
|
]);
|
|
|
|
|
|
const propTypeArr = computed(() => {
|
|
|
- if (configs.value.chart) {
|
|
|
+ if (remoteConfig.value.moduleData?.chart) {
|
|
|
const map = new Map();
|
|
|
- _.forEach(configs.value.chart || [], (label, prop) => {
|
|
|
+ _.forEach(remoteConfig.value.moduleData?.chart || [], (label, prop) => {
|
|
|
map.set(prop, label);
|
|
|
});
|
|
|
|