|
|
beea543fbd
|
fix: 创建产品时自动将当前位置设为当前登录用户(谁创建谁持有)
|
2026-08-07 15:42:10 +08:00 |
|
|
|
bc43b5a732
|
feat: 产品管理 — 当前位置显示真实姓名 + 编辑弹窗 + 删除确认
|
2026-08-07 15:38:01 +08:00 |
|
|
|
d3d501dfeb
|
fix: 产品管理页响应式Grid + 丰富卡片信息(物料/规格/位置/状态)
|
2026-08-07 15:14:11 +08:00 |
|
|
|
1b4af0a7af
|
fix: 全端隐藏用户角色标签(SUPER_ADMIN/操作员等)
|
2026-08-07 14:53:46 +08:00 |
|
|
|
9ed85f88bb
|
feat: 切换公网域名 track.iris-rs.cn + track_back.iris-rs.cn
|
2026-08-07 14:45:30 +08:00 |
|
|
|
472d4ad67a
|
fix: 登录页版本号改为动态读取(WGT热更新后自动变)
|
2026-08-07 14:06:10 +08:00 |
|
|
|
45102eb23f
|
fix: WGT安装强制模式(force:true)绕过同版本号拦截
|
2026-08-07 13:55:24 +08:00 |
|
|
|
3e8ccf3444
|
chore: 生产环境新增WGT升级包volumes映射
|
2026-08-07 13:49:55 +08:00 |
|
|
|
6382aa6d45
|
feat: Web端关于弹窗 + 帮助反馈Toast + 版本号T1.0.3
|
2026-08-07 13:49:06 +08:00 |
|
|
|
355f1bae66
|
feat: 关于弹窗 + 帮助反馈Toast + 动态版本号(WGT热更新后自动变化)
|
2026-08-07 13:41:55 +08:00 |
|
|
|
abbf0f5a24
|
chore: bump version to T1.0.2 (versionCode 102)
|
2026-08-07 13:22:10 +08:00 |
|
|
|
a72c8c89e3
|
fix: 移除模块级detectEnv()避免启动时网络探测失败
|
2026-08-07 13:19:11 +08:00 |
|
|
|
0e5b2e42e9
|
chore: 同步HBuilderX生成的main.js(Vue2/Vue3兼容)
|
2026-08-07 13:09:19 +08:00 |
|
|
|
0de981ea81
|
fix: OTA检测闭环 — 新增GET /check-update + App端uni.getSystemInfoSync版本对比
|
2026-08-07 12:35:00 +08:00 |
|
|
|
43baa1de8e
|
feat: 移动端流转卡片组件 + 静态资源
|
2026-08-07 11:53:40 +08:00 |
|
|
|
41dfc53f83
|
chore: Docker生产部署配置 + 部署脚本
|
2026-08-07 11:53:40 +08:00 |
|
|
|
bff8787e62
|
feat: OTA热更新 — 版本检测API + App端WGT下载安装 + app_versions表
|
2026-08-07 11:49:59 +08:00 |
|
|
|
0df7215134
|
feat: 移动端双Token队列拦截器 + 通知列表 + 登录页 + TabBar红点 + v1.0.1
|
2026-08-07 11:44:20 +08:00 |
|
|
|
721cfe1504
|
feat: Web端401队列拦截器 + 消息/任务/个人中心重写 + TabBar红点 + Admin页面完善
|
2026-08-07 11:44:12 +08:00 |
|
|
|
b71c5a2d07
|
feat: 双Token认证(Access 2h/Refresh 7d) + 通知系统(转交/驳回自动推送)
|
2026-08-07 11:44:04 +08:00 |
|
|
|
dc97a7385f
|
perf(frontend): Context value useMemo 稳定化
AuthContext.Provider 和 ToastContext.Provider 的 value 对象
用 useMemo 包裹,避免每次 Provider render 产生新引用导致
所有消费者不必要的 re-render。
|
2026-08-06 17:34:05 +08:00 |
|
|
|
b725599cb0
|
perf(frontend): Vite 构建分包 — manualChunks 拆分 vendor
将 react/react-dom/react-router-dom → vendor-react
将 antd/@ant-design/icons → vendor-antd
将 html5-qrcode → vendor-qrcode
第三方巨头的独立 chunk 可被浏览器长期缓存,业务代码更新时无需重新下载。
|
2026-08-06 17:34:00 +08:00 |
|
|
|
3d164159ac
|
perf(frontend): 递归组件 Memo 优化 — React.memo + useMemo
TaskTreeViewer:
- Modal/ReceiveConfirmModal/RejectModal/TransferModal 加 React.memo
- TaskNodeCard 递归组件加 React.memo,阻断父节点状态变更引发的整树重渲染
- countAllTasks 用 useMemo 缓存,仅在 task_tree 引用变化时重新计算
TaskListCard:
- TaskNode 递归组件加 React.memo
- countAll 用 useMemo 缓存
|
2026-08-06 17:33:54 +08:00 |
|
|
|
9d204a57d8
|
perf(frontend): 路由级代码分割 — React.lazy + Suspense
将所有页面组件改为按路由懒加载,Layout 组件保持静态导入。
新增 LoadingSpinner 作为 Suspense 回退组件。
html5-qrcode (~200KB) 和 antd 仅在访问扫码/管理后台路由时加载。
|
2026-08-06 17:33:48 +08:00 |
|
|
|
6a79e21302
|
闭环修复: transfer/spawn/receive补TaskRecord + reject加task_type + branchLabel只对SPAWN编号
|
2026-08-06 13:14:26 +08:00 |
|
|
|
661e77416a
|
三雷修复: canRecall父节点校验+task_type判定主干排序/标签+确认无db.delete
|
2026-08-06 13:09:10 +08:00 |
|
|
|
0d323e8181
|
血缘锚定法: task_type字段+迁移+三大接口写入+TreeCanvas基于task_type布局
|
2026-08-06 13:03:25 +08:00 |
|
|
|
e5e2a395e7
|
撤回链式接力: CANCELED后生成WIP子任务还给操作人+TreeCanvas CANCELED视为串行换行
|
2026-08-06 12:53:23 +08:00 |
|
|
|
616638a6c8
|
撤回改为CANCELED状态标记+TaskRecord留痕+TreeCanvas灰度渲染+全部状态映射更新
|
2026-08-06 12:51:40 +08:00 |
|
|
|
eb97c12bed
|
修复撤回: 移除parent_task_id空校验+兼容无父任务场景(仅删除)
|
2026-08-06 12:39:47 +08:00 |
|
|
|
58cb9a23ef
|
修复撤回: transfer新任务parent_task_id=task.id(溯源链) + canRecall放宽(兼容旧数据)
|
2026-08-06 12:38:26 +08:00 |
|
|
|
0287003e93
|
canRecall加固: PENDING+非接收人+父任务负责人匹配→显示撤回转交
|
2026-08-06 12:08:23 +08:00 |
|
|
|
df42250725
|
排序铁律: 主分支强制置顶(parent_task_id为空优先)+子分支按created_at正序
|
2026-08-06 12:06:38 +08:00 |
|
|
|
7c7b72cadd
|
我的任务列表加分支标签: 主分支(蓝)/协助分支(紫) — parent_task_id判血缘
|
2026-08-06 11:53:40 +08:00 |
|
|
|
aad26b3d9e
|
2D布局回退状态判定: 父WIP→并行同Y / 父COMPLETED→串行换行(后端已限制COMPLETED后不可spawn)
|
2026-08-06 11:50:10 +08:00 |
|
|
|
c92e7bd931
|
修复2D布局: 时间戳判定串行/并行 — created_at>parent.completed_at才是串行,否则并行同Y
|
2026-08-06 11:45:56 +08:00 |
|
|
|
8f0f725e26
|
修复WBS编码: 分支1→分支1.1层级正确(prefix空字符串处理)
|
2026-08-06 11:42:52 +08:00 |
|
|
|
67755c7847
|
修复撤回500: 先删task_logs+task_records再删task,加delete import
|
2026-08-06 11:41:45 +08:00 |
|
|
|
57884d7baa
|
撤回转交: recall接口删除子任务恢复父WIP + 前端canRecall判断 + 红色撤回按钮
|
2026-08-06 11:39:22 +08:00 |
|
|
|
8be06bcd43
|
权限隔离+2D蓝图修复: isAssignee按钮显隐+只读提示+分支标签(badge-main/sub)+并行同Y确认
|
2026-08-06 11:36:06 +08:00 |
|
|
|
b2cfa3871e
|
取消转交的协助分支阻塞: transfer_task移除_check_children_done,仅end_task保留
|
2026-08-06 11:29:58 +08:00 |
|
|
|
e5bcde667b
|
转交弹窗互斥+备注必填: 选人清入库/选库清人 + textarea必填校验
|
2026-08-06 11:23:31 +08:00 |
|
|
|
ef9e5bbae5
|
修复get_all_tasks: 改用_to_flat_response(不递归children)彻底消除MissingGreenlet
|
2026-08-06 11:19:19 +08:00 |
|
|
|
9846dd6c8f
|
修复: MissingGreenlet_product访问try/catch + spawn_subtask不再覆盖overall_status
|
2026-08-06 11:16:07 +08:00 |
|
|
|
3176bcde6f
|
标签float环绕布局: QR左浮+文字自然折行+clear:both防序列号乱入
|
2026-08-06 11:04:03 +08:00 |
|
|
|
49c8707955
|
标签防御: height:fit-content+maxHeight物理切断+12px小字号防重叠
|
2026-08-06 11:02:16 +08:00 |
|
|
|
5f7b8e9394
|
标签预览彻底改为内联样式Flex: QR锁110px+line-clamp截断+无class依赖防重叠
|
2026-08-06 10:56:29 +08:00 |
|
|
|
1ba44d4b0a
|
打印所见即所得: iframe克隆DOM+全局样式+静默打印
|
2026-08-06 10:52:29 +08:00 |
|
|
|
81e41bc38b
|
标签预览重构: 固定QR120px+Flex分栏+line-clamp3截断+CSS类名化
|
2026-08-06 10:51:28 +08:00 |
|
|
|
f4ff4b5ecb
|
标签打印防御性布局: Flex分栏+line-clamp截断+分割线+预览同款
|
2026-08-06 10:44:22 +08:00 |
|