103 Commits

Author SHA1 Message Date
zhangjf
515590477b feat: UniApp移动端项目初始化及核心页面开发
新增:
- fund-mobile/: UniApp移动端项目(Vue3 + TypeScript)
- manifest.json: 应用配置(支持H5/小程序/App)
- pages.json: 页面路由及TabBar配置
- App.vue: 应用入口,登录状态检查

核心页面:
- login/index.vue: 登录页面(193行)
  * 渐变背景设计
  * JWT登录集成
  * 本地存储token

- index/index.vue: 首页(338行)
  * 数据概览卡片(今日收支/待收付款)
  * 快捷操作入口
  * 最近收支列表

- expense/add.vue: 支出录入(339行)
  * 表单验证
  * 图片上传(拍照/相册)
  * 关联项目选择

配置:
- config/api.ts: API接口地址配置
- utils/request.ts: 请求拦截封装

技术栈:
- Vue 3 Composition API
- TypeScript
- UniApp跨端框架
- SCSS样式

支持平台:
- H5
- 微信小程序
- App(Android/iOS)
2026-02-16 11:26:16 +08:00
zhangjf
67832bd108 fix: 前端模块完整性修复 2026-02-16 10:40:13 +08:00
zhangjf
0eae7f2aaf feat: 移动端适配(响应式优化) 2026-02-16 10:17:01 +08:00
zhangjf
c7904a9f8b docs: 同步文件上传管理模块文档
更新内容:

1. API接口文档.md
   - 新增「十六、文件管理接口」章节(194行)
   - 7个核心接口文档:
     * 16.1 上传文件(multipart/form-data)
     * 16.2 分页查询文件列表
     * 16.3 根据业务类型和ID查询文件列表
     * 16.4 获取文件详情
     * 16.5 删除文件
     * 16.6 获取文件访问URL
     * 16.7 文件类型说明(支持的MIME类型)
   - 完整的请求参数、响应示例、字段说明
   - 文件类型白名单、大小限制说明
   - 调整附录章节编号为「十七」

2. 资金服务平台 FundPlatform 功能清单.md
   - 新增「4.1.3 文件管理」章节
   - 标记文件管理功能为已完成 
   - 添加实现状态说明:
     * 后端:FileRecord + FileRecordMapper + FileService + FileController
     * 前端:file.js + file.vue
     * 功能清单:12大功能点
     * 支持文件类型、存储方式、业务关联

文档与代码同步完成!
2026-02-16 09:59:21 +08:00
zhangjf
7fe78d6c19 feat: 文件上传管理模块前端实现
前端实现:
- file.js: API接口封装(68行,6个接口)
  - uploadFile(): 上传文件(multipart/form-data)
  - getFileList(): 分页查询
  - getFileListByBusiness(): 按业务查询
  - getFileById(): 查询详情
  - deleteFile(): 删除文件
  - getFileUrl(): 获取URL

- file.vue: 文件管理页面(403行)
  - 搜索功能:文件名、业务类型、关联业务ID
  - 表格展示:文件ID、文件名(链接)、业务类型标签、关联ID、大小、类型、上传人、时间
  - 上传功能:el-upload组件、业务类型选择、关联ID输入
  - 预览功能:图片预览、PDF预览、其他文件提示
  - 下载功能:获取URL后下载
  - 删除功能:确认后删除

技术特点:
- 文件上传(multipart/form-data)
- 文件大小格式化(B/KB/MB/GB)
- 业务类型标签(合同/收款/支出/其他)
- 图片/PDF预览
- 文件选择对话框

模块状态: 完整(前端+后端)
2026-02-16 09:57:31 +08:00
zhangjf
c184e649ee docs: 同步人员分配模块文档
更新内容:

1. API接口文档.md
   - 新增「四、人员分配管理接口」章节(159行)
   - 5个核心接口文档:
     * 4.1 分页查询用户分配列表(支持多条件过滤)
     * 4.2 根据部门ID查询用户列表
     * 4.3 分配用户到部门和岗位
     * 4.4 批量分配用户
     * 4.5 移除用户分配
   - 完整的请求参数、响应示例、字段说明
   - 包含部门名称、岗位名称的VO结构
   - 调整后续所有章节编号(五~十六)

2. 资金服务平台 FundPlatform 功能清单.md
   - 标记「人员分配(部门人员配置)」为已完成 
   - 添加实现状态说明:
     * 后端:UserAssignmentVO + UserAssignmentService + UserAssignmentController
     * 前端:userAssignment.js + userAssignment.vue
     * 功能清单:8大功能点
     * 批量分配、未分配筛选、职位管理

文档与代码同步完成!
2026-02-16 09:51:56 +08:00
zhangjf
8ac97bb313 feat: 人员分配模块前端实现
前端实现:
- userAssignment.js: API接口封装(56行,5个接口)
  - getUserAssignmentList(): 分页查询
  - getUserListByDept(): 按部门查询
  - assignUser(): 分配用户
  - batchAssignUsers(): 批量分配
  - removeUserAssignment(): 移除分配

- userAssignment.vue: 人员分配页面(408行)
  - 搜索功能:用户名、真实姓名、部门(树选择)、岗位、状态
  - 表格展示:用户信息、部门标签、岗位标签、职位、状态
  - 批量操作:多选批量分配
  - 筛选功能:仅显示未分配用户
  - 分配对话框:部门树选择、岗位下拉、职位输入
  - 移除分配:确认后移除部门/岗位关联

技术特点:
- 多条件组合搜索
- 表格多选(el-table selection)
- 部门树选择器
- 岗位下拉选择
- 状态标签展示
- 批量分配优化

模块状态: 完整(前端+后端)
2026-02-16 09:48:22 +08:00
zhangjf
25776cc9a4 docs: 同步岗位管理模块文档
更新内容:

1. API接口文档.md
   - 新增「三、岗位管理接口」章节(256行)
   - 8个核心接口文档:
     * 3.1 分页查询岗位列表(支持多条件过滤)
     * 3.2 按部门ID查询岗位列表
     * 3.3 获取所有启用的岗位列表
     * 3.4 获取岗位详情
     * 3.5 创建岗位
     * 3.6 更新岗位
     * 3.7 删除岗位
     * 3.8 更新岗位状态
   - 完整的请求参数、响应示例、字段说明
   - 调整后续所有章节编号(四~十五)

2. 资金服务平台 FundPlatform 功能清单.md
   - 标记「岗位管理(岗位定义、职责描述)」为已完成 
   - 添加实现状态说明:
     * 后端:PostMapper + PostService + PostController
     * 前端:post.js + post.vue
     * 功能清单:8大功能点
     * 部门树选择器、状态管理、职责描述

文档与代码同步完成!
2026-02-16 09:43:22 +08:00
zhangjf
84adda022e feat: 岗位管理模块前端实现
前端实现:
- post.js: API接口封装(86行,8个接口)
  - getPostList(): 分页查询
  - getPostListByDept(): 按部门查询
  - getPostListEnabled(): 获取启用的岗位
  - getPostById(): 查询详情
  - createPost(): 创建岗位
  - updatePost(): 更新岗位
  - deletePost(): 删除岗位
  - updatePostStatus(): 更新状态

- post.vue: 岗位管理页面(416行)
  - 搜索功能:岗位编码、名称、所属部门(树选择)、状态
  - 表格展示:编码、名称、部门、职责、排序、状态、时间
  - 状态开关:el-switch直接切换状态
  - 新增/编辑对话框:
    * 岗位编码、名称(必填)
    * 所属部门(树选择器)
    * 岗位职责、岗位要求(多行文本)
    * 排序号、状态、备注

技术特点:
- 部门树选择器(el-tree-select)
- 状态开关(el-switch)
- 表单验证(必填项)
- 删除确认

模块状态: 完整(前端+后端)
2026-02-16 09:40:00 +08:00
zhangjf
2b7c43366b docs: 同步数据统计分析模块文档
更新内容:

1. API接口文档.md
   - 新增「十三、数据统计分析接口」章节(129行)
   - 13.1 获取仪表盘统计数据
     * 完整的请求参数、响应示例
     * 包含概览、收支、趋势、分布等多维度数据
   - 13.2 响应字段说明
     * 概览数据:项目数、客户数、合同数、需求工单数
     * 收支统计:总收入、总支出、净利润、应收款、逾期金额
     * 本月数据:本月收入/支出、新增项目/客户
     * 趋势数据:月度收入/支出趋势(List结构)
     * 分布数据:项目状态、支出类型、应收款状态分布
   - 调整附录章节编号为「十四」

2. 资金服务平台 FundPlatform 功能清单.md
   - 标记「4.6.5 支出统计分析」为已完成 
   - 添加实现状态说明:
     * 后端:DashboardVO + DashboardService + DashboardController
     * 前端:dashboard.js + dashboard/index.vue
     * 功能清单:概览、收支、本月、趋势、分布
     * 图表:ECharts折线图、环形饼图
     * 响应式设计

文档与代码同步完成!
2026-02-16 09:36:39 +08:00
zhangjf
81e919ad3c feat: 数据统计分析模块前端实现
前端实现:
- dashboard.js: API接口封装(13行)
- dashboard/index.vue: 仪表盘页面(576行)

页面布局:
1. 概览卡片(4个)
   - 项目总数(含本月新增)
   - 客户总数(含本月新增)
   - 合同总数
   - 需求工单数

2. 收支概览(3个)
   - 总收入(含本月收入)
   - 总支出(含本月支出)
   - 净利润(含利润率)

3. 应收款概览(3个)
   - 应收款总额
   - 待收款金额(橙色警示)
   - 逾期金额(红色警示)

4. 图表区域(4个)
   - 收支趋势折线图(最近12个月)
   - 项目状态分布饼图
   - 支出类型分布饼图
   - 应收款状态分布饼图

技术特点:
- ECharts图表库:折线图、环形饼图
- 响应式设计:窗口大小变化自动重绘
- 渐变色卡片:现代化UI设计
- 金额格式化:千分位分隔、保留2位小数
- 图表tooltip:金额/百分比格式化显示
- 组件销毁时清理资源

模块状态: 完整(前端+后端)
2026-02-16 09:35:23 +08:00
zhangjf
39577a9b11 docs: 同步部门管理模块文档
更新内容:

1. API接口文档.md
   - 新增「二、部门管理接口」章节(229行)
   - 6个核心接口文档:
     * 2.1 获取部门树(树形结构)
     * 2.2 获取部门列表(扁平结构)
     * 2.3 获取部门详情
     * 2.4 新增部门
     * 2.5 更新部门
     * 2.6 删除部门
   - 完整的请求参数、响应示例、字段说明
   - 部门层级结构展示(children嵌套)
   - 调整后续所有章节编号(三~十三)

2. 资金服务平台 FundPlatform 功能清单.md
   - 标记「4.1.2 组织架构管理」为已完成 
   - 标记「部门管理(增删改查、层级关系)」为已完成 
   - 添加实现状态说明:
     * 后端:DeptMapper + DeptService + DeptController
     * 前端:dept.js + dept.vue
     * 功能清单:10大功能点
     * 树形结构展示
     * 层级管理、负责人管理、状态管理

文档与代码同步完成!

注意:部门管理的前后端代码早期已完成,本次仅补充文档同步。
2026-02-16 09:12:39 +08:00
zhangjf
c115a0b58c docs: 同步操作日志管理模块文档
更新内容:

1. API接口文档.md
   - 新增「十一、操作日志管理接口」章节(165行)
   - 4个核心接口文档:
     * 11.1 获取操作日志列表(分页+多条件过滤)
     * 11.2 获取操作日志详情
     * 11.3 删除操作日志
     * 11.4 批量删除操作日志
   - 11.5 操作类型说明表(8种操作类型+标签颜色)
   - 完整的请求参数、响应示例、字段说明
   - 时间格式说明(yyyy-MM-dd HH:mm:ss)
   - 调整附录章节编号为「十二」

2. 资金服务平台 FundPlatform 功能清单.md
   - 标记「操作日志记录与查询」为已完成 
   - 添加实现状态说明:
     * 后端:OperationLogMapper + OperationLogService + OperationLogController
     * 前端:operationLog.js + operationLog.vue
     * 功能清单:7大功能点
     * 操作类型:8种类型(查询/新增/更新/删除/导入/导出/登录/登出)
     * 性能监控:执行时长超时标红

文档与代码同步完成!
2026-02-16 09:08:36 +08:00
zhangjf
d8dcbd0ef2 feat: 操作日志管理前端实现
前端实现:
- operationLog.js: API接口封装(44行,4个接口)
- operationLog.vue: 管理页面(351行)

页面特点:
- 搜索:模块、操作类型、操作人、时间范围
- 表格:模块、操作类型(标签)、请求信息、执行时长、状态
- 详情:完整的请求参数、响应结果、错误信息
- 批量清理:删除N天前的日志(7-365天)

操作类型:查询/新增/更新/删除/导入/导出/登录/登出

模块状态: 完整(前端+后端)
2026-02-16 09:07:37 +08:00
zhangjf
3dd1b88749 docs: 同步项目成员管理模块文档
更新内容:

1. API接口文档.md
   - 在「六、项目管理接口」章节新增7个项目成员管理接口:
     * 6.6 获取项目成员列表(按项目ID)
     * 6.7 获取用户的项目列表(按用户ID)
     * 6.8 获取项目成员详情
     * 6.9 添加项目成员
     * 6.10 更新项目成员
     * 6.11 移除项目成员
     * 6.12 更新成员状态
   - 完整的请求参数、响应示例、字段说明
   - 角色类型说明(pm/dev/test/finance/member)

2. 资金服务平台 FundPlatform 功能清单.md
   - 标记「4.3.2 项目关联管理」为已完成 
   - 添加实现状态说明:
     * 后端:ProjectMemberMapper + ProjectMemberService + ProjectMemberController
     * 前端:projectMember.js + projectMember.vue
     * 功能清单:7大功能点

文档与代码同步完成!
2026-02-16 09:04:06 +08:00
zhangjf
588ef25869 feat: 项目成员管理前端页面实现
前端实现:
- projectMember.js: API接口封装(7个接口)
- projectMember.vue: 项目成员管理页面

页面特点:
- 以项目为维度管理成员
- 角色类型:项目经理/开发/测试/财务/普通成员
- 状态管理:在职/已离开
- 工作量占比:0-100%

模块状态: 完整(前端+后端)
2026-02-16 09:03:00 +08:00
zhangjf
6702b92a95 docs: 同步收款记录模块文档
更新内容:

1. API接口文档.md
   - 新增「十、收款记录管理接口」章节
   - 包含5个接口文档
   - 完整的请求参数、响应示例、字段说明

2. 资金服务平台 FundPlatform 功能清单.md
   - 标记「4.7.2 收款管理」为已完成 
   - 添加实现状态说明

文档与代码同步完成!
2026-02-16 09:00:35 +08:00
zhangjf
a119826173 feat: 应收款管理优化 - 需求和客户改为下拉选择
功能优化:
- 将需求ID输入框改为需求工单下拉选择
- 将客户ID输入框改为客户下拉选择
- 添加需求和客户数据加载逻辑

前端改进:
1. 表单优化:
   - 需求工单:下拉选择,显示需求名称
   - 客户:下拉选择,显示客户名称
   - 添加 clearable 支持清空

2. 表格优化:
   - 新增需求工单列,显示需求名称
   - 新增客户列,显示客户名称
   - 调整列宽和顺序

3. 数据加载:
   - loadRequirements(): 加载需求列表
   - loadCustomers(): 加载客户列表
   - getRequirementName(): 根据ID获取需求名称
   - getCustomerName(): 根据ID获取客户名称

4. 表单验证:
   - 更新验证提示:'请选择需求工单' / '请选择客户'
   - 触发方式改为 'change'

用户体验提升:
- 更直观的下拉选择替代手动输入ID
- 表格显示名称而不是ID,更易读
- 支持搜索和清空选择

表格列顺序(优化后):
应收款编号 > 需求工单 > 客户 > 项目 > 应收款金额 > 已收款金额 > 未收款金额 > 应收款日期 > 付款截止日期 > 状态 > 逾期天数 > 创建时间 > 操作
2026-02-15 20:22:51 +08:00
zhangjf
db7a34f4f3 fix: 添加需求工单和财务管理菜单到前端侧边栏
问题:
- 前端菜单硬编码,缺少需求工单和财务管理模块
- 用户看不到这些功能的入口

根本原因:
- Layout.vue中的菜单是硬编码的,没有从后端动态加载
- 缺少需求工单、支出类型、支出管理、应收款管理的菜单项

修复内容:
1. 在项目管理下添加「需求工单」菜单项
2. 新增「财务管理」一级菜单
3. 在财务管理下添加:
   - 支出类型
   - 支出管理
   - 应收款管理
4. 导入Money图标

菜单结构(修复后):
- 首页
- 系统管理
  - 用户管理、角色管理、菜单管理
- 客户中心
  - 客户管理、联系人管理
- 项目管理
  - 项目管理、合同管理、需求工单 
- 财务管理 
  - 支出类型、支出管理、应收款管理

现在刷新页面即可看到完整菜单!
2026-02-15 20:12:18 +08:00
zhangjf
504da52c88 fix: 修复项目管理前端字段与后端Entity不匹配问题
问题:
- 项目金额在新增和编辑时不会更新
- 前端表单字段与后端Entity字段不一致
- projectAmount不存在于后端,应该是budgetAmount和contractAmount
- projectManager应该是projectManagerId (Long类型)
- projectDesc应该是description

修复:
1. 修正前端表单字段
   - projectAmount → budgetAmount (预算金额)
   - 新增 contractAmount (合同金额)
   - projectManager → projectManagerId
   - projectDesc → description
   - 新增 projectShort, projectType, remark等字段

2. 优化表单UI
   - 添加项目简称字段
   - 添加项目类型下拉选择(开发/维护/咨询)
   - 预算金额和合同金额分开显示
   - 添加备注字段

3. 修正表格显示列
   - 项目金额 → 预算金额 + 合同金额(两列)

现在前后端字段完全一致!
2026-02-15 19:44:47 +08:00
zhangjf
d1137f5528 feat: 创建合同管理表并插入测试数据
问题:
- 数据库缺少contract表,导致合同管理接口无法访问
- Entity类存在但数据库表缺失

修复内容:
1. 创建contract表(合同表)
   - 包含完整字段:contract_id, tenant_id, project_id, contract_code等
   - 与Contract实体类字段完全一致
   - 添加索引:租户、项目、客户、状态

2. 插入测试数据
   - 3条合同记录(对应3个项目)
   - 包含:北京科技ERP、上海金融数据分析、广州贸易官网

验证:
- Entity字段与数据库表字段完全匹配 
- 接口返回200,成功查询到3条合同 
2026-02-15 19:29:07 +08:00
zhangjf
2b5ab61668 fix: 修复联系人管理API路径不一致问题
问题:
- 前端API使用旧路径 /cust/api/v1/customer-contact
- 后端已改为 /cust/api/v1/contact
- getContactList接口参数不匹配(单个customerId vs params对象)

修复:
- 统一前端API路径为 /cust/api/v1/contact
- 修改getContactList为分页查询接口,支持params参数
- 修改前端页面调用方式,传递完整的查询参数
- 支持按客户ID和联系人姓名筛选

现在前后端API路径完全一致!
2026-02-15 19:11:01 +08:00
zhangjf
abded8ec75 feat: 完成所有前端页面和路由配置
项目成员管理:
- 创建 projectMember.vue 页面(318行)
  - 按项目查询成员列表
  - 添加/编辑/移除成员
  - 角色选择(项目经理/开发/测试/财务/普通成员)
  - 工作量占比滑块
  - 状态管理(在职/已离开)

应收款管理:
- 创建 receivable.vue 页面(475行)
  - 多条件搜索(编号、项目、状态)
  - 表格展示(应收款金额、已收款金额、未收款金额、逾期天数)
  - 新增/编辑应收款
  - 记录收款功能
  - 逾期提醒(红色显示)
  - 状态标签(待收款/部分收款/已收款/逾期)

路由配置:
- 添加项目成员管理路由(/project/member)
- 添加应收款管理路由(/finance/receivable)

所有核心模块前端页面全部完成!
2026-02-15 18:32:52 +08:00
zhangjf
0323717110 feat: 完成应收款管理模块
后端:
- 创建 Receivable 实体类(应收款编号、需求ID、项目ID、客户ID、金额、状态、逾期天数)
- 创建 ReceivableMapper 接口
- 创建 ReceivableService 业务逻辑层
  - 分页查询、保存/更新应收款
  - 自动计算未收款金额和逾期天数
  - 记录收款并自动更新状态
- 创建 ReceivableController 控制器(RESTful API)

前端:
- 创建 receivable.js API 文件(7个接口)

应收款管理模块核心功能完成!
2026-02-15 18:29:37 +08:00
zhangjf
6742515446 feat: 完成项目成员管理模块后端和API
后端:
- 创建 ProjectMember 实体类(项目ID、用户ID、角色、日期、工作量、状态)
- 创建 ProjectMemberMapper 接口
- 创建 ProjectMemberService 业务逻辑层(按项目查询、按用户查询、添加/更新/移除成员、状态管理)
- 创建 ProjectMemberController 控制器(RESTful API)

前端:
- 创建 projectMember.js API 文件(7个接口)

项目成员管理模块后端完成!
2026-02-15 18:26:17 +08:00
zhangjf
fe3230eb9c feat: 完成支出管理模块前端开发
- 创建 expense.js API 文件(完整的 CRUD 接口)
- 创建 expense.vue 管理页面
  - 多条件搜索(支出编号、支出类型、项目、状态)
  - 表格展示(支出编号、类型、金额、日期、事由、项目、付款方式、状态)
  - 新增/编辑表单(支持金额、日期、事由、项目、付款方式等管理)
  - 状态更新对话框(待付款/已付款/已完成/已作废)
  - 支出类型树形选择
  - 项目下拉选择
- 添加支出管理路由配置(/finance/expense)

支出管理模块全栈开发完成!
2026-02-15 18:20:59 +08:00
zhangjf
bb101d9c5e feat: 完成支出管理后端代码
- 创建 Expense 实体类
- 创建 ExpenseMapper 接口
- 创建 ExpenseService 业务逻辑层
- 创建 ExpenseController 控制器
2026-02-15 18:18:50 +08:00
zhangjf
8aaf7a15bd feat: 完成支出类型管理模块
后端:
- 创建 ExpenseType 实体类(支持树形结构)
- 创建 ExpenseTypeMapper 接口
- 创建 ExpenseTypeService 业务逻辑层
  - 获取支出类型树(仅启用/包含禁用)
  - 新增/更新/删除支出类型
  - 级联删除子类型
  - 自动计算层级
  - 状态管理
- 创建 ExpenseTypeController 控制器

前端:
- 创建 expenseType.js API 文件
- 创建 expenseType.vue 管理页面
  - 树形表格展示
  - 支持添加子类型
  - 状态启用/禁用切换
  - 上级类型选择(el-tree-select)
- 添加财务管理模块路由
2026-02-15 18:14:21 +08:00
zhangjf
9c00696baf feat: 完成需求工单管理模块(全栈开发)
后端:
- 创建 Requirement 实体类(映射 requirement 表)
- 创建 RequirementMapper 接口(含自定义查询)
- 创建 RequirementService 业务逻辑层
  - 分页查询(支持多条件筛选)
  - 新增/更新/删除需求
  - 更新需求状态和进度
  - 自动设置默认租户ID
- 创建 RequirementController 控制器
  - RESTful API 设计
  - 状态管理和进度跟踪

前端:
- 创建 requirement.js API 文件(完整的 CRUD 接口)
- 创建 requirement.vue 管理页面
  - 多条件搜索(需求名称、项目、客户、状态)
  - 表格展示(含状态标签、优先级标签、进度条)
  - 新增/编辑表单(支持工时、日期、应收款管理)
  - 状态更新对话框
  - 进度更新对话框(滑块组件)
  - 项目和客户下拉选择
- 添加路由配置(/project/requirement)
2026-02-15 18:06:20 +08:00
zhangjf
1a47943b10 feat: 完成项目管理和合同管理前端页面优化
部门管理:
-  dept.js API文件
-  dept.vue 树形表格页面
-  路由配置

项目管理:
-  project.js API文件(修复updateProjectStatus接口)
-  list.vue 页面优化(await fetchData、错误处理)

合同管理:
-  contract.js API文件(独立出来)
-  contract.vue 页面优化(修复导入路径、await fetchData、错误处理)

优化内容:
1. 统一使用 await fetchData() 确保刷新完成
2. 改进表单验证逻辑(Promise方式)
3. 添加明确的错误提示
4. 删除操作优化(删除最后一条自动返回上一页)
5. 统一代码风格和最佳实践
2026-02-15 17:58:35 +08:00
zhangjf
bcd163a093 feat: 完成部门管理前端页面
功能:
- dept.js API文件:部门CRUD接口
- dept.vue 页面:树形表格展示部门层级
- 支持添加子部门、编辑、删除
- 上级部门选择(树形下拉)
- 表单验证和错误处理
- 路由配置:/system/dept
2026-02-15 17:56:23 +08:00
zhangjf
29207d2e3c fix: 改进用户管理页面的刷新逻辑和错误处理
优化内容:
1. 所有 fetchData 调用改为 await fetchData() 确保等待刷新完成
2. 改进表单验证逻辑,分离验证和提交逻辑
3. 添加更明确的错误提示信息
4. 删除操作优化:删除最后一条时自动返回上一页
5. 重置密码后也刷新列表(虽然不影响显示)

修复后确保:
- 添加用户后立即刷新列表
- 编辑用户后立即刷新列表
- 启用/禁用用户后立即刷新列表
- 删除用户后立即刷新列表
2026-02-15 17:51:04 +08:00
zhangjf
64b8f42d5a fix: 改进前端表单验证和错误处理
优化内容:
1. 角色管理和菜单管理的 handleSubmit 增加表单验证错误捕获
2. 修复角色分配菜单时的数据访问错误(menuRes.data -> menuRes)
3. 添加 console.error 日志便于调试
4. 统一错误提示信息

这样在表单验证失败或请求失败时,用户可以看到明确的错误提示
2026-02-15 17:02:33 +08:00
zhangjf
db4d89144d fix: 修复前端页面数据加载问题
问题原因:
- request.js 响应拦截器已经提取了 res.data
- 但页面代码中还在使用 res.data.records/res.data.total
- 导致实际访问的是 undefined

修复内容:
- role.vue: res.data.records -> res.records
- menu.vue: res.data -> res
- contact.vue: res.data.records -> res.records, res.data -> res

现在页面可以正确加载数据了
2026-02-15 16:59:39 +08:00
zhangjf
bf63820546 fix: 增强前端请求拦截器对401响应的处理
- 在响应拦截器中明确处理 code=401 的业务响应
- 自动清理 Token 并跳转到登录页
- 避免401响应被当作普通业务失败处理
2026-02-15 16:54:33 +08:00
zhangjf
7f776d87ea fix: 修正 menu.js 和 role.js 中 request 导入路径
- 从 './request' 改为 '../utils/request'
- 与其他 API 文件保持一致
2026-02-15 16:42:51 +08:00
zhangjf
560ed40933 fix: 更正默认账号密码为 admin/admin123 2026-02-15 16:41:03 +08:00
zhangjf
7672f008ef feat: 完善前端页面 - 角色管理、菜单管理、联系人管理功能
新增功能:
1. 角色管理
   - 分页列表查询,支持按角色名称和状态筛选
   - 新增/编辑角色,包含角色编码、名称、类型、数据范围等字段
   - 删除角色
   - 分配菜单权限(树形选择)

2. 菜单管理
   - 树形表格展示菜单层级结构
   - 新增/编辑菜单,支持目录、菜单、按钮三种类型
   - 添加子菜单
   - 删除菜单(检查子菜单)

3. 联系人管理
   - 按客户查询联系人列表
   - 新增/编辑联系人,包含姓名、职位、部门、电话、邮箱等
   - 设置主联系人
   - 删除联系人

技术优化:
- 创建 role.js 和 menu.js API 接口文件
- 修复 RoleController 分配菜单接口(POST + @RequestBody)
- 统一表单验证和错误提示
- 优化树形组件数据处理
2026-02-15 16:33:10 +08:00
zhangjf
ed19ab4739 feat: 完善前端页面 - 客户管理、项目管理、合同管理、用户管理完整功能 2026-02-15 16:28:56 +08:00
zhangjf
69a3d62c3e feat: 前端联调配置 - Vite代理配置支持/sys/cust/proj路由 2026-02-15 16:21:16 +08:00
zhangjf
023349480f feat: 配置Gateway路由和API路径 - 统一路由前缀/sys/cust/proj 2026-02-15 13:45:16 +08:00
zhangjf
246a8c17f4 feat: 创建fund-admin前端项目 - Vue3+ElementPlus管理后台 2026-02-15 13:39:53 +08:00
zhangjf
61475dd320 docs: 添加API接口文档、数据库设计文档、部署运维文档 2026-02-15 12:09:18 +08:00
zhangjf
c12a1ac3d3 feat: 创建数据库表结构和初始化数据 2026-02-15 12:00:00 +08:00
zhangjf
7718a73537 chore: 添加环境配置文件,记录MySQL/Redis/Nacos连接信息 2026-02-15 11:43:11 +08:00
zhangjf
fccadf63c2 docs: 架构文档补充统一全局上下文GlobalContext,统筹tid/uid/uname获取和异步传递 2026-02-15 11:42:20 +08:00
zhangjf
43e6e41a4a docs: 架构文档补充HikariCP连接池和支持异步场景的UserContext封装 2026-02-15 11:35:39 +08:00
zhangjf
2a45ac0279 docs: 架构文档补充Shiro认证框架和服务调用链uid/uname传递设计 2026-02-15 10:45:16 +08:00
zhangjf
2088742543 docs: 架构文档补充Feign动态路由方案详细设计,对比DynamicDataSource方案优劣 2026-02-14 00:41:49 +08:00
zhangjf
8029ac31da docs: 架构设计文档补充多租户架构和Head日志追踪设计 2026-02-14 00:34:29 +08:00