export const Excle = (thName: any, jsonData: any, fillName: string, filter?: any[], num?: any) => {
  //thName表头的名称，jsonData:数据，fillName下载后的文件命名，filter排除的数据,num统计数据
  //num = { thName: { 'total_num': '群下单数', 'realprice': '客单价', 'total_commission': '群佣金收入' }, jsonData: [...Xdata.total] }
  //列标题，逗号隔开，每一个逗号就是隔开一个单元格
  let str: any = '';
  // Object.keys(jsonData[0]).forEach((a: any) => {
  //   if (filter && thName[a]) {
  //     str += `${thName[a]},`;
  //   } 
  //   if(!filter){
  //     str += `${thName[a]},`;
  //   }
  // })
  Object.keys(thName).forEach((a: any) => {
    if (filter && a) {
      if (!filter.includes(thName[a])) {
        str += `${thName[a]},`;
      }
    }
    if (!filter) {
      str += `${thName[a]},`;
    }
  })
  str += `\n`
  //增加\t为了不让表格显示科学计数法或者其他格式
  for (let i = 0; i < jsonData.length; i++) {
    for (let item in thName) {
      if (filter && filter.every((a: string) => { return a != thName[item] })) {
        let s = Array.isArray(jsonData[i][item]) ? jsonData[i][item].join('|') : jsonData[i][item]
        str += `${s + '\t'},`;
      }
      if (!filter) {
        str += `${jsonData[i][item] + '\t'},`;
      }
    }
    str += '\n';
  }
  if (num) {
    Object.keys(num.thName).forEach((a: any) => {
      if (filter && a) {
        str += `${num.thName[a]},`;
      }
      if (!filter) {
        str += `${num.thName[a]},`;
      }
    })
    str += `\n`
    for (let i = 0; i < num.jsonData.length; i++) {
      for (let item in num.thName) {
        if (filter && filter.every((a: any) => { return a != item })) {
          str += `${num.jsonData[i][item] + '\t'},`;
        }
        if (!filter) {
          str += `${num.jsonData[i][item] + '\t'},`;
        }
      }
      str += '\n';
    }
  }
  // encodeURIComponent解决中文乱码
  let uri = 'data:text/csv;charset=utf-8,\ufeff' + encodeURIComponent(str);
  //通过创建a标签实现
  let link = document.createElement("a");
  link.href = uri;
  //对下载的文件命名
  link.download = `${fillName}.csv`;
  document.body.appendChild(link);
  link.click();
  document.body.removeChild(link);
}
