overview on index

This commit is contained in:
Jörg Henke
2022-07-26 10:36:22 +02:00
parent f98ceeb68b
commit 8b14e49952
9 changed files with 182 additions and 46 deletions

View File

@ -49,22 +49,23 @@ body {
.formpane {
margin: 24px;
border: 1px solid silver;
border-radius: 4px;
padding: 24px;
background: whitesmoke;
border: 1px solid silver;
border-radius: 4px;
padding: 24px;
background: whitesmoke;
min-width: 95vw !important;
}
.menudangerbutton {
color: #e00 !important;
border: 1px solid rgba(0,0,0,0);
border: 1px solid rgba(0, 0, 0, 0);
}
.menudangerbutton:hover {
color: #f00 !important;
border: 1px solid silver;
border-radius: 4px;
background: rgba(255,0,0,0.2);
background: rgba(255, 0, 0, 0.2);
}
.redfont {
@ -81,7 +82,8 @@ body {
.page {
width: 100%;
background-image: linear-gradient(to bottom, #99c1f1, #1a5f64) !important;
background-image: linear-gradient(to bottom, #99c1f1, #1a5f64)
!important;
}
.emph {
@ -121,7 +123,7 @@ body {
.billing {
color: black !important;
border: 1px solid darkgray;
border-radius: 16px;
border-radius: 16px;
padding: 4px !important;
padding-left: 8px !important;
padding-right: 8px !important;
@ -176,7 +178,7 @@ body {
}
.fc-content {
cursor: pointer;
cursor: pointer;
}
.btn-white-text {
@ -234,12 +236,43 @@ body {
}
.tab-pane-table {
background-color: white;
background-color: white;
padding: 8px;
border-radius: 4px;
border: 1px solid silver;
}
.inputtimefield {
min-width: 70px !important;
}
.spanlabel {
display: inline-block;
min-width: 128px;
max-width: 128px;
margin-top: 4px;
margin-bottom: 4px;
}
.btn-bordered {
border: 1px solid rgba(1, 1, 1, 0.0);
border-radius: 4px;
}
.btn-bordered:hover {
border: 1px solid silver;
}
.btn-secondaryhover:hover {
background-image: linear-gradient(to right bottom, #99c1f1, #1a5f64);
color: white;
}
.btn-dangerhover:hover {
background-image: linear-gradient(to right bottom, rgba(255, 128, 0, 0.3),
rgba(255, 128, 0, 1));
}
.clock {
background-image: url("../png/clock.png");
background-repeat: no-repeat;

View File

@ -25,10 +25,11 @@
<div class="row mb-3">
<label for="inputTimefrom" class="col-sm-1 col-form-label">von</label>
<div class="col-sm-1">
<input id="inputTimefrom" type="text" th:field="*{timeFromString}" class="form-control" onchange="validateTime(this, 'okbtn')" />
<input id="inputTimefrom" type="text" th:field="*{timeFromString}" class="form-control inputtimefield" onchange="validateTime(this, 'okbtn')" />
</div>
<div class="col-sm-10">
<button type="button" class="btn btn-danger" value="" onclick="resetValue('#inputTimefrom', '')"><span class="fas fa-trash-alt"></span></button>
<button type="button" class="btn btn-secondary" onclick="resetValue('#inputTimefrom', nowPlus(-105))"><script type="text/javascript">document.write(nowPlus(-105))</script></button>
<button type="button" class="btn btn-secondary" onclick="resetValue('#inputTimefrom', nowPlus(-90))"><script type="text/javascript">document.write(nowPlus(-90))</script></button>
<button type="button" class="btn btn-secondary" onclick="resetValue('#inputTimefrom', nowPlus(-75))"><script type="text/javascript">document.write(nowPlus(-75))</script></button>
<button type="button" class="btn btn-secondary" onclick="resetValue('#inputTimefrom', nowPlus(-60))"><script type="text/javascript">document.write(nowPlus(-60))</script></button>
@ -38,15 +39,17 @@
<button type="button" class="btn btn-primary" onclick="resetValue('#inputTimefrom', nowPlus(0))"><script type="text/javascript">document.write(nowPlus(0))</script></button>
<button type="button" class="btn btn-primary" onclick="resetValue('#inputTimefrom', nowPlus(15))"><script type="text/javascript">document.write(nowPlus(15))</script></button>
<button type="button" class="btn btn-secondary" onclick="resetValue('#inputTimefrom', nowPlus(30))"><script type="text/javascript">document.write(nowPlus(30))</script></button>
<button type="button" class="btn btn-secondary" onclick="resetValue('#inputTimefrom', nowPlus(45))"><script type="text/javascript">document.write(nowPlus(45))</script></button>
</div>
</div>
<div class="row mb-3">
<label for="inputTimeuntil" class="col-sm-1 col-form-label">bis</label>
<div class="col-sm-1">
<input id="inputTimeuntil" type="text" th:field="*{timeUntilString}" class="form-control" onchange="validateTime(this, 'okbtn')" />
<input id="inputTimeuntil" type="text" th:field="*{timeUntilString}" class="form-control inputtimefield" onchange="validateTime(this, 'okbtn')" />
</div>
<div class="col-sm-10">
<button type="button" class="btn btn-danger" value="" onclick="resetValue('#inputTimeuntil', '')"><span class="fas fa-trash-alt"></span></button>
<button type="button" class="btn btn-secondary" onclick="resetValue('#inputTimeuntil', nowPlus(-105))"><script type="text/javascript">document.write(nowPlus(-105))</script></button>
<button type="button" class="btn btn-secondary" onclick="resetValue('#inputTimeuntil', nowPlus(-90))"><script type="text/javascript">document.write(nowPlus(-90))</script></button>
<button type="button" class="btn btn-secondary" onclick="resetValue('#inputTimeuntil', nowPlus(-75))"><script type="text/javascript">document.write(nowPlus(-75))</script></button>
<button type="button" class="btn btn-secondary" onclick="resetValue('#inputTimeuntil', nowPlus(-60))"><script type="text/javascript">document.write(nowPlus(-60))</script></button>
@ -56,6 +59,7 @@
<button type="button" class="btn btn-primary" onclick="resetValue('#inputTimeuntil', nowPlus(0))"><script type="text/javascript">document.write(nowPlus(0))</script></button>
<button type="button" class="btn btn-primary" onclick="resetValue('#inputTimeuntil', nowPlus(15))"><script type="text/javascript">document.write(nowPlus(15))</script></button>
<button type="button" class="btn btn-secondary" onclick="resetValue('#inputTimeuntil', nowPlus(30))"><script type="text/javascript">document.write(nowPlus(30))</script></button>
<button type="button" class="btn btn-secondary" onclick="resetValue('#inputTimeuntil', nowPlus(45))"><script type="text/javascript">document.write(nowPlus(45))</script></button>
</div>
</div>
<div class="row mb-12">

View File

@ -19,8 +19,15 @@
</li>
</ul>
<ul layout:fragment="menu">
<li class="nav-item" sec:authorize="hasRole('timetrack_user')"><a class="nav-link btn btn-success btn-white-text" th:href="@{/done/add/{day}(day=${doneModel.day})}">Neuer
Eintrag</a></li>
<li class="nav-item" sec:authorize="hasRole('timetrack_user')">
<table>
<tr>
<td><a class="nav-link btn btn-success btn-white-text" th:href="@{/done/add/{day}(day=${doneModel.day})}">Neuer
Eintrag</a></td>
<td style="padding-left: 8px"><a class="nav-link btn btn-bordered btn-dangerhover" style="width: 44px" th:href="@{/done/list}"><i class="fas fa-sync"></i></a></td>
</tr>
</table>
</li>
</ul>
<main layout:fragment="content">
<ul class="nav nav-tabs navback" role="tablist">
@ -48,10 +55,14 @@
<tr th:each="done : ${doneList}">
<td><a class="hoverlink" th:href="@{/done/edit/{id}(id=${done.pk})}"><span th:text="${done.timeNote}"></span></a></td>
<td><a class="hoverlink" th:href="@{/done/edit/{id}(id=${done.pk})}"><span th:text="${done.timeDiff}"></span></a></td>
<td><a class="hoverlink" th:href="@{/done/edit/{id}(id=${done.pk})}"><span class="boldtext" th:text="${done.project?.name}"></span></a></td>
<td><a class="hoverlink" th:href="@{/done/edit/{id}(id=${done.pk})}"><span class="boldtext" th:text="${done.module?.name}"></span></a></td>
<td><a class="hoverlink" th:href="@{/done/edit/{id}(id=${done.pk})}"><span class="boldtext" th:text="${done.activity?.name}"></span></a></td>
<td><span th:text="${done.billing.shortcut}" th:class="'billing ' + ${done.billing.csskey}" th:if="${done.billing != null}"></span></td>
<td><a class="hoverlink" th:href="@{/done/edit/{id}(id=${done.pk})}"><span class="boldtext"
th:text="${done.project?.name}"></span></a></td>
<td><a class="hoverlink" th:href="@{/done/edit/{id}(id=${done.pk})}"><span class="boldtext"
th:text="${done.module?.name}"></span></a></td>
<td><a class="hoverlink" th:href="@{/done/edit/{id}(id=${done.pk})}"><span class="boldtext"
th:text="${done.activity?.name}"></span></a></td>
<td><span th:text="${done.billing.shortcut}" th:class="'billing ' + ${done.billing.csskey}"
th:if="${done.billing != null}"></span></td>
<td><a th:href="@{/done/edit/{id}(id=${done.pk})}" th:title="${done.pk}"><i class="fa fa-edit"></i></a></td>
</tr>
</tbody>
@ -66,10 +77,14 @@
</tr>
<tr>
<td></td>
<td><span th:if="${sum.getBillingTime('WP2') != '0,0 h'}"><span class="billing WP2">WP2</span><span th:text="${sum.getBillingTime('WP2')}" class="distfat"></span></span></td>
<td><span th:if="${sum.getBillingTime('WP4') != '0,0 h'}"><span class="billing WP4">WP4</span><span th:text="${sum.getBillingTime('WP4')}" class="distfat"></span></span></td>
<td><span th:if="${sum.getBillingTime('WP5') != '0,0 h'}"><span class="billing WP5">WP5</span><span th:text="${sum.getBillingTime('WP5')}" class="distfat"></span></span></td>
<td><span th:if="${sum.getBillingTime('TA3') != '0,0 h'}"><span class="billing TA3">TA3</span><span th:text="${sum.getBillingTime('TA3')}" class="distfat"></span></span></td>
<td><span th:if="${sum.getBillingTime('WP2') != '0,0 h'}"><span class="billing WP2">WP2</span><span
th:text="${sum.getBillingTime('WP2')}" class="distfat"></span></span></td>
<td><span th:if="${sum.getBillingTime('WP4') != '0,0 h'}"><span class="billing WP4">WP4</span><span
th:text="${sum.getBillingTime('WP4')}" class="distfat"></span></span></td>
<td><span th:if="${sum.getBillingTime('WP5') != '0,0 h'}"><span class="billing WP5">WP5</span><span
th:text="${sum.getBillingTime('WP5')}" class="distfat"></span></span></td>
<td><span th:if="${sum.getBillingTime('TA3') != '0,0 h'}"><span class="billing TA3">TA3</span><span
th:text="${sum.getBillingTime('TA3')}" class="distfat"></span></span></td>
<td><span class="billing">X</span><span th:text="${sum.getBillingTime(null)}" class="distfat"></span></td>
</tr>
</tfoot>
@ -93,8 +108,7 @@
</tbody>
<tfoot>
<tr>
<td colspan="3">
<a class="nav-link btn btn-success btn-white-text" th:href="@{/done/add/project}">neues Projekt</a>
<td colspan="3"><a class="nav-link btn btn-success btn-white-text" th:href="@{/done/add/project}">neues Projekt</a>
</td>
</tr>
</tfoot>
@ -118,9 +132,7 @@
</tbody>
<tfoot>
<tr>
<td colspan="3">
<a class="nav-link btn btn-success btn-white-text" th:href="@{/done/add/module}">neues Modul</a>
</td>
<td colspan="3"><a class="nav-link btn btn-success btn-white-text" th:href="@{/done/add/module}">neues Modul</a></td>
</tr>
</tfoot>
</table>
@ -143,9 +155,7 @@
</tbody>
<tfoot>
<tr>
<td colspan="3">
<a class="nav-link btn btn-success btn-white-text" th:href="@{/done/add/job}">neue Aufgabe</a>
</td>
<td colspan="3"><a class="nav-link btn btn-success btn-white-text" th:href="@{/done/add/job}">neue Aufgabe</a></td>
</tr>
</tfoot>
</table>
@ -170,7 +180,7 @@
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){
$(document).ready(function() {
var localeUrl = '[[@{/js/dataTables/de.json}]]';
$("#project_table").DataTable({
"language" : {

View File

@ -7,6 +7,36 @@
<body>
<ul layout:fragment="menu">
</ul>
<main layout:fragment="content"></main>
<main layout:fragment="content">
<div class="card text-dark bg-light" style="width: 256px; margin: 24px">
<div class="card-header"><a class="btn btn-seondary btn-bordered btn-secondaryhover" style="width: 100%" th:href="@{/done/list}">heutige Arbeitszeiten</a></div>
<div class="card-body">
<div>
<span class="spanlabel">Start:</span> <span class="emphgreen" th:text="${sum.start}"></span>
</div>
<div>
<span class="spanlabel">Ende:</span> <span class="emphgreen" th:text="${sum.end}"></span>
</div>
<div>
<span class="spanlabel">Arbeitszeit total:</span> <span class="emphblue" th:text="${sum.total}"></span>
</div>
<div>
<span class="spanlabel">Pausezeit total:</span> <span class="emphorange" th:text="${sum.pause}"></span>
</div>
<div>
<span class="spanlabel">Überstunden:</span> <span class="emphred" th:text="${sum.overdue}"></span>
</div>
</div>
<div class="card-footer">
<span th:if="${sum.getBillingTime('WP2') != '0,0 h'}"><span class="billing WP2">WP2</span><span
th:text="${sum.getBillingTime('WP2')}" class="distfat"></span></span> <span th:if="${sum.getBillingTime('WP4') != '0,0 h'}"><span
class="billing WP4">WP4</span><span th:text="${sum.getBillingTime('WP4')}" class="distfat"></span></span> <span
th:if="${sum.getBillingTime('WP5') != '0,0 h'}"><span class="billing WP5">WP5</span><span
th:text="${sum.getBillingTime('WP5')}" class="distfat"></span></span> <span th:if="${sum.getBillingTime('TA3') != '0,0 h'}"><span
class="billing TA3">TA3</span><span th:text="${sum.getBillingTime('TA3')}" class="distfat"></span></span> <span class="billing">X</span><span
th:text="${sum.getBillingTime(null)}" class="distfat"></span>
</div>
</div>
</main>
</body>
</html>