Files
Migu2.0/SimpleLite/model/agv_glb/viewer/play.html
T
ArtoriasWu 15405ba114 新增 WMS 搬运规则与任务管理
支持搬运规则维护、候选预览、任务生成、预占、下发、取消和完成,并完善仓储管理前端交互。
2026-06-25 11:02:22 +08:00

194 lines
3.6 KiB
HTML

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>AGV 动作播放</title>
<style>
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: "Segoe UI", "Microsoft YaHei", system-ui, sans-serif;
background: #0f1117;
color: #e8eaed;
overflow: hidden;
}
#canvas-wrap {
width: 100vw;
height: 100vh;
}
#panel {
position: fixed;
top: 16px;
left: 16px;
width: 280px;
max-height: calc(100vh - 32px);
overflow-y: auto;
background: rgba(22, 26, 36, 0.94);
border: 1px solid #2a3142;
border-radius: 12px;
padding: 14px;
backdrop-filter: blur(8px);
z-index: 10;
}
h1 {
font-size: 15px;
margin-bottom: 4px;
}
.sub {
font-size: 11px;
color: #8b95a8;
margin-bottom: 10px;
line-height: 1.4;
}
.sub a {
color: #8eb4ff;
}
label {
display: flex;
align-items: center;
justify-content: space-between;
font-size: 12px;
margin-bottom: 8px;
gap: 8px;
}
select {
flex: 1;
background: #1a1f2b;
color: #e8eaed;
border: 1px solid #2a3142;
border-radius: 6px;
padding: 5px 8px;
font-size: 12px;
}
button {
width: 100%;
padding: 8px;
border: none;
border-radius: 8px;
background: #2a3142;
color: #fff;
cursor: pointer;
font-size: 12px;
margin-top: 4px;
}
button:hover {
background: #3a4558;
}
button.active {
box-shadow: 0 0 0 1px #5dd39e;
}
.mode-running {
background: #1a3d28;
}
.mode-lift {
background: #3d3520;
}
.mode-fault {
background: #3d1a1a;
}
.mode-idle {
background: #1a3348;
}
.tags {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: 8px;
}
.tags button {
width: auto;
flex: 1 1 calc(50% - 6px);
min-width: 72px;
margin-top: 0;
}
#activeTag {
color: #c5d0e0;
font-size: 12px;
margin: 8px 0 4px;
min-height: 18px;
}
#remoteStatus {
font-size: 11px;
margin-top: 8px;
line-height: 1.4;
color: #8b95a8;
}
#remoteStatus.ok {
color: #5dd39e;
}
#remoteStatus.warn {
color: #e8c468;
}
#remoteStatus.err {
color: #f07178;
}
#status {
font-size: 11px;
color: #7d899e;
margin-top: 10px;
line-height: 1.5;
}
.ok {
color: #5dd39e;
}
.err {
color: #f07178;
}
</style>
</head>
<body>
<div id="canvas-wrap"></div>
<div id="panel">
<h1>AGV 动作播放</h1>
<p class="sub">外部通过 <code>GET /api/catalog</code><code>POST /api/agv</code> 控制。<a href="./index.html">去配置页</a>
</p>
<label><span>模型</span><select id="modelSelect">
<option>加载中...</option>
</select></label>
<button type="button" id="clearAll">全部关闭</button>
<p id="activeTag">已开启:无</p>
<div id="actionTags" class="tags"></div>
<div id="remoteStatus">远程:连接中…</div>
<div id="status">加载中...</div>
</div>
<script type="importmap">
{ "imports": {
"three": "https://cdn.jsdelivr.net/npm/three@0.170.0/build/three.module.js",
"three/addons/": "https://cdn.jsdelivr.net/npm/three@0.170.0/examples/jsm/"
}}
</script>
<script type="module" src="./player.js"></script>
</body>
</html>