Merge remote-tracking branch 'origin/0.8.X' into 0.8.X

This commit is contained in:
2025-11-05 10:17:51 +08:00
7 changed files with 50 additions and 11 deletions

View File

@@ -7,11 +7,12 @@
<div v-else style="padding: 10px;">未搜索到产品</div>
</template>
<el-option v-for="item in productOptions" :key="item.productId"
:label="`${item.productName}${getSku(item)}`" :value="item.productId">
<div>
:label="getLabel(item)" :value="item.productId">
<div>
<div class="option-label">
<span class="product-name">{{ item.productName }}</span>
<span class="product-code">{{ getSku(item) }}</span>
{{ getLabel(item) }}
<!-- <span class="product-name">{{ item.productName }}[{{ item.specification }}]</span>
<span class="product-code">{{ getSku(item) }}</span> -->
</div>
</div>
</el-option>
@@ -140,10 +141,17 @@ export default {
},
methods: {
getProductOptions() {
listProductWithBom({ pageNum: 1, pageSize: 1000, type: 'product' }).then(res => {
listProductWithBom({ pageNum: 1, pageSize: 1000 }).then(res => {
this.productOptions = res.rows || [];
});
},
getLabel(item) {
// 产品名称[规格](SKU),如果有则写,没有则省略
if (!item.specification) {
return `${item.productName}(${this.getSku(item)})`
}
return `${item.productName}[${item.specification}](${this.getSku(item)})`
},
getSku(item) {
const boms = item.bomItems || [];
console.log(boms, '产品BOM');

View File

@@ -7,11 +7,12 @@
<div v-else style="padding: 10px;">未搜索到原材料</div>
</template>
<el-option v-for="item in rawMaterialList" :key="item.rawMaterialId"
:label="`${item.rawMaterialName}${getSku(item)}`" :value="item.rawMaterialId">
:label="getLabel(item)" :value="item.rawMaterialId">
<div>
<div class="option-label">
<span class="material-name">{{ item.rawMaterialName }}</span>
<span class="material-code">{{ getSku(item) }}</span>
{{ getLabel(item) }}
<!-- <span class="material-name">{{ item.rawMaterialName }}[{{ item.specification }}]</span>
<span class="material-code">{{ getSku(item) }}</span> -->
</div>
</div>
</el-option>
@@ -148,6 +149,13 @@ export default {
const rawMaterial = this.options.find(p => p.rawMaterialId === val);
this.$emit('change', rawMaterial);
},
getLabel(item) {
// 原材料名称[规格](SKU),如果有则写,没有则省略
if (!item.specification) {
return `${item.rawMaterialName}(${this.getSku(item)})`
}
return `${item.rawMaterialName}[${item.specification}](${this.getSku(item)})`
},
getSku(item) {
const boms = item.bomItems;
if (!boms || boms.length === 0) {

View File

@@ -22,6 +22,9 @@
<el-descriptions-item label="产品编码">
{{ product.productCode || '--' }}
</el-descriptions-item>
<el-descriptions-item label="规格">
{{ product.specification || '--' }}
</el-descriptions-item>
</el-descriptions>
<BomInfo :bomId="product.bomId" />
</el-dialog>

View File

@@ -12,6 +12,7 @@
<el-descriptions-item label="原材料ID">{{ material.rawMaterialId }}</el-descriptions-item>
<el-descriptions-item label="原材料名称">{{ material.rawMaterialName }}</el-descriptions-item>
<el-descriptions-item label="原材料编码">{{ material.rawMaterialCode }}</el-descriptions-item>
<el-descriptions-item label="规格">{{ material.specification }}</el-descriptions-item>
</el-descriptions>
<BomInfo :bomId="material.bomId" />
</el-dialog>

View File

@@ -391,7 +391,7 @@ export default {
...row,
itemName: item?.itemName || '',
material: material?.attrValue || '',
specification: specification?.attrValue || '',
specification: specification?.attrValue || item?.specification || '',
};
},
/** 下载二维码 */

View File

@@ -20,6 +20,9 @@
<el-form-item label="负责人" prop="salesManager">
<el-input v-model="queryParams.owner" :multiple="false" placeholder="请填写负责人" />
</el-form-item>
<el-form-item label="规格" prop="specification">
<el-input v-model="queryParams.specification" placeholder="请输入规格" clearable />
</el-form-item>
<!-- <el-form-item label="基础材质" prop="baseMaterialId">
<CategorySelect v-model="queryParams.baseMaterialId" categoryType="base_material" placeholder="请选择基础材质分类" clearable />
</el-form-item>
@@ -96,6 +99,7 @@
<el-table-column label="产品类型编号" align="center" prop="productCode" />
<el-table-column label="产品类型名称" align="center" prop="productName" />
<el-table-column label="负责人" align="center" prop="owner" />
<el-table-column label="规格" align="center" prop="specification" />
<!-- <el-table-column label="基础材质" align="center">
<template slot-scope="scope">
<CategoryRenderer :category-id="scope.row.baseMaterialId" />
@@ -192,6 +196,10 @@
<el-form-item label="计量单位" prop="unit">
<el-input v-model="form.unit" placeholder="请输入计量单位" />
</el-form-item>
<el-form-item label="规格" prop="specification">
<el-input v-model="form.specification" placeholder="请输入规格" />
</el-form-item>
<!-- </el-col>
</el-row> -->
@@ -306,7 +314,7 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 20,
type: 'product',
type: undefined,
productCode: undefined,
productName: undefined,
owner: undefined,
@@ -317,6 +325,7 @@ export default {
thickness: undefined,
width: undefined,
innerDiameter: undefined,
specification: undefined,
isEnabled: undefined,
},
// 表单参数
@@ -381,7 +390,8 @@ export default {
createBy: undefined,
updateTime: undefined,
updateBy: undefined,
type: 'product'
type: undefined,
specification: undefined,
};
this.resetForm("form");
},

View File

@@ -17,6 +17,9 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="规格" prop="specification">
<el-input v-model="queryParams.specification" placeholder="请输入规格" clearable />
</el-form-item>
<!-- <el-form-item label="钢种/牌号" prop="steelGrade">
<el-input
v-model="queryParams.steelGrade"
@@ -113,6 +116,7 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="原材料类型编号" align="center" prop="rawMaterialCode" />
<el-table-column label="原材料类型名称" align="center" prop="rawMaterialName" />
<el-table-column label="规格" align="center" prop="specification" />
<el-table-column label="计量单位" align="center" prop="unit" />
<!-- <el-table-column label="钢种/牌号" align="center" prop="steelGrade" /> -->
<!-- <el-table-column label="目标冷轧牌号" align="center" prop="targetColdGrade" />
@@ -180,6 +184,9 @@
<el-form-item label="原材料名称" prop="rawMaterialName">
<el-input v-model="form.rawMaterialName" placeholder="请输入原材料名称" />
</el-form-item>
<el-form-item label="规格" prop="specification">
<el-input v-model="form.specification" placeholder="请输入规格" />
</el-form-item>
<el-form-item label="计量单位" prop="unit">
<el-input v-model="form.unit" placeholder="请输入计量单位" />
</el-form-item>
@@ -361,6 +368,7 @@ export default {
inspectionResult: undefined,
isEnabled: undefined,
unit: undefined,
specification: undefined,
},
// 表单参数
form: {},
@@ -442,6 +450,7 @@ export default {
createBy: undefined,
updateTime: undefined,
updateBy: undefined,
specification: undefined,
unit: '卷',
};
this.resetForm("form");