gaoluyang
2026-06-30 113ca01ea4abdeee4e01695df973219ee4671ef0
src/views/qualityManagement/processInspection/components/formDia.vue
@@ -4,13 +4,17 @@
        v-model="dialogFormVisible"
        :title="operationType === 'add' ? '新增过程检验' : '编辑过程检验'"
        width="70%"
            draggable
        @close="closeDia"
    >
      <el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef">
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="工序:" prop="process">
              <el-input v-model="form.process" placeholder="请输入" clearable/>
              <el-select v-model="form.process" placeholder="请选择" clearable>
                <el-option label="试压" value="试压" />
                <el-option label="抽检" value="抽检" />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
@@ -31,9 +35,7 @@
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="规格型号:" prop="model">
                     <el-select v-model="form.modelId" placeholder="请选择" clearable @change="getProductModel">
                        <el-option v-for="item in modelOptions" :key="item.id" :label="item.model" :value="item.id" />
                     </el-select>
                     <el-input v-model="form.model" placeholder="请输入" clearable/>
            </el-form-item>
          </el-col>
               <el-col :span="12">
@@ -106,15 +108,20 @@
</template>
<script setup>
import {ref} from "vue";
import {ref, computed, reactive, toRefs, getCurrentInstance} from "vue";
import {getOptions} from "@/api/procurementManagement/procurementLedger.js";
import {modelList, productTreeList} from "@/api/basicData/product.js";
import {qualityInspectAdd, qualityInspectUpdate} from "@/api/qualityManagement/rawMaterialInspection.js";
import {qualityInspectDetailByProductId} from "@/api/qualityManagement/metricMaintenance.js";
import {userListNoPage} from "@/api/system/user.js";
import {qualityInspectParamInfo} from "@/api/qualityManagement/qualityInspectParam.js";
import dayjs from "dayjs";
import useUserStore from "@/store/modules/user.js";
const { proxy } = getCurrentInstance()
const emit = defineEmits(['close'])
const userStore = useUserStore()
const currentUserName = computed(() => userStore.nickName || userStore.name || "")
const getToday = () => dayjs().format("YYYY-MM-DD")
const dialogFormVisible = ref(false);
const operationType = ref('')
@@ -143,12 +150,7 @@
    checkResult: [{ required: true, message: "请输入", trigger: "change" }],
  },
});
const userList = ref([
   {nickName: '候盛杰'},
   {nickName: '焦辉'},
   {nickName: '张培'},
   {nickName: '冯灵之'},
]);
const userList = ref([]);
const { form, rules } = toRefs(data);
const supplierList = ref([]);
const productOptions = ref([]);
@@ -188,8 +190,8 @@
   getOptions().then((res) => {
      supplierList.value = res.data;
   });
   // let userLists = await userListNoPage();
   // userList.value = userLists.data;
   let userLists = await userListNoPage();
   userList.value = userLists.data;
   form.value = {}
   getProductOptions();
   if (operationType.value === 'edit') {
@@ -206,6 +208,50 @@
         });
      }
      getQualityInspectParamList(row.id)
   } else {
      // 新增时设置默认值
      form.value.process = "试压"; // 工序默认为试压
      form.value.unit = "包"; // 单位默认为包
      form.value.quantity = 3; // 数量默认为3
      form.value.checkResult = "合格"; // 检验结果默认为合格
         // 产品名称默认傻老大原味瓜子(质检试压)
         productTreeList({productName: '质量'}).then((res) => {
            productOptions.value = convertIdToValue(res);
            // 递归查找目标节点
               const findTarget = (nodes) => {
                  for (const node of nodes) {
                     if (node.label === "傻老大原味瓜子(质检试压)") {
                        return node;
                     }
                     if (node.children && node.children.length > 0) {
                        const found = findTarget(node.children);
                        if (found) return found;
                     }
                  }
                  return null;
               };
               const target = findTarget(res);
            if (target) {
               form.value.productId = target.id;
               form.value.productName = target.label;
               currentProductId.value = target.id;
               // 加载规格列表
               modelList({ id: target.id }).then((modelRes) => {
                  modelOptions.value = modelRes;
               });
               // 加载检验参数
               qualityInspectDetailByProductId(target.id).then((paramRes) => {
                  tableData.value = paramRes.data;
               });
            }
         });
   }
   // 默认检验员为当前登录人,检测日期默认为当天(空时填充)
   if (!form.value.checkName) {
      form.value.checkName = "侯盛杰";
   }
   if (!form.value.checkTime) {
      form.value.checkTime = getToday();
   }
}
const getProductOptions = () => {