huminmin
2026-05-28 8ef070c84a703c4a8b838bf9320d68d00a7d6dca
src/views/qualityManagement/finalInspection/components/formDia.vue
@@ -80,7 +80,7 @@
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="检验员:" prop="checkName">
                     <el-select v-model="form.checkName" placeholder="请选择" clearable>
                     <el-select v-model="form.checkName" placeholder="请选择" clearable filterable>
                        <el-option v-for="item in userList" :key="item.nickName" :label="item.nickName"
                                        :value="item.nickName"/>
                     </el-select>
@@ -203,13 +203,13 @@
const modelOptions = ref([]);
// 打开弹框
const openDialog = async (type, row) => {
const openDialog = async (type, row, defaultCheckResult = "", defaultCheckName = "") => {
  operationType.value = type;
  dialogFormVisible.value = true;
  // 先清空表单验证状态,避免闪烁
  await nextTick();
  proxy.$refs.formRef?.clearValidate();
  // 并行加载基础数据
  const [userListsRes] = await Promise.all([
    userListNoPage(),
@@ -218,17 +218,28 @@
      supplierList.value = res.data;
    })
  ]);
  userList.value = userListsRes.data;
  // 筛选 roleIds 包含 106 的用户
  userList.value = (userListsRes.data || []).filter(user => {
    const roleIds = user.roleIds || [];
    return roleIds.includes(106) || roleIds.includes('106');
  });
  form.value = {}
  testStandardOptions.value = [];
  tableData.value = [];
  if (operationType.value === 'edit') {
    // 先保存 testStandardId,避免被清空
    const savedTestStandardId = row.testStandardId;
    // 先设置表单数据,但暂时清空 testStandardId,等选项加载完成后再设置
    form.value = {...row, testStandardId: ''}
    // 如果传入了默认检测结果,覆盖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
    // 清空验证状态,避免数据加载过程中的校验闪烁
    nextTick(() => {