|
|
84af09ea75
|
style: 移动端流转树主轴连线与卡片排版优化
- 中央垂直线首行从 50% 起、末行到 50% 止,不再冒出
- FlowCard 时间独占一行,操作日志独立一行靠右对齐
|
2026-09-01 14:42:59 +08:00 |
|
|
|
34618579c8
|
style: 网页端流转树主轴连线与日志条优化
- 中央垂直线按行渲染:首行从卡片中间起、末行到卡片中间止
- 操作日志改为全行蓝色横条(查看操作日志 x条),整条可点击
|
2026-09-01 14:42:59 +08:00 |
|
|
|
327f5f7829
|
refactor: 移动端流转树全面复刻 Web 端 childMap 左中右布局
- 废弃递归纵向排版(FlowTree),改用拍平 + childMap 重构
- 横向 scroll-x + 每条主线一个 Row:[左翼]-[中央]-[右翼]
- 中央绝对定位垂直线贯穿;分支按奇偶拆左右翼,横向展开
- 新建 FlowCard(节点卡片)与 FlowBranch(递归分支)
|
2026-09-01 14:37:29 +08:00 |
|
|
|
9808742f94
|
fix: 移动端流转树修复分支视觉脱节(先分支后主干道)
- 调换渲染顺序:先渲染分支(紧贴父节点),再渲染主干道(向下延伸)
- 分支容器加 ↳ 分支延伸 指示符 + 左侧虚线边框
- 主线每个子节点前恒画 ↓ 箭头(含父到长子)
|
2026-09-01 14:29:58 +08:00 |
|
|
|
a3aa012d6c
|
fix: 移动端流转树修复断条箭头与分支层级塌陷
- 父节点与第一个主线子节点之间补 ↓ 连线箭头
- 新增 isBranchContext prop:进入分支后子子孙孙强制缩进,不再回主干道
|
2026-09-01 14:25:17 +08:00 |
|
|
|
6ff3ee06de
|
fix: template v-for 的 key 移到 template 标签,修复编译报错
- Vue 要求 <template v-for> 的 key 放在 template 标签上,而非内部元素
|
2026-09-01 14:14:27 +08:00 |
|
|
|
25ad5156f8
|
style: 移动端流转树主干道对齐与连线箭头
- 主线(含 TRANSFER 子任务)左边缘对齐,消除缩进形成笔直主干道
- 主线卡片之间加向下连线箭头(↓)
- 分支(SPAWN 协助)保留缩进 + 左边线
|
2026-09-01 14:10:40 +08:00 |
|
|
|
9d1e6c8466
|
style: 网页端流转树卡片 UI 优化
- 时间精确到分钟(去 split 截断)
- 主线/分支标签改为卡片左上角与状态标签并排
- 操作人前加用户小图标
- 日志入口去掉浅蓝条块,改右下角文本链接 + 蓝色 > 箭头
|
2026-09-01 14:10:35 +08:00 |
|
|
|
547c113b09
|
fix: 移动端 formatUserName 挂载到 methods,修复流转树渲染报错
- Vue2 Options API 中 import 的函数不暴露给模板,需挂到 methods
- FlowTree/TaskTreeNode 补 formatUserName 方法
|
2026-09-01 13:59:56 +08:00 |
|
|
|
a04989afd3
|
fix: 修复移动端流转树全览空白,改用独立 FlowTree 递归树组件
- 修复 scroll-view 高度为 0 导致内容不可见
- 新建 FlowTree.vue 独立递归渲染(主线/分支标记、状态、转入在库、时间、记录)
- 不依赖 TaskTreeNode,展示更贴近网页端流转树
|
2026-09-01 13:57:56 +08:00 |
|
|
|
cf2609d87a
|
feat: Track 移动端状态展示与流转树全览改造
- 宏观状态栏补已入库/已出库语义色;OVERALL_OPTIONS 补已入库/已出库
- 在库任务'转入在库'显示实际操作人(assignee);补 OUTBOUND 状态色
- 流转树全览(TreeCanvas)由可移动 canvas 改为纵向递归树,复用 TaskTreeNode
|
2026-09-01 13:53:35 +08:00 |
|
|
|
6cb7731cbb
|
feat: Track 网页端已完成/已入库/已出库状态展示与筛选
- ProductCard/ScanPage 徽标改用整体状态,补全宏观状态中文映射
- 产品管理/任务全景/我的任务/看板/WIP分析 状态筛选与徽标区分
- 转入在库显示在库实际操作人;新增已出库/OUTBOUND 状态色
|
2026-09-01 13:53:30 +08:00 |
|
|
|
73faa1fd93
|
feat: Track 打通已完成/已入库/已出库状态闭环与外部联动
- 完工转交入库同步 status=COMPLETED;MOM 入库/出库回调同步 status
- 新增 mom-outbound webhook(发货出库标记已出库),lookup 返回 material_id
- VALID_OVERALL_STATUS 新增已出库;update_overall_status 同步 status 字段
- WIP 矩阵区分已入库/待仓库收货;虚拟节点正确处理已出库/转入在库人
|
2026-09-01 13:53:24 +08:00 |
|
|
|
7f5bedf87c
|
fix(流转树): 在库设备无在库任务时追加虚拟在库节点
- 设备在库(virtual_warehouse)但无在库任务时,流转树追加虚拟「在库」节点
- 转入人用最后一道主工序负责人兜底(近似),显示在库归属
- 递归检查任务树避免重复追加(在库任务可能是子任务)
|
2026-08-31 17:38:38 +08:00 |
|
|
|
39019f4312
|
fix(流转树): 在库任务无创建日志时兜底显示转入人
- 有 create 日志的在库任务用真实转入人(张欣欣/孔贺等)
- 无日志的历史在库任务,用该产品在库前最近一道主工序的负责人兜底
- 解决『流转树到负责人就结束、不显示谁入库』的问题
|
2026-08-31 17:26:57 +08:00 |
|
|
|
0fc061728c
|
fix(透视表): 在库按设备实际位置判断,修复数量不匹配
- 之前按最新主任务 task_name='在库' 判断,漏掉实际在库但无在库任务的历史设备
- 改为 current_location_id='virtual_warehouse' → 在库(生产完成)
- 其他设备按最新主任务工序归属(活跃/完成态都归该工序)
- 在库数量与实际在库设备一致
|
2026-08-31 17:24:38 +08:00 |
|
|
|
beeee57b75
|
feat(移动端): 流转树在库任务显示『谁转入在库』
- TreeCanvas 全屏流转树 + TaskTreeNode 内嵌树节点,在库/入库任务显示『📥 转入在库: 创建人』
- 复用 formatUserName 中文名映射
|
2026-08-31 17:20:52 +08:00 |
|
|
|
6eb81953f5
|
feat(网页端): 流转树在库任务显示『谁转入在库』
- TaskFlowView 在库/入库任务节点显示『📥 转入在库: 创建人中文名』
- TaskResponse 类型补 created_by 字段
|
2026-08-31 17:20:47 +08:00 |
|
|
|
0dea116faa
|
feat(backend): 流转树 created_by 加入中文名映射
- get_product_by_serial 把任务创建人(created_by)纳入 assignee_names 中文名映射
- 前端可显示『谁转入在库』等创建人信息
|
2026-08-31 17:20:41 +08:00 |
|
|
|
c19dbc2e7a
|
feat(透视表): 表格底部增加每列数量合计行
- 每块透视表底部 summary 行,统计各工序列的设备数合计 + 行总计
- 固定底部,方便查看每列总量
|
2026-08-28 17:00:02 +08:00 |
|
|
|
c3e03bb177
|
fix(透视表): 不再把任意已完成工序强制归在库
- 设备当前工序 = 最新主任务的工序名(task_name),不区分状态
- 「在库」只在该设备最新主任务真为在库工序时出现
- 完成的测试/生产等工序按原工序显示,不再误归在库
|
2026-08-28 16:57:02 +08:00 |
|
|
|
b57ae19b44
|
fix(透视表): 每台设备只按当前工序统计一次,修复待确认重复计数
- 取每台设备最新主任务作为当前状态
- 活跃任务(WIP/PENDING)→归属对应工序(待确认=转交未接收)
- 完成态任务→归属「在库」(生产完成)
- 上一步已完成+下一步待确认时只算一次,不再重复
- 时间筛选按设备最新主任务创建时间
|
2026-08-28 16:54:43 +08:00 |
|
|
|
0dcdb5dad7
|
fix(透视表): WIP 分布矩阵只统计主分支
- get_wip_matrix 过滤 parent_task_id IS NULL 或 TRANSFER/RECOVERY 的主线任务
- 排除 SPAWN 协助分支与返工任务,避免同一设备/工序重复计数
|
2026-08-28 16:51:46 +08:00 |
|
|
|
8c3c0c4d90
|
refactor(透视表): 取消按人员分布,时间筛选对齐全局概览
- 移除按人员/按工序切换,固定按工序分布
- 时间筛选改为与全局概览一致: 今天/近7天/近30天/自定义(Radio+RangePicker)
|
2026-08-28 16:36:45 +08:00 |
|
|
|
9d08c50ef6
|
feat(透视表): 列数超6时分块垂直排列 + 规格型号列升降序
- 人员/工序列超过 CHUNK_MATRIX(6) 时按列分块,多张透视表垂直向下排列,告别一行十几个人员横向超长
- 规格型号列支持点击升降序排序(中文字典序)
- 每块独立合计
|
2026-08-28 16:35:26 +08:00 |
|
|
|
41dd257260
|
feat(透视表): 工序分布包含在库/完成 + 增加时间筛选
- wip-matrix 去掉状态过滤,全量分布,工序包含「在库」(生产完成)
- 后端加 since/until 按任务接手/创建时间过滤
- 前端 MatrixBoard 加 RangePicker 日期筛选 + 全部清除
|
2026-08-28 16:32:01 +08:00 |
|
|
|
fdd7465afb
|
feat(前端): 新增 WIP 分布矩阵透视表页面
- MatrixBoard.tsx: Radio切换 按人员/按工序,动态交叉表转换(规格型号为行)
- 单元格显示设备数量+主负责人,首列规格固定左、末列合计固定右,bordered Excel风格
- 路由 /admin/matrix 注册,侧边栏新增「WIP 分布矩阵」入口
|
2026-08-28 16:25:26 +08:00 |
|
|
|
7547a886cc
|
feat(backend): 新增 /dashboard/wip-matrix 在制品交叉聚合接口
- 规格型号×人员/工序 的设备数量聚合(WIP/PENDING任务)
- dimension 参数: assignee(中文姓名)/task_name(工序名)
- 返回扁平数组含 count + assignees(该交叉点主负责人列表)
|
2026-08-28 16:25:20 +08:00 |
|
|
|
d9ec15b72f
|
refactor(效能分析): 人员视图改为数据切片瀑布流,告别横向滚动
- 设备按 CHUNK_SIZE=6 切块,向下追加渲染多个 ECharts 图(垂直瀑布流)
- capabilityOption 改为 getCapabilityOption 工厂函数,每块独立构建 Option
- 去除横向 overflow 与分页器,网页原生向下延伸
- grid.top 加大到 80 避免图例遮挡,X 轴标签简化(序列号+身份证)
- 点击柱子下钻支持块内索引→全局设备映射,Tooltip 读取对应块数据
|
2026-08-28 16:17:37 +08:00 |
|
|
|
e62855df43
|
feat(效能分析): 人员视图设备过多时分页显示,解决超宽无滚动
- 每页显示20台设备,底部上一页/下一页翻页器
- 数据/图按页切片,筛选变化自动回第1页
- 图宽限制在当前页设备数,看板始终可见
|
2026-08-28 16:10:43 +08:00 |
|
|
|
1d4023a27c
|
fix(效能分析): 自然天/工作日切换按钮移至各视图顶部,全选长图也能看到
- 人员视图、轨迹流转 tab 内容顶部各加切换按钮
- 全选所有人导致图很长时,按钮固定在视图顶部不被挤出屏幕
|
2026-08-28 15:51:53 +08:00 |
|
|
|
907473b18c
|
feat(效能分析): 人员视图也支持自然天/工作日耗时切换
- capability 接口加 mode 参数,natural 用自然小时、workdays 用工作小时
- 人员视图柱状图随顶部按钮切换,排除休息日的耗时
- 切换按钮自动重新请求 capability 与 flow
|
2026-08-28 15:38:32 +08:00 |
|
|
|
4447a1f52d
|
feat(效能分析): 轨迹流转图时间轴支持工作日/自然天切换
- flow 接口加 mode 参数,workdays 模式把时间偏移换算为排除周末/节假日的工作小时
- 轨迹流转图的横轴随顶部按钮(自然天/工作日)切换,休息日被压缩
- 按钮切换自动重新请求 flow
|
2026-08-28 15:34:17 +08:00 |
|
|
|
7f1858387c
|
feat(前端): 产品卡片双生产总天数 + 效能分析设备总天数按钮切换
- 产品管理卡片同时显示「生产总天数(自然天)」和「生产总天数(工作日)」
- 效能分析页新增「设备生产总天数」统计卡片(设备数/平均/最长),顶部按钮切换 自然天/工作日
- 顺手修复 AnalyticsDashboard Tabs onChange 类型错误
|
2026-08-28 15:29:01 +08:00 |
|
|
|
b09187ac6e
|
feat(backend): 生产总天数返回自然天+工作日两个口径
- ProductResponse 加 production_days(自然天)/production_days_workdays(工作日)
- get_all_products 计算:自然天自创建至今,工作日用 working_duration_hours 排除周末/节假日
- FlowDevice 加 total_days/total_workdays(设备生产总天数,自最早介入至今)
|
2026-08-28 15:28:56 +08:00 |
|
|
|
451e24c34c
|
fix(workload): get_people_workload 内嵌 _to_bj 改用 to_beijing,修复 BEIJING_TZ 未定义
- 移除 import 后内嵌 _to_bj 仍引用 BEIJING_TZ 导致 NameError
|
2026-08-28 15:13:18 +08:00 |
|
|
|
bad0941d67
|
fix(时长): 所有时长计算排除非工作日 + 修复两处时区多算8小时
- get_wip_tasks/get_people_workload/get_people_history/product active_duration_hours/analytics 均改用 working_duration_hours
- 修复 get_wip_tasks 与 active_duration_hours 的 naive 时间误标北京时间 bug(DB实存UTC,原多算8小时)
- 每处读取 holidays 表排除配置的放假日期
|
2026-08-28 15:08:10 +08:00 |
|
|
|
ad4b55dece
|
feat(工作日): 新增工作小时计算工具 + 节假日表与管理接口
- time_utils 新增 to_beijing(统一naive按UTC转北京时间) + working_duration_hours(排除周末/节假日)
- Holiday 模型 + alembic 迁移建 holidays 表
- GET/POST/DELETE /holidays 节假日管理接口,可随时配置放假日期
|
2026-08-28 15:08:05 +08:00 |
|
|
|
1a5716a1ab
|
feat(操作统计): 抽屉内增加独立时间筛选
- 抽屉内提供 今天/近7天/近30天/自定义 时间选择,默认同步顶部当前值
- 切换时间自动刷新统计与明细,无需关闭看板调整顶部时间
|
2026-08-28 14:40:58 +08:00 |
|
|
|
788d7a7f78
|
fix(操作统计): 全不选生效——默认全选,全不选后显示空态提示
- 打开抽屉默认全选所有人(宫格高亮+显示全部)
- 点「全不选」清空选择,表格显示『未选择任何人员』空态,不再退化为全部
- 首次加载自动全选;用户操作过筛选后不覆盖
|
2026-08-28 13:54:43 +08:00 |
|
|
|
d0fc8cdecf
|
feat(操作统计): 点击接收/转交/上传备注数字下钻查看明细
- 表格中接收/转交/上传备注数字改为可点击(蓝色下划线),点击打开明细抽屉
- 明细展示:任务名/备注/设备/身份证/时间,跟随顶部时间筛选
|
2026-08-28 13:36:28 +08:00 |
|
|
|
7205de369a
|
feat(backend): 新增 /dashboard/user-operations/detail 操作明细下钻接口
- 按人+操作类型(receive/transfer/record)查询明细:任务/产品/备注/时间
- record 明细与该人统计口径一致(名下任务手动备注,排除系统自动)
|
2026-08-28 13:36:23 +08:00 |
|
|
|
554608b948
|
feat(操作统计): 人员筛选增加全选/全不选按钮
|
2026-08-28 13:33:08 +08:00 |
|
|
|
5722fe159a
|
feat(操作统计): 人员筛选改为人名宫格多选 + 表头升降序
- 人员选择从下拉改为移动端风格的人名宫格网格,支持多选(可同时看多人),全部=清空
- 接收/转交/上传备注/总次数 表头点击升降序(三态:无→升→降→无)
- 移除不再使用的 antd Select
|
2026-08-28 13:31:03 +08:00 |
|
|
|
477a187fc1
|
fix(操作统计): 上传备注改为按任务负责人归因,历史数据可回溯
- 备注统计不用 task_logs(历史无record日志),改为 task_records 按任务 assignee 归因
- 排除系统自动生成的备注(以'['开头的接收/转交/撤回等),只计手动上传
- 移除 add_task_record 冗余的 record 日志(不再用于统计)
- 不改数据库,历史182条备注也能正确归属到人
|
2026-08-28 13:26:26 +08:00 |
|
|
|
41c19242cf
|
fix(操作统计): 返回全部人员而非仅有操作的人
- get_user_operations 先取全部 IRIS 人员清单,再合并各自操作次数
- 无操作的显示 0,避免只看得到当前有操作记录的人(如只看自己)
|
2026-08-28 13:22:56 +08:00 |
|
|
|
9471c1b7c5
|
feat(全局概览): 人员操作统计改为快捷入口内入口+抽屉弹窗展示
- 位置调整:快捷入口面板内新增「人员操作统计」入口按钮(替代整行区域)
- 点击打开抽屉,展示全部人员操作次数
- 支持人员下拉选择:默认全部,可选某一人查看
- 跟随顶部时间筛选联动
|
2026-08-28 13:19:45 +08:00 |
|
|
|
72fbb8b501
|
feat(全局概览): 快捷入口下方新增人员操作统计区域
- 表格展示每人 接收/转交/上传备注/总次数,按总次数降序
- 跟随顶部时间筛选(今天/近7天/近30天/自定义)联动刷新
|
2026-08-28 13:14:13 +08:00 |
|
|
|
b85188e625
|
feat(backend): 新增 /dashboard/user-operations 人员操作统计接口
- add_task_record 补 action_type=record 日志,使上传备注可统计到人
- get_user_operations 按人聚合 接收(receive)/转交(complete)/上传备注(record) 次数,时间筛选,中文名映射
- 复用 get_display_names,不新增数据库字段
|
2026-08-28 13:14:09 +08:00 |
|
|
|
dd14185ab4
|
feat(APP): 记录页实现编辑记录弹窗,替代占位的「返回详情页」提示
- 点击✏️直接弹出编辑弹窗:修改备注文本 + 图片预览/删除/新增上传
- 保存走 PUT /records/{id} 更新,本地列表同步刷新
- 删除图片同样走5秒倒计时双重确认
|
2026-08-28 13:02:29 +08:00 |
|