增加模版
This commit is contained in:
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user