feat(ticket): 新增单程票购票与检票功能,优化日志与接口
- 前端新增单程票购票界面,支持票种切换与区间选择、价格预览 - 完善后端检票接口,添加单程票的校验与处理逻辑 - 优化售票机脚本的车票类型映射,新增单程车票支持 - 简化前端售票日志输出,移除冗余站点信息字段 - 新增服务层付费区间计算字段,优化公共接口返回数据
This commit is contained in:
+64
-23
@@ -47,32 +47,73 @@
|
||||
<section class="jr-content-grid">
|
||||
<div class="jr-column-main">
|
||||
<article class="jr-section-card" id="reservationPanel">
|
||||
<div class="jr-section-head">
|
||||
<div>
|
||||
<p class="jr-section-label">Reservation</p>
|
||||
<h2>选择乘车区间</h2>
|
||||
<div class="jr-form-block" style="margin-bottom: 24px;">
|
||||
<div class="jr-field-head">
|
||||
<span class="jr-field-label">票种</span>
|
||||
<span class="jr-field-note">请选择购买的车票类型</span>
|
||||
</div>
|
||||
<p class="jr-section-note">点击下方线路图中的站点,依次选择起点与终点。</p>
|
||||
</div>
|
||||
<div id="stationMap" class="station-map-container jr-station-map">
|
||||
<div class="loading">加载线路图中...</div>
|
||||
</div>
|
||||
<div class="jr-selection-summary">
|
||||
<div class="jr-selection-card jr-selection-start">
|
||||
<span class="jr-selection-tag">出发站</span>
|
||||
<strong id="fromDisplay">请在上方地图选择</strong>
|
||||
<input id="from" type="hidden" />
|
||||
</div>
|
||||
<div class="jr-selection-arrow">
|
||||
<i class="fas fa-arrow-right"></i>
|
||||
</div>
|
||||
<div class="jr-selection-card jr-selection-end">
|
||||
<span class="jr-selection-tag">到达站</span>
|
||||
<strong id="toDisplay">请在上方地图选择</strong>
|
||||
<input id="to" type="hidden" />
|
||||
<div class="train-type-group jr-train-type-group">
|
||||
<label>
|
||||
<input type="radio" name="ticketClass" value="normal" checked>
|
||||
<div class="type-card jr-type-card">
|
||||
<div class="type-title">普通票</div>
|
||||
<div class="type-desc">按起终点购票</div>
|
||||
</div>
|
||||
</label>
|
||||
<label>
|
||||
<input type="radio" name="ticketClass" value="single">
|
||||
<div class="type-card jr-type-card">
|
||||
<div class="type-title">单程票</div>
|
||||
<div class="type-desc">限乘一个区间</div>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="jr-form-grid">
|
||||
|
||||
<div id="normalTicketView">
|
||||
<div class="jr-section-head">
|
||||
<div>
|
||||
<p class="jr-section-label">Reservation</p>
|
||||
<h2>选择乘车区间</h2>
|
||||
</div>
|
||||
<p class="jr-section-note">点击下方线路图中的站点,依次选择起点与终点。</p>
|
||||
</div>
|
||||
<div id="stationMap" class="station-map-container jr-station-map">
|
||||
<div class="loading">加载线路图中...</div>
|
||||
</div>
|
||||
<div class="jr-selection-summary">
|
||||
<div class="jr-selection-card jr-selection-start">
|
||||
<span class="jr-selection-tag">出发站</span>
|
||||
<strong id="fromDisplay">请在上方地图选择</strong>
|
||||
<input id="from" type="hidden" />
|
||||
</div>
|
||||
<div class="jr-selection-arrow">
|
||||
<i class="fas fa-arrow-right"></i>
|
||||
</div>
|
||||
<div class="jr-selection-card jr-selection-end">
|
||||
<span class="jr-selection-tag">到达站</span>
|
||||
<strong id="toDisplay">请在上方地图选择</strong>
|
||||
<input id="to" type="hidden" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="singleTicketView" style="display: none;">
|
||||
<div class="jr-section-head">
|
||||
<div>
|
||||
<p class="jr-section-label">Single Trip</p>
|
||||
<h2>选择单程区间</h2>
|
||||
</div>
|
||||
<p class="jr-section-note">根据线路和票价分类,购买后可乘坐该线路任意单一区间。</p>
|
||||
</div>
|
||||
<div id="singleSegmentList" class="list jr-price-list" style="max-height: 400px; overflow-y: auto;">
|
||||
<div class="loading">加载区间数据...</div>
|
||||
</div>
|
||||
<input type="hidden" id="singleSegmentSelection" value="" />
|
||||
<input type="hidden" id="singleSegmentPrice" value="" />
|
||||
</div>
|
||||
|
||||
<div class="jr-form-grid" style="margin-top: 24px;">
|
||||
<div class="jr-form-block">
|
||||
<div class="jr-field-head">
|
||||
<span class="jr-field-label">车型</span>
|
||||
|
||||
Reference in New Issue
Block a user