增加模版

This commit is contained in:
wuweihua
2026-10-22 14:46:52 +08:00
parent c064d925ca
commit f07386f4aa
16 changed files with 1129 additions and 26 deletions
+83
View File
@@ -0,0 +1,83 @@
import request from '@/utils/request'
import { saveAs } from 'file-saver'
import { blobValidate } from '@/utils/bms'
import errorCode from '@/utils/errorCode'
import { ElMessage } from 'element-plus'
export function listFileTemplate(query) {
return request({
url: '/system/fileTemplate/list',
method: 'get',
params: query
})
}
export function getFileTemplate(templateId) {
return request({
url: '/system/fileTemplate/' + templateId,
method: 'get'
})
}
export function getFileTemplateByCode(fileCode) {
return request({
url: '/system/fileTemplate/code/' + encodeURIComponent(fileCode),
method: 'get'
})
}
export function addFileTemplate(data) {
return request({
url: '/system/fileTemplate',
method: 'post',
data
})
}
export function updateFileTemplate(data) {
return request({
url: '/system/fileTemplate',
method: 'put',
data
})
}
export function delFileTemplate(templateIds) {
return request({
url: '/system/fileTemplate/' + templateIds,
method: 'delete'
})
}
export function uploadFileTemplate(templateId, file) {
const form = new FormData()
form.append('templateId', templateId)
form.append('file', file)
return request({
url: '/system/fileTemplate/upload',
method: 'post',
data: form,
headers: { 'Content-Type': 'multipart/form-data', repeatSubmit: false },
timeout: 120000
})
}
/** Download template by file_code (shared by import dialogs). */
export async function downloadFileTemplate(fileCode, fallbackName) {
const code = String(fileCode || '').trim()
if (!code) throw new Error('fileCode required')
const data = await request({
url: '/system/fileTemplate/download/' + encodeURIComponent(code),
method: 'get',
responseType: 'blob',
timeout: 120000
})
if (!blobValidate(data)) {
const text = await data.text()
const rsp = JSON.parse(text)
throw new Error(errorCode[rsp.code] || rsp.msg || errorCode.default || 'download failed')
}
const name = (fallbackName || code) + '.xlsx'
saveAs(new Blob([data]), name)
return true
}