Style & translation fixes
This commit is contained in:
parent
259079b051
commit
1dc8cafc73
|
@ -270,11 +270,11 @@ export default {
|
||||||
warehouseAutocomplete: 'vn-item-diary vn-autocomplete[field="$ctrl.warehouseFk"]',
|
warehouseAutocomplete: 'vn-item-diary vn-autocomplete[field="$ctrl.warehouseFk"]',
|
||||||
},
|
},
|
||||||
ticketSummary: {
|
ticketSummary: {
|
||||||
sale: 'vn-ticket-summary [name="sales"] table > tbody > tr',
|
sale: 'vn-ticket-summary [name="sales"] vn-table > div > vn-tbody > vn-tr',
|
||||||
firstSaleItemId: 'vn-ticket-summary [name="sales"] table > tbody > tr > td:nth-child(2) > span',
|
firstSaleItemId: 'vn-ticket-summary [name="sales"] vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(2) > span',
|
||||||
popoverDiaryButton: 'vn-ticket-summary vn-item-descriptor-popover vn-item-descriptor vn-icon[icon="icon-transaction"]',
|
popoverDiaryButton: 'vn-ticket-summary vn-item-descriptor-popover vn-item-descriptor vn-icon[icon="icon-transaction"]',
|
||||||
firstSaleQuantity: 'vn-ticket-summary [name="sales"] table > tbody > tr > td:nth-child(4)',
|
firstSaleQuantity: 'vn-ticket-summary [name="sales"] vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(4)',
|
||||||
firstSaleDiscount: 'vn-ticket-summary [name="sales"] table > tbody > tr > td:nth-child(6)'
|
firstSaleDiscount: 'vn-ticket-summary [name="sales"] vn-table > div > vn-tbody > vn-tr > vn-td:nth-child(6)'
|
||||||
},
|
},
|
||||||
ticketsIndex: {
|
ticketsIndex: {
|
||||||
newTicketButton: 'vn-ticket-index > a',
|
newTicketButton: 'vn-ticket-index > a',
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
<vn-icon-button
|
<vn-icon-button
|
||||||
icon="remove"
|
icon="remove"
|
||||||
ng-click="$ctrl.remove()"
|
ng-click="$ctrl.remove()"
|
||||||
tabindex="-1"
|
tabindex="-1"
|
||||||
title="Remove number">
|
translate-attr="{title: 'Remove'}">
|
||||||
</vn-icon-button>
|
</vn-icon-button>
|
||||||
</div>
|
</div>
|
||||||
<div class="infix">
|
<div class="infix">
|
||||||
|
@ -28,8 +28,8 @@
|
||||||
<vn-icon-button
|
<vn-icon-button
|
||||||
icon="add"
|
icon="add"
|
||||||
ng-click="$ctrl.add()"
|
ng-click="$ctrl.add()"
|
||||||
tabindex="-1"
|
tabindex="-1"
|
||||||
title="Add number">
|
translate-attr="{title: 'Add'}">
|
||||||
</vn-icon-button>
|
</vn-icon-button>
|
||||||
<i class="material-icons"
|
<i class="material-icons"
|
||||||
ng-if="$ctrl.hasInfo"
|
ng-if="$ctrl.hasInfo"
|
||||||
|
|
|
@ -3,16 +3,22 @@
|
||||||
<img src="./logo.svg" alt="Logo"></img>
|
<img src="./logo.svg" alt="Logo"></img>
|
||||||
</a>
|
</a>
|
||||||
<vn-icon
|
<vn-icon
|
||||||
ng-if="$ctrl.showMenuButton"
|
ng-if="$ctrl.showLeftMenuButton"
|
||||||
class="show-menu"
|
class="show-menu"
|
||||||
icon="menu"
|
icon="menu"
|
||||||
ng-click="$ctrl.showMenu()">
|
ng-click="$ctrl.showLeftMenu()">
|
||||||
</vn-icon>
|
</vn-icon>
|
||||||
<div class="main-title" translate>
|
<div class="main-title" translate>
|
||||||
{{$ctrl.$state.current.description}}
|
{{$ctrl.$state.current.description}}
|
||||||
</div>
|
</div>
|
||||||
<vn-spinner enable="$ctrl.vnApp.loading"></vn-spinner>
|
<vn-spinner enable="$ctrl.vnApp.loading"></vn-spinner>
|
||||||
<vn-main-menu></vn-main-menu>
|
<vn-main-menu></vn-main-menu>
|
||||||
|
<vn-icon
|
||||||
|
ng-if="$ctrl.rightMenu"
|
||||||
|
class="show-menu"
|
||||||
|
icon="menu"
|
||||||
|
ng-click="$ctrl.showRightMenu()">
|
||||||
|
</vn-icon>
|
||||||
</vn-topbar>
|
</vn-topbar>
|
||||||
<div ui-view
|
<div ui-view
|
||||||
class="main-view"
|
class="main-view"
|
||||||
|
@ -21,7 +27,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="background"
|
class="background"
|
||||||
ng-class="{shown: $ctrl.menuShown}"
|
ng-class="{shown: $ctrl.leftMenuShown || $ctrl.rightMenuShown}"
|
||||||
ng-click="$ctrl.hideMenu()">
|
ng-click="$ctrl.hideMenus()">
|
||||||
</div>
|
</div>
|
||||||
<vn-snackbar vn-id="snackbar"></vn-snackbar>
|
<vn-snackbar vn-id="snackbar"></vn-snackbar>
|
|
@ -12,8 +12,8 @@ export default class App {
|
||||||
|
|
||||||
$transitions.onStart({}, transition => {
|
$transitions.onStart({}, transition => {
|
||||||
let state = transition.targetState().name();
|
let state = transition.targetState().name();
|
||||||
this.showMenuButton = state.split('.').length >= 3;
|
this.showLeftMenuButton = state.split('.').length >= 3;
|
||||||
if (this.menuShown) this.hideMenu();
|
this.hideMenus();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,22 +30,31 @@ export default class App {
|
||||||
return state && state != 'login';
|
return state && state != 'login';
|
||||||
}
|
}
|
||||||
|
|
||||||
get leftBlock() {
|
get leftMenu() {
|
||||||
return this.$element[0].querySelector('.left-block');
|
return this.$element[0].querySelector('.left-menu');
|
||||||
}
|
}
|
||||||
|
|
||||||
showMenu() {
|
showLeftMenu() {
|
||||||
let leftBlock = this.leftBlock;
|
if (!this.leftMenu) return;
|
||||||
if (!leftBlock) return;
|
this.leftMenu.classList.add('shown');
|
||||||
leftBlock.classList.add('shown');
|
this.leftMenuShown = true;
|
||||||
this.menuShown = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
hideMenu() {
|
showRightMenu() {
|
||||||
this.menuShown = false;
|
if (!this.rightMenu) return;
|
||||||
let leftBlock = this.leftBlock;
|
this.rightMenu.classList.add('shown');
|
||||||
if (!leftBlock) return;
|
this.rightMenuShown = true;
|
||||||
leftBlock.classList.remove('shown');
|
}
|
||||||
|
|
||||||
|
hideMenus() {
|
||||||
|
if (this.leftMenuShown) {
|
||||||
|
this.leftMenu.classList.remove('shown');
|
||||||
|
this.leftMenuShown = false;
|
||||||
|
}
|
||||||
|
if (this.rightMenuShown) {
|
||||||
|
this.rightMenu.classList.remove('shown');
|
||||||
|
this.rightMenuShown = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
showMessage(message) {
|
showMessage(message) {
|
||||||
|
|
|
@ -27,7 +27,7 @@ vn-app {
|
||||||
padding: .3em;
|
padding: .3em;
|
||||||
}
|
}
|
||||||
& > .logo > img {
|
& > .logo > img {
|
||||||
height: 1.6em;
|
height: 1.4em;
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
& > .show-menu {
|
& > .show-menu {
|
||||||
|
@ -58,19 +58,24 @@ vn-app {
|
||||||
&.padding {
|
&.padding {
|
||||||
padding-top: $topbar-height;
|
padding-top: $topbar-height;
|
||||||
}
|
}
|
||||||
.index-block {
|
.content-block {
|
||||||
@extend .margin-medium;
|
@extend .margin-medium;
|
||||||
|
|
||||||
|
form vn-horizontal {
|
||||||
|
& > * {
|
||||||
|
padding: .2em;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
vn-main-block {
|
vn-main-block {
|
||||||
display: block;
|
display: block;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
padding-left: $menu-width;
|
padding-left: $menu-width;
|
||||||
|
|
||||||
.left-block {
|
%side-menu {
|
||||||
|
display: block;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
z-index: 5;
|
z-index: 5;
|
||||||
top: $topbar-height;
|
|
||||||
left: 0;
|
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
width: $menu-width;
|
width: $menu-width;
|
||||||
min-width: $menu-width;
|
min-width: $menu-width;
|
||||||
|
@ -78,21 +83,16 @@ vn-app {
|
||||||
box-shadow: 0 .1em .2em rgba(1, 1, 1, .2);
|
box-shadow: 0 .1em .2em rgba(1, 1, 1, .2);
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
}
|
}
|
||||||
.content-block {
|
.left-menu {
|
||||||
@extend .margin-medium;
|
@extend %side-menu;
|
||||||
|
top: $topbar-height;
|
||||||
form vn-horizontal {
|
left: 0;
|
||||||
& > * {
|
|
||||||
padding: .2em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
.right-block {
|
.right-menu {
|
||||||
width: $menu-width;
|
@extend %side-menu;
|
||||||
min-width: $menu-width;
|
top: $topbar-height;
|
||||||
padding-left: 1em;
|
right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
& > .background {
|
& > .background {
|
||||||
|
@ -118,29 +118,32 @@ vn-app {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
& > .main-view {
|
& > .main-view {
|
||||||
.index-block {
|
.content-block {
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
|
|
||||||
|
form vn-horizontal {
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
vn-main-block {
|
vn-main-block {
|
||||||
padding-left: 0;
|
padding-left: 0;
|
||||||
|
|
||||||
.left-block {
|
%side-menu-mobile {
|
||||||
top: 0;
|
top: 0;
|
||||||
transform: translateZ(0) translateX(-$menu-width);
|
|
||||||
transition: transform 200ms ease-out;
|
transition: transform 200ms ease-out;
|
||||||
|
|
||||||
&.shown {
|
&.shown {
|
||||||
transform: translateZ(0) translateX(0);
|
transform: translateZ(0) translateX(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.content-block {
|
.left-menu {
|
||||||
margin-left: 0;
|
@extend %side-menu-mobile;
|
||||||
margin-right: 0;
|
transform: translateZ(0) translateX(-$menu-width);
|
||||||
|
}
|
||||||
form vn-horizontal {
|
.right-menu {
|
||||||
flex-direction: column;
|
@extend %side-menu-mobile;
|
||||||
}
|
transform: translateZ(0) translateX($menu-width);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,8 @@ Order by: Ordenar por
|
||||||
Order: Orden
|
Order: Orden
|
||||||
Ascendant: Ascendente
|
Ascendant: Ascendente
|
||||||
Descendant: Descendente
|
Descendant: Descendente
|
||||||
|
Add: Añadir
|
||||||
|
Remove: Quitar
|
||||||
|
|
||||||
# Modules
|
# Modules
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<vn-main-block>
|
<vn-main-block>
|
||||||
<div class="left-block">
|
<div class="left-menu">
|
||||||
<vn-zone-descriptor zone="$ctrl.zone"></vn-zone-descriptor>
|
<vn-zone-descriptor zone="$ctrl.zone"></vn-zone-descriptor>
|
||||||
<vn-left-menu></vn-left-menu>
|
<vn-left-menu></vn-left-menu>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
form="form"
|
form="form"
|
||||||
save="post">
|
save="post">
|
||||||
</vn-watcher>
|
</vn-watcher>
|
||||||
<form name="form" ng-submit="$ctrl.onSubmit()" margin-medium>
|
<div class="content-block">
|
||||||
<div style="max-width: 50em; margin: 0 auto;">
|
<form name="form" ng-submit="$ctrl.onSubmit()" compact>
|
||||||
<vn-card pad-large>
|
<vn-card pad-large>
|
||||||
<vn-horizontal>
|
<vn-horizontal>
|
||||||
<vn-textfield vn-two vn-focus
|
<vn-textfield vn-two vn-focus
|
||||||
|
@ -66,5 +66,5 @@
|
||||||
<vn-submit label="Create"></vn-submit>
|
<vn-submit label="Create"></vn-submit>
|
||||||
<vn-button ui-sref="zone.index" label="Cancel"></vn-button>
|
<vn-button ui-sref="zone.index" label="Cancel"></vn-button>
|
||||||
</vn-button-bar>
|
</vn-button-bar>
|
||||||
</div>
|
</form>
|
||||||
</form>
|
</div>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
data="zones"
|
data="zones"
|
||||||
auto-load="false">
|
auto-load="false">
|
||||||
</vn-crud-model>
|
</vn-crud-model>
|
||||||
<div class="index-block">
|
<div class="content-block">
|
||||||
<div class="vn-list">
|
<div class="vn-list">
|
||||||
<vn-card pad-medium-h>
|
<vn-card pad-medium-h>
|
||||||
<vn-searchbar
|
<vn-searchbar
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<vn-main-block>
|
<vn-main-block>
|
||||||
<div class="left-block">
|
<div class="left-menu">
|
||||||
<vn-claim-descriptor claim="$ctrl.claim"></vn-claim-descriptor>
|
<vn-claim-descriptor claim="$ctrl.claim"></vn-claim-descriptor>
|
||||||
<vn-left-menu></vn-left-menu>
|
<vn-left-menu></vn-left-menu>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
data="claims"
|
data="claims"
|
||||||
auto-load="false">
|
auto-load="false">
|
||||||
</vn-crud-model>
|
</vn-crud-model>
|
||||||
<div class="index-block">
|
<div class="content-block">
|
||||||
<div class="vn-list">
|
<div class="vn-list">
|
||||||
<vn-card pad-medium-h>
|
<vn-card pad-medium-h>
|
||||||
<vn-searchbar
|
<vn-searchbar
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<vn-main-block>
|
<vn-main-block>
|
||||||
<div class="left-block">
|
<div class="left-menu">
|
||||||
<vn-client-descriptor client="$ctrl.client"></vn-client-descriptor>
|
<vn-client-descriptor client="$ctrl.client"></vn-client-descriptor>
|
||||||
<vn-left-menu></vn-left-menu>
|
<vn-left-menu></vn-left-menu>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
form="form"
|
form="form"
|
||||||
save="post">
|
save="post">
|
||||||
</vn-watcher>
|
</vn-watcher>
|
||||||
<form name="form" ng-submit="$ctrl.onSubmit()" margin-medium>
|
<div class="content-block">
|
||||||
<div style="max-width: 50em; margin: 0 auto;">
|
<form name="form" ng-submit="$ctrl.onSubmit()" compact>
|
||||||
<vn-card pad-large>
|
<vn-card pad-large>
|
||||||
<vn-horizontal>
|
<vn-horizontal>
|
||||||
<vn-textfield vn-two label="Comercial Name" field="$ctrl.client.name" vn-focus></vn-textfield>
|
<vn-textfield vn-two label="Comercial Name" field="$ctrl.client.name" vn-focus></vn-textfield>
|
||||||
|
@ -87,5 +87,5 @@
|
||||||
<vn-submit label="Create"></vn-submit>
|
<vn-submit label="Create"></vn-submit>
|
||||||
<vn-button ui-sref="client.index" label="Cancel"></vn-button>
|
<vn-button ui-sref="client.index" label="Cancel"></vn-button>
|
||||||
</vn-button-bar>
|
</vn-button-bar>
|
||||||
</div>
|
</form>
|
||||||
</form>
|
</div>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
data="clients"
|
data="clients"
|
||||||
auto-load="false">
|
auto-load="false">
|
||||||
</vn-crud-model>
|
</vn-crud-model>
|
||||||
<div class="index-block">
|
<div class="content-block">
|
||||||
<div class="vn-list">
|
<div class="vn-list">
|
||||||
<vn-card pad-medium-h>
|
<vn-card pad-medium-h>
|
||||||
<vn-searchbar
|
<vn-searchbar
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<vn-main-block>
|
<vn-main-block>
|
||||||
<div class="left-block">
|
<div class="left-menu">
|
||||||
<vn-item-descriptor item="$ctrl.item"></vn-item-descriptor>
|
<vn-item-descriptor item="$ctrl.item"></vn-item-descriptor>
|
||||||
<vn-left-menu></vn-left-menu>
|
<vn-left-menu></vn-left-menu>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
form="form"
|
form="form"
|
||||||
save="post">
|
save="post">
|
||||||
</vn-watcher>
|
</vn-watcher>
|
||||||
<form name="form" ng-submit="$ctrl.onSubmit()" margin-medium>
|
<div class="content-block">
|
||||||
<div compact>
|
<form name="form" ng-submit="$ctrl.onSubmit()" compact>
|
||||||
<vn-card pad-large>
|
<vn-card pad-large>
|
||||||
<vn-horizontal>
|
<vn-horizontal>
|
||||||
<vn-textfield
|
<vn-textfield
|
||||||
|
@ -61,5 +61,5 @@
|
||||||
>Cancel
|
>Cancel
|
||||||
</button>
|
</button>
|
||||||
</vn-button-bar>
|
</vn-button-bar>
|
||||||
</div>
|
</form>
|
||||||
</form>
|
</div>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
data="items"
|
data="items"
|
||||||
auto-load="false">
|
auto-load="false">
|
||||||
</vn-crud-model>
|
</vn-crud-model>
|
||||||
<div class="index-block">
|
<div class="content-block">
|
||||||
<div class="vn-list">
|
<div class="vn-list">
|
||||||
<vn-card pad-medium-h>
|
<vn-card pad-medium-h>
|
||||||
<vn-searchbar
|
<vn-searchbar
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<vn-main-block>
|
<vn-main-block>
|
||||||
<div class="left-block">
|
<div class="left-menu">
|
||||||
<vn-order-descriptor order="$ctrl.order"></vn-order-descriptor>
|
<vn-order-descriptor order="$ctrl.order"></vn-order-descriptor>
|
||||||
<vn-left-menu></vn-left-menu>
|
<vn-left-menu></vn-left-menu>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -5,105 +5,101 @@
|
||||||
limit="50"
|
limit="50"
|
||||||
data="items" on-data-change="$ctrl.onDataChange()" >
|
data="items" on-data-change="$ctrl.onDataChange()" >
|
||||||
</vn-crud-model>
|
</vn-crud-model>
|
||||||
<vn-horizontal>
|
<div class="items">
|
||||||
<vn-vertical vn-one>
|
<vn-card>
|
||||||
<vn-card>
|
<vn-horizontal class="catalog-header" pad-medium-h>
|
||||||
<vn-vertical>
|
<vn-one ng-if="model.moreRows">
|
||||||
<vn-horizontal class="catalog-header" pad-medium-h>
|
<span translate>More than</span> {{model.limit}} <span translate>results</span>
|
||||||
<vn-one ng-if="model.moreRows">
|
</vn-one>
|
||||||
<span translate>More than</span> {{model.limit}} <span translate>results</span></vn-one>
|
<vn-one>
|
||||||
<vn-one>
|
<vn-horizontal>
|
||||||
<vn-horizontal>
|
<vn-autocomplete vn-id="field" vn-one
|
||||||
<vn-autocomplete vn-id="field" vn-one
|
data="$ctrl.fieldList"
|
||||||
data="$ctrl.fieldList"
|
initial-data="$ctrl.field"
|
||||||
initial-data="$ctrl.field"
|
field="$ctrl.field"
|
||||||
field="$ctrl.field"
|
translate-fields="['name']"
|
||||||
translate-fields="['name']"
|
show-field="name"
|
||||||
show-field="name"
|
value-field="field"
|
||||||
value-field="field"
|
label="Order by">
|
||||||
label="Order by">
|
</vn-autocomplete>
|
||||||
</vn-autocomplete>
|
<vn-autocomplete vn-one
|
||||||
<vn-autocomplete vn-one
|
data="$ctrl.wayList"
|
||||||
data="$ctrl.wayList"
|
initial-data="$ctrl.way"
|
||||||
initial-data="$ctrl.way"
|
field="$ctrl.way"
|
||||||
field="$ctrl.way"
|
translate-fields="['name']"
|
||||||
translate-fields="['name']"
|
show-field="name"
|
||||||
show-field="name"
|
value-field="way"
|
||||||
value-field="way"
|
label="Order">
|
||||||
label="Order">
|
</vn-autocomplete>
|
||||||
</vn-autocomplete>
|
|
||||||
</vn-horizontal>
|
|
||||||
</vn-one>
|
|
||||||
</vn-horizontal>
|
</vn-horizontal>
|
||||||
<vn-horizontal class="catalog-list" pad-small>
|
</vn-one>
|
||||||
<section class="product" ng-repeat="item in items">
|
</vn-horizontal>
|
||||||
<vn-one>
|
<vn-horizontal class="catalog-list" pad-small>
|
||||||
<vn-horizontal>
|
<section class="product" ng-repeat="item in items">
|
||||||
<vn-one class="image">
|
<vn-one>
|
||||||
<img
|
<vn-horizontal>
|
||||||
ng-src="//verdnatura.es/vn-image-data/catalog/200x200/{{::item.image}}"
|
<vn-one class="image">
|
||||||
zoom-image="//verdnatura.es/vn-image-data/catalog/1600x900/{{::item.image}}"
|
<img
|
||||||
on-error-src pointer/>
|
ng-src="//verdnatura.es/vn-image-data/catalog/200x200/{{::item.image}}"
|
||||||
</vn-one>
|
zoom-image="//verdnatura.es/vn-image-data/catalog/1600x900/{{::item.image}}"
|
||||||
<vn-one pad-small class="description ellipsize">
|
on-error-src pointer/>
|
||||||
<vn-vertical>
|
|
||||||
<h2 class="ellipsize" vn-tooltip="{{::item.name}}">
|
|
||||||
{{::item.name}}
|
|
||||||
</h2>
|
|
||||||
<span class="ellipsize" vn-tooltip="{{::item.subName}}">
|
|
||||||
{{::item.subName}}
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<vn-label-value
|
|
||||||
label="{{::item.tag5}}"
|
|
||||||
value="{{::item.value5}}">
|
|
||||||
</vn-label-value>
|
|
||||||
<vn-label-value
|
|
||||||
label="{{::item.tag6}}"
|
|
||||||
value="{{::item.value6}}">
|
|
||||||
</vn-label-value>
|
|
||||||
<vn-label-value
|
|
||||||
label="{{::item.tag7}}"
|
|
||||||
value="{{::item.value7}}">
|
|
||||||
</vn-label-value>
|
|
||||||
<vn-label-value
|
|
||||||
label="{{::item.tag8}}"
|
|
||||||
value="{{::item.value8}}">
|
|
||||||
</vn-label-value>
|
|
||||||
|
|
||||||
<vn-horizontal class="price">
|
|
||||||
<vn-one>
|
|
||||||
<span>{{::item.available}}</span>
|
|
||||||
<span translate>from</span>
|
|
||||||
<span>{{::item.price | currency: ' €': 2}}</span>
|
|
||||||
</vn-one>
|
|
||||||
<vn-auto>
|
|
||||||
<a href="" vn-tooltip="Add">
|
|
||||||
<vn-icon icon="add_circle" ng-click="$ctrl.preview($event, item)"></vn-icon>
|
|
||||||
</a>
|
|
||||||
</vn-auto>
|
|
||||||
</vn-horizontal>
|
|
||||||
</vn-vertical>
|
|
||||||
</vn-one>
|
|
||||||
</vn-horizontal>
|
|
||||||
</vn-one>
|
</vn-one>
|
||||||
</section>
|
<vn-one pad-small class="description ellipsize">
|
||||||
</vn-horizontal>
|
<vn-vertical>
|
||||||
<vn-horizontal ng-if="!model.data || model.data.length == 0">
|
<h2 class="ellipsize" vn-tooltip="{{::item.name}}">
|
||||||
<vn-one pad-small translate style="text-align: center">
|
{{::item.name}}
|
||||||
No results
|
</h2>
|
||||||
</vn-one>
|
<span class="ellipsize" vn-tooltip="{{::item.subName}}">
|
||||||
</vn-horizontal>
|
{{::item.subName}}
|
||||||
</vn-vertical>
|
</span>
|
||||||
</vn-card>
|
|
||||||
<vn-pagination margin-small-v model="model"></vn-pagination>
|
<vn-label-value
|
||||||
</vn-vertical>
|
label="{{::item.tag5}}"
|
||||||
|
value="{{::item.value5}}">
|
||||||
<vn-auto class="right-block">
|
</vn-label-value>
|
||||||
<vn-catalog-filter order="$ctrl.order"></vn-catalog-filter>
|
<vn-label-value
|
||||||
</vn-auto>
|
label="{{::item.tag6}}"
|
||||||
</vn-horizontal>
|
value="{{::item.value6}}">
|
||||||
|
</vn-label-value>
|
||||||
|
<vn-label-value
|
||||||
|
label="{{::item.tag7}}"
|
||||||
|
value="{{::item.value7}}">
|
||||||
|
</vn-label-value>
|
||||||
|
<vn-label-value
|
||||||
|
label="{{::item.tag8}}"
|
||||||
|
value="{{::item.value8}}">
|
||||||
|
</vn-label-value>
|
||||||
|
|
||||||
|
<vn-horizontal class="price">
|
||||||
|
<vn-one>
|
||||||
|
<span>{{::item.available}}</span>
|
||||||
|
<span translate>from</span>
|
||||||
|
<span>{{::item.price | currency: ' €': 2}}</span>
|
||||||
|
</vn-one>
|
||||||
|
<vn-auto>
|
||||||
|
<a href="" vn-tooltip="Add">
|
||||||
|
<vn-icon icon="add_circle" ng-click="$ctrl.preview($event, item)"></vn-icon>
|
||||||
|
</a>
|
||||||
|
</vn-auto>
|
||||||
|
</vn-horizontal>
|
||||||
|
</vn-vertical>
|
||||||
|
</vn-one>
|
||||||
|
</vn-horizontal>
|
||||||
|
</vn-one>
|
||||||
|
</section>
|
||||||
|
</vn-horizontal>
|
||||||
|
<vn-horizontal ng-if="!model.data || model.data.length == 0">
|
||||||
|
<vn-one pad-small translate style="text-align: center">
|
||||||
|
No results
|
||||||
|
</vn-one>
|
||||||
|
</vn-horizontal>
|
||||||
|
</vn-card>
|
||||||
|
<vn-pagination margin-small-v model="model"></vn-pagination>
|
||||||
|
</div>
|
||||||
|
<vn-catalog-filter
|
||||||
|
class="right-menu"
|
||||||
|
order="$ctrl.order">
|
||||||
|
</vn-catalog-filter>
|
||||||
<vn-order-prices-popover
|
<vn-order-prices-popover
|
||||||
vn-id="pricesPopover"
|
vn-id="pricesPopover"
|
||||||
order="$ctrl.order">
|
order="$ctrl.order">
|
||||||
|
|
|
@ -125,5 +125,5 @@ ngModule.component('vnOrderCatalog', {
|
||||||
controller: Controller,
|
controller: Controller,
|
||||||
bindings: {
|
bindings: {
|
||||||
order: '<',
|
order: '<',
|
||||||
},
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -8,13 +8,18 @@ vn-order-catalog {
|
||||||
vn-one:first-child {
|
vn-one:first-child {
|
||||||
padding-top: 2em;
|
padding-top: 2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
vn-one:nth-child(2) {
|
vn-one:nth-child(2) {
|
||||||
padding-top: 0.5em;
|
padding-top: 0.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
span {
|
span {
|
||||||
color: $secondary-font-color
|
color: $secondary-font-color
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
& > .items {
|
||||||
|
padding-right: 16em;
|
||||||
|
|
||||||
|
@media screen and (max-width: 800px) {
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -1,5 +1,5 @@
|
||||||
<div margin-medium>
|
<div class="content-block">
|
||||||
<div style="max-width: 70em; margin: 0 auto;" >
|
<div compact>
|
||||||
<vn-card pad-large>
|
<vn-card pad-large>
|
||||||
<vn-order-create-card vn-id="card" on-save=""></vn-order-create-card>
|
<vn-order-create-card vn-id="card" on-save=""></vn-order-create-card>
|
||||||
</vn-card>
|
</vn-card>
|
||||||
|
|
|
@ -1,101 +1,93 @@
|
||||||
<vn-crud-model
|
<vn-crud-model
|
||||||
vn-id="model"
|
vn-id="model"
|
||||||
url="/order/api/ItemCategories"
|
url="/order/api/ItemCategories"
|
||||||
data="categories" auto-load="true">
|
data="categories"
|
||||||
|
auto-load="true">
|
||||||
</vn-crud-model>
|
</vn-crud-model>
|
||||||
<vn-horizontal>
|
<div>
|
||||||
<vn-vertical vn-one>
|
<vn-horizontal class="item-category">
|
||||||
<vn-card >
|
<vn-one ng-repeat="category in categories">
|
||||||
<vn-vertical>
|
<vn-icon
|
||||||
<vn-horizontal pad-medium class="item-category">
|
ng-class="{'active': $ctrl.category.id == category.id}"
|
||||||
<vn-one margin-small-v ng-repeat="category in categories">
|
icon="{{::category.icon}}"
|
||||||
<vn-icon
|
vn-tooltip="{{::category.name}}"
|
||||||
ng-class="{'active': $ctrl.category.id == category.id}"
|
ng-click="$ctrl.category = {
|
||||||
pad-small
|
id: category.id,
|
||||||
icon="{{::category.icon}}"
|
value: category.name
|
||||||
vn-tooltip="{{::category.name}}"
|
}">
|
||||||
ng-click="$ctrl.category = {
|
</vn-icon>
|
||||||
id: category.id,
|
</vn-one>
|
||||||
value: category.name
|
</vn-horizontal>
|
||||||
}">
|
<vn-horizontal class="input">
|
||||||
</vn-icon>
|
<vn-autocomplete
|
||||||
</vn-one>
|
vn-one
|
||||||
</vn-horizontal>
|
vn-id="type"
|
||||||
<vn-horizontal pad-medium class="catalog-header">
|
data="$ctrl.itemTypes"
|
||||||
<vn-autocomplete vn-one
|
on-change="$ctrl.type = {
|
||||||
vn-id="type"
|
id: value,
|
||||||
data="$ctrl.itemTypes"
|
value: type.selection.name
|
||||||
on-change="$ctrl.type = {
|
}"
|
||||||
id: value,
|
field="$ctrl.type.id"
|
||||||
value: type.selection.name
|
show-field="name"
|
||||||
}"
|
value-field="id"
|
||||||
field="$ctrl.type.id"
|
label="Type">
|
||||||
show-field="name"
|
<t-left-icons>
|
||||||
value-field="id"
|
<i class="material-icons">search</i>
|
||||||
label="Type">
|
</t-left-icons>
|
||||||
<t-left-icons>
|
<t-right-icons>
|
||||||
<i class="material-icons">search</i>
|
<i class="material-icons"
|
||||||
</t-left-icons>
|
ng-click="$ctrl.openPanel($event)"
|
||||||
<t-right-icons>
|
style="cursor: pointer; color: #aaa">
|
||||||
<i class="material-icons"
|
keyboard_arrow_down
|
||||||
ng-click="$ctrl.openPanel($event)"
|
</i>
|
||||||
style="cursor: pointer; color: #aaa">
|
</t-right-icons>
|
||||||
keyboard_arrow_down
|
</vn-autocomplete>
|
||||||
</i>
|
</vn-horizontal>
|
||||||
</t-right-icons>
|
<vn-horizontal class="input">
|
||||||
</vn-autocomplete>
|
<vn-textfield
|
||||||
</vn-horizontal>
|
vn-one
|
||||||
|
vn-id="search"
|
||||||
<vn-horizontal pad-medium class="catalog-header">
|
ng-keyUp="$ctrl.onSearch($event)"
|
||||||
<vn-one>
|
label="Search tag"
|
||||||
<vn-textfield
|
model="$ctrl.value">
|
||||||
vn-id="search"
|
<t-left-icons>
|
||||||
ng-keyUp="$ctrl.onSearch($event)"
|
<i class="material-icons">search</i>
|
||||||
label="Search tag"
|
</t-left-icons>
|
||||||
model="$ctrl.value">
|
<t-right-icons>
|
||||||
<t-left-icons>
|
<i class="material-icons"
|
||||||
<i class="material-icons">search</i>
|
ng-click="$ctrl.openPanel($event)"
|
||||||
</t-left-icons>
|
style="cursor: pointer; color: #aaa">
|
||||||
<t-right-icons>
|
keyboard_arrow_down
|
||||||
<i class="material-icons"
|
</i>
|
||||||
ng-click="$ctrl.openPanel($event)"
|
</t-right-icons>
|
||||||
style="cursor: pointer; color: #aaa">
|
</vn-textfield>
|
||||||
keyboard_arrow_down
|
</vn-horizontal>
|
||||||
</i>
|
<vn-popover
|
||||||
</t-right-icons>
|
vn-id="popover"
|
||||||
</vn-textfield>
|
on-close="$ctrl.onPopoverClose()">
|
||||||
|
<vn-order-catalog-search-panel/>
|
||||||
<vn-popover
|
</vn-popover>
|
||||||
vn-id="popover"
|
<vn-horizontal class="chips" style="flex-wrap: wrap">
|
||||||
on-close="$ctrl.onPopoverClose()">
|
<vn-chip
|
||||||
<vn-order-catalog-search-panel/>
|
ng-if="$ctrl.category"
|
||||||
</vn-popover>
|
vn-tooltip="Category"
|
||||||
</vn-one>
|
on-remove="$ctrl.category = null"
|
||||||
</vn-horizontal>
|
ellipsize>
|
||||||
|
<span translate>{{$ctrl.category.value}}</span>
|
||||||
<vn-horizontal pad-medium style="flex-wrap: wrap">
|
</vn-chip>
|
||||||
<vn-chip
|
<vn-chip
|
||||||
ng-if="$ctrl.category"
|
ng-if="$ctrl.type"
|
||||||
vn-tooltip="Category"
|
vn-tooltip="Type"
|
||||||
on-remove="$ctrl.category = null" ellipsize>
|
on-remove="$ctrl.type = null"
|
||||||
<span translate>{{$ctrl.category.value}}</span>
|
ellipsize>
|
||||||
</vn-chip>
|
<span translate>{{$ctrl.type.value}}</span>
|
||||||
|
</vn-chip>
|
||||||
<vn-chip
|
<vn-chip
|
||||||
ng-if="$ctrl.type"
|
ng-repeat="tag in $ctrl.tags"
|
||||||
vn-tooltip="Type"
|
vn-tooltip="Value"
|
||||||
on-remove="$ctrl.type = null" ellipsize>
|
on-remove="$ctrl.remove($index)"
|
||||||
<span translate>{{$ctrl.type.value}}</span>
|
ellipsize>
|
||||||
</vn-chip>
|
<span translate>{{::tag.value}}</span>
|
||||||
|
</vn-chip>
|
||||||
<vn-chip
|
</vn-horizontal>
|
||||||
ng-repeat="tag in $ctrl.tags"
|
</div>
|
||||||
vn-tooltip="Value"
|
|
||||||
on-remove="$ctrl.remove($index)" ellipsize>
|
|
||||||
<span translate>{{::tag.value}}</span>
|
|
||||||
</vn-chip>
|
|
||||||
</vn-horizontal>
|
|
||||||
</vn-vertical>
|
|
||||||
</vn-card>
|
|
||||||
</vn-vertical>
|
|
||||||
</vn-horizontal>
|
|
|
@ -2,7 +2,8 @@ import ngModule from '../module';
|
||||||
import './style.scss';
|
import './style.scss';
|
||||||
|
|
||||||
class Controller {
|
class Controller {
|
||||||
constructor($http, $scope, $state, $compile, $transitions, $window) {
|
constructor($element, $http, $scope, $state, $compile, $transitions) {
|
||||||
|
this.$element = $element;
|
||||||
this.$http = $http;
|
this.$http = $http;
|
||||||
this.$scope = $scope;
|
this.$scope = $scope;
|
||||||
this.$state = $state;
|
this.$state = $state;
|
||||||
|
@ -13,6 +14,14 @@ class Controller {
|
||||||
this.tags = [];
|
this.tags = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$onInit() {
|
||||||
|
this.app.rightMenu = this.$element[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
$onDestroy() {
|
||||||
|
this.app.rightMenu = null;
|
||||||
|
}
|
||||||
|
|
||||||
get order() {
|
get order() {
|
||||||
return this._order;
|
return this._order;
|
||||||
}
|
}
|
||||||
|
@ -159,15 +168,16 @@ class Controller {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Controller.$inject = ['$http', '$scope', '$state', '$compile', '$transitions', '$window'];
|
Controller.$inject = ['$element', '$http', '$scope', '$state', '$compile', '$transitions'];
|
||||||
|
|
||||||
ngModule.component('vnCatalogFilter', {
|
ngModule.component('vnCatalogFilter', {
|
||||||
template: require('./index.html'),
|
template: require('./index.html'),
|
||||||
controller: Controller,
|
controller: Controller,
|
||||||
require: {
|
require: {
|
||||||
catalog: '^vnOrderCatalog',
|
catalog: '^vnOrderCatalog',
|
||||||
|
app: '^vnApp'
|
||||||
},
|
},
|
||||||
bindings: {
|
bindings: {
|
||||||
order: '<',
|
order: '<',
|
||||||
},
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -17,7 +17,7 @@ describe('Order', () => {
|
||||||
$state.params.category = '{"id": 1, "value": "My Category"}';
|
$state.params.category = '{"id": 1, "value": "My Category"}';
|
||||||
$state.params.type = '{"id": 1, "value": "My type"}';
|
$state.params.type = '{"id": 1, "value": "My type"}';
|
||||||
$state.current.name = 'my.current.state';
|
$state.current.name = 'my.current.state';
|
||||||
controller = $componentController('vnCatalogFilter', {$scope, $state});
|
controller = $componentController('vnCatalogFilter', {$element: null, $scope, $state});
|
||||||
controller.catalog = {
|
controller.catalog = {
|
||||||
$scope: $scope,
|
$scope: $scope,
|
||||||
getOrderBy: () => {
|
getOrderBy: () => {
|
||||||
|
|
|
@ -1,31 +1,44 @@
|
||||||
@import "colors";
|
@import "colors";
|
||||||
|
@import "padding";
|
||||||
|
|
||||||
vn-catalog-filter {
|
vn-catalog-filter > div {
|
||||||
|
& > .input {
|
||||||
|
@extend .pad-medium-h;
|
||||||
|
border-color: $lines;
|
||||||
|
border-bottom: 1px solid rgba($lines, 0.5);
|
||||||
|
}
|
||||||
.item-category {
|
.item-category {
|
||||||
|
@extend .pad-small;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
|
|
||||||
vn-icon {
|
& > vn-one {
|
||||||
background-color: $secondary-font-color;
|
@extend .pad-small;
|
||||||
border-radius: 50%;
|
min-width: 33.33%;
|
||||||
cursor: pointer;
|
text-align: center;
|
||||||
|
box-sizing: border-box;
|
||||||
|
|
||||||
i:before {
|
& > vn-icon {
|
||||||
font-size: 32pt;
|
@extend .pad-small;
|
||||||
width: 1em;
|
background-color: $secondary-font-color;
|
||||||
height: 1em;
|
border-radius: 50%;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
&.active {
|
||||||
|
background-color: $main-01;
|
||||||
|
color: #FFF
|
||||||
|
}
|
||||||
|
& > i:before {
|
||||||
|
font-size: 32pt;
|
||||||
|
width: 1em;
|
||||||
|
height: 1em;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
vn-icon.active {
|
.chips {
|
||||||
background-color: $main-01;
|
flex-wrap: wrap;
|
||||||
color: #FFF
|
@extend .pad-medium;
|
||||||
}
|
|
||||||
|
|
||||||
& > vn-one {
|
|
||||||
width: 33.33%;
|
|
||||||
text-align: center
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -5,7 +5,7 @@
|
||||||
limit="20"
|
limit="20"
|
||||||
data="orders" auto-load="false">
|
data="orders" auto-load="false">
|
||||||
</vn-crud-model>
|
</vn-crud-model>
|
||||||
<div class="index-block">
|
<div class="content-block">
|
||||||
<div class="vn-list">
|
<div class="vn-list">
|
||||||
<vn-card pad-medium-h>
|
<vn-card pad-medium-h>
|
||||||
<vn-searchbar auto-load="false"
|
<vn-searchbar auto-load="false"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<vn-main-block>
|
<vn-main-block>
|
||||||
<div class="left-block">
|
<div class="left-menu">
|
||||||
<vn-ticket-descriptor ticket="$ctrl.ticket"></vn-ticket-descriptor>
|
<vn-ticket-descriptor ticket="$ctrl.ticket"></vn-ticket-descriptor>
|
||||||
<vn-left-menu></vn-left-menu>
|
<vn-left-menu></vn-left-menu>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<div margin-medium>
|
<div class="content-block">
|
||||||
<div style="max-width: 70em; margin: 0 auto;" >
|
<div compact>
|
||||||
<vn-card pad-large>
|
<vn-card pad-large>
|
||||||
<vn-ticket-create-card vn-id="card" on-save=""></vn-ticket-create-card>
|
<vn-ticket-create-card vn-id="card" on-save=""></vn-ticket-create-card>
|
||||||
</vn-card>
|
</vn-card>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
order="shipped ASC"
|
order="shipped ASC"
|
||||||
auto-load="false">
|
auto-load="false">
|
||||||
</vn-crud-model>
|
</vn-crud-model>
|
||||||
<div class="index-block">
|
<div class="content-block">
|
||||||
<div class="vn-list">
|
<div class="vn-list">
|
||||||
<vn-card pad-medium-h>
|
<vn-card pad-medium-h>
|
||||||
<vn-horizontal>
|
<vn-horizontal>
|
||||||
|
|
|
@ -52,21 +52,21 @@
|
||||||
</vn-one>
|
</vn-one>
|
||||||
<vn-auto name="sales">
|
<vn-auto name="sales">
|
||||||
<h4 translate>Sale</h4>
|
<h4 translate>Sale</h4>
|
||||||
<table class="vn-grid">
|
<vn-table class="vn-grid">
|
||||||
<thead>
|
<vn-thead>
|
||||||
<tr>
|
<vn-tr>
|
||||||
<th></th>
|
<vn-th></vn-th>
|
||||||
<th number translate>Item</th>
|
<vn-th number>Item</vn-th>
|
||||||
<th translate>Description</th>
|
<vn-th>Description</vn-th>
|
||||||
<th number translate>Quantity</th>
|
<vn-th number>Quantity</vn-th>
|
||||||
<th number translate>Price</th>
|
<vn-th number>Price</vn-th>
|
||||||
<th number translate>Discount</th>
|
<vn-th number>Discount</vn-th>
|
||||||
<th number translate>Amount</th>
|
<vn-th number>Amount</vn-th>
|
||||||
</tr>
|
</vn-tr>
|
||||||
</thead>
|
</vn-thead>
|
||||||
<tbody>
|
<vn-tbody>
|
||||||
<tr ng-repeat="sale in $ctrl.summary.sales track by sale.id">
|
<vn-tr ng-repeat="sale in $ctrl.summary.sales track by sale.id">
|
||||||
<td>
|
<vn-td>
|
||||||
<a ui-sref="claim.card.basicData({id: sale.claimBeginning.claimFk})">
|
<a ui-sref="claim.card.basicData({id: sale.claimBeginning.claimFk})">
|
||||||
<vn-icon
|
<vn-icon
|
||||||
ng-show="sale.claimBeginning.claimFk"
|
ng-show="sale.claimBeginning.claimFk"
|
||||||
|
@ -82,25 +82,25 @@
|
||||||
vn-tooltip="Visible: {{::sale.visible || 0}} <br> {{::$ctrl.translate.instant('Available')}} {{::sale.available || 0}}">
|
vn-tooltip="Visible: {{::sale.visible || 0}} <br> {{::$ctrl.translate.instant('Available')}} {{::sale.available || 0}}">
|
||||||
</vn-icon>
|
</vn-icon>
|
||||||
<vn-icon ng-show="sale.reserved" icon="icon-reserva"></vn-icon>
|
<vn-icon ng-show="sale.reserved" icon="icon-reserva"></vn-icon>
|
||||||
</td>
|
</vn-td>
|
||||||
<td number>
|
<vn-td number>
|
||||||
<span
|
<span
|
||||||
ng-click="$ctrl.showDescriptor($event, sale.itemFk)"
|
ng-click="$ctrl.showDescriptor($event, sale.itemFk)"
|
||||||
class="link" pointer>
|
class="link" pointer>
|
||||||
{{sale.itemFk | zeroFill:6}}
|
{{sale.itemFk | zeroFill:6}}
|
||||||
</span>
|
</span>
|
||||||
</td>
|
</vn-td>
|
||||||
<td><vn-fetched-tags max-length="6" item="sale.item" title="sale.concept"/></td>
|
<vn-td><vn-fetched-tags max-length="6" item="sale.item" title="sale.concept"/></vn-td>
|
||||||
<td number>{{::sale.quantity}}</td>
|
<vn-td number>{{::sale.quantity}}</vn-td>
|
||||||
<td number>{{::sale.price | currency:'€':2}}</td>
|
<vn-td number>{{::sale.price | currency:'€':2}}</vn-td>
|
||||||
<td number>{{::sale.discount}} %</td>
|
<vn-td number>{{::sale.discount}} %</vn-td>
|
||||||
<td number>{{::sale.quantity * sale.price | currency:'€':2}}</td>
|
<vn-td number>{{::sale.quantity * sale.price | currency:'€':2}}</vn-td>
|
||||||
</tr>
|
</vn-tr>
|
||||||
<tr ng-if="!$ctrl.summary.sales" class="list list-element">
|
<vn-tr ng-if="!$ctrl.summary.sales" class="list list-element">
|
||||||
<td colspan="8" style="text-align: center" translate>No results</td>
|
<vn-td colspan="8" style="text-align: center" translate>No results</vn-td>
|
||||||
</tr>
|
</vn-tr>
|
||||||
</tbody>
|
</vn-tbody>
|
||||||
</table>
|
</vn-table>
|
||||||
</vn-auto>
|
</vn-auto>
|
||||||
<vn-one ng-if="$ctrl.summary.packagings.length != 0">
|
<vn-one ng-if="$ctrl.summary.packagings.length != 0">
|
||||||
<h4 translate>Packages</h4>
|
<h4 translate>Packages</h4>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
data="travels"
|
data="travels"
|
||||||
auto-load="false">
|
auto-load="false">
|
||||||
</vn-crud-model>
|
</vn-crud-model>
|
||||||
<div class="index-block">
|
<div class="content-block">
|
||||||
<div class="vn-list">
|
<div class="vn-list">
|
||||||
<vn-card pad-medium-h>
|
<vn-card pad-medium-h>
|
||||||
<vn-searchbar
|
<vn-searchbar
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<vn-main-block>
|
<vn-main-block>
|
||||||
<div class="left-block">
|
<div class="left-menu">
|
||||||
<vn-worker-descriptor worker="$ctrl.worker"></vn-worker-descriptor>
|
<vn-worker-descriptor worker="$ctrl.worker"></vn-worker-descriptor>
|
||||||
<vn-left-menu></vn-left-menu>
|
<vn-left-menu></vn-left-menu>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
limit="20"
|
limit="20"
|
||||||
data="workers">
|
data="workers">
|
||||||
</vn-crud-model>
|
</vn-crud-model>
|
||||||
<div class="index-block">
|
<div class="content-block">
|
||||||
<div class="vn-list">
|
<div class="vn-list">
|
||||||
<vn-card pad-medium-h>
|
<vn-card pad-medium-h>
|
||||||
<vn-searchbar
|
<vn-searchbar
|
||||||
|
|
Loading…
Reference in New Issue