Auto Commit

上级 6bbaf1fe
......@@ -8,7 +8,8 @@
import { defineProps, reactive, watch } from 'vue';
import { exportExcelFunc } from './exportExcel';
const props = defineProps({
tableData: []
tableData: [],
userId:''
})
const state = reactive({
......@@ -23,7 +24,7 @@ const onExport = () => {
return
}
state.exportLoading = true
exportExcelFunc(state.dataSource, '用户质量分').then(res => {
exportExcelFunc(state.dataSource, props.userId).then(res => {
state.exportLoading = false
console.log('res', res)
}).catch(r => {
......
......@@ -117,7 +117,7 @@ onUnmounted(() => {
</div>
<div>
<ExportBtn :table-data="state.dataSource" />
<ExportBtn :table-data="state.dataSource" :userId="state.searchValue" />
<a-table :scroll="{ x: 800, y: 600 }" :columns="state.columns" :data-source="state.dataSource"
:loading="state.loading" :pagination="state.pagination" bordered style="border-bottom:1px solid #f0f0f0;">
<template #bodyCell="{ column, record }">
......
// 输出base64编码
const base64 = s => window.btoa(unescape(encodeURIComponent(s)));
const tableToExcel = async (jsonData) => {
const tableToExcel = async (jsonData, fileName) => {
return new Promise(resolve => {
try {
let str = '<tr>'
Object.keys(jsonData[0]).forEach(name => {
const tdStr = `<td>${name}</td>`
str += tdStr
str += tdStr;
})
str += '</tr>'
for (let i = 0; i < jsonData.length; i++) {
......@@ -19,8 +19,9 @@ const tableToExcel = async (jsonData) => {
}
const currentTime = new Date()
const fileSuffix = currentTime.valueOf()
const name = fileName + '质量分' + fileSuffix
// Worksheet名
const worksheet = '用户质量分' + fileSuffix
const worksheet = '用户质量分';
const uri = 'data:application/vnd.ms-excel;base64,';
// 下载的表格模板数据
const template = `<html xmlns:o="urn:schemas-microsoft-com:office:office"
......@@ -33,7 +34,13 @@ const tableToExcel = async (jsonData) => {
<meta charset='utf-8' />
</head><body><table>${str}</table></body></html>`;
// 下载模板
window.location.href = uri + base64(template);
// window.location.href = uri + base64(template);
downloadLink.href = uri + base64(template);
downloadLink.download = name + '.xls';
downloadLink.target = '_blank';
document.body.appendChild(downloadLink);
downloadLink.click();
document.body.removeChild(downloadLink);
resolve(true)
}
catch (r) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册