src/views/procureMent/components/ProductionDialog.vue
@@ -21,6 +21,7 @@
            v-model="form.supplierId"
            placeholder="请选择供应商"
            :disabled="isViewMode"
                  filterable
          >
            <el-option
              :label="item.label"
@@ -35,6 +36,7 @@
            v-model="form.coalId"
            placeholder="请选择煤种"
            :disabled="isViewMode"
                  filterable
          >
            <el-option
              :label="item.label"
@@ -50,6 +52,7 @@
            placeholder="请输入"
            @blur="handleQuantityBlur"
            :disabled="isViewMode"
            oninput="value=value.replace(/[^0-9]/g,'')"
          >
            <template v-slot:suffix>
              <i style="font-style: normal">吨</i>
@@ -324,10 +327,7 @@
    form.value.purchaseQuantity !== undefined &&
    form.value.purchaseQuantity !== ""
  ) {
    form.value.purchaseQuantity = toFixed(
      parseFloat(form.value.purchaseQuantity),
      3
    ); // 数量保留3位小数
    form.value.purchaseQuantity = parseInt(form.value.purchaseQuantity) || 0; // 数量转为整数
    // watch 会自动触发 calculatePrices,不需要手动调用
  }
};
@@ -346,7 +346,8 @@
  coal: [{ required: true, message: "请输入煤种", trigger: "blur" }],
  purchaseQuantity: [
    { required: true, message: "请输入采购数量", trigger: "blur" },
    { type: "number", message: "采购数量必须为数字", trigger: "blur" },
    { type: "integer", message: "采购数量必须为整数", trigger: "blur" },
    { pattern: /^\d+$/, message: "采购数量必须为正整数", trigger: "blur" },
  ],
  priceExcludingTax: [
    { required: true, message: "请输入单价", trigger: "blur" },