spring
8 小时以前 1a434569ae3e486209b19cc416582f6088e2af00
src/views/qualityManagement/nonconformingManagement/index.vue
@@ -60,10 +60,10 @@
<script setup>
import { Search } from "@element-plus/icons-vue";
import {onMounted, ref} from "vue";
import {onMounted, ref, reactive, toRefs, nextTick, getCurrentInstance} from "vue";
import FormDia from "@/views/qualityManagement/nonconformingManagement/components/formDia.vue";
import {ElMessageBox} from "element-plus";
import {qualityUnqualifiedDel, qualityUnqualifiedListPage} from "@/api/qualityManagement/nonconformingManagement.js";
import {qualityUnqualifiedDel, qualityUnqualifiedListPage, downloadReturnRecord} from "@/api/qualityManagement/nonconformingManagement.js";
import InspectionFormDia from "@/views/qualityManagement/nonconformingManagement/components/inspectionFormDia.vue";
import dayjs from "dayjs";
@@ -72,12 +72,9 @@
    inspectType: "",
    inspectState: "",
    productName: "",
    entryDate: [
      dayjs().format("YYYY-MM-DD"),
      dayjs().add(1, "day").format("YYYY-MM-DD"),
    ], // 录入日期
    entryDateStart: dayjs().format("YYYY-MM-DD"),
    entryDateEnd: dayjs().add(1, "day").format("YYYY-MM-DD"),
    entryDate: undefined, // 录入日期
    entryDateStart: undefined,
    entryDateEnd: undefined,
  },
});
const { searchForm } = toRefs(data);
@@ -147,6 +144,10 @@
    prop: "model",
  },
  {
    label: "UID码",
    prop: "uidNo",
  },
  {
    label: "单位",
    prop: "unit",
  },
@@ -180,21 +181,23 @@
    label: "操作",
    align: "center",
    fixed: "right",
    width: 120,
    width: 180,
    operation: [
      {
        name: "编辑",
        type: "text",
        clickFun: (row) => {
          openForm("edit", row);
        },
      },
      {
        name: "处理",
        type: "text",
        clickFun: (row) => {
          openInspectionForm("edit", row);
        },
        disabled: (row) => row.inspectState === 1,
      },
      {
        name: "下载返工附件",
        type: "text",
        clickFun: (row) => {
          handleDownloadReturnRecord(row);
        },
        show: (row) => row.dealResult === "返工",
      },
    ],
  },
@@ -250,17 +253,52 @@
// 打开弹框
const openForm = (type, row) => {
  if (type !== 'add' && row?.inspectState === 1) {
    proxy.$modal.msgWarning("已处理的数据不能再编辑");
    return;
  }
  nextTick(() => {
    formDia.value?.openDialog(type, row)
  })
};
// 打开处理弹框
const openInspectionForm = (type, row) => {
  if (row?.inspectState === 1) {
    proxy.$modal.msgWarning("已处理的数据不能再处理");
    return;
  }
  nextTick(() => {
    inspectionFormDia.value?.openDialog(type, row)
  })
};
// 下载返工附件
const handleDownloadReturnRecord = async (row) => {
  try {
    const blobData = await downloadReturnRecord(row.id);
    // 构建 Blob
    const blob = new Blob([blobData], {
      type: "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
    });
    // 下载
    const url = window.URL.createObjectURL(blob);
    const link = document.createElement("a");
    link.href = url;
    link.download = `返工附件.docx`;
    document.body.appendChild(link);
    link.click();
    document.body.removeChild(link);
    window.URL.revokeObjectURL(url);
    proxy.$modal.msgSuccess("下载成功");
  } catch (error) {
    console.error("下载返工附件失败:", error);
    proxy.$modal.msgError("下载失败");
  }
};
// 删除
const handleDelete = () => {
  let ids = [];