|
|
|
|
@ -9,15 +9,14 @@
|
|
|
|
|
>
|
|
|
|
|
<el-table :data="formData" class="-mt-10px">
|
|
|
|
|
<el-table-column label="序号" type="index" width="100" />
|
|
|
|
|
<el-table-column label="产品" min-width="150">
|
|
|
|
|
<el-table-column label="原料" min-width="150">
|
|
|
|
|
<template #default="{ row, $index }">
|
|
|
|
|
<el-form-item :prop="`${$index}.productId`" :rules="formRules.productId" class="mb-0px!">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="row.productId"
|
|
|
|
|
clearable
|
|
|
|
|
filterable
|
|
|
|
|
@change="onChangeProduct($event, row)"
|
|
|
|
|
placeholder="请选择产品"
|
|
|
|
|
placeholder="请选择原料"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in productList"
|
|
|
|
|
@ -54,7 +53,13 @@
|
|
|
|
|
<el-table-column label="损耗率%" min-width="150">
|
|
|
|
|
<template #default="{ row, $index }">
|
|
|
|
|
<el-form-item :prop="`${$index}.yieldRate`" :rules="formRules.yieldRate" class="mb-0px!">
|
|
|
|
|
<el-input v-model="row.yieldRate" placeholder="请输入损耗率%" />
|
|
|
|
|
<el-input-number
|
|
|
|
|
v-model="row.yieldRate"
|
|
|
|
|
:min="0"
|
|
|
|
|
:precision="2"
|
|
|
|
|
class="!w-1/1"
|
|
|
|
|
placeholder="请输入损耗率"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
@ -90,7 +95,7 @@ const props = defineProps<{
|
|
|
|
|
const formLoading = ref(false) // 表单的加载中
|
|
|
|
|
const formData = ref([])
|
|
|
|
|
const formRules = reactive({
|
|
|
|
|
productId: [{ required: true, message: '产品ID不能为空', trigger: 'blur' }],
|
|
|
|
|
productId: [{ required: true, message: '原料不能为空', trigger: 'blur' }],
|
|
|
|
|
bomId: [{ required: true, message: 'BOM 不能为空', trigger: 'blur' }],
|
|
|
|
|
usageNumber: [{ required: true, message: '用量不能为空', trigger: 'blur' }]
|
|
|
|
|
})
|
|
|
|
|
@ -100,7 +105,7 @@ const formRef = ref() // 表单 Ref
|
|
|
|
|
onMounted(async () => {
|
|
|
|
|
// 产品单位
|
|
|
|
|
unitList.value = await ProductUnitApi.getProductUnitSimpleList()
|
|
|
|
|
productList.value = await ProductApi.getProductSimpleList()
|
|
|
|
|
productList.value = await ProductApi.getItemSimpleList()
|
|
|
|
|
// 默认添加一个
|
|
|
|
|
if (formData.value.length === 0) {
|
|
|
|
|
handleAdd()
|
|
|
|
|
@ -141,6 +146,7 @@ const handleAdd = () => {
|
|
|
|
|
isEnable: undefined
|
|
|
|
|
}
|
|
|
|
|
row.bomId = props.bomId
|
|
|
|
|
row.yieldRate = 0
|
|
|
|
|
formData.value.push(row)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -161,13 +167,4 @@ const getData = () => {
|
|
|
|
|
|
|
|
|
|
defineExpose({ validate, getData })
|
|
|
|
|
|
|
|
|
|
/** 处理产品变更 */
|
|
|
|
|
const onChangeProduct = (productId, row) => {
|
|
|
|
|
const product = productList.value.find((item) => item.id === productId)
|
|
|
|
|
if (product) {
|
|
|
|
|
// row.productUnitName = product.unitName
|
|
|
|
|
}
|
|
|
|
|
// // 加载库存
|
|
|
|
|
// setStockCount(row)
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|