137 lines
4.5 KiB
HTML
137 lines
4.5 KiB
HTML
|
<vn-crud-model
|
||
|
url="Tags"
|
||
|
fields="['id','name','isFree', 'sourceTable']"
|
||
|
data="tags"
|
||
|
auto-load="true">
|
||
|
</vn-crud-model>
|
||
|
<div class="search-panel">
|
||
|
<form class="vn-pa-lg" ng-submit="$ctrl.onSearch()">
|
||
|
<vn-horizontal>
|
||
|
<vn-textfield
|
||
|
vn-one
|
||
|
label="General search"
|
||
|
ng-model="filter.search"
|
||
|
vn-focus>
|
||
|
</vn-textfield>
|
||
|
</vn-horizontal>
|
||
|
<vn-horizontal>
|
||
|
<vn-autocomplete
|
||
|
vn-one
|
||
|
url="ItemCategories"
|
||
|
label="Category"
|
||
|
show-field="name"
|
||
|
value-field="id"
|
||
|
ng-model="filter.categoryFk">
|
||
|
</vn-autocomplete>
|
||
|
<vn-autocomplete vn-one
|
||
|
url="ItemTypes"
|
||
|
label="Type"
|
||
|
where="{categoryFk: filter.categoryFk}"
|
||
|
show-field="name"
|
||
|
value-field="id"
|
||
|
ng-model="filter.typeFk"
|
||
|
fields="['categoryFk']"
|
||
|
include="'category'">
|
||
|
<tpl-item>
|
||
|
<div>{{name}}</div>
|
||
|
<div class="text-caption text-secondary">
|
||
|
{{category.name}}
|
||
|
</div>
|
||
|
</tpl-item>
|
||
|
</vn-autocomplete>
|
||
|
</vn-horizontal>
|
||
|
<vn-horizontal>
|
||
|
<vn-autocomplete
|
||
|
vn-one
|
||
|
ng-model="filter.buyerFk"
|
||
|
url="Clients/activeWorkersWithRole"
|
||
|
show-field="nickname"
|
||
|
search-function="{firstName: $search}"
|
||
|
value-field="id"
|
||
|
where="{role: 'buyer'}"
|
||
|
label="Buyer">
|
||
|
</vn-autocomplete>
|
||
|
<vn-autocomplete
|
||
|
vn-one
|
||
|
label="Warehouse"
|
||
|
ng-model="filter.warehouseFk"
|
||
|
url="Warehouses">
|
||
|
</vn-autocomplete>
|
||
|
</vn-horizontal>
|
||
|
<vn-horizontal>
|
||
|
<vn-date-picker
|
||
|
vn-one
|
||
|
label="Started"
|
||
|
ng-model="filter.started">
|
||
|
</vn-date-picker>
|
||
|
<vn-date-picker
|
||
|
vn-one
|
||
|
label="Ended"
|
||
|
ng-model="filter.ended">
|
||
|
</vn-date-picker>
|
||
|
</vn-horizontal>
|
||
|
<vn-horizontal>
|
||
|
<vn-check vn-one
|
||
|
triple-state="true"
|
||
|
label="For me"
|
||
|
ng-model="filter.mine">
|
||
|
</vn-check>
|
||
|
<vn-check vn-one
|
||
|
triple-state="true"
|
||
|
label="Minimum price"
|
||
|
ng-model="filter.hasMinPrice">
|
||
|
</vn-check>
|
||
|
</vn-horizontal>
|
||
|
<vn-horizontal class="vn-pt-sm">
|
||
|
<vn-one class="text-subtitle1" translate>
|
||
|
Tags
|
||
|
</vn-one>
|
||
|
<vn-icon-button
|
||
|
vn-none
|
||
|
vn-bind="+"
|
||
|
vn-tooltip="Add tag"
|
||
|
icon="add_circle"
|
||
|
ng-click="filter.tags.push({})">
|
||
|
</vn-icon-button>
|
||
|
</vn-horizontal>
|
||
|
<vn-horizontal ng-repeat="itemTag in filter.tags">
|
||
|
<vn-autocomplete vn-two vn-id="tag"
|
||
|
label="Tag"
|
||
|
initial-data="itemTag.tag"
|
||
|
ng-model="itemTag.tagFk"
|
||
|
data="tags"
|
||
|
show-field="name"
|
||
|
on-change="itemTag.value = null"
|
||
|
rule>
|
||
|
</vn-autocomplete>
|
||
|
<vn-textfield vn-three
|
||
|
ng-show="tag.selection.isFree || tag.selection.isFree == undefined"
|
||
|
vn-id="text"
|
||
|
label="Value"
|
||
|
ng-model="itemTag.value"
|
||
|
rule>
|
||
|
</vn-textfield>
|
||
|
<vn-autocomplete vn-three
|
||
|
ng-show="tag.selection.isFree === false"
|
||
|
url="{{'Tags/' + itemTag.tagFk + '/filterValue'}}"
|
||
|
search-function="{value: $search}"
|
||
|
label="Value"
|
||
|
ng-model="itemTag.value"
|
||
|
show-field="value"
|
||
|
value-field="value"
|
||
|
rule>
|
||
|
</vn-autocomplete>
|
||
|
<vn-icon-button
|
||
|
vn-none
|
||
|
vn-tooltip="Remove tag"
|
||
|
icon="delete"
|
||
|
ng-click="filter.tags.splice($index, 1)"
|
||
|
tabindex="-1">
|
||
|
</vn-icon-button>
|
||
|
</vn-horizontal>
|
||
|
<vn-horizontal class="vn-mt-lg">
|
||
|
<vn-submit label="Search"></vn-submit>
|
||
|
</vn-horizontal>
|
||
|
</form>
|
||
|
</div>
|