330 lines
16 KiB
HTML
330 lines
16 KiB
HTML
<div id="container-floating">
|
|
<div class="nd1 nds" data-toggle="tooltip" data-placement="left" title="Сформировать файл" ng-click="createClientFile()" style="background-color: #3c80f6" onmouseenter="$(this).tooltip('show')">
|
|
<i class="material-icons">cloud_download</i>
|
|
</div>
|
|
<div id="floating-button" data-toggle="tooltip" data-placement="left" title="Действия" onmouseenter="$(this).tooltip('show')">
|
|
<p class="plus"><i class="material-icons"></i></p>
|
|
<p class="edit"><i class="material-icons"></i></p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="app-body-inner">
|
|
<div class="row-col row-col-xs b-b">
|
|
|
|
<div class="col-sm-3 b-r">
|
|
<div class="row-col">
|
|
<div class="row-row">
|
|
<div class="row-body scrollable hover">
|
|
<div class="row-inner">
|
|
<div class="nav nav-pills nav-stacked m-t-sm menus">
|
|
<a class="nav-link no_selection" ng-repeat="group in groups" sglclick="openGroup(group)" ios-dblclick="editGroup(group)"
|
|
ng-class="group.id == currentGroup ? 'bold-line' : ''">
|
|
<span ng-class="group.id == currentGroup ? 'bold' : ''">{{ group.name }}</span>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="p-a text-center">
|
|
<a class="btn btn-md btn-outline rounded b-info text-info" ng-click="openFormCreateGroup()">
|
|
<i class="fa fa-plus fa-fw m-r-xs"></i>Группа
|
|
</a>
|
|
<p></p>
|
|
<a class="btn btn-md btn-outline rounded b-info text-info" ng-click="openFormCreateBarcode()">
|
|
<i class="fa fa-plus fa-fw m-r-xs"></i>Дисконтные карты
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-sm-3 light bg b-r">
|
|
<div class="row-col">
|
|
<div class="p-a-xs b-b">
|
|
<div class="input-group">
|
|
<span class="input-group-addon no-border no-bg">
|
|
<i class="fa fa-search"></i>
|
|
</span>
|
|
<input type="text" class="form-control no-border no-bg" placeholder="Поиск гостей..." ng-keyup="clientsSearch()"
|
|
ng-model="search.query">
|
|
<span class="input-group-addon no-border no-bg search-clear" ng-click="clearSearchInput()">
|
|
<i class="fa fa-times"></i>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row-row">
|
|
<div class="row-body scrollable hover">
|
|
<div class="row-inner">
|
|
<div class="list">
|
|
<div class="list-item pointer no_selection" ng-repeat="client in clients"
|
|
sglclick="openClientInfo(client)" ios-dblclick="editClient(client, currentGroup)"
|
|
ng-class="client.id == currentClientId ? 'active' : ''">
|
|
<div class="list-left">
|
|
<span class="w-30">
|
|
<i class="material-icons" style="font-size: 30px;">person</i>
|
|
</span>
|
|
</div>
|
|
<div class="list-body">
|
|
{{client.name}}
|
|
<small class="block text-muted">{{ client.phone }}</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="p-a text-center">
|
|
<div class="btn-group" role="group">
|
|
<a class="btn btn-md btn-outline rounded b-info text-info" ng-class="{disabled:currentPage === 1}" ng-click="pager(currentPage=currentPage-1)"><</a>
|
|
<a class="btn btn-md btn-outline rounded b-info text-info" ng-class="{disabled:currentPage}">{{currentPage}}/{{pages}}</a>
|
|
<a class="btn btn-md btn-outline rounded b-info text-info" ng-class="{disabled:currentPage === pages}" ng-click="pager(currentPage=currentPage+1)">></a>
|
|
</div>
|
|
</div>
|
|
<div class="text-center">
|
|
<a class="btn btn-md btn-outline rounded b-info text-info" ng-click="openFormCreateClient()">
|
|
<i class="fa fa-plus fa-fw m-r-xs"></i>Гость
|
|
</a>
|
|
<p></p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-sm-7">
|
|
<div class="padding" ng-if="currentClientId > 0">
|
|
<div class="box">
|
|
<div class="box-header">
|
|
<h2 class="text-center">{{currentClient.name}}</h2>
|
|
<h3 class="text-muted m-t">
|
|
<div class="col-sm-4 text-center">{{currentClient.info.address}}</div>
|
|
<div class="col-sm-4 text-center">{{currentClient.info.phone}}</div>
|
|
<div class="col-sm-4 text-center">{{currentClient.info.email}}</div>
|
|
</h3>
|
|
</div>
|
|
<div class="box-body b-t m-t">
|
|
{{currentClient.info.order_count}} заказов на сумму {{currentClient.info.order_sum}}
|
|
<hr>
|
|
<div class="table-responsive" ng-if="orders.length > 0">
|
|
<table class="table table-bordered table-hover">
|
|
<thead>
|
|
<tr>
|
|
<th>Открыт</th>
|
|
<th>Закрыт</th>
|
|
<th class="text-right">Сумма заказа</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr ng-repeat="order in orders" ng-click="getItems(order)">
|
|
<td>{{ order.opened }}</td>
|
|
<td>{{ order.closed }}</td>
|
|
<td class="text-right">{{ order.sum }} BYN</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="padding" ng-if="isCreateNewGroup">
|
|
<div class="box">
|
|
<div class="box-header">
|
|
<h3>Создание новой группы</h3>
|
|
</div>
|
|
|
|
<div class="box-tool">
|
|
<div class="pull-right">
|
|
<a class="btn btn-sm white" ng-click="closeCard()">
|
|
<i class="material-icons">clear</i>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
<form name="createGroupForm" ng-submit="createGroup()">
|
|
<div class="box-body">
|
|
<div class="form-group row">
|
|
<label class="col-sm-3 form-control-label">Название</label>
|
|
<div class="col-sm-9">
|
|
<input type="text" class="form-control" ng-model="newGroup.name" required>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="dker p-a">
|
|
<div class="row">
|
|
<div class="col-sm-12">
|
|
<button type="submit" class="btn success p-x-md pull-right" ng-disabled="createGroupForm.$invalid">Создать</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="padding" ng-if="isCreateNewBarcode">
|
|
<div class="box">
|
|
<div class="box-header">
|
|
<h3>Создание дисконтных карт</h3>
|
|
</div>
|
|
|
|
<div class="box-tool">
|
|
<div class="pull-right">
|
|
<a class="btn btn-sm white" ng-click="closeCard()">
|
|
<i class="material-icons">clear</i>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
<form name="createBarcodeForm" ng-submit="createBarcode()">
|
|
<div class="box-body">
|
|
<div class="form-group row">
|
|
<label class="col-sm-3 form-control-label">Выберите группу</label>
|
|
<div class="col-sm-9">
|
|
<select ng-model="newBarcode.group_id" class="form-control" ng-required="true">
|
|
<option ng-repeat="group in groups" value="{{ group.id }}">{{group.name}}</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="box-body">
|
|
<div class="form-group row">
|
|
<label class="col-sm-3 form-control-label">Первый штрих код</label>
|
|
<div class="col-sm-9">
|
|
<input type="text" class="form-control" ng-model="newBarcode.start" placeholder="200000000001" required>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="box-body">
|
|
<div class="form-group row">
|
|
<label class="col-sm-3 form-control-label">Последний штрих код</label>
|
|
<div class="col-sm-9">
|
|
<input type="text" class="form-control" ng-model="newBarcode.end" placeholder="200000000999" required>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="dker p-a">
|
|
<div class="row">
|
|
<div class="col-sm-12">
|
|
<button type="submit" class="btn success p-x-md pull-right" ng-disabled="createBarcodeForm.$invalid">Создать</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="padding" ng-if="isCreateNewClient">
|
|
<div class="box">
|
|
<div class="box-header">
|
|
<h3>Создание нового гостя</h3>
|
|
</div>
|
|
|
|
<div class="box-tool">
|
|
<div class="pull-right">
|
|
<a class="btn btn-sm white" ng-click="">
|
|
<i class="material-icons">clear</i>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
<form name="createClientForm" ng-submit="createClient()">
|
|
<div class="box-body">
|
|
<div class="form-group row">
|
|
<label class="col-sm-3 form-control-label">Имя</label>
|
|
<div class="col-sm-9">
|
|
<input type="text" class="form-control" ng-model="newClient.name" required>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group row">
|
|
<label class="col-sm-3 form-control-label">Телефон</label>
|
|
<div class="col-sm-9">
|
|
<input type="text" class="form-control" ng-model="newClient.phone" ui-mask="+375 (99) 999-99-99">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group row">
|
|
<label class="col-sm-3 form-control-label">Адрес</label>
|
|
<div class="col-sm-9">
|
|
<input type="text" class="form-control" ng-model="newClient.address">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group row">
|
|
<label class="col-sm-3 form-control-label">Email</label>
|
|
<div class="col-sm-9">
|
|
<input type="text" class="form-control" ng-model="newClient.email">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group row">
|
|
<label class="col-sm-3 form-control-label">Штрих код</label>
|
|
<div class="col-sm-9">
|
|
<input type="text" class="form-control" ng-model="newClient.barcode">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group form-group-inline row">
|
|
<label class="col-sm-3 form-group-label" for="specialPriceCheck">Скидка по себестоимости </label>
|
|
<div class="col-sm-9">
|
|
<input class="form-group-input" type="checkbox" value="" id="specialPriceCheck" ng-model="newClient.special_price">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="dker p-a">
|
|
<div class="row">
|
|
<div class="col-sm-12">
|
|
<button type="submit" class="btn success p-x-md pull-right" ng-disabled="createClientForm.$invalid">Создать</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal fade" id="edit-client" data-backdrop="true" ng-if="!readonlyMode">
|
|
<div ui-include="'../views/clients/edit_client.html'"></div>
|
|
</div>
|
|
|
|
<div class="modal fade" id="edit-group" data-backdrop="true" ng-if="!readonlyMode">
|
|
<div ui-include="'../views/clients/edit_group.html'"></div>
|
|
</div>
|
|
|
|
<div id="group-confirm-delete" class="modal confirm-box" data-backdrop="true" style="z-index: 1052">
|
|
<div class="bottom white b-b" style="height: 90px">
|
|
<div class="confirm-box-body p-lg">
|
|
<p>Вы действительно хотите удалить группу?</p>
|
|
</div>
|
|
|
|
<div class="confirm-box-footer">
|
|
<button type="button" class="btn dark-white p-x-md" data-dismiss="modal">Нет</button>
|
|
<button type="button" class="btn danger p-x-md" ng-click="removeGroup()">Да</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="client-confirm-delete" class="modal confirm-box" data-backdrop="true" style="z-index: 1052">
|
|
<div class="bottom white b-b" style="height: 90px">
|
|
<div class="confirm-box-body p-lg">
|
|
<p>Вы действительно хотите удалить клиента?</p>
|
|
</div>
|
|
|
|
<div class="confirm-box-footer">
|
|
<button type="button" class="btn dark-white p-x-md" data-dismiss="modal">Нет</button>
|
|
<button type="button" class="btn danger p-x-md" ng-click="removeClient()">Да</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal fade" id="order" data-backdrop="true">
|
|
<div ui-include="'../views/clients/order.html'"></div>
|
|
</div> |