feat(web): 海选按场景分组 + 删场景点位页签 + 演出真实底图 + 破缓存

- 海选审核左侧改两列:场景列(按新字段 ir.scene 手动归类聚合,含全部/未分类) + 该场景事件列
- 删独立「场景/点位」页签(pointview.js 保留未引用)
- 演出配置 Timeline 接真实场景俯视底图(setupShot 覆盖投影范围 + drawStage 叠图,复用 /api/pointsets 的 shot)
- 事件 meta 加「所属场景」归类输入框(datalist 提示已有场景名)
- db: events 加 scene 列 + 旧库 ALTER 迁移;upsert 镜像 ir.scene;list 返回
- app.py: 首页按文件 mtime 给 js/css 注入 ?v= 破浏览器缓存(根治新html配旧缓存js崩溃→弹口令)
This commit is contained in:
2026-06-15 11:46:59 +08:00
parent 603f78b77f
commit 65424a4dfb
7 changed files with 137 additions and 71 deletions

View File

@ -20,8 +20,25 @@ button.mini { padding:2px 8px; font-size:12px; }
/* ---- layout ---- */
#wrap { display:flex; flex:1; min-height:0; }
#list-pane { width:250px; background:#19150f; border-right:1px solid #3a322a;
display:flex; flex-direction:column; flex:none; }
/* 海选审核左侧两列:场景列 | 事件列 */
#list-pane { width:430px; background:#19150f; border-right:1px solid #3a322a;
display:flex; flex-direction:row; flex:none; }
#scene-col { width:150px; flex:none; display:flex; flex-direction:column;
border-right:1px solid #3a322a; background:#161009; }
#scene-col .listhead { padding:10px 12px; font-size:12px; color:#9a8f7e; letter-spacing:1px;
border-bottom:1px solid #3a322a; background:#19150f; }
#scene-list { overflow:auto; flex:1; }
.scene-item { padding:8px 10px; border-bottom:1px solid #241f18; cursor:pointer;
display:flex; justify-content:space-between; align-items:center; gap:6px;
font-size:13px; color:#cabfae; }
.scene-item:hover { background:#221d16; }
.scene-item.sel { background:#2a2316; border-left:3px solid #e6c878; padding-left:7px; color:#f0e2c0; }
.scene-item .snm { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.scene-item .scnt { flex:none; font-size:11px; color:#7a7264; background:#241f18;
border-radius:9px; padding:0 7px; }
#event-col { flex:1; min-width:0; display:flex; flex-direction:column; }
.with-datalist { display:block; }
.with-datalist input { width:100%; box-sizing:border-box; }
.filters { padding:10px; display:flex; gap:6px; border-bottom:1px solid #3a322a; }
.filters select, .filters input, #login input, #import-text {
background:#241f18; color:#e8e0d4; border:1px solid #4a4030; border-radius:4px;