| | |
| | | |
| | | import { useVbenModal } from '@vben/common-ui'; |
| | | |
| | | import { Button, message, Tag } from 'ant-design-vue'; |
| | | import { Button, message, Modal as AntModal, Tag } from 'ant-design-vue'; |
| | | |
| | | import { batchCreateFeedback } from '#/api/mes/pro/feedback'; |
| | | import ProTaskSelectDialog from '#/views/mes/pro/task/components/select-dialog.vue'; |
| | |
| | | remark: formData.value.remark || undefined, |
| | | }); |
| | | if (result.failCount) { |
| | | message.warning( |
| | | `批量报工完成:成功 ${result.successCount} 个,失败 ${result.failCount} 个`, |
| | | ); |
| | | } else { |
| | | message.success(`批量报工成功,共 ${result.successCount} 个`); |
| | | const failures = (result.results ?? []).filter((row) => !row.success); |
| | | const names = new Map(selectedTasks.value.map((task) => [task.id, task.code])); |
| | | AntModal.warning({ |
| | | title: `成功 ${result.successCount} 个,失败 ${result.failCount} 个`, |
| | | content: failures.map((row) => `${names.get(row.taskId) ?? row.taskId}:${row.errorMsg ?? '报工失败'}`).join(';'), |
| | | }); |
| | | const failedIds = new Set(failures.map((row) => row.taskId)); |
| | | selectedTasks.value = selectedTasks.value.filter((task) => failedIds.has(task.id!)); |
| | | emit('success'); |
| | | return; |
| | | } |
| | | message.success(`批量报工成功,共 ${result.successCount} 个`); |
| | | modalApi.close(); |
| | | emit('success'); |
| | | } finally { |