Commit 971dc7633d479aad4a4712c13f647570c1eb7ebc
1 parent
20cb11fd
perf: extract const in visual board
Showing
5 changed files
with
51 additions
and
44 deletions
| 1 | import { EChartsOption } from 'echarts'; | 1 | import { EChartsOption } from 'echarts'; |
| 2 | -import { FrontComponent } from '../../const/const'; | 2 | +import { FrontComponent, Gradient, GradientColor } from '../../const/const'; |
| 3 | import { fontSize, RadioRecord } from '../../detail/config/util'; | 3 | import { fontSize, RadioRecord } from '../../detail/config/util'; |
| 4 | -import { Gradient, visualOptionField } from '../../detail/config/visualOptions'; | ||
| 5 | import { | 4 | import { |
| 6 | ComponentInfo, | 5 | ComponentInfo, |
| 7 | DataComponentRecord, | 6 | DataComponentRecord, |
| @@ -11,14 +10,6 @@ import { | @@ -11,14 +10,6 @@ import { | ||
| 11 | import { isArray } from '/@/utils/is'; | 10 | import { isArray } from '/@/utils/is'; |
| 12 | import { buildUUID } from '/@/utils/uuid'; | 11 | import { buildUUID } from '/@/utils/uuid'; |
| 13 | 12 | ||
| 14 | -export type GradientKey = | ||
| 15 | - | visualOptionField.FIRST_PHASE_COLOR | ||
| 16 | - | visualOptionField.FIRST_PHASE_VALUE | ||
| 17 | - | visualOptionField.SECOND_PHASE_COLOR | ||
| 18 | - | visualOptionField.SECOND_PHASE_VALUE | ||
| 19 | - | visualOptionField.THIRD_PHASE_COLOR | ||
| 20 | - | visualOptionField.THIRD_PHASE_VALUE; | ||
| 21 | - | ||
| 22 | export interface GradientInfoRecord { | 13 | export interface GradientInfoRecord { |
| 23 | key: Gradient; | 14 | key: Gradient; |
| 24 | value: number; | 15 | value: number; |
| @@ -40,12 +31,6 @@ export interface DashboardComponentLayout { | @@ -40,12 +31,6 @@ export interface DashboardComponentLayout { | ||
| 40 | componentType: FrontComponent; | 31 | componentType: FrontComponent; |
| 41 | } | 32 | } |
| 42 | 33 | ||
| 43 | -export enum GradientColor { | ||
| 44 | - FIRST = '#67e0e3', | ||
| 45 | - SECOND = '#37a2da', | ||
| 46 | - THIRD = '#fd666d', | ||
| 47 | -} | ||
| 48 | - | ||
| 49 | export const instrumentComponent1 = (params?: Partial<ComponentInfo>): EChartsOption => { | 34 | export const instrumentComponent1 = (params?: Partial<ComponentInfo>): EChartsOption => { |
| 50 | const { value = 10, unit = '°C' } = params || {}; | 35 | const { value = 10, unit = '°C' } = params || {}; |
| 51 | return { | 36 | return { |
| @@ -29,3 +29,27 @@ export enum FrontComponent { | @@ -29,3 +29,27 @@ export enum FrontComponent { | ||
| 29 | CONTROL_COMPONENT_SLIDING_SWITCH = 'control-component-sliding-switch', | 29 | CONTROL_COMPONENT_SLIDING_SWITCH = 'control-component-sliding-switch', |
| 30 | MAP_COMPONENT_TRACK = 'map-component-track', | 30 | MAP_COMPONENT_TRACK = 'map-component-track', |
| 31 | } | 31 | } |
| 32 | + | ||
| 33 | +export enum Gradient { | ||
| 34 | + FIRST = 'first', | ||
| 35 | + SECOND = 'second', | ||
| 36 | + THIRD = 'third', | ||
| 37 | +} | ||
| 38 | +export enum GradientColor { | ||
| 39 | + FIRST = '#67e0e3', | ||
| 40 | + SECOND = '#37a2da', | ||
| 41 | + THIRD = '#fd666d', | ||
| 42 | +} | ||
| 43 | + | ||
| 44 | +export enum visualOptionField { | ||
| 45 | + FONT_COLOR = 'fontColor', | ||
| 46 | + UNIT = 'unit', | ||
| 47 | + ICON_COLOR = 'iconColor', | ||
| 48 | + ICON = 'icon', | ||
| 49 | + FIRST_PHASE_COLOR = 'firstPhaseColor', | ||
| 50 | + SECOND_PHASE_COLOR = 'secondPhaseColor', | ||
| 51 | + THIRD_PHASE_COLOR = 'thirdPhaseColor', | ||
| 52 | + FIRST_PHASE_VALUE = 'firstPhaseValue', | ||
| 53 | + SECOND_PHASE_VALUE = 'secondPhaseValue', | ||
| 54 | + THIRD_PHASE_VALUE = 'thirdPhaseValue', | ||
| 55 | +} |
| 1 | <script lang="ts" setup> | 1 | <script lang="ts" setup> |
| 2 | import { ref, unref } from 'vue'; | 2 | import { ref, unref } from 'vue'; |
| 3 | - import { | ||
| 4 | - schemasMap, | ||
| 5 | - VisualOptionParams, | ||
| 6 | - visualOptionField, | ||
| 7 | - Gradient, | ||
| 8 | - } from '../config/visualOptions'; | 3 | + import { schemasMap, VisualOptionParams } from '../config/visualOptions'; |
| 9 | import { useForm, BasicForm } from '/@/components/Form'; | 4 | import { useForm, BasicForm } from '/@/components/Form'; |
| 10 | import { BasicModal, useModalInner } from '/@/components/Modal'; | 5 | import { BasicModal, useModalInner } from '/@/components/Modal'; |
| 11 | import { ComponentInfo } from '/@/api/dataBoard/model'; | 6 | import { ComponentInfo } from '/@/api/dataBoard/model'; |
| 12 | import { computed } from '@vue/reactivity'; | 7 | import { computed } from '@vue/reactivity'; |
| 13 | - import { FrontComponent } from '../../components/help'; | 8 | + import { FrontComponent, Gradient, visualOptionField } from '../../const/const'; |
| 14 | 9 | ||
| 15 | const emit = defineEmits(['close', 'register']); | 10 | const emit = defineEmits(['close', 'register']); |
| 16 | 11 |
| 1 | +import { FrontComponent, GradientColor } from '../../const/const'; | ||
| 1 | import { FormSchema } from '/@/components/Form'; | 2 | import { FormSchema } from '/@/components/Form'; |
| 2 | 3 | ||
| 3 | export interface VisualOptionParams { | 4 | export interface VisualOptionParams { |
| @@ -13,17 +14,6 @@ export interface VisualOptionParams { | @@ -13,17 +14,6 @@ export interface VisualOptionParams { | ||
| 13 | [visualOptionField.THIRD_PHASE_VALUE]: string; | 14 | [visualOptionField.THIRD_PHASE_VALUE]: string; |
| 14 | } | 15 | } |
| 15 | 16 | ||
| 16 | -export enum Gradient { | ||
| 17 | - FIRST = 'first', | ||
| 18 | - SECOND = 'second', | ||
| 19 | - THIRD = 'third', | ||
| 20 | -} | ||
| 21 | -export enum GradientColor { | ||
| 22 | - FIRST = '#67e0e3', | ||
| 23 | - SECOND = '#37a2da', | ||
| 24 | - THIRD = '#fd666d', | ||
| 25 | -} | ||
| 26 | - | ||
| 27 | export enum visualOptionField { | 17 | export enum visualOptionField { |
| 28 | FONT_COLOR = 'fontColor', | 18 | FONT_COLOR = 'fontColor', |
| 29 | UNIT = 'unit', | 19 | UNIT = 'unit', |
| @@ -188,13 +178,13 @@ export const modeFour: FormSchema[] = [ | @@ -188,13 +178,13 @@ export const modeFour: FormSchema[] = [ | ||
| 188 | }, | 178 | }, |
| 189 | ]; | 179 | ]; |
| 190 | 180 | ||
| 191 | -export const schemasMap = new Map<string, FormSchema[]>(); | 181 | +export const schemasMap = new Map<FrontComponent, FormSchema[]>(); |
| 192 | 182 | ||
| 193 | -schemasMap.set('text-component-1', modeOne); | ||
| 194 | -schemasMap.set('text-component-2', modeOne); | ||
| 195 | -schemasMap.set('text-component-3', modeOne); | ||
| 196 | -schemasMap.set('text-component-4', modeTwo); | ||
| 197 | -schemasMap.set('text-component-5', modeTwo); | ||
| 198 | -schemasMap.set('instrument-component-1', modeOne); | ||
| 199 | -schemasMap.set('instrument-component-2', modeThree); | ||
| 200 | -schemasMap.set('digital-dashboard-component', modeFour); | 183 | +schemasMap.set(FrontComponent.TEXT_COMPONENT_1, modeOne); |
| 184 | +schemasMap.set(FrontComponent.TEXT_COMPONENT_2, modeOne); | ||
| 185 | +schemasMap.set(FrontComponent.TEXT_COMPONENT_3, modeOne); | ||
| 186 | +schemasMap.set(FrontComponent.TEXT_COMPONENT_4, modeTwo); | ||
| 187 | +schemasMap.set(FrontComponent.TEXT_COMPONENT_5, modeTwo); | ||
| 188 | +schemasMap.set(FrontComponent.INSTRUMENT_COMPONENT_1, modeOne); | ||
| 189 | +schemasMap.set(FrontComponent.INSTRUMENT_COMPONENT_2, modeThree); | ||
| 190 | +schemasMap.set(FrontComponent.DIGITAL_DASHBOARD_COMPONENT, modeFour); |
| 1 | import { Component } from 'vue'; | 1 | import { Component } from 'vue'; |
| 2 | import { Layout } from 'vue3-grid-layout'; | 2 | import { Layout } from 'vue3-grid-layout'; |
| 3 | -import { FrontComponent, FrontComponentCategory } from '../const/const'; | 3 | +import { FrontComponent, FrontComponentCategory, visualOptionField } from '../const/const'; |
| 4 | import { RadioRecord } from '../detail/config/util'; | 4 | import { RadioRecord } from '../detail/config/util'; |
| 5 | import { DataComponentRecord, DataSource } from '/@/api/dataBoard/model'; | 5 | import { DataComponentRecord, DataSource } from '/@/api/dataBoard/model'; |
| 6 | 6 | ||
| @@ -25,6 +25,19 @@ export interface ComponentConfig { | @@ -25,6 +25,19 @@ export interface ComponentConfig { | ||
| 25 | ) => Recordable; | 25 | ) => Recordable; |
| 26 | } | 26 | } |
| 27 | 27 | ||
| 28 | +export interface VisualOptionParams { | ||
| 29 | + [visualOptionField.FONT_COLOR]: string; | ||
| 30 | + [visualOptionField.UNIT]: string; | ||
| 31 | + [visualOptionField.ICON_COLOR]: string; | ||
| 32 | + [visualOptionField.ICON]: string; | ||
| 33 | + [visualOptionField.FIRST_PHASE_COLOR]: string; | ||
| 34 | + [visualOptionField.SECOND_PHASE_COLOR]: string; | ||
| 35 | + [visualOptionField.THIRD_PHASE_COLOR]: string; | ||
| 36 | + [visualOptionField.FIRST_PHASE_VALUE]: string; | ||
| 37 | + [visualOptionField.SECOND_PHASE_VALUE]: string; | ||
| 38 | + [visualOptionField.THIRD_PHASE_VALUE]: string; | ||
| 39 | +} | ||
| 40 | + | ||
| 28 | export interface VisualComponentProps<Layout = Recordable, Value = Recordable> { | 41 | export interface VisualComponentProps<Layout = Recordable, Value = Recordable> { |
| 29 | value?: Value; | 42 | value?: Value; |
| 30 | layout?: Layout; | 43 | layout?: Layout; |