diff --git a/backend/dvadmin/utils/serializers.py b/backend/dvadmin/utils/serializers.py index 698d9eef7d1f087c9382c65e057ca7f2d1729ee1..79d1a7b34368f338aa72d093d12399ec2485bfba 100644 --- a/backend/dvadmin/utils/serializers.py +++ b/backend/dvadmin/utils/serializers.py @@ -26,7 +26,7 @@ class CustomModelSerializer(DynamicFieldsMixin, ModelSerializer): # 修改人的审计字段名称, 默认modifier, 继承使用时可自定义覆盖 modifier_field_id = "modifier" modifier_name = serializers.SerializerMethodField(read_only=True) - dept_belong_id = serializers.IntegerField(required=False, default=None) + dept_belong_id = serializers.IntegerField(required=False, allow_null=True, default=None) def get_modifier_name(self, instance): if not hasattr(instance, "modifier"): diff --git a/web/src/utils/service.ts b/web/src/utils/service.ts index 0dfe45aa67df7515f662aceb37083018b16a52b6..0c35d5c51aa5032b4414f4f5446ae2c0febf7059 100644 --- a/web/src/utils/service.ts +++ b/web/src/utils/service.ts @@ -10,6 +10,7 @@ import { errorLog, errorCreate } from './tools.ts'; import { Local, Session } from '/@/utils/storage'; import qs from 'qs'; import { getBaseURL } from './baseUrl'; +import { errorMessage, successMessage } from "/@/utils/message"; /** * @description 创建请求实例 */ @@ -211,18 +212,27 @@ export const downloadFile = function ({ url, params, method, filename = '文件 responseType: 'blob' // headers: {Accept: 'application/vnd.openxmlformats-officedocument'} }).then((res: any) => { - const xlsxName = window.decodeURI(res.headers['content-disposition'].split('=')[1]) - const fileName = xlsxName || `${filename}.xlsx` if (res) { - const blob = new Blob([res.data], { type: 'charset=utf-8' }) - const elink = document.createElement('a') - elink.download = fileName - elink.style.display = 'none' - elink.href = URL.createObjectURL(blob) - document.body.appendChild(elink) - elink.click() - URL.revokeObjectURL(elink.href) // 释放URL 对象0 - document.body.removeChild(elink) + if (res.data.type === 'application/json') { + const data = new FileReader() + data.readAsText(res.data, 'utf-8') + data.onload = () => { + const parseObj = JSON.parse(data.result) + errorMessage(parseObj.msg) + } + } else { + const xlsxName = window.decodeURI(res.headers['content-disposition'].split('=')[1]) + const fileName = xlsxName || `${filename}.xlsx` + const blob = new Blob([res.data], { type: 'charset=utf-8' }) + const elink = document.createElement('a') + elink.download = fileName + elink.style.display = 'none' + elink.href = URL.createObjectURL(blob) + document.body.appendChild(elink) + elink.click() + URL.revokeObjectURL(elink.href) // 释放URL 对象0 + document.body.removeChild(elink) + } } }) }