Skip to content

Commit 58ad762

Browse files
committed
♻️ [refactor] : 요청 취소 api 연결 후 모달
1 parent f90d37c commit 58ad762

File tree

2 files changed

+26
-8
lines changed

2 files changed

+26
-8
lines changed

src/api/user.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,3 +71,8 @@ export const deleteComment = async (commentId: number) => {
7171
const response = await axiosInstance.delete(`/api/comment/${commentId}`)
7272
return response.data
7373
}
74+
75+
export const cancelTaskUser = async (taskId: number) => {
76+
const response = await axiosInstance.patch(`/api/tasks/${taskId}/cancel`)
77+
return response.data
78+
}

src/components/task-detail/TaskDetailTopBar.vue

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<p class="text-primary1">요청 승인</p>
2222
</div>
2323
<div
24-
@click="cancelTask"
24+
@click="toggleModal('cancel')"
2525
v-if="!isApproved && (isRequestor || isProcessor)"
2626
class="flex gap-1 items-center cursor-pointer">
2727
<CommonIcons :name="cancelIcon" />
@@ -33,16 +33,24 @@
3333
@click="closeTaskDetail"
3434
class="cursor-pointer" />
3535
<ModalView
36-
type="inputType"
3736
:is-open="isModalOpen.cancel"
38-
@click="cancelTask"
39-
@close="cancelTask">
40-
<template #header>거부 사유를 입력해주세요</template>
37+
type="warningType"
38+
@close="closeCancelModal()"
39+
@click="cancelTask">
40+
<template #header>요청을 취소 하시겠습니까?</template>
41+
<template #body>요청하신 내용은 사라집니다</template>
42+
</ModalView>
43+
<ModalView
44+
:is-open="isModalOpen.success"
45+
type="successType"
46+
@close="toggleModal('success')">
47+
<template #header>요청이 취소되었습니다</template>
4148
</ModalView>
4249
</div>
4350
</template>
4451

4552
<script setup lang="ts">
53+
import { cancelTaskUser } from '@/api/user'
4654
import {
4755
approveIcon,
4856
cancelIcon,
@@ -62,19 +70,24 @@ const { isApproved, closeTaskDetail, id, isProcessor, isRequestor } =
6270
6371
const isModalOpen = ref({
6472
cancel: false,
65-
approve: false
73+
success: false
6674
})
6775
6876
const toggleModal = (key: keyof typeof isModalOpen.value) => {
6977
isModalOpen.value[key] = !isModalOpen.value[key]
7078
}
7179
72-
const cancelTask = () => {
80+
const closeCancelModal = () => {
81+
isModalOpen.value.cancel = false
82+
}
83+
84+
const cancelTask = async () => {
85+
await cancelTaskUser(id)
7386
toggleModal('cancel')
87+
toggleModal('success')
7488
}
7589
7690
const ApproveTask = () => {
77-
toggleModal('approve')
7891
router.push(`/request-approve/${id}`)
7992
}
8093

0 commit comments

Comments
 (0)