From e026c00a85100baa064f48e52c227fa396a3b099 Mon Sep 17 00:00:00 2001 From: yueli Date: Mon, 31 Aug 2026 14:38:51 +0800 Subject: [PATCH] =?UTF-8?q?refactor(outbound):=20=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E6=89=AB=E7=A0=81=E5=87=BA=E5=BA=93=E9=A1=B5=E7=9A=84=E5=BC=BA?= =?UTF-8?q?=E5=88=B6=E5=AE=8C=E7=BB=93=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 删除 create.vue 中「强制完结此单」按钮及对应逻辑 - 完结功能保留在出库审批列表页(approval/index.vue) - 出库执行页聚焦扫码作业 --- inventory-web/src/views/outbound/create.vue | 40 +-------------------- 1 file changed, 1 insertion(+), 39 deletions(-) diff --git a/inventory-web/src/views/outbound/create.vue b/inventory-web/src/views/outbound/create.vue index 77e6c10..8976842 100644 --- a/inventory-web/src/views/outbound/create.vue +++ b/inventory-web/src/views/outbound/create.vue @@ -46,12 +46,6 @@

仅显示已通过(status=1)的审批单

-
- - 强制完结此单 - - 作废后该单将从下拉列表移除,出库记录将无法关联此单 -
@@ -304,7 +298,7 @@ import { ref, reactive, nextTick, onUnmounted, onMounted, computed } from 'vue' import { ElMessage, ElMessageBox } from 'element-plus' import { Scissor, EditPen, Delete, CameraFilled, Close, Refresh, Select } from '@element-plus/icons-vue' import QrScanner from '@/components/QrScanner/index.vue' -import { getStockByBarcode, submitOutbound, getOutboundList, getApprovalRequestList, closeRequest } from '@/api/outbound' +import { getStockByBarcode, submitOutbound, getOutboundList, getApprovalRequestList } from '@/api/outbound' import { uploadFile } from '@/api/common/upload' import { useUserStore } from '@/stores/user' @@ -323,7 +317,6 @@ const formRef = ref() const approvalRequests = ref([]) const selectedRequest = ref(null) const requestsLoading = ref(false) -const closingRequest = ref(false) // 签名相关 const showSignatureDialog = ref(false) @@ -412,37 +405,6 @@ const handleRequestChange = (val: number | null) => { signaturePreviewUrl.value = '' } -// ★ 强制完结当前选中的申请单(作废,状态 1-已通过 → 4-已完结) -const handleCloseRequest = async () => { - if (!selectedRequest.value) return ElMessage.warning('请先选择要完结的审批单') - const req = selectedRequest.value - - try { - await ElMessageBox.confirm( - `确定强制完结审批单【${req.request_no}】吗?\n\n` + - `此操作将使该单从「已通过」列表中移除,且不可恢复。\n` + - `若该单已部分出库,请确认无需再关联此单。`, - '⚠️ 强制完结确认', - { confirmButtonText: '确认完结', cancelButtonText: '取消', type: 'warning' } - ) - } catch (e) { - return // 用户取消 - } - - closingRequest.value = true - try { - await closeRequest(req.id) - ElMessage.success(`审批单 ${req.request_no} 已完结`) - // 完结后刷新列表并清空当前选择 - selectedRequest.value = null - await loadApprovalRequests() - } catch (err: any) { - ElMessage.error(err?.msg || err?.message || '完结失败') - } finally { - closingRequest.value = false - } -} - // ★ 按单出库模式:校验扫码是否在计划内 const validateAgainstPlan = (scannedName: string, scannedSpec: string, scannedQty: number): string | null => { const normalizedName = scannedName.trim()