diff --git a/app/pages/paths/management/ManageBook.vue b/app/pages/paths/management/ManageBook.vue index bea6b548..fba67b52 100644 --- a/app/pages/paths/management/ManageBook.vue +++ b/app/pages/paths/management/ManageBook.vue @@ -82,6 +82,14 @@ export default { } catch (err) { this.$swal('이런!', err.message, 'error') } + }, + + async download () { + try { + await bookManager.getExcel() + } catch (err) { + this.$swal('이런!', err.message, 'error') + } } } } @@ -99,7 +107,7 @@ export default { 엑셀 다운로드 diff --git a/app/pages/paths/management/ManageDets.vue b/app/pages/paths/management/ManageDets.vue index 9fd96b64..13986232 100644 --- a/app/pages/paths/management/ManageDets.vue +++ b/app/pages/paths/management/ManageDets.vue @@ -93,6 +93,14 @@ export default { } }, + async download () { + try { + await detsManager.getExcel() + } catch (err) { + this.$swal('이런!', err.message, 'error') + } + }, + openEditModal (dets) { this.modals.edit = true this.currentDets = dets @@ -168,7 +176,7 @@ export default { 엑셀 다운로드 diff --git a/app/pages/paths/teacher/request/Counsel.vue b/app/pages/paths/teacher/request/Counsel.vue index f167be7a..f64cb849 100644 --- a/app/pages/paths/teacher/request/Counsel.vue +++ b/app/pages/paths/teacher/request/Counsel.vue @@ -37,6 +37,14 @@ export default { this.$swal('이런!', err.message, 'error') } this.pending = false + }, + + async download () { + try { + await counselManager.getExcel() + } catch (err) { + this.$swal('이런!', err.message, 'error') + } } } } @@ -48,7 +56,7 @@ export default { 상담 신청 관리 엑셀 다운로드 diff --git a/app/pages/paths/teacher/request/Ingang.vue b/app/pages/paths/teacher/request/Ingang.vue index 6dffd4c3..2ffa9d22 100644 --- a/app/pages/paths/teacher/request/Ingang.vue +++ b/app/pages/paths/teacher/request/Ingang.vue @@ -43,6 +43,14 @@ export default { } }, + async download(grade) { + try { + await ingangManager.getExcel(grade) + } catch (err) { + this.$swal('이런!' + err.message, 'error') + } + }, + timezone (val) { const timezoneOffset = new Date().getTimezoneOffset() * 60000 return new Date(val - timezoneOffset) @@ -77,15 +85,15 @@ export default { > 1학년 엑셀 다운 2학년 엑셀 다운 diff --git a/app/src/api/book/book.service.js b/app/src/api/book/book.service.js index 14319a9f..14becfba 100644 --- a/app/src/api/book/book.service.js +++ b/app/src/api/book/book.service.js @@ -139,4 +139,21 @@ export class BookManagerService extends BookService { 403: '권한이 없습니다.' }) } + + async getExcel () { + const { data } = await this.magician(() => this.r.get(`/excel`, { + responseType: 'blob' + }), { + 403: '권한이 없습니다.', + default: '파일을 다운로드하던 중 문제가 발생했습니다.' + }) + const link = document.createElement('a') + link.href = window.URL.createObjectURL(new Blob([data])) + link.setAttribute('download', 'books.xls') + document.body.appendChild(link) + link.click() + setTimeout(() => { + document.body.removeChild(link) + }, 500) + } } diff --git a/app/src/api/counsel/counsel.service.js b/app/src/api/counsel/counsel.service.js index 1212c070..fadb588d 100644 --- a/app/src/api/counsel/counsel.service.js +++ b/app/src/api/counsel/counsel.service.js @@ -48,4 +48,21 @@ export class CounselManagerService extends ServiceBase { }) return counsel.map(Counsel) } + + async getExcel () { + const { data } = await this.magician(() => this.r.get(`/excel`, { + responseType: 'blob' + }), { + 403: '권한이 없습니다.', + default: '파일을 다운로드하던 중 문제가 발생했습니다.' + }) + const link = document.createElement('a') + link.href = window.URL.createObjectURL(new Blob([data])) + link.setAttribute('download', 'counsels.xls') + document.body.appendChild(link) + link.click() + setTimeout(() => { + document.body.removeChild(link) + }, 500) + } } diff --git a/app/src/api/dets/dets.service.js b/app/src/api/dets/dets.service.js index 90aff85e..0889410e 100644 --- a/app/src/api/dets/dets.service.js +++ b/app/src/api/dets/dets.service.js @@ -71,4 +71,21 @@ export class DetsManagerService extends DetsService { 403: '권한이 없습니다.' }) } + + async getExcel () { + const { data } = await this.magician(() => this.r.get(`/excel`, { + responseType: 'blob' + }), { + 403: '권한이 없습니다.', + default: '파일을 다운로드하던 중 문제가 발생했습니다.' + }) + const link = document.createElement('a') + link.href = window.URL.createObjectURL(new Blob([data])) + link.setAttribute('download', 'dets.xls') + document.body.appendChild(link) + link.click() + setTimeout(() => { + document.body.removeChild(link) + }, 500) + } } diff --git a/app/src/api/ingang/ingang.service.js b/app/src/api/ingang/ingang.service.js index ed36a21a..246d9a88 100644 --- a/app/src/api/ingang/ingang.service.js +++ b/app/src/api/ingang/ingang.service.js @@ -107,4 +107,21 @@ export class IngangManagerService extends IngangService { async editAnnouncement (idx, notice) { // TODO } + + async getExcel (grade) { + const { data } = await this.magician(() => this.r.get(`/excel/${grade}`, { + responseType: 'blob' + }), { + 403: '권한이 없습니다.', + default: '파일을 다운로드하던 중 문제가 발생했습니다.' + }) + const link = document.createElement('a') + link.href = window.URL.createObjectURL(new Blob([data])) + link.setAttribute('download', 'ingangs-' + grade + '학년.xls') + document.body.appendChild(link) + link.click() + setTimeout(() => { + document.body.removeChild(link) + }, 500) + } }