Files
klp-oa/klp-ui/src/components/KLPService/Renderer/RawMaterialInfo.vue
砂糖 06a806b5ea fix: 将“锌层”标签统一修改为“镀层质量”
统一产品信息和原材料信息展示界面中“锌层”标签为“镀层质量”,包括表单、表格和详情展示部分,确保术语一致性
2026-01-21 17:14:07 +08:00

84 lines
2.8 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 || '无厂家' }}
</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.surfaceTreatment || '',
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>