v.2.15
Добавлен журнал заказов Добавлены отчеты: по переносам, по объединениям, по разбиениям
This commit is contained in:
@@ -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>
|
||||
|
||||
|
||||
125
web/views/reports/items/merge.html
Normal file
125
web/views/reports/items/merge.html
Normal 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">×</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>
|
||||
45
web/views/reports/items/move.html
Normal file
45
web/views/reports/items/move.html
Normal 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">×</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>
|
||||
124
web/views/reports/items/slice.html
Normal file
124
web/views/reports/items/slice.html
Normal 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">×</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>
|
||||
@@ -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"></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"></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>
|
||||
Reference in New Issue
Block a user