From 79156cd4628daf4e2ed09daf321ad95fbe4400a5 Mon Sep 17 00:00:00 2001 From: Time <80127895@qq.com> Date: Mon, 22 Jan 2024 23:34:27 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=E4=BF=AE=E5=A4=8D=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E5=88=9D=E5=A7=8B=E5=8C=96=E6=95=B0=E6=8D=AE=E6=8F=90?= =?UTF-8?q?=E7=A4=BA'=E4=B8=8D=E5=BE=97=E4=B8=BAnull'=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/dvadmin/utils/serializers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/dvadmin/utils/serializers.py b/backend/dvadmin/utils/serializers.py index 698d9eef7..79d1a7b34 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"): -- Gitee From a1a71066e6ec166ce7b563315939da53e4d31b91 Mon Sep 17 00:00:00 2001 From: Time <80127895@qq.com> Date: Thu, 25 Jan 2024 09:06:57 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=89=8D=E7=AB=AF=E6=9B=B4=E6=96=B0:?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E6=95=B0=E6=8D=AE=E5=90=8E=E5=8F=B0=E6=8A=A5?= =?UTF-8?q?=E9=94=99=E6=97=B6,=E5=BC=B9=E5=87=BA=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/utils/service.ts | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/web/src/utils/service.ts b/web/src/utils/service.ts index 0dfe45aa6..0c35d5c51 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) + } } }) } -- Gitee