Commit 77d15d7c56a201f2a80805a8a75a61e9b49acd34

Authored by loveumiko
1 parent 8eb71406

fix: 新增看板组件编辑时可以设置字体大小

... ... @@ -11,6 +11,7 @@ import { ComponentConfigFieldEnum } from '../../../enum';
11 11
12 12 export const option: PublicPresetOptions = {
13 13 [ComponentConfigFieldEnum.SHOW_DEVICE_NAME]: false,
  14 + [ComponentConfigFieldEnum.FONT_SIZE]: 14,
14 15 // [ComponentConfigFieldEnum.FONT_COLOR]: '#000',
15 16 };
16 17
... ...
... ... @@ -19,6 +19,12 @@
19 19 component: 'Checkbox',
20 20 defaultValue: option.showDeviceName,
21 21 },
  22 + {
  23 + field: ComponentConfigFieldEnum.FONT_SIZE,
  24 + label: '字体大小',
  25 + component: 'InputNumber',
  26 + defaultValue: 14,
  27 + },
22 28 ],
23 29 showActionButtonGroup: false,
24 30 labelWidth: 120,
... ...
... ... @@ -19,20 +19,24 @@
19 19 const currentValue = ref(false);
20 20
21 21 const getDesign = computed(() => {
22   - // console.log(props.config, 'config');
23   - const { option } = props.config;
  22 + const { option, persetOption } = props.config;
  23 + console.log(props.config, 'props.config');
24 24 const {
25 25 attribute,
26 26 attributeRename,
27 27 attributeName,
  28 + componentInfo,
28 29 commandType,
29 30 extensionDesc,
30 31 codeType,
31 32 deviceCode,
32 33 customCommand,
33 34 } = option;
  35 + const { fontSize: persetFontSize } = persetOption || {};
  36 + const { fontSize } = componentInfo || {};
34 37 return {
35 38 attribute: attributeRename || attributeName || attribute,
  39 + fontSize: fontSize || persetFontSize,
36 40 extensionDesc: extensionDesc ? JSON.parse(extensionDesc) : {},
37 41 commandType,
38 42 codeType,
... ... @@ -81,7 +85,10 @@
81 85 <span class="on">ON</span>
82 86 <span class="off">OFF</span>
83 87 </label>
84   - <div class="text-center mt-2 text-gray-700" :style="getScale">
  88 + <div
  89 + class="text-center mt-2 text-gray-700"
  90 + :style="{ ...getScale, fontSize: getDesign.fontSize + 'px' }"
  91 + >
85 92 {{ getDesign.attribute || '属性' }}
86 93 </div>
87 94 </Spin>
... ...
... ... @@ -13,6 +13,7 @@ export const option: PublicPresetOptions = {
13 13 [ComponentConfigFieldEnum.ICON]: 'shuiwen',
14 14 [ComponentConfigFieldEnum.ICON_COLOR]: '#377DFF',
15 15 [ComponentConfigFieldEnum.SHOW_DEVICE_NAME]: false,
  16 + [ComponentConfigFieldEnum.FONT_SIZE]: 14,
16 17 };
17 18
18 19 export default class Config extends PublicConfigClass implements CreateComponentType {
... ...
... ... @@ -32,6 +32,12 @@
32 32 component: 'Checkbox',
33 33 defaultValue: option.showDeviceName,
34 34 },
  35 + {
  36 + field: ComponentConfigFieldEnum.FONT_SIZE,
  37 + label: '字体大小',
  38 + component: 'InputNumber',
  39 + defaultValue: option.fontSize,
  40 + },
35 41 ],
36 42 showActionButtonGroup: false,
37 43 labelWidth: 120,
... ...
... ... @@ -31,14 +31,20 @@
31 31 deviceCode,
32 32 customCommand,
33 33 } = option;
34   - const { icon: presetIcon, iconColor: presetIconColor } = persetOption || {};
35   - const { icon, iconColor } = componentInfo || {};
  34 + console.log(props, 'option111');
  35 + const {
  36 + icon: presetIcon,
  37 + iconColor: presetIconColor,
  38 + fontSize: persetFontSize,
  39 + } = persetOption || {};
  40 + const { icon, iconColor, fontSize } = componentInfo || {};
36 41
37 42 return {
38 43 icon: icon ?? presetIcon,
39 44 iconColor: iconColor || presetIconColor,
40 45 attribute: attributeRename || attributeName || attribute,
41 46 extensionDesc: extensionDesc ? JSON.parse(extensionDesc) : {},
  47 + fontSize: fontSize || persetFontSize,
42 48 commandType,
43 49 codeType,
44 50 deviceCode,
... ... @@ -84,7 +90,10 @@
84 90 :style="{ color: getDesign.iconColor }"
85 91 :size="50"
86 92 />
87   - <span class="mt-3 truncate text-gray-500 text-xs text-center">
  93 + <span
  94 + class="mt-3 truncate text-gray-500 text-center"
  95 + :style="{ fontSize: getDesign.fontSize + 'px' }"
  96 + >
88 97 {{ getDesign.attribute || '属性' }}
89 98 </span>
90 99 </div>
... ...
... ... @@ -5,6 +5,6 @@ const componentKeys = useComponentKeys('SwitchList');
5 5
6 6 export const SwitchListConfig: ConfigType = {
7 7 ...componentKeys,
8   - title: '开关控制列表',
  8 + title: '开关控制列表',
9 9 package: PackagesCategoryEnum.CONTROL,
10 10 };
... ...
... ... @@ -146,7 +146,7 @@
146 146 <SvgIcon
147 147 :name="item.icon!"
148 148 prefix="iconfont"
149   - :size="getRatio ? 30 * getRatio : 30"
  149 + :size="getRatio ? 25 * getRatio : 25"
150 150 :style="{ color: item.iconColor }"
151 151 />
152 152
... ...
... ... @@ -9,6 +9,7 @@
9 9 import { useReceiveValue } from '../../../hook/useReceiveValue';
10 10 import { useMultipleDataFetch } from '../../../hook/socket/useSocket';
11 11 import { MultipleDataFetchUpdateFn } from '../../../hook/socket/useSocket.type';
  12 + import { useComponentScale } from '../../../hook/useComponentScale';
12 13
13 14 const props = defineProps<{
14 15 config: ComponentPropsConfigType<typeof option>;
... ... @@ -84,6 +85,7 @@
84 85 };
85 86
86 87 useMultipleDataFetch(props, updateFn);
  88 + const { getRatio } = useComponentScale(props);
87 89 </script>
88 90
89 91 <template>
... ... @@ -99,16 +101,16 @@
99 101 <SvgIcon
100 102 :name="item.icon!"
101 103 prefix="iconfont"
102   - :size="40"
  104 + :size="getRatio ? 25 * getRatio : 25"
103 105 :style="{ color: item.iconColor }"
104 106 />
105 107
106   - <div class="text-gray-500 text-lg truncate ml-6">{{
  108 + <div class="text-gray-500 truncate ml-6">{{
107 109 item.deviceName + '-' + item.attributeName || '温度'
108 110 }}</div>
109 111 </div>
110 112
111   - <h1 class="font-bold text-xl m-2 truncate" :style="{ color: item.fontColor }">
  113 + <h1 class="font-bold m-2 truncate" :style="{ color: item.fontColor }">
112 114 <span> {{ item.value || 0 }}</span>
113 115 <span>{{ item.unit }} </span>
114 116 </h1>
... ...
1 1 export enum ComponentConfigFieldEnum {
2 2 FONT_COLOR = 'fontColor',
  3 + FONT_SIZE = 'fontSize',
  4 + VALUE_SIZE = 'valueSize', //数值大小
3 5 UNIT = 'unit',
4 6 POINTER_COLOR = 'pointerColor',
5 7 INSTRUMENT_PANEL_COLOR = 'instrumentPanelColor',
... ...
... ... @@ -354,7 +354,6 @@ export const useDataFetch = (
354 354 props: { config: ComponentPropsConfigType },
355 355 updateFn: DataFetchUpdateFn
356 356 ) => {
357   - console.log(props, 'props');
358 357 const getBindAttribute = computed(() => {
359 358 const { config } = props;
360 359 const { option } = config as ComponentPropsConfigType<Recordable, DataSource>;
... ...