Commit 0884dff38e1248078b3931d3e919070bf8cd5992
1 parent
d73ce170
feat: data board detail add back button
Showing
4 changed files
with
44 additions
and
15 deletions
@@ -18,6 +18,7 @@ | @@ -18,6 +18,7 @@ | ||
18 | DEFAULT_DATE_FORMAT, | 18 | DEFAULT_DATE_FORMAT, |
19 | fontSize, | 19 | fontSize, |
20 | } from '../../detail/config/util'; | 20 | } from '../../detail/config/util'; |
21 | + import { Tooltip } from 'ant-design-vue'; | ||
21 | 22 | ||
22 | const props = defineProps({ | 23 | const props = defineProps({ |
23 | add: { | 24 | add: { |
@@ -90,8 +91,13 @@ | @@ -90,8 +91,13 @@ | ||
90 | class="text-xs text-center text-gray-400 truncate" | 91 | class="text-xs text-center text-gray-400 truncate" |
91 | :style="{ fontSize: fontSize({ radio: getRadio, basic: 12, max: 16 }) }" | 92 | :style="{ fontSize: fontSize({ radio: getRadio, basic: 12, max: 16 }) }" |
92 | > | 93 | > |
93 | - <span class="mr-2">更新时间:</span> | ||
94 | - <span> {{ props.value.updateTime || dateUtil().format(DEFAULT_DATE_FORMAT) }}</span> | 94 | + <Tooltip |
95 | + placement="topLeft" | ||
96 | + :title="props.value.updateTime || dateUtil().format(DEFAULT_DATE_FORMAT)" | ||
97 | + > | ||
98 | + <span class="mr-2">更新时间:</span> | ||
99 | + <span> {{ props.value.updateTime || dateUtil().format(DEFAULT_DATE_FORMAT) }}</span> | ||
100 | + </Tooltip> | ||
95 | </div> | 101 | </div> |
96 | </div> | 102 | </div> |
97 | </div> | 103 | </div> |
1 | <script lang="ts" setup> | 1 | <script lang="ts" setup> |
2 | import { computed } from 'vue'; | 2 | import { computed } from 'vue'; |
3 | - import { Space } from 'ant-design-vue'; | 3 | + import { Space, Tooltip } from 'ant-design-vue'; |
4 | import type { DigitalDashBoardLayout, DigitalDashBoardValue } from './digitalDashBoard.config'; | 4 | import type { DigitalDashBoardLayout, DigitalDashBoardValue } from './digitalDashBoard.config'; |
5 | import { dateUtil } from '/@/utils/dateUtil'; | 5 | import { dateUtil } from '/@/utils/dateUtil'; |
6 | import { | 6 | import { |
@@ -89,8 +89,13 @@ | @@ -89,8 +89,13 @@ | ||
89 | class="text-center mt-1 text-gray-400 text-xs truncate" | 89 | class="text-center mt-1 text-gray-400 text-xs truncate" |
90 | :style="{ fontSize: fontSize({ radio: getRadio, basic: 12, max: 16 }) }" | 90 | :style="{ fontSize: fontSize({ radio: getRadio, basic: 12, max: 16 }) }" |
91 | > | 91 | > |
92 | - <span class="mr-1">更新时间:</span> | ||
93 | - <span>{{ props.value.updateTime || dateUtil().format(DEFAULT_DATE_FORMAT) }}</span> | 92 | + <Tooltip |
93 | + placement="topLeft" | ||
94 | + :title="props.value.updateTime || dateUtil().format(DEFAULT_DATE_FORMAT)" | ||
95 | + > | ||
96 | + <span class="mr-1">更新时间:</span> | ||
97 | + <span>{{ props.value.updateTime || dateUtil().format(DEFAULT_DATE_FORMAT) }}</span> | ||
98 | + </Tooltip> | ||
94 | </div> | 99 | </div> |
95 | </div> | 100 | </div> |
96 | <div></div> | 101 | <div></div> |
1 | <script lang="ts" setup> | 1 | <script lang="ts" setup> |
2 | - import { computed } from '@vue/reactivity'; | ||
3 | - import { Statistic } from 'ant-design-vue'; | ||
4 | - import { fontSize, RadioRecord, DEFAULT_RADIO_RECORD } from '../../detail/config/util'; | 2 | + import { computed } from 'vue'; |
3 | + import { Statistic, Tooltip } from 'ant-design-vue'; | ||
4 | + import { | ||
5 | + fontSize, | ||
6 | + RadioRecord, | ||
7 | + DEFAULT_RADIO_RECORD, | ||
8 | + DEFAULT_DATE_FORMAT, | ||
9 | + } from '../../detail/config/util'; | ||
5 | import type { TextComponentLayout, TextComponentValue } from './config'; | 10 | import type { TextComponentLayout, TextComponentValue } from './config'; |
6 | import { SvgIcon } from '/@/components/Icon'; | 11 | import { SvgIcon } from '/@/components/Icon'; |
12 | + import { dateUtil } from '/@/utils/dateUtil'; | ||
7 | const props = defineProps({ | 13 | const props = defineProps({ |
8 | layout: { | 14 | layout: { |
9 | type: Object as PropType<TextComponentLayout>, | 15 | type: Object as PropType<TextComponentLayout>, |
@@ -82,12 +88,18 @@ | @@ -82,12 +88,18 @@ | ||
82 | </div> | 88 | </div> |
83 | </div> | 89 | </div> |
84 | <div v-if="getShowUpdate" class="text-center text-xs text-gray-400 truncate"> | 90 | <div v-if="getShowUpdate" class="text-center text-xs text-gray-400 truncate"> |
85 | - <span | ||
86 | - :style="{ fontSize: fontSize({ radio: getRadio, basic: 12, max: 16 }) }" | ||
87 | - class="truncate" | ||
88 | - > | ||
89 | - 更新时间: {{ props.value.updateTime }}</span | 91 | + <Tooltip |
92 | + placement="topLeft" | ||
93 | + :title="props.value.updateTime || dateUtil().format(DEFAULT_DATE_FORMAT)" | ||
90 | > | 94 | > |
95 | + <span>更新时间:</span> | ||
96 | + <span | ||
97 | + :style="{ fontSize: fontSize({ radio: getRadio, basic: 12, max: 16 }) }" | ||
98 | + class="truncate" | ||
99 | + > | ||
100 | + {{ props.value.updateTime || dateUtil().format(DEFAULT_DATE_FORMAT) }} | ||
101 | + </span> | ||
102 | + </Tooltip> | ||
91 | </div> | 103 | </div> |
92 | </div> | 104 | </div> |
93 | </template> | 105 | </template> |
@@ -14,7 +14,7 @@ | @@ -14,7 +14,7 @@ | ||
14 | getDataComponent, | 14 | getDataComponent, |
15 | updateDataBoardLayout, | 15 | updateDataBoardLayout, |
16 | } from '/@/api/dataBoard'; | 16 | } from '/@/api/dataBoard'; |
17 | - import { useRoute } from 'vue-router'; | 17 | + import { useRoute, useRouter } from 'vue-router'; |
18 | import { computed, unref } from '@vue/reactivity'; | 18 | import { computed, unref } from '@vue/reactivity'; |
19 | import { DataComponentRecord, DataSource, Layout } from '/@/api/dataBoard/model'; | 19 | import { DataComponentRecord, DataSource, Layout } from '/@/api/dataBoard/model'; |
20 | import { frontComponentMap } from './config/help'; | 20 | import { frontComponentMap } from './config/help'; |
@@ -25,6 +25,8 @@ | @@ -25,6 +25,8 @@ | ||
25 | 25 | ||
26 | const ROUTE = useRoute(); | 26 | const ROUTE = useRoute(); |
27 | 27 | ||
28 | + const ROUTER = useRouter(); | ||
29 | + | ||
28 | const { createMessage, createConfirm } = useMessage(); | 30 | const { createMessage, createConfirm } = useMessage(); |
29 | const getBoardId = computed(() => { | 31 | const getBoardId = computed(() => { |
30 | return (ROUTE.params as { id: string }).id; | 32 | return (ROUTE.params as { id: string }).id; |
@@ -43,6 +45,10 @@ | @@ -43,6 +45,10 @@ | ||
43 | const defaultWidth = 6; | 45 | const defaultWidth = 6; |
44 | const defaultHeight = 6; | 46 | const defaultHeight = 6; |
45 | 47 | ||
48 | + const handleBack = () => { | ||
49 | + ROUTER.go(-1); | ||
50 | + }; | ||
51 | + | ||
46 | function updateSize(i: string, _newH: number, _newW: number, newHPx: number, newWPx: number) { | 52 | function updateSize(i: string, _newH: number, _newW: number, newHPx: number, newWPx: number) { |
47 | newWPx = Number(newWPx); | 53 | newWPx = Number(newWPx); |
48 | newHPx = Number(newHPx); | 54 | newHPx = Number(newHPx); |
@@ -243,7 +249,7 @@ | @@ -243,7 +249,7 @@ | ||
243 | 249 | ||
244 | <template> | 250 | <template> |
245 | <section class="bg-light-50 flex flex-col overflow-hidden h-full w-full"> | 251 | <section class="bg-light-50 flex flex-col overflow-hidden h-full w-full"> |
246 | - <PageHeader title="水电表看板"> | 252 | + <PageHeader title="水电表看板" @back="handleBack"> |
247 | <template #extra> | 253 | <template #extra> |
248 | <Button type="primary" @click="handleOpenCreatePanel">创建组件</Button> | 254 | <Button type="primary" @click="handleOpenCreatePanel">创建组件</Button> |
249 | </template> | 255 | </template> |