|
@@ -57,19 +57,30 @@
|
|
</div>
|
|
</div>
|
|
<!-- 图表部分,这部分通常需要填充,有告示板、Header等内容需要填充父级 -->
|
|
<!-- 图表部分,这部分通常需要填充,有告示板、Header等内容需要填充父级 -->
|
|
<template v-if="val === 'chart'">
|
|
<template v-if="val === 'chart'">
|
|
- <CustomChart :chart-config="chartConfig" :chart-data="chartData" style="flex-grow: 1" />
|
|
|
|
|
|
+ <CustomChart :chart-config="chartConfig" :chart-data="chartData" class="flex-grow" />
|
|
</template>
|
|
</template>
|
|
- <!-- 时间线列表部分,这部分通常是占一整个模块的 -->
|
|
|
|
|
|
+ <!-- 通常列表部分 -->
|
|
<template v-if="val === 'list'">
|
|
<template v-if="val === 'list'">
|
|
- <TimelineList :list-config="listConfig" />
|
|
|
|
|
|
+ <template v-if="listType === 'timeline'">
|
|
|
|
+ <TimelineList :list-config="listConfig" />
|
|
|
|
+ </template>
|
|
|
|
+ <template v-else>
|
|
|
|
+ <CustomList :type="listType" :list-config="listConfig" />
|
|
|
|
+ </template>
|
|
</template>
|
|
</template>
|
|
<!-- 表格部分,这部分通常是占一整个模块的 -->
|
|
<!-- 表格部分,这部分通常是占一整个模块的 -->
|
|
<template v-if="val === 'table'">
|
|
<template v-if="val === 'table'">
|
|
- <CommonTable :columns="tableConfig.columns" :data="tableData" class="mt-10px mb-10px" />
|
|
|
|
|
|
+ <CommonTable :columns="tableConfig.columns" :data="tableData" class="mt-10px mb-10px text-center flex-grow overflow-auto" />
|
|
</template>
|
|
</template>
|
|
<template v-if="val === 'blast_delta'">
|
|
<template v-if="val === 'blast_delta'">
|
|
<BlastDelta class="mt-10px mb-10px" />
|
|
<BlastDelta class="mt-10px mb-10px" />
|
|
</template>
|
|
</template>
|
|
|
|
+ <template v-if="val === 'fire_control'">
|
|
|
|
+ <FIreControl class="mt-10px mb-10px" />
|
|
|
|
+ </template>
|
|
|
|
+ <template v-if="val === 'fire_warn'">
|
|
|
|
+ <FIreWarn class="mt-10px mb-10px" />
|
|
|
|
+ </template>
|
|
</template>
|
|
</template>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
@@ -79,13 +90,16 @@
|
|
import { useInitDevices } from '../hooks/useInit';
|
|
import { useInitDevices } from '../hooks/useInit';
|
|
import { MenuItem, Menu, Dropdown } from 'ant-design-vue';
|
|
import { MenuItem, Menu, Dropdown } from 'ant-design-vue';
|
|
import { SwapOutlined, CaretUpOutlined, CaretDownOutlined } from '@ant-design/icons-vue';
|
|
import { SwapOutlined, CaretUpOutlined, CaretDownOutlined } from '@ant-design/icons-vue';
|
|
- import MiniBoard from './miniBoard.vue';
|
|
|
|
- import TimelineList from './timelineList.vue';
|
|
|
|
|
|
+ import MiniBoard from './MiniBoard.vue';
|
|
|
|
+ import TimelineList from './TimelineList.vue';
|
|
|
|
+ import CustomList from './CustomList.vue';
|
|
import { getFormattedText } from '../../../deviceManager/configurationTable/adapters';
|
|
import { getFormattedText } from '../../../deviceManager/configurationTable/adapters';
|
|
- import CustomChart from './customChart.vue';
|
|
|
|
|
|
+ import CustomChart from './CustomChart.vue';
|
|
import { get } from 'lodash-es';
|
|
import { get } from 'lodash-es';
|
|
import CommonTable from '../../billboard/components/CommonTable.vue';
|
|
import CommonTable from '../../billboard/components/CommonTable.vue';
|
|
import BlastDelta from '../../../monitorManager/deviceMonitor/components/device/modal/blastDelta.vue';
|
|
import BlastDelta from '../../../monitorManager/deviceMonitor/components/device/modal/blastDelta.vue';
|
|
|
|
+ import FIreWarn from './FIreWarn.vue';
|
|
|
|
+ import FIreControl from './FIreControl.vue';
|
|
|
|
|
|
const props = defineProps<{
|
|
const props = defineProps<{
|
|
deviceType: Config['deviceType'];
|
|
deviceType: Config['deviceType'];
|
|
@@ -122,6 +136,9 @@
|
|
};
|
|
};
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
+ const listType = computed(() => {
|
|
|
|
+ return list[0]?.type || 'A';
|
|
|
|
+ });
|
|
|
|
|
|
const chartConfig = computed(() => {
|
|
const chartConfig = computed(() => {
|
|
return chart[0];
|
|
return chart[0];
|
|
@@ -142,8 +159,26 @@
|
|
};
|
|
};
|
|
});
|
|
});
|
|
const tableData = computed(() => {
|
|
const tableData = computed(() => {
|
|
- const data = selectedDevice.value;
|
|
|
|
- return get(data, table[0]?.readFrom, []);
|
|
|
|
|
|
+ // const data = selectedDevice.value;
|
|
|
|
+ return [
|
|
|
|
+ {
|
|
|
|
+ A: '亦',
|
|
|
|
+ B: '瑞',
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ A: '眼',
|
|
|
|
+ B: '氪',
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ A: '订',
|
|
|
|
+ B: '骑',
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ A: '帧',
|
|
|
|
+ B: '剑',
|
|
|
|
+ },
|
|
|
|
+ ];
|
|
|
|
+ // return get(data, table[0]?.readFrom, []);
|
|
});
|
|
});
|
|
|
|
|
|
const { selectedDeviceID, selectedDevice, selectedDeviceSlot, selectedDeviceLabel, options, fetchDevices } = useInitDevices(
|
|
const { selectedDeviceID, selectedDevice, selectedDeviceSlot, selectedDeviceLabel, options, fetchDevices } = useInitDevices(
|