diff --git a/src/utils/dict.ts b/src/utils/dict.ts
index 9274bb68a..70f1eb5f9 100644
--- a/src/utils/dict.ts
+++ b/src/utils/dict.ts
@@ -253,6 +253,7 @@ export enum DICT_TYPE {
IOT_MODBUS_FRAME_FORMAT = 'iot_modbus_frame_format', // IoT Modbus 帧格式
// ========== MES - 制造执行系统模块 ==========
+ MES_MD_ITEM_OR_PRODUCT = 'mes_md_item_or_product', // MES 物料产品标识
MES_CLIENT_TYPE = 'mes_client_type', // MES 客户类型
MES_VENDOR_LEVEL = 'mes_vendor_level', // MES 供应商级别
MES_CAL_HOLIDAY_TYPE = 'mes_cal_holiday_type', // MES 假期类型
diff --git a/src/views/mes/pro/workorder/WorkOrderBomList.vue b/src/views/mes/pro/workorder/WorkOrderBomList.vue
index 4fc059fe7..32dbf859c 100644
--- a/src/views/mes/pro/workorder/WorkOrderBomList.vue
+++ b/src/views/mes/pro/workorder/WorkOrderBomList.vue
@@ -7,21 +7,35 @@
+
+
+
+
+
-
+
-
编辑
-
+
import { ProWorkOrderBomApi, ProWorkOrderBomVO } from '@/api/mes/pro/workorder/bom'
import { MesProWorkOrderStatusEnum, MesProWorkOrderTypeEnum } from '@/views/mes/utils/constants'
+import { DICT_TYPE } from '@/utils/dict'
defineOptions({ name: 'WorkOrderBomList' })
@@ -116,7 +131,6 @@ const getBomList = async () => {
}
/** 生成工单(通知父组件) */
-// todo @芋艿:后续在测试下该逻辑;
const handleGenerateWorkOrder = (row: any) => {
emit('generate-work-order', row)
}
@@ -130,9 +144,6 @@ const formData = ref({
id: undefined as number | undefined,
workOrderId: undefined as number | undefined,
itemId: undefined as number | undefined,
- itemName: undefined as string | undefined,
- unitMeasureId: undefined as number | undefined,
- unitMeasureName: undefined as string | undefined,
quantity: undefined as number | undefined,
remark: undefined as string | undefined
})
@@ -140,20 +151,24 @@ const formRules = reactive({
quantity: [{ required: true, message: '预计使用量不能为空', trigger: 'blur' }]
})
+/** 重置表单 */
+const resetForm = () => {
+ formData.value = {
+ id: undefined,
+ workOrderId: undefined,
+ itemId: undefined,
+ quantity: undefined,
+ remark: undefined
+ }
+ formRef.value?.resetFields()
+}
+
/** 打开 BOM 编辑弹窗 */
-const openBomForm = (_type: string, row: any) => {
+const openForm = (_type: string, row: any) => {
+ resetForm()
dialogVisible.value = true
dialogTitle.value = '编辑 BOM 物料'
- formData.value = {
- id: row.id,
- workOrderId: row.workOrderId,
- itemId: row.itemId,
- itemName: row.itemName,
- unitMeasureId: row.unitMeasureId,
- unitMeasureName: row.unitMeasureName,
- quantity: row.quantity,
- remark: row.remark
- }
+ formData.value = { ...row }
}
/** 提交表单 */
@@ -161,14 +176,7 @@ const submitForm = async () => {
await formRef.value.validate()
formLoading.value = true
try {
- const data = {
- id: formData.value.id,
- workOrderId: formData.value.workOrderId,
- itemId: formData.value.itemId,
- unitMeasureId: formData.value.unitMeasureId,
- quantity: formData.value.quantity,
- remark: formData.value.remark
- } as unknown as ProWorkOrderBomVO
+ const data = formData.value as unknown as ProWorkOrderBomVO
await ProWorkOrderBomApi.updateWorkOrderBom(data)
message.success(t('common.updateSuccess'))
dialogVisible.value = false
diff --git a/src/views/mes/pro/workorder/WorkOrderItemList.vue b/src/views/mes/pro/workorder/WorkOrderItemList.vue
index fd63b015a..7a439d056 100644
--- a/src/views/mes/pro/workorder/WorkOrderItemList.vue
+++ b/src/views/mes/pro/workorder/WorkOrderItemList.vue
@@ -1,6 +1,6 @@
-
+
@@ -18,19 +18,21 @@ const props = defineProps<{
workOrderId: number
}>()
-const loading = ref(false)
-const itemList = ref([])
+const loading = ref(false) // 列表的加载中
+const list = ref([]) // 列表的数据
/** 查询物料需求列表 */
const getList = async () => {
loading.value = true
try {
- itemList.value = await ProWorkOrderBomApi.getWorkOrderBomItemListByWorkOrderId(props.workOrderId)
+ list.value = await ProWorkOrderBomApi.getWorkOrderBomItemListByWorkOrderId(props.workOrderId)
} finally {
loading.value = false
}
}
/** 初始化 */
-onMounted(() => getList())
+onMounted(() => {
+ getList()
+})
diff --git a/src/views/mes/pro/workorder/WorkorderForm.vue b/src/views/mes/pro/workorder/WorkorderForm.vue
index d509e45cb..cbaefafbf 100644
--- a/src/views/mes/pro/workorder/WorkorderForm.vue
+++ b/src/views/mes/pro/workorder/WorkorderForm.vue
@@ -279,6 +279,9 @@ const handleGenerateWorkOrder = (bomRow: any) => {
formData.value.requestDate = currentWorkOrder.requestDate
formData.value.productId = bomRow.itemId
formData.value.quantity = bomRow.quantity
+ formData.value.name = `${bomRow.itemName}【${bomRow.quantity}】${bomRow.unitMeasureName || ''}`
+ // 提示用户
+ message.info('已从 BOM 物料预填子工单,请补充工单编码等信息后保存')
}
defineExpose({ open }) // 提供 open 方法,用于打开弹窗