产品和原材料配置BOM

This commit is contained in:
砂糖
2025-07-29 15:00:15 +08:00
parent b0a7a76518
commit 3b81c26db7
20 changed files with 866 additions and 256 deletions

View File

@@ -136,7 +136,8 @@
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-info" @click="showParamDetail(scope.row)">参数详情</el-button>
<!-- <el-button size="mini" type="text" icon="el-icon-info" @click="showParamDetail(scope.row)">参数详情</el-button> -->
<el-button size="mini" type="text" icon="el-icon-plus" @click="handleBom(scope.row)">BOM</el-button>
<el-button
size="mini"
type="text"
@@ -279,6 +280,10 @@
<!-- 其它参数可继续追加 -->
</el-descriptions>
</el-dialog>
<el-dialog title="BOM" @close="bomDialogVisible = false" :visible.sync="bomDialogVisible" width="900px" append-to-body>
<BomPanel :id="bomId" type="raw_material" @addBom="handleAddBom" :itemId="itemId" />
</el-dialog>
</div>
</template>
@@ -286,12 +291,14 @@
import { listRawMaterial, getRawMaterial, delRawMaterial, addRawMaterial, updateRawMaterial } from "@/api/wms/rawMaterial";
import CategorySelect from "@/components/KLPService/CategorySelect/index.vue";
import CategoryRenderer from '@/components/KLPService/Renderer/CategoryRenderer.vue';
import BomPanel from '@/views/wms/bom/components/BomPanel.vue';
export default {
name: "RawMaterial",
components: {
CategorySelect,
CategoryRenderer
CategoryRenderer,
BomPanel
},
dicts: ['common_swicth'],
data() {
@@ -354,54 +361,15 @@ export default {
rawMaterialName: [
{ required: true, message: "原材料名称不能为空", trigger: "blur" }
],
steelGrade: [
{ required: true, message: "钢种/牌号不能为空", trigger: "blur" }
],
targetColdGrade: [
{ required: true, message: "目标冷轧牌号不能为空", trigger: "blur" }
],
baseMaterialId: [
{ required: true, message: "基础材质分类不能为空", trigger: "blur" }
],
surfaceTreatmentId: [
{ required: true, message: "表面处理分类不能为空", trigger: "blur" }
],
thickness: [
{ required: true, message: "厚度不能为空", trigger: "blur" }
],
thicknessDeviation: [
{ required: true, message: "厚度偏差不能为空", trigger: "blur" }
],
width: [
{ required: true, message: "宽度不能为空", trigger: "blur" }
],
targetColdWidth: [
{ required: true, message: "目标冷轧宽度不能为空", trigger: "blur" }
],
targetColdThickness: [
{ required: true, message: "目标冷轧厚度不能为空", trigger: "blur" }
],
crown: [
{ required: true, message: "凸度不能为空", trigger: "blur" }
],
coilWeight: [
{ required: true, message: "卷重不能为空", trigger: "blur" }
],
surfaceQuality: [
{ required: true, message: "表面质量不能为空", trigger: "blur" }
],
inspectionResult: [
{ required: true, message: "检测结论不能为空", trigger: "blur" }
],
isEnabled: [
{ required: true, message: "是否启用不能为空", trigger: "blur" }
],
unit: [
{ required: true, message: "计量单位不能为空", trigger: "blur" }
],
},
paramDialogVisible: false,
paramRow: null,
bomDialogVisible: false,
bomId: undefined,
itemId: undefined,
};
},
created() {
@@ -480,6 +448,15 @@ export default {
this.open = true;
this.title = "添加原材料";
},
handleBom(row) {
this.bomDialogVisible = true;
this.bomId = row.bomId;
this.itemId = row.rawMaterialId;
},
handleAddBom(bom) {
this.bomId = bom.bomId;
this.getList();
},
/** 修改按钮操作 */
handleUpdate(row) {
this.loading = true;