Files
klp-oa/klp-ui/src/components/KLPService/Renderer/RawMaterialInfo.vue
砂糖 273d7c44b7 feat(wms/coil): 新增按名称查询钢卷功能并优化产品信息展示
添加镀锌卷、热轧卷、冷轧卷、冷硬卷的按名称查询页面组件
在产品信息和原材料信息展示中增加镀层信息显示
移除base.vue中未使用的BomInfoMini组件
优化DrillDownTable.vue的代码结构
新增ByName.vue作为通用查询面板
2026-03-07 10:24:28 +08:00

84 lines
2.9 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div>
<!-- 原材料名称仅hover触发popover -->
<el-popover
trigger="hover"
placement="top"
width="400"
:visible-arrow="true"
append-to-body
popper-class="raw-material-info-popover"
>
<!-- popover 内容两列布局的描述列表 -->
<el-descriptions :column="2" class="popover-content">
<el-descriptions-item label="原材料名称">{{ materialFull.rawMaterialName || '--' }}</el-descriptions-item>
<!-- <el-descriptions-item label="原材料编码">{{ materialFull.rawMaterialCode || '--' }}</el-descriptions-item> -->
<el-descriptions-item label="规格">{{ materialFull.specification || '--' }}</el-descriptions-item>
<el-descriptions-item label="材质">{{ materialFull.material || '--' }}</el-descriptions-item>
<el-descriptions-item label="表面处理">{{ materialFull.surfaceTreatment || '--' }}</el-descriptions-item>
<el-descriptions-item label="镀层质量">{{ materialFull.zincLayer || '--' }}</el-descriptions-item>
<el-descriptions-item label="厂家">{{ materialFull.manufacturer || '--' }}</el-descriptions-item>
</el-descriptions>
<!-- 触发元素原材料名称文本 -->
<span slot="reference" class="material-name">
<slot name="default" :material="materialFull">
{{ materialFull.rawMaterialName || '未知' }}[{{ materialFull.specification || '无规格' }}]({{ materialFull.material || '无材质' }})-{{ materialFull.manufacturer || '无厂家' }}-{{ materialFull.zincLayer || '无镀层' }}
</slot>
</span>
</el-popover>
</div>
</template>
<script>
import BomInfo from './BomInfo.vue'; // 保留导入(如需使用可解除注释)
export default {
name: 'RawMaterialInfo',
components: {
BomInfo
},
props: {
material: {
type: Object,
default: () => ({})
}
},
data() {
return {
// 移除showDetailhover触发无需弹窗控制变量
};
},
computed: {
materialFull() {
// 完整的material确保每个字段有默认值
if (!this.material) {
return {};
}
return {
rawMaterialId: this.material.rawMaterialId || '',
rawMaterialName: this.material.rawMaterialName || '',
rawMaterialCode: this.material.rawMaterialCode || '',
specification: this.material.specification || '',
material: this.material.material || '',
surfaceTreatment: this.material.surfaceTreatmentDesc || '',
zincLayer: this.material.zincLayer || '',
manufacturer: this.material.manufacturer || '',
};
}
},
methods: {
// 移除click事件相关方法无需点击触发
},
};
</script>
<style scoped>
.material-name {
color: #1890ff;
cursor: pointer;
text-decoration: underline;
/* 优化hover触发区域 */
padding: 2px 4px;
}
</style>