fix(wms): 修复原材料选择和表单字段禁用状态问题
修复原材料选择组件中ID比较类型不一致导致的选择问题,移除表单中成品相关字段的禁用状态限制,并初始化表单默认值
This commit is contained in:
@@ -129,6 +129,7 @@ export default {
|
||||
// 如果为选中任何原材料,显示选择原材料
|
||||
// 如果为选中多个原材料,显示已选 X 项
|
||||
// 如果为选中单个原材料,显示原材料名称
|
||||
console.log(this.selectedIds);
|
||||
if (this.selectedIds.length === 0) {
|
||||
return '请选择原材料';
|
||||
}
|
||||
@@ -146,12 +147,14 @@ export default {
|
||||
} else {
|
||||
return this.selectedRows[0]?.rawMaterialName || '未选择';
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
},
|
||||
watch: {
|
||||
value: {
|
||||
immediate: true,
|
||||
handler(val) {
|
||||
console.log('watch触发val', val);
|
||||
this.selectedIds = val ? val.split(',').filter(id => id) : [];
|
||||
// this.syncSelectedRows();
|
||||
this.$forceUpdate(); // 新增:强制刷新视图
|
||||
@@ -169,22 +172,13 @@ export default {
|
||||
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) {
|
||||
if (checked) {
|
||||
!this.selectedIds.includes(item.rawMaterialId) && this.selectedIds.push(item.rawMaterialId);
|
||||
} 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 response = await listRawMaterial(params);
|
||||
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.syncSelectedRows(); // 加载数据后同步选中状态
|
||||
}
|
||||
return this.rawMaterialList;
|
||||
} catch (error) {
|
||||
@@ -252,7 +248,6 @@ export default {
|
||||
const emitValue = this.selectedIds.join(',');
|
||||
this.$emit('input', emitValue);
|
||||
this.$emit('change', emitValue, this.selectedRows);
|
||||
this.$forceUpdate(); // 新增:强制刷新视图
|
||||
this.dialogVisible = false;
|
||||
},
|
||||
|
||||
|
||||
@@ -68,25 +68,25 @@
|
||||
<el-row v-if="form.materialType === '成品'">
|
||||
<el-col :span="12">
|
||||
<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-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<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-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<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-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<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-form-item>
|
||||
</el-col>
|
||||
@@ -201,7 +201,19 @@ export default {
|
||||
return {
|
||||
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,
|
||||
buttonLoading: false,
|
||||
queryForm: {
|
||||
|
||||
Reference in New Issue
Block a user