index.ts
1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import { EChartsOption } from 'echarts';
import { Component } from 'vue';
import { WidgetComponentType } from '../../detail/config/visualOptions';
import {
Instrument1DefaultConfig,
Instrument2DefaultConfig,
instrumentComponent1,
instrumentComponent2,
InstrumentComponentType,
} from './dashBoardComponent.config';
import DashBoardComponent from './DashBoardComponent.vue';
import DigitalDashBoard from './DigitalDashBoard.vue';
import { buildUUID } from '/@/utils/uuid';
export interface DashboardComponentLayout {
chartOption: EChartsOption;
componentType: InstrumentComponentType;
}
interface InstrumentComponentConfig {
id: WidgetComponentType;
layout: DashboardComponentLayout;
component: Component;
value: Recordable;
}
export const instrumentComponentConfig: InstrumentComponentConfig[] = [
{
id: 'instrument-component-1',
layout: {
chartOption: instrumentComponent1(Instrument1DefaultConfig),
componentType: 'instrument-component-1',
},
component: DashBoardComponent,
value: { id: buildUUID() },
},
{
id: 'instrument-component-2',
layout: {
chartOption: instrumentComponent2(Instrument2DefaultConfig),
componentType: 'instrument-component-2',
},
component: DashBoardComponent,
value: { id: buildUUID() },
},
{
id: 'digital-dashboard-component',
layout: {},
component: DigitalDashBoard,
value: {},
},
];