feat(calculate): 정산 페이지 엑셀 다운로드 방식 수정

- vue-excel-xlsx 사용방식에서 API 호출 방식으로 변경
This commit is contained in:
Yu Sung
2026-03-05 13:50:35 +09:00
parent dfcc746738
commit c9f49a208a
9 changed files with 248 additions and 442 deletions
+24 -62
View File
@@ -35,7 +35,7 @@
<v-col cols="2">
<v-btn
block
color="#9970ff"
color="#3bb9f1"
dark
depressed
@click="getCalculateCommunityPost"
@@ -47,22 +47,15 @@
<v-spacer />
<v-col cols="2">
<vue-excel-xlsx
:data="items"
:columns="columns"
:file-name="'커뮤니티-정산'"
:file-type="'xlsx'"
:sheet-name="'커뮤니티-정산'"
<v-btn
block
color="#3bb9f1"
dark
depressed
@click="downloadExcel"
>
<v-btn
block
color="#9970ff"
dark
depressed
>
엑셀 다운로드
</v-btn>
</vue-excel-xlsx>
엑셀 다운로드
</v-btn>
</v-col>
</v-row>
<v-row>
@@ -136,52 +129,6 @@ export default {
page_size: 20,
total_page: 0,
items: [],
columns: [
{
label: '날짜',
field: 'date',
},
{
label: '크리에이터',
field: 'nickname',
},
{
label: '내용(앞 10글자)',
field: 'title'
},
{
label: '판매금액(캔)',
field: 'can',
},
{
label: '구매유저수',
field: 'numberOfPurchase',
},
{
label: '합계(캔)',
field: 'totalCan',
},
{
label: '원화',
field: 'totalKrw',
},
{
label: '수수료\n(6.6%)',
field: 'paymentFee',
},
{
label: '정산금액',
field: 'settlementAmount',
},
{
label: '원천세\n(3.3%)',
field: 'tax',
},
{
label: '입금액',
field: 'depositAmount',
}
],
headers: [
{
text: '날짜',
@@ -309,6 +256,21 @@ export default {
this.notifyError('알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.')
this.is_loading = false
}
},
async downloadExcel() {
try {
const res = await api.downloadCalculateCommunityPostExcel(this.start_date, this.end_date)
const url = window.URL.createObjectURL(new Blob([res.data]))
const link = document.createElement('a')
link.href = url
link.setAttribute('download', '커뮤니티-정산.xlsx')
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
} catch (e) {
this.notifyError('엑셀 다운로드 중 오류가 발생했습니다.')
}
}
}
}