gongchunyi
10 天以前 394a5fc7f6d3987be8af2e28e84aa94dcf96e596
src/views/productionPlan/productionPlan/index.vue
@@ -143,6 +143,7 @@
      <template #footer>
        <span class="dialog-footer">
          <el-button type="primary"
                     :loading="mergeSubmitLoading"
                     @click="handleMergeSubmit">确定下发</el-button>
          <el-button @click="isShowNewModal = false">取消</el-button>
        </span>
@@ -303,6 +304,13 @@
        return params == "销售" ? "销售" : "内部";
      },
    },
    {
      label: "销售合同号",
      prop: "salesContractNo",
      width: "200px",
      dataType: "slot",
      slot: "salesContractNo",
    },
    {
      label: "产品名称",
@@ -328,7 +336,6 @@
      label: "所需数量",
      prop: "qtyRequired",
      width: "150px",
      align: "right",
      dataType: "slot",
      slot: "qtyRequired",
      className: "volume-cell",
@@ -377,13 +384,7 @@
      className: "date-cell",
      formatData: cell => (cell ? dayjs(cell).format("YYYY-MM-DD") : ""),
    },
    {
      label: "销售合同号",
      prop: "salesContractNo",
      width: "200px",
      dataType: "slot",
      slot: "salesContractNo",
    },
    {
      label: "客户名称",
      prop: "customerName",
@@ -466,6 +467,7 @@
  // 合并下发弹窗控制
  const isShowNewModal = ref(false);
  const mergeSubmitLoading = ref(false);
  // 合并下发表单数据
  const mergeForm = reactive({
    productName: "",
@@ -737,13 +739,14 @@
    // 计算总制造数量 (默认qtyRequired的和)
    const totalAssignedQuantity = selectedRows.value.reduce((sum, row) => {
      return sum + Number(row.qtyRequired || 0) - Number(row.quantityIssued || 0);
    }, 0);
    sumAssignedQuantity.value = totalAssignedQuantity;
    console.log(totalAssignedQuantity);
    }, 0);  // 避免浮点数精度问题(如 37.800000000000004)
    const fixedTotal = Math.round(totalAssignedQuantity * 100) / 100;
    sumAssignedQuantity.value = fixedTotal;
    console.log(fixedTotal);
    // 设置表单数据
    mergeForm.productName = productName;
    mergeForm.model = firstRow.model || "";
    mergeForm.totalAssignedQuantity = totalAssignedQuantity;
    mergeForm.totalAssignedQuantity = fixedTotal;
    mergeForm.planCompleteTime = firstRow.requiredDate || "";
    mergeForm.productId = firstRow.productId || "";
    mergeForm.ids = selectedRows.value.map(row => row.id);
@@ -778,6 +781,7 @@
    const payload = {
      ...mergeForm,
    };
    mergeSubmitLoading.value = true;
    productionPlanCombine(payload)
      .then(res => {
        if (res.code === 200) {
@@ -793,6 +797,9 @@
      .catch(err => {
        console.error("合并下发异常:", err);
        ElMessage.error("系统异常,合并下发失败");
      })
      .finally(() => {
        mergeSubmitLoading.value = false;
      });
    // 可以选择刷新列表或其他操作
  };