Преглед изворни кода

feat(store-manage):在线商品添加下载功能

xinyan пре 7 месеци
родитељ
комит
c03d37e22e

+ 4 - 4
src/views/product-manage/product-list/api.ts

@@ -83,7 +83,7 @@ export function uploadFile(body: any){
 // 商品变更通知导入
 export function uploadChangeNotice(body: any){
   return request({
-    url: '/api/choice/goods/alarm/import_data/',
+    url: apiPrefix +'alarm/import_data/',
     method: 'POST',
     data: body,
   });
@@ -92,7 +92,7 @@ export function uploadChangeNotice(body: any){
 // 商品导入
 export function uploadProducts(body: any){
   return request({
-    url: '/api/choice/goods/import_data/',
+    url: apiPrefix +'import_data/',
     method: 'POST',
     data: body,
   });
@@ -101,7 +101,7 @@ export function uploadProducts(body: any){
 // 指导价格导入
 export function uploadPrice(body: any){
   return request({
-    url: '/api/choice/goods/GuidancePrice/import_data/',
+    url: apiPrefix +'GuidancePrice/import_data/',
     method: 'POST',
     data: body,
   });
@@ -110,7 +110,7 @@ export function uploadPrice(body: any){
 // 导出
 export function exportData(query: any) {
   return request({
-    url: '/api/choice/goods/export_data/',
+    url: apiPrefix + 'export_data/',
     method: 'GET',
     params: query,
     responseType: 'blob'

+ 2 - 2
src/views/product-manage/product-monitor/api.ts

@@ -71,7 +71,7 @@ export function batchDeleteRow(body: any) {
 // 导入
 export function upload(body: any){
   return request({
-    url: '/api/choice/reviews_monitor/import_data/',
+    url: apiPrefix +'reviews_monitor/import_data/',
     method: 'POST',
     data: body,
   });
@@ -80,7 +80,7 @@ export function upload(body: any){
 // 导出
 export function exportData(query: any) {
   return request({
-    url: '/api/choice/reviews_monitor/export_data/',
+    url: apiPrefix +'reviews_monitor/export_data/',
     method: 'GET',
     params: query,
     responseType: 'blob'

+ 1 - 1
src/views/store-manage/online-merchandise/api.ts

@@ -21,7 +21,7 @@ export function getShopOptions() {
 // 导出
 export function exportData(query: any) {
   return request({
-    url: '/api/choice/goods/export_data/',
+    url: apiPrefix + 'export_data/',
     method: 'GET',
     params: query,
     responseType: 'blob'

+ 26 - 0
src/views/store-manage/online-merchandise/component/DataTable.vue

@@ -13,6 +13,7 @@ import DataTableSlot from './DataTableSlot.vue';
 import EditDrawer from '/src/views/product-manage/product-list/component/EditDrawer.vue';
 import NoticeDialog from '/src/views/product-manage/product-list/component/NoticeDialog.vue';
 import * as api from '../api';
+import { ElMessage } from 'element-plus';
 
 
 interface Parameter {
@@ -96,6 +97,31 @@ function handleRefresh() {
 }
 
 async function handleDownload() {
+	gridOptions.loading = true;
+	try {
+		const query = {
+			asin: queryParameter?.asin,
+			sku__startswith: queryParameter?.sku,
+			country_code: queryParameter?.country,
+			shop_id: queryParameter?.shop,
+			shop__region: queryParameter?.region,
+			fulfillment_channel: queryParameter?.delivery,
+			status: queryParameter?.status,
+		};
+		const response = await api.exportData(query);
+		const url = window.URL.createObjectURL(new Blob([response.data]));
+		const link = document.createElement('a');
+		link.href = url;
+		link.setAttribute('download', '在线商品数据.xlsx');
+		document.body.appendChild(link);
+		link.click();
+		ElMessage.success('数据导出成功!');
+	} catch (error) {
+		ElMessage.error('数据导出失败,请重试!');
+		console.error(error);
+	} finally {
+		gridOptions.loading = false;
+	}
 }
 
 defineExpose({ fetchList });