|
|
|
@ -129,103 +129,116 @@
|
|
|
|
|
<th style="border-bottom: 1px solid #000; border-left: 1px solid #000">小计</th> |
|
|
|
|
</tr> |
|
|
|
|
<!-- 值 --> |
|
|
|
|
<tr v-for="(value, index) in renderInfo.mainList" style="word-break: break-all"> |
|
|
|
|
<td style="border-bottom: 1px solid #000; border-left: 1px solid #000">{{ index + 1 }}</td> |
|
|
|
|
<!-- 发货单位 --> |
|
|
|
|
<td |
|
|
|
|
v-if="value.mergeColumnIndex" |
|
|
|
|
style="border-bottom: 1px solid #000; border-left: 1px solid #000" |
|
|
|
|
:rowspan="value.mergeColumnIndex" |
|
|
|
|
contenteditable |
|
|
|
|
> |
|
|
|
|
{{ value.shipper || '' }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 开单时间 --> |
|
|
|
|
<td |
|
|
|
|
v-if="value.mergeColumnIndex" |
|
|
|
|
style="border-bottom: 1px solid #000; border-left: 1px solid #000" |
|
|
|
|
:rowspan="value.mergeColumnIndex" |
|
|
|
|
contenteditable |
|
|
|
|
> |
|
|
|
|
{{ value.createTime || '' }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 始发仓 --> |
|
|
|
|
<td style="border-bottom: 1px solid #000; border-left: 1px solid #000" contenteditable> |
|
|
|
|
{{ value.departureWarehouseName || '' }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 目的仓 --> |
|
|
|
|
<td style="border-bottom: 1px solid #000; border-left: 1px solid #000" contenteditable> |
|
|
|
|
{{ value.destinationWarehouseName || '' }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 收货单位 --> |
|
|
|
|
<td |
|
|
|
|
v-if="value.mergeColumnIndex" |
|
|
|
|
style="border-bottom: 1px solid #000; border-left: 1px solid #000" |
|
|
|
|
:rowspan="value.mergeColumnIndex" |
|
|
|
|
contenteditable |
|
|
|
|
> |
|
|
|
|
{{ value.consignee }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 收货人 --> |
|
|
|
|
<td |
|
|
|
|
v-if="value.mergeColumnIndex" |
|
|
|
|
style="border-bottom: 1px solid #000; border-left: 1px solid #000" |
|
|
|
|
:rowspan="value.mergeColumnIndex" |
|
|
|
|
contenteditable |
|
|
|
|
> |
|
|
|
|
{{ value.consigneeName }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 收货电话 --> |
|
|
|
|
<td |
|
|
|
|
v-if="value.mergeColumnIndex" |
|
|
|
|
style="border-bottom: 1px solid #000; border-left: 1px solid #000" |
|
|
|
|
:rowspan="value.mergeColumnIndex" |
|
|
|
|
contenteditable |
|
|
|
|
> |
|
|
|
|
{{ value.consigneeMobile }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 物流单号 --> |
|
|
|
|
<td |
|
|
|
|
v-if="value.mergeColumnIndex" |
|
|
|
|
style="border-bottom: 1px solid #000; border-left: 1px solid #000" |
|
|
|
|
:rowspan="value.mergeColumnIndex" |
|
|
|
|
> |
|
|
|
|
{{ value.waybillNo }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 合同号 --> |
|
|
|
|
<td style="border-bottom: 1px solid #000; border-left: 1px solid #000"> |
|
|
|
|
{{ value.orderCode }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 计划件数 --> |
|
|
|
|
<td style="border-bottom: 1px solid #000; border-left: 1px solid #000" contenteditable> |
|
|
|
|
{{ value.planNum }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 货位 --> |
|
|
|
|
<td style="border-bottom: 1px solid #000; border-left: 1px solid #000"></td> |
|
|
|
|
<td |
|
|
|
|
style="border-bottom: 1px solid #000; border-left: 1px solid #000" |
|
|
|
|
contenteditable |
|
|
|
|
v-for="item in goodsTitleList" |
|
|
|
|
> |
|
|
|
|
{{ (value.goodsList.find(val => val.goodsName === item) || {}).num || '' }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 小计 --> |
|
|
|
|
<td style="border-bottom: 1px solid #000; border-left: 1px solid #000" contenteditable> |
|
|
|
|
{{ value.smallTotal }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 合计件数 --> |
|
|
|
|
<!-- <td style="border-bottom: 1px solid #000; border-left: 1px solid #000;" contenteditable>{{ value.smallTotal }}</td> --> |
|
|
|
|
<!-- 卸车件数 --> |
|
|
|
|
<td style="border-bottom: 1px solid #000; border-left: 1px solid #000" contenteditable> |
|
|
|
|
{{ value.unloadNum }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 卸车网点 --> |
|
|
|
|
<td style="border-bottom: 1px solid #000; border-left: 1px solid #000" contenteditable></td> |
|
|
|
|
<!-- 卸车时间 --> |
|
|
|
|
<td style="border-bottom: 1px solid #000; border-left: 1px solid #000" contenteditable></td> |
|
|
|
|
<!-- 异常备注 --> |
|
|
|
|
<td style="border-bottom: 1px solid #000; border-left: 1px solid #000" contenteditable></td> |
|
|
|
|
</tr> |
|
|
|
|
<template v-if="renderInfo.mainList"> |
|
|
|
|
<tr v-for="(value, index) in renderInfo.mainList" style="word-break: break-all"> |
|
|
|
|
<td style="border-bottom: 1px solid #000; border-left: 1px solid #000"> |
|
|
|
|
{{ index + 1 }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 发货单位 --> |
|
|
|
|
<td |
|
|
|
|
v-if="value.mergeColumnIndex" |
|
|
|
|
style="border-bottom: 1px solid #000; border-left: 1px solid #000" |
|
|
|
|
:rowspan="value.mergeColumnIndex" |
|
|
|
|
contenteditable |
|
|
|
|
> |
|
|
|
|
{{ value.shipper || '' }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 开单时间 --> |
|
|
|
|
<td |
|
|
|
|
v-if="value.mergeColumnIndex" |
|
|
|
|
style="border-bottom: 1px solid #000; border-left: 1px solid #000" |
|
|
|
|
:rowspan="value.mergeColumnIndex" |
|
|
|
|
contenteditable |
|
|
|
|
> |
|
|
|
|
{{ value.createTime || '' }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 始发仓 --> |
|
|
|
|
<td style="border-bottom: 1px solid #000; border-left: 1px solid #000" contenteditable> |
|
|
|
|
{{ value.departureWarehouseName || '' }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 目的仓 --> |
|
|
|
|
<td style="border-bottom: 1px solid #000; border-left: 1px solid #000" contenteditable> |
|
|
|
|
{{ value.destinationWarehouseName || '' }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 收货单位 --> |
|
|
|
|
<td |
|
|
|
|
v-if="value.mergeColumnIndex" |
|
|
|
|
style="border-bottom: 1px solid #000; border-left: 1px solid #000" |
|
|
|
|
:rowspan="value.mergeColumnIndex" |
|
|
|
|
contenteditable |
|
|
|
|
> |
|
|
|
|
{{ value.consignee }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 收货人 --> |
|
|
|
|
<td |
|
|
|
|
v-if="value.mergeColumnIndex" |
|
|
|
|
style="border-bottom: 1px solid #000; border-left: 1px solid #000" |
|
|
|
|
:rowspan="value.mergeColumnIndex" |
|
|
|
|
contenteditable |
|
|
|
|
> |
|
|
|
|
{{ value.consigneeName }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 收货电话 --> |
|
|
|
|
<td |
|
|
|
|
v-if="value.mergeColumnIndex" |
|
|
|
|
style="border-bottom: 1px solid #000; border-left: 1px solid #000" |
|
|
|
|
:rowspan="value.mergeColumnIndex" |
|
|
|
|
contenteditable |
|
|
|
|
> |
|
|
|
|
{{ value.consigneeMobile }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 物流单号 --> |
|
|
|
|
<td |
|
|
|
|
v-if="value.mergeColumnIndex" |
|
|
|
|
style="border-bottom: 1px solid #000; border-left: 1px solid #000" |
|
|
|
|
:rowspan="value.mergeColumnIndex" |
|
|
|
|
> |
|
|
|
|
{{ value.waybillNo }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 合同号 --> |
|
|
|
|
<td style="border-bottom: 1px solid #000; border-left: 1px solid #000"> |
|
|
|
|
{{ value.orderCode }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 计划件数 --> |
|
|
|
|
<td style="border-bottom: 1px solid #000; border-left: 1px solid #000" contenteditable> |
|
|
|
|
{{ value.planNum }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 货位 --> |
|
|
|
|
<td style="border-bottom: 1px solid #000; border-left: 1px solid #000"></td> |
|
|
|
|
<td |
|
|
|
|
style="border-bottom: 1px solid #000; border-left: 1px solid #000" |
|
|
|
|
contenteditable |
|
|
|
|
v-for="item in goodsTitleList" |
|
|
|
|
> |
|
|
|
|
{{ (value.goodsList.find(val => val.goodsName === item) || {}).num || '' }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 小计 --> |
|
|
|
|
<td style="border-bottom: 1px solid #000; border-left: 1px solid #000" contenteditable> |
|
|
|
|
{{ value.smallTotal }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 合计件数 --> |
|
|
|
|
<!-- <td style="border-bottom: 1px solid #000; border-left: 1px solid #000;" contenteditable>{{ value.smallTotal }}</td> --> |
|
|
|
|
<!-- 卸车件数 --> |
|
|
|
|
<td style="border-bottom: 1px solid #000; border-left: 1px solid #000" contenteditable> |
|
|
|
|
{{ value.unloadNum }} |
|
|
|
|
</td> |
|
|
|
|
<!-- 卸车网点 --> |
|
|
|
|
<td |
|
|
|
|
style="border-bottom: 1px solid #000; border-left: 1px solid #000" |
|
|
|
|
contenteditable |
|
|
|
|
></td> |
|
|
|
|
<!-- 卸车时间 --> |
|
|
|
|
<td |
|
|
|
|
style="border-bottom: 1px solid #000; border-left: 1px solid #000" |
|
|
|
|
contenteditable |
|
|
|
|
></td> |
|
|
|
|
<!-- 异常备注 --> |
|
|
|
|
<td |
|
|
|
|
style="border-bottom: 1px solid #000; border-left: 1px solid #000" |
|
|
|
|
contenteditable |
|
|
|
|
></td> |
|
|
|
|
</tr> |
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
<!-- 合计行 --> |
|
|
|
|
<tr> |
|
|
|
@ -296,8 +309,6 @@ renderInfo.value.endWarehouseNames = renderInfo.value.endWarehouseNames.split(',
|
|
|
|
|
let mergeStartIndex = 0; |
|
|
|
|
// 比对值 |
|
|
|
|
let comparisonValue = ''; |
|
|
|
|
renderInfo.value.mainList[0].mergeColumnIndex = 1; |
|
|
|
|
|
|
|
|
|
const handleMerge = (startIndex: number, endIndex: number, data: {}) => { |
|
|
|
|
for (let index = startIndex; index < endIndex; index++) { |
|
|
|
|
const value = data[index]; |
|
|
|
@ -312,8 +323,10 @@ const handleMerge = (startIndex: number, endIndex: number, data: {}) => {
|
|
|
|
|
for (let index = 0; index < renderInfo.value.mainList.length; index++) { |
|
|
|
|
const element = renderInfo.value.mainList[index]; |
|
|
|
|
|
|
|
|
|
if (index === 0) comparisonValue = element.waybillNo; |
|
|
|
|
|
|
|
|
|
if (index === 0) { |
|
|
|
|
comparisonValue = element.waybillNo; |
|
|
|
|
element.mergeColumnIndex = 1; |
|
|
|
|
} |
|
|
|
|
totalNum.value += element.smallTotal || 0; |
|
|
|
|
totalUnLoadNum.value += element.unloadNum || 0; |
|
|
|
|
totalPlanNum.value += element.planNum || 0; |
|
|
|
|