|
@@ -108,10 +108,10 @@
|
|
|
<td style="padding: 2px">{{ getTotalValue(wrapperItem, 'saleCount', 2) }} </td>
|
|
<td style="padding: 2px">{{ getTotalValue(wrapperItem, 'saleCount', 2) }} </td>
|
|
|
<td style="padding: 2px"> </td>
|
|
<td style="padding: 2px"> </td>
|
|
|
<td style="padding: 2px"> </td>
|
|
<td style="padding: 2px"> </td>
|
|
|
- <td style="padding: 2px">{{ getTotalValue(wrapperItem, 'totalPrice', 2) }}</td>
|
|
|
|
|
<td style="padding: 2px"> </td>
|
|
<td style="padding: 2px"> </td>
|
|
|
<td style="padding: 2px"> </td>
|
|
<td style="padding: 2px"> </td>
|
|
|
<td style="padding: 2px"> </td>
|
|
<td style="padding: 2px"> </td>
|
|
|
|
|
+ <td style="padding: 2px">{{ getTotalValue(wrapperItem, 'totalPrice', 2) }}</td>
|
|
|
<td style="padding: 2px"> </td>
|
|
<td style="padding: 2px"> </td>
|
|
|
<td style="padding: 2px"> </td>
|
|
<td style="padding: 2px"> </td>
|
|
|
<!-- <td style="padding: 2px"> </td> -->
|
|
<!-- <td style="padding: 2px"> </td> -->
|
|
@@ -179,6 +179,7 @@
|
|
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
import { getSaleOrderDetails } from '@/api/saleManage/saleorder';
|
|
import { getSaleOrderDetails } from '@/api/saleManage/saleorder';
|
|
|
|
|
+ import { getInfoBySourceBizNoAll } from '@/api/wms';
|
|
|
import { mapGetters } from 'vuex';
|
|
import { mapGetters } from 'vuex';
|
|
|
import { saveAs } from 'file-saver';
|
|
import { saveAs } from 'file-saver';
|
|
|
export default {
|
|
export default {
|
|
@@ -208,7 +209,38 @@
|
|
|
|
|
|
|
|
methods: {
|
|
methods: {
|
|
|
async open(id) {
|
|
async open(id) {
|
|
|
- this.formData = await getSaleOrderDetails(id);
|
|
|
|
|
|
|
+ const list = await getSaleOrderDetails(id);
|
|
|
|
|
+ this.formData = await Promise.all(
|
|
|
|
|
+ list.map(async (wrapperItem) => {
|
|
|
|
|
+ let outInDetailList = [];
|
|
|
|
|
+ try {
|
|
|
|
|
+ const outboundList = await getInfoBySourceBizNoAll(wrapperItem.orderNo);
|
|
|
|
|
+ outInDetailList = outboundList?.[0]?.outInDetailList || [];
|
|
|
|
|
+ } catch (e) {
|
|
|
|
|
+ outInDetailList = [];
|
|
|
|
|
+ }
|
|
|
|
|
+ const productList = (wrapperItem.productList || []).map((item) => {
|
|
|
|
|
+ const candidates = outInDetailList.filter(
|
|
|
|
|
+ (detail) =>
|
|
|
|
|
+ detail.categoryCode === item.productCode ||
|
|
|
|
|
+ String(detail.categoryId) === String(item.productId)
|
|
|
|
|
+ );
|
|
|
|
|
+ const outDetail =
|
|
|
|
|
+ candidates.find(
|
|
|
|
|
+ (detail) =>
|
|
|
|
|
+ (item.batchNo && detail.batchNo === item.batchNo) ||
|
|
|
|
|
+ (item.systemBatchNo && detail.systemBatchNo === item.systemBatchNo)
|
|
|
|
|
+ ) || (candidates.length === 1 ? candidates[0] : {});
|
|
|
|
|
+ return {
|
|
|
|
|
+ ...item,
|
|
|
|
|
+ batchNo: item.batchNo || outDetail.batchNo || '',
|
|
|
|
|
+ cuttingLength: item.cuttingLength || outDetail.cuttingLength || '',
|
|
|
|
|
+ reelSpecification: item.reelSpecification || outDetail.reelSpecification || ''
|
|
|
|
|
+ };
|
|
|
|
|
+ });
|
|
|
|
|
+ return { ...wrapperItem, productList };
|
|
|
|
|
+ })
|
|
|
|
|
+ );
|
|
|
console.log('formData~~~', this.formData);
|
|
console.log('formData~~~', this.formData);
|
|
|
this.QRvisible = true;
|
|
this.QRvisible = true;
|
|
|
|
|
|
|
@@ -296,7 +328,7 @@
|
|
|
const td = `${cellBase}font-family:'宋体';font-size:11pt;`;
|
|
const td = `${cellBase}font-family:'宋体';font-size:11pt;`;
|
|
|
const labelLeft = `${border}padding:4px;mso-number-format:"\\@";vertical-align:middle;text-align:left;mso-horizontal-align:left;font-family:'宋体';font-size:11pt;`;
|
|
const labelLeft = `${border}padding:4px;mso-number-format:"\\@";vertical-align:middle;text-align:left;mso-horizontal-align:left;font-family:'宋体';font-size:11pt;`;
|
|
|
|
|
|
|
|
- const colWidths = [55, 170, 55, 70, 75, 65, 90, 70, 110];
|
|
|
|
|
|
|
+ const colWidths = [45, 135, 45, 55, 95, 75, 65, 65, 55, 75, 55, 75];
|
|
|
const colGroup = colWidths
|
|
const colGroup = colWidths
|
|
|
.map((w) => `<col width="${w}" style="width:${w}pt;" />`)
|
|
.map((w) => `<col width="${w}" style="width:${w}pt;" />`)
|
|
|
.join('');
|
|
.join('');
|
|
@@ -319,6 +351,9 @@
|
|
|
<td align="center" valign="middle" style="${td}">${item.modelType || ''}</td>
|
|
<td align="center" valign="middle" style="${td}">${item.modelType || ''}</td>
|
|
|
<td align="center" valign="middle" style="${td}">${item.saleUnit || ''}</td>
|
|
<td align="center" valign="middle" style="${td}">${item.saleUnit || ''}</td>
|
|
|
<td align="center" valign="middle" style="${td}">${item.saleCount ?? ''}</td>
|
|
<td align="center" valign="middle" style="${td}">${item.saleCount ?? ''}</td>
|
|
|
|
|
+ <td align="center" valign="middle" style="${td}">${item.batchNo || ''}</td>
|
|
|
|
|
+ <td align="center" valign="middle" style="${td}">${item.cuttingLength ?? ''}</td>
|
|
|
|
|
+ <td align="center" valign="middle" style="${td}">${item.reelSpecification ?? ''}</td>
|
|
|
<td align="center" valign="middle" style="${td}">${item.singlePrice ?? ''}</td>
|
|
<td align="center" valign="middle" style="${td}">${item.singlePrice ?? ''}</td>
|
|
|
<td align="center" valign="middle" style="${td}">${
|
|
<td align="center" valign="middle" style="${td}">${
|
|
|
item.taxRate ? item.taxRate + '%' : '0%'
|
|
item.taxRate ? item.taxRate + '%' : '0%'
|
|
@@ -335,26 +370,29 @@
|
|
|
style="border-collapse:collapse;border:1px solid #000;mso-border-alt:solid #000 0.5pt;font-family:'宋体';font-size:11pt;text-align:center;">
|
|
style="border-collapse:collapse;border:1px solid #000;mso-border-alt:solid #000 0.5pt;font-family:'宋体';font-size:11pt;text-align:center;">
|
|
|
<colgroup>${colGroup}</colgroup>
|
|
<colgroup>${colGroup}</colgroup>
|
|
|
<tr height="40" style="height:40pt;">
|
|
<tr height="40" style="height:40pt;">
|
|
|
- <td colspan="9" align="center" valign="middle" style="${border}padding:6px;text-align:center;font-family:'宋体';font-size:22pt;font-weight:bold;">${title}</td>
|
|
|
|
|
|
|
+ <td colspan="12" align="center" valign="middle" style="${border}padding:6px;text-align:center;font-family:'宋体';font-size:22pt;font-weight:bold;">${title}</td>
|
|
|
</tr>
|
|
</tr>
|
|
|
<tr height="26" style="height:26pt;">
|
|
<tr height="26" style="height:26pt;">
|
|
|
- <td colspan="6" align="left" valign="middle" style="${labelLeft}"></td>
|
|
|
|
|
- <td colspan="3" align="left" valign="middle" style="${labelLeft}">门店:${wrapperItem.salesDeptName || ''}</td>
|
|
|
|
|
|
|
+ <td colspan="8" align="left" valign="middle" style="${labelLeft}"></td>
|
|
|
|
|
+ <td colspan="4" align="left" valign="middle" style="${labelLeft}">门店:${wrapperItem.salesDeptName || ''}</td>
|
|
|
</tr>
|
|
</tr>
|
|
|
<tr height="26" style="height:26pt;">
|
|
<tr height="26" style="height:26pt;">
|
|
|
- <td colspan="6" align="left" valign="middle" style="${labelLeft}">客户:${wrapperItem.partaName || ''}</td>
|
|
|
|
|
- <td colspan="3" align="left" valign="middle" style="${labelLeft}">单据日期:${wrapperItem.createTime ? wrapperItem.createTime.split(' ')[0] : ''}</td>
|
|
|
|
|
|
|
+ <td colspan="8" align="left" valign="middle" style="${labelLeft}">客户:${wrapperItem.partaName || ''}</td>
|
|
|
|
|
+ <td colspan="4" align="left" valign="middle" style="${labelLeft}">单据日期:${wrapperItem.createTime ? wrapperItem.createTime.split(' ')[0] : ''}</td>
|
|
|
</tr>
|
|
</tr>
|
|
|
<tr height="26" style="height:26pt;">
|
|
<tr height="26" style="height:26pt;">
|
|
|
- <td colspan="6" align="left" valign="middle" style="${labelLeft}">项目名称:${wrapperItem.projectName || ''}</td>
|
|
|
|
|
- <td colspan="3" align="left" valign="middle" style="${labelLeft}">单据编号:${wrapperItem.orderNo || ''}</td>
|
|
|
|
|
|
|
+ <td colspan="8" align="left" valign="middle" style="${labelLeft}">项目名称:${wrapperItem.projectName || ''}</td>
|
|
|
|
|
+ <td colspan="4" align="left" valign="middle" style="${labelLeft}">单据编号:${wrapperItem.orderNo || ''}</td>
|
|
|
</tr>
|
|
</tr>
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
<tr height="28" style="height:28pt;">
|
|
<tr height="28" style="height:28pt;">
|
|
|
<td align="center" valign="middle" style="${th}">序号</td>
|
|
<td align="center" valign="middle" style="${th}">序号</td>
|
|
|
<td align="center" valign="middle" style="${th}">规格型号</td>
|
|
<td align="center" valign="middle" style="${th}">规格型号</td>
|
|
|
<td align="center" valign="middle" style="${th}">单位</td>
|
|
<td align="center" valign="middle" style="${th}">单位</td>
|
|
|
<td align="center" valign="middle" style="${th}">数量</td>
|
|
<td align="center" valign="middle" style="${th}">数量</td>
|
|
|
|
|
+ <td align="center" valign="middle" style="${th}">批次号</td>
|
|
|
|
|
+ <td align="center" valign="middle" style="${th}">裁剪米段</td>
|
|
|
|
|
+ <td align="center" valign="middle" style="${th}">盘具</td>
|
|
|
<td align="center" valign="middle" style="${th}">单价</td>
|
|
<td align="center" valign="middle" style="${th}">单价</td>
|
|
|
<td align="center" valign="middle" style="${th}">税率</td>
|
|
<td align="center" valign="middle" style="${th}">税率</td>
|
|
|
<td align="center" valign="middle" style="${th}">金额</td>
|
|
<td align="center" valign="middle" style="${th}">金额</td>
|
|
@@ -368,6 +406,9 @@
|
|
|
<td align="center" valign="middle" style="${td};font-weight:bold;">${totalCount}</td>
|
|
<td align="center" valign="middle" style="${td};font-weight:bold;">${totalCount}</td>
|
|
|
<td align="center" valign="middle" style="${td}"></td>
|
|
<td align="center" valign="middle" style="${td}"></td>
|
|
|
<td align="center" valign="middle" style="${td}"></td>
|
|
<td align="center" valign="middle" style="${td}"></td>
|
|
|
|
|
+ <td align="center" valign="middle" style="${td}"></td>
|
|
|
|
|
+ <td align="center" valign="middle" style="${td}"></td>
|
|
|
|
|
+ <td align="center" valign="middle" style="${td}"></td>
|
|
|
<td align="center" valign="middle" style="${td};font-weight:bold;">${totalPrice}</td>
|
|
<td align="center" valign="middle" style="${td};font-weight:bold;">${totalPrice}</td>
|
|
|
<td align="center" valign="middle" style="${td}"></td>
|
|
<td align="center" valign="middle" style="${td}"></td>
|
|
|
<td align="center" valign="middle" style="${td}"></td>
|
|
<td align="center" valign="middle" style="${td}"></td>
|
|
@@ -379,11 +420,11 @@
|
|
|
<td colspan="2" align="left" valign="middle" style="${labelLeft}">发货人:</td>
|
|
<td colspan="2" align="left" valign="middle" style="${labelLeft}">发货人:</td>
|
|
|
</tr>
|
|
</tr>
|
|
|
<tr height="28" style="height:28pt;">
|
|
<tr height="28" style="height:28pt;">
|
|
|
- <td colspan="5" align="left" valign="middle" style="${labelLeft}">地址:${wrapperItem.partbAddress || ''}</td>
|
|
|
|
|
|
|
+ <td colspan="5" align="left" valign="middle" style="${labelLeft}">地址:${wrapperItem.partbAddress || ''}</td>
|
|
|
<td colspan="4" align="left" valign="middle" style="${labelLeft}">客户签字:</td>
|
|
<td colspan="4" align="left" valign="middle" style="${labelLeft}">客户签字:</td>
|
|
|
</tr>
|
|
</tr>
|
|
|
<tr height="28" style="height:28pt;">
|
|
<tr height="28" style="height:28pt;">
|
|
|
- <td colspan="9" align="left" valign="middle" style="${labelLeft}">备注:${wrapperItem.remark || ''}</td>
|
|
|
|
|
|
|
+ <td colspan="12" align="left" valign="middle" style="${labelLeft}">备注:${wrapperItem.remark || ''}</td>
|
|
|
</tr>
|
|
</tr>
|
|
|
</table>
|
|
</table>
|
|
|
<br style="mso-special-character:line-break;page-break-before:always" />`;
|
|
<br style="mso-special-character:line-break;page-break-before:always" />`;
|