From 4b1db07af07aee92730a41c75c2f4ecb518c9791 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Tue, 3 Mar 2026 22:52:47 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(mes):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=A4=96=E5=8D=8F=E5=85=A5=E5=BA=93=E6=98=8E=E7=BB=86=E7=9A=84?= =?UTF-8?q?=E5=A2=9E=E5=88=A0=E6=94=B9=E6=9F=A5=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 实现外协入库明细的创建、更新、删除和查询功能,增强系统对外协入库明细的管理能力。新增相关的请求和响应 VO,确保数据的有效性和完整性。 --- src/api/mes/wm/outsourcereceipt/index.ts | 6 ++--- src/utils/dict.ts | 1 + .../outsourcereceipt/OutsourceReceiptForm.vue | 21 +++++++++++++++- .../OutsourceReceiptLineList.vue | 24 ++++++++++++++++--- src/views/mes/wm/outsourcereceipt/index.vue | 14 ++++------- 5 files changed, 50 insertions(+), 16 deletions(-) diff --git a/src/api/mes/wm/outsourcereceipt/index.ts b/src/api/mes/wm/outsourcereceipt/index.ts index 83a457b66..8d087b119 100644 --- a/src/api/mes/wm/outsourcereceipt/index.ts +++ b/src/api/mes/wm/outsourcereceipt/index.ts @@ -71,9 +71,9 @@ export const WmOutsourceReceiptApi = { return await request.put({ url: '/mes/wm/outsource-receipt/submit?id=' + id }) }, - // 审批委外收货单 - approveOutsourceReceipt: async (id: number) => { - return await request.put({ url: '/mes/wm/outsource-receipt/approve?id=' + id }) + // 入库上架 + stockOutsourceReceipt: async (id: number) => { + return await request.put({ url: '/mes/wm/outsource-receipt/stock?id=' + id }) }, // 完成委外收货单 diff --git a/src/utils/dict.ts b/src/utils/dict.ts index c24e1596f..1ead8d7a5 100644 --- a/src/utils/dict.ts +++ b/src/utils/dict.ts @@ -307,4 +307,5 @@ export enum DICT_TYPE { MES_SALES_NOTICE_STATUS = 'mes_sales_notice_status', // MES 发货通知单状态 MES_WM_MISC_ISSUE_TYPE = 'mes_wm_misc_issue_type', // MES 杂项单类型 MES_WM_MISC_RECEIPT_TYPE = 'mes_wm_misc_receipt_type', // MES 杂项单类型 + MES_WM_OUTSOURCE_RECEIPT_STATUS = 'mes_wm_outsource_receipt_status', // MES 外协入库单状态 } diff --git a/src/views/mes/wm/outsourcereceipt/OutsourceReceiptForm.vue b/src/views/mes/wm/outsourcereceipt/OutsourceReceiptForm.vue index 83a87a50a..3d9d18f8c 100644 --- a/src/views/mes/wm/outsourcereceipt/OutsourceReceiptForm.vue +++ b/src/views/mes/wm/outsourcereceipt/OutsourceReceiptForm.vue @@ -80,6 +80,9 @@ 确 定 + + 入库上架 + 取 消 @@ -117,11 +120,13 @@ const formRules = reactive({ const formRef = ref() const isUpdate = computed(() => ['create', 'update'].includes(formType.value)) -const isHeaderReadonly = computed(() => ['detail'].includes(formType.value)) +const isHeaderReadonly = computed(() => ['stock', 'detail'].includes(formType.value)) +const isStock = computed(() => formType.value === 'stock') const dialogTitle = computed(() => { const titles = { create: '新增外协入库单', update: '编辑外协入库单', + stock: '入库上架', detail: '外协入库单详情' } return titles[formType.value] || formType.value @@ -170,6 +175,20 @@ const submitForm = async () => { } } +/** 入库上架 */ +const handleStock = async () => { + try { + formLoading.value = true + await WmOutsourceReceiptApi.stockOutsourceReceipt(formData.value.id!) + message.success('入库上架成功') + dialogVisible.value = false + emit('success') + } catch { + } finally { + formLoading.value = false + } +} + /** 重置表单 */ const resetForm = () => { formData.value = { diff --git a/src/views/mes/wm/outsourcereceipt/OutsourceReceiptLineList.vue b/src/views/mes/wm/outsourcereceipt/OutsourceReceiptLineList.vue index bbf673857..2a7045d32 100644 --- a/src/views/mes/wm/outsourcereceipt/OutsourceReceiptLineList.vue +++ b/src/views/mes/wm/outsourcereceipt/OutsourceReceiptLineList.vue @@ -43,12 +43,23 @@ - + @@ -172,6 +183,7 @@ const { t } = useI18n() const message = useMessage() const isUpdate = computed(() => ['create', 'update'].includes(props.formType)) +const isStock = computed(() => props.formType === 'stock') // ==================== 列表 ==================== const loading = ref(false) @@ -298,6 +310,12 @@ const setDetailListRef = (lineId: number, el: any) => { // ==================== 入库明细表单 ==================== const detailFormRef = ref() +/** 上架:直接打开明细创建表单 */ +const handlePicking = (lineId: number) => { + const row = list.value.find((r) => r.id === lineId) + openDetailForm('create', lineId, row?.itemId) +} + /** 打开入库明细表单 */ const openDetailForm = (type: string, lineId: number, itemId?: number, detailId?: number) => { detailFormRef.value.open(type, lineId, itemId, detailId) diff --git a/src/views/mes/wm/outsourcereceipt/index.vue b/src/views/mes/wm/outsourcereceipt/index.vue index 7bee6ee8d..743aac239 100644 --- a/src/views/mes/wm/outsourcereceipt/index.vue +++ b/src/views/mes/wm/outsourcereceipt/index.vue @@ -67,7 +67,6 @@ - @@ -113,19 +111,17 @@ > 删除 - - + - 审批 + 执行上架 - - + - 完成 + 执行退料