فهرست منبع

fix:销售发货打印出库单增加盘具字段

liujt 1 هفته پیش
والد
کامیت
887f59790a
1فایلهای تغییر یافته به همراه37 افزوده شده و 11 حذف شده
  1. 37 11
      src/views/saleManage/saleOrder/invoice/components/print-template-ht-1.vue

+ 37 - 11
src/views/saleManage/saleOrder/invoice/components/print-template-ht-1.vue

@@ -85,6 +85,7 @@
               <td style="padding: 5px; width: 8%"> 颜色 </td>
               <td style="padding: 5px; width: 8%"> 生产批号 </td>
               <td style="padding: 5px; width: 10%"> 裁线米段 </td>
+              <td style="padding: 5px; width: 8%"> 盘具 </td>
               <td style="padding: 5px; width: 12%"> 仓库 </td>
             </tr>
 
@@ -98,6 +99,7 @@
               <td style="padding: 5px"> {{ item.colorKey }}</td>
               <td style="padding: 5px"> {{ item.batchNo }}</td>
               <td style="padding: 5px"> {{ item.cuttingLength }}</td>
+              <td style="padding: 5px"> {{ item.reelSpecification }}</td>
               <td style="padding: 5px"> {{ item.warehouseName }}</td>
             </tr>
             <tr align="center">
@@ -109,6 +111,7 @@
               <td style="padding: 5px"> </td>
               <td style="padding: 5px"> </td>
               <td style="padding: 5px"> </td>
+              <td style="padding: 5px"> </td>
             </tr>
           </tbody>
         </table>
@@ -177,6 +180,7 @@
   import { mapGetters } from 'vuex';
   import { saveAs } from 'file-saver';
   import dictMixins from '@/mixins/dictMixins';
+  import { getInfoBySourceBizNoAll } from '@/api/wms';
   export default {
     mixins: [dictMixins],
     name: 'print',
@@ -215,18 +219,37 @@
     methods: {
       async open(ids) {
         const list = await getSendSaleOrderCordDetailByIds(ids);
-        // 处理每条数据:合并 productList 和 replaceList,设置 deliveryTypeName
-        this.formData = list.map((rowItem) => {
+        // 处理每条发货单:查询出库单信息并匹配盘具字段
+        this.formData = await Promise.all(list.map(async (rowItem) => {
+          // 根据发货单编码查询出库单信息
+          const outboundList = await getInfoBySourceBizNoAll(rowItem.docNo);
+          const outboundDetailList = outboundList?.[0]?.outInDetailList || [];
+          // 构建出库单明细查找表:key = categoryCode + batchNo
+          const outboundMap = {};
+          outboundDetailList.forEach(detail => {
+            const key = `${detail.categoryId}_${detail.categoryCode}_${detail.batchNo}`;
+            outboundMap[key] = detail;
+          });
+          // 合并 productList 和 replaceList
           const productList = [
             ...(rowItem.productList || []).filter(item => item.isReplace != 1),
             ...(rowItem.replaceList || [])
           ];
+          // 将出库单的 reelSpecification 匹配到 productList 中
+          const enrichedProductList = productList.map(item => {
+            const key = `${item.productId}_${item.productCode}_${item.batchNo}`;
+            const outboundDetail = outboundMap[key] || {};
+            return {
+              ...item,
+              reelSpecification: outboundDetail.reelSpecification || ''
+            };
+          });
           return {
             ...rowItem,
-            productList,
+            productList: enrichedProductList,
             deliveryTypeName: this.getDictValue('送货方式', rowItem.deliveryTypeId)
           };
-        });
+        }));
         this.QRvisible = true;
       },
       close() {
@@ -284,8 +307,8 @@
 
         const title = `${this.groupName || ''}出库单`;
 
-        const colWidths = [45, 190, 55, 70, 70, 80, 80, 100];
-        const totalCols = 8;
+        const colWidths = [45, 150, 55, 70, 60, 70, 70, 70, 100];
+        const totalCols = 9;
         const colGroup = colWidths.map(w => `<col width="${w}" style="width:${w}pt;" />`).join('');
 
         // 遍历多个单据生成多个表格
@@ -307,6 +330,7 @@
               <td align="center" valign="middle" style="${td}">${item.colorKey || ''}</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.warehouseName || ''}</td>
             </tr>`
           ).join('');
@@ -320,12 +344,12 @@
             </tr>
             <tr height="26" style="height:26pt;">
               <td colspan="3" align="left" valign="middle" style="${labelLeft}">客户:${rowItem.contactName || ''}</td>
-              <td colspan="2" align="left" valign="middle" style="${labelLeft}">单据编码:${rowItem.docNo || ''}</td>
+              <td colspan="3" align="left" valign="middle" style="${labelLeft}">单据编码:${rowItem.docNo || ''}</td>
               <td colspan="3" align="left" valign="middle" style="${labelLeft}">单据日期:${rowItem.createTime ? rowItem.createTime.split(' ')[0] : ''}</td>
             </tr>
             <tr height="26" style="height:26pt;">
               <td colspan="4" align="left" valign="middle" style="${labelLeft}">收货人联系方式:${rowItem.linkName || ''} ${rowItem.linkPhone || ''}</td>
-              <td colspan="4" align="left" valign="middle" style="${labelLeft}">送货地址:${rowItem.receiveAddress || ''}</td>
+              <td colspan="5" align="left" valign="middle" style="${labelLeft}">送货地址:${rowItem.receiveAddress || ''}</td>
             </tr>
             <tr height="28" style="height:28pt;">
               <td align="center" valign="middle" style="${th}">序号</td>
@@ -335,6 +359,7 @@
               <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>
             </tr>
             ${rows}
@@ -347,21 +372,22 @@
               <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>
             </tr>
             <tr height="28" style="height:28pt;">
               <td colspan="2" align="left" valign="middle" style="${labelLeft}">制单人:${rowItem.makerName || ''}</td>
               <td colspan="2" align="left" valign="middle" style="${labelLeft}">核对人:</td>
               <td colspan="2" align="left" valign="middle" style="${labelLeft}">仓库:</td>
-              <td colspan="2" align="left" valign="middle" style="${labelLeft}">审核:${rowItem.reviewerName || ''}</td>
+              <td colspan="3" align="left" valign="middle" style="${labelLeft}">审核:${rowItem.reviewerName || ''}</td>
             </tr>
             <tr height="28" style="height:28pt;">
               <td colspan="2" align="left" valign="middle" style="${labelLeft}">司机:</td>
               <td colspan="2" align="left" valign="middle" style="${labelLeft}">是否回单:${receiptLabel}</td>
               <td colspan="2" align="left" valign="middle" style="${labelLeft}">运费:${deliveryTypeName}</td>
-              <td colspan="2" align="left" valign="middle" style="${labelLeft}"></td>
+              <td colspan="3" align="left" valign="middle" style="${labelLeft}"></td>
             </tr>
             <tr height="28" style="height:28pt;">
-              <td colspan="8" align="left" valign="middle" style="${labelLeft}">备注:</td>
+              <td colspan="9" align="left" valign="middle" style="${labelLeft}">备注:</td>
             </tr>
           </table>
           <br style="mso-special-character:line-break;page-break-before:always" />`;