fix: data-action delegation + convert onclick to event listeners, sidebar+logout+modals
This commit is contained in:
@@ -20,14 +20,14 @@ const TicketsPage = {
|
||||
ct.innerHTML = `
|
||||
<div class="tab-nav" id="ticket-tabs">
|
||||
<button data-tab="all" class="active">全部</button>
|
||||
<button data-tab="pending">待认领</button>
|
||||
<button data-tab="claimed">已接单</button>
|
||||
<button data-tab="pending">待认�/button>
|
||||
<button data-tab="claimed">已接å<EFBFBD>?/button>
|
||||
${Auth.user().role === 'player' ? '<button data-tab="mine">我的工å<C2A5>•</button>' : ''}
|
||||
</div>
|
||||
<div class="filter-bar">
|
||||
<select id="ft-type" onchange="TicketsPage.applyFilters()"><option value="">全部类型</option>${Object.entries(U.TYPE).map(([k,v])=>`<option value="${k}">${v}</option>`).join('')}</select>
|
||||
<select id="ft-status" onchange="TicketsPage.applyFilters()"><option value="">全部状态</option>${Object.entries(U.STATUS).map(([k,v])=>`<option value="${k}">${v}</option>`).join('')}</select>
|
||||
<select id="ft-priority" onchange="TicketsPage.applyFilters()"><option value="">全部优先级</option>${Object.entries(U.PRIORITY).map(([k,v])=>`<option value="${k}">${v}</option>`).join('')}</select>
|
||||
<select id="ft-status" onchange="TicketsPage.applyFilters()"><option value="">全部状�/option>${Object.entries(U.STATUS).map(([k,v])=>`<option value="${k}">${v}</option>`).join('')}</select>
|
||||
<select id="ft-priority" onchange="TicketsPage.applyFilters()"><option value="">全部优先�/option>${Object.entries(U.PRIORITY).map(([k,v])=>`<option value="${k}">${v}</option>`).join('')}</select>
|
||||
<input id="ft-search" placeholder="æ<>œç´¢..." onkeyup="if(event.key==='Enter')TicketsPage.applyFilters()">
|
||||
<button class="btn btn-o btn-sm" onclick="TicketsPage.applyFilters()"><i class="fas fa-search"></i></button>
|
||||
<button class="btn btn-o btn-sm" onclick="TicketsPage.resetFilters()"><i class="fas fa-undo"></i></button>
|
||||
@@ -74,7 +74,7 @@ const TicketsPage = {
|
||||
ct.innerHTML = tickets.length === 0
|
||||
? `<div class="empty"><i class="fas fa-inbox"></i><p>æš‚æ— å·¥å<C2A5>•</p></div>`
|
||||
: `<div class="card table-wrap"><table><thead><tr>
|
||||
<th>#</th><th>类型</th><th>标题</th><th>提交者</th><th>对象</th><th>状态</th><th>优先级</th><th>负责人</th><th>时间</th><th>操作</th>
|
||||
<th>#</th><th>类型</th><th>æ ‡é¢˜</th><th>æ<EFBFBD><EFBFBD>交è€?/th><th>对象</th><th>状æ€?/th><th>优先çº?/th><th>è´Ÿè´£äº?/th><th>æ—¶é—´</th><th>æ“<EFBFBD>作</th>
|
||||
</tr></thead><tbody>${tickets.map(t => `
|
||||
<tr>
|
||||
<td>${t.id}</td>
|
||||
@@ -84,7 +84,7 @@ const TicketsPage = {
|
||||
<td>${t.target_game_name?`${U.esc(t.target_game_name)}${t.target_game_uid?`<br><span class="tm ts">UID:${U.esc(t.target_game_uid)}</span>`:''}`:'-'}</td>
|
||||
<td>${U.badge(t.status,'status')}</td>
|
||||
<td>${U.badge(t.priority,'priority')}</td>
|
||||
<td>${t.assignee_name?`<span class="badge bg-admin">${U.esc(t.assignee_name)}</span>`:`<span class="tm">待认领</span>`}</td>
|
||||
<td>${t.assignee_name?`<span class="badge bg-admin">${U.esc(t.assignee_name)}</span>`:`<span class="tm">待认�/span>`}</td>
|
||||
<td class="ts">${U.date(t.updated_at)}</td>
|
||||
<td><button class="btn btn-o btn-sm" onclick="App.navigate('ticket',${t.id})"><i class="fas fa-eye"></i></button></td>
|
||||
</tr>`).join('')}</tbody></table></div>`;
|
||||
|
||||
Reference in New Issue
Block a user