feat(wms): 新增分条报表配置及功能优化

- 添加分条报表相关配置及视图组件
- 优化标签打印尺寸及布局
- 增加实测厚度字段及相关展示逻辑
- 重构报表数据获取逻辑,统一处理异常情况
- 完善分条操作表单,增加异常信息管理
This commit is contained in:
砂糖
2026-03-26 15:13:08 +08:00
parent 281f86ca8c
commit a389a98664
22 changed files with 349 additions and 163 deletions

View File

@@ -3,18 +3,19 @@
<div class="material-label-grid">
<!-- 公司名称行 -->
<div class="grid-cell company-cell">嘉祥科伦普重工有限公司</div>
<!-- 第一行冷卷号热卷号 -->
<div class="grid-cell label-cell">原料号</div>
<div class="grid-cell value-cell">
<div class="nob">{{ content.enterCoilNo|| '' }}</div>
</div>
<div class="grid-cell label-cell">钢卷号</div>
<div class="grid-cell value-cell">
<div class="nob">{{ content.currentCoilNo || '' }}</div>
</div>
<!-- 第二行规格钢种 -->
<div class="grid-cell label-cell">原料号</div>
<div class="grid-cell value-cell">
<div class="nob">{{ content.enterCoilNo || '' }}</div>
</div>
<!-- 第二行规格净重 -->
<div class="grid-cell label-cell">规格</div>
<div class="grid-cell value-cell">
<div class="nob">{{ content.specification || '' }}</div>
@@ -23,26 +24,29 @@
<div class="grid-cell value-cell">
<div class="nob">{{ content.netWeight || '' }}</div>
</div>
<!-- 第三行净重下工序 -->
<!-- 第三行开始材质二维码二维码占据右侧三行两列 -->
<div class="grid-cell label-cell">材质</div>
<div class="grid-cell value-cell">
<div class="nob">{{ content.material || '' }}</div>
</div>
<div class="grid-cell value-cell qrcode-cell">
<QRCode :content="content.qrcodeRecordId" :width="80" :height="80" />
</div>
<!-- 第四行厂家 -->
<div class="grid-cell label-cell">厂家</div>
<div class="grid-cell value-cell">
<div class="nob">{{ content.manufacturer }}</div>
</div>
<!-- 包装要求切边要求 -->
<div class="grid-cell label-cell">生产班组</div>
<div class="grid-cell value-cell">
<div class="nob">{{ content.team || '' }}</div>
</div>
<!-- 生产日期 -->
<div class="grid-cell label-cell">生产日期</div>
<div class="grid-cell value-cell">
<div class="nob">{{ formatDate(content.createTime) }}</div>
</div>
<!-- 增加一个二维码展示两行三列的网格元素 -->
</div>
</div>
</template>
@@ -163,8 +167,8 @@ export default {
<style scoped>
.label-container {
width: 45em;
height: 25em;
width: 25em;
height: 20em;
padding: 16px;
font-family: "SimSun", serif;
box-sizing: border-box;
@@ -173,8 +177,10 @@ export default {
/* 核心Grid布局 */
.material-label-grid {
display: grid;
grid-template-columns: repeat(4, 1fr); /* 4列等宽 */
grid-auto-rows: 1fr; /* 行高自适应 */
grid-template-columns: 1fr 1.6fr 1fr 1fr;
/* 4列等宽 */
grid-auto-rows: 1fr;
/* 行高自适应 */
width: 100%;
height: 100%;
border: 1px solid #333;
@@ -184,7 +190,7 @@ export default {
.grid-cell {
border: 1px solid #333;
padding: 4px;
font-size: 20px;
font-size: 13px;
box-sizing: border-box;
text-align: center;
word-break: break-all;
@@ -192,12 +198,15 @@ export default {
display: flex;
align-items: center;
justify-content: center;
color: #000;
font-family: '黑体', serif;
}
/* 公司名称单元格 */
.company-cell {
grid-column: span 4; /* 跨4列 */
font-size: 24px;
grid-column: span 4;
/* 跨4列 */
font-size: 20px;
font-weight: bold;
/* background-color: #f5f5f5; */
}
@@ -218,9 +227,12 @@ export default {
grid-column: span 2;
}
/* 二维码单元格(跨2列+2 */
/* 二维码单元格(跨3行+2 */
.qrcode-cell {
grid-row: span 2; /* 跨2行 */
grid-row: span 3;
/* 跨3行 */
grid-column: span 2;
/* 跨2列 */
display: flex;
align-items: center;
justify-content: center;
@@ -229,7 +241,8 @@ export default {
.qrcode-container {
width: 80%;
height: 80%;
border: 1px dashed #999; /* 占位虚线 */
border: 1px dashed #999;
/* 占位虚线 */
}
/* 内容可编辑区域 */
@@ -248,7 +261,7 @@ export default {
font-weight: bold;
color: #000;
font-family: '黑体', serif;
font-size: 1.2em;
font-size: 1em;
}
/* 打印样式 */

View File

@@ -47,8 +47,8 @@
<SplitTag
v-if="tagType === 'split'"
:content="content"
:paperWidthMm="180"
:paperHeightMm="100"
:paperWidthMm="100"
:paperHeightMm="80"
/>
</div>
<div class="action-buttons" v-if="!hideActions">
@@ -121,8 +121,8 @@ export default {
height: 100,
},
'split': {
width: 180,
height: 100,
width: 100,
height: 80,
},
}
}