feat(material): 添加物料大类变更监听和事务处理

- 在物料表单中为物料大类选择器添加 change 事件监听器
- 将原有的 watch 监听器转换为 handleMatCateChange 方法实
This commit is contained in:
zxy 2026-03-20 17:51:33 +08:00
parent 3bdd9ff957
commit 3a7ab2a130
2 changed files with 7 additions and 16 deletions

View File

@ -97,6 +97,7 @@ public class MaterialServiceImpl implements MaterialService {
}
@Override
@Transactional(rollbackFor = Exception.class)
public Long createMaterial(MaterialSaveReqVO createReqVO) {
// 插入
MaterialDO material = BeanUtils.toBean(createReqVO, MaterialDO.class);
@ -119,7 +120,8 @@ public class MaterialServiceImpl implements MaterialService {
// 回写序列记录
// serialNumberService.updateSerialNumber(serialNumberDO);
// 更新物料大类最大流水
matCodeService.updateCurMaxSeq(material.getMatCate(),material.getCode());
// 返回
return material.getId();
}

View File

@ -37,7 +37,7 @@
</el-select>
</el-form-item>
<el-form-item label="物料大类" prop="matCate">
<el-select v-model="formData.matCate" clearable placeholder="请选择物料大类" class="!w-250px">
<el-select v-model="formData.matCate" clearable placeholder="请选择物料大类" class="!w-250px" @change="handleMatCateChange">
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.HELI_MATERIAL_CODE)"
:key="dict.value"
@ -291,22 +291,14 @@ const handleSelectedSupplier = (newValue: any) => {
formData.value.mainSupplierId = newValue?.id
}
/** 监听物料类型变化查询matcode并更新code */
watch(() => formData.value.matCate, async (newVal) => {
//
if (!isInitialized.value) {
return
}
/** 物料大类改变事件查询matcode并更新code */
const handleMatCateChange = async (newVal: string) => {
//
if (!newVal) {
formData.value.code = undefined
originalMatCate.value = undefined
return
}
//
if (newVal === originalMatCate.value) {
return
}
try {
const allData = await getMatCatCode(newVal)
if (allData != null) {
@ -319,10 +311,7 @@ watch(() => formData.value.matCate, async (newVal) => {
} catch (error) {
console.error('查询matcode失败:', error)
formData.value.code = null
//
// message.error('')
}
})
}
</script>