ZN
2026-03-20 8bf59ab1b9e97a0a7d2fa122746b287c185852ae
fix(排班管理): 修复导出文件下载时响应类型处理问题

将API导出函数的响应类型设置为blob,确保正确处理二进制数据。同时优化前端下载逻辑,根据响应自动创建Blob对象,并统一设置Excel文件类型。添加finally块确保加载状态正确重置。
已修改2个文件
11 ■■■■ 文件已修改
src/api/personnelManagement/class.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/personnelManagement/classsSheduling/index.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/personnelManagement/class.js
@@ -71,6 +71,7 @@
    url: "/personalShift/export",
    method: "get",
    params: query,
    responseType: "blob",
  });
}
src/views/personnelManagement/classsSheduling/index.vue
@@ -674,9 +674,11 @@
    })
      .then(res => {
        proxy.$modal.msgSuccess("下载成功");
        downLoading.value = false;
        const blob = new Blob([res], {
          type: "application/force-download",
        const blob =
          res instanceof Blob
            ? res
            : new Blob([res], {
                type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
        });
        let fileName = "";
        if (query.month) {
@@ -687,6 +689,8 @@
        proxy.$download.saveAs(blob, fileName + ".xlsx");
      })
      .catch(err => {
      })
      .finally(() => {
        downLoading.value = false;
      });
  };