chenhj
2026-04-09 c8abd6f5f6b05df918c6cd4acc2fa4d931c174b7
src/views/qualityManagement/rawMaterialInspection/components/formDia.vue
@@ -90,16 +90,6 @@
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="检验用粉剂/液情况:" prop="inspectMaterialCondition">
              <el-radio-group v-model="form.inspectMaterialCondition">
                <el-radio label="粉剂">粉剂</el-radio>
                <el-radio label="液体">液体</el-radio>
              </el-radio-group>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="生产日期:" prop="productionDate">
              <el-date-picker
                  v-model="form.productionDate"
@@ -113,7 +103,7 @@
              />
            </el-form-item>
          </el-col>
          <el-col :span="12">
          <!-- <el-col :span="12">
            <el-form-item label="有效期:" prop="validityDate">
              <el-date-picker
                  v-model="form.validityDate"
@@ -125,21 +115,29 @@
                  style="width: 100%"
              />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="30">
          </el-col> -->
          <el-col :span="12">
            <el-form-item label="UID码:" prop="uidNo">
              <el-input v-model="form.uidNo" disabled/>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="检测单位:" prop="checkCompany">
              <el-input v-model="form.checkCompany" placeholder="请输入" clearable/>
            <el-form-item label="批号:" prop="batchNo">
              <el-input
                v-model="form.batchNo"
                placeholder="请输入"
                clearable
                :disabled="operationType === 'edit'"
              />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="检测单位:" prop="checkCompany">
              <el-input v-model="form.checkCompany" placeholder="请输入" clearable/>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="检测结果:" prop="checkResult">
              <el-select v-model="form.checkResult">
@@ -219,7 +217,7 @@
          <el-input v-model="row.result" placeholder="请输入" clearable />
        </template>
        <template #resultJudgment="{ row }">
          <el-select v-model="row.resultJudgment" placeholder="请选择" clearable style="width: 100%">
          <el-select v-model="row.resultJudgment" placeholder="请选择" clearable style="width: 100%" @change="changeResult">
            <el-option label="合格" value="合格" />
            <el-option label="不合格" value="不合格" />
            <el-option label="/" value="/" />
@@ -251,6 +249,15 @@
const dialogFormVisible = ref(false);
const operationType = ref('')
const validateBatchNo = (rule, value, callback) => {
  if (value === undefined || value === null || String(value).trim() === '') {
    callback(new Error('请输入批号'));
    return;
  }
  callback();
};
const data = reactive({
  form: {
    checkTime: "",
@@ -261,6 +268,7 @@
    productModelId: "",
    model: "",
    uidNo: "",
    batchNo: "",
    testStandardId: "",
    unit: "",
    quantity: "",
@@ -300,6 +308,7 @@
      }
    ],
    checkCompany: [{required: false, message: "请输入", trigger: "blur"}],
    batchNo: [{ required: true, validator: validateBatchNo, trigger: "blur" }],
    checkResult: [{required: true, message: "请选择检测结果", trigger: "change"}],
  },
});
@@ -393,6 +402,7 @@
    productModelId: "",
    model: "",
    uidNo: "",
    batchNo: "",
    testStandardId: "",
    unit: "",
    quantity: "",
@@ -482,6 +492,7 @@
  form.value.productModelId = undefined;
  form.value.unit = undefined;
  form.value.uidNo = undefined;
  form.value.batchNo = "";
  modelOptions.value = [];
  currentProductId.value = value
  form.value.productName = findNodeById(productOptions.value, value);
@@ -667,6 +678,19 @@
  dialogFormVisible.value = false;
  emit('close')
};
// 修改检测结果
const changeResult = () => {
  let result = '合格'
  tableData.value.forEach(item => {
    if (item.resultJudgment !== '/') {
      if (item.resultJudgment === '不合格') {
        result = '不合格'
      }
    }
  });
  form.value.checkResult = result
};
defineExpose({
  openDialog,
});