licp
2024-12-31 5c8aaba66c16b1a143fdec27e29ad36eaefd1e3a
src/components/do/a6-personnel/training-record.vue
@@ -164,10 +164,12 @@
        }, {
          label: '培训内容',
          prop: 'trainingContent'
        }, {
          label: '培训课时',
          prop: 'educationBackground'
        }, {
        },
        // {
        //   label: '培训课时',
        //   prop: 'educationBackground'
        // },
        {
          label: '课时',
          prop: 'classHour'
        }, {
@@ -197,13 +199,32 @@
      const name = this.isDepartment ? 'departmentId' : 'userId';
      this.$axios.get(this.$api.personnel.personTrackRecordExport + `&${name}=` + this.departId, { responseType: 'blob' }).then(res => {
        this.outLoading = false;
        this.$message.success('导出成功');
        const blob = new Blob([res], { type: 'application/octet-stream' });
        const url = URL.createObjectURL(blob);
        const link = document.createElement('a');
        link.href = url;
        link.download = '培训记录.xlsx';
        link.click();
        //将Blob 对象转换成字符串
        let reader = new FileReader();
        reader.readAsText(blob, 'utf-8');
        reader.onload = () => {
          try {
            let result = JSON.parse(reader.result);
            if (result.message) {
              this.$message.error(result.message);
            } else {
              const url = URL.createObjectURL(blob);
              const link = document.createElement('a');
              link.href = url;
              link.download = '培训记录导出' + '.docx';
              link.click();
              this.$message.success('导出成功')
            }
          } catch (err) {
            console.log(err);
            const url = URL.createObjectURL(blob);
            const link = document.createElement('a');
            link.href = url;
            link.download = '培训记录导出' + '.docx';
            link.click();
            this.$message.success('导出成功')
          }
        }
      }).catch(err => {
        this.outLoading = false;
      })