Newer
Older
smart-metering-front / src / utils / useTemplateDownload.ts
import { ElMessage } from 'element-plus'
import { download } from './download'
import { getFileListPage, getPhotoUrl } from '@/api/system/tool'
/**
 * 模板下载
 * @param modelName 模块名称
 */
export default function
useTemplateDownload(modelName: string) {
  const searchQuery = { // 获取模板文件名称请求参数
    fileName: '', // 文件名称
    moduleName: modelName, // 模块名
    downloadNo: '',
    limit: 20,
    offset: 1,
    ids: [],
  } // 查询参数
  let minioFileName = ''
  let fileName = '' // 文件名称
  getFileListPage(searchQuery as any).then((res) => {
    if (res.code === 200) {
      if (res.data && res.data.rows.length) {
        minioFileName = res.data.rows[0].minioFileName
        fileName = res.data.rows[0].fileName
        if (minioFileName) {
          getPhotoUrl(minioFileName).then((res) => {
            download(res.data, fileName)
          }).catch(() => {
            ElMessage.error('下载失败')
          })
        }
        else {
          ElMessage('无可下载内容')
        }
      }
    }
  })
}