egg
2568fd836c
feat(reject-history): multi-pareto 3×2 grid with cross-filter linkage
Replace single-dimension Pareto dropdown with 6 simultaneous Pareto charts
(不良原因, PACKAGE, TYPE, WORKFLOW, 站點, 機台) in a responsive 3-column grid.
Clicking items in one Pareto cross-filters the other 5 (exclude-self logic),
and the detail table applies all dimension selections with AND logic.
Backend:
- Add batch-pareto endpoint (cache-only, no Oracle queries)
- Add _apply_cross_filter() with exclude-self pattern
- Extend view/export endpoints for multi-dimension sel_* params
Frontend:
- New ParetoGrid.vue wrapping 6 ParetoSection instances
- Simplify ParetoSection: remove dimension dropdown, keep TOP20 toggle
- Replace single-dimension state with paretoSelections reactive object
- Adaptive x-axis labels (font size, rotation, hideOverlap) for compact grid
- Responsive grid: 3-col desktop, 2-col tablet, 1-col mobile
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 14:43:35 +08:00
..
2026-02-08 08:30:48 +08:00
2026-02-08 08:30:48 +08:00
2026-02-08 08:30:48 +08:00
2026-02-08 08:30:48 +08:00
2026-02-08 08:30:48 +08:00
2026-02-08 20:03:36 +08:00
2026-02-08 20:03:36 +08:00
2026-02-08 20:03:36 +08:00
2026-02-08 08:30:48 +08:00
2026-02-08 20:03:36 +08:00
2026-02-08 20:03:36 +08:00
2026-02-08 20:03:36 +08:00
2026-02-09 11:34:04 +08:00
2026-02-10 09:32:14 +08:00
2026-02-09 18:19:32 +08:00
2026-02-09 14:52:14 +08:00
2026-02-09 16:39:20 +08:00
2026-02-09 13:06:59 +08:00
2026-02-10 18:03:08 +08:00
2026-02-10 13:02:24 +08:00
2026-02-11 07:22:48 +08:00
2026-02-11 09:01:02 +08:00
2026-02-11 18:04:55 +08:00
2026-02-11 13:25:03 +08:00
2026-02-11 17:07:50 +08:00
2026-02-12 13:20:06 +08:00
2026-02-12 11:26:02 +08:00
2026-02-12 11:26:02 +08:00
2026-02-12 16:53:54 +08:00
2026-02-12 16:30:24 +08:00
2026-02-13 15:25:00 +08:00
2026-02-13 20:35:52 +08:00
2026-02-23 07:10:51 +08:00
2026-02-23 07:10:51 +08:00
2026-02-22 12:50:05 +08:00
2026-02-22 11:54:51 +08:00
2026-02-23 09:18:10 +08:00
2026-02-23 17:48:32 +08:00
2026-02-24 16:16:33 +08:00
2026-02-25 13:15:02 +08:00
2026-02-25 16:13:19 +08:00
2026-02-26 09:48:54 +08:00
2026-03-02 08:44:26 +08:00
2026-03-02 08:44:26 +08:00
2026-03-02 08:44:26 +08:00
2026-03-02 14:43:35 +08:00
2026-03-02 13:23:16 +08:00
2026-03-02 13:23:16 +08:00
2026-02-25 21:01:27 +08:00
2026-02-25 21:01:27 +08:00
2026-02-25 21:01:27 +08:00