zs
2025-06-04 5a149d626ae8bc3fa4bddbb53f8caf40f51f6da6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import { importFileToService, exportFileToClient } from '@/api/file'
import { ElMessage } from 'element-plus'
import { downloadFile } from '@/utils/client'
import dayjs from 'dayjs'
import { _t } from '@/libs/Language/Language'
 
export const useFile = () => {
  /**
   * 导入文件
   * @param url
   */
  const importFile = async (url: string, file: File) => {
    const formData = new FormData()
    formData.append('file', file)
    await importFileToService(url, formData)
    ElMessage(_t('导入成功'))
  }
  /**
   * 导出文件
   * @param url
   */
  const exportFile = async (
    url: string,
    params: any,
    name: string,
    suffix = 'xlsx'
  ) => {
    const res = await exportFileToClient(url, params)
    // downloadFile(res, `${name}_${dayjs().format('YYYYMMDDHHMMss')}.${suffix}`)
    await downloadFile({
      fileUrl: url,
      fileName: `${name}_${dayjs().format('YYYYMMDDHHMMss')}.${suffix}`,
      params,
    })
    ElMessage.success(_t('导出成功'))
  }
 
  return {
    importFile,
    exportFile,
  }
}