feat: redesign task_execute with 3-column layout and subtask images

Refactor measurement execution page from 2-column to 3-column layout:
- Left: vertical marker sidebar with status indicators
- Center: image area with subtask image switching (per-subtask detail
  images override task annotation viewer) + optional recipe image strip
- Right: compact info panel with tolerances, feedback, and numpad

Also: compact header bar, use window.__data pattern for tojson escaping,
fetch recipe image_path in measure blueprint.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Adriano
2026-02-20 11:58:55 +01:00
parent 13986f05d7
commit 6bd6e229e5
2 changed files with 354 additions and 412 deletions
+6
View File
@@ -124,15 +124,21 @@ def task_execute(task_id: int):
# Load all task IDs for this recipe (ordered) for auto-advance
recipe_id = task_resp.get("recipe_id")
all_task_ids = []
recipe_resp = {}
if recipe_id:
tasks_resp = api_client.get(f"/api/recipes/{recipe_id}/tasks")
if isinstance(tasks_resp, list):
sorted_tasks = sorted(tasks_resp, key=lambda t: t.get("order_index", 0))
all_task_ids = [t["id"] for t in sorted_tasks]
# Fetch recipe for image_path
resp = api_client.get(f"/api/recipes/{recipe_id}")
if not (isinstance(resp, dict) and resp.get("error")):
recipe_resp = resp
return render_template(
"measure/task_execute.html",
task=task_resp,
recipe=recipe_resp,
lot_number=lot_number,
serial_number=serial_number,
all_task_ids=all_task_ids,