From 49e256a9ab83e68ebeeb12c249e5086ea647d356 Mon Sep 17 00:00:00 2001 From: Council Date: Wed, 15 Apr 2026 22:06:21 +0800 Subject: [PATCH] =?UTF-8?q?feat(Phase=203-1):=20Vue3=20=E4=BA=A4=E4=BA=92?= =?UTF-8?q?=E5=BC=8F=E5=9C=BA=E9=A6=86=E9=85=8D=E7=BD=AE=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E5=99=A8=20save.html?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - admin/view/venue/save.html:Vue3 CDN 嵌入 - 实时彩色座位预览(每格 30x30px,背景色=zone.color,悬浮显示座位号/分区/价格) - 动态增删分区(char/name/price/color + 预设色板) - 每排座位行编辑器(动态 input) - 双向同步:改 zone char/color → 预览即时刷新 - 初始默认值:3 区(VIP区/看台区/普通区),6座/排 - mounted() 回填:zones_json / map_json / venue_json - computed 序列化:zonesJson / seatMapRowsJson / venueJson → 隐藏字段 - Venue.php 补充:新增 venue_json 字段供 Vue3 回填 - venue_json = {name, address, image} 关联:docs/11_EDITOR_AND_INJECTION_DESIGN.md v3.0 --- .../vr_ticket/admin/controller/Venue.php | 5 + .../vr_ticket/admin/view/venue/save.html | 453 ++++++++++++++++++ 2 files changed, 458 insertions(+) create mode 100644 shopxo/app/plugins/vr_ticket/admin/view/venue/save.html diff --git a/shopxo/app/plugins/vr_ticket/admin/controller/Venue.php b/shopxo/app/plugins/vr_ticket/admin/controller/Venue.php index 103db5a..7c80dd1 100644 --- a/shopxo/app/plugins/vr_ticket/admin/controller/Venue.php +++ b/shopxo/app/plugins/vr_ticket/admin/controller/Venue.php @@ -183,6 +183,11 @@ class Venue extends Base $row['venue_address'] = $seatMap['venue']['address'] ?? ''; $row['venue_image'] = $seatMap['venue']['image'] ?? ''; $row['zones_json'] = json_encode($seatMap['sections'] ?? [], JSON_UNESCAPED_UNICODE); + $row['venue_json'] = json_encode([ + 'name' => $seatMap['venue']['name'] ?? '', + 'address' => $seatMap['venue']['address'] ?? '', + 'image' => $seatMap['venue']['image'] ?? '', + ], JSON_UNESCAPED_UNICODE); $row['map_json'] = json_encode($seatMap['map'] ?? [], JSON_UNESCAPED_UNICODE); $info = $row; } diff --git a/shopxo/app/plugins/vr_ticket/admin/view/venue/save.html b/shopxo/app/plugins/vr_ticket/admin/view/venue/save.html new file mode 100644 index 0000000..5a17594 --- /dev/null +++ b/shopxo/app/plugins/vr_ticket/admin/view/venue/save.html @@ -0,0 +1,453 @@ + + + + + {if isset($info['id'])}编辑{else}添加{/if}场馆 + + + + + +
+
+
+ {if isset($info['id'])}编辑{else}添加{/if}场馆 +
+
+
+ + +
+ +
+ +
+
+ + +
+ +
票务配置
+ + +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + +
+ +
+
+ +
+ 暂无座位,请添加分区和排布 +
+
+ 总座位数:{{ totalSeats }} + 总排数:{{ seatMapRows.filter(r => r.trim()).length }} + 分区数:{{ activeZones.length }} +
+
+
+
+ + +
+ +
+
+ + + + + +
+
+ +
+
+ 预设色: + +
+
+
+ + +
+ +
+
+ + + +
+
+ + 每排字符对应上方分区,例:ABABAB 表示交替座位 +
+
+
+ +
+ + + + + + + +
+
+ + + 返回 + +
+
+ +
+
+
+
+ + + + + +