Commit 3ed9be764e7475433ed2386654df1e6c316522b6

Authored by ww
1 parent 295b2782

perf: adjust modal width && link visual options and component config

1 <script lang="ts" setup> 1 <script lang="ts" setup>
2 - import { computed } from 'vue'; 2 + import { computed, unref } from 'vue';
3 import { Space, Tooltip } from 'ant-design-vue'; 3 import { Space, Tooltip } from 'ant-design-vue';
4 - import type { DigitalDashBoardLayout, DigitalDashBoardValue } from './digitalDashBoard.config'; 4 + import {
  5 + DigitalComponentDefaultConfig,
  6 + DigitalDashBoardLayout,
  7 + DigitalDashBoardValue,
  8 + } from './digitalDashBoard.config';
5 import { dateUtil } from '/@/utils/dateUtil'; 9 import { dateUtil } from '/@/utils/dateUtil';
6 import { 10 import {
7 fontSize, 11 fontSize,
@@ -9,6 +13,7 @@ @@ -9,6 +13,7 @@
9 DEFAULT_DATE_FORMAT, 13 DEFAULT_DATE_FORMAT,
10 DEFAULT_RADIO_RECORD, 14 DEFAULT_RADIO_RECORD,
11 } from '../../detail/config/util'; 15 } from '../../detail/config/util';
  16 + import { isNaN } from 'lodash';
12 17
13 const props = defineProps<{ 18 const props = defineProps<{
14 layout: DigitalDashBoardLayout; 19 layout: DigitalDashBoardLayout;
@@ -16,8 +21,12 @@ @@ -16,8 +21,12 @@
16 radio?: RadioRecord; 21 radio?: RadioRecord;
17 }>(); 22 }>();
18 23
  24 + const getPropsValue = computed(() => {
  25 + return { ...DigitalComponentDefaultConfig, ...props.value };
  26 + });
  27 +
19 const integerPart = computed(() => { 28 const integerPart = computed(() => {
20 - let { value = 0 } = props.value; 29 + let { value = 0 } = unref(getPropsValue);
21 const { max = 5 } = props.layout; 30 const { max = 5 } = props.layout;
22 if (isNaN(value)) value = 0; 31 if (isNaN(value)) value = 0;
23 let _value = Number(value).toFixed(2).split('.')[0]; 32 let _value = Number(value).toFixed(2).split('.')[0];
@@ -28,7 +37,7 @@ @@ -28,7 +37,7 @@
28 }); 37 });
29 38
30 const decimalPart = computed(() => { 39 const decimalPart = computed(() => {
31 - let { value = 0 } = props.value; 40 + let { value = 0 } = unref(getPropsValue);
32 const { keepNumber = 2 } = props.layout; 41 const { keepNumber = 2 } = props.layout;
33 if (isNaN(value)) value = 0; 42 if (isNaN(value)) value = 0;
34 let _value = Number(value)?.toFixed(2).split('.')[1]; 43 let _value = Number(value)?.toFixed(2).split('.')[1];
@@ -56,7 +65,7 @@ @@ -56,7 +65,7 @@
56 :key="number" 65 :key="number"
57 class="border border-gray-400 p-2" 66 class="border border-gray-400 p-2"
58 :style="{ 67 :style="{
59 - color: props.value.fontColor, 68 + color: getPropsValue.fontColor,
60 fontSize: fontSize({ radio: getRadio, basic: 20 }), 69 fontSize: fontSize({ radio: getRadio, basic: 20 }),
61 }" 70 }"
62 > 71 >
@@ -69,7 +78,7 @@ @@ -69,7 +78,7 @@
69 :key="number" 78 :key="number"
70 class="border border-gray-400 p-1" 79 class="border border-gray-400 p-1"
71 :style="{ 80 :style="{
72 - color: props.value.fontColor, 81 + color: getPropsValue.fontColor,
73 fontSize: fontSize({ radio: getRadio, basic: 18 }), 82 fontSize: fontSize({ radio: getRadio, basic: 18 }),
74 }" 83 }"
75 > 84 >
@@ -84,7 +93,7 @@ @@ -84,7 +93,7 @@
84 :style="{ fontSize: fontSize({ radio: getRadio, basic: 18 }) }" 93 :style="{ fontSize: fontSize({ radio: getRadio, basic: 18 }) }"
85 > 94 >
86 <span>{{ props.value.name || '电表' }}</span> 95 <span>{{ props.value.name || '电表' }}</span>
87 - <span class="px-1">({{ 'kw/h' }})</span> 96 + <span class="px-1">({{ getPropsValue.unit }})</span>
88 </div> 97 </div>
89 <div 98 <div
90 class="text-center mt-1 text-gray-400 text-xs truncate" 99 class="text-center mt-1 text-gray-400 text-xs truncate"
1 import { EChartsOption } from 'echarts'; 1 import { EChartsOption } from 'echarts';
2 import { fontSize } from '../../detail/config/util'; 2 import { fontSize } from '../../detail/config/util';
3 import { Gradient, visualOptionField } from '../../detail/config/visualOptions'; 3 import { Gradient, visualOptionField } from '../../detail/config/visualOptions';
4 -import { DataComponentRecord, DataSource, GradientInfo } from '/@/api/dataBoard/model'; 4 +import {
  5 + ComponentInfo,
  6 + DataComponentRecord,
  7 + DataSource,
  8 + GradientInfo,
  9 +} from '/@/api/dataBoard/model';
5 import { isArray } from '/@/utils/is'; 10 import { isArray } from '/@/utils/is';
6 import { buildUUID } from '/@/utils/uuid'; 11 import { buildUUID } from '/@/utils/uuid';
7 12
@@ -36,11 +41,13 @@ export interface DashboardComponentLayout { @@ -36,11 +41,13 @@ export interface DashboardComponentLayout {
36 componentType: InstrumentComponentType; 41 componentType: InstrumentComponentType;
37 } 42 }
38 43
39 -export const instrumentComponent1 = (params?: {  
40 - value: number;  
41 - unit: string;  
42 - fontColor: string;  
43 -}): EChartsOption => { 44 +export enum GradientColor {
  45 + FIRST = '#67e0e3',
  46 + SECOND = '#37a2da',
  47 + THIRD = '#fd666d',
  48 +}
  49 +
  50 +export const instrumentComponent1 = (params?: Partial<ComponentInfo>): EChartsOption => {
44 const { value = 10, unit = '°C' } = params || {}; 51 const { value = 10, unit = '°C' } = params || {};
45 return { 52 return {
46 series: [ 53 series: [
@@ -108,7 +115,7 @@ export const instrumentComponent1 = (params?: { @@ -108,7 +115,7 @@ export const instrumentComponent1 = (params?: {
108 }, 115 },
109 data: [ 116 data: [
110 { 117 {
111 - value: value, 118 + value: value as number,
112 }, 119 },
113 ], 120 ],
114 }, 121 },
@@ -146,7 +153,7 @@ export const instrumentComponent1 = (params?: { @@ -146,7 +153,7 @@ export const instrumentComponent1 = (params?: {
146 }, 153 },
147 data: [ 154 data: [
148 { 155 {
149 - value: value, 156 + value: value as number,
150 }, 157 },
151 ], 158 ],
152 }, 159 },
@@ -154,16 +161,11 @@ export const instrumentComponent1 = (params?: { @@ -154,16 +161,11 @@ export const instrumentComponent1 = (params?: {
154 }; 161 };
155 }; 162 };
156 163
157 -export const instrumentComponent2 = (params?: {  
158 - gradient: GradientInfo[];  
159 - value: number;  
160 - unit: string;  
161 - fontColor: string;  
162 -}): EChartsOption => {  
163 - const { gradient = [], value = 0, unit = 'km/h' } = params || {};  
164 - const firstRecord = getGradient(Gradient.FIRST, gradient);  
165 - const secondRecord = getGradient(Gradient.SECOND, gradient);  
166 - const thirdRecord = getGradient(Gradient.THIRD, gradient); 164 +export const instrumentComponent2 = (params?: Partial<ComponentInfo>): EChartsOption => {
  165 + const { gradientInfo = [], value = 0, unit = 'km/h' } = params || {};
  166 + const firstRecord = getGradient(Gradient.FIRST, gradientInfo);
  167 + const secondRecord = getGradient(Gradient.SECOND, gradientInfo);
  168 + const thirdRecord = getGradient(Gradient.THIRD, gradientInfo);
167 169
168 let max = thirdRecord?.value || secondRecord?.value || firstRecord?.value || 70; 170 let max = thirdRecord?.value || secondRecord?.value || firstRecord?.value || 70;
169 max = Number(1 + Array(String(max).length).fill(0).join('')); 171 max = Number(1 + Array(String(max).length).fill(0).join(''));
@@ -182,9 +184,9 @@ export const instrumentComponent2 = (params?: { @@ -182,9 +184,9 @@ export const instrumentComponent2 = (params?: {
182 lineStyle: { 184 lineStyle: {
183 width: 20, 185 width: 20,
184 color: [ 186 color: [
185 - [firstGradient, firstRecord?.color || '#67e0e3'],  
186 - [secondGradient, secondRecord?.color || '#37a2da'],  
187 - [1, thirdRecord?.color || '#fd666d'], 187 + [firstGradient, firstRecord?.color || GradientColor.FIRST],
  188 + [secondGradient, secondRecord?.color || GradientColor.SECOND],
  189 + [1, thirdRecord?.color || GradientColor.THIRD],
188 ], 190 ],
189 }, 191 },
190 }, 192 },
@@ -223,7 +225,7 @@ export const instrumentComponent2 = (params?: { @@ -223,7 +225,7 @@ export const instrumentComponent2 = (params?: {
223 }, 225 },
224 data: [ 226 data: [
225 { 227 {
226 - value: value, 228 + value: value as number,
227 }, 229 },
228 ], 230 ],
229 }, 231 },
@@ -293,14 +295,23 @@ export const update_instrument_2_value = (value) => { @@ -293,14 +295,23 @@ export const update_instrument_2_value = (value) => {
293 295
294 function setGradientInfo(dataSource: DataSource) { 296 function setGradientInfo(dataSource: DataSource) {
295 const componentInfo = dataSource.componentInfo; 297 const componentInfo = dataSource.componentInfo;
296 - return instrumentComponent2({  
297 - unit: componentInfo.unit,  
298 - value: 0,  
299 - gradient: componentInfo.gradientInfo,  
300 - fontColor: componentInfo.fontColor,  
301 - }); 298 + return instrumentComponent2(componentInfo);
302 } 299 }
303 300
  301 +export const Instrument1DefaultConfig: Partial<ComponentInfo> = {
  302 + fontColor: '#FD7347',
  303 +};
  304 +
  305 +export const Instrument2DefaultConfig: Partial<ComponentInfo> = {
  306 + fontColor: GradientColor.FIRST,
  307 + unit: 'km/h',
  308 + gradientInfo: [
  309 + { key: Gradient.FIRST, value: 30, color: GradientColor.FIRST },
  310 + { key: Gradient.SECOND, value: 70, color: GradientColor.SECOND },
  311 + { key: Gradient.THIRD, value: 80, color: GradientColor.THIRD },
  312 + ],
  313 +};
  314 +
304 export const transformDashboardComponentConfig = ( 315 export const transformDashboardComponentConfig = (
305 config: DashboardComponentLayout, 316 config: DashboardComponentLayout,
306 record: DataComponentRecord, 317 record: DataComponentRecord,
  1 +import { ComponentInfo } from '/@/api/dataBoard/model';
  2 +
1 export type DigitalDashBoardComponentType = 'digital-dashboard-component'; 3 export type DigitalDashBoardComponentType = 'digital-dashboard-component';
2 4
3 export interface DigitalDashBoardLayout { 5 export interface DigitalDashBoardLayout {
@@ -12,3 +14,8 @@ export interface DigitalDashBoardValue { @@ -12,3 +14,8 @@ export interface DigitalDashBoardValue {
12 value?: number; 14 value?: number;
13 fontColor?: string; 15 fontColor?: string;
14 } 16 }
  17 +
  18 +export const DigitalComponentDefaultConfig: Partial<ComponentInfo> = {
  19 + fontColor: '#000',
  20 + unit: 'kw/h',
  21 +};
1 import { EChartsOption } from 'echarts'; 1 import { EChartsOption } from 'echarts';
2 import { Component } from 'vue'; 2 import { Component } from 'vue';
3 import { WidgetComponentType } from '../../detail/config/visualOptions'; 3 import { WidgetComponentType } from '../../detail/config/visualOptions';
4 -import { instrumentComponent1, instrumentComponent2 } from './dashBoardComponent.config'; 4 +import {
  5 + Instrument1DefaultConfig,
  6 + Instrument2DefaultConfig,
  7 + instrumentComponent1,
  8 + instrumentComponent2,
  9 +} from './dashBoardComponent.config';
5 import DashBoardComponent from './DashBoardComponent.vue'; 10 import DashBoardComponent from './DashBoardComponent.vue';
6 import DigitalDashBoard from './DigitalDashBoard.vue'; 11 import DigitalDashBoard from './DigitalDashBoard.vue';
7 import { buildUUID } from '/@/utils/uuid'; 12 import { buildUUID } from '/@/utils/uuid';
@@ -20,13 +25,13 @@ interface InstrumentComponentConfig { @@ -20,13 +25,13 @@ interface InstrumentComponentConfig {
20 export const instrumentComponentConfig: InstrumentComponentConfig[] = [ 25 export const instrumentComponentConfig: InstrumentComponentConfig[] = [
21 { 26 {
22 id: 'instrument-component-1', 27 id: 'instrument-component-1',
23 - layout: { chartOption: instrumentComponent1() }, 28 + layout: { chartOption: instrumentComponent1(Instrument1DefaultConfig) },
24 component: DashBoardComponent, 29 component: DashBoardComponent,
25 value: { id: buildUUID() }, 30 value: { id: buildUUID() },
26 }, 31 },
27 { 32 {
28 id: 'instrument-component-2', 33 id: 'instrument-component-2',
29 - layout: { chartOption: instrumentComponent2() }, 34 + layout: { chartOption: instrumentComponent2(Instrument2DefaultConfig) },
30 component: DashBoardComponent, 35 component: DashBoardComponent,
31 value: { id: buildUUID() }, 36 value: { id: buildUUID() },
32 }, 37 },
@@ -7,7 +7,7 @@ @@ -7,7 +7,7 @@
7 DEFAULT_RADIO_RECORD, 7 DEFAULT_RADIO_RECORD,
8 DEFAULT_DATE_FORMAT, 8 DEFAULT_DATE_FORMAT,
9 } from '../../detail/config/util'; 9 } from '../../detail/config/util';
10 - import type { TextComponentLayout, TextComponentValue } from './config'; 10 + import { TextComponentDefaultConfig, TextComponentLayout, TextComponentValue } from './config';
11 import { SvgIcon } from '/@/components/Icon'; 11 import { SvgIcon } from '/@/components/Icon';
12 import { dateUtil } from '/@/utils/dateUtil'; 12 import { dateUtil } from '/@/utils/dateUtil';
13 const props = defineProps({ 13 const props = defineProps({
@@ -17,7 +17,8 @@ @@ -17,7 +17,8 @@
17 }, 17 },
18 value: { 18 value: {
19 type: Object as PropType<TextComponentValue>, 19 type: Object as PropType<TextComponentValue>,
20 - default: () => ({ name: '温度', value: 123 } as TextComponentValue), 20 + default: () =>
  21 + ({ ...TextComponentDefaultConfig, name: '温度', value: 123 } as TextComponentValue),
21 }, 22 },
22 radio: { 23 radio: {
23 type: Object as PropType<RadioRecord>, 24 type: Object as PropType<RadioRecord>,
1 -import { formatToDateTime } from '/@/utils/dateUtil';  
2 -import { DataComponentRecord, DataSource } from '/@/api/dataBoard/model'; 1 +import { ComponentInfo, DataComponentRecord, DataSource } from '/@/api/dataBoard/model';
3 export interface TextComponentLayout { 2 export interface TextComponentLayout {
4 id: string; 3 id: string;
5 base?: boolean; 4 base?: boolean;
@@ -26,28 +25,21 @@ export type TextComponentType = @@ -26,28 +25,21 @@ export type TextComponentType =
26 | 'text-component-4' 25 | 'text-component-4'
27 | 'text-component-5'; 26 | 'text-component-5';
28 27
29 -type TextComponentDefault = TextComponentLayout & { value: TextComponentValue }; 28 +type TextComponentDefault = TextComponentLayout;
30 29
31 export const TextComponent1Config: TextComponentDefault = { 30 export const TextComponent1Config: TextComponentDefault = {
32 id: 'text-component-1', 31 id: 'text-component-1',
33 base: true, 32 base: true,
34 - value: { value: 123, name: '温度' },  
35 }; 33 };
36 34
37 export const TextComponent2Config: TextComponentDefault = { 35 export const TextComponent2Config: TextComponentDefault = {
38 id: 'text-component-2', 36 id: 'text-component-2',
39 base: false, 37 base: false,
40 - value: { value: 123, name: '温度' },  
41 }; 38 };
42 export const TextComponent3Config: TextComponentDefault = { 39 export const TextComponent3Config: TextComponentDefault = {
43 id: 'text-component-3', 40 id: 'text-component-3',
44 base: false, 41 base: false,
45 showUpdate: true, 42 showUpdate: true,
46 - value: {  
47 - value: 123,  
48 - name: '温度',  
49 - updateTime: formatToDateTime(new Date(), 'YYYY-MM-DD HH:mm:ss'),  
50 - },  
51 }; 43 };
52 export const TextComponent4Config: TextComponentDefault = { 44 export const TextComponent4Config: TextComponentDefault = {
53 id: 'text-component-4', 45 id: 'text-component-4',
@@ -55,19 +47,19 @@ export const TextComponent4Config: TextComponentDefault = { @@ -55,19 +47,19 @@ export const TextComponent4Config: TextComponentDefault = {
55 showIcon: true, 47 showIcon: true,
56 showUpdate: true, 48 showUpdate: true,
57 showUnit: true, 49 showUnit: true,
58 - value: {  
59 - value: 123,  
60 - name: '温度',  
61 - updateTime: formatToDateTime(new Date(), 'YYYY-MM-DD HH:mm:ss'),  
62 - unit: '℃',  
63 - },  
64 }; 50 };
65 export const TextComponent5Config: TextComponentDefault = { 51 export const TextComponent5Config: TextComponentDefault = {
66 id: 'text-component-5', 52 id: 'text-component-5',
67 base: false, 53 base: false,
68 showIcon: true, 54 showIcon: true,
69 showUnit: true, 55 showUnit: true,
70 - value: { value: 123, name: '温度', unit: '℃' }, 56 +};
  57 +
  58 +export const TextComponentDefaultConfig: Partial<ComponentInfo> = {
  59 + fontColor: '#000',
  60 + unit: '℃',
  61 + iconColor: '#000',
  62 + icon: 'CO2',
71 }; 63 };
72 64
73 export const textComponentConfig: TextComponentDefault[] = [ 65 export const textComponentConfig: TextComponentDefault[] = [
@@ -11,8 +11,9 @@ @@ -11,8 +11,9 @@
11 import type { ComponentInfo, DataSource } from '/@/api/dataBoard/model'; 11 import type { ComponentInfo, DataSource } from '/@/api/dataBoard/model';
12 import { useMessage } from '/@/hooks/web/useMessage'; 12 import { useMessage } from '/@/hooks/web/useMessage';
13 import { DataBoardLayoutInfo } from '../../types/type'; 13 import { DataBoardLayoutInfo } from '../../types/type';
14 - import { FrontComponent } from '../config/help'; 14 + import { FrontComponent, getComponentDefaultConfig } from '../config/help';
15 import { computed } from '@vue/reactivity'; 15 import { computed } from '@vue/reactivity';
  16 + import { WidgetComponentType } from '../config/visualOptions';
16 17
17 type DataSourceFormEL = { [key: string]: Nullable<FormActionType> }; 18 type DataSourceFormEL = { [key: string]: Nullable<FormActionType> };
18 19
@@ -96,9 +97,14 @@ @@ -96,9 +97,14 @@
96 createMessage.warning('请先选择可视化组件'); 97 createMessage.warning('请先选择可视化组件');
97 return; 98 return;
98 } 99 }
  100 +
  101 + const defaultConfig = getComponentDefaultConfig(props.frontId as WidgetComponentType);
  102 +
  103 + const componentInfo: ComponentInfo = { ...defaultConfig, ...(item.componentInfo || {}) };
  104 +
99 openModal(true, { 105 openModal(true, {
100 recordId: item.id, 106 recordId: item.id,
101 - componentInfo: item.componentInfo, 107 + componentInfo,
102 }); 108 });
103 }; 109 };
104 110
@@ -36,7 +36,6 @@ @@ -36,7 +36,6 @@
36 componentRecord.value = data.record || ({} as unknown as DataBoardLayoutInfo); 36 componentRecord.value = data.record || ({} as unknown as DataBoardLayoutInfo);
37 frontId.value = data.record?.record?.frontId || ''; 37 frontId.value = data.record?.record?.frontId || '';
38 isEdit.value = data.isEdit || false; 38 isEdit.value = data.isEdit || false;
39 - console.log(unref(isEdit));  
40 } 39 }
41 ); 40 );
42 41
@@ -87,7 +87,7 @@ @@ -87,7 +87,7 @@
87 @register="register" 87 @register="register"
88 @ok="handleClose" 88 @ok="handleClose"
89 title="选项" 89 title="选项"
90 - width="60%" 90 + width="40%"
91 > 91 >
92 <BasicForm class="form" @register="registerForm" :schemas="getSchemas" /> 92 <BasicForm class="form" @register="registerForm" :schemas="getSchemas" />
93 </BasicModal> 93 </BasicModal>
@@ -23,7 +23,7 @@ @@ -23,7 +23,7 @@
23 :style="{ borderColor: props.controlId === props.checkedId ? '#1a74e8' : '#f0f0f0' }" 23 :style="{ borderColor: props.controlId === props.checkedId ? '#1a74e8' : '#f0f0f0' }"
24 hoverable 24 hoverable
25 bordered 25 bordered
26 - class="w-60 h-60 widget-select !bg-light-50" 26 + class="w-60 h-60 widget-select !bg-light-50 cursor-pointer"
27 @click="handleClick" 27 @click="handleClick"
28 > 28 >
29 <div class="widget-container"> 29 <div class="widget-container">
@@ -6,20 +6,24 @@ import { @@ -6,20 +6,24 @@ import {
6 TextComponent3Config, 6 TextComponent3Config,
7 TextComponent4Config, 7 TextComponent4Config,
8 TextComponent5Config, 8 TextComponent5Config,
  9 + TextComponentDefaultConfig,
9 transformTextComponentConfig, 10 transformTextComponentConfig,
10 } from '../../components/TextComponent/config'; 11 } from '../../components/TextComponent/config';
11 -import { DataComponentRecord, DataSource } from '/@/api/dataBoard/model'; 12 +import { ComponentInfo, DataComponentRecord, DataSource } from '/@/api/dataBoard/model';
12 import DashBoardComponent from '../../components/InstrumentComponent/DashBoardComponent.vue'; 13 import DashBoardComponent from '../../components/InstrumentComponent/DashBoardComponent.vue';
13 import PictureComponent from '../../components/PictureComponent/PictureComponent.vue'; 14 import PictureComponent from '../../components/PictureComponent/PictureComponent.vue';
14 import { transformPictureConfig } from '../../components/PictureComponent/pictureComponent.config'; 15 import { transformPictureConfig } from '../../components/PictureComponent/pictureComponent.config';
15 import { WidgetComponentType } from './visualOptions'; 16 import { WidgetComponentType } from './visualOptions';
16 import { 17 import {
17 DashboardComponentLayout, 18 DashboardComponentLayout,
  19 + Instrument1DefaultConfig,
  20 + Instrument2DefaultConfig,
18 instrumentComponent1, 21 instrumentComponent1,
19 instrumentComponent2, 22 instrumentComponent2,
20 transformDashboardComponentConfig, 23 transformDashboardComponentConfig,
21 } from '../../components/InstrumentComponent/dashBoardComponent.config'; 24 } from '../../components/InstrumentComponent/dashBoardComponent.config';
22 import DigitalDashBoard from '../../components/InstrumentComponent/DigitalDashBoard.vue'; 25 import DigitalDashBoard from '../../components/InstrumentComponent/DigitalDashBoard.vue';
  26 +import { DigitalComponentDefaultConfig } from '../../components/InstrumentComponent/digitalDashBoard.config';
23 export enum FrontComponent { 27 export enum FrontComponent {
24 TEXT_COMPONENT_1 = 'text-component-1', 28 TEXT_COMPONENT_1 = 'text-component-1',
25 TEXT_COMPONENT_2 = 'text-component-2', 29 TEXT_COMPONENT_2 = 'text-component-2',
@@ -42,6 +46,11 @@ export interface ComponentConfig { @@ -42,6 +46,11 @@ export interface ComponentConfig {
42 ) => Recordable; 46 ) => Recordable;
43 } 47 }
44 48
  49 +export const frontComponentDefaultConfigMap = new Map<
  50 + WidgetComponentType,
  51 + Partial<ComponentInfo>
  52 +>();
  53 +
45 export const frontComponentMap = new Map<WidgetComponentType, ComponentConfig>(); 54 export const frontComponentMap = new Map<WidgetComponentType, ComponentConfig>();
46 55
47 frontComponentMap.set(FrontComponent.TEXT_COMPONENT_1, { 56 frontComponentMap.set(FrontComponent.TEXT_COMPONENT_1, {
@@ -103,3 +112,21 @@ frontComponentMap.set(FrontComponent.PICTURE_COMPONENT_1, { @@ -103,3 +112,21 @@ frontComponentMap.set(FrontComponent.PICTURE_COMPONENT_1, {
103 ComponentConfig: {}, 112 ComponentConfig: {},
104 transformConfig: transformPictureConfig, 113 transformConfig: transformPictureConfig,
105 }); 114 });
  115 +
  116 +frontComponentDefaultConfigMap.set(FrontComponent.TEXT_COMPONENT_1, TextComponentDefaultConfig);
  117 +frontComponentDefaultConfigMap.set(FrontComponent.TEXT_COMPONENT_2, TextComponentDefaultConfig);
  118 +frontComponentDefaultConfigMap.set(FrontComponent.TEXT_COMPONENT_3, TextComponentDefaultConfig);
  119 +frontComponentDefaultConfigMap.set(FrontComponent.TEXT_COMPONENT_4, TextComponentDefaultConfig);
  120 +frontComponentDefaultConfigMap.set(FrontComponent.TEXT_COMPONENT_5, TextComponentDefaultConfig);
  121 +
  122 +frontComponentDefaultConfigMap.set(FrontComponent.INSTRUMENT_COMPONENT_1, Instrument1DefaultConfig);
  123 +frontComponentDefaultConfigMap.set(FrontComponent.INSTRUMENT_COMPONENT_2, Instrument2DefaultConfig);
  124 +
  125 +frontComponentDefaultConfigMap.set(
  126 + FrontComponent.DIGITAL_DASHBOARD_COMPONENT,
  127 + DigitalComponentDefaultConfig
  128 +);
  129 +
  130 +export const getComponentDefaultConfig = (key: WidgetComponentType) => {
  131 + return frontComponentDefaultConfigMap.get(key) || {};
  132 +};
@@ -175,7 +175,7 @@ schemasMap.set('text-component-1', modeOne); @@ -175,7 +175,7 @@ schemasMap.set('text-component-1', modeOne);
175 schemasMap.set('text-component-2', modeOne); 175 schemasMap.set('text-component-2', modeOne);
176 schemasMap.set('text-component-3', modeOne); 176 schemasMap.set('text-component-3', modeOne);
177 schemasMap.set('text-component-4', modeTwo); 177 schemasMap.set('text-component-4', modeTwo);
178 -schemasMap.set('text-component-4', modeTwo); 178 +schemasMap.set('text-component-5', modeTwo);
179 schemasMap.set('instrument-component-1', modeOne); 179 schemasMap.set('instrument-component-1', modeOne);
180 schemasMap.set('instrument-component-2', modeThree); 180 schemasMap.set('instrument-component-2', modeThree);
181 schemasMap.set('digital-dashboard-component', modeFour); 181 schemasMap.set('digital-dashboard-component', modeFour);
@@ -88,9 +88,9 @@ export function useSocketConnect(dataSourceRef: Ref<DataBoardLayoutInfo[]>) { @@ -88,9 +88,9 @@ export function useSocketConnect(dataSourceRef: Ref<DataBoardLayoutInfo[]>) {
88 throw Error(error as string); 88 throw Error(error as string);
89 } 89 }
90 }, 90 },
91 - onDisconnected() {  
92 - close();  
93 - }, 91 + // onDisconnected() {
  92 + // close();
  93 + // },
94 }); 94 });
95 95
96 const setCmdId = (cmdId: number, record: CmdMapping) => { 96 const setCmdId = (cmdId: number, record: CmdMapping) => {