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:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user