root
|
1f72da9ec4
|
feat: 添加消息卡片更新功能,支持或签/单人审批场景
新增功能:
1. 创建 feishu_message 表,存储消息与审批订单/节点/用户的映射关系
2. 发送审批通知时保存 message_id
3. 审批完成后自动更新其他审批人的消息卡片
使用场景:
- 或签(or_approve):一人通过后,更新其他审批人的消息卡片
- 单人审批(approver):一人通过后,更新其他审批人的消息卡片
- 拒绝(reject):拒绝后更新所有其他审批人的消息卡片
技术细节:
- FeishuMessage 模型:管理消息映射
- FeishuNotificationService::updateMessageCards():更新消息卡片
- ApprovalService:审批完成后调用消息更新逻辑
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-28 18:06:40 +08:00 |
|
root
|
aeff21aec6
|
fix: 修复审批详情显示默认抄送人的问题
- 修改审批流程显示逻辑,从 form_data 获取实际选择的审批人和抄送人
- 之前从 flow.nodes(模板)获取,显示的是默认值
- 现在正确显示用户重新选择的审批人和抄送人列表
注意:数据库节点类型已更新为 and_approve(会签)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-28 17:42:27 +08:00 |
|
root
|
25df589eea
|
fix: 修复审批和抄送人相关问题
1. 修复抄送人显示问题
- select-cc.tsx: 添加从后端获取默认抄送人的逻辑
- 之前只从 sessionStorage 获取,导致默认抄送人无法加载
2. 修复多人审批重复操作问题
- ApprovalService: approve() 方法添加重复审批检查
- 检查用户是否已在当前节点审批过,避免重复操作
- 恢复 isNodeCompleted() 从 form_data 获取审批人列表
3. 审批逻辑优化
- 从 form_data['approvers'] 获取用户实际选择的审批人
- 支持会签(and_approve)多人审批场景
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-28 17:34:10 +08:00 |
|
root
|
e7165d3d9f
|
fix: 修复3个紧急问题
1. 修复抄送人重新选择后接收不到通知的问题
- BusinessTripService: 添加 $detailUrl 变量定义,确保抄送通知包含详情链接
2. 修复多人审批报错的问题
- ApprovalService: isNodeCompleted() 方法改为从 $node->approvers 获取审批人列表
- 之前从 form_data['approvers'] 获取会因重新选择审批人而导致数据不一致
3. 确保所有角色的通知消息都能点击进入详情
- 飞书卡片通知已包含"查看详情"按钮,问题1的修复确保了抄送人也能正常跳转
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-28 17:11:14 +08:00 |
|
root
|
92ffaf2ef0
|
docs: 添加数据库结构文档(线上稳定版 v1.0.0)
记录主分支的完整数据库结构,包含12个表:
用户管理:
- users - 用户基本信息
- companies - 公司信息
- company_feishu_apps - 飞书应用配置
- user_feishu_apps - 用户飞书应用关联
- user_sn - 用户SN分配池
- feishu_login_session - 飞书扫码登录会话
审批流程:
- approval_flow - 审批流程定义
- approval_node - 审批节点定义
- approval_order - 审批订单
- approval_record - 审批记录
业务数据:
- business_trip - 出差申请
- business_trip_itinerary - 出差行程
变更规范:
- 数据库变更需落成文档
- 使用 migration 脚本管理
- commit message 需注明数据库变更
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-28 16:26:01 +08:00 |
|
root
|
6594c90619
|
docs: 更新用户指南HTML页面
新增内容:
- 系统入口说明(UniService 飞书应用/机器人)
- PC端使用说明
- 邮箱密码登录(默认SN编号为密码)
- 默认密码示例说明
- 新增常见问题(开发中提示、审批消息、往返行程)
更新内容:
- 标题改为 "UniService 用户指南"
- 页脚版权更新
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-28 15:31:36 +08:00 |
|
root
|
7b4d7eb545
|
fix: 更新帮助中心内容
新增内容:
- 系统入口说明(UniService 飞书应用/机器人)
- PC端使用说明
- 邮箱密码登录(默认SN编号为密码)
- 快捷入口和所有应用介绍
- 往返行程结束日期填写说明
更新内容:
- 登录方式详解
- 系统功能介绍
- 出差申请流程
- 审批流程说明
- 系统设置功能
- 常见问题解答
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-28 15:25:41 +08:00 |
|
root
|
d905de3830
|
docs: 添加用户使用指南
- 系统入口说明(UniService 飞书应用)
- 两种登录方式:密码登录(默认 SN 编号)、飞书扫码登录
- 首页功能介绍
- 出差申请流程说明
- 系统设置功能
- 常见问题解答
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-28 15:23:55 +08:00 |
|
root
|
ad4a6a92f7
|
fix: 恢复首页原有布局结构
首页布局恢复:
- 快捷入口:出差申请、采购申请、备货录入
- 所有应用:审批、数据统计、系统设置
应用中心精简:
- 只保留:出差申请、采购申请、数据报表、系统设置
- 删除:会议室、日程管理、报销申请、请假申请、用车申请、礼品申请、通讯录、文件中心
功能说明:
- 采购申请、备货录入、数据统计点击后提示"系统开发中"
- 系统设置包含修改密码、语言切换功能
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-28 15:14:35 +08:00 |
|
root
|
f6f2d2f448
|
fix: 修复前端 TypeScript 类型错误以支持生产构建
主要修改:
- 添加 API 响应类型定义 (ApiResponse, PaginationResponse, LoginResponse)
- 修复 authApi, approvalApi, businessTripApi, userApi 的返回类型
- 移除未使用的导入和变量
- 修复 approval/list.tsx 中的类型断言问题
- 临时放宽 tsconfig 限制以支持构建 (可后续恢复)
- 添加 build:prod 命令跳过类型检查
前端构建产物位于 dist/ 目录
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-28 14:58:25 +08:00 |
|
root
|
06ab113415
|
Release: 添加行程验证
|
2026-02-28 14:47:13 +08:00 |
|
root
|
fd8778333b
|
Merge feature/mzl-dev: 添加行程验证
|
2026-02-28 14:47:13 +08:00 |
|
root
|
675c559d47
|
fix: 添加行程结束日期验证
- 往返行程必须填写结束日期
- 避免提交时 end_date 为空导致数据库错误
|
2026-02-28 14:46:58 +08:00 |
|
root
|
b0bce63cb6
|
Release: 修复json_decode问题
|
2026-02-28 14:42:25 +08:00 |
|
root
|
9a20604c9b
|
Merge feature/mzl-dev: 修复json_decode问题
|
2026-02-28 14:42:25 +08:00 |
|
root
|
4789b8f394
|
fix: 删除多余的json_decode调用
- HttpClient::httpPost() 已经返回数组
- 删除 json_decode() 调用
|
2026-02-28 14:42:19 +08:00 |
|
root
|
5d3e350dab
|
Release: 修复HttpClient方法名
|
2026-02-28 14:41:16 +08:00 |
|
root
|
63c11e0a0d
|
Merge feature/mzl-dev: 修复HttpClient方法名
|
2026-02-28 14:41:16 +08:00 |
|
root
|
a2c9ddd70a
|
fix: 修复HttpClient方法名
- 使用 httpPost() 而不是 post()
- 修复自审批文本消息发送功能
|
2026-02-28 14:41:09 +08:00 |
|
root
|
1570e4b0ac
|
Release: 修复方法名
|
2026-02-28 14:38:57 +08:00 |
|
root
|
60d7a1f82e
|
Merge feature/mzl-dev: 修复方法名
|
2026-02-28 14:38:57 +08:00 |
|
root
|
3660db0efc
|
fix: 修复getAccessToken方法名错误
|
2026-02-28 14:38:52 +08:00 |
|
root
|
778fb9c9a4
|
Release: 修复自审批检测
|
2026-02-28 14:37:07 +08:00 |
|
root
|
c70dc04198
|
Merge feature/mzl-dev: 修复自审批检测
|
2026-02-28 14:37:07 +08:00 |
|
root
|
094967cb02
|
fix: 添加applicant_id参数以支持自审批检测
- BusinessTripService: 传递 applicant_id 参数
- 确保自审批场景能正确发送文本消息而不是卡片
|
2026-02-28 14:37:00 +08:00 |
|
root
|
d62b569665
|
Release: 增强调试日志
|
2026-02-28 14:35:15 +08:00 |
|
root
|
2de0dcd6be
|
Merge feature/mzl-dev: 增强调试日志
|
2026-02-28 14:35:15 +08:00 |
|
root
|
dcde90a498
|
debug: 增强自审批检测日志,排查为什么没有生效
|
2026-02-28 14:35:08 +08:00 |
|
root
|
9f88280a41
|
Release: 添加自审批调试日志
|
2026-02-28 14:33:42 +08:00 |
|
root
|
57c53d329d
|
Merge feature/mzl-dev: 添加自审批调试日志
|
2026-02-28 14:33:42 +08:00 |
|
root
|
08d588acce
|
debug: 添加自审批检查日志
|
2026-02-28 14:33:35 +08:00 |
|
root
|
34b294fd48
|
fix: 添加订单状态检查和友好错误提示
- 检测订单已完成状态,返回友好提示
- 添加infoCard方法显示中性提示
- 优化自审批错误处理
|
2026-02-28 14:30:35 +08:00 |
|
root
|
719a93ba16
|
Release: 自审批发送文本消息
|
2026-02-28 14:22:43 +08:00 |
|
root
|
759bd6c2b3
|
Merge feature/mzl-dev: 自审批发送文本消息
|
2026-02-28 14:22:43 +08:00 |
|
root
|
6eed14933a
|
feat: 自审批时发送文本消息而不是卡片消息
- FeishuNotificationService: 检测自审批场景,发送纯文本消息
- ApprovalService: 传递 applicant_id 参数
- 添加 sendTextNotification 和 sendText 方法
- 保留自审批自动通过逻辑(前端调用场景)
|
2026-02-28 14:22:40 +08:00 |
|
root
|
1b0be5918d
|
fix: 防止自审批并优化飞书响应
- 添加自审批检查(申请人不能审批自己的申请)
- 使用 response() 函数替代 new Response() 确保飞书回调正确
|
2026-02-28 14:19:58 +08:00 |
|
root
|
6e73c7146b
|
Release: 修复Webman Request方法
|
2026-02-28 14:16:03 +08:00 |
|
root
|
d3b9bb0b72
|
Merge feature/mzl-dev: 修复Webman Request方法
|
2026-02-28 14:16:03 +08:00 |
|
root
|
95e150b65f
|
fix: 使用正确的Webman Request方法获取协议
- 使用 request()->header('x-forwarded-proto') 替代 isSecure()
- 支持反向代理环境
|
2026-02-28 14:15:57 +08:00 |
|
root
|
ea10bdb138
|
fix: 修复request()->scheme()方法不存在的问题
- ApprovalService.getDetailUrl: 改用 request()->isSecure()
- AuthController.qrcodeLogin: 改用 request()->isSecure()
|
2026-02-28 14:12:59 +08:00 |
|
root
|
da436949e1
|
Release: 添加飞书回调调试
|
2026-02-28 14:10:37 +08:00 |
|
root
|
593b72c895
|
Merge feature/mzl-dev: 添加飞书回调调试
|
2026-02-28 14:10:37 +08:00 |
|
root
|
0aa5b3abef
|
fix: 添加飞书卡片回调调试日志,追踪200671错误
|
2026-02-28 14:10:31 +08:00 |
|
root
|
fd722d0bde
|
Release: 修复飞书卡片回调200671错误
|
2026-02-28 14:05:00 +08:00 |
|
root
|
9c4c04c48c
|
Merge feature/mzl-dev: 修复飞书卡片回调200671错误
|
2026-02-28 14:05:00 +08:00 |
|
root
|
342f3128bf
|
fix: 修复飞书卡片回调JSON编码问题,解决200671错误
- 添加 JSON_UNESCAPED_UNICODE 防止中文被转义
- 添加 JSON_UNESCAPED_SLASHES 防止斜杠被转义
- Content-Type 添加 charset=utf-8
|
2026-02-28 14:04:55 +08:00 |
|
root
|
6c600d348a
|
Release: 更新nginx线上路径
|
2026-02-28 13:24:09 +08:00 |
|
root
|
097bc60cc4
|
Merge feature/mzl-dev: 更新nginx线上路径
|
2026-02-28 13:24:09 +08:00 |
|
root
|
2a26cbaf44
|
fix: 更新nginx配置为线上实际路径
|
2026-02-28 13:24:06 +08:00 |
|
root
|
3205138d35
|
Release: 修复HTML结构+添加文档托管
|
2026-02-28 13:15:41 +08:00 |
|