From 9f3a46e5a1efaacabe2f828ca96d4afc8e2b1e31 Mon Sep 17 00:00:00 2001 From: Council Date: Mon, 20 Apr 2026 18:06:23 +0800 Subject: [PATCH] =?UTF-8?q?fix(vr=5Fticket):=20=E4=BF=AE=E5=A4=8D=E7=A1=AC?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=8C=89=E9=92=AE=20+=20=E6=B8=85=E7=90=86?= =?UTF-8?q?=E6=AE=8B=E7=95=99=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Admin.php SeatTemplateDelete/VenueDelete: - is_delete → is_delete_time(ShopXO Goods 表软删除字段) - VenueDelete 新增 value='hard' 参数支持(兼容 submit-ajax) 2. list.html: - 删除按钮从 btn-open-delete-confirm 改为 submit-ajax - 删除按钮移出条件判断,始终可见 - 移除残留的 old modal + custom JS handler 3. 清理 shopxo/app/event.php 变动(还原) --- shopxo/app/plugins/vr_ticket/admin/Admin.php | 17 +++++- .../plugins/vr_ticket/view/venue/list.html | 59 +------------------ 2 files changed, 17 insertions(+), 59 deletions(-) diff --git a/shopxo/app/plugins/vr_ticket/admin/Admin.php b/shopxo/app/plugins/vr_ticket/admin/Admin.php index 72aa27d..bfc5a09 100644 --- a/shopxo/app/plugins/vr_ticket/admin/Admin.php +++ b/shopxo/app/plugins/vr_ticket/admin/Admin.php @@ -243,9 +243,10 @@ class Admin extends Common } if ($hardDelete) { + // 检查是否有关联商品(ShopXO 使用 is_delete_time 做软删除判断) $goods = \think\facade\Db::name('Goods') ->where('vr_goods_config', 'like', '%"template_id":' . $id . '%') - ->where('is_delete', 0) + ->where('is_delete_time', 0) ->find(); \think\facade\Db::name('vr_seat_templates')->where('id', $id)->delete(); \app\plugins\vr_ticket\service\AuditService::log( @@ -850,7 +851,9 @@ class Admin extends Common } /** - * 删除场馆(软删除) + * 删除场馆(软删除/硬删除) + * @param hard_delete: 0=软删除(禁用), 1=硬删除 (兼容旧的自定义JS调用) + * @param value: 'hard'=硬删除 (submit-ajax新方式) */ public function VenueDelete() { @@ -863,16 +866,24 @@ class Admin extends Common return DataReturn('参数错误', -1); } + // 兼容旧方式: hard_delete=1 为硬删除 $hardDelete = input('hard_delete', 0, 'intval'); + // 新方式: value='hard' 为硬删除 + $value = input('value', '', null, 'trim'); + if ($value === 'hard') { + $hardDelete = 1; + } + $template = \think\facade\Db::name('vr_seat_templates')->where('id', $id)->find(); if (empty($template)) { return DataReturn('记录不存在', -1); } if ($hardDelete) { + // 检查是否有关联商品(使用 is_delete_time 而不是 is_delete) $goods = \think\facade\Db::name('Goods') ->where('vr_goods_config', 'like', '%"template_id":' . $id . '%') - ->where('is_delete', 0) + ->where('is_delete_time', 0) ->find(); \think\facade\Db::name('vr_seat_templates')->where('id', $id)->delete(); \app\plugins\vr_ticket\service\AuditService::log( diff --git a/shopxo/app/plugins/vr_ticket/view/venue/list.html b/shopxo/app/plugins/vr_ticket/view/venue/list.html index 98bc2be..e29e1fc 100644 --- a/shopxo/app/plugins/vr_ticket/view/venue/list.html +++ b/shopxo/app/plugins/vr_ticket/view/venue/list.html @@ -118,10 +118,11 @@ - - {{else}} + {{if $v.status eq 0}} @@ -137,61 +138,7 @@ - -
-
-
- - 确定删除此场馆? - × -
-
-

⚠️ 删除后,关联商品的场馆信息将被自动清除。

-

删除前已购买的用户不受影响(已有购买快照)。

-
- -
-
-
{{if !empty($list)}} {{$page|raw}}