修复业务模块bug
This commit is contained in:
@@ -521,6 +521,8 @@ const openUpload = async row => {
|
||||
}
|
||||
};
|
||||
const clearFile = () => Object.assign(editing, { fileName: '', fileUrl: '', fileTaskId: '' });
|
||||
const isCurrentUploadTask = taskId =>
|
||||
taskId && activeUploadTaskId.value && String(taskId) === String(activeUploadTaskId.value);
|
||||
const stopCurrentUpload = async taskId => {
|
||||
// 先使整个上传会话失效,阻止 MD5 计算、创建任务等异步流程返回后继续上传。
|
||||
uploadCancelled.value = true;
|
||||
@@ -529,7 +531,13 @@ const stopCurrentUpload = async taskId => {
|
||||
const currentTaskId = taskId || activeUploadTaskId.value || editing.fileTaskId;
|
||||
if (!currentTaskId) return;
|
||||
cancelledTaskIds.value.add(String(currentTaskId));
|
||||
if (isCurrentUploadTask(currentTaskId)) {
|
||||
uploading.value = false;
|
||||
activeUploadTaskId.value = undefined;
|
||||
}
|
||||
try {
|
||||
const taskRes = await api.getFileTask(currentTaskId);
|
||||
if (taskRes.data?.data?.status === 'completed') return;
|
||||
await api.pauseFileTask([currentTaskId]);
|
||||
} catch (error) {
|
||||
ElMessage.error(error.message || '暂停上传失败');
|
||||
@@ -740,7 +748,7 @@ const loadBatches = async () => {
|
||||
createTimeEnd: batchCreateRange.value?.[1] ? `${batchCreateRange.value[1]} 23:59:59` : '',
|
||||
});
|
||||
const data = res.data?.data || {};
|
||||
batchRows.value = (data.records || []).map(item => ({ ...item, id: item.waybillIds }));
|
||||
batchRows.value = data.records || [];
|
||||
batchPage.total = data.total || 0;
|
||||
};
|
||||
const resetBatchQuery = () => {
|
||||
@@ -755,27 +763,18 @@ const confirmBatches = () => {
|
||||
if (!batches.has(item.batchNo)) batches.set(item.batchNo, item);
|
||||
});
|
||||
selectedBatches.value = [...batches.values()];
|
||||
editing.waybillImportBatchIds = selectedBatches.value.flatMap(item =>
|
||||
String(item.waybillIds || item.id)
|
||||
.split(',')
|
||||
.filter(Boolean)
|
||||
);
|
||||
editing.waybillImportBatchIds = selectedBatches.value.map(item => item.id);
|
||||
batchVisible.value = false;
|
||||
};
|
||||
const removeBatch = row => {
|
||||
selectedBatches.value = selectedBatches.value.filter(item => item.id !== row.id);
|
||||
editing.waybillImportBatchIds = selectedBatches.value.flatMap(item =>
|
||||
String(item.waybillIds || item.id)
|
||||
.split(',')
|
||||
.filter(Boolean)
|
||||
);
|
||||
editing.waybillImportBatchIds = selectedBatches.value.map(item => item.id);
|
||||
};
|
||||
const submitUpload = async () => {
|
||||
saving.value = true;
|
||||
try {
|
||||
if (uploading.value && editing.fileTaskId) {
|
||||
await api.pauseFileTask([editing.fileTaskId]);
|
||||
uploadAbortController.value?.abort();
|
||||
await stopCurrentUpload(editing.fileTaskId);
|
||||
}
|
||||
const valid = await uploadFormRef.value.validate().catch(() => false);
|
||||
if (!valid) return;
|
||||
@@ -785,11 +784,7 @@ const submitUpload = async () => {
|
||||
}
|
||||
await api.submit({
|
||||
...editing,
|
||||
waybillImportBatchIds: selectedBatches.value.flatMap(item =>
|
||||
String(item.waybillIds || item.id)
|
||||
.split(',')
|
||||
.filter(Boolean)
|
||||
),
|
||||
waybillImportBatchIds: selectedBatches.value.map(item => item.id),
|
||||
});
|
||||
ElMessage.success('提交成功');
|
||||
await closeUploadDialog();
|
||||
@@ -826,7 +821,13 @@ const taskStatusName = status =>
|
||||
const formatSize = size =>
|
||||
size >= 1024 ** 3 ? `${(size / 1024 ** 3).toFixed(1)}G` : `${(size / 1024 ** 2).toFixed(1)}M`;
|
||||
const pauseTask = async row => {
|
||||
await api.pauseFileTask([row.id]);
|
||||
if (row.status === 'completed') return;
|
||||
if (isCurrentUploadTask(row.id)) {
|
||||
await stopCurrentUpload(row.id);
|
||||
} else {
|
||||
await api.pauseFileTask([row.id]);
|
||||
cancelledTaskIds.value.add(String(row.id));
|
||||
}
|
||||
ElMessage.success('已取消上传');
|
||||
loadProgress();
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user