diff --git a/package-lock.json b/package-lock.json
index 63badfe..420d414 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,6 +9,7 @@
"version": "0.1.0",
"dependencies": {
"core-js": "^3.6.5",
+ "file-saver": "^2.0.5",
"vue": "^2.6.11",
"vue-excel-xlsx": "^1.2.2",
"vue-router": "^3.2.0",
@@ -6809,6 +6810,11 @@
"webpack": "^4.0.0"
}
},
+ "node_modules/file-saver": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz",
+ "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA=="
+ },
"node_modules/file-uri-to-path": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
@@ -21169,6 +21175,11 @@
"schema-utils": "^2.5.0"
}
},
+ "file-saver": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz",
+ "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA=="
+ },
"file-uri-to-path": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
diff --git a/package.json b/package.json
index d65bb0d..547cd39 100644
--- a/package.json
+++ b/package.json
@@ -11,6 +11,7 @@
},
"dependencies": {
"core-js": "^3.6.5",
+ "file-saver": "^2.0.5",
"vue": "^2.6.11",
"vue-excel-xlsx": "^1.2.2",
"vue-router": "^3.2.0",
diff --git a/src/api/can.js b/src/api/can.js
index 0553317..f3d2f32 100644
--- a/src/api/can.js
+++ b/src/api/can.js
@@ -31,4 +31,17 @@ async function getCouponNumberList(couponId, page) {
return Vue.axios.get('/can/coupon/number-list?couponId=' + couponId + '&page=' + (page - 1) + "&size=20");
}
-export {getCans, insertCan, deleteCan, paymentCan, getCouponList, generateCoupon, getCouponNumberList}
+async function downloadCouponNumberList(couponId) {
+ return Vue.axios.get('/can/coupon/number-list/download?couponId=' + couponId, { responseType: 'blob' });
+}
+
+export {
+ getCans,
+ insertCan,
+ deleteCan,
+ paymentCan,
+ getCouponList,
+ generateCoupon,
+ getCouponNumberList,
+ downloadCouponNumberList
+}
diff --git a/src/views/Can/CanCoupon.vue b/src/views/Can/CanCoupon.vue
index 5c1b762..72fbee1 100644
--- a/src/views/Can/CanCoupon.vue
+++ b/src/views/Can/CanCoupon.vue
@@ -33,14 +33,13 @@
item-key="id"
class="elevation-1"
hide-default-footer
- @click:row="getCouponNumberList"
>
{{ item.id }}
- {{ item.couponName }}
+ {{ item.couponName }}
@@ -76,6 +75,14 @@
X
+
+
+ 다운로드
+
+
@@ -245,6 +252,8 @@