dinner_vote/templates/dinner.html

103 lines
4.1 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<html lang="zh">
<head>
<title>晚餐吃什么鸭</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="/static/bootstrap.min.css">
</head>
<body>
<div class="container text-center" style="padding-top: 120px">
<p>每天8:00-17:30间开放匿名投票更新17:30以后允许发起抽签抽签结果确定后不可更改</p>
<p>随机抽签,按得票数决定中签概率</p>
{% if last_result %}
<p>今日{{ last_result }}最终得票数降低30%</p>
{% endif %}
<form id="inputForm" class="form-inline">
<div class="form-group">
<div class="input-group">
<span class="input-group-addon">我选择</span>
</div>
{% for choice in all_choice %}
<div class="input-group">
<label for="range{{ loop.index }}" class="form-label">{{ choice['label'] }}
- {{ '{:.2f}'.format((menu.get(choice['name']) or 0) * 100) }}%</label>
<input type="range" class="form-range" id="range{{ loop.index }}" name="{{ choice['name'] }}"
min="0"
max="10" step="1" value="{{ (menu.get(choice['name']) or 0) * 10 }}">
</div>
{% endfor %}
</div>
</form>
<button type="button" class="btn btn-primary" onclick="update()">更新</button>
<button type="button" class="btn btn-secondary" onclick="clearValue()">不吃</button>
<button type="button" class="btn btn-secondary" {{ "" if can_roll == True else 'disabled="disabled"' | safe }}
onclick="roll()">开始抽签
</button>
<div style="padding-top: 40px">
<label>大家的选择 - 总票数:{{ '{:.2f}'.format(total_vote | round(2)) }}</label>
<ul style="padding-top: 20px; margin-bottom: 80px" class="list-group">
{% for key in summary %}
<li class="list-group-item {{ "active" if result == key else "" }}">
<div class="row justify-content-between">
<span class="col-5">{{ key }}</span>
<span class="col-3">{{ '{:.2f}'.format(summary[key] | round(2)) }}票</span>
<span class="col-3">{{ '{:.2f}'.format(summary[key] / total_vote * 100 | round(2)) }}%</span>
</div>
</li>
{% endfor %}
</ul>
</div>
<div class="fixed-bottom" style="padding-bottom: 20px"><a class="link-secondary" style="text-decoration: none; font-size: 0.8rem"
href="https://git.zaneyork.cn:8443/ZaneYork/dinner_vote">本项目抽签完全公开透明,源码开放欢迎随时审查</a>
</div>
</div>
<script src="/static/jquery-3.2.1.min.js"></script>
<script src="/static/jquery.serializejson.js"></script>
<script src="/static/bootstrap.bundle.min.js"></script>
<script>
function update() {
var data = $('#inputForm').serializeJSON();
$.ajax({
url: 'dinner/update?value=' + JSON.stringify(data),
dataType: 'json',
success: function (result) {
if (result.code === 0) {
window.location.reload();
} else {
alert('更新失败: ' + result.data)
}
}
})
}
function clearValue() {
$.ajax({
url: 'dinner/update?value=',
dataType: 'json',
success: function (result) {
if (result.code === 0) {
window.location.reload();
} else {
alert('更新失败: ' + result.data)
}
}
})
}
function roll() {
$.ajax({
url: 'dinner/roll',
dataType: 'json',
success: function (result) {
if (result.code === 0) {
window.location.reload();
} else {
alert('更新失败: ' + result.data)
}
}
})
}
</script>
</body>
</html>