237 lines
13 KiB
HTML
237 lines
13 KiB
HTML
<div class="app-body-inner">
|
|
<div class="row-col row-col-xs b-b">
|
|
<div class="col-sm-3 col-md-2 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="personalSearch()" ng-model="search.query">
|
|
<span class="input-group-addon no-border no-bg search-clear" ng-click="search.query = ''">
|
|
<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 inset">
|
|
<div class="list-item pointer no_selection" ng-if="parentGroup > 0 && search.query.length === 0" ios-dblclick="upFolder()">
|
|
<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 class="list-item pointer no_selection" ng-repeat="group in groups" sglclick="showGroup(group)" ng-class="group.id == currentGroupObject.id ? 'active' : ''"
|
|
ios-dblclick="openGroup(group)" ng-if="parentGroup == 0 && search.query.length === 0">
|
|
<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 class="list-item pointer no_selection" ng-repeat="personal in personals" ng-click="showPersonal(personal)" ng-class="personal.id == currentPersonalObject.id ? 'active' : ''"
|
|
ng-if="parentGroup > 0 || search.query.length > 0">
|
|
<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">
|
|
{{ personal.name }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="p-a b-t text-center">
|
|
<a class="btn btn-md btn-outline rounded b-info text-info" ng-click="addGroup()" ng-if="parentGroup == 0 && search.query.length === 0">
|
|
<i class="fa fa-plus fa-fw m-r-xs"></i>Группа
|
|
</a>
|
|
<a class="btn btn-md btn-outline rounded b-info text-info" ng-click="addPersonal()" ng-if="parentGroup > 0 && search.query.length === 0">
|
|
<i class="fa fa-plus fa-fw m-r-xs"></i>Персонал
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-sm-8 col-md-5">
|
|
<div class="row-col" ng-class="(currentGroupObject.id == 0)?'hide-object':''">
|
|
<div class="p-a-sm">
|
|
<div>
|
|
<a class="btn btn-sm white pull-right" ng-click="closeCard()">
|
|
<i class="fa fa-times"></i>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row-row">
|
|
<div class="row-body">
|
|
<div class="row-inner">
|
|
<div class="padding">
|
|
<div class="form-horizontal">
|
|
<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="currentGroupObject.name">
|
|
</div>
|
|
</div>
|
|
|
|
<hr/>
|
|
|
|
<div class="form-group row">
|
|
<label class="col-sm-3 form-control-label">Режим работы</label>
|
|
<div class="col-sm-9">
|
|
<select class="form-control" ng-model="currentGroupObject.interface_code" ng-change="setRights()">
|
|
<option ng-repeat="interface in interfaces" value="{{ interface.code }}">{{ interface.name }}</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-sm-3">
|
|
<label class="form-control-label">Шаблоны прав</label>
|
|
</div>
|
|
<div class="col-sm-9">
|
|
<label class="radio-inline ui-check ui-check-md">
|
|
<input type="radio" name="sub-interface" ng-change="setRights()" ng-model="currentGroupObject.sub_interface_code" value="1" class="has-value">
|
|
<i class="dark-white"></i>Администратор
|
|
</label>
|
|
<label class="radio-inline ui-check ui-check-md">
|
|
<input type="radio" name="sub-interface" ng-change="setRights()" ng-model="currentGroupObject.sub_interface_code" value="2" class="has-value">
|
|
<i class="dark-white"></i>Официант
|
|
</label>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="table-responsive" style="background-color: #fff">
|
|
<table class="table table-bordered table-hover">
|
|
<thead>
|
|
<th>Право</th>
|
|
<th>Статус</th>
|
|
</thead>
|
|
<tbody>
|
|
<tr ng-repeat="right in rights">
|
|
<td>{{ right.name }}</td>
|
|
<td style="width: 90px">
|
|
<label class="ui-switch ui-switch-md m-t-xs">
|
|
<input type="checkbox" ng-model="right.is_active">
|
|
<i></i>
|
|
</label>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="footer-form">
|
|
<div class="padding" style="float: right; width: 100%; padding: 0.5rem 1.5rem">
|
|
<button class="btn danger p-x-md pull-left" data-toggle="modal" data-target="#group-confirm-delete">
|
|
<i class="fa fa-trash"></i>
|
|
</button>
|
|
<button class="btn success p-x-md pull-right" ng-click="saveGroup()" style="margin-right: 15px">Сохранить</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row-col" ng-class="(currentPersonalObject.id == 0)?'hide-object':''">
|
|
<div class="p-a-sm">
|
|
<div>
|
|
<a class="btn btn-sm white pull-right" ng-click="closeCard()">
|
|
<i class="fa fa-times"></i>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row-row">
|
|
<div class="row-body">
|
|
<div class="row-inner">
|
|
<div class="padding">
|
|
<div class="form-horizontal">
|
|
<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="currentPersonalObject.name">
|
|
</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="currentPersonalObject.password">
|
|
</div>
|
|
</div>
|
|
|
|
<!-- <div class="form-group row">
|
|
<label class="col-sm-3 form-control-label">Режим работы</label>
|
|
<div class="col-sm-9">
|
|
<select class="form-control" ng-model="currentPersonalObject.interface_code">
|
|
<option ng-repeat="interface in interfaces" value="{{ interface.code }}">{{ interface.name }}</option>
|
|
</select>
|
|
</div>
|
|
</div> -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="footer-form">
|
|
<div class="padding" style="float: right; width: 100%; padding: 0.5rem 1.5rem">
|
|
<button class="btn danger p-x-md pull-left" data-toggle="modal" data-target="#personal-confirm-delete">
|
|
<i class="fa fa-trash"></i>
|
|
</button>
|
|
<button class="btn success p-x-md pull-right" ng-click="savePersonal()" style="margin-right: 15px">Сохранить</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="personal-confirm-delete" class="modal confirm-box" data-backdrop="true">
|
|
<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="removePersonal()">Да</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="group-confirm-delete" class="modal confirm-box" data-backdrop="true">
|
|
<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> |