zhangwencui
7 天以前 19f42147fc99bea9c435abdbe4f822da98dbad71
销售台账/采购台账产品列表增加运费单价和总运费字段展示
已修改2个文件
62 ■■■■■ 文件已修改
src/pages/procurementManagement/procurementLedger/detail.vue 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/sales/salesAccount/out.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/procurementManagement/procurementLedger/detail.vue
@@ -268,6 +268,24 @@
                        placeholder="请输入"
                        @blur="formatAmount(idx)" />
            </up-form-item>
            <up-form-item label="运费单价(元)"
                          prop="freightUnitPrice"
                          :rules="productRules">
              <up-input v-model="product.freightUnitPrice"
                        type="number"
                        :disabled="!canEditProducts"
                        placeholder="请输入"
                        @blur="formatFreightUnitPrice(idx)" />
            </up-form-item>
            <up-form-item label="总运费(元)"
                          prop="totalFreight"
                          :rules="productRules">
              <up-input v-model="product.totalFreight"
                        type="number"
                        :disabled="!canEditProducts"
                        placeholder="请输入"
                        @blur="formatTotalFreight(idx)" />
            </up-form-item>
            <!-- 含税总价 -->
            <up-form-item label="含税总价(元)"
                          prop="taxInclusiveTotalPrice"
@@ -546,6 +564,8 @@
      taxRate: "",
      taxInclusiveUnitPrice: "",
      quantity: "",
      freightUnitPrice: "",
      totalFreight: "",
      taxInclusiveTotalPrice: "",
      taxExclusiveTotalPrice: "",
      invoiceType: "",
@@ -764,6 +784,34 @@
    }
  };
  const formatFreightUnitPrice = idx => {
    if (productData.value[idx].freightUnitPrice) {
      const value = parseFloat(productData.value[idx].freightUnitPrice);
      if (!isNaN(value)) {
        productData.value[idx].freightUnitPrice = value.toFixed(2);
      }
    }
    const quantity = parseFloat(productData.value[idx].quantity);
    const unitPrice = parseFloat(productData.value[idx].freightUnitPrice);
    if (!quantity || quantity <= 0 || !unitPrice) return;
    productData.value[idx].totalFreight = (unitPrice * quantity).toFixed(2);
  };
  const formatTotalFreight = idx => {
    if (productData.value[idx].totalFreight) {
      const value = parseFloat(productData.value[idx].totalFreight);
      if (!isNaN(value)) {
        productData.value[idx].totalFreight = value.toFixed(2);
      }
    }
    const quantity = parseFloat(productData.value[idx].quantity);
    const totalFreight = parseFloat(productData.value[idx].totalFreight);
    if (!quantity || quantity <= 0 || !totalFreight) return;
    productData.value[idx].freightUnitPrice = (totalFreight / quantity).toFixed(
      2
    );
  };
  // 数量输入框失焦
  const formatAmount = idx => {
    if (productData.value[idx].quantity) {
src/pages/sales/salesAccount/out.vue
@@ -94,6 +94,14 @@
            <text class="detail-value">{{ item.taxInclusiveUnitPrice }}</text>
          </view>
          <view class="detail-row">
            <text class="detail-label">运费单价(元)</text>
            <text class="detail-value">{{ formatMoney2(item.freightUnitPrice) }}</text>
          </view>
          <view class="detail-row">
            <text class="detail-label">总运费(元)</text>
            <text class="detail-value">{{ formatMoney2(item.totalFreight) }}</text>
          </view>
          <view class="detail-row">
            <text class="detail-label">含税总价(元)</text>
            <text class="detail-value">{{ item.taxInclusiveTotalPrice }}</text>
          </view>
@@ -252,6 +260,12 @@
    uni.hideLoading();
  };
  const outData = ref({});
  const formatMoney2 = value => {
    if (value === null || value === undefined || value === "") return "-";
    const num = Number(value);
    if (Number.isNaN(num)) return String(value);
    return num.toFixed(2);
  };
  onMounted(() => {
    // 页面加载时获取参数并刷新列表