liyong
2026-05-23 18a6993750e192fb8af04ce407a72ba20d6024c5
src/views/qualityManagement/rawMaterialInspection/components/formDia.vue
@@ -100,7 +100,7 @@
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="检验员:" prop="checkName">
              <el-select v-model="form.checkName" placeholder="请选择" clearable style="width: 100%">
              <el-select v-model="form.checkName" placeholder="请选择" clearable style="width: 100%" filterable>
                <el-option v-for="item in userList" :key="item.nickName" :label="item.nickName" :value="item.nickName"/>
              </el-select>
            </el-form-item>
@@ -228,7 +228,7 @@
});
// 打开弹框
const openDialog = async (type, row) => {
const openDialog = async (type, row, defaultCheckResult = "", defaultCheckName = "") => {
  operationType.value = type;
  getOptions().then((res) => {
    supplierList.value = res.data;
@@ -236,16 +236,20 @@
  try {
    const userRes = await userListNoPage();
    userList.value = userRes.data || [];
    // 筛选 roleIds 包含 106 的用户
    userList.value = (userRes.data || []).filter(user => {
      const roleIds = user.roleIds || [];
      return roleIds.includes(106) || roleIds.includes('106');
    });
  } catch (e) {
    console.error("加载检验员列表失败", e);
    userList.value = [];
  }
  // 先重置表单数据(保持字段完整,避免弹窗首次渲染时触发必填红框“闪一下”)
  // 先重置表单数据(保持字段完整,避免弹窗首次渲染时触发必填红框"闪一下")
   form.value = {
    checkTime: "",
    supplier: "",
    checkName: "",
    checkName: defaultCheckName || "",
    productName: "",
    productId: "",
    productModelId: "",
@@ -254,7 +258,7 @@
    unit: "",
    quantity: "",
    checkCompany: "",
    checkResult: "",
    checkResult: defaultCheckResult || "",
  }
  testStandardOptions.value = [];
  tableData.value = [];
@@ -264,6 +268,13 @@
    // 先保存 testStandardId,避免被清空
    const savedTestStandardId = row.testStandardId;
    form.value = {...row}
    // 如果传入了默认检测结果,覆盖row中的值
    if (defaultCheckResult) {
      form.value.checkResult = defaultCheckResult;
    }
    // 如果传入了默认检验员,覆盖row中的值(优先使用传入的检验员)
    console.log('formDia checkName debug:', { defaultCheckName, rowCheckName: row.checkName });
    form.value.checkName = defaultCheckName || row.checkName || "";
    currentProductId.value = row.productId || 0
    // 关键:编辑时加载规格型号下拉选项,才能反显 productModelId
    if (currentProductId.value) {