270 lines
13 KiB
HTML
270 lines
13 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.5">
|
|
<title>🥞wachtrij</title>
|
|
<link href="https://cdn.jsdelivr.net/npm/tuicss@@2.1.1/dist/tuicss.min.css" rel="stylesheet" />
|
|
<style>
|
|
.tui-window {
|
|
width: 100%;
|
|
}
|
|
|
|
.col {
|
|
width: 100%;
|
|
}
|
|
|
|
.row {
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
td,
|
|
th {
|
|
text-align: center;
|
|
}
|
|
|
|
.tui-table tbody tr td {
|
|
padding-bottom: 20px;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body class="tui-bg-green-black">
|
|
<div style="margin: auto; width: 60%; margin-top: 40px;">
|
|
<div class="container" style="width: 100%">
|
|
<div class="row">
|
|
<div class="col m6">
|
|
<div class="tui-window red-168">
|
|
<fieldset class="tui-fieldset">
|
|
Welkom bij de 🥞wachtrij
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
<div class="col m6">
|
|
<div class="tui-window red-168">
|
|
<fieldset class="tui-fieldset">
|
|
Er zijn al @person_finished_count 🥞 afgeleverd!
|
|
<br />
|
|
Dat is @{ppu:.2} 🥞/uur
|
|
<br />
|
|
Gemiddelde tijd tussen 🥞: @{mean_time.str()}
|
|
<br/>
|
|
<span id="ttp">
|
|
TTP:
|
|
@if ttp < 0
|
|
Soon™
|
|
@else
|
|
@ttp
|
|
@end
|
|
</span>
|
|
<script>
|
|
function time_left_string(time_left) {
|
|
let minutes = Math.floor(time_left / 60000);
|
|
let seconds = Math.floor((time_left - minutes * 60000) / 1000);
|
|
if (seconds < 10) {
|
|
seconds = "0" + seconds;
|
|
}
|
|
return minutes + ":" + seconds + ".000";
|
|
}
|
|
|
|
let ttp = new Date(@ttp.milliseconds())
|
|
console.log(ttp)
|
|
if (ttp.getTime() > 0){
|
|
const ttp_span = document.getElementById('ttp')
|
|
console.log('sd')
|
|
setInterval(function(){
|
|
console.log(ttp.getTime())
|
|
ttp.setTime(ttp.getTime() - 1000)
|
|
console.log(ttp.getTime())
|
|
console.log('----')
|
|
if (ttp.getTime() <= 0) {
|
|
ttp_span.innerText = "TTP: Soon™"
|
|
} else {
|
|
ttp_span.innerText = "TTP: " + time_left_string(ttp)
|
|
}
|
|
}, 1000)
|
|
}
|
|
|
|
</script>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col m12">
|
|
<div class="tui-window red-168">
|
|
<fieldset class="tui-fieldset">
|
|
<form action="/add_person" method="POST">
|
|
<div class="row">
|
|
<div class="col m12" style="display: inline-flex">
|
|
Naam van de volgende:
|
|
<input class="tui-input" type="text" id="name" name="name"
|
|
style="margin-left: 10px; flex: 1">
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col m12" style="display: inline-flex">
|
|
Specifieke opmerkingen:
|
|
<input class="tui-input" type="text" id="remark" name="remark"
|
|
style="margin-left: 10px; flex: 1">
|
|
</div>
|
|
</div>
|
|
<div class="row" style="margin-bottom: 10px">
|
|
<div class="col m12" style="display: inline-flex">
|
|
<input class="tui-button green-168" type="submit" value="Persoon toevoegen"
|
|
style="flex: 1; margin-bottom: 0px;">
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@if people.len > 0
|
|
<div class="row">
|
|
<div class="col m12">
|
|
<div class="tui-window red-168">
|
|
<fieldset class="tui-fieldset">
|
|
<form action="/status_update" method="POST">
|
|
<input type="hidden" name="id" value="@{people[0].id}">
|
|
<input class="tui-button green-168" type="submit" value="Update First Person"
|
|
style="width: 100%">
|
|
</form>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@end
|
|
<div class="row">
|
|
<div class="col m12">
|
|
<div class="tui-window red-168">
|
|
<fieldset class="tui-fieldset">
|
|
<h2>Zie hieronder de lijst van personen die een 🥞 willen</h2>
|
|
<table class="tui-table" style="width: 100%">
|
|
<tbody>
|
|
<tr>
|
|
<td colspan="4"
|
|
style="text-align:center; vertical-align:middle; padding-top: 20px">Volgende
|
|
persoon</td>
|
|
</tr>
|
|
@if people.len > 0
|
|
@for person in people[..1]
|
|
<tr>
|
|
<td>@person.name @person.remark()</td>
|
|
<td>@person.status_str()</td>
|
|
<td>@person.order_time_humanized()</td>
|
|
<td>
|
|
<form action="/status_update" method="POST">
|
|
<input type="hidden" name="id" value="@person.id">
|
|
<input class="tui-button green-168" type="submit" value="Update">
|
|
</form>
|
|
</td>
|
|
</tr>
|
|
@end
|
|
@end
|
|
<tr>
|
|
<td colspan="4" style='text-align:center; vertical-align:middle'>Andere personen
|
|
</td>
|
|
</tr>
|
|
@if people.len > 1
|
|
@for person in people[1..]
|
|
<tr>
|
|
<td>@person.name @person.remark()</td>
|
|
<td>@person.status_str()</td>
|
|
<td>@person.order_time_humanized()</td>
|
|
<td>
|
|
<form action="/status_update" method="POST">
|
|
<input type="hidden" name="id" value="@person.id">
|
|
<input class="tui-button green-168" type="submit" value="Update">
|
|
</form>
|
|
</td>
|
|
</tr>
|
|
@end
|
|
@end
|
|
</tbody>
|
|
</table>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col m12">
|
|
<div class="tui-window red-168">
|
|
<fieldset class="tui-fieldset">
|
|
<h2>Aantal gebakken 🥞</h2>
|
|
<div class="tui-chart-vertical" style="width: 100%; height: 200px;">
|
|
<div class="tui-chart-display">
|
|
@for ph in finished_per_hour
|
|
<div class="tui-chart-value @ph.color-168" style="height: @{ph.percentage}%;">
|
|
@ph.amount</div>
|
|
@end
|
|
</div>
|
|
<!-- <div class="tui-chart-y-axis">
|
|
<div class="tui-chart-legend">100%</div>
|
|
<div class="tui-chart-legend">75%</div>
|
|
<div class="tui-chart-legend">50%</div>
|
|
<div class="tui-chart-legend">25%</div>
|
|
</div> -->
|
|
<div class="tui-chart-x-axis">
|
|
@for ph in finished_per_hour
|
|
<div class="tui-chart-legend">@ph.label</div>
|
|
@end
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
<fieldset class="tui-fieldset">
|
|
<h2>Aantal bestelde 🥞</h2>
|
|
<div class="tui-chart-vertical" style="width: 100%; height: 200px;">
|
|
<div class="tui-chart-display">
|
|
@for ph in ordered_per_hour
|
|
<div class="tui-chart-value @ph.color-168" style="height: @{ph.percentage}%;">
|
|
@ph.amount</div>
|
|
@end
|
|
</div>
|
|
<!-- <div class="tui-chart-y-axis">
|
|
<div class="tui-chart-legend">100%</div>
|
|
<div class="tui-chart-legend">75%</div>
|
|
<div class="tui-chart-legend">50%</div>
|
|
<div class="tui-chart-legend">25%</div>
|
|
</div> -->
|
|
<div class="tui-chart-x-axis">
|
|
@for ph in ordered_per_hour
|
|
<div class="tui-chart-legend">@ph.label</div>
|
|
@end
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- <table class="container tui-window">
|
|
<thead>
|
|
<tr>
|
|
<th>id</th>
|
|
<th>name</th>
|
|
<th>remark</th>
|
|
<th>status</th>
|
|
<th>order time</th>
|
|
<th>delivery time</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@for p in all_people
|
|
<tr>
|
|
<td>@p.id</td>
|
|
<td>@p.name</td>
|
|
<td>@p.remark</td>
|
|
<td>@p.status</td>
|
|
<td>@p.order_time</td>
|
|
<td>@p.delivery_time</td>
|
|
</tr>
|
|
@end
|
|
</tbody>
|
|
</table> -->
|
|
</div>
|
|
</body>
|
|
|
|
</html> |