diff --git a/src/views/mes/md/item/components/MdProductBomSelect.vue b/src/views/mes/md/item/components/MdProductBomSelect.vue new file mode 100644 index 000000000..7faab73ab --- /dev/null +++ b/src/views/mes/md/item/components/MdProductBomSelect.vue @@ -0,0 +1,183 @@ + + + + + + diff --git a/src/views/mes/md/item/components/MdProductBomSelectDialog.vue b/src/views/mes/md/item/components/MdProductBomSelectDialog.vue new file mode 100644 index 000000000..969085c66 --- /dev/null +++ b/src/views/mes/md/item/components/MdProductBomSelectDialog.vue @@ -0,0 +1,143 @@ + + + + + + diff --git a/src/views/mes/pro/route/RouteProductBomList.vue b/src/views/mes/pro/route/RouteProductBomList.vue index 629e8d9cf..5d15b511c 100644 --- a/src/views/mes/pro/route/RouteProductBomList.vue +++ b/src/views/mes/pro/route/RouteProductBomList.vue @@ -35,7 +35,12 @@ - + import { ProRouteProductBomApi, ProRouteProductBomVO } from '@/api/mes/pro/route/productbom' import { ProRouteProcessApi } from '@/api/mes/pro/route/process' -import MdItemSelect from '@/views/mes/md/item/components/MdItemSelect.vue' +import MdProductBomSelect from '@/views/mes/md/item/components/MdProductBomSelect.vue' +import { MdProductBomVO } from '@/api/mes/md/item/productBom' defineOptions({ name: 'RouteProductBomList' }) @@ -139,6 +145,13 @@ const openForm = (type: string, row?: ProRouteProductBomVO) => { formRef.value?.resetFields() } +/** BOM 物料选中变化:自动回填用量比例 */ +const handleBomItemChange = (bom: MdProductBomVO | undefined) => { + if (bom) { + formData.value.quantity = bom.quantity ?? 1 + } +} + /** 提交表单 */ const submitForm = async () => { const valid = await formRef.value.validate() diff --git a/src/views/mes/pro/workorder/WorkOrderBomList.vue b/src/views/mes/pro/workorder/WorkOrderBomList.vue index 1a8642723..9639776a4 100644 --- a/src/views/mes/pro/workorder/WorkOrderBomList.vue +++ b/src/views/mes/pro/workorder/WorkOrderBomList.vue @@ -67,7 +67,11 @@ v-loading="formLoading" > - + @@ -94,7 +98,8 @@ import { ProWorkOrderBomApi, ProWorkOrderBomVO } from '@/api/mes/pro/workorder/bom' import { MesProWorkOrderStatusEnum, MesProWorkOrderTypeEnum } from '@/views/mes/utils/constants' import { DICT_TYPE } from '@/utils/dict' -import MdItemSelect from '@/views/mes/md/item/components/MdItemSelect.vue' +import MdProductBomSelect from '@/views/mes/md/item/components/MdProductBomSelect.vue' +import { MdProductBomVO } from '@/api/mes/md/item/productBom' defineOptions({ name: 'WorkOrderBomList' }) @@ -188,6 +193,13 @@ const resetForm = () => { formRef.value?.resetFields() } +/** BOM 物料选中变化:自动回填预计使用量 */ +const handleBomItemChange = (bom: MdProductBomVO | undefined) => { + if (bom) { + formData.value.quantity = bom.quantity ?? undefined + } +} + /** 打开 BOM 弹窗 */ const openForm = (type: string, row?: any) => { resetForm()