Merge pull request '오디션 지원 취소기능 적용' (#52) from test into main
Reviewed-on: #52
This commit is contained in:
commit
81b33e1322
|
@ -48,7 +48,12 @@ async function getAuditionApplicantList(id, page) {
|
||||||
return Vue.axios.get("/admin/audition/role/" + id + "/applicant?page=" + (page - 1) + "&size=20");
|
return Vue.axios.get("/admin/audition/role/" + id + "/applicant?page=" + (page - 1) + "&size=20");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function deleteAuditionApplicant(id) {
|
||||||
|
return Vue.axios.delete("/admin/audition/applicant/" + id);
|
||||||
|
}
|
||||||
|
|
||||||
export {
|
export {
|
||||||
getAuditionList, createAudition, updateAudition, getAuditionDetail,
|
getAuditionList, createAudition, updateAudition, getAuditionDetail,
|
||||||
createAuditionRole, updateAuditionRole, getAuditionRoleDetail, getAuditionApplicantList
|
createAuditionRole, updateAuditionRole, getAuditionRoleDetail, getAuditionApplicantList,
|
||||||
|
deleteAuditionApplicant
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,6 +63,9 @@
|
||||||
<th class="text-center">
|
<th class="text-center">
|
||||||
추천수
|
추천수
|
||||||
</th>
|
</th>
|
||||||
|
<th class="text-center">
|
||||||
|
관리
|
||||||
|
</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
@ -95,6 +98,14 @@
|
||||||
/>
|
/>
|
||||||
</td>
|
</td>
|
||||||
<td>{{ item.voteCount }}</td>
|
<td>{{ item.voteCount }}</td>
|
||||||
|
<td>
|
||||||
|
<v-btn
|
||||||
|
:disabled="is_loading"
|
||||||
|
@click="deleteConfirm(item)"
|
||||||
|
>
|
||||||
|
삭제
|
||||||
|
</v-btn>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</template>
|
</template>
|
||||||
|
@ -114,6 +125,36 @@
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-container>
|
</v-container>
|
||||||
|
|
||||||
|
<v-dialog
|
||||||
|
v-model="show_delete_confirm_dialog"
|
||||||
|
max-width="400px"
|
||||||
|
persistent
|
||||||
|
>
|
||||||
|
<v-card>
|
||||||
|
<v-card-text />
|
||||||
|
<v-card-text>
|
||||||
|
"{{ selected_audition_role_applicant.nickname }}"님의 오디션지원을 취소하시겠습니까?
|
||||||
|
</v-card-text>
|
||||||
|
<v-card-actions v-show="!is_loading">
|
||||||
|
<v-spacer />
|
||||||
|
<v-btn
|
||||||
|
color="blue darken-1"
|
||||||
|
text
|
||||||
|
@click="deleteCancel"
|
||||||
|
>
|
||||||
|
취소
|
||||||
|
</v-btn>
|
||||||
|
<v-btn
|
||||||
|
color="blue darken-1"
|
||||||
|
text
|
||||||
|
@click="deleteAuditionApplicant"
|
||||||
|
>
|
||||||
|
확인
|
||||||
|
</v-btn>
|
||||||
|
</v-card-actions>
|
||||||
|
</v-card>
|
||||||
|
</v-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -138,6 +179,9 @@ export default {
|
||||||
audition_role_detail: {},
|
audition_role_detail: {},
|
||||||
audition_role_applicant_list: [],
|
audition_role_applicant_list: [],
|
||||||
|
|
||||||
|
selected_audition_role_applicant: {},
|
||||||
|
show_delete_confirm_dialog: false,
|
||||||
|
|
||||||
page: 1,
|
page: 1,
|
||||||
total_page: 0,
|
total_page: 0,
|
||||||
}
|
}
|
||||||
|
@ -164,6 +208,16 @@ export default {
|
||||||
this.$dialog.notify.success(message)
|
this.$dialog.notify.success(message)
|
||||||
},
|
},
|
||||||
|
|
||||||
|
deleteConfirm(item) {
|
||||||
|
this.selected_audition_role_applicant = item
|
||||||
|
this.show_delete_confirm_dialog = true
|
||||||
|
},
|
||||||
|
|
||||||
|
deleteCancel() {
|
||||||
|
this.selected_audition_role_applicant = {}
|
||||||
|
this.show_delete_confirm_dialog = false
|
||||||
|
},
|
||||||
|
|
||||||
isValidUrl(string) {
|
isValidUrl(string) {
|
||||||
try {
|
try {
|
||||||
new URL(string); // URL 생성 시 예외가 발생하면 유효하지 않은 URL
|
new URL(string); // URL 생성 시 예외가 발생하면 유효하지 않은 URL
|
||||||
|
@ -236,6 +290,29 @@ export default {
|
||||||
async next() {
|
async next() {
|
||||||
await this.getAuditionRoleApplicant()
|
await this.getAuditionRoleApplicant()
|
||||||
},
|
},
|
||||||
|
|
||||||
|
async deleteAuditionApplicant() {
|
||||||
|
if (this.is_loading) return;
|
||||||
|
this.is_loading = true
|
||||||
|
|
||||||
|
try {
|
||||||
|
const res = await api.deleteAuditionApplicant(this.selected_audition_role_applicant.applicantId)
|
||||||
|
if (res.status === 200 && res.data.success === true) {
|
||||||
|
this.show_delete_confirm_dialog = false
|
||||||
|
this.notifySuccess(res.data.message || '오디션 지원이 취소 되었습니다.')
|
||||||
|
|
||||||
|
this.audition_role_applicant_list = []
|
||||||
|
this.page = 1
|
||||||
|
await this.getAuditionRoleApplicant()
|
||||||
|
} else {
|
||||||
|
this.notifyError(res.data.message || '알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.')
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
this.notifyError('알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.')
|
||||||
|
} finally {
|
||||||
|
this.is_loading = false
|
||||||
|
}
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
Loading…
Reference in New Issue