Files
wafer_map_webui/templates/compare.html
beabigegg 9f7040ece9 ver 2
2025-07-30 11:24:58 +08:00

93 lines
4.1 KiB
HTML

<!DOCTYPE html>
<html lang="zh-TW">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Wafer Map Comparison</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap" rel="stylesheet">
<link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}">
</head>
<body>
<div class="app-container">
<!-- Sidebar for Controls -->
<aside class="sidebar">
<header class="sidebar-header">
<h1>Map Comparison</h1>
<a href="/" class="button-secondary" style="text-align: center;">Back to Editor</a>
</header>
<!-- Step 1: Upload Multiple Files -->
<div id="upload-section" class="card active">
<div class="card-header">
<h2>Step 1: Upload Maps</h2>
</div>
<form id="upload-form">
<input type="file" id="file-input" name="files" accept=".txt" multiple required>
<button type="submit" class="button-primary">Upload & Analyze</button>
</form>
<div id="upload-status" class="status"></div>
</div>
<!-- Step 2: Define Bins -->
<div id="bin-definition-section" class="card">
<div class="card-header">
<h2>Step 2: Define Bin Codes</h2>
<p class="hint-text">These definitions will apply to all maps.</p>
</div>
<form id="bin-definition-form">
<div id="bin-map-container"></div>
<button type="submit" class="button-primary">Generate Maps</button>
</form>
<div id="bin-status" class="status"></div>
</div>
<!-- Step 3: Set References & Compare -->
<div id="comparison-controls-section" class="card">
<div class="card-header">
<h2>Step 3: Set References & Compare</h2>
</div>
<div id="reference-setter-container">
<!-- Map reference setters will be dynamically inserted here -->
</div>
<div class="control-group-divider"></div>
<button id="compare-btn" class="button-primary" disabled>Run Comparison</button>
<div id="compare-status" class="status"></div>
</div>
</aside>
<!-- Main Content Area for Canvas -->
<main class="main-content">
<div id="viewer-section" style="display: none;">
<div class="map-viewer-controls">
<label for="map-selector">Select Map:</label>
<select id="map-selector"></select>
<button id="rotate-map-btn" class="button-secondary">Rotate 90°</button>
</div>
<div id="map-container">
<canvas id="wafer-map-canvas"></canvas>
<div id="reference-info" class="status">Click on a die to set its reference point.</div>
</div>
</div>
<div id="comparison-result-section" style="display: none;">
<div class="map-viewer-controls">
<button id="back-to-viewer-btn" class="button-secondary">Back to Viewer</button>
</div>
<div id="result-map-container">
<canvas id="result-map-canvas"></canvas>
<div id="map-tooltip" class="map-tooltip"></div>
</div>
<div id="result-legend" class="counts-container"></div>
</div>
<div id="welcome-message">
<h2>Welcome to Map Comparison</h2>
<p>Please upload two or more map files to begin.</p>
</div>
</main>
</div>
<script src="{{ url_for('static', filename='js/compare.js') }}"></script>
</body>
</html>