yuan
5 天以前 9ea5ff67655241271bdf04bb50ca3a8d60c4e22a
src/views/productionPlan/productionPlan/index.vue
@@ -56,7 +56,7 @@
                    style="width: 160px;"
                    @keyup.enter="handleQuery" />
        </el-form-item>
        <el-form-item label="规格型号:"
        <el-form-item label="产品规格:"
                      prop="model">
          <el-input v-model="searchForm.model"
                    placeholder="请输入"
@@ -121,7 +121,7 @@
        </el-row>
        <el-row :gutter="20">
          <el-col>
            <el-form-item label="规格型号">
            <el-form-item label="产品规格">
              <div class="info-display">{{ mergeForm.model || '-' }}</div>
            </el-form-item>
          </el-col>
@@ -139,16 +139,11 @@
                           @change="onBlur"
                           style="width: 100%" />
        </el-form-item>
        <el-form-item label="创建时间">
          <el-date-picker v-model="mergeForm.createTime"
                          type="date"
                          value-format="YYYY-MM-DD"
                          style="width: 100%" />
        </el-form-item>
      </el-form>
      <template #footer>
        <span class="dialog-footer">
          <el-button type="primary"
                     :loading="mergeSubmitLoading"
                     @click="handleMergeSubmit">确定下发</el-button>
          <el-button @click="isShowNewModal = false">取消</el-button>
        </span>
@@ -179,7 +174,7 @@
                      prop="mpsNo">
          <el-input v-model="form.mpsNo"
                    disabled
                    placeholder="保存后自动生成" />
                    placeholder="新增后自动生成" />
        </el-form-item>
        <el-form-item label="产品名称"
                      prop="productId">
@@ -192,7 +187,7 @@
                          @change="handleProductChange"
                          style="width: 100%" />
        </el-form-item>
        <el-form-item label="规格型号"
        <el-form-item label="产品规格"
                      prop="productModelId">
          <el-select v-model="form.productModelId"
                     @change="handleChangeSpecification"
@@ -232,14 +227,6 @@
                          value-format="YYYY-MM-DD"
                          style="width: 100%"
                          placeholder="请选择承诺日期" />
        </el-form-item>
        <el-form-item label="创建时间"
                      prop="createTime">
          <el-date-picker v-model="form.createTime"
                          type="date"
                          value-format="YYYY-MM-DD"
                          style="width: 100%"
                          placeholder="请选择创建时间" />
        </el-form-item>
        <el-form-item label="备注"
                      prop="remark">
@@ -335,7 +322,7 @@
      },
    },
    {
      label: "规格型号",
      label: "产品规格",
      prop: "model",
      width: "150px",
      className: "spec-cell",
@@ -444,7 +431,6 @@
              Number(row.qtyRequired || 0) - Number(row.quantityIssued || 0);
            mergeForm.planCompleteTime = row.requiredDate || "";
            mergeForm.productId = row.productId || "";
            mergeForm.createTime = new Date().toISOString().split("T")[0];
            mergeForm.ids = [row.id];
            sumAssignedQuantity.value =
              Number(row.qtyRequired || 0) - Number(row.quantityIssued || 0);
@@ -481,6 +467,7 @@
  // 合并下发弹窗控制
  const isShowNewModal = ref(false);
  const mergeSubmitLoading = ref(false);
  // 合并下发表单数据
  const mergeForm = reactive({
    productName: "",
@@ -488,7 +475,6 @@
    totalAssignedQuantity: 0,
    planCompleteTime: "",
    productId: "",
    createTime: "",
  });
  // 导入相关
@@ -519,12 +505,11 @@
    requiredDate: "",
    promisedDeliveryDate: "",
    remark: "",
    createTime: "",
  });
  const rules = reactive({
    productId: [{ required: true, message: "请选择产品", trigger: "change" }],
    productModelId: [
      { required: true, message: "请选择规格型号", trigger: "change" },
      { required: true, message: "请选择产品规格", trigger: "change" },
    ],
    qtyRequired: [{ required: true, message: "请输入数量", trigger: "blur" }],
    requiredDate: [
@@ -703,17 +688,17 @@
      });
  };
  // 选中的规格型号ID
  // 选中的产品规格ID
  const selectedProductModelId = ref("");
  // 表格选择数据
  const handleSelectionChange = selection => {
    selectedRows.value = selection;
    // 如果有选中的行,记录第一个选中行的规格型号ID
    // 如果有选中的行,记录第一个选中行的产品规格ID
    if (selection.length > 0) {
      selectedProductModelId.value = selection[0].productModelId;
    } else {
      // 如果没有选中的行,清空规格型号ID
      // 如果没有选中的行,清空产品规格ID
      selectedProductModelId.value = "";
    }
  };
@@ -734,7 +719,7 @@
    if (!selectedProductModelId.value) {
      return true;
    }
    // 如果有选中的行,只有规格型号ID相同的行才可选择
    // 如果有选中的行,只有产品规格ID相同的行才可选择
    return row.productModelId === selectedProductModelId.value;
  };
  // 拉取数据按钮操作
@@ -795,6 +780,7 @@
    const payload = {
      ...mergeForm,
    };
    mergeSubmitLoading.value = true;
    productionPlanCombine(payload)
      .then(res => {
        if (res.code === 200) {
@@ -810,6 +796,9 @@
      .catch(err => {
        console.error("合并下发异常:", err);
        ElMessage.error("系统异常,合并下发失败");
      })
      .finally(() => {
        mergeSubmitLoading.value = false;
      });
    // 可以选择刷新列表或其他操作
  };
@@ -906,7 +895,6 @@
      requiredDate: "",
      promisedDeliveryDate: "",
      remark: "",
      createTime: new Date().toISOString().split("T")[0],
    });
    dialogVisible.value = true;
    fetchProductOptions();