zhangwencui
8 天以前 7ffd709598b1e44289d9f7bb23ae6b8583aebc3a
src/views/salesManagement/salesLedger/index.vue
@@ -720,8 +720,11 @@
              <el-form-item label="税率(%):"
                            prop="taxRate">
                <el-select v-model="productForm.taxRate"
                           placeholder="请选择"
                           placeholder="请选择或输入"
                           clearable
                           filterable
                           remote
                           :remote-method="handleTaxRateRemote"
                           @change="calculateFromTaxRate">
                  <el-option label="1"
                             value="1" />
@@ -729,6 +732,9 @@
                             value="6" />
                  <el-option label="13"
                             value="13" />
                  <el-option v-if="customTaxRate"
                             :label="customTaxRate"
                             :value="customTaxRate" />
                </el-select>
              </el-form-item>
            </el-col>
@@ -1157,6 +1163,7 @@
  const productFormVisible = ref(false);
  const productOperationType = ref("");
  const currentId = ref("");
  const customTaxRate = ref("");
  const productFormData = reactive({
    productForm: {
      productCategory: "",
@@ -2040,286 +2047,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="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(
                                                                                                                                                                                                                                                                                                              <div class="print-page">
                                                                                                                                                                                                                                                                                                                <div class="delivery-note">
                                                                                                                                                                                                                                                                                                                  <div class="header">
                                                                                                                                                                                                                                                                                                                    <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 ||
                                                                                                                                                                                                                                                                                                                        ""
                                                                                                                                                                                                                                                                                                                      )
                                                                                                                                                                                                                                                                                                                  : '<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>
                                                                                                                                                                                                                                                                                                                      }</span>
                                                                                                                                                                                                                                                                                                                    </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>
                                                                                                                                                                                                                                                                                                  `;
                                                                                                                                                                                                                                                                                                                  <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>
                                                                                                                                                                                                                                                                                                            `;
    });
    printContent += `
                                                                                                                                                                                                                                                                                                  </body>
                                                                                                                                                                                                                                                                                                  </html>
                                                                                                                                                                                                                                                                                                `;
                                                                                                                                                                                                                                                                                                            </body>
                                                                                                                                                                                                                                                                                                            </html>
                                                                                                                                                                                                                                                                                                          `;
    // 写入内容到新窗口
    printWindow.document.write(printContent);
@@ -2406,121 +2413,131 @@
    // 构建打印内容
    let printContent = `
                              <!DOCTYPE html>
                              <html>
                              <head>
                                <meta charset="UTF-8">
                                <title>成品对账单</title>
                                <style>
                                  body {
                                    margin: 0;
                                    padding: 20px;
                                    font-family: "SimSun", serif;
                                    background: white;
                                  }
                                  .ledger-page {
                                    width: 100%;
                                    margin: 0 auto;
                                    background: white;
                                    page-break-after: always;
                                  }
                                  .ledger-page:last-child {
                                    page-break-after: avoid;
                                  }
                                  .header {
                                    text-align: center;
                                    margin-bottom: 20px;
                                    border-bottom: 2px solid #000;
                                    padding-bottom: 10px;
                                  }
                                  .title {
                                    font-size: 24px;
                                    font-weight: bold;
                                    margin-bottom: 10px;
                                  }
                                  .print-info {
                                    text-align: right;
                                    font-size: 12px;
                                    margin-bottom: 10px;
                                  }
                                  .ledger-table {
                                    width: 100%;
                                    border-collapse: collapse;
                                    font-size: 12px;
                                    margin-bottom: 20px;
                                  }
                                  .ledger-table th,
                                  .ledger-table td {
                                    border: 1px solid #000;
                                    padding: 8px;
                                    text-align: center;
                                  }
                                  .ledger-table th {
                                    background-color: #f0f0f0;
                                    font-weight: bold;
                                  }
                                  .ledger-table td {
                                    text-align: center;
                                  }
                                  .ledger-table td:nth-child(4),
                                  .ledger-table td:nth-child(6) {
                                    text-align: right;
                                  }
                                  .total-row {
                                    font-weight: bold;
                                    background-color: #f9f9f9;
                                  }
                                  .footer {
                                    text-align: center;
                                    font-size: 12px;
                                    margin-top: 20px;
                                  }
                                </style>
                              </head>
                              <body>
                                <div class="ledger-page">
                                  <div class="header">
                                    <div class="title">成品对账单</div>
                                    <div class="print-info">打印日期:${formatDateTime(
                                      new Date()
                                    )}</div>
                                  </div>
                                  <table class="ledger-table">
                                    <thead>
                                      <tr>
                                        <th>序号</th>
                                        <th>产品名称</th>
                                        <th>规格型号</th>
                                        <th>单位</th>
                                        <th>单价</th>
                                        <th>零售数量</th>
                                        <th>零售金额</th>
                                        <th>发货日期</th>
                                        <th>发货车牌号</th>
                                        <th>客户名称</th>
                                        <th>单号</th>
                                      </tr>
                                    </thead>
                                    <tbody>
                            `;
                                        <!DOCTYPE html>
                                        <html>
                                        <head>
                                          <meta charset="UTF-8">
                                          <title>成品对账单</title>
                                          <style>
                                            body {
                                              margin: 0;
                                              padding: 20px;
                                              font-family: "SimSun", serif;
                                              background: white;
                                            }
                                            .ledger-page {
                                              width: 100%;
                                              margin: 0 auto;
                                              background: white;
                                              page-break-after: always;
                                            }
                                            .ledger-page:last-child {
                                              page-break-after: avoid;
                                            }
                                            .header {
                                              text-align: center;
                                              margin-bottom: 20px;
                                              border-bottom: 2px solid #000;
                                              padding-bottom: 10px;
                                            }
                                            .title {
                                              font-size: 24px;
                                              font-weight: bold;
                                              margin-bottom: 10px;
                                            }
                                            .print-info {
                                              text-align: right;
                                              font-size: 12px;
                                              margin-bottom: 10px;
                                            }
                                            .ledger-table {
                                              width: 100%;
                                              border-collapse: collapse;
                                              font-size: 12px;
                                              margin-bottom: 20px;
                                            }
                                            .ledger-table th,
                                            .ledger-table td {
                                              border: 1px solid #000;
                                              padding: 8px;
                                              text-align: center;
                                            }
                                            .ledger-table th {
                                              background-color: #f0f0f0;
                                              font-weight: bold;
                                            }
                                            .ledger-table td {
                                              text-align: center;
                                            }
                                            .ledger-table td:nth-child(4),
                                            .ledger-table td:nth-child(6) {
                                              text-align: right;
                                            }
                                            .total-row {
                                              font-weight: bold;
                                              background-color: #f9f9f9;
                                            }
                                            .footer {
                                              text-align: center;
                                              font-size: 12px;
                                              margin-top: 20px;
                                            }
                                          </style>
                                        </head>
                                        <body>
                                          <div class="ledger-page">
                                            <div class="header">
                                              <div class="title">成品对账单</div>
                                              <div class="print-info">打印日期:${formatDateTime(
                                                new Date()
                                              )}</div>
                                            </div>
                                            <table class="ledger-table">
                                              <thead>
                                                <tr>
                                                  <th>序号</th>
                                                  <th>产品名称</th>
                                                  <th>规格型号</th>
                                                  <th>单位</th>
                                                  <th>单价</th>
                                                  <th>零售数量</th>
                                                  <th>零售金额</th>
                                                  <th>发货日期</th>
                                                  <th>发货车牌号</th>
                                                  <th>客户名称</th>
                                                  <th>单号</th>
                                                </tr>
                                              </thead>
                                              <tbody>
                                      `;
    // 添加产品数据行
    products.forEach((product, index) => {
      printContent += `
                                <tr>
                                  <td>${index + 1}</td>
                                  <td>${product.productName || ""}</td>
                                  <td>${product.specificationModel || ""}</td>
                                  <td>${product.unit || ""}</td>
                                  <td>${formatNumber(product.unitPrice)}</td>
                                  <td>${product.quantity || 0}</td>
                                  <td>${formatNumber(product.totalPrice)}</td>
                                  <td>${formatDate(product.deliveryDate)}</td>
                                  <td>${product.licensePlate || ""}</td>
                                  <td>${product.customerName || ""}</td>
                                  <td>${product.salesContractNo || ""}</td>
                                </tr>
                              `;
                                          <tr>
                                            <td>${index + 1}</td>
                                            <td>${product.productName || ""}</td>
                                            <td>${
                                              product.specificationModel || ""
                                            }</td>
                                            <td>${product.unit || ""}</td>
                                            <td>${formatNumber(
                                              product.unitPrice
                                            )}</td>
                                            <td>${product.quantity || 0}</td>
                                            <td>${formatNumber(
                                              product.totalPrice
                                            )}</td>
                                            <td>${formatDate(
                                              product.deliveryDate
                                            )}</td>
                                            <td>${product.licensePlate || ""}</td>
                                            <td>${product.customerName || ""}</td>
                                            <td>${
                                              product.salesContractNo || ""
                                            }</td>
                                          </tr>
                                        `;
    });
    // 计算合计
@@ -2534,21 +2551,23 @@
    );
    printContent += `
                                      <tr class="total-row">
                                        <td colspan="5">合计</td>
                                        <td>${totalQuantity}</td>
                                        <td>${formatNumber(totalAmount)}</td>
                                        <td colspan="4"></td>
                                      </tr>
                                    </tbody>
                                  </table>
                                  <div class="footer">
                                    共 ${products.length} 条记录
                                  </div>
                                </div>
                              </body>
                              </html>
                            `;
                                                <tr class="total-row">
                                                  <td colspan="5">合计</td>
                                                  <td>${totalQuantity}</td>
                                                  <td>${formatNumber(
                                                    totalAmount
                                                  )}</td>
                                                  <td colspan="4"></td>
                                                </tr>
                                              </tbody>
                                            </table>
                                            <div class="footer">
                                              共 ${products.length} 条记录
                                            </div>
                                          </div>
                                        </body>
                                        </html>
                                      `;
    // 写入内容到新窗口
    printWindow.document.write(printContent);
@@ -2815,6 +2834,20 @@
    isCalculating.value = false;
  };
  // 处理税率远程搜索
  const handleTaxRateRemote = query => {
    if (query) {
      // 验证输入是否为数字且在0-100之间
      const num = parseFloat(query);
      if (!isNaN(num) && num > 0 && num < 100) {
        customTaxRate.value = query;
      } else {
        customTaxRate.value = "";
      }
    } else {
      customTaxRate.value = "";
    }
  };
  // 根据税率变化计算不含税总价
  const calculateFromTaxRate = () => {
    // 对私客户不需要税率计算