no message
parent
efb8bc00f8
commit
fb50787fcd
|
|
@ -5,7 +5,7 @@
|
|||
* @Date: 2024-12-26 15:35:23
|
||||
* @Copyright 友仓
|
||||
*/
|
||||
import {postRequest, getRequest, getDownload2} from '/@/lib/axios';
|
||||
import {postRequest, getRequest, postDownload2} from '/@/lib/axios';
|
||||
|
||||
export const addressApi = {
|
||||
|
||||
|
|
@ -59,20 +59,11 @@ export const addressApi = {
|
|||
return postRequest('/address/importAddress', file);
|
||||
},
|
||||
|
||||
|
||||
createExportTask: () => {
|
||||
return postRequest('/address/createExportTask', {});
|
||||
},
|
||||
|
||||
getExportProgress: (taskId: string) => {
|
||||
return getRequest(`/address/progress/${taskId}`, {});
|
||||
},
|
||||
|
||||
/**
|
||||
* 导出 @author hj
|
||||
*/
|
||||
exportAddress: (taskId: string,signal?: AbortSignal) => {
|
||||
return getDownload2(`/address/exportAddress/${taskId}`, {},signal);
|
||||
exportAddress: (taskId: string, param: any, signal?: AbortSignal) => {
|
||||
return postDownload2(`/address/exportAddress/${taskId}`, param, signal);
|
||||
}
|
||||
|
||||
};
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
* @Date: 2024-11-25 17:08:18
|
||||
* @Copyright 友仓
|
||||
*/
|
||||
import {postRequest, getRequest, getDownload2} from '/@/lib/axios';
|
||||
import {postRequest, getRequest, postDownload2} from '/@/lib/axios';
|
||||
|
||||
export const itemApi = {
|
||||
|
||||
|
|
@ -62,8 +62,7 @@ export const itemApi = {
|
|||
/**
|
||||
* 导出 @author hj
|
||||
*/
|
||||
exportItems: (taskId: string,signal?: AbortSignal) => {
|
||||
return getDownload2(`/item/exportItems/${taskId}`,{},signal);
|
||||
exportItems: (taskId: string, param: any, signal?: AbortSignal) => {
|
||||
return postDownload2(`/item/exportItems/${taskId}`, param, signal);
|
||||
},
|
||||
|
||||
};
|
||||
|
|
|
|||
|
|
@ -0,0 +1,14 @@
|
|||
import {postRequest, getRequest,} from '/@/lib/axios';
|
||||
|
||||
export const exportApi = {
|
||||
|
||||
|
||||
createExportTask: () => {
|
||||
return postRequest('/export/createExportTask', {});
|
||||
},
|
||||
|
||||
getExportProgress: (taskId: string) => {
|
||||
return getRequest(`/export/progress/${taskId}`, {});
|
||||
},
|
||||
|
||||
}
|
||||
|
|
@ -184,6 +184,22 @@ export const postDownload = function (url, data) {
|
|||
});
|
||||
};
|
||||
|
||||
export const postDownload2 = function (url: string, data: any, signal?: AbortSignal) {
|
||||
request({
|
||||
method: 'post',
|
||||
url,
|
||||
data,
|
||||
responseType: 'blob',
|
||||
signal
|
||||
})
|
||||
.then((data) => {
|
||||
handleDownloadData(data);
|
||||
})
|
||||
.catch((error) => {
|
||||
handleDownloadError(error);
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 文件下载
|
||||
*/
|
||||
|
|
@ -201,23 +217,6 @@ export const getDownload = function (url, params) {
|
|||
handleDownloadError(error);
|
||||
});
|
||||
};
|
||||
|
||||
export const getDownload2 = function (url: string, params: any, signal?: AbortSignal) {
|
||||
request({
|
||||
method: 'get',
|
||||
url,
|
||||
params,
|
||||
responseType: 'blob',
|
||||
signal // 注入取消信号
|
||||
})
|
||||
.then((data) => {
|
||||
handleDownloadData(data);
|
||||
})
|
||||
.catch((error) => {
|
||||
message.success('取消成功');
|
||||
});
|
||||
};
|
||||
|
||||
function handleDownloadError(error) {
|
||||
if (error instanceof Blob) {
|
||||
const fileReader = new FileReader();
|
||||
|
|
|
|||
|
|
@ -197,6 +197,7 @@ import {message, Modal, UploadFile} from 'ant-design-vue';
|
|||
import {LoadingOutlined} from '@ant-design/icons-vue';
|
||||
import {SmartLoading} from '/@/components/framework/smart-loading';
|
||||
import {addressApi} from '/@/api/business/wms/base/address/address-api';
|
||||
import {exportApi} from '/@/api/business/wms/export/export-api'
|
||||
import {PAGE_SIZE_OPTIONS} from '/@/constants/common-const';
|
||||
import {smartSentry} from '/@/lib/smart-sentry';
|
||||
import TableOperator from '/@/components/support/table-operator/index.vue';
|
||||
|
|
@ -462,12 +463,12 @@ const onExportAddress = async () => {
|
|||
resetProgressState(); // 重置进度状态
|
||||
|
||||
// 创建导出任务
|
||||
const {data: taskId} = await addressApi.createExportTask();
|
||||
const {data: taskId} = await exportApi.createExportTask();
|
||||
currentTaskId.value = taskId;
|
||||
|
||||
// 发起导出请求
|
||||
try {
|
||||
addressApi.exportAddress(taskId, abortController.value.signal)
|
||||
addressApi.exportAddress(taskId, queryForm, abortController.value.signal)
|
||||
} catch (error) {
|
||||
handleExportError();
|
||||
}
|
||||
|
|
@ -480,7 +481,11 @@ const onExportAddress = async () => {
|
|||
// 启动轮询
|
||||
timerId.value = setInterval(async () => {
|
||||
try {
|
||||
const {data: progress} = await addressApi.getExportProgress(currentTaskId.value);
|
||||
const {data: progress} = await exportApi.getExportProgress(currentTaskId.value);
|
||||
|
||||
if (progress == -1) {
|
||||
handleExportError();
|
||||
}
|
||||
|
||||
progressPercent.value = progress;
|
||||
|
||||
|
|
|
|||
|
|
@ -204,6 +204,7 @@ import {reactive, ref, onMounted} from 'vue';
|
|||
import {message, Modal} from 'ant-design-vue';
|
||||
import {SmartLoading} from '/@/components/framework/smart-loading';
|
||||
import {itemApi} from '/@/api/business/wms/base/item/item-api.js';
|
||||
import {exportApi} from '/@/api/business/wms/export/export-api'
|
||||
import {PAGE_SIZE_OPTIONS} from '/@/constants/common-const';
|
||||
import {smartSentry} from '/@/lib/smart-sentry';
|
||||
import TableOperator from '/@/components/support/table-operator/index.vue';
|
||||
|
|
@ -213,7 +214,6 @@ import ItemSelect from "/@/views/business/wms/base/item/item-select.vue";
|
|||
import {UploadFile} from 'ant-design-vue';
|
||||
import {fileApi} from "/@/api/support/file-api";
|
||||
import DictLabel from "/@/components/support/dict-label/index.vue";
|
||||
import {addressApi} from "/@/api/business/wms/base/address/address-api";
|
||||
import {LoadingOutlined} from "@ant-design/icons-vue";
|
||||
// ---------------------------- 表格列 ----------------------------
|
||||
let columns = ref([
|
||||
|
|
@ -517,12 +517,12 @@ const onExportItems = async () => {
|
|||
resetProgressState(); // 重置进度状态
|
||||
|
||||
// 创建导出任务
|
||||
const {data: taskId} = await addressApi.createExportTask();
|
||||
const {data: taskId} = await exportApi.createExportTask();
|
||||
currentTaskId.value = taskId;
|
||||
|
||||
// 发起导出请求
|
||||
try {
|
||||
itemApi.exportItems(taskId, abortController.value.signal)
|
||||
itemApi.exportItems(taskId, queryForm, abortController.value.signal)
|
||||
} catch (error) {
|
||||
handleExportError();
|
||||
}
|
||||
|
|
@ -535,7 +535,11 @@ const onExportItems = async () => {
|
|||
// 启动轮询
|
||||
timerId.value = setInterval(async () => {
|
||||
try {
|
||||
const {data: progress} = await addressApi.getExportProgress(currentTaskId.value);
|
||||
const {data: progress} = await exportApi.getExportProgress(currentTaskId.value);
|
||||
|
||||
if (progress == -1) {
|
||||
handleExportError();
|
||||
}
|
||||
|
||||
progressPercent.value = progress;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue