这是Bug是这样,父组件有个部门的树,子组件有个饼图。
初始状态下,部门树默认是查询全部部门,饼图是有数据的,切换不同的部门后,饼图也是有数据的。
但是当部门切回全部时候,饼图消失了。
打开开发者工具后,当部门切回全部时候,发现查询饼图的后端接口,返回的数据是null。
很奇怪,因为初始状态下,部门树默认是查询全部部门,饼图是有数据的。
前端程序员因此断定问题出现在后端,需要修改后端代码。
但经过全栈程序员把前后端代码联调测试后,
贴出后端代码
1 func (a *Project) GetOrgProportion(ctx context.Context, tenantID string, orgID string, niandu int, projectIds []string) ([]*schema.CategoryData, error) { 2 results := []*schema.CategoryData{} 3 4 var err error 5 total := 0.0 6 7 // 直接指定的部门数据 8 //params.OrgIDs, err = a.OrgModel.GetUserPermissionOrgIDs(ctx, user, params.OrgID) 9 //if err != nil { 10 // return nil, err 11 //} 12 13 getIdsByTenanId, err := a.OrgModel.GetIdsByTenanId(ctx, tenantID) 14 if err != nil { 15 return nil, err 16 } 17 var params schema.StatParam 18 params.TenantID = tenantID 19 params.OrgID = lo.If(orgID == "全部", "").Else(orgID) 20 params.Niandu = niandu 21 params.OrgIDs = lo.Map(getIdsByTenanId, func(item entity.Org, index int) string { 22 return item.ID 23 }) 24 25 org, _ := a.OrgModel.Get(ctx, params.OrgID) 26 if org != nil { 27 params.OrgIDs = append(params.OrgIDs, params.OrgID) 28 result := &schema.CategoryData{} 29 result.Category = org.Name 30 result.Value, err = a.ProjectModel.GetOrgProportionSumPreValue(ctx, params, projectIds) 31 results = append(results, result) 32 total = total + result.Value 33 } 34 // 查询部门下一级子部门,统计板块产值,只需统计到选择部门的下一级即可,不必继续深入再下层 35 orgs, _ := a.OrgModel.GetOnlyNextOrgTree(ctx, params.TenantID, params.OrgID, 1) 36 if orgs != nil { 37 for _, org := range orgs { 38 result := &schema.CategoryData{} 39 result.Category = org.Name 40 orgIds, err1 := a.OrgModel.GetChildrenOrgIDs(ctx, params.TenantID, org.ID, 1) 41 if err1 != nil { 42 return nil, err1 43 } 44 params.OrgIDs = orgIds 45 result.Value, _ = a.ProjectModel.GetOrgProportionSumPreValue(ctx, params, projectIds) 46 results = append(results, result) 47 total = total + result.Value 48 } 49 // 单独对schema.CategoryDatas进行了接口处理,所以可以直接使用sort 50 sort.Sort(sort.Reverse(schema.CategoryDatas(results))) // 默认sort.Sort升序,sort.Reverse后改为降序 51 } 52 53 if total < 0.0001 { 54 for _, result := range results { 55 total = total + result.Value 56 } 57 } 58 if total > 0.00 { 59 for _, result := range results { 60 result.Ratio = result.Value / total 61 } 62 } 63 return results, err 64 //} 65 }
断点后
后端 params.OrgID = lo.If(orgID == "全部", "").Else(orgID) 代码 引起注意。
分析发现此处前端代码理应传入一个orgID字符串值正好等于"全部",否则 如果 前端params.OrgID设置为空字符串"",传递给后端,这样会直接导致接口返回null。
饼图代码在子组件中,是否需要在子组件设置OrgID参数的值呢
OrgID来源于父组件。需要通过父组件传入子组件。
解决方案是在父组件中加入设置
params.OrgID为全部,而不是 使其为
空字符串""
这个问题表象上是后端接口返回空,但是本质上是前端初值设置不当导致的。如果不会后端断点查看后端判断条件是什么,需要前端给到什么样的参数值。
只不断调试前端代码,是无法快速定位问题的。这也是专业前端即使可以解决很多精深的前端问题,也无法解决这样一个需要全栈程序员联调的问题。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/950571.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!相关文章
ArkTS语言入门:HarmonyOS应用开发的新基石
ArkTS是HarmonyOS应用开发的推荐语言,它基于TypeScript,并扩展了声明式UI语法。本文将带你全面了解ArkTS语言的基础语法和核心特性,为HarmonyOS应用开发打下坚实基础。一、ArkTS与TypeScript的关系
ArkTS是TypeScri…
大模型越来越多,国产AI的突围之路在哪里?
一、大模型“遍地开花”,同质化的隐忧
过去两年,全球AI行业进入了「大模型百花齐放」时代。OpenAI的GPT系列、Anthropic的Claude、Google的Gemini、Mistral的开源路线……国外大厂纷纷亮剑。与此同时,中国的大模型数…
2025年靠谱的卫浴缓冲隐藏轨厂家最新权威实力榜
2025年靠谱的卫浴缓冲隐藏轨厂家最新权威实力榜在卫浴五金行业,缓冲隐藏轨作为高端橱柜、浴室柜的核心配件,其品质直接影响产品的使用寿命和用户体验。随着消费者对家居品质要求的提升,具备静音、缓冲、承重强等特点…
【2025-10-29】买了周卡
20:00人谁不顾老,老去有谁怜。身瘦带频减,发稀冠自偏。废书缘惜眼,多灸为随年。经事还谙事,阅人如阅川。细思皆幸矣,下此便偷然。莫道桑榆晚,为霞尚满天。——《酬乐天咏老见示》 唐刘禹锡今天又是焦头烂耳的一天…
鸿蒙初开:HarmonyOS 5应用开发环境搭建(DevEco Studio)全指南
鸿蒙初开:HarmonyOS 5应用开发环境搭建(DevEco Studio)全指南
本文将手把手带你完成HarmonyOS 5应用开发的第一步,也是最关键的一步——开发环境的搭建。我们将从系统要求开始,直至在模拟器上成功运行第一个“Hel…
AI智能客服机器人是怎么做出来的?
AI智能客服机器人是怎么做出来的?大家好!今天咱们来聊聊AI智能客服机器人到底是怎么做出来的。如果你好奇这些能7*24小时在线、秒回问题的“数字员工”是如何工作的,或者正考虑为企业搭建一套智能客服系统,这篇文章…
2025年方形真空干燥机工厂权威推荐榜单:圆形真空干燥机/真空干燥机/双锥回转真空干燥机源头厂家精选
在化工、制药等行业的生产线上,一台高效的方形真空干燥机正将一批热敏性物料的含水率精准降至0.5%以下,而能耗较传统设备降低了30%以上。
方形真空干燥机作为现代工业干燥技术的重要组成部分,以其空间利用率高、易于…
2025年深度解析珠海爱尔眼科医院:专业资源配置与区域服务能力评估
本文将从医院规模与硬件配置的维度出发,为读者提供一个有针对性的客观参考。珠海爱尔眼科医院作为粤港澳大湾区重要的专业眼科医疗机构,其基础设施与设备投入直接关系到区域眼健康服务的可及性与质量。随着眼科疾病谱…
2025年10月成都考公培训机构推荐榜单:五大机构综合对比分析
对于许多在成都备考公务员或事业单位的考生来说,选择一家合适的培训机构是提升备考效率的关键一步。无论是应届毕业生缺乏考试经验,还是往届生希望实现职业转型,都期望通过专业指导增强竞争力。当前成都考公培训市场…
2025年10月成都考公培训机构评价报告:多维数据与用户反馈解析
随着公务员和事业单位考试竞争日益激烈,选择一家可靠的培训机构成为许多考生备考过程中的关键环节。对于在成都备考的考生而言,无论是应届毕业生缺乏应试经验,还是往届生寻求职业转型,都需要专业指导来提升竞争力。…
搭建gitea私人服务器
gitlab太大了~~功能虽然多,但是小公司不一定用得到,这时候gitea的好处就展示出来了
二进制下载地址 https://github.com/go-gitea/gitea/releases/
下载对应的版本的二进制,然后直接启动。正式环境记得配置守护进程…
Kafka关闭日志,启动一直打印日志
前言
本地调试过程中,Kafka一直打印日志,又不好直接关闭,所以寻求关闭日志输出方法
解决
og4j.properties文件追加一句
#设置kafka日志输出级别log4j.logger.org.apache.kafka=ERROR
[Paper Reading] UniME-V2: MLLM-as-a-Judge for Universal Multimodal Embedding Learning
目录UniME-V2: MLLM-as-a-Judge for Universal Multimodal Embedding LearningTL;DRMethodMLLM-as-a-Judge for Hard Negatives MiningMLLM Judgment Based Training FrameworkQ&A (从上面可以找到答案)Experiment…
2025年耐用的轻集料混凝土最新TOP厂家排名
2025年耐用的轻集料混凝土最新TOP厂家排名 随着建筑行业对环保、轻质、高强度材料需求的增长,轻集料混凝土因其优异的性能(如减轻结构自重、提高抗震性、改善保温隔热效果)成为市场热点。2025年,国内轻集料混凝土…
2025 年西安买房住宅最新推荐榜,聚焦企业开发实力与居住价值深度解析陕西买房/沣东买房/刚需买房推荐
引言
2025 年西安楼市分化加剧,城北作为热门置业板块,楼盘品质差异显著。为破解购房者选房难题,本次榜单依托中指研究院《2025 年西安住宅产品力测评报告》及克而瑞陕西区域数据,采用三维测评体系:企业实力维度占…
langchain中的上下文压缩方案
chain_extract.pycontextual_compression.py在 LangChain 中,多轮对话的上下文压缩主要用于解决长对话场景下的 Token 超限问题,通过对历史对话内容进行总结、提取关键信息或截断,在保留核心上下文的同时减少 Token…
2025 年楼盘住宅最新推荐榜,聚焦企业开发实力与宜居价值深度评测
引言
2025 年西安城北楼市迎来品质升级浪潮,低密小高层凭借宜居属性成为置业热点,但市场产品品质参差不齐。本次推荐榜依托房地产业协会《2025 年城市低密住宅测评标准》,结合第三方机构 30 项核心指标完成筛选,测…
2025年靠谱的控制台显示器支架最新TOP品牌厂家排行
2025年靠谱的控制台显示器支架最新TOP品牌厂家排行在数字化办公和工业控制领域,显示器支架已成为提升工作效率和人体工学舒适度的关键设备。随着2025年技术发展和市场需求变化,显示器支架行业涌现出一批技术领先、质…