refactor(wms): 移除废品相关选项并统一质量状态选择

重构多个视图组件,移除废品材料类型选项及相关逻辑,统一使用字典数据选择质量状态
This commit is contained in:
砂糖
2026-01-13 14:36:32 +08:00
parent 1012a48e2b
commit d147651192
11 changed files with 129 additions and 134 deletions

View File

@@ -248,7 +248,6 @@
<el-select v-model="form.materialType" placeholder="请选择材料类型" @change="handleMaterialTypeChange">
<el-option label="成品" value="成品" />
<el-option label="原料" value="原料" />
<el-option label="废品" value="废品" />
</el-select>
</el-form-item>
<el-form-item :label="getItemLabel" prop="itemId">
@@ -258,9 +257,9 @@
style="width: 100%;" clearable />
<div v-else>请先选择材料类型</div>
</el-form-item>
<el-form-item v-if="form.materialType === '成品'" label="质量状态" prop="qualityStatus">
<el-form-item label="质量状态" prop="qualityStatus">
<el-select v-model="form.qualityStatus" placeholder="请选择质量状态" style="width: 100%">
<el-option label="A+" value="A+" />
<!-- <el-option label="A+" value="A+" />
<el-option label="A" value="A" />
<el-option label="A-" value="A-" />
<el-option label="B+" value="B+" />
@@ -268,23 +267,24 @@
<el-option label="B-" value="B-" />
<el-option label="C+" value="C+" />
<el-option label="C" value="C" />
<el-option label="C-" value="C-" />
<el-option label="C-" value="C-" /> -->
<el-option v-for="item in dict.type.coil_quality_status" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item v-if="form.materialType === '成品'" label="切边要求" prop="trimmingRequirement">
<el-form-item label="切边要求" prop="trimmingRequirement">
<el-select v-model="form.trimmingRequirement" placeholder="请选择切边要求" style="width: 100%">
<el-option label="净边料" value="净边料" />
<el-option label="毛边料" value="毛边料" />
</el-select>
</el-form-item>
<el-form-item v-if="form.materialType === '成品'" label="打包状态" prop="packingStatus">
<el-form-item label="打包状态" prop="packingStatus">
<el-input v-model="form.packingStatus" placeholder="请输入打包状态">
</el-input>
</el-form-item>
<el-form-item v-if="form.materialType === '成品'" label="包装要求" prop="packagingRequirement">
<el-form-item label="包装要求" prop="packagingRequirement">
<el-select v-model="form.packagingRequirement" placeholder="请选择包装要求" style="width: 100%">
<el-option label="裸包" value="裸包" />
<el-option label="普包" value="普包" />
@@ -358,6 +358,7 @@ export default {
ProductSelect,
RawMaterialSelect,
},
dicts: ['coil_quality_status'],
data() {
return {
// 物料列表相关
@@ -420,7 +421,7 @@ export default {
getItemLabel() {
if (this.form.materialType === '成品') {
return '产品类型';
} else if (this.form.materialType === '原料' || this.form.materialType === '废品') {
} else if (this.form.materialType === '原料') {
return '原料类型';
}
return '物品类型';
@@ -497,7 +498,7 @@ export default {
// 根据材料类型设置物品类型
if (value === '成品') {
this.form.itemType = 'product';
} else if (value === '原料' || value === '废品') {
} else if (value === '原料') {
this.form.itemType = 'raw_material';
}
},

View File

@@ -61,7 +61,6 @@
<el-select v-model="form.materialType" placeholder="请选择材料类型" @change="handleMaterialTypeChange">
<el-option label="成品" value="成品" />
<el-option label="原料" value="原料" />
<el-option label="废品" value="废品" />
</el-select>
</el-form-item>
</el-col>
@@ -76,12 +75,12 @@
</el-col>
</el-row>
<el-row v-if="form.materialType === '成品'">
<el-row>
<el-col :span="12">
<el-form-item v-if="form.materialType === '成品'" label="质量状态" prop="qualityStatus">
<el-form-item label="质量状态" prop="qualityStatus">
<el-select v-model="form.qualityStatus" placeholder="请选择质量状态" style="width: 100%"
:disabled="readonly">
<el-option label="A+" value="A+" />
<!-- <el-option label="A+" value="A+" />
<el-option label="A" value="A" />
<el-option label="A-" value="A-" />
<el-option label="B+" value="B+" />
@@ -89,12 +88,14 @@
<el-option label="B-" value="B-" />
<el-option label="C+" value="C+" />
<el-option label="C" value="C" />
<el-option label="C-" value="C-" />
<el-option label="C-" value="C-" /> -->
<el-option v-for="item in dict.type.coil_quality_status" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="form.materialType === '成品'" label="切边要求" prop="trimmingRequirement">
<el-form-item label="切边要求" prop="trimmingRequirement">
<el-select v-model="form.trimmingRequirement" placeholder="请选择切边要求" style="width: 100%"
:disabled="readonly">
<el-option label="净边料" value="净边料" />
@@ -103,13 +104,13 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="form.materialType === '成品'" label="打包状态" prop="packingStatus">
<el-form-item label="打包状态" prop="packingStatus">
<el-input v-model="form.packingStatus" placeholder="请输入打包状态" :disabled="readonly">
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="form.materialType === '成品'" label="包装要求" prop="packagingRequirement">
<el-form-item label="包装要求" prop="packagingRequirement">
<el-select v-model="form.packagingRequirement" placeholder="请选择包装要求" style="width: 100%"
:disabled="readonly">
<el-option label="裸包" value="裸包" />
@@ -143,14 +144,20 @@
<el-row>
<el-col :span="12">
<el-form-item label="质量状态" prop="qualityStatus">
<memo-input v-model="form.qualityStatus" placeholder="请输入质量状态" storageKey="qualityStatus">
</memo-input>
<!-- <memo-input v-model="form.qualityStatus" placeholder="请输入质量状态" storageKey="qualityStatus">
</memo-input> -->
<el-select v-model="form.qualityStatus" placeholder="请选择质量状态" style="width: 100%">
<el-option v-for="item in dict.type.coil_quality_status" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="切边要求" prop="trimmingRequirement">
<memo-input v-model="form.trimmingRequirement" placeholder="请输入切边要求" storageKey="trimmingRequirement">
</memo-input>
<el-select v-model="form.trimmingRequirement" placeholder="请选择切边要求" style="width: 100%">
<el-option label="净边料" value="净边料" />
<el-option label="毛边料" value="毛边料" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
@@ -161,9 +168,11 @@
</el-col>
<el-col :span="12">
<el-form-item label="包装要求" prop="packagingRequirement">
<memo-input v-model="form.packagingRequirement" placeholder="请输入包装要求"
storageKey="packagingRequirement">
</memo-input>
<el-select v-model="form.packagingRequirement" placeholder="请选择包装要求" style="width: 100%">
<el-option label="裸包" value="裸包" />
<el-option label="普包" value="普包" />
<el-option label="简包" value="简包" />
</el-select>
</el-form-item>
</el-col>
</el-row>
@@ -253,6 +262,7 @@ export default {
CoilSelector,
MemoInput
},
dicts: ['coil_quality_status'],
data() {
return {
pendingActions: [],
@@ -307,7 +317,7 @@ export default {
getItemLabel() {
if (this.form.materialType === '成品') {
return '产品类型';
} else if (this.form.materialType === '原料' || this.form.materialType === '废品') {
} else if (this.form.materialType === '原料') {
return '原料类型';
}
return '物品类型';
@@ -325,7 +335,7 @@ export default {
// 根据材料类型设置物品类型
if (value === '成品') {
this.form.itemType = 'product';
} else if (value === '原料' || value === '废品') {
} else if (value === '原料') {
this.form.itemType = 'raw_material';
}
},

View File

@@ -36,7 +36,7 @@
<el-col :span="12">
<el-form-item label="实际库区" prop="actualWarehouseId">
<actual-warehouse-select v-model="form.actualWarehouseId" placeholder="请选择实际库区" style="width: 100%;"
clearable :showEmpty="true" />
clearable :showEmpty="true" :canSelectDisabled="true" />
</el-form-item>
</el-col>
<el-col :span="12">
@@ -60,7 +60,6 @@
<el-select v-model="form.materialType" placeholder="请选择材料类型" @change="handleMaterialTypeChange">
<el-option label="成品" value="成品" />
<el-option label="原料" value="原料" />
<el-option label="废品" value="废品" />
</el-select>
</el-form-item>
</el-col>
@@ -73,12 +72,12 @@
</el-col>
</el-row>
<el-row v-if="form.materialType === '成品'">
<el-row>
<el-col :span="12">
<el-form-item v-if="form.materialType === '成品'" label="质量状态" prop="qualityStatus">
<el-form-item label="质量状态" prop="qualityStatus">
<el-select v-model="form.qualityStatus" placeholder="请选择质量状态" style="width: 100%"
:disabled="readonly">
<el-option label="A+" value="A+" />
<!-- <el-option label="A+" value="A+" />
<el-option label="A" value="A" />
<el-option label="A-" value="A-" />
<el-option label="B+" value="B+" />
@@ -86,12 +85,13 @@
<el-option label="B-" value="B-" />
<el-option label="C+" value="C+" />
<el-option label="C" value="C" />
<el-option label="C-" value="C-" />
<el-option label="C-" value="C-" /> -->
<el-option v-for="item in dict.type.coil_quality_status" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="form.materialType === '成品'" label="切边要求" prop="trimmingRequirement">
<el-form-item label="切边要求" prop="trimmingRequirement">
<el-select v-model="form.trimmingRequirement" placeholder="请选择切边要求" style="width: 100%"
:disabled="readonly">
<el-option label="净边料" value="净边料" />
@@ -100,13 +100,13 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="form.materialType === '成品'" label="打包状态" prop="packingStatus">
<el-form-item label="打包状态" prop="packingStatus">
<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-form-item label="包装要求" prop="packagingRequirement">
<el-select v-model="form.packagingRequirement" placeholder="请选择包装要求" style="width: 100%"
:disabled="readonly">
<el-option label="裸包" value="裸包" />
@@ -304,6 +304,7 @@ export default {
ProductSelect,
RawMaterialSelect,
},
dicts: ['coil_quality_status'],
data() {
return {
// 物料列表相关
@@ -364,7 +365,7 @@ export default {
getItemLabel() {
if (this.form.materialType === '成品') {
return '产品类型';
} else if (this.form.materialType === '原料' || this.form.materialType === '废品') {
} else if (this.form.materialType === '原料') {
return '原料类型';
}
return '物品类型';
@@ -424,7 +425,7 @@ export default {
// 根据材料类型设置物品类型
if (value === '成品') {
this.form.itemType = 'product';
} else if (value === '原料' || value === '废品') {
} else if (value === '原料') {
this.form.itemType = 'raw_material';
}
},

View File

@@ -60,7 +60,6 @@
<el-select v-model="form.materialType" placeholder="请选择材料类型" @change="handleMaterialTypeChange">
<el-option label="成品" value="成品" />
<el-option label="原料" value="原料" />
<el-option label="废品" value="废品" />
</el-select>
</el-form-item>
</el-col>
@@ -75,27 +74,27 @@
</el-col>
</el-row>
<el-row v-if="form.materialType === '成品'">
<el-row>
<el-col :span="12">
<el-form-item v-if="form.materialType === '成品'" label="质量状态" prop="qualityStatus">
<el-form-item label="质量状态" prop="qualityStatus">
<el-input v-model="form.qualityStatus" placeholder="请输入质量状态" :disabled="readonly">
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="form.materialType === '成品'" label="切边要求" prop="trimmingRequirement">
<el-form-item label="切边要求" prop="trimmingRequirement">
<el-input v-model="form.trimmingRequirement" placeholder="请输入切边要求" :disabled="readonly">
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="form.materialType === '成品'" label="打包状态" prop="packingStatus">
<el-form-item label="打包状态" prop="packingStatus">
<el-input v-model="form.packingStatus" placeholder="请输入打包状态" :disabled="readonly">
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item v-if="form.materialType === '成品'" label="包装要求" prop="packagingRequirement">
<el-form-item label="包装要求" prop="packagingRequirement">
<el-input v-model="form.packagingRequirement" placeholder="请输入包装要求" :disabled="readonly">
</el-input>
</el-form-item>
@@ -268,7 +267,7 @@ export default {
getItemLabel() {
if (this.form.materialType === '成品') {
return '产品类型';
} else if (this.form.materialType === '原料' || this.form.materialType === '废品') {
} else if (this.form.materialType === '原料') {
return '原料类型';
}
return '物品类型';
@@ -286,7 +285,7 @@ export default {
// 根据材料类型设置物品类型
if (value === '成品') {
this.form.itemType = 'product';
} else if (value === '原料' || value === '废品') {
} else if (value === '原料') {
this.form.itemType = 'raw_material';
}
},

View File

@@ -60,10 +60,10 @@
<el-row v-if="form.materialType === '成品'">
<el-col :span="24">
<el-form-item v-if="form.materialType === '成品'" label="质量状态" prop="qualityStatus">
<el-form-item label="质量状态" prop="qualityStatus">
<el-select v-model="form.qualityStatus" placeholder="请选择质量状态" style="width: 100%"
:disabled="readonly">
<el-option label="A+" value="A+" />
<!-- <el-option label="A+" value="A+" />
<el-option label="A" value="A" />
<el-option label="A-" value="A-" />
<el-option label="B+" value="B+" />
@@ -71,12 +71,13 @@
<el-option label="B-" value="B-" />
<el-option label="C+" value="C+" />
<el-option label="C" value="C" />
<el-option label="C-" value="C-" />
<el-option label="C-" value="C-" /> -->
<el-option v-for="item in dict.type.coil_quality_status" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item v-if="form.materialType === '成品'" label="切边要求" prop="trimmingRequirement">
<el-form-item label="切边要求" prop="trimmingRequirement">
<el-select v-model="form.trimmingRequirement" placeholder="请选择切边要求" style="width: 100%"
:disabled="readonly">
<el-option label="净边料" value="净边料" />
@@ -85,13 +86,13 @@
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item v-if="form.materialType === '成品'" label="打包状态" prop="packingStatus">
<el-form-item label="打包状态" prop="packingStatus">
<el-input v-model="form.packingStatus" placeholder="请输入打包状态">
</el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item v-if="form.materialType === '成品'" label="包装要求" prop="packagingRequirement">
<el-form-item label="包装要求" prop="packagingRequirement">
<el-select v-model="form.packagingRequirement" placeholder="请选择包装要求" style="width: 100%"
:disabled="readonly">
<el-option label="裸包" value="裸包" />
@@ -126,7 +127,6 @@
<el-select v-model="form.materialType" placeholder="请选择材料类型" @change="handleMaterialTypeChange">
<el-option label="成品" value="成品" />
<el-option label="原料" value="原料" />
<el-option label="废品" value="废品" />
</el-select>
</el-form-item>
</el-col>
@@ -273,20 +273,19 @@
<el-select v-model="editCoil.form.materialType" placeholder="请选择材料类型" @change="handleMaterialTypeChange">
<el-option label="成品" value="成品" />
<el-option label="原料" value="原料" />
<el-option label="废品" value="废品" />
</el-select>
</el-form-item>
<el-form-item :label="getItemLabel" prop="itemId">
<product-select v-if="editCoil.form.itemType == 'product' && editCoil.form.materialType === '成品'" v-model="editCoil.form.itemId" placeholder="请选择成品"
style="width: 100%;" clearable />
<raw-material-select v-else-if="editCoil.form.itemType == 'raw_material' && (editCoil.form.materialType === '原料' || editCoil.form.materialType === '废品')" v-model="editCoil.form.itemId"
<raw-material-select v-else-if="editCoil.form.itemType == 'raw_material' && (editCoil.form.materialType === '原料')" v-model="editCoil.form.itemId"
placeholder="请选择原料" style="width: 100%;" clearable />
<div v-else>请先选择材料类型</div>
</el-form-item>
<el-form-item v-if="editCoil.form.materialType === '成品'" label="质量状态" prop="qualityStatus">
<el-form-item label="质量状态" prop="qualityStatus">
<el-select v-model="editCoil.form.qualityStatus" placeholder="请选择质量状态" style="width: 100%"
:disabled="readonly">
<el-option label="A+" value="A+" />
<!-- <el-option label="A+" value="A+" />
<el-option label="A" value="A" />
<el-option label="A-" value="A-" />
<el-option label="B+" value="B+" />
@@ -294,11 +293,12 @@
<el-option label="B-" value="B-" />
<el-option label="C+" value="C+" />
<el-option label="C" value="C" />
<el-option label="C-" value="C-" />
<el-option label="C-" value="C-" /> -->
<el-option v-for="item in dict.type.coil_quality_status" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item v-if="editCoil.form.materialType === '成品'" label="切边要求" prop="trimmingRequirement">
<el-form-item label="切边要求" prop="trimmingRequirement">
<el-select v-model="editCoil.form.trimmingRequirement" placeholder="请选择切边要求" style="width: 100%"
:disabled="readonly">
<el-option label="净边料" value="净边料" />
@@ -306,12 +306,12 @@
</el-select>
</el-form-item>
<el-form-item v-if="editCoil.form.materialType === '成品'" label="打包状态" prop="packingStatus">
<el-form-item label="打包状态" prop="packingStatus">
<el-input v-model="editCoil.form.packingStatus" placeholder="请输入打包状态" :disabled="readonly">
</el-input>
</el-form-item>
<el-form-item v-if="editCoil.form.materialType === '成品'" label="包装要求" prop="packagingRequirement">
<el-form-item label="包装要求" prop="packagingRequirement">
<el-select v-model="editCoil.form.packagingRequirement" placeholder="请选择包装要求" style="width: 100%"
:disabled="readonly">
<el-option label="裸包" value="裸包" />
@@ -366,6 +366,7 @@ export default {
LabelRender,
CoilNo,
},
dicts: ['coil_quality_status'],
data() {
return {
pendingActions: [],
@@ -502,7 +503,7 @@ export default {
getItemLabel() {
if (this.form.materialType === '成品') {
return '产品类型';
} else if (this.form.materialType === '原料' || this.form.materialType === '废品') {
} else if (this.form.materialType === '原料') {
return '原料类型';
}
return '物品类型';
@@ -516,7 +517,7 @@ export default {
// 根据材料类型设置物品类型
if (value === '成品') {
this.form.itemType = 'product';
} else if (value === '原料' || value === '废品') {
} else if (value === '原料') {
this.form.itemType = 'raw_material';
}
},
@@ -526,7 +527,7 @@ export default {
// 根据材料类型设置物品类型
if (value === '成品') {
this.editCoil.form.itemType = 'product';
} else if (value === '原料' || value === '废品') {
} else if (value === '原料') {
this.editCoil.form.itemType = 'raw_material';
}
},