gaoluyang
2026-06-22 bc365ef47ae4e01754aeadbae26170e11c9bb80e
src/views/qualityManagement/finalInspection/index.vue
@@ -51,7 +51,7 @@
      <el-button type="primary" @click="openQuickCheck">快速检验</el-button>
      <el-button type="primary" @click="openForm('add')">新增</el-button>
      <el-button @click="handleOut">导出</el-button>
      <el-button type="danger" plain @click="handleDelete">删除</el-button>
      <el-button type="danger" plain @click="handleDelete" v-hasPermi="['qualityManagement:finalInspection:remove']">删除</el-button>
    </div>
      <PIMTable rowKey="id"
                :column="tableColumn"
@@ -69,6 +69,9 @@
             @close="handleQuery"></FormDia>
    <files-dia ref="filesDia"
               @close="handleQuery"></files-dia>
    <QuickCheckDia ref="quickCheckDia"
                   @close="handleQuery"
                   @success="getList"></QuickCheckDia>
    <el-dialog v-model="dialogFormVisible"
               title="编辑检验员"
               width="30%"
@@ -115,6 +118,7 @@
  } from "vue";
  import InspectionFormDia from "@/views/qualityManagement/finalInspection/components/inspectionFormDia.vue";
  import FormDia from "@/views/qualityManagement/finalInspection/components/formDia.vue";
  import QuickCheckDia from "@/views/qualityManagement/finalInspection/components/quickCheckDia.vue";
  import { ElMessageBox } from "element-plus";
  import {
    downloadQualityInspect,
@@ -122,7 +126,6 @@
    qualityInspectListPage,
    qualityInspectUpdate,
    submitQualityInspect,
    batchQuickInspect,
  } from "@/api/qualityManagement/rawMaterialInspection.js";
  import FilesDia from "@/views/qualityManagement/finalInspection/components/filesDia.vue";
  import dayjs from "dayjs";
@@ -234,6 +237,22 @@
      },
    },
    {
      label: "检验规则",
      prop: "inspectRule",
      width: 100,
      formatData: (val) => val === 0 ? "全检" : val === 1 ? "抽检" : ""
    },
    {
      label: "抽检比例(%)",
      prop: "sampleRatio",
      width: 120,
    },
    {
      label: "抽检数量",
      prop: "sampleQuantity",
      width: 100,
    },
    {
      dataType: "action",
      label: "操作",
      align: "center",
@@ -322,6 +341,7 @@
  const formDia = ref();
  const filesDia = ref();
  const inspectionFormDia = ref();
  const quickCheckDia = ref();
  const { proxy } = getCurrentInstance();
  const userStore = useUserStore();
  const userList = ref([]);
@@ -402,32 +422,8 @@
      return;
    }
    const totalCount = selectedRows.value.length;
    const submittedCount = totalCount - unSubmittedRows.length;
    let confirmMessage = `已选择 ${totalCount} 条检验单`;
    if (submittedCount > 0) {
      confirmMessage += `(其中 ${submittedCount} 条已提交,将自动跳过)`;
    }
    confirmMessage += `\n\n确认后将自动:\n· 检验结果设为"合格"\n· 合格数量设为总数\n· 不合格数量设为 0\n· 提交并入库`;
    ElMessageBox.confirm(confirmMessage, "快速检验", {
      confirmButtonText: "确认",
      cancelButtonText: "取消",
      type: "warning",
      dangerouslyUseHTMLString: false,
    })
      .then(() => {
        // 调用批量快速检验接口
        const ids = unSubmittedRows.map(item => item.id);
        batchQuickInspect(ids).then(res => {
          proxy.$modal.msgSuccess(res.msg || "快速检验完成");
          getList();
        });
      })
      .catch(() => {
        proxy.$modal.msg("已取消");
      });
    const ids = unSubmittedRows.map(item => item.id);
    quickCheckDia.value?.openDialog(ids, unSubmittedRows);
  };
  // 打开新增检验弹框