mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2026-01-07 06:31:22 +00:00
204 lines
8.7 KiB
Twig
204 lines
8.7 KiB
Twig
{% extends "./layout/default.twig" %}
|
|
{% block content %}
|
|
{{ Breadcrumbs.renderIfExists(Route.getCurrentRoute.getName, date, shared) }}
|
|
|
|
<div class="row">
|
|
<div class="col-lg-10 col-md-8 col-sm-12">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">
|
|
<i class="fa fa-line-chart"></i>
|
|
{{ 'incomeVsExpenses'|_ }}
|
|
</div>
|
|
<div class="panel-body">
|
|
<div id="income-expenses-chart"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-2 col-md-4 col-sm-12">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">
|
|
<i class="fa fa-calendar"></i>
|
|
{{ 'incomeVsExpenses'|_ }}
|
|
</div>
|
|
<div class="panel-body">
|
|
<div id="income-expenses-sum-chart"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-lg-6 col-md-6 col-sm-6">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">
|
|
<i class="fa fa-credit-card fa-fw"></i>
|
|
{{ 'accountBalances'|_ }}
|
|
</div>
|
|
<table class="table table-bordered table-striped">
|
|
<tr>
|
|
<th>{{ 'name'|_ }}</th>
|
|
<th>{{ 'balanceStartOfYear'|_ }}</th>
|
|
<th>{{ 'balanceStartOfYear'|_ }}</th>
|
|
<th>{{ 'difference'|_ }}</th>
|
|
</tr>
|
|
{% for account in accounts %}
|
|
<tr>
|
|
<td>
|
|
<a href="{{ route('accounts.show',account.id) }}" title="{{ account.name }}">{{ account.name }}</a>
|
|
</td>
|
|
<td>{{ account.startBalance|formatAmount }}</td>
|
|
<td>{{ account.endBalance|formatAmount }}</td>
|
|
<td>{{ (account.endBalance - account.startBalance)|formatAmount }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
<tr>
|
|
<td><em>Sum of sums</em></td>
|
|
<td>{{ accountsSums.start|formatAmount }}</td>
|
|
<td>{{ accountsSums.end|formatAmount }}</td>
|
|
<td>{{ accountsSums.diff|formatAmount }}</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">
|
|
<i class="fa fa-fw fa-exchange"></i>
|
|
{{ 'incomeVsExpenses'|_ }}
|
|
</div>
|
|
<table class="table table-bordered table-striped">
|
|
<tr>
|
|
<td>{{ 'in'|_ }}</td>
|
|
<td>{{ totalIncome|formatAmount }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ 'out'|_ }}</td>
|
|
<td><span class="text-danger">{{ totalExpense|formatAmountPlain }}</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ 'difference'|_ }}</td>
|
|
<td>{{ (totalIncome - totalExpense)|formatAmount }}</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-3 col-md-3 col-sm-3">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">
|
|
<i class="fa fa-long-arrow-right fa-fw"></i>
|
|
{{ 'income'|_ }} ({{ trans('firefly.topX',{number: incomeTopLength}) }})
|
|
</div>
|
|
<table class="table">
|
|
{% for id,row in incomes %}
|
|
{% if loop.index > incomeTopLength %}
|
|
<tr class="collapse out incomesCollapsed">
|
|
{% else %}
|
|
<tr>
|
|
{% endif %}
|
|
<td>
|
|
<a href="{{ route('accounts.show',id) }}" title="{{ row.name }}">{{ row.name }}</a>
|
|
{% if row.count > 1 %}
|
|
<br /><small>{{ row.count }} {{ 'transactions'|_|lower }}</small>
|
|
{% endif %}
|
|
</td>
|
|
<td>{{ row.amount|formatAmount }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
{% if incomes|length > incomeTopLength %}
|
|
<tr>
|
|
<td colspan="2" class="active">
|
|
<a href="#" id="showIncomes">{{ trans('firefly.showTheRest',{number:incomeTopLength}) }}</a>
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
<tr>
|
|
<td><em>{{ 'sum'|_ }}</em></td>
|
|
<td>{{ totalIncome|formatAmount }}</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-3 col-md-3 col-sm-3">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">
|
|
<i class="fa fa-long-arrow-left fa-fw"></i>
|
|
{{ 'expenses'|_ }} ({{ trans('firefly.topX',{number: expenseTopLength}) }})
|
|
</div>
|
|
<table class="table">
|
|
{% set sum =0 %}
|
|
{% for expense in expenses %}
|
|
{% if loop.index > expenseTopLength %}
|
|
<tr class="collapse out expenseCollapsed">
|
|
{% else %}
|
|
<tr>
|
|
{% endif %}
|
|
<td><a href="{{ route('accounts.show',expense.id) }}">{{ expense.name }}</a></td>
|
|
<td><span class="text-danger">{{ expense.queryAmount|formatAmountPlain }}</span></td>
|
|
</tr>
|
|
{% set sum = sum + (expense.queryAmount * -1) %}
|
|
{% endfor %}
|
|
{% if expenses|length > expenseTopLength %}
|
|
<tr>
|
|
<td colspan="2" class="active">
|
|
<a href="#" id="showExpenses">{{ trans('firefly.showTheRest',{number:incomeTopLength}) }}</a>
|
|
</td>
|
|
</tr>
|
|
{% endif %}
|
|
<tr>
|
|
<td><em>{{ 'sum'|_ }}</em></td>
|
|
<td><span class="text-danger">{{ (sum * -1)|formatAmountPlain }}</span></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-12 col-md-12 col-sm-12">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">
|
|
<i class="fa fa-tasks fa-fw"></i>
|
|
{{ 'categories'|_ }}
|
|
</div>
|
|
<div class="panel-body">
|
|
<div id="categories">(to do)</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-lg-12 col-md-12 col-sm-12">
|
|
<div class="panel panel-default">
|
|
<div class="panel-heading">
|
|
<i class="fa fa-tasks fa-fw"></i>
|
|
{{ 'budgets'|_ }}
|
|
</div>
|
|
<div class="panel-body">
|
|
<div id="budgets"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{% endblock %}
|
|
{% block scripts %}
|
|
<!-- load the libraries and scripts necessary for Google Charts: -->
|
|
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
|
|
<script type="text/javascript" src="js/gcharts.options.js"></script>
|
|
<script type="text/javascript" src="js/gcharts.js"></script>
|
|
|
|
<script type="text/javascript">
|
|
var year = '{{date.year}}';
|
|
var shared = {% if shared %}'/shared'{% else %}''{% endif %};
|
|
var incomeTopLength = {{ incomeTopLength }};
|
|
var expenseTopLength = {{ expenseTopLength }};
|
|
var incomeRestShow = false; // starts hidden.
|
|
var expenseRestShow = false; // starts hidden.
|
|
var showTheRest = '{{ trans('firefly.showTheRest',{number:incomeTopLength}) }}';
|
|
var hideTheRest = '{{ trans('firefly.hideTheRest',{number:incomeTopLength}) }}';
|
|
var showTheRestExpense = '{{ trans('firefly.showTheRest',{number:expenseTopLength}) }}';
|
|
var hideTheRestExpense = '{{ trans('firefly.hideTheRest',{number:expenseTopLength}) }}';
|
|
</script>
|
|
|
|
<script type="text/javascript" src="js/reports.js"></script>
|
|
|
|
{% endblock %}
|