v.2.24
1. POSTBonus in/out 2. POSTPresale in/out 3. Переработана форма гостя
This commit is contained in:
BIN
web/views/clients/images/client.png
Normal file
BIN
web/views/clients/images/client.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 146 KiB |
@@ -1,8 +1,10 @@
|
||||
<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')">
|
||||
<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')">
|
||||
<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>
|
||||
@@ -17,8 +19,9 @@
|
||||
<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' : ''">
|
||||
<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>
|
||||
@@ -29,8 +32,8 @@
|
||||
<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()">
|
||||
<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>
|
||||
@@ -44,8 +47,9 @@
|
||||
<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">
|
||||
<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>
|
||||
@@ -57,8 +61,8 @@
|
||||
<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' : ''">
|
||||
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>
|
||||
@@ -74,18 +78,20 @@
|
||||
</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="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>
|
||||
<p></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -93,203 +99,335 @@
|
||||
<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="item">
|
||||
<div class="p-a-md">
|
||||
<div class="row m-t">
|
||||
<div class="col-sm-12">
|
||||
<button type="submit" class="btn success p-x-md pull-right" ng-disabled="createGroupForm.$invalid">Создать</button>
|
||||
<a href="" class="pull-left m-r-md">
|
||||
<span class="avatar w-96">
|
||||
<img src="../views/clients/images/client.png">
|
||||
<i class="on b-white"></i>
|
||||
</span>
|
||||
</a>
|
||||
<div class="clear m-b">
|
||||
<h3 class="m-0 m-b-xs">{{currentClient.name}}</h3>
|
||||
<p class="text-muted">
|
||||
<span class="m-r">
|
||||
<i class="fa fa-phone m-r-sm text-muted"></i>{{currentClient.info.phone}}
|
||||
</span>
|
||||
<small>
|
||||
<i class="fa fa-map-marker m-r-xs"></i>{{currentClient.info.address}}
|
||||
</small>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="p-y text-center text-sm-center col-sm-12">
|
||||
<a href="" class="inline p-x text-center">
|
||||
<span class="h5 block m-0">{{currentClient.info.order_sum}} BYN</span>
|
||||
<small class="text-xs text-muted">Сумма заказов</small>
|
||||
</a>
|
||||
<a href="" class="inline p-x b-l text-center">
|
||||
<span class="h5 block m-0">{{currentClient.info.order_count}}</span>
|
||||
<small class="text-xs text-muted">Кол-во заказов</small>
|
||||
</a>
|
||||
<a href="" class="inline p-x b-l b-r text-center"
|
||||
ng-if="currentClient.info.presale > 0">
|
||||
<span class="h5 block m-0">{{currentClient.info.presale}} BYN</span>
|
||||
<small class="text-xs text-muted">Аванс</small>
|
||||
</a>
|
||||
<a href="" class="inline p-x text-center" ng-if="currentClient.info.bonus > 0">
|
||||
<span class="h5 block m-0">{{currentClient.info.bonus}}</span>
|
||||
<small class="text-xs text-muted">Бонусы</small>
|
||||
</a>
|
||||
</div>
|
||||
</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 class="dker p-x">
|
||||
<div class="row">
|
||||
<div class="col-lg-12 col-sm-9">
|
||||
<div class="p-y-md clearfix nav-active-primary">
|
||||
<ul class="nav nav-pills nav-sm">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" href="" data-toggle="tab" data-target="#tab_1"
|
||||
aria-expanded="true">Журнал действий</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="" data-toggle="tab" data-target="#tab_2"
|
||||
aria-expanded="false" ng-click="getOrders(currentClient.id)">Заказы</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="" data-toggle="tab" data-target="#tab_3"
|
||||
aria-expanded="false">Информация</a>
|
||||
</li>
|
||||
</ul>
|
||||
</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>
|
||||
<div class="padding">
|
||||
<div class="row">
|
||||
<div class="col-sm-8 col-lg-12">
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane p-v-sm active" id="tab_1" aria-expanded="true">
|
||||
<div class="streamline b-l m-b m-l"
|
||||
style="width:auto;max-height:350px;overflow-y: auto;" ng-if="clientLogs.length > 0">
|
||||
<div class="sl-item b-success" ng-repeat="clientLog in clientLogs">
|
||||
<div class="sl-content" ng-if="clientLog.type == 2">
|
||||
<div class="sl-date text-muted">{{clientLog.time}}</div>
|
||||
<p>{{clientLog.action}} на сумму {{clientLog.value | curr}} BYN
|
||||
пользователем {{clientLog.who}}</p>
|
||||
</div>
|
||||
<div class="sl-content" ng-if="clientLog.type == 1">
|
||||
<div class="sl-date text-muted">{{clientLog.time}}</div>
|
||||
<p>{{clientLog.action}} в количестве {{clientLog.value}} шт</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="streamline b-l m-b m-l"
|
||||
style="width:auto;overflow-y: auto;" ng-if="clientLogs.length == 0">
|
||||
<div class="sl-item">
|
||||
<div class="sl-content">
|
||||
<p>Действия отсутствуют</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane p-v-sm" id="tab_2" aria-expanded="true">
|
||||
<div class="streamline b-l m-b m-l"
|
||||
style="width:auto;max-height:350px;overflow-y: auto;" ng-if="orders.length > 0">
|
||||
<div class="sl-item b-success" ng-repeat="order in orders">
|
||||
<div class="row align-items-center" style="margin-right: 0px;">
|
||||
<div class="sl-content">
|
||||
<div class="col-lg-12 col-sm-6">
|
||||
<a ng-click="getItems(order.id, order.opened, order.closed)">
|
||||
<div class="sl-date text-muted">Заказ открыт:
|
||||
{{order.opened}}
|
||||
</div>
|
||||
<div class="sl-date text-muted">Заказ закрыт:
|
||||
{{order.closed}}
|
||||
</div>
|
||||
<p>Сумма заказа: {{order.sum | curr}} BYN <span ng-if="order.discount > 0">(Скидка: {{order.discount | curr}} BYN)</span></p>
|
||||
</a>
|
||||
</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>
|
||||
</div>
|
||||
<div class="streamline b-l m-b m-l"
|
||||
style="width:auto;overflow-y: auto;" ng-if="orders.length == 0">
|
||||
<div class="sl-item">
|
||||
<div class="sl-content">
|
||||
<p>Заказы отсутствуют</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane p-v-sm" id="tab_3">
|
||||
<div class="row m-b">
|
||||
<div class="col-xs-10">
|
||||
<small class="text-muted">Телефон:</small>
|
||||
<p>{{currentClient.info.phone}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row m-b">
|
||||
<div class="col-xs-10">
|
||||
<small class="text-muted">Адрес:</small>
|
||||
<p>{{currentClient.info.address}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row m-b">
|
||||
<div class="col-xs-10">
|
||||
<small class="text-muted">Email:</small>
|
||||
<p>{{currentClient.info.email}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</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>
|
||||
|
||||
@@ -2,33 +2,68 @@
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
<h5 class="modal-title">История заказа</h5>
|
||||
<span class="text-muted">{{order.opened}} - {{order.closed}}</span>
|
||||
<p>
|
||||
Номер заказа: <strong>#{{order.order_id}}</strong><br>
|
||||
Время закрытия: <strong>{{order.closed}}</strong><br>
|
||||
Персонал: <strong>{{order.who_close}}</strong><br>
|
||||
Статус заказа: <span class="label success">{{order.order_status}}</span><br>
|
||||
</p>
|
||||
</div>
|
||||
<div class="modal-body p-lg">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered">
|
||||
<table class="table table-striped white b-a">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Блюдо</th>
|
||||
<th>Количество</th>
|
||||
<th class="text-right">Сумма, BYN</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>Блюдо</th>
|
||||
<th style="width: 80px">Кол-во</th>
|
||||
<th style="width: 140px">Стоимость</th>
|
||||
<th style="width: 180px">Итог</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="item in order.items">
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.count}}</td>
|
||||
<td class="text-right">{{item.amount}}</td>
|
||||
</tr>
|
||||
<tr ng-repeat="item in order.items">
|
||||
<td>{{item.id}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.count * item.cof}}</td>
|
||||
<td>{{item.price | curr}} BYN</td>
|
||||
<td>{{item.amount | curr}} BYN <p ng-if="item.discount > 0">
|
||||
<span>(Скидка: {{item.discount}}%)</span></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" class="text-right"><strong>Итого</strong></td>
|
||||
<td>{{order.amount | curr}} BYN</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" class="text-right no-border" ng-if="order.full_price - order.amount > 0">
|
||||
<strong>Сумма скидки</strong></td>
|
||||
<td ng-if="order.full_price - order.amount > 0">{{order.full_price - order.amount | curr}} BYN
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" class="text-right no-border"><strong>Оплачено:</strong></td>
|
||||
</tr>
|
||||
<tr ng-if="order.cash > 0">
|
||||
<td colspan="5" class="text-right no-border">Наличные: <strong>{{order.cash
|
||||
| curr}} BYN</strong></td>
|
||||
</tr>
|
||||
<tr ng-if="order.credit > 0">
|
||||
<td colspan="5" class="text-right no-border">Кред. карта: <strong>{{order.credit | curr}}
|
||||
BYN</strong></td>
|
||||
</tr>
|
||||
<tr ng-if="order.clearing > 0">
|
||||
<td colspan="5" class="text-right no-border">Питание штата: <strong>{{order.clearing | curr}}
|
||||
BYN</strong>
|
||||
</tr>
|
||||
<tr ng-if="order.presale > 0">
|
||||
<td colspan="5" class="text-right no-border">Зачтен аванс: <strong>{{order.presale | curr}}
|
||||
BYN</strong></td>
|
||||
</tr>
|
||||
<tr ng-if="order.self > 0">
|
||||
<td colspan="5" class="text-right no-border">Безнал: <strong>{{order.self | curr}} BYN</strong>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="2"></th>
|
||||
<th class="text-right">Итого: {{ order.amount | curr }} BYN</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
<div class="col-sm-6 col-md-4 one-height">
|
||||
<div class="box">
|
||||
<div class="box-header danger">
|
||||
<h3>Удаления</h3>
|
||||
<h3>Удаления: {{deleted}}</h3>
|
||||
</div>
|
||||
|
||||
<div class="box-tool box-tool-white">
|
||||
@@ -123,11 +123,10 @@
|
||||
<div class="box-body b-t">
|
||||
<h4 class="m-a-0 text-md" ng-if="deleted > 0">
|
||||
<a>
|
||||
{{deleted}}
|
||||
<span class="text-sm">на сумму</span> {{deleted_sum | curr}}
|
||||
<span class="text-sm lead"><strong>Сумма: {{deleted_sum | curr}} BYN</strong></span>
|
||||
</a>
|
||||
</h4>
|
||||
<span class="text-muted" ng-if="deleted == 0">Удаленных позиций нет</h4>
|
||||
<span class="text-muted" ng-if="deleted == 0">Удаленных позиций нет</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -136,7 +135,7 @@
|
||||
<div class="box">
|
||||
<div class="box-header primary">
|
||||
<h3>
|
||||
Заказы со скидками
|
||||
Заказы со скидками: {{discounts}}
|
||||
</h3>
|
||||
</div>
|
||||
|
||||
@@ -153,11 +152,10 @@
|
||||
<div class="box-body b-t">
|
||||
<h4 class="m-a-0 text-md" ng-if="discounts > 0">
|
||||
<a>
|
||||
{{discounts}}
|
||||
<span class="text-sm">на сумму </span> {{tot_disc_sum | curr}}
|
||||
<span class="text-sm lead"><strong>Сумма: {{tot_disc_sum | curr}} BYN</strong></span>
|
||||
</a>
|
||||
</h4>
|
||||
<span class="text-muted" ng-if="discounts == 0">Заказов со скидками нет</h4>
|
||||
<span class="text-muted" ng-if="discounts == 0">Заказов со скидками нет</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -185,10 +183,9 @@
|
||||
<h4 class="m-a-0 text-md" ng-if="namedGuests > 0">
|
||||
<a>
|
||||
<span class="text-sm lead"><strong>Сумма заказов: {{sumNamedGuests | curr}} BYN</strong></span>
|
||||
|
||||
</a>
|
||||
</h4>
|
||||
<span class="text-muted" ng-if="namedGuests == 0">Именованных гостей нет</h4>
|
||||
<span class="text-muted" ng-if="namedGuests == 0">Именованных гостей нет</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
32
web/views/loyalty/create.html
Normal file
32
web/views/loyalty/create.html
Normal file
@@ -0,0 +1,32 @@
|
||||
<div class="modal-dialog modal-lg">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Создание скидки</h5>
|
||||
</div>
|
||||
<div class="modal-body text-center p-lg">
|
||||
<form role="form" class="ng-pristine ng-valid container">
|
||||
<div class="form-group row">
|
||||
<div class="col-sm-12"><input class="form-control" placeholder="Название" type="text" ng-model="currentDiscount.name"></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<div class="col-sm-6">
|
||||
<select class="form-control" ng-model="currentDiscount.value_type">
|
||||
<option value="0">Процент</option>
|
||||
<option value="1">Сумма</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" placeholder="Значение" type="text" ng-model="currentDiscount.value">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn dark-white p-x-md" data-dismiss="modal">Отмена</button>
|
||||
<button type="button" class="btn success p-x-md" ng-click="create()">Создать</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
234
web/views/loyalty/edit.html
Normal file
234
web/views/loyalty/edit.html
Normal file
@@ -0,0 +1,234 @@
|
||||
<div class="modal-dialog modal-lg">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Редактирование скидки</h5>
|
||||
</div>
|
||||
<div class="modal-body text-center p-lg">
|
||||
<form role="form" class="ng-pristine ng-valid container">
|
||||
<div class="form-group row">
|
||||
<div class="col-sm-12">
|
||||
<input class="form-control" placeholder="Название" type="text" ng-model="currentDiscount.name">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<div class="col-sm-6">
|
||||
<select class="form-control" ng-model="currentDiscount.value_type">
|
||||
<option value="0">Процент</option>
|
||||
<option value="1">Сумма</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-6">
|
||||
<input class="form-control" placeholder="Значение" type="text" ng-model="currentDiscount.value">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row" style="text-align: left">
|
||||
<div class="col-sm-12">
|
||||
<div class="checkbox-group" style="display: inline-block; width: auto; margin-right: 50px">
|
||||
<label class="ui-switch ui-switch-md m-t-xs">
|
||||
<input type="checkbox" ng-model="currentDiscount.is_enable">
|
||||
<i></i>
|
||||
</label>
|
||||
|
||||
<label class="ui-switch-info">Активна</label>
|
||||
</div>
|
||||
|
||||
<div class="checkbox-group" style="display: inline-block; width: auto">
|
||||
<label class="ui-switch ui-switch-md m-t-xs">
|
||||
<input type="checkbox" ng-model="currentDiscount.is_check_all">
|
||||
<i></i>
|
||||
</label>
|
||||
|
||||
<label class="ui-switch-info">Проверять все условия</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div class="form-group row">
|
||||
<div class="col-sm-12">
|
||||
<label>Время действия скидки</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<div class="col-sm-6">
|
||||
<div class='input-group date' ui-jp="datetimepicker" ui-options="{
|
||||
format: 'DD.MM.YYYY',
|
||||
icons: {
|
||||
time: 'fa fa-clock-o',
|
||||
date: 'fa fa-calendar',
|
||||
up: 'fa fa-chevron-up',
|
||||
down: 'fa fa-chevron-down',
|
||||
previous: 'fa fa-chevron-left',
|
||||
next: 'fa fa-chevron-right',
|
||||
today: 'fa fa-screenshot',
|
||||
clear: 'fa fa-trash',
|
||||
close: 'fa fa-remove'
|
||||
}
|
||||
}">
|
||||
<input type='text' class="form-control" placeholder="С" ng-model="currentDiscount.start_date" />
|
||||
<span class="input-group-addon">
|
||||
<i class="material-icons"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-6">
|
||||
<div class='input-group date' ui-jp="datetimepicker" ui-options="{
|
||||
format: 'DD.MM.YYYY',
|
||||
icons: {
|
||||
time: 'fa fa-clock-o',
|
||||
date: 'fa fa-calendar',
|
||||
up: 'fa fa-chevron-up',
|
||||
down: 'fa fa-chevron-down',
|
||||
previous: 'fa fa-chevron-left',
|
||||
next: 'fa fa-chevron-right',
|
||||
today: 'fa fa-screenshot',
|
||||
clear: 'fa fa-trash',
|
||||
close: 'fa fa-remove'
|
||||
}
|
||||
}">
|
||||
<input type='text' class="form-control" placeholder="По" ng-model="currentDiscount.end_date" />
|
||||
<span class="input-group-addon">
|
||||
<i class="material-icons"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div class="form-group row">
|
||||
<label>Условия</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<div class="col-sm-9">
|
||||
<select ng-model="currentDiscount.new_term_type" class="form-control">
|
||||
<option ng-repeat="term in terms" value="{{ term.code }}">{{ term.name }}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<button class="btn" style="width: 100%" ng-click="addTerm()">Добавить</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row" ng-repeat="term in currentTerms">
|
||||
<div class="col-sm-12">
|
||||
<div class="term-item">
|
||||
<div style="height: 30px" class="term-header" onclick="toggleTerm(this)">
|
||||
<strong>
|
||||
<i class="material-icons term-icon"></i> {{ term.discount_type_name }}</strong>
|
||||
<button class="btn btn-xs btn-danger pull-right" ng-click="askDeleteTerm(term)" onclick="event.stopPropagation()">
|
||||
<i class="material-icons"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="term-content">
|
||||
<div class="form-group row">
|
||||
<div class="col-sm-{{ 12 / term.params.length }}" ng-repeat="param in term.params">
|
||||
<label>{{ param.name }}</label>
|
||||
|
||||
<input type="text" class="form-control" ng-model="param.value" ng-if="param.type == 'Integer'" />
|
||||
|
||||
<select class="form-control" ng-model="param.value" ng-if="param.type == 'Select'">
|
||||
<option value="">Выбрать</option>
|
||||
<option ng-repeat="option in param.options" value="{{ option.code }}">{{ option.name }}
|
||||
</option>
|
||||
</select>
|
||||
|
||||
<div ng-if="param.type == 'Time'" class='input-group date' ui-jp="datetimepicker" style="border-right: 1px solid rgba(120, 130, 140, 0.2)"
|
||||
ui-options="{
|
||||
format: 'LT',
|
||||
icons: {
|
||||
time: 'fa fa-clock-o',
|
||||
date: 'fa fa-calendar',
|
||||
up: 'fa fa-chevron-up',
|
||||
down: 'fa fa-chevron-down',
|
||||
previous: 'fa fa-chevron-left',
|
||||
next: 'fa fa-chevron-right',
|
||||
today: 'fa fa-screenshot',
|
||||
clear: 'fa fa-trash',
|
||||
close: 'fa fa-remove'
|
||||
}
|
||||
}">
|
||||
<input type='text' class="form-control" ng-model="param.value" />
|
||||
|
||||
<span class="input-group-addon">
|
||||
<i class="material-icons"></i>
|
||||
</span>
|
||||
|
||||
<script type="text/javascript">
|
||||
$('.date').on('dp.change', function () {
|
||||
$(this).find('input').trigger('change');
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<div ng-if="param.type == 'SelectMenuItem' || param.type == 'SelectClientItem'">
|
||||
<div class="row">
|
||||
<div class="col-sm-9" style="padding-right: 0">
|
||||
<div style="border: 1px solid #efefef; min-height: 38px" class="form-control">
|
||||
{{ param.info }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3" style="padding-left: 0">
|
||||
<button class="btn" style="width: 100%" ng-click="editTermParam(param)">
|
||||
<i class="material-icons"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div class="form-group" style="text-align: left">
|
||||
<div class="checkbox-group">
|
||||
<label class="ui-switch danger ui-switch-md m-t-xs">
|
||||
<input type="checkbox" ng-model="term.is_term">
|
||||
<i></i>
|
||||
</label>
|
||||
|
||||
<label class="ui-switch-info">Исключающее условие</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn danger p-x-md pull-left" data-toggle="modal" data-target="#edit-discount-confirm-delete">
|
||||
<i class="material-icons"></i>
|
||||
</button>
|
||||
|
||||
<button type="button" class="btn dark-white p-x-md" data-dismiss="modal">Отмена</button>
|
||||
<button type="button" class="btn success p-x-md" ng-click="save()">Сохранить</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="/libs/js/moment/locale/ru.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
function toggleTerm(el) {
|
||||
var content = $(el).parent().find('.term-content');
|
||||
|
||||
if (content.css('display') !== 'block') {
|
||||
content.slideDown('normal');
|
||||
}
|
||||
else {
|
||||
content.slideUp('fast');
|
||||
}
|
||||
}
|
||||
</script>
|
||||
79
web/views/loyalty/index.html
Normal file
79
web/views/loyalty/index.html
Normal file
@@ -0,0 +1,79 @@
|
||||
<div id="container-floating">
|
||||
<div class="nd3 nds" data-toggle="tooltip" data-placement="left" title="Добавить" ng-click="add()" ng-if="!readonlyMode" style="background-color: #3c80f6" onmouseenter="$(this).tooltip('show')">
|
||||
<i class="material-icons"></i>
|
||||
</div>
|
||||
|
||||
<div class="nd1 nds" data-toggle="tooltip" data-placement="left" title="Обновить" ng-click="update()" style="background-color: #d3a411" onmouseenter="$(this).tooltip('show')">
|
||||
<i class="material-icons"></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="padding">
|
||||
<div class="box">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered m-a-0 table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Название</th>
|
||||
<th style="width: 120px; text-align: center">Значение</th>
|
||||
<th style="width: 80px; text-align: center">Условия</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="discount in discounts" ng-click="edit(discount)">
|
||||
<td>{{ discount.name }}</td>
|
||||
<td style="text-align: center">{{ discount.value_type == 0 ? discount.value + '%' : discount.value + ' BYN' }}</td>
|
||||
<td style="text-align: center">{{ discount.terms_count }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="new-discount" data-backdrop="true" ng-if="!readonlyMode">
|
||||
<div ui-include="'../views/discounts/create.html'"></div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="edit-discount" data-backdrop="true" ng-if="!readonlyMode">
|
||||
<div ui-include="'../views/discounts/edit.html'"></div>
|
||||
</div>
|
||||
|
||||
<div id="edit-discount-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="delete()">Да</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="edit-term-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="deleteTerm()">Да</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="edit-selectmenuitem" data-backdrop="true" style="z-index: 1052">
|
||||
<div ui-include="'../views/discounts/terms/selectmenuitem.html'"></div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="edit-selectclientitem" data-backdrop="true" style="z-index: 1052">
|
||||
<div ui-include="'../views/discounts/terms/selectclientitem.html'"></div>
|
||||
</div>
|
||||
65
web/views/loyalty/terms/selectclientitem.html
Normal file
65
web/views/loyalty/terms/selectclientitem.html
Normal file
@@ -0,0 +1,65 @@
|
||||
<div class="modal-dialog modal-list">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Выбор клиента</h5>
|
||||
</div>
|
||||
|
||||
<div class="modal-body p-lg">
|
||||
<div ng-if="selectClientItemParams.isParent == false">
|
||||
<div class="list-item pointer no_selection" ios-dblclick="upGroup()">
|
||||
<div class="list-left">
|
||||
<span class="w-30">
|
||||
<i class="material-icons" style="font-size: 30px;"></i>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="list-body" style="line-height: 30px">...</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="list inset" ng-repeat="group in selectClientItemParams.groups">
|
||||
<div class="list-item pointer no_selection" sglclick="selectItem(group.id, 'client_group', group.name)"
|
||||
ios-dblclick="openGroup(group)"
|
||||
ng-class="group.id == selectedElement.value && selectedElement.type == 'client_group' ? 'active' : ''">
|
||||
<div class="list-left">
|
||||
<span class="w-30">
|
||||
<i class="material-icons" style="font-size: 30px;"></i>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="list-body" style="line-height: 30px">
|
||||
{{ group.name }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="list inset" ng-repeat="client in selectClientItemParams.clients">
|
||||
<div class="list-item pointer no_selection" ng-click="selectItem(client.id, 'client', client.name)"
|
||||
ng-class="client.id == selectedElement.value && selectedElement.type == 'client' ? 'active' : ''">
|
||||
<div class="list-left">
|
||||
<span class="w-30">
|
||||
<i class="material-icons" style="font-size: 30px;"></i>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="list-body" style="line-height: 30px">
|
||||
{{ client.name }}
|
||||
</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="modal-footer">
|
||||
<button type="button" class="btn dark-white p-x-md" data-dismiss="modal">Отмена</button>
|
||||
<button type="button" class="btn success p-x-md" ng-disabled="selectedElement.value == 0"
|
||||
ng-click="confirmSelect()">Выбрать
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
82
web/views/loyalty/terms/selectmenuitem.html
Normal file
82
web/views/loyalty/terms/selectmenuitem.html
Normal file
@@ -0,0 +1,82 @@
|
||||
<div class="modal-dialog modal-list">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Выбор элемента меню</h5>
|
||||
</div>
|
||||
|
||||
<div class="modal-body p-lg">
|
||||
<div ng-if="selectMenuItemParams.currentMenu > 0">
|
||||
<div class="list-item pointer no_selection" ios-dblclick="upMenuItem()">
|
||||
<div class="list-left">
|
||||
<span class="w-30">
|
||||
<i class="material-icons" style="font-size: 30px;"></i>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="list-body" style="line-height: 30px">...</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-if="selectMenuItemParams.currentMenu == 0">
|
||||
<div class="list inset" ng-repeat="menu in selectMenuItemParams.menus">
|
||||
<div class="list-item pointer no_selection" ios-dblclick="openMenuItem(menu)"
|
||||
sglclick="selectItem(menu.id, 'menu', menu.name)"
|
||||
ng-class="menu.id == selectedElement.value && selectedElement.type == 'menu' ? 'active' : ''">
|
||||
<div class="list-left">
|
||||
<span class="w-30">
|
||||
<i class="material-icons" style="font-size: 30px;"></i>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="list-body" style="line-height: 30px">
|
||||
{{ menu.name }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-if="selectMenuItemParams.currentMenu > 0">
|
||||
<div class="list inset" ng-repeat="folder in selectMenuItemParams.folders">
|
||||
<div class="list-item pointer no_selection" ios-dblclick="openFolderItem(folder)"
|
||||
sglclick="selectItem(folder.id, 'folder', folder.name)"
|
||||
ng-class="folder.id == selectedElement.value && selectedElement.type == 'folder' ? 'active' : ''">
|
||||
<div class="list-left">
|
||||
<span class="w-30">
|
||||
<i class="material-icons" style="font-size: 30px;"></i>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="list-body" style="line-height: 30px">
|
||||
{{ folder.name }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-if="selectMenuItemParams.currentMenu > 0">
|
||||
<div class="list inset" ng-repeat="item in selectMenuItemParams.items">
|
||||
<li class="list-item pointer no_selection" ng-click="selectItem(item.id, 'item', item.name)"
|
||||
ng-class="item.id == selectedElement.value && selectedElement.type == 'item' ? 'active' : ''">
|
||||
<div class="list-left">
|
||||
<span class="w-30">
|
||||
<i class="material-icons" style="font-size: 30px;"></i>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="list-body">
|
||||
{{ item.name }} <span class="text-muted">#{{ item.code }}</span>
|
||||
<small class="block text-muted">{{ item.cosht | curr }} BYN</small>
|
||||
</div>
|
||||
</li>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn dark-white p-x-md" data-dismiss="modal">Отмена</button>
|
||||
<button type="button" class="btn success p-x-md" ng-disabled="selectedElement.value == 0"
|
||||
ng-click="confirmSelect()">Выбрать
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user