feat(mes): 将物料大类从字典改为数据库表中获取

- 在 BaseMaterialInfo 实体类中将 materialCategories 字段改为 materialCategoryId
- 在 BaseMaterialInfoBo 和 BaseMaterialInfoVo 中做相应修改
- 更新 BaseMaterialInfoServiceImpl 中的查询逻辑,关联物料大类信息
- 修改前端页面,使用新的物料大类选项从数据库获取
- 更新相关类型定义,将物料大类改为数据库表字段
master
zch 4 months ago
parent 6db8164116
commit 82f8a1ff5b

@ -35,9 +35,9 @@ export interface BaseMaterialInfoVO {
materialTypeId: string | number; materialTypeId: string | number;
/** /**
* (1 2 3) * ()
*/ */
materialCategories: string; materialCategoryId: string;
/** /**
* *
@ -287,6 +287,11 @@ export interface BaseMaterialInfoVO {
*/ */
materialTypeName: string;//连表查询映射字段 materialTypeName: string;//连表查询映射字段
/**
*
*/
materialCategoryName: string;
} }
export interface BaseMaterialInfoForm extends BaseEntity { export interface BaseMaterialInfoForm extends BaseEntity {
@ -321,10 +326,9 @@ export interface BaseMaterialInfoForm extends BaseEntity {
materialTypeId?: string | number; materialTypeId?: string | number;
/** /**
* (1 2 3) * ()
*/ */
materialCategories?: string; materialCategoryId: string;
/** /**
* *
*/ */
@ -538,6 +542,11 @@ export interface BaseMaterialInfoForm extends BaseEntity {
maxParkingHours?: number; maxParkingHours?: number;
maxParkingMinutes?: number; maxParkingMinutes?: number;
/**
*
*/
materialCategoryName: string;
} }
export interface BaseMaterialInfoQuery extends PageQuery { export interface BaseMaterialInfoQuery extends PageQuery {
@ -573,9 +582,9 @@ export interface BaseMaterialInfoQuery extends PageQuery {
materialTypeId?: string | number; materialTypeId?: string | number;
/** /**
* (1 2 3) * ()
*/ */
materialCategories?: string; materialCategoryId: string;
/** /**
* *
@ -781,6 +790,11 @@ export interface BaseMaterialInfoQuery extends PageQuery {
* *
*/ */
params?: any; params?: any;
/**
*
*/
materialCategoryName: string;
} }

@ -52,9 +52,12 @@
<el-form-item label="物料类型ID" prop="materialTypeId"> <el-form-item label="物料类型ID" prop="materialTypeId">
<el-input v-model="queryParams.materialTypeId" placeholder="请输入物料类型ID" clearable @keyup.enter="handleQuery" /> <el-input v-model="queryParams.materialTypeId" placeholder="请输入物料类型ID" clearable @keyup.enter="handleQuery" />
</el-form-item>--> </el-form-item>-->
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="queryParams.materialCategories" placeholder="请选择物料大类" clearable > <el-select v-model="queryParams.materialCategoryId" placeholder="请选择物料大类" clearable >
<el-option v-for="dict in mes_material_categories" :key="dict.value" :label="dict.label" :value="dict.value"/> <el-option v-for="dict in materialCategoryOptions"
:key="dict.materialCategoryId"
:label="dict.materialCategoryName"
:value="dict.materialCategoryId"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="物料小类" prop="materialSubclass"> <!-- <el-form-item label="物料小类" prop="materialSubclass">
@ -252,11 +255,7 @@
<el-table-column label="物料名称" align="center" prop="materialName" v-if="columns[3].visible"/> <el-table-column label="物料名称" align="center" prop="materialName" v-if="columns[3].visible"/>
<!-- <el-table-column label="物料类型ID" align="center" prop="materialTypeId" v-if="columns[4].visible"/>--> <!-- <el-table-column label="物料类型ID" align="center" prop="materialTypeId" v-if="columns[4].visible"/>-->
<el-table-column label="物料类型" align="center" prop="matrialTypeName" v-if="columns[4].visible"/> <el-table-column label="物料类型" align="center" prop="matrialTypeName" v-if="columns[4].visible"/>
<el-table-column label="物料大类" align="center" prop="materialCategories" v-if="columns[5].visible"> <el-table-column label="物料大类" align="center" prop="materialCategoryName" v-if="columns[5].visible"/>
<template #default="scope">
<dict-tag :options="mes_material_categories" :value="scope.row.materialCategories"/>
</template>
</el-table-column>
<el-table-column label="物料小类" align="center" prop="materialSubclass" v-if="columns[6].visible"/> <el-table-column label="物料小类" align="center" prop="materialSubclass" v-if="columns[6].visible"/>
<el-table-column label="批次标识" align="center" prop="batchFlag" v-if="columns[7].visible"> <el-table-column label="批次标识" align="center" prop="batchFlag" v-if="columns[7].visible">
<template #default="scope"> <template #default="scope">
@ -264,7 +263,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="小批次数量" align="center" prop="batchAmount" v-if="columns[8].visible"/> <el-table-column label="小批次数量" align="center" prop="batchAmount" v-if="columns[8].visible"/>
<el-table-column label="计量单位ID" align="center" prop="materialUnitId" v-if="columns[9].visible"/> <el-table-column label="计量单位" align="center" prop="materialUnitId" v-if="columns[9].visible"/>
<el-table-column label="计量单位名称" align="center" prop="materialUnit" v-if="columns[10].visible"/> <el-table-column label="计量单位名称" align="center" prop="materialUnit" v-if="columns[10].visible"/>
<el-table-column label="物料组" align="center" prop="materialMatkl" v-if="columns[11].visible"/> <el-table-column label="物料组" align="center" prop="materialMatkl" v-if="columns[11].visible"/>
<el-table-column label="物料规格" align="center" prop="materialSpec" v-if="columns[12].visible"/> <el-table-column label="物料规格" align="center" prop="materialSpec" v-if="columns[12].visible"/>
@ -428,13 +427,13 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="物料大类" prop="materialCategories"> <el-form-item label="物料大类" prop="materialCategoryId">
<el-select v-model="form.materialCategories" placeholder="请选择物料大类"> <el-select v-model="form.materialCategoryId" placeholder="请选择物料大类">
<el-option <el-option
v-for="dict in mes_material_categories" v-for="item in materialCategoryOptions"
:key="dict.value" :key="item.materialCategoryId"
:label="dict.label" :label="item.materialCategoryName"
:value="dict.value" :value="item.materialCategoryId"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -748,6 +747,7 @@ import {getBaseMeasurementUnitInfoList} from "@/api/mes/baseMeasurementUnitInfo"
import {BaseMeasurementUnitInfoVO} from "@/api/mes/baseMeasurementUnitInfo/types"; import {BaseMeasurementUnitInfoVO} from "@/api/mes/baseMeasurementUnitInfo/types";
import { getBaseMaterialTypeList } from "@/api/mes/baseMaterialType"; import { getBaseMaterialTypeList } from "@/api/mes/baseMaterialType";
import {getSysMasterDataDetailList} from "@/api/system/masterDataDetail"; import {getSysMasterDataDetailList} from "@/api/system/masterDataDetail";
import {getBaseMaterialCategoryList} from "@/api/mes/baseMaterialCategory";
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { apply_flag, inner_tube_flag, const { apply_flag, inner_tube_flag,
@ -845,7 +845,10 @@ const initFormData: BaseMaterialInfoForm = {
oldMaterialCode: undefined, oldMaterialCode: undefined,
materialName: undefined, materialName: undefined,
materialTypeId: undefined, materialTypeId: undefined,
materialCategories: undefined,
materialCategoryId: undefined,// id
materialCategoryName: undefined,//
materialSubclass: undefined, materialSubclass: undefined,
batchFlag: undefined, batchFlag: undefined,
batchAmount: undefined, batchAmount: undefined,
@ -906,7 +909,10 @@ const data = reactive<PageData<BaseMaterialInfoForm, BaseMaterialInfoQuery>>({
oldMaterialCode: undefined, oldMaterialCode: undefined,
materialName: undefined, materialName: undefined,
materialTypeId: undefined, materialTypeId: undefined,
materialCategories: undefined,
materialCategoryId: undefined,
materialCategoryName: undefined,
materialSubclass: undefined, materialSubclass: undefined,
batchFlag: undefined, batchFlag: undefined,
batchAmount: undefined, batchAmount: undefined,
@ -1030,6 +1036,7 @@ const handleAdd = () => {
getspeedLevelList(); getspeedLevelList();
getloadList(); getloadList();
getMeasureUnit(); getMeasureUnit();
getMaterialType(); getMaterialType();
dialog.visible = true; dialog.visible = true;
@ -1047,6 +1054,7 @@ const handleUpdate = async (row?: BaseMaterialInfoVO) => {
getspeedLevelList(); getspeedLevelList();
getloadList(); getloadList();
getMeasureUnit(); getMeasureUnit();
getMaterialType(); getMaterialType();
const _materialId = row?.materialId || ids.value[0] const _materialId = row?.materialId || ids.value[0]
@ -1226,19 +1234,21 @@ const getplyratingList = async () => {
const res = await getSysMasterDataDetailList({masterDataId: 4}); const res = await getSysMasterDataDetailList({masterDataId: 4});
plyratingList.value = res.data; plyratingList.value = res.data;
}; };
// //
let patternList = ref([]); let patternList = ref([]);
const getpatternList = async () => { const getpatternList = async () => {
const res = await getSysMasterDataDetailList({masterDataId: 5}); const res = await getSysMasterDataDetailList({masterDataId: 5});
patternList.value = res.data; patternList.value = res.data;
}; };
//
//
let speedLevelList = ref([]); let speedLevelList = ref([]);
const getspeedLevelList = async () => { const getspeedLevelList = async () => {
const res = await getSysMasterDataDetailList({masterDataId: 7}); const res = await getSysMasterDataDetailList({masterDataId: 7});
speedLevelList.value = res.data; speedLevelList.value = res.data;
}; };
// //
let loadList = ref([]); let loadList = ref([]);
const getloadList = async () => { const getloadList = async () => {
@ -1246,9 +1256,15 @@ const getloadList = async () => {
loadList.value = res.data; loadList.value = res.data;
}; };
//
let materialCategoryOptions = ref([]);
const getBaseMaterialCategorySelect = async () => {
const res = await getBaseMaterialCategoryList(null);
materialCategoryOptions.value = res.data;
}
onMounted(() => { onMounted(() => {
getBaseMaterialCategorySelect();
getInfoOptions(); getInfoOptions();
getList(); getList();
}); });

Loading…
Cancel
Save