From 55a05b8dfe9a760feb8f6fb6f8b4e0089d88b111 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期三, 14 一月 2026 10:47:22 +0800
Subject: [PATCH] 编辑来票台账来票数和未来票数关系

---
 src/views/salesManagement/salesLedger/index.vue |  545 +++++++++++++++++++++++++++---------------------------
 1 files changed, 274 insertions(+), 271 deletions(-)

diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 5efa1fd..3d259c8 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -168,10 +168,6 @@
                          prop="salesContractNo"
                          width="180"
                          show-overflow-tooltip />
-        <el-table-column label="瀹㈡埛鍚堝悓鍙�"
-                         prop="customerContractNo"
-                         width="180"
-                         show-overflow-tooltip />
         <el-table-column label="瀹㈡埛鍚嶇О"
                          prop="customerName"
                          width="300"
@@ -179,10 +175,6 @@
         <el-table-column label="涓氬姟鍛�"
                          prop="salesman"
                          width="100"
-                         show-overflow-tooltip />
-        <el-table-column label="椤圭洰鍚嶇О"
-                         prop="projectName"
-                         width="180"
                          show-overflow-tooltip />
         <el-table-column label="浠樻鏂瑰紡"
                          prop="paymentMethod"
@@ -476,11 +468,11 @@
         <el-row :gutter="30">
           <el-col :span="24">
             <el-form-item label="浜у搧澶х被锛�"
-                          prop="productCategory">
+                          prop="productId">
               <!-- <el-select v-model="productForm.productCategory" placeholder="璇烽�夋嫨" clearable>
                 <el-option v-for="item in userList" :key="item.nickName" :label="item.nickName" :value="item.nickName"/>
               </el-select> -->
-              <el-tree-select v-model="productForm.productCategory"
+              <el-tree-select v-model="productForm.productId"
                               placeholder="璇烽�夋嫨"
                               clearable
                               check-strictly
@@ -882,6 +874,7 @@
   const productFormData = reactive({
     productForm: {
       productCategory: "",
+      productId: "",
       specificationModel: "",
       unit: "",
       quantity: "",
@@ -1395,276 +1388,286 @@
 
     // 鏋勫缓鎵撳嵃鍐呭
     let printContent = `
-                              <!DOCTYPE html>
-                              <html>
-                              <head>
-                                <meta charset="UTF-8">
-                                <title>鎵撳嵃棰勮</title>
-                                <style>
-                                  body {
-                                    margin: 0;
-                                    padding: 0;
-                                    font-family: "SimSun", serif;
-                                    background: white;
-                                  }
-                                                                               .print-page {
-                                      width: 200mm;
-                                      height: 75mm;
-                                      padding: 10mm;
-                                      padding-left: 20mm;
-                                      background: white;
-                                      box-sizing: border-box;
-                                      page-break-after: always;
-                                      page-break-inside: avoid;
-                                    }
-                                   .print-page:last-child {
-                                     page-break-after: avoid;
-                                   }
-                                  .delivery-note {
-                                    width: 100%;
-                                    height: 100%;
-                                    font-size: 12px;
-                                    line-height: 1.2;
-                                    display: flex;
-                                    flex-direction: column;
-                                    color: #000;
-                                  }
-                                  .header {
-                                    text-align: center;
-                                    margin-bottom: 8px;
-                                  }
-                                  .company-name {
-                                    font-size: 18px;
-                                    font-weight: bold;
-                                    margin-bottom: 4px;
-                                  }
-                                  .document-title {
-                                    font-size: 16px;
-                                    font-weight: bold;
-                                  }
-                                  .info-section {
-                                    margin-bottom: 8px;
-                                    display: flex;
-                                    justify-content: space-between;
-                                    align-items: center;
-                                  }
-                                  .info-row {
-                                    line-height: 20px;
-                                  }
-                                  .label {
-                                    font-weight: bold;
-                                    width: 60px;
-                                    font-size: 12px;
-                                  }
-                                  .value {
-                                    margin-right: 20px;
-                                    min-width: 80px;
-                                    font-size: 12px;
-                                  }
-                                           .table-section {
-                                           margin-bottom: 40px;
-                                    //  flex: 0.6;
-                                   }
-                                  .product-table {
-                                    width: 100%;
-                                    border-collapse: collapse;
-                                    border: 1px solid #000;
-                                  }
-                                           .product-table th, .product-table td {
-                                     border: 1px solid #000;
-                                     padding: 6px;
-                                     text-align: center;
-                                     font-size: 12px;
-                                     line-height: 1.4;
-                                   }
-                                  .product-table th {
-                                    font-weight: bold;
-                                  }
-                                  .total-value {
-                                    font-weight: bold;
-                                  }
-                                  .footer-section {
-                                    margin-top: auto;
-                                  }
-                                  .footer-row {
-                                    display: flex;
-                                    margin-bottom: 3px;
-                                    line-height: 22px;
-                                    justify-content: space-between;
-                                  }
-                                  .footer-item {
-                                    display: flex;
-                                    margin-right: 20px;
-                                  }
-                                  .footer-item .label {
-                                    font-weight: bold;
-                                    width: 80px;
-                                    font-size: 12px;
-                                  }
-                                  .footer-item .value {
-                                    min-width: 80px;
-                                    font-size: 12px;
-                                  }
-                                  .address-item .address-value {
-                                    min-width: 200px;
-                                  }
-                                  @media print {
-                                    body {
-                                      margin: 0;
-                                      padding: 0;
-                                    }
-                                               .print-page {
-                                       margin: 0;
-                                       padding: 10mm;
-                                       /* padding-left: 20mm; */
-                                       page-break-inside: avoid;
-                                       page-break-after: always;
-                                     }
-                                     .print-page:last-child {
-                                       page-break-after: avoid;
-                                     }
-                                  }
-                                </style>
-                              </head>
-                              <body>
-                            `;
+                                              <!DOCTYPE html>
+                                              <html>
+                                              <head>
+                                                <meta charset="UTF-8">
+                                                <title>鎵撳嵃棰勮</title>
+                                                <style>
+                                                  body {
+                                                    margin: 0;
+                                                    padding: 0;
+                                                    font-family: "SimSun", serif;
+                                                    background: white;
+                                                  }
+                                                                                               .print-page {
+                                                      width: 200mm;
+                                                      height: 75mm;
+                                                      padding: 10mm;
+                                                      padding-left: 20mm;
+                                                      background: white;
+                                                      box-sizing: border-box;
+                                                      page-break-after: always;
+                                                      page-break-inside: avoid;
+                                                    }
+                                                   .print-page:last-child {
+                                                     page-break-after: avoid;
+                                                   }
+                                                  .delivery-note {
+                                                    width: 100%;
+                                                    height: 100%;
+                                                    font-size: 12px;
+                                                    line-height: 1.2;
+                                                    display: flex;
+                                                    flex-direction: column;
+                                                    color: #000;
+                                                  }
+                                                  .header {
+                                                    text-align: center;
+                                                    margin-bottom: 8px;
+                                                  }
+                                                  .company-name {
+                                                    font-size: 18px;
+                                                    font-weight: bold;
+                                                    margin-bottom: 4px;
+                                                  }
+                                                  .document-title {
+                                                    font-size: 16px;
+                                                    font-weight: bold;
+                                                  }
+                                                  .info-section {
+                                                    margin-bottom: 8px;
+                                                    display: flex;
+                                                    justify-content: space-between;
+                                                    align-items: center;
+                                                  }
+                                                  .info-row {
+                                                    line-height: 20px;
+                                                  }
+                                                  .label {
+                                                    font-weight: bold;
+                                                    width: 60px;
+                                                    font-size: 12px;
+                                                  }
+                                                  .value {
+                                                    margin-right: 20px;
+                                                    min-width: 80px;
+                                                    font-size: 12px;
+                                                  }
+                                                           .table-section {
+                                                           margin-bottom: 40px;
+                                                    //  flex: 0.6;
+                                                   }
+                                                  .product-table {
+                                                    width: 100%;
+                                                    border-collapse: collapse;
+                                                    border: 1px solid #000;
+                                                  }
+                                                           .product-table th, .product-table td {
+                                                     border: 1px solid #000;
+                                                     padding: 6px;
+                                                     text-align: center;
+                                                     font-size: 12px;
+                                                     line-height: 1.4;
+                                                   }
+                                                  .product-table th {
+                                                    font-weight: bold;
+                                                  }
+                                                  .total-value {
+                                                    font-weight: bold;
+                                                  }
+                                                  .footer-section {
+                                                    margin-top: auto;
+                                                  }
+                                                  .footer-row {
+                                                    display: flex;
+                                                    margin-bottom: 3px;
+                                                    line-height: 22px;
+                                                    justify-content: space-between;
+                                                  }
+                                                  .footer-item {
+                                                    display: flex;
+                                                    margin-right: 20px;
+                                                  }
+                                                  .footer-item .label {
+                                                    font-weight: bold;
+                                                    width: 80px;
+                                                    font-size: 12px;
+                                                  }
+                                                  .footer-item .value {
+                                                    min-width: 80px;
+                                                    font-size: 12px;
+                                                  }
+                                                  .address-item .address-value {
+                                                    min-width: 200px;
+                                                  }
+                                                  @media print {
+                                                    body {
+                                                      margin: 0;
+                                                      padding: 0;
+                                                    }
+                                                               .print-page {
+                                                       margin: 0;
+                                                       padding: 10mm;
+                                                       /* padding-left: 20mm; */
+                                                       page-break-inside: avoid;
+                                                       page-break-after: always;
+                                                     }
+                                                     .print-page:last-child {
+                                                       page-break-after: avoid;
+                                                     }
+                                                  }
+                                                </style>
+                                              </head>
+                                              <body>
+                                            `;
 
     // 涓烘瘡鏉℃暟鎹敓鎴愭墦鍗伴〉闈�
     printData.value.forEach((item, index) => {
       printContent += `
-                                <div class="print-page">
-                                  <div class="delivery-note">
-                                    <div class="header">
-                                      <div class="company-name">${
-                                        currentFactoryName.value
-                                      }</div>
-                                      <div class="document-title">闆跺敭鍙戣揣鍗�</div>
-                                    </div>
-                                    
-                                    <div class="info-section">
-                                      <div class="info-row">
-                                        <div>
-                                          <span class="label">鍙戣揣鏃ユ湡锛�</span>
-                                          <span class="value">${formatDate(
-                                            item.createTime
-                                          )}</span>
-                                        </div>
-                                        <div>
-                                          <span class="label">瀹㈡埛鍚嶇О锛�</span>
-                                          <span class="value">${
-                                            item.customerName || "寮犵埍鏈�"
-                                          }</span>
-                                        </div>
-                                      </div>
-                                      <div class="info-row">
-                                        <span class="label">鍗曞彿锛�</span>
-                                        <span class="value">${
-                                          item.salesContractNo || ""
-                                        }</span>
-                                      </div>
-                                    </div>
+                                                <div class="print-page">
+                                                  <div class="delivery-note">
+                                                    <div class="header">
+                                                      <div class="company-name">${
+                                                        currentFactoryName.value
+                                                      }</div>
+                                                      <div class="document-title">闆跺敭鍙戣揣鍗�</div>
+                                                    </div>
+                                                    
+                                                    <div class="info-section">
+                                                      <div class="info-row">
+                                                        <div>
+                                                          <span class="label">鍙戣揣鏃ユ湡锛�</span>
+                                                          <span class="value">${formatDate(
+                                                            item.createTime
+                                                          )}</span>
+                                                        </div>
+                                                        <div>
+                                                          <span class="label">瀹㈡埛鍚嶇О锛�</span>
+                                                          <span class="value">${
+                                                            item.customerName ||
+                                                            "寮犵埍鏈�"
+                                                          }</span>
+                                                        </div>
+                                                      </div>
+                                                      <div class="info-row">
+                                                        <span class="label">鍗曞彿锛�</span>
+                                                        <span class="value">${
+                                                          item.salesContractNo ||
+                                                          ""
+                                                        }</span>
+                                                      </div>
+                                                    </div>
 
-                                    <div class="table-section">
-                                      <table class="product-table">
-                                        <thead>
-                                          <tr>
-                                            <th>浜у搧鍚嶇О</th>
-                                            <th>瑙勬牸鍨嬪彿</th>
-                                            <th>鍗曚綅</th>
-                                            <th>鍗曚环</th>
-                                            <th>闆跺敭鏁伴噺</th>
-                                            <th>闆跺敭閲戦</th>
-                                          </tr>
-                                        </thead>
-                                        <tbody>
-                                          ${
-                                            item.products &&
-                                            item.products.length > 0
-                                              ? item.products
-                                                  .map(
-                                                    product => `
-                                              <tr>
-                                                <td>${
-                                                  product.productCategory || ""
-                                                }</td>
-                                                <td>${
-                                                  product.specificationModel || ""
-                                                }</td>
-                                                <td>${product.unit || ""}</td>
-                                                <td>${
-                                                  product.taxInclusiveUnitPrice ||
-                                                  "0"
-                                                }</td>
-                                                <td>${
-                                                  product.quantity || "0"
-                                                }</td>
-                                                <td>${
-                                                  product.taxInclusiveTotalPrice ||
-                                                  "0"
-                                                }</td>
-                                              </tr>
-                                            `
-                                                  )
-                                                  .join("")
-                                              : '<tr><td colspan="6" style="text-align: center; color: #999;">鏆傛棤浜у搧鏁版嵁</td></tr>'
-                                          }
-                                        </tbody>
-                                        <tfoot>
-                                          <tr>
-                                            <td class="label">鍚堣</td>
-                                            <td class="total-value"></td>
-                                            <td class="total-value"></td>
-                                            <td class="total-value"></td>
-                                            <td class="total-value">${getTotalQuantityForPrint(
-                                              item.products
-                                            )}</td>
-                                            <td class="total-value">${getTotalAmountForPrint(
-                                              item.products
-                                            )}</td>
-                                          </tr>
-                                        </tfoot>
-                                      </table>
-                                    </div>
+                                                    <div class="table-section">
+                                                      <table class="product-table">
+                                                        <thead>
+                                                          <tr>
+                                                            <th>浜у搧鍚嶇О</th>
+                                                            <th>瑙勬牸鍨嬪彿</th>
+                                                            <th>鍗曚綅</th>
+                                                            <th>鍗曚环</th>
+                                                            <th>闆跺敭鏁伴噺</th>
+                                                            <th>闆跺敭閲戦</th>
+                                                          </tr>
+                                                        </thead>
+                                                        <tbody>
+                                                          ${
+                                                            item.products &&
+                                                            item.products.length >
+                                                              0
+                                                              ? item.products
+                                                                  .map(
+                                                                    product => `
+                                                              <tr>
+                                                                <td>${
+                                                                  product.productCategory ||
+                                                                  ""
+                                                                }</td>
+                                                                <td>${
+                                                                  product.specificationModel ||
+                                                                  ""
+                                                                }</td>
+                                                                <td>${
+                                                                  product.unit ||
+                                                                  ""
+                                                                }</td>
+                                                                <td>${
+                                                                  product.taxInclusiveUnitPrice ||
+                                                                  "0"
+                                                                }</td>
+                                                                <td>${
+                                                                  product.quantity ||
+                                                                  "0"
+                                                                }</td>
+                                                                <td>${
+                                                                  product.taxInclusiveTotalPrice ||
+                                                                  "0"
+                                                                }</td>
+                                                              </tr>
+                                                            `
+                                                                  )
+                                                                  .join("")
+                                                              : '<tr><td colspan="6" style="text-align: center; color: #999;">鏆傛棤浜у搧鏁版嵁</td></tr>'
+                                                          }
+                                                        </tbody>
+                                                        <tfoot>
+                                                          <tr>
+                                                            <td class="label">鍚堣</td>
+                                                            <td class="total-value"></td>
+                                                            <td class="total-value"></td>
+                                                            <td class="total-value"></td>
+                                                            <td class="total-value">${getTotalQuantityForPrint(
+                                                              item.products
+                                                            )}</td>
+                                                            <td class="total-value">${getTotalAmountForPrint(
+                                                              item.products
+                                                            )}</td>
+                                                          </tr>
+                                                        </tfoot>
+                                                      </table>
+                                                    </div>
 
-                                    <div class="footer-section">
-                                      <div class="footer-row">
-                                        <div class="footer-item">
-                                          <span class="label">鏀惰揣鐢佃瘽锛�</span>
-                                          <span class="value"></span>
-                                        </div>
-                                        <div class="footer-item">
-                                          <span class="label">鏀惰揣浜猴細</span>
-                                          <span class="value"></span>
-                                        </div>
-                                        <div class="footer-item address-item">
-                                          <span class="label">鏀惰揣鍦板潃锛�</span>
-                                          <span class="value address-value"></span>
-                                        </div>
-                                      </div>
-                                      <div class="footer-row">
-                                        <div class="footer-item">
-                                          <span class="label">鎿嶄綔鍛橈細</span>
-                                          <span class="value">${
-                                            userStore.nickName || "鎾曞紑鍓�"
-                                          }</span>
-                                        </div>
-                                        <div class="footer-item">
-                                          <span class="label">鎵撳嵃鏃ユ湡锛�</span>
-                                          <span class="value">${formatDateTime(
-                                            new Date()
-                                          )}</span>
-                                        </div>
-                                      </div>
-                                    </div>
-                                  </div>
-                                </div>
-                              `;
+                                                    <div class="footer-section">
+                                                      <div class="footer-row">
+                                                        <div class="footer-item">
+                                                          <span class="label">鏀惰揣鐢佃瘽锛�</span>
+                                                          <span class="value"></span>
+                                                        </div>
+                                                        <div class="footer-item">
+                                                          <span class="label">鏀惰揣浜猴細</span>
+                                                          <span class="value"></span>
+                                                        </div>
+                                                        <div class="footer-item address-item">
+                                                          <span class="label">鏀惰揣鍦板潃锛�</span>
+                                                          <span class="value address-value"></span>
+                                                        </div>
+                                                      </div>
+                                                      <div class="footer-row">
+                                                        <div class="footer-item">
+                                                          <span class="label">鎿嶄綔鍛橈細</span>
+                                                          <span class="value">${
+                                                            userStore.nickName ||
+                                                            "鎾曞紑鍓�"
+                                                          }</span>
+                                                        </div>
+                                                        <div class="footer-item">
+                                                          <span class="label">鎵撳嵃鏃ユ湡锛�</span>
+                                                          <span class="value">${formatDateTime(
+                                                            new Date()
+                                                          )}</span>
+                                                        </div>
+                                                      </div>
+                                                    </div>
+                                                  </div>
+                                                </div>
+                                              `;
     });
 
     printContent += `
-                              </body>
-                              </html>
-                            `;
+                                              </body>
+                                              </html>
+                                            `;
 
     // 鍐欏叆鍐呭鍒版柊绐楀彛
     printWindow.document.write(printContent);

--
Gitblit v1.9.3