feat(组件): 增强物料选择组件功能并优化样式

- 为ProductSelect、MaterialSelect和RawMaterialSelect组件添加多选支持
- 优化el-select组件样式,调整高度和标签显示宽度
- 在QRCode组件中添加内容变化监听自动生成二维码
- 在标签预览组件中添加qrcodeRecordId字段
- 在基础面板中添加物料多选查询和状态筛选功能
This commit is contained in:
砂糖
2025-11-01 13:02:42 +08:00
parent 66b740288b
commit 6cb591a7ce
8 changed files with 98 additions and 23 deletions

View File

@@ -1,14 +1,14 @@
<template>
<span>
<el-form-item label="物料类型">
<el-form-item label="物料类型" v-show="!hideType">
<el-select v-model="_itemType" placeholder="请选择物料类型" clearable>
<el-option v-for="dict in dict.type.stock_item_type" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="物料信息">
<ProductSelect v-if="_itemType === 'product'" v-model="_itemId" placeholder="请选择产品" @change="onItemChange" />
<SemiSelect v-else-if="_itemType === 'semi'" v-model="_itemId" placeholder="请选择半成品" @change="onItemChange" />
<RawMaterialSelect v-else-if="_itemType === 'raw_material'" v-model="_itemId" placeholder="请选择原材料" @change="onItemChange" />
<el-form-item label="产品类型">
<ProductSelect v-if="_itemType === 'product'" v-model="_itemId" placeholder="请选择产品" @change="onItemChange" :multiple="multiple" />
<SemiSelect v-else-if="_itemType === 'semi'" v-model="_itemId" placeholder="请选择半成品" @change="onItemChange" :multiple="multiple" />
<RawMaterialSelect v-else-if="_itemType === 'raw_material'" v-model="_itemId" placeholder="请选择原材料" @change="onItemChange" :multiple="multiple" />
<el-input v-else disabled v-model="_itemId" placeholder="请先选择物料类型" :disabled="true" style="width: 100%;" />
</el-form-item>
</span>
@@ -32,9 +32,17 @@
require: true
},
itemId: {
type: String,
type: [String, Array],
require: true
}
},
hideType: {
type: Boolean,
default: false
},
multiple: {
default: false,
type: Boolean
},
},
// 计算属性劫持双向绑定的数据
computed: {