From d8c45fbb87bfbdc1e445a21cb9ba3c10eb54f24e Mon Sep 17 00:00:00 2001 From: Council Date: Sat, 25 Apr 2026 10:35:34 +0800 Subject: [PATCH] feat(B1): ticket/verify + list + detail admin views --- shopxo/app/plugins/vr_ticket/Hook.php | 10 + .../vr_ticket/view/admin/ticket/detail.html | 162 +++++++++++++ .../vr_ticket/view/admin/ticket/list.html | 126 ++++++++++ .../vr_ticket/view/admin/ticket/verify.html | 221 ++++++++++++++++++ 4 files changed, 519 insertions(+) create mode 100644 shopxo/app/plugins/vr_ticket/view/admin/ticket/detail.html create mode 100644 shopxo/app/plugins/vr_ticket/view/admin/ticket/list.html create mode 100644 shopxo/app/plugins/vr_ticket/view/admin/ticket/verify.html diff --git a/shopxo/app/plugins/vr_ticket/Hook.php b/shopxo/app/plugins/vr_ticket/Hook.php index 3bff217..7a6b71f 100644 --- a/shopxo/app/plugins/vr_ticket/Hook.php +++ b/shopxo/app/plugins/vr_ticket/Hook.php @@ -88,6 +88,16 @@ class Hook 'url' => PluginsAdminUrl('vr_ticket', 'admin', 'TicketList'), 'power' => 'vr_ticket-ticketList', ], + [ + 'id' => 'plugins-vr_ticket-ticketverify', + 'name' => '扫码核销', + 'title' => '扫码核销', + 'is_show' => 1, + 'control' => 'admin', + 'action' => 'TicketVerify', + 'url' => PluginsAdminUrl('vr_ticket', 'admin', 'TicketVerify'), + 'power' => 'vr_ticket-ticketVerify', + ], [ 'id' => 'plugins-vr_ticket-verifier', 'name' => '核销员', diff --git a/shopxo/app/plugins/vr_ticket/view/admin/ticket/detail.html b/shopxo/app/plugins/vr_ticket/view/admin/ticket/detail.html new file mode 100644 index 0000000..1b2e91a --- /dev/null +++ b/shopxo/app/plugins/vr_ticket/view/admin/ticket/detail.html @@ -0,0 +1,162 @@ +{{:ModuleInclude('public/header')}} + +
+
+ + 返回列表 + + 票详情 +
+ +
+ +
+
+
票基础信息
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{if $ticket.status == 1}} + + + + + + + + + {{/if}} +
票码{{$ticket.ticket_code}}
订单号{{$ticket.order_no}}
商品名{{$ticket.goods_name}}
观演人{{$ticket.visitor_name}}
手机号{{$ticket.mobile}}
身份证{{if !empty($ticket.id_card)}}{{$ticket.id_card}}{{else}}未填写{{/if}}
座位信息{{if !empty($ticket.seat_info)}}{{$ticket.seat_info}}{{else}}无{{/if}}
状态 + {{if $ticket.status == 0}} + 未核销 + {{elseif $ticket.status == 1}} + 已核销 + {{elseif $ticket.status == 2}} + 已退款 + {{/if}} +
发放时间{{$ticket.create_time}}
核销时间{{$ticket.verify_time}}
核销人{{if !empty($ticket.verifier_name)}}{{$ticket.verifier_name}}{{else}}未知{{/if}}
+
+
+
+ + +
+
+
票二维码
+
+
+ + +
+

票码:{{$ticket.ticket_code}}

+ + +
+ +
+
+
+ + + {{if $ticket.status == 0}} +
+
核销操作
+
+
+ +
+ +
+
+
+
+ {{/if}} +
+
+
+ + + + +{{:ModuleInclude('public/footer')}} \ No newline at end of file diff --git a/shopxo/app/plugins/vr_ticket/view/admin/ticket/list.html b/shopxo/app/plugins/vr_ticket/view/admin/ticket/list.html new file mode 100644 index 0000000..55568d7 --- /dev/null +++ b/shopxo/app/plugins/vr_ticket/view/admin/ticket/list.html @@ -0,0 +1,126 @@ +{{:ModuleInclude('public/header')}} + +
+
+ + 扫码核销 + + 电子票列表 +
+ + +
+
+
+
+
+
+ 订单号 + +
+
+
+
+ 票码 + +
+
+
+
+ 观演人 + +
+
+
+
+ 手机号 + +
+
+
+ +
+
+
+ 状态 + +
+
+
+ + + 重置 + +
+
+
+
+
+ + +
+
电子票列表
+
+ + + + + + + + + + + + + + {{if !empty($list)}} + {{volist name="list" id="ticket"}} + + + + + + + + + + {{/volist}} + {{else}} + + + + {{/if}} + +
票码观演人座位信息商品名状态发放时间操作
{{$ticket.ticket_code}}{{$ticket.visitor_name}}{{if !empty($ticket.seat_info)}}{{$ticket.seat_info}}{{else}}无{{/if}}{{$ticket.goods_name}} + {{if $ticket.status == 0}} + 未核销 + {{elseif $ticket.status == 1}} + 已核销 + {{elseif $ticket.status == 2}} + 已退款 + {{/if}} + {{$ticket.create_time}} + + 查看详情 + +
暂无数据
+ + + {{if !empty($page)}} +
+ {{$page|raw}} +
+ {{/if}} +
+
+
+ +{{:ModuleInclude('public/footer')}} \ No newline at end of file diff --git a/shopxo/app/plugins/vr_ticket/view/admin/ticket/verify.html b/shopxo/app/plugins/vr_ticket/view/admin/ticket/verify.html new file mode 100644 index 0000000..d61463c --- /dev/null +++ b/shopxo/app/plugins/vr_ticket/view/admin/ticket/verify.html @@ -0,0 +1,221 @@ +{{:ModuleInclude('public/header')}} + +
+
+ + 电子票列表 + + 票码核销 +
+ + +
+
+
+
今日核销
+
{{$stats.today_verified|default=0}}
+
+
+
+
+
待核销
+
{{$stats.pending|default=0}}
+
+
+
+
+
已核销总数
+
{{$stats.total_verified|default=0}}
+
+
+
+ + +
+
扫码/输入核销
+
+
+
+ +
+ + + + +
+
+ 支持手动输入票码或点击"扫码"使用摄像头扫描二维码 +
+
+ +
+ +
+
+
+
+ + +
+ + +
+
+
+ 扫码核销 + × +
+
+ + +
点击"开始扫码"启动摄像头
+
+ + +
+
+
+
+
+ + + + +{{:ModuleInclude('public/footer')}} \ No newline at end of file