feat: edit ban entries with modal form
This commit is contained in:
@@ -30,7 +30,7 @@ const BansPage = {
|
|||||||
<td>${b.duration||'永久'}</td>
|
<td>${b.duration||'永久'}</td>
|
||||||
<td>${b.status==='active'?'<span class="badge bg-rejected">生效中</span>':'<span class="badge bg-closed">已解除</span>'}</td>
|
<td>${b.status==='active'?'<span class="badge bg-rejected">生效中</span>':'<span class="badge bg-closed">已解除</span>'}</td>
|
||||||
<td class="ts">${U.date(b.created_at)}</td>
|
<td class="ts">${U.date(b.created_at)}</td>
|
||||||
${Auth.isOwner()?`<td><button class="btn btn-o btn-sm" onclick="BansPage.lift(${b.id})"><i class="fas fa-check"></i> 解除</button></td>`:''}
|
${Auth.isOwner()?`<td><button class="btn btn-o btn-sm" onclick="BansPage.edit(${b.id},'${U.escJs(b.player_name)}','${U.escJs(b.player_uid||'')}','${b.source||''}','${b.type}','${U.escJs(b.reason||'')}','${b.duration||''}','${b.status}')"><i class="fas fa-edit"></i></button> <button class="btn btn-d btn-sm" onclick="BansPage.lift(${b.id})"><i class="fas fa-check"></i> 解除</button></td>`:''}
|
||||||
</tr>`).join('')}</tbody></table></div>`;
|
</tr>`).join('')}</tbody></table></div>`;
|
||||||
} catch(e) { ct.innerHTML = `<div class="alert alert-e">${e.message}</div>`; }
|
} catch(e) { ct.innerHTML = `<div class="alert alert-e">${e.message}</div>`; }
|
||||||
},
|
},
|
||||||
@@ -74,6 +74,25 @@ const BansPage = {
|
|||||||
async lift(id) {
|
async lift(id) {
|
||||||
if (!await U.confirm('确认解除该封禁?')) return;
|
if (!await U.confirm('确认解除该封禁?')) return;
|
||||||
try { await API.put('/bans/'+id, { status: 'lifted' }); this.load(); } catch(ex){alert(ex.message);}
|
try { await API.put('/bans/'+id, { status: 'lifted' }); this.load(); } catch(ex){alert(ex.message);}
|
||||||
|
},
|
||||||
|
|
||||||
|
edit(id, name, uid, source, type, reason, duration, status) {
|
||||||
|
U.modal('编辑封禁', `
|
||||||
|
<form id="be-form">
|
||||||
|
<div class="grid-2"><div class="form-group"><label>玩家名</label><input id="be-name" value="${name}"></div><div class="form-group"><label>UID</label><input id="be-uid" value="${uid}"></div></div>
|
||||||
|
<div class="grid-2"><div class="form-group"><label>来源</label><select id="be-source"><option value="">未知</option><option value="netease" ${source==='netease'?'selected':''}>网易端</option><option value="skin" ${source==='skin'?'selected':''}>皮肤站</option></select></div><div class="form-group"><label>状态</label><select id="be-status"><option value="active" ${status==='active'?'selected':''}>生效中</option><option value="lifted" ${status==='lifted'?'selected':''}>已解除</option><option value="expired" ${status==='expired'?'selected':''}>已过期</option></select></div></div>
|
||||||
|
<div class="grid-2"><div class="form-group"><label>时长</label><input id="be-dur" value="${duration}"></div></div>
|
||||||
|
<div class="form-group"><label>原因</label><textarea id="be-reason" rows="2">${reason}</textarea></div>
|
||||||
|
<div class="modal-f"><button type="button" class="btn btn-o" data-action="App:closeModal">取消</button><button type="submit" class="btn btn-p">保存</button></div>
|
||||||
|
</form>
|
||||||
|
`);
|
||||||
|
document.getElementById('be-form').onsubmit = async e => {
|
||||||
|
e.preventDefault();
|
||||||
|
try {
|
||||||
|
await API.put('/bans/'+id, { status: document.getElementById('be-status').value, reason: document.getElementById('be-reason').value, duration: document.getElementById('be-dur').value });
|
||||||
|
App.closeModal(); this.load();
|
||||||
|
} catch(ex) { alert(ex.message); }
|
||||||
|
};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user