src/pages/sales/salesQuotation/edit.vue
@@ -124,24 +124,12 @@
                            placeholder="请输入单位"
                            clearable />
                </up-form-item>
                <up-form-item label="数量">
                  <up-input v-model="product.quantity"
                            type="number"
                            placeholder="请输入数量"
                            clearable
                            @blur="calculateAmount(product)" />
                </up-form-item>
                <up-form-item label="单价">
                  <up-input v-model="product.unitPrice"
                            type="number"
                            placeholder="请输入单价"
                            clearable
                            @blur="calculateAmount(product)" />
                </up-form-item>
                <up-form-item label="金额">
                  <up-input :model-value="formatAmount(product.amount)"
                            disabled
                            placeholder="自动计算" />
                </up-form-item>
              </view>
            </view>
@@ -263,7 +251,7 @@
  const totalAmount = computed(() =>
    Number(
      (form.value.products || [])
        .reduce((sum, item) => sum + Number(item.amount || 0), 0)
        .reduce((sum, item) => sum + Number(item.unitPrice || 0), 0)
        .toFixed(2)
    )
  );
@@ -294,9 +282,7 @@
    productModelId: "",
    ProductModel: "",
    unit: "",
    quantity: 1,
    unitPrice: 0,
    amount: 0,
    modelOptions: [],
  });
@@ -322,9 +308,7 @@
  const goBack = () => uni.navigateBack();
  const calculateAmount = product => {
    product.amount = Number(
      (Number(product.quantity || 0) * Number(product.unitPrice || 0)).toFixed(2)
    );
    product.unitPrice = Number(Number(product.unitPrice || 0).toFixed(2));
    form.value.totalAmount = totalAmount.value;
  };
@@ -451,9 +435,7 @@
          productModelId: item.productModelId || "",
          ProductModel: item.ProductModel || item.specification || "",
          unit: item.unit || "",
          quantity: Number(item.quantity || 1),
          unitPrice: Number(item.unitPrice || 0),
          amount: Number(item.amount || 0),
          modelOptions: [],
        };
@@ -528,7 +510,6 @@
        !item.productId ||
        !item.productModelId ||
        !item.unit ||
        !Number(item.quantity) ||
        !Number(item.unitPrice)
    );
    if (invalid) {
@@ -554,10 +535,10 @@
        product: item.product,
        productModelId: item.productModelId,
        ProductModel: item.ProductModel,
        quantity: Number(item.quantity || 0),
        quantity: 1,
        unit: item.unit,
        unitPrice: Number(item.unitPrice || 0),
        amount: Number(item.amount || 0),
        amount: Number(item.unitPrice || 0),
      })),
    };
    const action = quotationId.value ? updateQuotation : addQuotation;