From fe6e80271dcc29f51818189f7861af1460819e0a Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sun, 29 Mar 2026 21:57:26 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(mes):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=8C=89=E9=92=AE=E6=93=8D=E4=BD=9C=E5=8F=8A?= =?UTF-8?q?=E8=A1=A8=E5=8D=95=E6=95=B0=E6=8D=AE=E5=A4=84=E7=90=86=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../returnvendor/ReturnVendorDetailForm.vue | 17 +++++++-------- .../returnvendor/ReturnVendorDetailList.vue | 10 ++++----- .../mes/wm/returnvendor/ReturnVendorForm.vue | 11 +++++----- .../wm/returnvendor/ReturnVendorLineList.vue | 2 +- src/views/mes/wm/returnvendor/index.vue | 21 ++++++++++--------- 5 files changed, 30 insertions(+), 31 deletions(-) diff --git a/src/views/mes/wm/returnvendor/ReturnVendorDetailForm.vue b/src/views/mes/wm/returnvendor/ReturnVendorDetailForm.vue index 5e8e9503a..54572c13f 100644 --- a/src/views/mes/wm/returnvendor/ReturnVendorDetailForm.vue +++ b/src/views/mes/wm/returnvendor/ReturnVendorDetailForm.vue @@ -61,15 +61,13 @@ const props = defineProps<{ const emit = defineEmits(['success']) -const { t } = useI18n() // 国际化 -const message = useMessage() // 消息弹窗 +const { t } = useI18n() +const message = useMessage() const dialogVisible = ref(false) // 弹窗的是否展示 const dialogTitle = ref('') // 弹窗的标题 const formLoading = ref(false) // 表单的加载中 const formType = ref('') // 表单的类型:create / update -const currentLineId = ref() // 当前操作的行 ID -const formRef = ref() // 表单 Ref const formData = ref({ id: undefined as number | undefined, lineId: undefined as number | undefined, @@ -88,14 +86,15 @@ const formRules = reactive({ areaId: [{ required: true, message: '库位不能为空', trigger: 'change' }], quantity: [{ required: true, message: '数量不能为空', trigger: 'blur' }] }) +const formRef = ref() // 表单 Ref /** 打开弹窗 */ const open = async (type: string, lineId: number, itemId?: number, detailId?: number) => { dialogVisible.value = true dialogTitle.value = type === 'create' ? '添加拣货明细' : '编辑拣货明细' formType.value = type - currentLineId.value = lineId resetForm() + formData.value.lineId = lineId // 修改时,设置数据 if (detailId) { formLoading.value = true @@ -108,7 +107,6 @@ const open = async (type: string, lineId: number, itemId?: number, detailId?: nu formData.value.itemId = itemId } } -defineExpose({ open }) /** 提交表单 */ const submitForm = async () => { @@ -119,8 +117,7 @@ const submitForm = async () => { try { const data = { ...formData.value, - returnId: props.returnId, - lineId: currentLineId.value + returnId: props.returnId } as unknown as WmReturnVendorDetailVO if (formType.value === 'create') { await WmReturnVendorDetailApi.createReturnVendorDetail(data) @@ -131,7 +128,7 @@ const submitForm = async () => { } dialogVisible.value = false // 发送操作成功的事件 - emit('success', currentLineId.value) + emit('success', formData.value.lineId) } finally { formLoading.value = false } @@ -152,4 +149,6 @@ const resetForm = () => { } formRef.value?.resetFields() } + +defineExpose({ open }) diff --git a/src/views/mes/wm/returnvendor/ReturnVendorDetailList.vue b/src/views/mes/wm/returnvendor/ReturnVendorDetailList.vue index 58d5244ed..cd47523cf 100644 --- a/src/views/mes/wm/returnvendor/ReturnVendorDetailList.vue +++ b/src/views/mes/wm/returnvendor/ReturnVendorDetailList.vue @@ -8,7 +8,7 @@ props.formType === 'stock') // 是否为拣货模式 const loading = ref(false) // 列表的加载中 const list = ref([]) // 明细列表 @@ -57,7 +58,6 @@ const getList = async () => { loading.value = false } } -defineExpose({ getList }) /** 删除拣货明细 */ const handleDelete = async (detailId: number) => { @@ -69,8 +69,8 @@ const handleDelete = async (detailId: number) => { } catch {} } -/** 初始化:延迟加载,展开时才触发 */ onMounted(() => { getList() }) +defineExpose({ getList }) diff --git a/src/views/mes/wm/returnvendor/ReturnVendorForm.vue b/src/views/mes/wm/returnvendor/ReturnVendorForm.vue index 245d38456..18d7f6b52 100644 --- a/src/views/mes/wm/returnvendor/ReturnVendorForm.vue +++ b/src/views/mes/wm/returnvendor/ReturnVendorForm.vue @@ -107,7 +107,7 @@ 保 存 ('create') // 表单的类型:create / update / stock / finish / detail @@ -157,9 +156,9 @@ const dialogTitle = computed(() => { }) const formData = ref({ id: undefined as number | undefined, - status: undefined as number | undefined, code: undefined, name: undefined, + status: undefined as number | undefined, purchaseOrderCode: undefined, vendorId: undefined, returnDate: undefined, @@ -189,7 +188,7 @@ const open = async (type: string, id?: number) => { dialogVisible.value = true formType.value = type resetForm() - // 修改/提交/拣货/完成/详情时,加载数据 + // 修改/拣货/完成/详情时,加载数据 if (id) { formLoading.value = true try { @@ -202,7 +201,7 @@ const open = async (type: string, id?: number) => { originalFormData.value = JSON.stringify(formData.value) } -/** 保存表单(create/update 模式) */ +/** 提交表单(create/update 模式) */ const submitForm = async () => { // 校验表单 await formRef.value.validate() @@ -291,9 +290,9 @@ const handleFinish = async () => { const resetForm = () => { formData.value = { id: undefined, - status: undefined, code: undefined, name: undefined, + status: undefined, purchaseOrderCode: undefined, vendorId: undefined, returnDate: undefined, diff --git a/src/views/mes/wm/returnvendor/ReturnVendorLineList.vue b/src/views/mes/wm/returnvendor/ReturnVendorLineList.vue index 3d4cdf171..9a2fb2fd2 100644 --- a/src/views/mes/wm/returnvendor/ReturnVendorLineList.vue +++ b/src/views/mes/wm/returnvendor/ReturnVendorLineList.vue @@ -159,7 +159,7 @@ const getList = async () => { } } -/** 删除 */ +/** 删除按钮操作 */ const handleDelete = async (id: number) => { try { await message.delConfirm() diff --git a/src/views/mes/wm/returnvendor/index.vue b/src/views/mes/wm/returnvendor/index.vue index 4d778b19f..f9c2d3bbc 100644 --- a/src/views/mes/wm/returnvendor/index.vue +++ b/src/views/mes/wm/returnvendor/index.vue @@ -213,16 +213,6 @@ const openForm = (type: string, id?: number) => { formRef.value.open(type, id) } -/** 删除按钮操作 */ -const handleDelete = async (id: number) => { - try { - await message.delConfirm() - await WmReturnVendorApi.deleteReturnVendor(id) - message.success(t('common.delSuccess')) - await getList() - } catch {} -} - /** 取消按钮操作 */ const handleCancel = async (id: number) => { try { @@ -233,6 +223,16 @@ const handleCancel = async (id: number) => { } catch {} } +/** 删除按钮操作 */ +const handleDelete = async (id: number) => { + try { + await message.delConfirm() + await WmReturnVendorApi.deleteReturnVendor(id) + message.success(t('common.delSuccess')) + await getList() + } catch {} +} + /** 导出按钮操作 */ const handleExport = async () => { try { @@ -246,6 +246,7 @@ const handleExport = async () => { } } +/** 初始化 */ onMounted(() => { getList() })