Skip to content

Commit f913ca5

Browse files
authored
Merge pull request #191 from TaskFlow-CLAP/CLAP-426
CLAP-426 QA 사항 반영 Tony.tsx
2 parents 73a20a6 + 1b5cb48 commit f913ca5

30 files changed

+318
-214
lines changed

src/components/api-logs/ApiLogsList.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
v-for="info in data?.content"
1010
:key="info.logId"
1111
:info="info" />
12+
<NoContent v-if="data?.content.length === 0" />
1213
</template>
1314

1415
<template #pagination>
@@ -32,6 +33,7 @@ import type { ApiLogsResponse } from '@/types/admin'
3233
import { computed } from 'vue'
3334
import { useMemberStore } from '@/stores/member'
3435
import { storeToRefs } from 'pinia'
36+
import NoContent from '../lists/NoContent.vue'
3537
3638
const { params } = useLogsParamsStore()
3739
const onPageChange = (value: number) => {

src/components/api-logs/ApiLogsListCard.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<div class="list-card">
2+
<div class="list-card !cursor-default">
33
<ListCardTab
44
v-for="tab in myRequestTabList"
55
:key="tab.content"

src/components/charts/LineChart.vue

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
:data="teamData"
55
:options="options" />
66
<NoContent
7-
v-else
7+
v-else-if="!isPending && labels.length === 0"
88
:content="`집계된 ${periodText[periodType]} 데이터가 없습니다`" />
99
</template>
1010

@@ -42,6 +42,7 @@ const { labels, series, dataLabel, periodType } = defineProps<{
4242
series: number[]
4343
dataLabel: string
4444
periodType: PeriodType
45+
isPending?: boolean
4546
}>()
4647
4748
const periodText = { DAY: '일간', WEEK: '주간', MONTH: '월간' }
@@ -80,6 +81,12 @@ const options = {
8081
},
8182
suggestedMax: Math.max(...series) + 1
8283
}
84+
},
85+
plugins: {
86+
legend: {
87+
display: false
88+
},
89+
tooltip: { enabled: true }
8390
}
8491
}
8592
</script>

src/components/charts/PieChart.vue

Lines changed: 41 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
<template>
2-
<Pie
3-
v-if="labels.length !== 0"
4-
:data="teamData"
5-
:options="options" />
6-
<NoContent
7-
v-else
8-
:content="
9-
!content && periodType ? `집계된 ${periodText[periodType]} 데이터가 없습니다` : content
10-
" />
2+
<div class="w-full h-full flex items-center justify-center">
3+
<Pie
4+
v-if="labels.length !== 0"
5+
:data="teamData"
6+
:options="options" />
7+
<NoContent
8+
v-else-if="!isPending && labels.length === 0"
9+
:content="
10+
!content && periodType
11+
? `지난 ${periodText[periodType]}간 집계된\n데이터가 없습니다`
12+
: content
13+
" />
14+
</div>
1115
</template>
1216

1317
<script setup lang="ts">
@@ -26,15 +30,19 @@ import type { PeriodType } from '@/types/manager'
2630
import NoContent from '../lists/NoContent.vue'
2731
ChartJS.register(Title, Tooltip, Legend, ArcElement, Colors)
2832
29-
const { labels, series, periodType, content } = defineProps<{
33+
const { labels, series, periodType, content, isPending, noLegend, title, position } = defineProps<{
3034
labels: string[]
3135
series: number[]
3236
periodType?: PeriodType
3337
content?: string
38+
isPending?: boolean
39+
noLegend?: boolean
40+
title?: string
41+
position?: 'top'
3442
}>()
3543
const emit = defineEmits(['onClick'])
3644
37-
const periodText = { DAY: '일간', WEEK: '주간', MONTH: '월간' }
45+
const periodText = { DAY: '1일', WEEK: '1주일', MONTH: '1개월' }
3846
3947
const teamData = {
4048
labels,
@@ -53,6 +61,28 @@ const options = {
5361
const clickedIndex = elements[0].index
5462
emit('onClick', labels[clickedIndex])
5563
}
64+
},
65+
hoverOffset: 10,
66+
plugins: {
67+
legend: {
68+
display: noLegend === true ? false : true,
69+
position: position || ('left' as const)
70+
},
71+
tooltip: { enabled: true },
72+
title: {
73+
display: title ? true : false,
74+
text: title,
75+
font: { size: 12, weight: 400 },
76+
color: '#71717A'
77+
}
78+
},
79+
layout: {
80+
padding: {
81+
top: title ? 0 : 8,
82+
left: 8,
83+
right: 8,
84+
bottom: 8
85+
}
5686
}
5787
}
5888
</script>

src/components/common/EditInformation.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,9 @@
7575
maxlength="10"
7676
ref="nameInput"
7777
@blur="validateName" />
78-
<span class="mt-1.5 text-xs text-gray-500"> {{ name.length }} / 10 </span>
78+
<span class="absolute text-xs top-[calc(100%+4px)] w-full flex justify-end text-body">
79+
{{ name.length }} / 10
80+
</span>
7981
</div>
8082
<div class="flex flex-col">
8183
<p class="text-body text-xs font-semibold">아이디</p>

src/components/filters/FilterCategory.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
ref="mainRef"
77
class="filter-dropdown"
88
@click="toggleDropdown('main')">
9-
<span class="grow text-center">선택</span>
9+
<span class="grow text-center">선택 ({{ (main as number[]).length }})</span>
1010
<CommonIcons
1111
:name="dropdownIcon"
1212
:style="{ fill: '#18181B' }" />
@@ -36,7 +36,7 @@
3636
class="filter-dropdown"
3737
:class="isDisabled ? 'bg-background-2 text-disabled' : ''"
3838
@click="!isDisabled && toggleDropdown('sub')">
39-
<span class="grow text-center">선택</span>
39+
<span class="grow text-center">선택 ({{ (sub as number[]).length }})</span>
4040
<CommonIcons
4141
:name="dropdownIcon"
4242
:style="{ fill: isDisabled ? '#A1A1AA' : '#18181B' }" />

src/components/filters/FilterDropdownMulti.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
ref="htmlRef"
99
class="filter-dropdown"
1010
@click="toggleDropdown">
11-
<span class="grow text-center">선택</span>
11+
<span class="grow text-center">선택 ({{ (value as string[]).length }})</span>
1212
<CommonIcons :name="dropdownIcon" />
1313
<ul
1414
@click.stop

src/components/lists/ListPagination.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
<CommonIcons :name="prevSetIcon" />
1212
</button>
1313
<button
14+
v-if="pageNumber !== 1"
1415
@click="onPrevClick"
1516
class="rounded hover:bg-primary2">
1617
<CommonIcons :name="prevIcon" />
@@ -27,6 +28,7 @@
2728
</button>
2829
<div class="flex gap-1 absolute right-0 top-1/2 translate-x-[calc(100%+8px)] -translate-y-1/2">
2930
<button
31+
v-if="pageNumber !== totalPage"
3032
@click="onNextClick"
3133
class="rounded hover:bg-primary2">
3234
<CommonIcons :name="nextIcon" />

src/components/lists/NoContent.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
<template>
22
<div class="w-full h-full flex justify-center items-center">
3-
<span class="text-lg text-disabled font-semibold text-center">{{ content }}</span>
3+
<span class="text-lg text-disabled font-semibold text-center whitespace-pre-wrap">{{
4+
content
5+
}}</span>
46
</div>
57
</template>
68

src/components/login-logs/LoginLogsListCard.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<div class="list-card">
2+
<div class="list-card !cursor-default">
33
<ListCardTab
44
v-for="tab in myRequestTabList"
55
:key="tab.content"

0 commit comments

Comments
 (0)