Добавлен журнал заказов
Добавлены отчеты: по переносам, по объединениям, по разбиениям
This commit is contained in:
miroman-afk
2022-06-13 13:16:50 +03:00
parent 2d148e3eb5
commit ebd1180d89
9 changed files with 605 additions and 7 deletions

View File

@@ -42,6 +42,9 @@
<li class="nav-item" ng-if="actions.merge_trigger == 1">
<a class="nav-link" href="" data-toggle="tab" data-target="#tab4" aria-expanded="false">История объединения</a>
</li>
<li class="nav-item" ng-if="actions.move_trigger == 1">
<a class="nav-link" href="" data-toggle="tab" data-target="#tab5" aria-expanded="false">История переноса</a>
</li>
</ul>
</div>
<div class="tab-content p-a m-b-md">
@@ -147,6 +150,15 @@
<hr>
</div>
</div>
<!--Перенос заказа-->
<div ng-if="actions.move_trigger == 1" class="tab-pane animated fadeIn text-muted" id="tab5" aria-expanded="false">
<div ng-repeat="moved_order in actions.moved_order_data">
<p class="m-b-0">Время переноса: <span class="m-b-0">{{ moved_order.time }}</span></p>
<p class="m-b-0">Пользователь: <span class="m-b-0">{{ moved_order.staff_name }}</span></p>
<p class="m-b-0">{{ moved_order.data }}</span></p>
<hr>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,125 @@
<div class="modal-dialog modal-lg" style="min-width: 390px; max-width: 1300px">
<div class="modal-content" id="reportMerged">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<button class="btn btn-icon white" ng-click="printElem('#reportMerged')">
<i class="fa fa-print"></i>
</button>
<h4 class="modal-title">{{globals.currentUser.organization.name}}</h4>
<h5 class="modal-title">Отчет по объединениям</h5>
<h5 class="modal-title">Смена №{{report_merge.shift_id}}</h5>
<span class="text-muted">{{start_date}} - {{end_date}}</span>
</div>
<div class="modal-body p-lg">
<div class="table-responsive" ng-if="report_merge.count > 0">
<div class="row" ng-repeat="report in report_merge" style="margin-left: 0px; margin-right: 0px;">
<hr/>
<div class="col-md-4">
<div class="box">
<div class="box-header">
<h2>Исходный заказ объединения #{{ report.start_order }}</h2>
<small>{{ report.start_order_place }}</small>
<small> - </small>
<small> - </small>
</div>
<div class="box-divider m-0"></div>
<table class="table table-striped b-t">
<thead>
<tr>
<th>#</th>
<th>Товар</th>
<th>Кол-во</th>
<th>Итог</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="item in report.merge_order_items.before.items">
<td>{{$index + 1}}</td>
<td>{{ item.name }}</td>
<td>{{ item.count.replace(",", ".") }}</td>
<td>{{ (parseFloat(item.sale_price.replace(",", "."))) * (parseFloat(item.count.replace(",", "."))) | curr }}</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="col-md-4">
<div class="box">
<div class="box-header">
<h2>Исходный заказ объединения #{{ report.end_order}}</h2>
<small>{{ report.end_order_place }}</small>
<small> - </small>
<small> - </small>
</div>
<table class="table table-striped b-t">
<thead>
<tr>
<th>#</th>
<th>Товар</th>
<th>Кол-во</th>
<th>Итог</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="item in report.items">
<td>{{$index + 1}}</td>
<td>{{ item.name }}</td>
<td>{{ item.count.replace(",", ".") }}</td>
<td>{{ (parseFloat(item.sale_price.replace(",", "."))) * (parseFloat(item.count.replace(",", "."))) | curr }}</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="col-md-4">
<div class="box">
<div class="box-header">
<h2>Конечный заказ объединения #{{ report.start_order }}</h2>
<small>{{ report.start_order_place }}</small>
<small>Время объединения: {{ report.time }}</small>
<small>Пользователь: {{ report.staff }}</small>
</div>
<table class="table">
<thead>
<tr>
<th>#</th>
<th>Товар</th>
<th>Кол-во</th>
<th>Итог</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="end_order_item in report.merge_order_items.after.items">
<td>{{ $index + 1 }}</td>
<td>{{ end_order_item.name }}</td>
<td>{{ end_order_item.count.replace(",", ".") }}</td>
<td>{{ (parseFloat(end_order_item.sale_price.replace(",", "."))) * (parseFloat(end_order_item.count.replace(",", "."))) | curr }}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<table class="table table-bordered">
<tbody>
<tr>
<td>
<strong>Итого</strong>
</td>
<td style="text-align: right">
<strong>{{ report_merge.count }}</strong> объединений
</td>
</tr>
</tbody>
</table>
</div>
<div ng-if="report_merge.count == 0">
<p>Объединения заказов отсутствуют</p>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,45 @@
<div class="modal-dialog modal-lg">
<div class="modal-content" id="reportMoved">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<button class="btn btn-icon white" ng-click="printElem('#reportMoved')">
<i class="fa fa-print"></i>
</button>
<h4 class="modal-title">{{globals.currentUser.organization.name}}</h4>
<h5 class="modal-title">Отчет по перемещениям</h5>
<span class="text-muted">{{start_date}} - {{end_date}}</span>
</div>
<div class="modal-body p-lg">
<div class="table-responsive" ng-if="report_move.count > 0">
<table class="table table-bordered" ng-repeat="report in report_move">
<tbody>
<td>
<p>Заказ #{{ report.order }} </p>
<p>{{report.move_from}} в {{report.move_from_time}} пользователем {{report.move_from_staff}}</p>
<p>{{report.move_to}} в {{report.move_to_time}} пользователем {{report.move_to_staff}}</p>
</td>
</tbody>
</table>
<hr/>
<table class="table table-bordered">
<tbody>
<tr>
<td>
<strong>Итого</strong>
</td>
<td style="text-align: right">
<strong>{{ report_move.count }}</strong> перемещений</td>
</tr>
</tbody>
</table>
</div>
<div ng-if="report_move.count == 0">
<p>Перемещенные заказы отсутствуют</p>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,124 @@
<div class="modal-dialog modal-lg" style="min-width: 390px; max-width: 1300px">
<div class="modal-content" id="reportSliced">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<button class="btn btn-icon white" ng-click="printElem('#reportSliced')">
<i class="fa fa-print"></i>
</button>
<h4 class="modal-title">{{globals.currentUser.organization.name}}</h4>
<h5 class="modal-title">Отчет по разбиениям</h5>
<h5 class="modal-title">Смена №{{report_slice.shift_id}}</h5>
<span class="text-muted">{{start_date}} - {{end_date}}</span>
</div>
<div class="modal-body p-lg">
<div class="table-responsive" ng-if="report_slice.count > 0">
<div class="row" ng-repeat="report in report_slice" style="margin-left: 0px; margin-right: 0px;">
<hr/>
<div class="col-md-4">
<div class="box">
<div class="box-header">
<h2>Исходный заказ разбиения #{{ report.from_order }}</h2>
<small>Время разбиения: {{ report.time }}</small>
<small>Пользователь: {{ report.staff }}</small>
<small>{{ report.from_place }}</small>
</div>
<div class="box-divider m-0"></div>
<table class="table">
<thead>
<tr>
<th>#</th>
<th>Товар</th>
<th>Кол-во</th>
<th>Итог</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="item in report.start_data.before.items">
<td>{{$index + 1}}</td>
<td>{{ item.name }}</td>
<td>{{ item.count.replace(",", ".") }}</td>
<td>{{ (parseFloat(item.sale_price.replace(",", "."))) * (parseFloat(item.count.replace(",", "."))) | curr }}</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="col-md-4">
<div class="box">
<div class="box-header">
<h2>Конечный заказ разбиения #{{ report.from_order }}</h2>
<small> - </small>
<small> - </small>
<small> {{ report.from_place }} </small>
</div>
<table class="table table-striped b-t">
<thead>
<tr>
<th>#</th>
<th>Товар</th>
<th>Кол-во</th>
<th>Итог</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="item in report.start_data.after.items">
<td>{{$index + 1}}</td>
<td>{{ item.name }}</td>
<td>{{ item.count.replace(",", ".") }}</td>
<td>{{ (parseFloat(item.sale_price.replace(",", "."))) * (parseFloat(item.count.replace(",", "."))) | curr }}</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="col-md-4">
<div class="box">
<div class="box-header">
<h2>Конечный заказ разбиения #{{ report.to_order }}</h2>
<small> - </small>
<small> - </small>
<small> {{ report.to_place }} </small>
</div>
<table class="table table-striped b-t">
<thead>
<tr>
<th>#</th>
<th>Товар</th>
<th>Кол-во</th>
<th>Итог</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="moved_item in report.moved_items.items">
<td>{{ $index + 1 }}</td>
<td>{{ moved_item.name }}</td>
<td>{{ moved_item.count.replace(",", ".") }}</td>
<td>{{ (parseFloat(moved_item.sale_price.replace(",", "."))) * (parseFloat(moved_item.count.replace(",", "."))) | curr }}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<table class="table table-bordered">
<tbody>
<tr>
<td>
<strong>Итого</strong>
</td>
<td style="text-align: right">
<strong>{{ report_slice.count }}</strong> разбиений
</td>
</tr>
</tbody>
</table>
</div>
<div ng-if="report_slice.count == 0">
<p>Разбиения заказов отсутствуют</p>
</div>
</div>
</div>
</div>

View File

@@ -28,8 +28,8 @@
<th>ID</th>
<th>Открыта</th>
<th>Закрыта</th>
<th>Выручка, BYN</th>
<th style="width: 80px">
<th>Итог</th>
<th>
<i class="material-icons">&#xE3E7;</i>
</th>
</tr>
@@ -47,7 +47,7 @@
</td>
<td>{{ shift.sum | curr}}</td>
<td>
<div class="dropdown inline" style="margin-top: -5px; position: absolute;">
<div class="dropdown inline" style="margin-top: -5px; position: relative;">
<button class="btn white dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" style="padding: 0.2rem 0.4rem">
<i class="material-icons">&#xE5D2;</i>
</button>
@@ -57,6 +57,10 @@
<a class="dropdown-item" ng-click="reportDelete(shift)">По удалениям</a>
<a class="dropdown-item" ng-click="reportStaff(shift)">По персоналу</a>
<a class="dropdown-item" ng-click="reportPay(shift)">По отделам</a>
<!-- <a class="dropdown-item" ng-click="reportOrders(shift)">По заказам</a> -->
<a class="dropdown-item" ng-click="reportMerged(shift)">По объединениям</a>
<a class="dropdown-item" ng-click="reportSliced(shift)">По разбиениям</a>
<a class="dropdown-item" ng-click="reportMoved(shift)">По переносам</a>
<a class="dropdown-item" ng-click="reportOut(shift)">По внешним заказам</a>
<a class="dropdown-item" ng-click="restoreShift(shift)">Восстановить смену</a>
<a class="dropdown-item" ng-if="delete_shift_value > 0" ng-click="deleteShift(shift)">Удалить смену</a>
@@ -119,6 +123,18 @@
<div ui-include="'../views/shifts/reimport.html'"></div>
</div>
<div class="modal fade" id="report-merge" data-backdrop="true">
<div ui-include="'../views/reports/items/merge.html'"></div>
</div>
<div class="modal fade" id="report-move" data-backdrop="true">
<div ui-include="'../views/reports/items/move.html'"></div>
</div>
<div class="modal fade" id="report-slice" data-backdrop="true">
<div ui-include="'../views/reports/items/slice.html'"></div>
</div>
<div class="modal fade" id="preload-modal" data-backdrop="true">
<div ui-include="'../views/shifts/preload.html'"></div>
</div>