|
|
@@ -21,45 +21,57 @@
|
|
|
</tr>
|
|
|
</table>
|
|
|
|
|
|
- <table style="width: 100%; border-collapse: collapse; margin-top: -1px;">
|
|
|
+ <table class="material-detail-table" style="width: 100%; border-collapse: collapse; margin-top: -1px; table-layout: fixed;">
|
|
|
+ <colgroup>
|
|
|
+ <col style="width: 4%;" />
|
|
|
+ <col style="width: 14%;" />
|
|
|
+ <col style="width: 14%;" />
|
|
|
+ <col style="width: 7%;" />
|
|
|
+ <col style="width: 11%;" />
|
|
|
+ <col style="width: 11%;" />
|
|
|
+ <col style="width: 9.75%;" />
|
|
|
+ <col style="width: 9.75%;" />
|
|
|
+ <col style="width: 9.75%;" />
|
|
|
+ <col style="width: 9.75%;" />
|
|
|
+ </colgroup>
|
|
|
<thead>
|
|
|
<tr>
|
|
|
- <th style="border: 1px solid #000; padding: 6px; text-align: center; width: 4%;"></th>
|
|
|
- <th style="border: 1px solid #000; padding: 6px; text-align: center;">物料名称</th>
|
|
|
- <th style="border: 1px solid #000; padding: 6px; text-align: center;">规格型号</th>
|
|
|
- <th style="border: 1px solid #000; padding: 6px; text-align: center;">单位</th>
|
|
|
- <th style="border: 1px solid #000; padding: 6px; text-align: center;">领用数<br/>量</th>
|
|
|
- <th style="border: 1px solid #000; padding: 6px; text-align: center;">不合格<br/>数量</th>
|
|
|
- <th style="border: 1px solid #000; padding: 6px; text-align: center;">取样量</th>
|
|
|
- <th style="border: 1px solid #000; padding: 6px; text-align: center;">使用量</th>
|
|
|
- <th style="border: 1px solid #000; padding: 6px; text-align: center;">结余量</th>
|
|
|
- <th style="border: 1px solid #000; padding: 6px; text-align: center;">平衡率</th>
|
|
|
+ <th class="material-detail-head"></th>
|
|
|
+ <th class="material-detail-head">物料名称</th>
|
|
|
+ <th class="material-detail-head">规格型号</th>
|
|
|
+ <th class="material-detail-head">单位</th>
|
|
|
+ <th class="material-detail-head">领用数<br/>量</th>
|
|
|
+ <th class="material-detail-head">不合格<br/>数量</th>
|
|
|
+ <th class="material-detail-head">取样量</th>
|
|
|
+ <th class="material-detail-head">使用量</th>
|
|
|
+ <th class="material-detail-head">结余量</th>
|
|
|
+ <th class="material-detail-head">平衡率</th>
|
|
|
</tr>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
<tr v-for="(item, idx) in paddedRawMaterialList" :key="'raw' + idx">
|
|
|
- <td v-if="idx === 0" :rowspan="rawMaterialRows" style="border: 1px solid #000; padding: 6px; text-align: center; vertical-align: middle; writing-mode: vertical-lr; letter-spacing: 4px;">原材料</td>
|
|
|
- <td style="border: 1px solid #000; padding: 6px; text-align: center;">{{ item.materialName }}</td>
|
|
|
- <td style="border: 1px solid #000; padding: 6px; text-align: center;">{{ item.specification }}</td>
|
|
|
- <td style="border: 1px solid #000; padding: 6px; text-align: center;">{{ item.unit }}</td>
|
|
|
- <td style="border: 1px solid #000; padding: 6px; text-align: center;">{{ item.receiveQuantity }}</td>
|
|
|
- <td style="border: 1px solid #000; padding: 6px; text-align: center;">{{ item.unqualifiedQuantity }}</td>
|
|
|
- <td style="border: 1px solid #000; padding: 6px; text-align: center;">{{ item.sampleQuantity }}</td>
|
|
|
- <td style="border: 1px solid #000; padding: 6px; text-align: center;">{{ item.usedQuantity }}</td>
|
|
|
- <td style="border: 1px solid #000; padding: 6px; text-align: center;">{{ item.remainQuantity }}</td>
|
|
|
- <td style="border: 1px solid #000; padding: 6px; text-align: center;">{{ item.balanceRate }}</td>
|
|
|
+ <td v-if="idx === 0" :rowspan="rawMaterialRows" class="material-category-cell">原材料</td>
|
|
|
+ <td class="material-detail-cell">{{ item.materialName }}</td>
|
|
|
+ <td class="material-detail-cell">{{ item.specification }}</td>
|
|
|
+ <td class="material-detail-cell">{{ item.unit }}</td>
|
|
|
+ <td class="material-detail-cell">{{ item.receiveQuantity }}</td>
|
|
|
+ <td class="material-detail-cell">{{ item.unqualifiedQuantity }}</td>
|
|
|
+ <td class="material-detail-cell">{{ item.sampleQuantity }}</td>
|
|
|
+ <td class="material-detail-cell">{{ item.usedQuantity }}</td>
|
|
|
+ <td class="material-detail-cell">{{ item.remainQuantity }}</td>
|
|
|
+ <td class="material-detail-cell">{{ item.balanceRate }}</td>
|
|
|
</tr>
|
|
|
<tr v-for="(item, idx) in paddedPackagingMaterialList" :key="'pkg' + idx">
|
|
|
- <td v-if="idx === 0" :rowspan="packagingMaterialRows" style="border: 1px solid #000; padding: 6px; text-align: center; vertical-align: middle; writing-mode: vertical-lr; letter-spacing: 4px;">包装材料</td>
|
|
|
- <td style="border: 1px solid #000; padding: 6px; text-align: center;">{{ item.materialName }}</td>
|
|
|
- <td style="border: 1px solid #000; padding: 6px; text-align: center;">{{ item.specification }}</td>
|
|
|
- <td style="border: 1px solid #000; padding: 6px; text-align: center;">{{ item.unit }}</td>
|
|
|
- <td style="border: 1px solid #000; padding: 6px; text-align: center;">{{ item.receiveQuantity }}</td>
|
|
|
- <td style="border: 1px solid #000; padding: 6px; text-align: center;">{{ item.unqualifiedQuantity }}</td>
|
|
|
- <td style="border: 1px solid #000; padding: 6px; text-align: center;">{{ item.sampleQuantity }}</td>
|
|
|
- <td style="border: 1px solid #000; padding: 6px; text-align: center;">{{ item.usedQuantity }}</td>
|
|
|
- <td style="border: 1px solid #000; padding: 6px; text-align: center;">{{ item.remainQuantity }}</td>
|
|
|
- <td style="border: 1px solid #000; padding: 6px; text-align: center;">{{ item.balanceRate }}</td>
|
|
|
+ <td v-if="idx === 0" :rowspan="packagingMaterialRows" class="material-category-cell">包装材料</td>
|
|
|
+ <td class="material-detail-cell">{{ item.materialName }}</td>
|
|
|
+ <td class="material-detail-cell">{{ item.specification }}</td>
|
|
|
+ <td class="material-detail-cell">{{ item.unit }}</td>
|
|
|
+ <td class="material-detail-cell">{{ item.receiveQuantity }}</td>
|
|
|
+ <td class="material-detail-cell">{{ item.unqualifiedQuantity }}</td>
|
|
|
+ <td class="material-detail-cell">{{ item.sampleQuantity }}</td>
|
|
|
+ <td class="material-detail-cell">{{ item.usedQuantity }}</td>
|
|
|
+ <td class="material-detail-cell">{{ item.remainQuantity }}</td>
|
|
|
+ <td class="material-detail-cell">{{ item.balanceRate }}</td>
|
|
|
</tr>
|
|
|
</tbody>
|
|
|
</table>
|
|
|
@@ -168,7 +180,7 @@
|
|
|
const win = window.open('', '_blank');
|
|
|
win.document.open();
|
|
|
win.document.write('<html><head><title>物料平衡表</title>');
|
|
|
- win.document.write('<style>body{margin:0;padding:20px;font-family:"SimSun",serif;} table{border-collapse:collapse;width:100%;} td,th{border:1px solid #000;padding:6px;}</style>');
|
|
|
+ win.document.write('<style>body{margin:0;padding:20px;font-family:"SimSun",serif;} table{border-collapse:collapse;width:100%;} td,th{border:1px solid #000;padding:6px;} .material-detail-table{table-layout:fixed;} .material-detail-table tbody tr{height:28px;} .material-detail-head{border:1px solid #000;padding:5px 4px;text-align:center;line-height:1.35;} .material-category-cell{border:1px solid #000;padding:4px 2px;text-align:center;vertical-align:middle;writing-mode:vertical-lr;letter-spacing:2px;line-height:1.55;white-space:nowrap;} .material-detail-cell{border:1px solid #000;padding:5px 6px;text-align:center;line-height:1.5;word-break:break-all;overflow-wrap:anywhere;}</style>');
|
|
|
win.document.write('</head><body>');
|
|
|
win.document.write(el.innerHTML);
|
|
|
win.document.write('</body></html>');
|
|
|
@@ -178,3 +190,40 @@
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
|
+
|
|
|
+<style scoped>
|
|
|
+ .material-detail-table {
|
|
|
+ table-layout: fixed;
|
|
|
+ }
|
|
|
+
|
|
|
+ .material-detail-table tbody tr {
|
|
|
+ height: 28px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .material-detail-head {
|
|
|
+ border: 1px solid #000;
|
|
|
+ padding: 5px 4px;
|
|
|
+ text-align: center;
|
|
|
+ line-height: 1.35;
|
|
|
+ }
|
|
|
+
|
|
|
+ .material-category-cell {
|
|
|
+ border: 1px solid #000;
|
|
|
+ padding: 4px 2px;
|
|
|
+ text-align: center;
|
|
|
+ vertical-align: middle;
|
|
|
+ writing-mode: vertical-lr;
|
|
|
+ letter-spacing: 2px;
|
|
|
+ line-height: 1.55;
|
|
|
+ white-space: nowrap;
|
|
|
+ }
|
|
|
+
|
|
|
+ .material-detail-cell {
|
|
|
+ border: 1px solid #000;
|
|
|
+ padding: 5px 6px;
|
|
|
+ text-align: center;
|
|
|
+ line-height: 1.5;
|
|
|
+ word-break: break-all;
|
|
|
+ overflow-wrap: anywhere;
|
|
|
+ }
|
|
|
+</style>
|