feat(wms): 新增标签预览功能及相关组件

添加盐雾试验、力学性能、样品、生产和外标签预览组件
实现标签图片下载和打印功能
调整钢卷管理页面布局和功能
优化大屏展示的全屏处理逻辑
This commit is contained in:
砂糖
2025-10-30 14:36:01 +08:00
parent fb78222796
commit 824ce738a9
14 changed files with 1006 additions and 25 deletions

View File

@@ -56,9 +56,10 @@
{{ scope.row.itemType == 'product' ? '成品' : '原料' }}
</template>
</el-table-column>
<el-table-column label="仓库" align="center" prop="warehouseName" />
<el-table-column label="物品" align="center" prop="itemName">
<template slot-scope="scope">
<ProductInfo v-if="scope.row.itemType == 'product'" productId="scope.row.itemId">
<ProductInfo v-if="scope.row.itemType == 'product'" :productId="scope.row.itemId">
<template slot-scope="{ product }">
{{ product.productName }}({{ product.productCode }})
</template>
@@ -83,8 +84,6 @@
<el-table-column label="班组" align="center" prop="team" />
<el-table-column label="毛重" align="center" prop="grossWeight" />
<el-table-column label="净重" align="center" prop="netWeight" />
<el-table-column label="仓库" align="center" prop="warehouseName" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
@@ -92,6 +91,9 @@
v-if="qrcode">
下载二维码
</el-button>
<el-button size="mini" type="text" icon="el-icon-view" @click="handlePreviewLabel(scope.row)">
预览标签
</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleCheck(scope.row)">修正</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
<el-button size="mini" type="text" icon="el-icon-search" @click="handleTrace(scope.row)">追溯</el-button>
@@ -150,6 +152,11 @@
<el-dialog title="钢卷追溯" :visible.sync="traceOpen" width="90%" append-to-body>
<coil-trace-result :trace-result="traceResult"></coil-trace-result>
</el-dialog>
<!-- 标签预览弹窗 -->
<el-dialog title="标签预览" :visible.sync="labelRender.visible" append-to-body>
<label-render :content="labelRender.data" :labelType="labelType" />
</el-dialog>
</div>
</template>
@@ -164,10 +171,9 @@ import RawMaterialSelect from "@/components/KLPService/RawMaterialSelect";
import ProductInfo from "@/components/KLPService/Renderer/ProductInfo";
import BomInfoMini from "@/components/KLPService/Renderer/BomInfoMini";
import RawMaterialInfo from "@/components/KLPService/Renderer/RawMaterialInfo";
import RightToolbar from "@/components/RightToolbar";
import Pagination from "@/components/Pagination";
// 引入封装的追溯结果组件
import CoilTraceResult from "./CoilTraceResult.vue"; // 路径根据实际存放位置调整
import LabelRender from './LabelRender/index.vue'
export default {
name: "MaterialCoil",
@@ -180,9 +186,8 @@ export default {
ProductInfo,
RawMaterialInfo,
BomInfoMini,
RightToolbar,
Pagination,
CoilTraceResult // 注册组件
CoilTraceResult,
LabelRender
},
props: {
qrcode: {
@@ -192,6 +197,10 @@ export default {
querys: {
type: Object,
default: () => {},
},
labelType: {
type: String,
default: '2'
}
},
data() {
@@ -254,6 +263,11 @@ export default {
itemType: [
{ required: true, message: "物品类型不能为空", trigger: "change" }
]
},
labelRender: {
visible: false,
data: {},
type: '2'
}
};
},
@@ -284,6 +298,11 @@ export default {
this.$message.error('溯源查询失败,请重试');
});
},
/** 预览标签 */
handlePreviewLabel(row) {
this.labelRender.visible = true;
this.labelRender.data = row;
},
/** 下载二维码 */
handleDownloadQRCode(row) {
try {
@@ -424,7 +443,7 @@ export default {
},
/** 导出按钮操作 */
handleExport() {
this.download('system/materialCoil/export', {
this.download('wms/materialCoil/export', {
...this.queryParams
}, `materialCoil_${new Date().getTime()}.xlsx`)
}