当前位置: 首页 > news >正文

26年寒假生活指导1.23

以下是根据今日工作内容整理的学习日志:

📅 今日学习日志 - 日结单审批系统全栈开发与优化

日期:2026-01-23
项目:日结单管理系统 (RjdDailyWork)


1. 🎯 核心目标

完成“日结单审批”功能的端到端开发,解决页面 404、数据无法加载等阻断性问题,并根据业务需求进行深度 UI/UX 优化及逻辑完善。

2. 💻 技术实现与突破

2.1 前端开发 (Vue 3 + Element Plus)

  • 组件重构与路由修复
    • 创建 audit.vue 替换原有 HTML 原型,确保与系统整体风格一致。
    • 修复路由 404 问题,在 base.ts 中正确注册 /rjd/daily/audit 静态路由。
    • 解决 I18n 国际化缺失问题,补充 pageApprovalReport 键值。
  • 复杂表格交互
    • 嵌套明细:实现 el-table 的展开行功能,展示工作事项明细。
    • 状态保持:攻克了“操作后列表刷新导致明细收起”的体验痛点,通过手动维护 expandedRowKeys 实现刷新后保持展开状态。
    • 交互优化:增加 row-click 事件,支持点击行任意位置展开/收起明细。
  • UI/UX 深度定制
    • 视觉分层:将下拉明细区域背景设为浅灰色 (#f0f2f5) 并添加边框圆角,形成“卡片式”视觉效果,显著提升辨识度。
    • 智能预警:实现工时逻辑校验(工时耗时 > 通勤时长),不符合条件的行背景标红,并在数值旁添加红色感叹号图标 (Tooltip 提示)。
    • 布局微调:将“合计”字段移至明细栏左下角,符合用户阅读视线。

2.2 后端开发 (Spring Boot + MyBatis Plus)

  • 数据聚合与性能优化
    • 批量填充:在 RjdDailyWorkRecordServiceImpl 中实现数据组装逻辑,提取列表中的关联 ID(产品、客户、合同、事务),通过 selectBatchIds 批量查询名称并填充,避免 N+1 查询问题。
  • 多租户隔离突破
    • 问题排查:解决“明细数据存在但前端显示暂无数据”的 Bug。
    • 解决方案:定位到 MyBatis Plus 多租户插件过滤了缺少 tenant_code 的历史数据。在 DAO 层使用 @InterceptorIgnore(tenantLine = "true") 注解,强制忽略租户限制,确保完整读取明细。
  • 业务状态流转
    • 审批逻辑:点击“审批” -> 审核状态变更为“已审核”。
    • 驳回闭环:点击“打回” -> 审核状态变更为“已驳回” 日结单状态重置为“草稿”,确保填报人可重新编辑提交。

3. 📝 关键代码片段回顾

前端:工时预警与图标显示

<el-table-column prop="totalWorkHours" label="工时耗时"><template #default="scope"><div style="display: flex; align-items: center; justify-content: center;"><!-- 动态样式类 error-text --><span :class="{ 'error-text': isWarning(scope.row) }">{{ scope.row.totalWorkHours }} h</span><!-- 条件渲染警告图标 --><el-tooltip v-if="isWarning(scope.row)" content="工时耗时大于通勤时长" placement="top"><el-icon style="color: #f56c6c; margin-left: 5px;"><Warning /></el-icon></el-tooltip></div></template>
</el-table-column>

后端:忽略租户限制查询

@InterceptorIgnore(tenantLine = "true")
@Select("select * from rjd_daily_work_detail where summary_id = #{summaryId}")
List<RjdDailyWorkDetailEntity> selectListBySummaryId(@Param("summaryId") Long summaryId);

4. 🌟 总结

今日工作不仅完成了基础功能的开发,更在用户体验(UX)细节上做了大量打磨(如颜色警示、状态保持)。同时,通过后端拦截器注解的使用,有效解决了复杂场景下的数据查询问题,保证了系统的健壮性。

http://www.jsqmd.com/news/290699/

相关文章:

  • 综合长文档效率战|万字毕业论文,用“快降重”统一风格、抢救AI率
  • 视频推理帧率优化实战
  • 基于微信小程序的儿童预防接种预约系统【源码+文档+调试】
  • 基于微信小程序的家政预约服务平台【源码+文档+调试】
  • Remotion Agent Skills:AI 写代码生成视频的时代来了
  • Docker 入门前置:容器虚拟化基础之 cgroups 资源控制与 LXC 容器
  • 基于SpringBoot的大学生创新创业项目管理系统毕设
  • 基于SpringBoot的学生信息管理系统毕业设计源码
  • No.10质量控制
  • No.11 进度控制
  • 2026年网络安全就业指南:人才缺口超 200 万,这些方向最吃香
  • AI应用架构师与社会网络AI分析平台的持续进化
  • [langgraph langchain 关于多agent编排]
  • 8个降AIGC工具推荐!研究生高效降AI率指南
  • 2026年AI测试工具包:软件测试从业者的高效利器
  • 2026年AI测试市场增长预测报告
  • 爆款故事:AI如何帮小团队打败大公司‌
  • ‌AI公平性验证:测试数据集构建指南‌
  • AS7173+VL171规格书/ 8K60 C转dp双向互转 Type-C转dP线
  • 第52章:Shell 管理系统内核参数:sysctl 配置 + 参数优化脚本
  • Windows CMD(命令提示符)常用指令大全
  • 工业控制嵌入式开发:Modbus 协议在 STM32 中的实现与调试
  • 人群仿真软件:SimWalk_(2).安装与配置
  • CGO性能深度剖析:成因、评估与优化全指南
  • 信号处理仿真:滤波器设计与仿真_6.滤波器设计软件与工具
  • 吐血推荐!自考必看TOP10一键生成论文工具深度测评
  • 【渗透测试】HTB靶场之Baby 全过程wp
  • 提示工程架构师指南:AI提示设计中用户行为预测的工具推荐
  • 提示工程架构师必备:物流规划中的上下文蒸馏技术
  • 人群仿真软件:SimWalk_(3).SimWalk软件安装与配置