前端:物料bom完善
master
xs 1 month ago
parent a861f54792
commit c4396d1a02

@ -4,7 +4,7 @@
<!-- 生产bom树 -->
<el-col :lg="6" :xs="24" style="" v-loading="treeLoading">
<el-card shadow="hover" style="height: calc(100vh - 120px);overflow:auto;">
<el-input v-model="materialName" placeholder="请输入物料名称" prefix-icon="Search" clearable />
<el-input v-model="materialName" placeholder="请输入物料名称" prefix-icon="Search" clearable/>
<el-tree
ref="materialBomTreeRef"
class="mt-2"
@ -18,19 +18,17 @@
@node-click="handleNodeClick"
>
<template #default="{ node, data }">
<div style="width: 100%">
<el-tooltip :content="`${data.label}`" style="width: 100%">
<div class="custom-tree-node"
style="display: inline-block;vertical-align: top;max-width: 80%;overflow: hidden;">
<span
:style="{backgroundColor:getColor(data)?.[0],color:getColor(data)?.[1],verticalAlign: 'center'}">{{ node.label
<div>
<el-button type="primary" link @click="fun(data)" v-if="node.activeFlag && node.activeFlag!==MATERIAL_BOM_ACTIVE_FLAG.ACTIVE">
发布
</el-button>
<el-tooltip :content="`${data.label}`">
<div class="custom-tree-node" style="display: inline-block;vertical-align: center">
<span :style="{backgroundColor:getColor(data)?.[0],color:getColor(data)?.[1]}">{{ node.label
}}</span>
</div>
</el-tooltip>
<el-button type="primary" link @click="fun(data)"
style=" vertical-align: top; ">
上传
</el-button>
</div>
</template>
</el-tree>
@ -38,44 +36,66 @@
</el-col>
<el-col :lg="18" :xs="24" v-loading="loading">
<div>
<el-divider content-position="left">父级物料</el-divider>
<el-card shadow="hover">
<template #header>
<el-row :gutter="10">
<el-col :span="1.5">
<el-button v-has-permi="['mes:materialBom:add']" type="primary" plain icon="Plus"
@click="addNewMaterialBomVersion()" :loading="btnLoading" :disabled="addNewMaterialBomVersionBtnDisabled">{{addNewMaterialBomVersionBtnText}}
</el-button>
</el-col>
</el-row>
</template>
<el-form ref="parentMaterialBomFormRef" label-width="120px" :model="parentForm" :rules="parentRules">
<el-row>
<el-row :gutter="20">
<el-form-item label='父物料ID' prop='parentId' v-if="false">
<el-input v-model='parentForm.parentId' placeholder='' style="width:360px" />
<el-input v-model='parentForm.parentId' placeholder='' style="width:360px"/>
</el-form-item>
<el-form-item label='父物料类型ID' prop='parentMaterialTypeId' v-if="false">
<el-input v-model='parentForm.parentMaterialTypeId' placeholder='' style="width:360px" />
<el-input v-model='parentForm.parentMaterialTypeId' placeholder='' style="width:360px"/>
</el-form-item>
<el-form-item label='状态' prop='activeFlag' style="width:260px">
<el-select v-model='parentForm.activeFlag' disabled>
<el-option v-for='dict in material_bom_active_flag' :key='dict.value' :label='dict.label' :value='dict.value' />
</el-select>
</el-form-item>
<el-form-item label="BOM版本" prop='materialBomVersion'>
<el-input v-model='parentForm.materialBomVersion' placeholder='' style="width:260px" disabled/>
</el-form-item>
<el-form-item label='父物料名称' prop='parentMaterialName'>
<el-input v-model='parentForm.parentMaterialName' placeholder='请点击检索物料'
@click='handleMaterialSelect(parentForm,SELECT_MATERIAL_MODEL.PARENT_SELECT)'
style="width:260px" @change="getList" suffix-icon="Search" readonly
:disabled="parentMaterialDisabled" />
:disabled="parentMaterialDisabled"/>
</el-form-item>
<el-form-item label="父物料类型名称" prop='parentMaterialTypeName'>
<el-input v-model='parentForm.parentMaterialTypeName' placeholder='' style="width:260px" readonly />
<el-input v-model='parentForm.parentMaterialTypeName' placeholder='' style="width:260px" readonly/>
</el-form-item>
<el-form-item label="BOM版本" prop='materialBomVersion' :model="parentForm">
<el-select v-model="parentForm.materialBomVersion"
placeholder="请选择" style="width:200px">
<el-option
v-for="item in materialBomVersionOptions"
:key="item.materialBomVersion"
:label="item.materialBomVersion"
:value="item.materialBomVersion"
></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="BOM版本" prop='materialBomVersion' :model="parentForm">-->
<!-- <el-select v-model="parentForm.materialBomVersion"-->
<!-- placeholder="请选择" style="width:200px">-->
<!-- <el-option-->
<!-- v-for="item in materialBomVersionOptions"-->
<!-- :key="item.materialBomVersion"-->
<!-- :label="item.materialBomVersion"-->
<!-- :value="item.materialBomVersion"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label='父物料数量' prop='parentStandardAmount'>
<el-input-number v-model='parentForm.parentStandardAmount' :precision="2" :step="1"
placeholder='请输入父物料数量'
style="width:200px" />
style="width:200px"/>
</el-form-item>
<el-form-item label='单位' prop='parentUnitId'>
@ -89,10 +109,13 @@
</el-select>
</el-form-item>
<el-form-item label="BOM说明" prop='materialBomDesc'>
<el-input v-model='parentForm.materialBomDesc' placeholder='' style="width:360px" type="textarea"/>
</el-form-item>
</el-row>
</el-form>
</div>
</el-card>
<el-divider content-position="left">子级物料</el-divider>
@ -114,29 +137,29 @@
</template>
<el-table :data="materialBomList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" align="center" />
<el-table-column type="index" width="50" align="center" label="序号" />
<el-table-column type="selection" width="50" align="center"/>
<el-table-column type="index" width="50" align="center" label="序号"/>
<el-table-column v-if="columns[0].visible" key="materialBomId" label="生产BOM_ID" align="center"
prop="materialBomId" />
prop="materialBomId"/>
<el-table-column v-if="columns[1].visible" key="materialTypeCode" label="子物料类型编号" align="center"
prop="materialTypeCode" :show-overflow-tooltip="true" />
prop="materialTypeCode" :show-overflow-tooltip="true"/>
<el-table-column v-if="columns[2].visible" key="materialTypeName" label="子物料类型名称" align="center"
prop="materialTypeName" :show-overflow-tooltip="true" w />
prop="materialTypeName" :show-overflow-tooltip="true" w/>
<el-table-column v-if="columns[4].visible" key="materialId" label="子物料ID" align="center"
prop="materialId" :show-overflow-tooltip="true" />
prop="materialId" :show-overflow-tooltip="true"/>
<el-table-column v-if="columns[5].visible" key="materialName" label="子物料名称" align="center"
prop="materialName" :show-overflow-tooltip="true">
<template #default='scope'>
<el-input v-model='scope.row.materialName' placeholder='请点击检索物料'
@click='handleMaterialSelect(scope.row,SELECT_MATERIAL_MODEL.CHILD_SELECT)'
suffix-icon="Search" readonly />
suffix-icon="Search" readonly/>
</template>
</el-table-column>
<el-table-column v-if="columns[6].visible" key="standardAmount" label="子物料数量" align="center"
prop="standardAmount" :show-overflow-tooltip="true" width="220px">
<template #default='scope'>
<el-input-number v-model='scope.row.standardAmount' :precision="2" :step="1"
placeholder='请输入数量' style="width:180px" />
placeholder='请输入数量' style="width:180px"/>
</template>
</el-table-column>
@ -199,18 +222,18 @@
<!-- </el-form-item>-->
<el-form-item label='子物料ID' prop='materialId' v-if="false">
<el-input v-model='form.materialId' placeholder='' style="width:360px" />
<el-input v-model='form.materialId' placeholder='' style="width:360px"/>
</el-form-item>
<el-form-item label='子物料名称' prop='materialName'>
<el-input v-model='form.materialName' placeholder='请点击检索物料'
@click='handleMaterialSelect(form,SELECT_MATERIAL_MODEL.DIALOG_CHILD_SELECT)'
style="width:360px" />
style="width:360px"/>
</el-form-item>
<el-form-item label='子物料数量' prop='standardAmount'>
<el-input-number v-model='form.standardAmount' :precision="2" :step="1" placeholder='请输入子物料数量'
style="width:360px" />
style="width:360px"/>
</el-form-item>
<el-form-item label='子物料单位' prop='unitId'>
@ -252,23 +275,28 @@ import {
materialBomTreeSelect,
listMaterialBomJoinStructure,
addBatchMaterialBom,
getUnitInfoList, getMaterialBomVersionList, getParentMaterialBom, deleteMaterialBoms
} from '@/api/mes/materialBom';
getUnitInfoList, getMaterialBomVersionList, getParentMaterialBom, deleteMaterialBoms,
selectNextMaterialBomVersion
} from "@/api/mes/materialBom";
import { MaterialBomVO, MaterialBomForm, MaterialBomQuery } from '@/api/mes/materialBom/types';
import { BaseMaterialTypeVO } from '@/api/mes/baseMaterialType/types';
import {MaterialBomVO, MaterialBomForm, MaterialBomQuery} from '@/api/mes/materialBom/types';
import {BaseMaterialTypeVO} from '@/api/mes/baseMaterialType/types';
import MaterialSelect from '@/views/mes/baseMaterialInfo/addMaterial.vue';
import { to } from 'await-to-js';
import { nextTick } from 'vue';
import { MaterialBomVersionVO } from '@/api/mes/materialBomVersion/types';
import { BaseMeasurementUnitInfoVO } from '@/api/mes/baseMeasurementUnitInfo/types';
import { BaseStructureBomTreeVO } from '@/api/mes/baseStructureBom/types';
import {to} from 'await-to-js';
import {nextTick} from "vue";
import {MaterialBomVersionVO} from "@/api/mes/materialBomVersion/types";
import {BaseMeasurementUnitInfoVO} from "@/api/mes/baseMeasurementUnitInfo/types";
import {BaseStructureBomTreeVO} from "@/api/mes/baseStructureBom/types";
const materialTypeId = ref(0);//使
const router = useRouter();
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const {proxy} = getCurrentInstance() as ComponentInternalInstance;
const { material_bom_active_flag } = toRefs<any>(proxy?.useDict('material_bom_active_flag'));
const materialBomList = ref<MaterialBomVO[]>();
const saveMaterialBomList = ref<MaterialBomVO[]>([]);
const treeLoading = ref(false);
@ -302,18 +330,31 @@ const SELECT_MATERIAL_MODEL = ref({
PARENT_SELECT: '1',//
CHILD_SELECT: '2',//
DIALOG_CHILD_SELECT: '3'//
});
})
const MATERIAL_BOM_ACTIVE_FLAG = ref({
ACTIVE: '1',//
HISTORY: '2',//
DESIGN: '3'//
})
const addNewMaterialBomVersionBtnText = ref('新增中');
const addNewMaterialBomVersionBtnDisabled = ref(true);
const publishBtnDisplay = ref(false);
const initialMaterialBomVersion = ref('01');
//
const columns = ref<FieldOption[]>([
{ key: 0, label: `生产BOM_ID`, visible: false, children: [] },
{ key: 1, label: `子物料类型编号`, visible: true, children: [] },
{ key: 2, label: `子物料类型名称`, visible: true, children: [] },
{ key: 3, label: `BOM版本`, visible: false, children: [] },
{ key: 4, label: `子物料ID`, visible: false, children: [] },
{ key: 5, label: `子物料名称`, visible: true, children: [] },
{ key: 6, label: `子物料数量`, visible: true, children: [] },
{ key: 7, label: `子物料单位`, visible: true, children: [] }
{key: 0, label: `生产BOM_ID`, visible: false, children: []},
{key: 1, label: `子物料类型编号`, visible: true, children: []},
{key: 2, label: `子物料类型名称`, visible: true, children: []},
{key: 3, label: `BOM版本`, visible: false, children: []},
{key: 4, label: `子物料ID`, visible: false, children: []},
{key: 5, label: `子物料名称`, visible: true, children: []},
{key: 6, label: `子物料数量`, visible: true, children: []},
{key: 7, label: `子物料单位`, visible: true, children: []}
]);
const materialBomTreeRef = ref<ElTreeInstance>();
@ -347,9 +388,9 @@ const initParentFormData: MaterialBomForm = {
assembleTime: undefined,
materialClassfication: undefined,
attachId: undefined,
activeFlag: '1',
activeFlag: undefined,
remark: undefined,
materialTypeName: undefined
materialTypeName: undefined,
};
const initFormData: MaterialBomForm = {
@ -371,14 +412,14 @@ const initFormData: MaterialBomForm = {
assembleTime: undefined,
materialClassfication: undefined,
attachId: undefined,
activeFlag: '1',
activeFlag: undefined,
remark: undefined,
materialTypeName: undefined
materialTypeName: undefined,
};
const data = reactive<PageData<MaterialBomForm, MaterialBomQuery>>({
form: { ...initFormData },
parentForm: { ...initParentFormData },
form: {...initFormData},
parentForm: {...initParentFormData},
queryParams: {
materialBomId: undefined,
parentId: undefined,
@ -391,31 +432,31 @@ const data = reactive<PageData<MaterialBomForm, MaterialBomQuery>>({
},
rules: {
materialTypeId: [
{ required: true, message: '物料类型不能为空', trigger: 'blur' }
{required: true, message: "物料类型不能为空", trigger: "blur"}
],
materialBomVersion: [
{ required: true, message: 'BOM版本不能为空', trigger: 'blur' }
{required: true, message: "BOM版本不能为空", trigger: "blur"}
],
materialName: [
{ required: true, message: '物料名称不能为空', trigger: 'blur' }
{required: true, message: "物料名称不能为空", trigger: "blur"}
],
standardAmount: [
{ required: true, message: '子物料数量不能为空', trigger: 'blur' }
{required: true, message: "子物料数量不能为空", trigger: "blur"}
]
},
parentRules: {
parentMaterialName: [
{ required: true, message: '父物料名称不能为空', trigger: 'blur' }
{required: true, message: "父物料名称不能为空", trigger: "blur"}
],
materialBomVersion: [
{ required: true, message: 'BOM版本不能为空', trigger: 'blur' }
{required: true, message: "BOM版本不能为空", trigger: "blur"}
],
parentStandardAmount: [
{ required: true, message: '父物料数量不能为空', trigger: 'blur' }
{required: true, message: "父物料数量不能为空", trigger: "blur"}
],
parentUnitId: [
{ required: true, message: '父物料单位不能为空', trigger: 'blur' }
{required: true, message: "父物料单位不能为空", trigger: "blur"}
]
}
@ -430,9 +471,9 @@ const parentQueryParams = ref({
materialName: undefined,
materialBomVersion: undefined,
params: {}
});
})
const { queryParams, form, rules, parentForm, parentRules } = toRefs(data);
const {queryParams, form, rules, parentForm, parentRules} = toRefs(data);
/** 通过条件过滤节点 */
const filterNode = (value: string, data: any) => {
@ -461,7 +502,7 @@ const getTreeSelect = async () => {
id: virtualTopNodeId,//materialBomId
parentId: -1,
materialId: 0,
label: '生产BOM',
label: "生产BOM",
children: res.data
};
materialBomOptions.value.push(initialTree);
@ -469,14 +510,14 @@ const getTreeSelect = async () => {
// materialBomOptions.value = res.data;
if (!focusKeyNode.value) {//focus
focusKeyNode.value = { treeKey: virtualTopNodeId };
focusKeyNode.value = {treeKey: virtualTopNodeId};
} else {
const clickNode = findObjectByTreeKey(materialBomOptions.value, focusKeyNode.value.treeKey);
const clickNode = findObjectByTreeKey(materialBomOptions.value, focusKeyNode.value.treeKey)
if (!clickNode) {
focusKeyNode.value = undefined;
focusKeyNode.value = { treeKey: virtualTopNodeId };
focusKeyNode.value = {treeKey: virtualTopNodeId};
}
// if (!allTreeKeys || allTreeKeys.length <= 0) {
// focusKeyNode.value = {
// treeKey: virtualTopNodeId,
@ -491,9 +532,9 @@ const getTreeSelect = async () => {
// const focusKeyNodeIndex = materialBomOptions.value.findIndex((optionItem) => focusKeyNode.value.treeKey === optionItem.treeKey);//children
}
nextTick(function() {
nextTick(function () {
materialBomTreeRef.value?.setCurrentKey(focusKeyNode.value.treeKey, true);
});
})
loading.value = false;
treeLoading.value = false;
@ -504,6 +545,16 @@ const getTreeSelect = async () => {
// materialTypeOptions.value[0].children.push(dd);
};
/** 查询生产bom列表 */
const getNextMaterialBomVersion = async () => {
//
// loading.value = true;
const res = await selectNextMaterialBomVersion(parentForm.value.parentId);
parentForm.value.materialBomVersion = res.data;
// materialBomList.value = res.data;
// loading.value = false;
};
/** 查询生产bom列表 */
const getList = async () => {
//BOM
@ -516,17 +567,21 @@ const getList = async () => {
const resetParentQueryParams = () => {
parentQueryParams.value.parentId = undefined;//materialId
parentQueryParams.value.materialBomVersion = undefined;
};
}
const resetQueryParams = () => {
queryParams.value.parentId = undefined;//materialid
queryParams.value.parentMaterialTypeId = undefined;
};
}
/** 节点单击事件 */
const handleNodeClick = (data: MaterialBomVO) => {
materialBomList.value = [];
parentMaterialDisabled.value = true;
publishBtnDisplay.value = false;
addNewMaterialBomVersionBtnDisabled.value = true;
btnLoading.value = true;
resetParentForm();
resetQueryParams();
resetParentQueryParams();
@ -535,27 +590,39 @@ const handleNodeClick = (data: MaterialBomVO) => {
parentQueryParams.value.parentId = data.materialId;//materialId
parentQueryParams.value.materialBomVersion = data.materialBomVersion;
getParentMaterialBomInfo();
queryParams.value.parentId = data.materialId;
queryParams.value.parentMaterialTypeId = data.materialTypeId;
queryParams.value.materialBomVersion = data.materialBomVersion;
handleQuery();
} else {
if (materialBomVersionOptions.value.length > 0) {
parentForm.value.materialBomVersion = materialBomVersionOptions.value[0].materialBomVersion;
queryParams.value.materialBomVersion = materialBomVersionOptions.value[0].materialBomVersion;
}
parentForm.value.activeFlag = MATERIAL_BOM_ACTIVE_FLAG.value.DESIGN;
handleBtnStatus();
btnLoading.value = false;
// if (materialBomVersionOptions.value.length > 0) {
// parentForm.value.materialBomVersion = materialBomVersionOptions.value[0].materialBomVersion;
// queryParams.value.materialBomVersion = materialBomVersionOptions.value[0].materialBomVersion;
// }
}
parentMaterialDisabled.value = focusKeyNode.value.treeKey != -1;
};
const handleBtnStatus = () =>{
if(parentForm.value.materialBomVersion && parentForm.value.materialBomVersion!==''){
addNewMaterialBomVersionBtnDisabled.value = false;
addNewMaterialBomVersionBtnText.value = "新增版本";
publishBtnDisplay.value = parentForm.value.activeFlag !== MATERIAL_BOM_ACTIVE_FLAG.value.ACTIVE;
}else{
addNewMaterialBomVersionBtnDisabled.value = true;
addNewMaterialBomVersionBtnText.value = "新增中";
publishBtnDisplay.value = false;
}
};
const clickDisplay = () => {
if (queryParams.value.parentId === 0) {
parentFormDisplay.value = false;
childTableTitle.value = '顶级物料';
childTableTitle.value = "顶级物料";
} else {
parentFormDisplay.value = true;
childTableTitle.value = '子级物料';
childTableTitle.value = "子级物料";
}
};
@ -597,7 +664,7 @@ const handleDelete = async (row?: MaterialBomVO) => {
});
// alert(JSON.stringify(toDeleteMaterialBoms.value))
if (toDeleteMaterialBoms.value.length > 0) {
await deleteMaterialBoms(toDeleteMaterialBoms.value);
await deleteMaterialBoms(toDeleteMaterialBoms.value)
await getTreeSelect();
}
@ -628,7 +695,7 @@ const handleSelectionChange = (selection: MaterialBomVO[]) => {
/** 重置操作表单 */
const reset = () => {
form.value = { ...initFormData };
form.value = {...initFormData};
materialBomFormRef.value?.resetFields();
};
/** 取消按钮 */
@ -743,7 +810,7 @@ const handleMaterialSelect = (row, selectMode) => {
} else if (selectMode === SELECT_MATERIAL_MODEL.value.CHILD_SELECT) {//materialTypeId
materialTypeId.value = row.materialTypeId;
} else {
materialTypeId.value = undefined;
materialTypeId.value = undefined
}
materialOpen.value = true;
};
@ -755,14 +822,15 @@ const submitMaterialForm = () => {
//
if (globalSelectMode.value === SELECT_MATERIAL_MODEL.value.PARENT_SELECT) {
editedRow.value.materialBomVersion = undefined;
editedRow.value.parentId = selectedRow.materialId;
editedRow.value.parentMaterialName = selectedRow.materialName;
editedRow.value.parentMaterialTypeId = selectedRow.materialTypeId;
editedRow.value.parentMaterialTypeName = selectedRow.matrialTypeName;
queryParams.value.parentId = selectedRow.materialId;
queryParams.value.parentMaterialTypeId = selectedRow.materialTypeId;
getNextMaterialBomVersion();
// alert(JSON.stringify(queryParams.value))
getList();
} else {
@ -796,9 +864,12 @@ const submitBatchSaveMaterialBoms = async () => {
item.parentId = parentForm.value.parentId;
item.parentUnitId = parentForm.value.parentUnitId;
item.materialBomVersion = parentForm.value.materialBomVersion;
item.parentStandardAmount = parentForm.value.parentStandardAmount;
item.parentMaterialTypeId = parentForm.value.parentMaterialTypeId;
item.materialBomDesc = parentForm.value.materialBomDesc;
item.materialBomVersion = parentForm.value.materialBomVersion;
item.activeFlag = parentForm.value.activeFlag;
saveMaterialBomList.value.push(item);
}
}
@ -810,7 +881,9 @@ const submitBatchSaveMaterialBoms = async () => {
await addBatchMaterialBom(saveMaterialBomList.value);
proxy?.$modal.msgSuccess('操作成功');
focusKeyNode.value.treeKey = parentForm.value.parentId + '-' + parentForm.value.materialBomVersion;
focusKeyNode.value.treeKey = parentForm.value.parentId + "-" + parentForm.value.materialBomVersion;
focusKeyNode.value.materialId = parentForm.value.parentId;
focusKeyNode.value.materialTypeId = parentForm.value.parentMaterialTypeId
focusKeyNode.value.materialBomVersion = parentForm.value.materialBomVersion;
focusKeyNode.value.parentUnitId = parentForm.value.parentUnitId;
focusKeyNode.value.parentStandardAmount = parentForm.value.parentStandardAmount;
@ -826,13 +899,13 @@ const submitBatchSaveMaterialBoms = async () => {
}
}
});
};
}
/** 初始化单位数据 */
const initUnitInfoData = async () => {
if (unitInfoOptions.value === undefined || unitInfoOptions.value.length <= 0) {
const { data } = await getUnitInfoList();
const {data} = await getUnitInfoList();
// alert(JSON.stringify(data))
unitInfoOptions.value = data;
}
@ -842,7 +915,7 @@ const initUnitInfoData = async () => {
const initMaterialBomVersionData = async () => {
// alert(JSON.stringify(getMaterialBomVersionList))
if (materialBomVersionOptions.value === undefined || materialBomVersionOptions.value.length <= 0) {
const { data } = await getMaterialBomVersionList();
const {data} = await getMaterialBomVersionList();
materialBomVersionOptions.value = data;
if (materialBomVersionOptions.value.length > 0) {
@ -858,7 +931,18 @@ const initMaterialBomVersionData = async () => {
const getParentMaterialBomInfo = async () => {
const res = await getParentMaterialBom(parentQueryParams.value);
parentForm.value = res.data;
handleBtnStatus();
if(!parentForm.value.materialBomVersion || parentForm.value.materialBomVersion===''){
parentForm.value.materialBomVersion = initialMaterialBomVersion.value;
parentForm.value.activeFlag = MATERIAL_BOM_ACTIVE_FLAG.value.DESIGN;
}
queryParams.value.parentId = parentForm.value.parentId
queryParams.value.parentMaterialTypeId = parentForm.value.parentMaterialTypeId
queryParams.value.materialBomVersion = parentForm.value.materialBomVersion
handleQuery();
btnLoading.value = false;
};
@ -871,8 +955,19 @@ const findObjectByTreeKey = (list, targetTreeKey) => {
}
}
return null;
};
}
/** 基于当前父级物料和版本新增物料bom版本 */
const addNewMaterialBomVersion = async () => {
loading.value = true;
parentForm.value.activeFlag = MATERIAL_BOM_ACTIVE_FLAG.value.DESIGN;
await getNextMaterialBomVersion();
materialBomList.value.forEach(childMaterialBom => {
childMaterialBom.materialBomId = undefined;
});
loading.value = false;
console.log( materialBomList);
};
// const getClickNode = (obj) => {
// // id,focusid
@ -902,8 +997,4 @@ const getColor = (e) => {
};
</script>
<style lang="less" scoped>
:deep(.el-tree-node__content) {
width: 100%;
}
</style>
<style lang="scss" scoped></style>

Loading…
Cancel
Save