gongchunyi
9 天以前 4dee4cb5b31a7f1dcd2c7b3d72f74b78d2fe3f29
src/views/qualityManagement/processInspection/components/formDia.vue
@@ -156,6 +156,20 @@
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="30"
                v-if="operationType === 'edit'">
          <el-col :span="12">
            <el-form-item label="是否入库:"
                          prop="isStockIn">
              <el-switch v-model="form.isStockIn"
                         :active-value="1"
                         :inactive-value="0"
                         active-text="是"
                         inactive-text="否" />
              <span class="stock-in-tip">选择“是”将生成入库记录和库存,选择“否”只保存质检记录</span>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="检测单位:"
@@ -272,6 +286,7 @@
      checkCompany: "",
      isSampling: 0,
      samplingQuantity: "",
      isStockIn: 0,
    },
    rules: {
      checkTime: [{ required: true, message: "请输入", trigger: "blur" }],
@@ -393,6 +408,7 @@
      checkCompany: "",
      isSampling: 0,
      samplingQuantity: "",
      isStockIn: 0,
    };
    testStandardOptions.value = [];
    tableData.value = [];
@@ -403,6 +419,8 @@
      const savedTestStandardId = row.testStandardId;
      const { passRate, ...rowWithoutPassRate } = row;
      form.value = { ...rowWithoutPassRate, testStandardId: "" };
      // 编辑时"是否入库"默认否,仅修改质检记录
      form.value.isStockIn = 0;
      currentProductId.value = row.productId || 0;
      // 关键:编辑时加载规格型号下拉选项,才能反显 productModelId
      if (currentProductId.value) {
@@ -411,7 +429,11 @@
          modelOptions.value = res || [];
          // 同步回填 model / unit(有些接口返回的 row 里可能没带全)
          if (form.value.productModelId) {
            handleChangeModel(form.value.productModelId);
            const selectedModel = modelOptions.value.find(item => item.id == form.value.productModelId);
            if (selectedModel) {
              form.value.model = selectedModel.model || "";
              form.value.unit = selectedModel.unit || "";
            }
          }
        } catch (e) {
          console.error("加载规格型号失败", e);
@@ -423,6 +445,7 @@
        // 先加载指标选项
        let params = {
          productId: currentProductId.value,
          productModelId: form.value.productModelId || undefined,
          inspectType: 1,
          process: form.value.process || "",
        };
@@ -497,6 +520,8 @@
      modelOptions.value.find(item => item.id == value)?.model || "";
    form.value.unit =
      modelOptions.value.find(item => item.id == value)?.unit || "";
    // 规格型号变化后按 产品+规格型号 重新过滤可选指标
    getList(value);
  };
  const handleQualifiedQuantityChange = (value) => {
@@ -591,7 +616,7 @@
      }
    });
  };
  const getList = () => {
  const getList = (modelId) => {
    if (!currentProductId.value) {
      testStandardOptions.value = [];
      tableData.value = [];
@@ -600,6 +625,7 @@
    const processName = form.value.process || "";
    let params = {
      productId: currentProductId.value,
      productModelId: modelId ?? form.value.productModelId ?? undefined,
      inspectType: 1,
      process: processName,
    };
@@ -668,4 +694,10 @@
.sampling-radio-group {
  height: 32px;
}
.stock-in-tip {
  margin-left: 12px;
  font-size: 12px;
  color: #909399;
}
</style>