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" />
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'
4654import {
4755 approveIcon ,
4856 cancelIcon ,
@@ -62,19 +70,24 @@ const { isApproved, closeTaskDetail, id, isProcessor, isRequestor } =
6270
6371const isModalOpen = ref ({
6472 cancel: false ,
65- approve : false
73+ success : false
6674})
6775
6876const 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
7690const ApproveTask = () => {
77- toggleModal (' approve' )
7891 router .push (` /request-approve/${id } ` )
7992}
8093
0 commit comments