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" > + @@ -245,6 +252,8 @@