fix(form): 修复表单初始化和物料分类变更处理逻辑

This commit is contained in:
zxy 2026-03-20 16:01:04 +08:00
parent 092331c5c6
commit 70557ee3df
2 changed files with 12 additions and 8 deletions

View File

@ -20,7 +20,7 @@
</el-form-item> </el-form-item>
<el-form-item label="物料分类编码" prop="matTypeCode" > <el-form-item label="物料分类编码" prop="matTypeCode" >
<el-input v-model="formData.matTypeCode" placeholder="请输入物料分类编码" show-word-limit :disabled="formType === 'update'"/> <el-input v-model="formData.matTypeCode" placeholder="请输入物料分类编码" disabled show-word-limit />
</el-form-item> </el-form-item>
<el-form-item label="最大流水号" prop="curMaxSeq" > <el-form-item label="最大流水号" prop="curMaxSeq" >
<el-input v-model="formData.curMaxSeq" placeholder="请输入当前最大流水号" :disabled="formType === 'update'" show-word-limit/> <el-input v-model="formData.curMaxSeq" placeholder="请输入当前最大流水号" :disabled="formType === 'update'" show-word-limit/>

View File

@ -175,7 +175,7 @@ const formRef = ref() // 表单 Ref
const supplierList = ref<any[]>([]) // const supplierList = ref<any[]>([]) //
const supplierSelectList = ref<any[]>([]) const supplierSelectList = ref<any[]>([])
const supplierSelectLoading = ref(false); const supplierSelectLoading = ref(false);
const isLoading = ref(false) // watch const isInitialized = ref(false) // watch
const originalMatCate = ref() // const originalMatCate = ref() //
const remoteSupplierSearch = (query: string) => { const remoteSupplierSearch = (query: string) => {
@ -199,13 +199,15 @@ const open = async (type: string, id?: number) => {
resetForm() resetForm()
// //
formLoading.value = true formLoading.value = true
isLoading.value = true isInitialized.value = false
try { try {
if (id) { if (id) {
const data = await MaterialApi.getMaterial(id) const data = await MaterialApi.getMaterial(id)
formData.value = data formData.value = data
// //
originalMatCate.value = data.matCate originalMatCate.value = data.matCate
} else {
originalMatCate.value = undefined
} }
let params = { let params = {
pageNo: 1, pageNo: 1,
@ -218,7 +220,7 @@ const open = async (type: string, id?: number) => {
} finally { } finally {
formLoading.value = false formLoading.value = false
nextTick(() => { nextTick(() => {
isLoading.value = false isInitialized.value = true
}) })
} }
@ -290,8 +292,8 @@ const handleSelectedSupplier = (newValue: any) => {
/** 监听物料类型变化查询matcode并更新code */ /** 监听物料类型变化查询matcode并更新code */
watch(() => formData.value.matCate, async (newVal) => { watch(() => formData.value.matCate, async (newVal) => {
// //
if (isLoading.value) { if (!isInitialized.value) {
return return
} }
// //
@ -300,8 +302,8 @@ watch(() => formData.value.matCate, async (newVal) => {
originalMatCate.value = undefined originalMatCate.value = undefined
return return
} }
// //
if (formType.value === 'update' && newVal === originalMatCate.value) { if (newVal === originalMatCate.value) {
return return
} }
try { try {
@ -311,6 +313,8 @@ watch(() => formData.value.matCate, async (newVal) => {
} else { } else {
formData.value.code = null formData.value.code = null
} }
//
originalMatCate.value = newVal
} catch (error) { } catch (error) {
console.error('查询matcode失败:', error) console.error('查询matcode失败:', error)
formData.value.code = null formData.value.code = null