diff --git a/src/views/commodity/sku.vue b/src/views/commodity/sku.vue
index 8aedcd0..4a9f2e5 100644
--- a/src/views/commodity/sku.vue
+++ b/src/views/commodity/sku.vue
@@ -59,6 +59,7 @@
@@ -279,7 +280,8 @@ export default {
chooseList: [],
lte_stock: 0,
showStock: false,
- showUpdate: false
+ showUpdate: false,
+ exportLoading: false
})
function handleSearch() {
@@ -306,6 +308,44 @@ export default {
})
}
+ const handleExport = () => {
+ data.exportLoading = true
+ let params = {
+ page: data.page,
+ pageSize: data.pageSize,
+ service_id: data.service_id,
+ ...data.filter,
+ brand_ids: data.brandIds.join(','),
+ goods_ids: data.goodsIds.join(','),
+ export: 1
+ }
+ get(`/api/goods-skus`, params, 'blob').then((res) => {
+ downLoadXls(res)
+ ElMessage({ type: "success", message: "导出成功!" })
+ data.exportLoading = false
+ }).catch(() => {
+ data.exportLoading = false
+ })
+ }
+
+ function downLoadXls(response) {
+ const content = response
+ const blob = new Blob([content])
+ const fileName = `商品规格.xlsx`
+ if ('download' in document.createElement('a')) {
+ const elink = document.createElement('a')
+ elink.download = fileName
+ elink.style.display = 'none'
+ elink.href = URL.createObjectURL(blob)
+ document.body.appendChild(elink)
+ elink.click()
+ URL.revokeObjectURL(elink.href)
+ document.body.removeChild(elink)
+ } else {
+ navigator.msSaveBlob(blob, fileName)
+ }
+ }
+
function handleCurrentChange(e) {
data.page = e
fetchData()
@@ -459,6 +499,7 @@ export default {
handleSearch,
handleCurrentChange,
handleSizeChange,
+ handleExport,
fetchData,
handleAdd,
handleEdit,