Commit c63ac5d2eb38d4960e32484664f733681526f639
1 parent
fd12ae03
perf: extract code about how to render updatetime
Showing
5 changed files
with
23 additions
and
70 deletions
... | ... | @@ -7,22 +7,21 @@ |
7 | 7 | DashboardComponentLayout, |
8 | 8 | DashBoardValue, |
9 | 9 | instrumentComponent1, |
10 | - InstrumentComponentType, | |
11 | 10 | update_instrument_1_font, |
12 | 11 | update_instrument_2_font, |
13 | 12 | update_instrument_1_value, |
14 | 13 | update_instrument_2_value, |
15 | 14 | } from './dashBoardComponent.config'; |
16 | - import { dateUtil } from '/@/utils/dateUtil'; | |
17 | 15 | import { |
18 | 16 | DEFAULT_RADIO_RECORD, |
19 | 17 | RadioRecord, |
20 | - DEFAULT_DATE_FORMAT, | |
21 | 18 | fontSize, |
19 | + getUpdateTime, | |
22 | 20 | } from '../../detail/config/util'; |
23 | 21 | import { Tooltip } from 'ant-design-vue'; |
24 | 22 | import { useThrottleFn } from '@vueuse/shared'; |
25 | 23 | import { buildUUID } from '/@/utils/uuid'; |
24 | + import { FrontComponent } from '../help'; | |
26 | 25 | |
27 | 26 | const props = defineProps({ |
28 | 27 | add: { |
... | ... | @@ -61,7 +60,6 @@ |
61 | 60 | } |
62 | 61 | |
63 | 62 | const getRadio = computed(() => { |
64 | - // const { radio } = props.radio; | |
65 | 63 | return props.radio; |
66 | 64 | }); |
67 | 65 | |
... | ... | @@ -69,7 +67,6 @@ |
69 | 67 | const realWidth = unref(chartRef)?.getWidth(); |
70 | 68 | const realHeight = unref(chartRef)?.getHeight(); |
71 | 69 | const radioRecord = props.radio; |
72 | - // const widht | |
73 | 70 | return { |
74 | 71 | ...radioRecord, |
75 | 72 | height: realHeight || radioRecord.height, |
... | ... | @@ -77,7 +74,7 @@ |
77 | 74 | }; |
78 | 75 | }); |
79 | 76 | |
80 | - const beforeUpdateFn = (componentType: InstrumentComponentType) => { | |
77 | + const beforeUpdateFn = (componentType: FrontComponent) => { | |
81 | 78 | if (componentType === 'instrument-component-1') return update_instrument_1_font; |
82 | 79 | if (componentType === 'instrument-component-2') return update_instrument_2_font; |
83 | 80 | return (_radio: RadioRecord) => {}; |
... | ... | @@ -89,7 +86,7 @@ |
89 | 86 | unref(chartRef)?.resize(); |
90 | 87 | } |
91 | 88 | |
92 | - const getUpdateValueFn = (componentType: InstrumentComponentType) => { | |
89 | + const getUpdateValueFn = (componentType: FrontComponent) => { | |
93 | 90 | if (componentType === 'instrument-component-1') return update_instrument_1_value; |
94 | 91 | if (componentType === 'instrument-component-2') return update_instrument_2_value; |
95 | 92 | return (_radio: DashBoardValue) => {}; |
... | ... | @@ -164,22 +161,11 @@ |
164 | 161 | color: '#999', |
165 | 162 | }" |
166 | 163 | > |
167 | - <Tooltip | |
168 | - placement="top" | |
169 | - :title=" | |
170 | - props.value?.updateTime | |
171 | - ? dateUtil(props?.value?.updateTime).format(DEFAULT_DATE_FORMAT) | |
172 | - : '暂无更新时间' | |
173 | - " | |
174 | - > | |
164 | + <Tooltip placement="top" :title="getUpdateTime(props.value?.updateTime)"> | |
175 | 165 | <div class="truncate"> |
176 | 166 | <span class="mr-2">更新时间:</span> |
177 | 167 | <span> |
178 | - {{ | |
179 | - props.value?.updateTime | |
180 | - ? dateUtil(props?.value?.updateTime).format(DEFAULT_DATE_FORMAT) | |
181 | - : '暂无更新时间' | |
182 | - }} | |
168 | + {{ getUpdateTime(props.value?.updateTime) }} | |
183 | 169 | </span> |
184 | 170 | </div> |
185 | 171 | </Tooltip> | ... | ... |
... | ... | @@ -6,11 +6,10 @@ |
6 | 6 | DigitalDashBoardLayout, |
7 | 7 | DigitalDashBoardValue, |
8 | 8 | } from './digitalDashBoard.config'; |
9 | - import { dateUtil } from '/@/utils/dateUtil'; | |
10 | 9 | import { |
11 | 10 | fontSize, |
12 | 11 | RadioRecord, |
13 | - DEFAULT_DATE_FORMAT, | |
12 | + getUpdateTime, | |
14 | 13 | DEFAULT_RADIO_RECORD, |
15 | 14 | DEFAULT_ANIMATION_INTERVAL, |
16 | 15 | } from '../../detail/config/util'; |
... | ... | @@ -59,8 +58,6 @@ |
59 | 58 | }); |
60 | 59 | |
61 | 60 | const getRadio = computed(() => { |
62 | - // const { radio } = props.radio || DEFAULT_RADIO_RECORD; | |
63 | - // return radio; | |
64 | 61 | return props.radio || DEFAULT_RADIO_RECORD; |
65 | 62 | }); |
66 | 63 | |
... | ... | @@ -166,22 +163,11 @@ |
166 | 163 | color: '#999', |
167 | 164 | }" |
168 | 165 | > |
169 | - <Tooltip | |
170 | - placement="top" | |
171 | - :title=" | |
172 | - props.value?.updateTime | |
173 | - ? dateUtil(props?.value?.updateTime).format(DEFAULT_DATE_FORMAT) | |
174 | - : '暂无更新时间' | |
175 | - " | |
176 | - > | |
166 | + <Tooltip placement="top" :title="getUpdateTime(props.value?.updateTime)"> | |
177 | 167 | <div class="truncate"> |
178 | 168 | <span class="mr-1">更新时间:</span> |
179 | 169 | <span> |
180 | - {{ | |
181 | - props.value?.updateTime | |
182 | - ? dateUtil(props?.value?.updateTime).format(DEFAULT_DATE_FORMAT) | |
183 | - : '暂无更新时间' | |
184 | - }} | |
170 | + {{ getUpdateTime(props.value?.updateTime) }} | |
185 | 171 | </span> |
186 | 172 | </div> |
187 | 173 | </Tooltip> | ... | ... |
... | ... | @@ -2,16 +2,15 @@ |
2 | 2 | import { computed, ref, watch } from 'vue'; |
3 | 3 | import { Tooltip, Image as AntImage } from 'ant-design-vue'; |
4 | 4 | import { |
5 | - DEFAULT_DATE_FORMAT, | |
5 | + getUpdateTime, | |
6 | 6 | DEFAULT_RADIO_RECORD, |
7 | 7 | fontSize, |
8 | 8 | RadioRecord, |
9 | 9 | } from '../../detail/config/util'; |
10 | - import { PictureComponentLayout, PictureComponentValue } from './pictureComponent.config'; | |
11 | - import { dateUtil } from '/@/utils/dateUtil'; | |
10 | + import { PictureComponentValue } from './pictureComponent.config'; | |
12 | 11 | |
13 | 12 | const props = defineProps<{ |
14 | - layout?: PictureComponentLayout; | |
13 | + layout?: Recordable; | |
15 | 14 | value?: PictureComponentValue; |
16 | 15 | radio?: RadioRecord; |
17 | 16 | }>(); |
... | ... | @@ -69,21 +68,10 @@ |
69 | 68 | class="w-full text-center truncate p-5" |
70 | 69 | :style="{ fontSize: fontSize({ radioRecord: getRadio, basic: 12, max: 12 }), color: '#999' }" |
71 | 70 | > |
72 | - <Tooltip | |
73 | - placement="top" | |
74 | - :title=" | |
75 | - props.value?.updateTime | |
76 | - ? dateUtil(props?.value?.updateTime).format(DEFAULT_DATE_FORMAT) | |
77 | - : '暂无更新时间' | |
78 | - " | |
79 | - > | |
71 | + <Tooltip placement="top" :title="getUpdateTime(props.value?.updateTime)"> | |
80 | 72 | <span class="mr-1">更新时间:</span> |
81 | 73 | <span class="truncate"> |
82 | - {{ | |
83 | - props.value?.updateTime | |
84 | - ? dateUtil(props?.value?.updateTime).format(DEFAULT_DATE_FORMAT) | |
85 | - : '暂无更新时间' | |
86 | - }} | |
74 | + {{ getUpdateTime(props.value?.updateTime) }} | |
87 | 75 | </span> |
88 | 76 | </Tooltip> |
89 | 77 | </div> | ... | ... |
... | ... | @@ -2,14 +2,13 @@ |
2 | 2 | import { computed } from 'vue'; |
3 | 3 | import { Statistic, Tooltip } from 'ant-design-vue'; |
4 | 4 | import { |
5 | + getUpdateTime, | |
5 | 6 | fontSize, |
6 | 7 | RadioRecord, |
7 | 8 | DEFAULT_RADIO_RECORD, |
8 | - DEFAULT_DATE_FORMAT, | |
9 | 9 | } from '../../detail/config/util'; |
10 | 10 | import { TextComponentDefaultConfig, TextComponentLayout, TextComponentValue } from './config'; |
11 | 11 | import { SvgIcon } from '/@/components/Icon'; |
12 | - import { dateUtil } from '/@/utils/dateUtil'; | |
13 | 12 | const props = defineProps({ |
14 | 13 | layout: { |
15 | 14 | type: Object as PropType<TextComponentLayout>, |
... | ... | @@ -89,26 +88,14 @@ |
89 | 88 | </div> |
90 | 89 | |
91 | 90 | <div class="text-center text-xs truncate p-5" style="color: #999"> |
92 | - <Tooltip | |
93 | - v-if="getShowUpdate" | |
94 | - placement="top" | |
95 | - :title=" | |
96 | - props.value?.updateTime | |
97 | - ? dateUtil(props?.value?.updateTime).format(DEFAULT_DATE_FORMAT) | |
98 | - : '暂无更新时间' | |
99 | - " | |
100 | - > | |
91 | + <Tooltip v-if="getShowUpdate" placement="top" :title="getUpdateTime(props.value?.updateTime)"> | |
101 | 92 | <div |
102 | 93 | :style="{ fontSize: fontSize({ radioRecord: getRadio, basic: 12, max: 12 }) }" |
103 | 94 | class="truncate" |
104 | 95 | > |
105 | 96 | <span class="mr-1">更新时间:</span> |
106 | 97 | <span class="truncate"> |
107 | - {{ | |
108 | - props.value?.updateTime | |
109 | - ? dateUtil(props?.value?.updateTime).format(DEFAULT_DATE_FORMAT) | |
110 | - : '暂无更新时间' | |
111 | - }} | |
98 | + {{ getUpdateTime(props.value?.updateTime) }} | |
112 | 99 | </span> |
113 | 100 | </div> |
114 | 101 | </Tooltip> | ... | ... |
1 | +import { dateUtil } from '/@/utils/dateUtil'; | |
2 | + | |
1 | 3 | export interface RadioRecord { |
2 | 4 | width: number; |
3 | 5 | height: number; |
... | ... | @@ -16,6 +18,10 @@ export const DEFAULT_RADIO_RECORD: RadioRecord = { |
16 | 18 | |
17 | 19 | export const DEFAULT_DATE_FORMAT = 'YYYY-MM-DD HH:mm:ss'; |
18 | 20 | |
21 | +export const getUpdateTime = (updateTime?: string) => { | |
22 | + return updateTime ? dateUtil(updateTime).format(DEFAULT_DATE_FORMAT) : '暂无更新时间'; | |
23 | +}; | |
24 | + | |
19 | 25 | export const calcScale = ( |
20 | 26 | width: number, |
21 | 27 | height: number, | ... | ... |