yuan
8 天以前 4a811fb2cd4ee4e1cbfe284bfd1fe3a7d16204ce
src/views/qualityManagement/nonconformingManagement/index.vue
@@ -22,8 +22,6 @@
          <el-input
              v-model="searchForm.productName"
              style="width: 200px"
              placeholder="请输入产品名称搜索"
              @change="handleQuery"
              clearable
              :prefix-icon="Search"
          />
@@ -35,8 +33,8 @@
        <el-button type="primary" @click="handleQuery" style="margin-left: 10px">搜索</el-button>
      </div>
      <div>
        <el-button type="primary" @click="openForm('add')">新增</el-button>
        <el-button @click="handleOut">导出</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>
      </div>
    </div>
@@ -60,10 +58,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";
@@ -144,6 +142,15 @@
    prop: "model",
  },
  {
    label: "UID码",
    prop: "uidNo",
  },
  {
    label: "批号",
    prop: "batchNo",
    width: 140,
  },
  {
    label: "单位",
    prop: "unit",
  },
@@ -177,16 +184,8 @@
    label: "操作",
    align: "center",
    fixed: "right",
    width: 120,
    width: 180,
    operation: [
      {
        name: "编辑",
        type: "text",
        clickFun: (row) => {
          openForm("edit", row);
        },
        disabled: (row) => row.inspectState === 1,
      },
      {
        name: "处理",
        type: "text",
@@ -194,6 +193,14 @@
          openInspectionForm("edit", row);
        },
        disabled: (row) => row.inspectState === 1,
      },
      {
        name: "下载返工附件",
        type: "text",
        clickFun: (row) => {
          handleDownloadReturnRecord(row);
        },
        show: (row) => row.dealResult === "返工",
      },
    ],
  },
@@ -268,6 +275,33 @@
  })
};
// 下载返工附件
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 = [];