fix(wms): 修复原材料选择和表单字段禁用状态问题
修复原材料选择组件中ID比较类型不一致导致的选择问题,移除表单中成品相关字段的禁用状态限制,并初始化表单默认值
This commit is contained in:
@@ -129,6 +129,7 @@ export default {
|
|||||||
// 如果为选中任何原材料,显示选择原材料
|
// 如果为选中任何原材料,显示选择原材料
|
||||||
// 如果为选中多个原材料,显示已选 X 项
|
// 如果为选中多个原材料,显示已选 X 项
|
||||||
// 如果为选中单个原材料,显示原材料名称
|
// 如果为选中单个原材料,显示原材料名称
|
||||||
|
console.log(this.selectedIds);
|
||||||
if (this.selectedIds.length === 0) {
|
if (this.selectedIds.length === 0) {
|
||||||
return '请选择原材料';
|
return '请选择原材料';
|
||||||
}
|
}
|
||||||
@@ -146,12 +147,14 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
return this.selectedRows[0]?.rawMaterialName || '未选择';
|
return this.selectedRows[0]?.rawMaterialName || '未选择';
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
value: {
|
value: {
|
||||||
immediate: true,
|
immediate: true,
|
||||||
handler(val) {
|
handler(val) {
|
||||||
|
console.log('watch触发val', val);
|
||||||
this.selectedIds = val ? val.split(',').filter(id => id) : [];
|
this.selectedIds = val ? val.split(',').filter(id => id) : [];
|
||||||
// this.syncSelectedRows();
|
// this.syncSelectedRows();
|
||||||
this.$forceUpdate(); // 新增:强制刷新视图
|
this.$forceUpdate(); // 新增:强制刷新视图
|
||||||
@@ -169,22 +172,13 @@ export default {
|
|||||||
return this.selectedIds.includes(rawMaterialId);
|
return this.selectedIds.includes(rawMaterialId);
|
||||||
},
|
},
|
||||||
|
|
||||||
// 同步选中行数据
|
|
||||||
// syncSelectedRows() {
|
|
||||||
// if (this.rawMaterialList.length === 0) return;
|
|
||||||
// this.selectedRows = this.rawMaterialList.filter(item =>
|
|
||||||
// this.selectedIds.includes(item.rawMaterialId)
|
|
||||||
// );
|
|
||||||
// },
|
|
||||||
|
|
||||||
// 卡片选择事件(多选)
|
// 卡片选择事件(多选)
|
||||||
handleCardSelection(checked, item) {
|
handleCardSelection(checked, item) {
|
||||||
if (checked) {
|
if (checked) {
|
||||||
!this.selectedIds.includes(item.rawMaterialId) && this.selectedIds.push(item.rawMaterialId);
|
!this.selectedIds.includes(item.rawMaterialId) && this.selectedIds.push(item.rawMaterialId);
|
||||||
} else {
|
} else {
|
||||||
this.selectedIds = this.selectedIds.filter(id => id !== item.rawMaterialId);
|
this.selectedIds = this.selectedIds.filter(id => id != item.rawMaterialId);
|
||||||
}
|
}
|
||||||
// this.syncSelectedRows();
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// 原有方法保持不变(仅修改同步选中状态逻辑)
|
// 原有方法保持不变(仅修改同步选中状态逻辑)
|
||||||
@@ -194,9 +188,11 @@ export default {
|
|||||||
const params = { ...this.queryParams, ...this.filters };
|
const params = { ...this.queryParams, ...this.filters };
|
||||||
const response = await listRawMaterial(params);
|
const response = await listRawMaterial(params);
|
||||||
if (response.code === 200) {
|
if (response.code === 200) {
|
||||||
this.rawMaterialList = response.rows || [];
|
this.rawMaterialList = response.rows.map(item => ({
|
||||||
|
...item,
|
||||||
|
rawMaterialId: item.rawMaterialId.toString()
|
||||||
|
})) || [];
|
||||||
this.total = response.total || 0;
|
this.total = response.total || 0;
|
||||||
// this.syncSelectedRows(); // 加载数据后同步选中状态
|
|
||||||
}
|
}
|
||||||
return this.rawMaterialList;
|
return this.rawMaterialList;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
@@ -252,7 +248,6 @@ export default {
|
|||||||
const emitValue = this.selectedIds.join(',');
|
const emitValue = this.selectedIds.join(',');
|
||||||
this.$emit('input', emitValue);
|
this.$emit('input', emitValue);
|
||||||
this.$emit('change', emitValue, this.selectedRows);
|
this.$emit('change', emitValue, this.selectedRows);
|
||||||
this.$forceUpdate(); // 新增:强制刷新视图
|
|
||||||
this.dialogVisible = false;
|
this.dialogVisible = false;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -68,25 +68,25 @@
|
|||||||
<el-row v-if="form.materialType === '成品'">
|
<el-row v-if="form.materialType === '成品'">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item v-if="form.materialType === '成品'" label="质量状态" prop="qualityStatus">
|
<el-form-item v-if="form.materialType === '成品'" label="质量状态" prop="qualityStatus">
|
||||||
<el-input v-model="form.qualityStatus" placeholder="请输入质量状态" :disabled="readonly">
|
<el-input v-model="form.qualityStatus" placeholder="请输入质量状态">
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item v-if="form.materialType === '成品'" label="切边要求" prop="trimmingRequirement">
|
<el-form-item v-if="form.materialType === '成品'" label="切边要求" prop="trimmingRequirement">
|
||||||
<el-input v-model="form.trimmingRequirement" placeholder="请输入切边要求" :disabled="readonly">
|
<el-input v-model="form.trimmingRequirement" placeholder="请输入切边要求">
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item v-if="form.materialType === '成品'" label="打包状态" prop="packingStatus">
|
<el-form-item v-if="form.materialType === '成品'" label="打包状态" prop="packingStatus">
|
||||||
<el-input v-model="form.packingStatus" placeholder="请输入打包状态" :disabled="readonly">
|
<el-input v-model="form.packingStatus" placeholder="请输入打包状态">
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item v-if="form.materialType === '成品'" label="包装要求" prop="packagingRequirement">
|
<el-form-item v-if="form.materialType === '成品'" label="包装要求" prop="packagingRequirement">
|
||||||
<el-input v-model="form.packagingRequirement" placeholder="请输入包装要求" :disabled="readonly">
|
<el-input v-model="form.packagingRequirement" placeholder="请输入包装要求">
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
@@ -201,7 +201,19 @@ export default {
|
|||||||
return {
|
return {
|
||||||
pendingActions: [],
|
pendingActions: [],
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {
|
||||||
|
materialType: null,
|
||||||
|
enterCoilNo: null,
|
||||||
|
currentCoilNo: null,
|
||||||
|
itemId: null,
|
||||||
|
itemType: null,
|
||||||
|
netWeight: null,
|
||||||
|
grossWeight: null,
|
||||||
|
remark: null,
|
||||||
|
trimmingRequirement: null,
|
||||||
|
packingStatus: null,
|
||||||
|
packagingRequirement: null,
|
||||||
|
},
|
||||||
loading: false,
|
loading: false,
|
||||||
buttonLoading: false,
|
buttonLoading: false,
|
||||||
queryForm: {
|
queryForm: {
|
||||||
|
|||||||
Reference in New Issue
Block a user