ZN
7 天以前 6e0aa101e90008a0be14a6d60716acc18caf7ffc
fix: 修复发货台账显示与采购/销售台账计算逻辑

- 在发货台账表格中添加商品总数和本次发货数量列
- 修复采购台账中不含税总价计算错误,现在根据税率正确计算
- 修复销售台账中已发货数量显示问题,空值显示为0
- 移除发货类型选择字段以简化界面
- 修正发货详情查询参数从salesLedgerId改为salesLedgerProductId
已修改3个文件
47 ■■■■■ 文件已修改
src/views/procurementManagement/procurementLedger/index.vue 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/deliveryLedger/index.vue 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/salesLedger/index.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/procurementLedger/index.vue
@@ -1699,8 +1699,12 @@
        productForm.value.taxInclusiveUnitPrice,
        productForm.value.quantity
      );
    // 优化:使带税和不带税价格一致
    productForm.value.taxExclusiveTotalPrice = productForm.value.taxInclusiveTotalPrice;
    // 根据税率计算不含税总价
    const taxRate = Number(productForm.value.taxRate) || 0;
    productForm.value.taxExclusiveTotalPrice = (
      Number(productForm.value.taxInclusiveTotalPrice) / (1 + taxRate / 100)
    ).toFixed(2);
  };
  const reverseMathNum = field => {
    // 确保输入值不为负数
@@ -1715,6 +1719,8 @@
        return;
      }
    }
    const taxRate = Number(productForm.value.taxRate) || 0;
    if (field === "taxInclusiveTotalPrice") {
      // 已知含税总价和数量,反算含税单价
@@ -1739,11 +1745,16 @@
          productForm.value.quantity = "0";
        }
      }
      // 优化:使带税和不带税价格一致
      productForm.value.taxExclusiveTotalPrice = productForm.value.taxInclusiveTotalPrice;
      // 根据税率计算不含税总价
      productForm.value.taxExclusiveTotalPrice = (
        Number(productForm.value.taxInclusiveTotalPrice) / (1 + taxRate / 100)
      ).toFixed(2);
    } else if (field === "taxExclusiveTotalPrice") {
      // 优化:使带税和不带税价格一致
      productForm.value.taxInclusiveTotalPrice = productForm.value.taxExclusiveTotalPrice;
      // 根据税率计算含税总价
      productForm.value.taxInclusiveTotalPrice = (
        Number(productForm.value.taxExclusiveTotalPrice) * (1 + taxRate / 100)
      ).toFixed(2);
      // 已知数量,反算含税单价
      if (productForm.value.quantity) {
        productForm.value.taxInclusiveUnitPrice = (
src/views/salesManagement/deliveryLedger/index.vue
@@ -36,6 +36,8 @@
        <el-table-column label="客户名称" prop="customerName" show-overflow-tooltip />
        <el-table-column label="产品名称" prop="productName" show-overflow-tooltip />
        <el-table-column label="规格型号" prop="specificationModel" show-overflow-tooltip />
        <el-table-column label="商品总数" prop="quantity" show-overflow-tooltip />
        <el-table-column label="本次发货数量" prop="partSendAmount" show-overflow-tooltip />
        <el-table-column label="发货时间" prop="shippingDate" show-overflow-tooltip />
        <el-table-column label="快递公司" prop="expressCompany" show-overflow-tooltip />
        <el-table-column label="快递单号" prop="expressNumber" show-overflow-tooltip />
@@ -75,8 +77,8 @@
    <el-dialog v-model="dialogFormVisible" :title="operationType === 'add' ? '新增发货台账' : '编辑发货台账'" width="40%"
      @close="closeDia">
      <el-form :model="form" label-width="120px" label-position="top" :rules="rules" ref="formRef">
        <el-row :gutter="30">
          <el-col :span="24">
        <!-- <el-row :gutter="30"> -->
          <!-- <el-col :span="24">
            <el-form-item label="发货类型:" prop="type">
              <el-select
                v-model="form.type"
@@ -87,8 +89,8 @@
                <el-option label="快递" value="快递" />
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
          </el-col> -->
        <!-- </el-row> -->
        <el-row :gutter="30">
          <el-col :span="24">
            <el-form-item label="发货日期:" prop="shippingDate">
src/views/salesManagement/salesLedger/index.vue
@@ -61,7 +61,11 @@
                                </template>
                            </el-table-column>
              <el-table-column label="数量" prop ="quantity" />
                    <el-table-column label="已发货数量" prop="partSendAmount" />
                    <el-table-column label="已发货数量" prop="partSendAmount" >
                        <template #default="scope">
                                        {{ scope.row.partSendAmount || 0 }}
                                </template>
                        </el-table-column>
              <el-table-column label="税率(%)" prop="taxRate" />
              <el-table-column label="含税单价(元)" prop="taxInclusiveUnitPrice" :formatter="formattedNumber" />
              <el-table-column label="含税总价(元)" prop="taxInclusiveTotalPrice" :formatter="formattedNumber" />
@@ -555,7 +559,7 @@
        >
            <el-form :model="deliveryForm" label-width="120px" label-position="top" :rules="deliveryRules" ref="deliveryFormRef">
                <el-row :gutter="30">
                    <el-col :span="12">
                    <!-- <el-col :span="12">
                        <el-form-item label="发货类型:" prop="type">
                            <el-select
                                v-model="deliveryForm.type"
@@ -566,7 +570,7 @@
                                <el-option label="快递" value="快递" />
                            </el-select>
                        </el-form-item>
                    </el-col>
                    </el-col> -->
      <el-col :span="12">
                        <el-form-item label="待发货数量:">
                            <el-input v-model="deliveryForm.remainAmount" disabled placeholder="请输入待发货数量"></el-input>
@@ -908,7 +912,7 @@
    if (!deliveryDetailSalesLedgerId.value) return;
    deliveryDetailLoading.value = true;
    return deliveryLedgerListPage({
        salesLedgerId: deliveryDetailSalesLedgerId.value,
        salesLedgerProductId: deliveryDetailSalesLedgerId.value,
        current: deliveryDetailPage.current,
        size: deliveryDetailPage.size,
    }).then((res) => {
@@ -926,7 +930,7 @@
};
const openDeliveryDetail = (row) => {
    deliveryDetailSalesLedgerId.value = row?.salesLedgerId ?? null;
    deliveryDetailSalesLedgerId.value = row?.id ?? null;
    deliveryDetailPage.current = 1;
    deliveryDetailVisible.value = true;
    getDeliveryDetailList();