a2e9ba55c2
P0: 福利批量参保/离职证明下载防乱码/考勤模板合并Sheet/补卡修改/附件在线查看删除 P1: 分页pageSize修复/离职导出筛选/撤回删除草稿/加班费自动计算/考勤加班汇总/证据链异常详情/制度催办/模板导入Word/社保封顶保底/校验字段提示/职务字段/社保费用明细/弹窗防误关/身份证查重/证明员工下拉/培训批量 P2: 离职流程去重/社保基数覆盖输入/薪税入口改名/添加员工引导/绩效模板清理
20 lines
658 B
TypeScript
20 lines
658 B
TypeScript
import { toast } from 'sonner'
|
||
|
||
/**
|
||
* 从 axios 错误中提取并显示错误信息,支持 Zod 校验失败时展示具体字段
|
||
*/
|
||
export function toastError(err: any, fallback = '操作失败') {
|
||
const error = err?.response?.data?.error
|
||
if (!error) {
|
||
toast.error(fallback)
|
||
return
|
||
}
|
||
// 如果有 details(Zod 校验失败),展示具体字段
|
||
if (error.details && Array.isArray(error.details) && error.details.length > 0) {
|
||
const fields = error.details.map((d: any) => `${d.path || '字段'}: ${d.message}`).join(';')
|
||
toast.error(`${error.message}:${fields}`)
|
||
return
|
||
}
|
||
toast.error(error.message || fallback)
|
||
}
|