This commit is contained in:
Gerard 2019-02-11 09:02:26 +01:00
commit 5187a7e15b
102 changed files with 920 additions and 926 deletions

View File

@ -20,7 +20,7 @@ vn-autocomplete {
right: 0; right: 0;
top: 1.3em; top: 1.3em;
height: 1em; height: 1em;
color: $secondary-font-color; color: $color-font-secondary;
border-radius: .2em; border-radius: .2em;
& > vn-icon { & > vn-icon {
@ -28,7 +28,7 @@ vn-autocomplete {
font-size: 18px; font-size: 18px;
&:hover { &:hover {
color: $main-font-color; color: $color-font;
} }
} }
} }
@ -53,11 +53,8 @@ ul.vn-autocomplete {
padding: .8em; padding: .8em;
margin: 0; margin: 0;
&.active {
background-color: $hover;
}
&.load-more { &.load-more {
color: $main-01; color: $color-main;
font-family: vn-font-bold; font-family: vn-font-bold;
padding: .4em .8em; padding: .4em .8em;
} }

View File

@ -1,9 +1,11 @@
<div> <div>
<vn-horizontal class="header"> <vn-horizontal class="header">
<vn-auto> <vn-auto>
<vn-icon icon="keyboard_arrow_left" class="pointer" <vn-icon
icon="keyboard_arrow_left"
class="pointer"
ng-click="$ctrl.movePrevious($ctrl.skip)" ng-click="$ctrl.movePrevious($ctrl.skip)"
ng-show="$ctrl.displayControls" ng-show="$ctrl.displayControls"/>
</vn-icon> </vn-icon>
</vn-auto> </vn-auto>
<vn-one> <vn-one>
@ -13,7 +15,9 @@
</strong> </strong>
</vn-one> </vn-one>
<vn-auto> <vn-auto>
<vn-icon icon="keyboard_arrow_right" class="pointer" <vn-icon
icon="keyboard_arrow_right"
class="pointer"
ng-click="$ctrl.moveNext($ctrl.skip)" ng-click="$ctrl.moveNext($ctrl.skip)"
ng-show="$ctrl.displayControls" ng-show="$ctrl.displayControls"
</vn-icon> </vn-icon>

View File

@ -16,8 +16,8 @@ vn-calendar {
} }
.weekdays { .weekdays {
border-bottom: 1px solid $hover; border-bottom: 1px solid $color-hover-cd;
border-top: 1px solid $hover; border-top: 1px solid $color-hover-cd;
font-weight: bold font-weight: bold
} }
@ -43,98 +43,98 @@ vn-calendar {
} }
.day.gray { .day.gray {
color: $secondary-font-color color: $color-font-secondary
} }
.day.orange { .day.orange {
font-weight: bold; font-weight: bold;
color: $main-01; color: $color-main;
} }
.day.orange-circle { .day.orange-circle {
color: $main-font-color; color: $color-font;
& > span { & > span {
background-color: $main-01 background-color: $color-main
} }
} }
.day.orange-circle:hover { .day.orange-circle:hover {
& > span { & > span {
background-color: $main-01-05 background-color: $color-main-medium
} }
} }
.day.light-orange { .day.light-orange {
color: $main-01-05 color: $color-main-medium
} }
.day.green { .day.green {
font-weight: bold; font-weight: bold;
color: $main-02; color: $color-success;
} }
.day.green-circle { .day.green-circle {
color: $main-font-color; color: $color-font;
& > span { & > span {
background-color: $main-02 background-color: $color-success
} }
} }
.day.green-circle:hover { .day.green-circle:hover {
& > span { & > span {
background-color: $main-02-05 background-color: $color-success-medium
} }
} }
.day.light-green { .day.light-green {
font-weight: bold; font-weight: bold;
color: $main-02-05 color: $color-success-medium
} }
.day.blue { .day.blue {
font-weight: bold; font-weight: bold;
color: $main-03; color: $color-notice;
} }
.day.blue-circle { .day.blue-circle {
color: $main-font-color; color: $color-font;
& > span { & > span {
background-color: $main-03 background-color: $color-notice
} }
} }
.day.blue-circle:hover { .day.blue-circle:hover {
& > span { & > span {
background-color: $main-03-05 background-color: $color-notice-medium
} }
} }
.day.light-blue { .day.light-blue {
font-weight: bold; font-weight: bold;
color: $main-03-05 color: $color-notice-medium
} }
.day.red { .day.red {
font-weight: bold; font-weight: bold;
color: $alert-01 color: $color-alert
} }
.day.red-circle { .day.red-circle {
color: $main-font-color; color: $color-font;
& > span { & > span {
background-color: $alert-01 background-color: $color-alert
} }
} }
.day.red-circle:hover { .day.red-circle:hover {
& > span { & > span {
background-color: $alert-01-05 background-color: $color-alert-medium
} }
} }
.day.light-red { .day.light-red {
font-weight: bold; font-weight: bold;
color: $alert-01-05; color: $color-alert-medium;
} }
} }
} }

View File

@ -10,7 +10,7 @@ vn-check {
padding-left: 5px; padding-left: 5px;
position: absolute; position: absolute;
bottom: 3px; bottom: 3px;
color: $secondary-font-color; color: $color-font-secondary;
font-size: 20px !important font-size: 20px !important
} }
} }

View File

@ -4,12 +4,12 @@ vn-chip {
margin: 0 0.5em 0.5em 0; margin: 0 0.5em 0.5em 0;
.mdl-chip { .mdl-chip {
background-color: rgba($main-01, 0.9); background-color: rgba($color-main, 0.9);
color: #FFF color: #FFF
} }
.mdl-chip:active { .mdl-chip:active {
background-color: $main-01 background-color: $color-main
} }
& > vn-one > span > span { & > vn-one > span > span {

View File

@ -22,5 +22,5 @@ vn-date-picker {
.flatpickr-months .flatpickr-month, .flatpickr-months .flatpickr-month,
.flatpickr-weekdays, .flatpickr-weekdays,
span.flatpickr-weekday { span.flatpickr-weekday {
background-color: $main-01; background-color: $color-main;
} }

View File

@ -21,7 +21,7 @@
} }
& > div { & > div {
position: relative; position: relative;
box-shadow: 0 0 .4em rgba(0, 0, 0, .4); box-shadow: 0 0 .4em $color-shadow;
background-color: white; background-color: white;
border-radius: .2em; border-radius: .2em;
overflow: auto; overflow: auto;
@ -62,7 +62,7 @@
background-color: transparent; background-color: transparent;
border: none; border: none;
border-radius: .1em; border-radius: .1em;
color: $main-01; color: $color-main;
font-family: vn-font-bold; font-family: vn-font-bold;
padding: .7em; padding: .7em;
margin: -0.7em; margin: -0.7em;

View File

@ -24,7 +24,7 @@ vn-drop-down {
& .selected label { & .selected label {
font-size: inherit; font-size: inherit;
bottom: 2px; bottom: 2px;
color: $secondary-font-color; color: $color-font-secondary;
} }
} }
& > vn-icon[icon=clear] { & > vn-icon[icon=clear] {
@ -40,7 +40,7 @@ vn-drop-down {
font-size: 18px; font-size: 18px;
&:hover { &:hover {
color: $main-font-color; color: $color-font;
} }
} }
&:hover > vn-icon[icon=clear] { &:hover > vn-icon[icon=clear] {
@ -67,12 +67,11 @@ vn-drop-down {
margin-right: .6em; margin-right: .6em;
} }
&.active { &.active {
background-color: #3D3A3B; @extend %active;
color: white;
} }
} }
.status { .status {
color: $main-01; color: $color-main;
font-weight: bold; font-weight: bold;
} }
} }

View File

@ -20,7 +20,7 @@ vn-fetched-tags {
} }
& > vn-auto > .inline-tag { & > vn-auto > .inline-tag {
display: inline-block; display: inline-block;
color: $secondary-font-color; color: $color-font-secondary;
margin-right: .4em; margin-right: .4em;
text-align: center; text-align: center;
font-size: .8em; font-size: .8em;
@ -28,10 +28,10 @@ vn-fetched-tags {
padding: .1em; padding: .1em;
border-radius: .1em; border-radius: .1em;
width: 4em; width: 4em;
border: 1px solid $secondary-font-color; border: 1px solid $color-font-secondary;
&.empty { &.empty {
border: 1px solid $main-bg; border: 1px solid $color-bg;
} }
} }
} }

View File

@ -2,16 +2,17 @@
vn-icon-button { vn-icon-button {
outline: 0; outline: 0;
color: $color-main;
button { button {
background: transparent !important; background: transparent !important;
background-color: transparent !important; background-color: transparent !important;
display: inline-block; display: inline-block;
color: $main-01; color: inherit;
border: 0 border: 0;
}
button.mdl-button--colored { &.mdl-button--colored {
color: orange color: inherit;
}
} }
} }

View File

@ -9,7 +9,7 @@ vn-input-number {
vn-icon[icon=add], vn-icon[icon=add],
vn-icon[icon=remove]{ vn-icon[icon=remove]{
&:not(:hover){ &:not(:hover){
color: $secondary-font-color; color: $color-font-secondary;
} }
i { i {
-moz-user-select: none; -moz-user-select: none;

View File

@ -1,12 +1,12 @@
@import "variables"; @import "variables";
vn-input-range { vn-input-range {
label { label {
color: $main-01; color: $color-main;
font-size: 12px; font-size: 12px;
padding: 0 25px; padding: 0 25px;
} }
label.min-label, label.max-label { label.min-label, label.max-label {
color: $main-font-color; color: $color-font;
} }
label.max-label { label.max-label {
float: right; float: right;

View File

@ -2,19 +2,18 @@
vn-label-value > section { vn-label-value > section {
& > vn-label { & > vn-label {
color: $secondary-font-color; color: $color-font-secondary;
&::after { &::after {
content: ':'; content: ':';
} }
} }
& > span { & > span {
color: $main-font-color; color: $color-font;
} }
& > vn-icon { & > vn-icon {
vertical-align: middle; vertical-align: middle;
color: $secondary-font-color; color: $color-font-secondary;
font-size: 1.2em font-size: 1.2em
} }
} }

View File

@ -8,10 +8,10 @@ vn-log {
display: none; display: none;
} }
.label { .label {
color: $secondary-font-color; color: $color-font-secondary;
} }
.value { .value {
color: $main-font-color; color: $color-font;
} }
.after, .before { .after, .before {

View File

@ -5,7 +5,7 @@ vn-paging {
text-align: center; text-align: center;
ul { ul {
box-shadow: 0 0 .4em rgba(1,1,1,.4); box-shadow: 0 0 .4em $color-shadow;
background-color: #fff; background-color: #fff;
display: inline-block; display: inline-block;
margin: 20px 0; margin: 20px 0;
@ -20,7 +20,7 @@ vn-paging {
margin-left: 0; margin-left: 0;
} }
&.active > a { &.active > a {
background: $main-header; background: $color-active;
color: #fff; color: #fff;
} }
& > a, & > a,

View File

@ -1,3 +1,5 @@
@import "variables";
.vn-popover { .vn-popover {
display: none; display: none;
z-index: 20; z-index: 20;
@ -6,7 +8,7 @@
left: 0; left: 0;
right: 0; right: 0;
bottom: 0; bottom: 0;
color: initial; color: $color-font;
opacity: 0; opacity: 0;
transform: translateY(-.6em); transform: translateY(-.6em);
@ -20,22 +22,22 @@
} }
& > .popover { & > .popover {
position: absolute; position: absolute;
box-shadow: 0 .1em .4em rgba(1, 1, 1, .4); box-shadow: 0 .1em .4em $color-shadow;
z-index: 0; z-index: 0;
& > .arrow { & > .arrow {
width: 1em; width: 1em;
height: 1em; height: 1em;
margin: -.5em; margin: -.5em;
background-color: white; background-color: $color-bg-panel;
box-shadow: 0 .1em .4em rgba(1, 1, 1, .4); box-shadow: 0 .1em .4em $color-shadow;
position: absolute; position: absolute;
transform: rotate(45deg); transform: rotate(45deg);
z-index: -1; z-index: -1;
} }
& > .content { & > .content {
border-radius: .1em; border-radius: .1em;
background-color: white; background-color: $color-bg-panel;
height: inherit; height: inherit;
overflow: auto; overflow: auto;
} }

View File

@ -11,8 +11,8 @@ vn-snackbar #shapes {
} }
vn-snackbar .shape { vn-snackbar .shape {
background-color: rgba(1, 1, 1, 0.8); background-color: rgba(0, 0, 0, 0.8);
box-shadow: 0 0 .4em rgba(1,1,1,.4); box-shadow: 0 0 .4em $color-shadow;
transition: transform 300ms ease-in-out; transition: transform 300ms ease-in-out;
transform: translateY(20em); transform: translateY(20em);
box-sizing: border-box; box-sizing: border-box;
@ -52,7 +52,7 @@ vn-snackbar .shape {
margin-left: .5em; margin-left: .5em;
font-weight: bold; font-weight: bold;
cursor: pointer; cursor: pointer;
color: $main-01; color: $color-main;
float: right; float: right;
border: none; border: none;
padding: .5em; padding: .5em;

View File

@ -5,7 +5,7 @@ vn-step-control {
justify-content: center; justify-content: center;
.step-control { .step-control {
border-top: 2px solid $main-01; border-top: 2px solid $color-main;
margin-bottom: 15px; margin-bottom: 15px;
& > .steps { & > .steps {
@ -21,7 +21,7 @@ vn-step-control {
} }
& > .steps > .step .circle { & > .steps > .step .circle {
border: 2px solid $main-01; border: 2px solid $color-main;
background-color: white; background-color: white;
align-content: center; align-content: center;
margin-top: -9.5px; margin-top: -9.5px;
@ -34,7 +34,7 @@ vn-step-control {
} }
& > .steps > .step .circle.active { & > .steps > .step .circle.active {
background-color: $main-01; background-color: $color-main;
} }
& > .buttons { & > .buttons {

View File

@ -1 +1,8 @@
<div></div> <div>
<vn-empty-rows ng-if="$ctrl.model && !$ctrl.model.data" translate>
Enter a new search
</vn-empty-rows>
<vn-empty-rows ng-if="$ctrl.model.data.length === 0" translate>
No results
</vn-empty-rows>
</div>

View File

@ -1,4 +1,5 @@
@import "effects"; @import "effects";
@import "variables";
vn-table { vn-table {
display: block; display: block;
@ -10,55 +11,49 @@ vn-table {
display: table; display: table;
border-collapse: collapse; border-collapse: collapse;
vn-thead { & > vn-thead {
display: table-header-group; display: table-header-group;
border-bottom: .15em solid $color-spacer;
vn-th[field] { vn-th[field] {
position: relative; position: relative;
cursor: pointer overflow: visible;
} cursor: pointer;
vn-th[field] > * {
padding-right: 20px &.active > :after {
} color: $color-font;
vn-th[field] > :after { opacity: 1;
font-family: 'Material Icons'; }
content: 'arrow_drop_down'; &.desc > :after {
position: absolute; content: 'arrow_drop_down';
padding-left: 2px; }
color: $lines; &.asc > :after {
opacity: 0 content: 'arrow_drop_up';
} }
vn-th[field] > :hover:after { & > :after {
opacity: 1 font-family: 'Material Icons';
} content: 'arrow_drop_down';
vn-th[field].active > :after { position: absolute;
color: $main-font-color; color: $color-spacer;
opacity: 1 opacity: 0;
} }
vn-th[field].desc > :after { &:hover > :after {
content: 'arrow_drop_down'; opacity: 1;
} }
vn-th[field].asc > :after {
content: 'arrow_drop_up';
} }
} }
vn-tbody { & > vn-tbody {
display: table-row-group display: table-row-group;
} }
vn-tfoot { & > vn-tfoot {
border-top: .15em solid $color-spacer;
display: table-footer-group display: table-footer-group
} }
vn-tr, a.vn-tr { vn-tr, a.vn-tr {
display: table-row display: table-row
} }
vn-empty-rows {
display: table-caption;
caption-side: bottom;
text-align: center;
padding: 10px
}
vn-thead, vn-tbody, vn-tfoot { vn-thead, vn-tbody, vn-tfoot {
vn-tr, a.vn-tr { & > * {
display: table-row; display: table-row;
vn-th { vn-th {
@ -68,7 +63,11 @@ vn-table {
vertical-align: middle; vertical-align: middle;
display: table-cell; display: table-cell;
text-align: left; text-align: left;
padding: 10px; padding: .6em .5em;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 6em;
&[number] { &[number] {
text-align: right; text-align: right;
@ -76,38 +75,87 @@ vn-table {
&[center] { &[center] {
text-align: center; text-align: center;
} }
&[shrink] {
width: 1px;
text-align: center;
}
&[expand] {
max-width: 40em;
min-width: 0;
}
vn-icon.bright, i.bright { vn-icon.bright, i.bright {
color: #f7931e; color: #f7931e;
} }
} }
vn-th {
font-weight: bold;
padding-top: 1em;
padding-bottom: .8em;
}
& > :last-child {
padding-right: 1em;
}
& > :first-child {
padding-left: 1em;
}
}
a.vn-tr {
color: inherit;
} }
} }
vn-thead, vn-tbody, vn-empty-rows { vn-tbody > * {
border-bottom: 3px solid $lines; border-bottom: .1em solid $color-spacer-light;
}
vn-tbody > vn-tr, vn-tbody > a.vn-tr{
border-bottom: 1px solid $lines;
transition: background-color 200ms ease-in-out;
&,
& > vn-td,
& > vn-td > .chip {
transition: background-color 200ms ease-in-out;
}
&:last-child {
border-bottom: none;
}
&.clickable { &.clickable {
@extend %clickable; @extend %clickable;
} }
&.success, & > vn-td.success, & > vn-td-editable.success { & > vn-td > .chip {
background-color: rgba(163, 209, 49, 0.3); padding: .3em;
border-radius: .3em;
&:hover {
background-color: rgba(163, 209, 49, 0.5);
}
} }
&.warning, & > vn-td.warning, & > vn-td-editable.warning { &.notice,
background-color: rgba(247, 147, 30, 0.3); & > .notice,
& > vn-td > .notice {
&:hover { color: white;
background-color: rgba(247, 147, 30, 0.5); background-color: $color-notice;
} }
&.success,
& > .success,
& > vn-td > .success {
color: white;
background-color: $color-success;
}
&.warning,
& > .warning,
& > vn-td > .warning {
color: white;
background-color: $color-main;
}
&.alert,
& > .alert,
& > vn-td > .alert {
color: white;
background-color: $color-alert;
} }
} }
} }
vn-empty-rows {
display: table-caption;
caption-side: bottom;
text-align: center;
padding: 1.5em;
width: 100%;
box-sizing: border-box;
color: $color-font-secondary;
}
vn-autocomplete { vn-autocomplete {
div.mdl-textfield { div.mdl-textfield {
padding: 0px !important; padding: 0px !important;

View File

@ -9,13 +9,13 @@ vn-textarea {
position: absolute; position: absolute;
bottom: 0; bottom: 0;
pointer-events: none; pointer-events: none;
color: $secondary-font-color; color: $color-font-secondary;
transition-duration: .2s; transition-duration: .2s;
transition-timing-function: cubic-bezier(.4,0,.2,1); transition-timing-function: cubic-bezier(.4,0,.2,1);
} }
& textarea.ng-not-empty+label.placeholder{ & textarea.ng-not-empty+label.placeholder{
top: 5px; top: 5px;
color: $main-01; color: $color-main;
padding: 0; padding: 0;
font-size: 12px; font-size: 12px;
visibility: visible!important; visibility: visible!important;

View File

@ -1,4 +1,5 @@
@import "variables"; @import "variables";
vn-textfield { vn-textfield {
margin: 20px 0!important; margin: 20px 0!important;
display: inline-block; display: inline-block;
@ -20,7 +21,7 @@ vn-textfield {
.leftIcons, .rightIcons, .suffix { .leftIcons, .rightIcons, .suffix {
display: flex; display: flex;
color: $secondary-font-color; color: $color-font-secondary;
.material-icons { .material-icons {
font-size: 20px !important font-size: 20px !important
@ -62,13 +63,13 @@ vn-textfield {
left: 0; left: 0;
padding: 4px 0!important; padding: 4px 0!important;
pointer-events: none; pointer-events: none;
color: $secondary-font-color; color: $color-font-secondary;
transition-duration: .2s; transition-duration: .2s;
transition-timing-function: cubic-bezier(.4,0,.2,1); transition-timing-function: cubic-bezier(.4,0,.2,1);
} }
&.not-empty label{ &.not-empty label{
bottom: 24px; bottom: 24px;
color: $main-01; color: $color-main;
padding: 0; padding: 0;
font-size: 12px; font-size: 12px;
} }
@ -104,10 +105,10 @@ vn-textfield {
content: ' '; content: ' ';
pointer-events: none; pointer-events: none;
width: 100%; width: 100%;
background-color: rgba(0,0,0,.12); background-color: $color-input-underline;
} }
.selected.underline { .selected.underline {
background-color: rgb(255,152,0); background-color: $color-main;
height: 2px; height: 2px;
left: 50%; left: 50%;
width: 0px !important; width: 0px !important;
@ -121,7 +122,7 @@ vn-textfield {
} }
label { label {
bottom: 24px; bottom: 24px;
color: $main-01; color: $color-main;
font-size: 12px; font-size: 12px;
} }
.selected.underline{ .selected.underline{

View File

@ -1,3 +1,3 @@
<div translate ng-click="$ctrl.onToggleOrder()"> <div translate">
<ng-transclude></ng-transclude> <ng-transclude></ng-transclude>
</div> </div>

View File

@ -4,9 +4,10 @@ export default class Th {
constructor($element) { constructor($element) {
this._order = 'ASC'; this._order = 'ASC';
this.column = $element[0]; this.column = $element[0];
$element.on('click', () => this.onToggleOrder());
} }
/** /**
* Changes the order if the cell has a field and defaultOrder property * Changes the order if the cell has a field and defaultOrder property
*/ */
$onInit() { $onInit() {
@ -31,46 +32,46 @@ export default class Th {
return this.column.getAttribute('field'); return this.column.getAttribute('field');
} }
/** /**
* Toggle order ASC/DESC * Toggle order ASC/DESC
*/ */
toggleOrder() { toggleOrder() {
if (this.order === 'ASC') { if (this.order === 'ASC')
this.order = 'DESC'; this.order = 'DESC';
} else { else
this.order = 'ASC'; this.order = 'ASC';
}
} }
/** /**
* Applies a new filter order to the model and * Applies a new filter order to the model and
* updates the cell arrow * updates the cell arrow
*/ */
onToggleOrder() { onToggleOrder() {
if (!this.field) return; if (!this.field) return;
if (this.table.field == this.field) { if (this.table.field == this.field)
this.toggleOrder(); this.toggleOrder();
} else { else
this.table.setOrder(this.field, this.order); this.table.setOrder(this.field, this.order);
}
this.updateArrow(); this.updateArrow();
this.table.applyOrder(this.field, this.order); this.table.applyOrder(this.field, this.order);
} }
/** /**
* Set cell class to asc/desc * Set cell class to asc/desc
*/ */
updateArrow() { updateArrow() {
this.column.classList.remove('asc', 'desc'); this.column.classList.remove('asc', 'desc');
if (this.order === 'DESC') { if (this.order === 'DESC')
this.column.classList.add('desc'); this.column.classList.add('desc');
} else { else
this.column.classList.add('asc'); this.column.classList.add('asc');
}
} }
} }

View File

@ -1,9 +1,11 @@
@import "variables";
.vn-tooltip { .vn-tooltip {
display: none; display: none;
position: fixed; position: fixed;
z-index: 150; z-index: 150;
background-color: #333; background-color: $color-bg-dark;
color: white; color: $color-active-font;
border-radius: .2em; border-radius: .2em;
&.show { &.show {

View File

@ -23,25 +23,25 @@ vn-treeview {
} }
li > vn-horizontal:hover { li > vn-horizontal:hover {
background-color: $hover background-color: $color-hover-cd
} }
li.selected > vn-horizontal > .description .text, li.selected > vn-horizontal > .description .text,
li.included > vn-horizontal > .description .text { li.included > vn-horizontal > .description .text {
font-weight: bold; font-weight: bold;
color: $main-01; color: $color-main;
} }
li.included { li.included {
& > vn-horizontal > .description > vn-horizontal > vn-check { & > vn-horizontal > .description > vn-horizontal > vn-check {
.mdl-checkbox .mdl-checkbox__box-outline, { .mdl-checkbox .mdl-checkbox__box-outline, {
border: 2px solid $main-01-05; border: 2px solid $color-main-medium;
} }
fieldset[disabled] .mdl-checkbox .mdl-checkbox__box-outline, .mdl-checkbox.is-disabled .mdl-checkbox__box-outline { fieldset[disabled] .mdl-checkbox .mdl-checkbox__box-outline, .mdl-checkbox.is-disabled .mdl-checkbox__box-outline {
border: 2px solid rgba(0,0,0,.26); border: 2px solid rgba(0,0,0,.26);
} }
.mdl-checkbox .mdl-checkbox__tick-outline { .mdl-checkbox .mdl-checkbox__tick-outline {
background: $main-01-05; background: $color-main-medium;
} }
} }
} }

View File

@ -10,7 +10,7 @@ body {
} }
.mdl-button { .mdl-button {
font-weight: bolder; font-weight: bolder;
color: $main-01; color: $color-main;
} }
.mdl-button--colored { .mdl-button--colored {
color: white !important; color: white !important;
@ -18,31 +18,31 @@ body {
.mdl-textfield--floating-label.is-focused .mdl-textfield__label, .mdl-textfield--floating-label.is-focused .mdl-textfield__label,
.mdl-textfield--floating-label.is-dirty .mdl-textfield__label, .mdl-textfield--floating-label.is-dirty .mdl-textfield__label,
.mdl-textfield--floating-label.has-placeholder .mdl-textfield__label { .mdl-textfield--floating-label.has-placeholder .mdl-textfield__label {
color: $main-01 !important; color: $color-main !important;
} }
.mdl-checkbox.is-checked .mdl-checkbox__box-outline, { .mdl-checkbox.is-checked .mdl-checkbox__box-outline, {
border: 2px solid $main-01; border: 2px solid $color-main;
} }
fieldset[disabled] .mdl-checkbox .mdl-checkbox__box-outline, .mdl-checkbox.is-disabled .mdl-checkbox__box-outline { fieldset[disabled] .mdl-checkbox .mdl-checkbox__box-outline, .mdl-checkbox.is-disabled .mdl-checkbox__box-outline {
border: 2px solid rgba(0,0,0,.26); border: 2px solid rgba(0,0,0,.26);
} }
.mdl-checkbox.is-checked .mdl-checkbox__tick-outline { .mdl-checkbox.is-checked .mdl-checkbox__tick-outline {
background: $main-01; background: $color-main;
} }
.mdl-textfield__label::after{ .mdl-textfield__label::after{
background-color: $main-01 !important; background-color: $color-main !important;
} }
.mdl-button--colored, .mdl-button--colored,
.mdl-button--colored:focus, .mdl-button--colored:focus,
.mdl-button--colored:active { .mdl-button--colored:active {
background-color: $main-01 !important; background-color: $color-main !important;
} }
.mdl-button--colored:hover, .mdl-button--colored:hover,
.mdl-button--raised:hover { .mdl-button--raised:hover {
background-color: $main-01 !important; background-color: $color-main !important;
} }
.mdl-button--fab{ .mdl-button--fab{
color: white !important; color: white !important;
background-color: $main-01 !important; background-color: $color-main !important;
} }

View File

@ -1,7 +1,7 @@
@import "variables"; @import "variables";
body { body {
background-color: $bg-content; background-color: $color-bg;
overflow: auto; overflow: auto;
} }
vn-app { vn-app {
@ -13,7 +13,7 @@ vn-app {
left: 0; left: 0;
width: 100%; width: 100%;
z-index: 10; z-index: 10;
box-shadow: 0 .1em .2em rgba(1, 1, 1, .2); box-shadow: 0 .1em .2em $color-shadow;
height: $topbar-height; height: $topbar-height;
padding: .4em; padding: .4em;
@ -31,7 +31,7 @@ vn-app {
cursor: pointer; cursor: pointer;
&:hover { &:hover {
color: $main-01; color: $color-main;
} }
} }
& > .main-title { & > .main-title {

View File

@ -23,7 +23,7 @@ vn-home {
@extend %clickable-light; @extend %clickable-light;
overflow:hidden; overflow:hidden;
border-radius: 6px; border-radius: 6px;
background-color: $main-01; background-color: $color-main;
color: white; color: white;
display: flex; display: flex;
flex-direction: column; flex-direction: column;

View File

@ -19,6 +19,7 @@ vn-left-menu {
@extend %clickable; @extend %clickable;
padding: .5em 1em; padding: .5em 1em;
display: block; display: block;
color: inherit;
& > vn-icon:nth-child(1) { & > vn-icon:nth-child(1) {
vertical-align: middle; vertical-align: middle;
@ -32,8 +33,7 @@ vn-left-menu {
} }
& > li > a.active { & > li > a.active {
background-color: $main-header; @extend %active;
color: white;
} }
& > li > a.expanded { & > li > a.expanded {

View File

@ -6,10 +6,10 @@ vn-login {
width: 100%; width: 100%;
margin: 0; margin: 0;
padding: 0; padding: 0;
color: $main-font-color; color: $color-font;
font-size: 1.1em; font-size: 1.1em;
font-weight: normal; font-weight: normal;
background-color: #3c393b; background-color: $color-bg-dark;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
@ -21,8 +21,8 @@ vn-login {
max-width: 19em; max-width: 19em;
min-width: 15em; min-width: 15em;
padding: 3em; padding: 3em;
background-color: white; background-color: $color-bg-panel;
box-shadow: 0 0 1em 0 rgba(1,1,1,.6); box-shadow: 0 0 1em 0 rgba(0, 0, 0, .6);
border-radius: .5em; border-radius: .5em;
& > img { & > img {
@ -63,12 +63,11 @@ vn-login {
} }
@media screen and (max-width: 600px) { @media screen and (max-width: 600px) {
background-color: white; background-color: $color-bg-panel;
& > .box { & > .box {
padding: 1em; padding: 1em;
box-shadow: none; box-shadow: none;
background-color: white;
} }
} }
} }

View File

@ -15,7 +15,7 @@ vn-main-menu {
padding-left: .6em; padding-left: .6em;
&:hover { &:hover {
color: $main-01; color: $color-main;
} }
} }
& > #user { & > #user {
@ -35,7 +35,7 @@ vn-main-menu {
& > li { & > li {
@extend %clickable-light; @extend %clickable-light;
background-color: $main-01; background-color: $color-main;
margin-bottom: .6em; margin-bottom: .6em;
padding: .8em; padding: .8em;
border-radius: .1em; border-radius: .1em;

View File

@ -7,8 +7,8 @@ vn-side-menu > .menu {
bottom: 0; bottom: 0;
width: $menu-width; width: $menu-width;
min-width: $menu-width; min-width: $menu-width;
background-color: white; background-color: $color-bg-panel;
box-shadow: 0 .1em .2em rgba(1, 1, 1, .2); box-shadow: 0 .1em .2em $color-shadow;
overflow: auto; overflow: auto;
top: $topbar-height; top: $topbar-height;

View File

@ -4,7 +4,7 @@ vn-topbar {
display: flex; display: flex;
color: white; color: white;
box-sizing: border-box; box-sizing: border-box;
background-color: $bg-dark-bar; background-color: $color-header;
align-items: center; align-items: center;
& > header { & > header {

View File

@ -2,7 +2,7 @@
vn-user-configuration-popover { vn-user-configuration-popover {
vn-popover { vn-popover {
color: $main-font-color; color: $color-font;
vn-vertical { vn-vertical {
min-width: 250px; min-width: 250px;
} }

View File

@ -1,29 +1,11 @@
@import "./variables"; @import "./variables";
html [bg-main], .bg-main { .bg-panel {
background-color: $main-bg; background-color: $color-bg-panel;
} }
html [bg-minor], .bg-minor { .item-hightlight {
background-color: $bg-minor; background-color: $color-hightlight;
} }
html [bg-content], .bg-content { .item-disabled {
background-color: $bg-content; opacity: $color-disabled;
}
html [bg-panel], .bg-panel {
background-color: $bg-panel;
}
html [bg-dark-bar], .bg-dark-bar {
background-color: $bg-dark-bar;
}
html [bg-dark-menu], .bg-dark-menu {
background-color: darken($bg-dark-menu, 35%);
}
/* Color para items seleccionados */
.bg-dark-item {
background-color: $bg-dark-bar;
color: $color-white;
}
/* Color para items inactivos */
.bg-opacity-item {
opacity: 0.6;
} }

View File

@ -1,4 +1,3 @@
@import "./colors";
@import "./variables"; @import "./variables";
html [border-none], .border-none { html [border-none], .border-none {

View File

@ -1,32 +0,0 @@
$main-font-color:#222222;
$secondary-font-color: #9b9b9b;
$main-header: #3d3d3d;
$hover: rgba(0, 0, 0, 0.1);
$hover-opacity: .7;
$main-bg: #e5e5e5;
$main-01: #f7931e;
$main-01-05: rgba($main-01, 0.5);
$main-01-03: rgba($main-01, 0.3);
$main-02: #a3d131;
$main-02-05: rgba($main-02, 0.5);
$main-02-03: rgba($main-02, 0.3);
$main-03: #32b1ce;
$main-03-05: rgba($main-03, 0.5);
$main-03-03: rgba($main-03, 0.3);
$lines: #9b9b9b;
$alert-01: #f42121;
$alert-01-03: rgba($alert-01, 0.5);
$alert-01-05: rgba($alert-01, 0.5);
$color-green: #a3d131;
$color-orange: #f7931e;
$color-white: white;
$color-dark: $main-header; //headerbar
$color-dark-grey: #424242;
$color-light-grey: $main-bg;
$color-medium-grey: $secondary-font-color;
$color-grey: #c4c4c4; //deprecated
$color-medium-green: rgba($color-green, 0.5);
$color-medium-orange: rgba($color-orange, 0.5);
$color-light-green: rgba($color-green, 0.3);
$color-light-orange: rgba($color-orange, 0.3);

View File

@ -1,14 +1,13 @@
@import "./effects"; @import "./effects";
@import "./colors";
@import "./variables"; @import "./variables";
.vn-descriptor { .vn-descriptor {
box-shadow: 0 .1em .2em rgba(1, 1, 1, .2); box-shadow: 0 .1em .2em $color-shadow;
& > .header { & > .header {
display: flex; display: flex;
background: $main-01; background: $color-main;
color: white; color: white;
justify-content: space-between; justify-content: space-between;
align-items: stretch; align-items: stretch;
@ -21,6 +20,7 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
padding: .5em; padding: .5em;
color: inherit;
& > vn-icon { & > vn-icon {
font-size: 1.8em; font-size: 1.8em;
@ -47,12 +47,11 @@
& > vn-icon { & > vn-icon {
padding: $pad-small; padding: $pad-small;
color: #666; color: $color-secondary;
opacity: .4;
font-size: 1.5em; font-size: 1.5em;
&.bright { &.bright {
color: $main-01; color: $color-main;
opacity: 1; opacity: 1;
} }
} }

View File

@ -2,16 +2,6 @@
display: block; display: block;
} }
.well {
min-height: 20px;
padding: 19px;
margin-bottom: 20px;
background-color: #f5f5f5;
border: 1px solid #e3e3e3;
border-radius: 4px;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
}
.form-group { .form-group {
margin-bottom: 15px; margin-bottom: 15px;
} }

View File

@ -1,12 +1,12 @@
@import "./colors"; @import "./variables";
%clickable { %clickable {
cursor: pointer; cursor: pointer;
transition: background-color 250ms ease-out; transition: background-color 250ms ease-out;
&:hover { &:hover {
background-color: $hover; background-color: $color-hover-cd;
} }
} }
@ -15,6 +15,11 @@
transition: opacity 250ms ease-out; transition: opacity 250ms ease-out;
&:hover { &:hover {
opacity: $hover-opacity; opacity: $color-hover-dc;
} }
}
%active {
background-color: $color-active;
color: $color-active-font;
} }

View File

@ -1,24 +1,16 @@
@import "./colors"; @import "./variables";
@import "./font-family"; @import "./font-family";
body { body {
color: $main-font-color; color: $color-font;
font-family: vn-font; font-family: vn-font;
} }
html [uppercase], .uppercase { html [uppercase], .uppercase {
text-transform: uppercase; text-transform: uppercase;
} }
html [color-main], .color-main {
html [orange], .orange {color: $main-01} color: $color-main;
html [green], .green {color: $main-02} }
html [blue], .blue {color: $main-03} html [color-secondary], .color-secondary {
html [red], html [alert], .red, .alert {color: $alert-01} color: $color-secondary;
html [white], .white {color: $color-white} }
html [dark], .dark {color: $color-dark}
html [dark-grey], .dark-grey {color: $color-dark-grey}
html [light-grey], .light-grey {color: $color-light-grey}
html [medium-grey], .medium-grey {color: $hover}
html [medium-green], .medium-green {color: $color-medium-green}
html [medium-orange], .medium-orange {color: $color-medium-orange}
html [light-green], .light-green {color: $color-light-green}
html [light-orange], .light-orange {color: $color-light-orange}

View File

@ -4,11 +4,10 @@ import './layout.scss';
import './display.scss'; import './display.scss';
import './margin.scss'; import './margin.scss';
import './padding.scss'; import './padding.scss';
import './background.scss';
import './border.scss'; import './border.scss';
import './background.scss';
import './font-style.scss'; import './font-style.scss';
import './misc.scss'; import './misc.scss';
import './colors.scss';
import './effects.scss'; import './effects.scss';
import './order-product.scss'; import './order-product.scss';
import './summary.scss'; import './summary.scss';

View File

@ -1,5 +1,4 @@
@import "./variables"; @import "./variables";
@import "./colors";
@import "./effects"; @import "./effects";
a:focus, a:focus,
@ -19,11 +18,16 @@ input[type=reset]::-moz-focus-inner {
-ms-user-select: none; -ms-user-select: none;
user-select: none; user-select: none;
} }
a , .link{
color: $color-main;
text-decoration: none;
}
.link { .link {
text-decoration: underline;
cursor: pointer; cursor: pointer;
&:hover{
color: $main-01!important; &:hover {
text-decoration: underline;
} }
} }
@ -73,14 +77,14 @@ html [vn-center], .vn-center{
.list-element{ .list-element{
padding: 8px 0 0 0; padding: 8px 0 0 0;
border-bottom: 1px solid $lines; border-bottom: 1px solid $color-spacer;
i { i {
color: $main-01; color: $color-main;
} }
} }
.tooltip { .tooltip {
.list-header{ .list-header{
border-bottom: 3px solid $color-medium-grey; border-bottom: 3px solid $color-spacer;
font-family: vn-font-bold; font-family: vn-font-bold;
text-align: center text-align: center
} }
@ -90,23 +94,23 @@ html [vn-center], .vn-center{
} }
.list-footer{ .list-footer{
font-family: vn-font-bold; font-family: vn-font-bold;
border-top: 3px solid $lines; border-top: 3px solid $color-spacer;
} }
.list-element.warning{ .list-element.warning{
background-color: $color-medium-orange; background-color: $color-main-medium;
} }
.list-element.success{ .list-element.success{
background-color: $color-medium-green; background-color: $color-success-medium;
} }
.list-element.success:hover{ .list-element.success:hover{
background-color: $color-light-green; background-color: $color-success-light;
} }
.list-element.warning:hover{ .list-element.warning:hover{
background-color: $color-light-orange; background-color: $color-main-light;
} }
.flatpickr-month, .flatpickr-weekdays, span.flatpickr-weekday { .flatpickr-month, .flatpickr-weekdays, span.flatpickr-weekday {
background-color: $main-01; background-color: $color-main;
} }
html [pointer], .pointer{ html [pointer], .pointer{
@ -117,14 +121,6 @@ html [noDrop], .noDrop{
cursor: no-drop; cursor: no-drop;
} }
a {
color: inherit;
&:link {
text-decoration: none;
}
}
html [compact], .compact{ html [compact], .compact{
max-width: 950px; max-width: 950px;
margin-left: auto; margin-left: auto;
@ -159,7 +155,7 @@ a.vn-list-item {
.vn-list-item { .vn-list-item {
padding: $pad-medium; padding: $pad-medium;
border-bottom: $border-thin solid $border-color; border-bottom: $border-thin solid $color-spacer-light;
display: block; display: block;
text-decoration: none; text-decoration: none;
@ -174,7 +170,7 @@ a.vn-list-item {
vn-icon { vn-icon {
opacity: .4; opacity: .4;
color: $main-01; color: $color-main;
margin-left: .5em; margin-left: .5em;
transition: opacity 250ms ease-out; transition: opacity 250ms ease-out;
font-size: 2em; font-size: 2em;
@ -198,7 +194,7 @@ fieldset[disabled] .mdl-checkbox .mdl-checkbox__label,
} }
fieldset[disabled] .mdl-textfield .mdl-textfield__label, fieldset[disabled] .mdl-textfield .mdl-textfield__label,
.mdl-textfield.is-disabled.is-disabled .mdl-textfield__label { .mdl-textfield.is-disabled.is-disabled .mdl-textfield__label {
color: $main-01 !important; color: $color-main !important;
} }
/** END - FORM ELEMENTS DISABLED **/ /** END - FORM ELEMENTS DISABLED **/
@ -210,17 +206,11 @@ fieldset[disabled] .mdl-textfield .mdl-textfield__label,
} }
.counter { .counter {
background-color: $main-header; @extend %active;
display: inline-block;
color: $color-white;
text-align: center;
border-radius: 3px;
min-width: 1.5em;
padding: 5px
}
.counter.small { &.small {
font-size: 0.7em font-size: 0.7em
}
} }
.vn-grid { .vn-grid {
@ -242,10 +232,10 @@ fieldset[disabled] .mdl-textfield .mdl-textfield__label,
} }
} }
& > thead, & > tbody { & > thead, & > tbody {
border-bottom: 3px solid $lines; border-bottom: 3px solid $color-spacer;
} }
& > tbody > tr { & > tbody > tr {
border-bottom: 1px solid $lines; border-bottom: 1px solid $color-spacer;
transition: background-color 200ms ease-in-out; transition: background-color 200ms ease-in-out;
&.clickable { &.clickable {

View File

@ -1,10 +1,9 @@
@import 'colors'; @import './variables';
@import "./padding";
vn-dialog.modal-form { vn-dialog.modal-form {
vn-horizontal.header{ vn-horizontal.header{
@extend .pad-small; padding: $pad-small;
background-color: $main-01; background-color: $color-main;
h5{ h5{
color: white; color: white;
margin: 0 auto; margin: 0 auto;

View File

@ -1,4 +1,4 @@
@import "./colors"; @import "./variables";
@media screen and (max-width: 1920px){ @media screen and (max-width: 1920px){
.catalog-list .product { .catalog-list .product {
@ -34,7 +34,7 @@
padding: 4px; padding: 4px;
& > vn-one { & > vn-one {
border: 1px solid rgba($lines, 0.5); border: 1px solid rgba($color-spacer, 0.5);
display: block display: block
} }
@ -66,7 +66,7 @@
} }
& > span { & > span {
color: $secondary-font-color; color: $color-font-secondary;
text-transform: uppercase; text-transform: uppercase;
margin-bottom: 0.5em; margin-bottom: 0.5em;
font-weight: bold; font-weight: bold;
@ -85,7 +85,7 @@
font-size: 0.8em; font-size: 0.8em;
& > vn-one span:first-child { & > vn-one span:first-child {
color: $secondary-font-color color: $color-font-secondary
} }
& > vn-one span:first-child, & > vn-one span:last-child { & > vn-one span:first-child, & > vn-one span:last-child {
@ -93,7 +93,7 @@
} }
vn-icon[icon="add_circle"] { vn-icon[icon="add_circle"] {
color: $main-01 color: $color-main
} }
} }
} }

View File

@ -1,4 +1,3 @@
@import "./colors";
@import "./variables"; @import "./variables";
.summary { .summary {
@ -9,8 +8,8 @@
& > h5 { & > h5 {
padding: $pad-small; padding: $pad-small;
border: none; border: none;
background: $main-01; background: $color-main;
color: $color-white; color: white;
margin: 0; margin: 0;
text-align: center; text-align: center;
line-height: 1.3em; line-height: 1.3em;
@ -30,8 +29,8 @@
padding: 7px; padding: 7px;
padding-bottom: 4px; /* Bottom line-height fix */ padding-bottom: 4px; /* Bottom line-height fix */
font-family: unset; font-family: unset;
background-color: $main-01-03; background-color: $color-main-light;
border-bottom: .1em solid $main-01; border-bottom: .1em solid $color-main;
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;

View File

@ -1,4 +1,4 @@
@import "./colors"; @import "./variables";
h1 { h1 {
font-size: 32pt; font-size: 32pt;
@ -24,5 +24,5 @@ h1, h2, h3, h4, h5, h6 {
margin-top: 0; margin-top: 0;
margin-bottom: .2em; margin-bottom: .2em;
font-family: vn-font-bold; font-family: vn-font-bold;
color: $main-font-color color: $color-font
} }

View File

@ -1,18 +1,8 @@
@import "./colors";
$menu-width: 16em; $menu-width: 16em;
$topbar-height: 4em; $topbar-height: 4em;
$mobile-width: 800px; $mobile-width: 800px;
// Background color
$bg-main: $color-green;
$bg-minor: $color-orange;
$bg-content: $color-light-grey;
$bg-panel: $color-white;
$bg-dark-bar: $main-header;
$bg-dark-menu: $color-dark-grey;
// Padding // Padding
$pad-none: 0; $pad-none: 0;
@ -30,5 +20,72 @@ $margin-large: 32px;
// Border // Border
$border-color: #AAA; $border-color: #AAA;
$border-thin: 1px; $border-thin: .1em;
$border-thick: 2px; $border-thick: .15em;
// Light theme
$color-header: #3d3d3d;
$color-bg: #e5e5e5;
$color-bg-dark: #3d3d3d;
$color-font:#222222;
$color-font-secondary: #9b9b9b;
$color-active: #3d3d3d;
$color-active-font: white;
$color-bg-panel: white;
$color-main: #f7931e;
$color-secondary: #ccc;
$color-success: #a3d131;
$color-notice: #32b1ce;
$color-alert: #f42121;
$color-spacer: rgba(0, 0, 0, .3);
$color-spacer-light: rgba(0, 0, 0, .12);
$color-input-underline: rgba(0, 0, 0, .12);
$color-shadow: rgba(0, 0, 0, .2);
$color-hightlight: rgba(0, 0, 0, .15);
$color-hover-cd: rgba(0, 0, 0, .1);
$color-hover-dc: .7;
$color-disabled: .6;
$color-main-medium: lighten($color-main, 20%);
$color-main-light: lighten($color-main, 35%);
$color-success-medium: lighten($color-success, 20%);
$color-success-light: lighten($color-success, 35%);
$color-notice-medium: lighten($color-notice, 20%);
$color-notice-light: lighten($color-notice, 35%);
$color-alert-medium: lighten($color-alert, 20%);
$color-alert-light: lighten($color-alert, 35%);
// Dark theme
/*
$color-header: #3d3d3d;
$color-bg: #222;
$color-bg-dark: #222;
$color-font: white;
$color-font-secondary: #777;
$color-active: #666;
$color-active-font: white;
$color-bg-panel: #3c3b3b;
$color-main: #f7931e;
$color-secondary: #ccc;
$color-success: #a3d131;
$color-notice: #32b1ce;
$color-alert: #f42121;
$color-spacer: rgba(255, 255, 255, .3);
$color-spacer-light: rgba(255, 255, 255, .12);
$color-input-underline: rgba(255, 255, 255, .12);
$color-shadow: rgba(0, 0, 0, .2);
$color-hightlight: rgba(255, 255, 255, .15);
$color-hover-cd: rgba(255, 255, 255, .1);
$color-hover-dc: .7;
$color-disabled: .6;
$color-main-medium: darken($color-main, 20%);
$color-main-light: darken($color-main, 35%);
$color-success-medium: darken($color-success, 20%);
$color-success-light: darken($color-success, 35%);
$color-notice-medium: darken($color-notice, 20%);
$color-notice-light: darken($color-notice, 35%);
$color-alert-medium: darken($color-alert, 20%);
$color-alert-light: darken($color-alert, 35%);
/**/

View File

@ -17,7 +17,7 @@
</vn-searchbar> </vn-searchbar>
</vn-card> </vn-card>
</div> </div>
<vn-card margin-medium-v pad-medium> <vn-card margin-medium-v>
<vn-table model="model"> <vn-table model="model">
<vn-thead> <vn-thead>
<vn-tr> <vn-tr>
@ -47,9 +47,6 @@
</vn-td> </vn-td>
</vn-tr> </vn-tr>
</vn-tbody> </vn-tbody>
<vn-empty-rows ng-if="!model.data || model.data.length === 0" translate>
Enter a new search
</vn-empty-rows>
</vn-table> </vn-table>
</vn-card> </vn-card>
<vn-pagination model="model"></vn-pagination> <vn-pagination model="model"></vn-pagination>
@ -61,7 +58,6 @@
<vn-zone-summary zone="$ctrl.zoneSelected"></vn-zone-summary> <vn-zone-summary zone="$ctrl.zoneSelected"></vn-zone-summary>
</tpl-body> </tpl-body>
</vn-dialog> </vn-dialog>
<a ui-sref="zone.create" vn-tooltip="New zone" vn-bind="+" fixed-bottom-right> <a ui-sref="zone.create" vn-tooltip="New zone" vn-bind="+" fixed-bottom-right>
<vn-float-button icon="add"></vn-float-button> <vn-float-button icon="add"></vn-float-button>
</a> </a>

View File

@ -43,21 +43,23 @@
<vn-tr> <vn-tr>
<vn-th number>Id</vn-th> <vn-th number>Id</vn-th>
<vn-th>Destination</vn-th> <vn-th>Destination</vn-th>
<vn-th number>Landed</vn-th> <vn-th>Landed</vn-th>
<vn-th number>Quantity</vn-th> <vn-th number>Quantity</vn-th>
<vn-th number>Description</vn-th> <vn-th>Description</vn-th>
<vn-th number>Price</vn-th> <vn-th number>Price</vn-th>
<vn-th number>Disc.</vn-th> <vn-th number>Disc.</vn-th>
<vn-th number>Total</vn-th> <vn-th number>Total</vn-th>
</vn-tr> </vn-tr>
</vn-thead> </vn-thead>
<vn-tbody> <vn-tbody>
<vn-tr ng-repeat="saleClaimed in $ctrl.salesClaimed" vn-repeat-last on-last="$ctrl.focusLastInput()"> <vn-tr
ng-repeat="saleClaimed in $ctrl.salesClaimed"
vn-repeat-last on-last="$ctrl.focusLastInput()">
<vn-td number> <vn-td number>
<span <span
ng-click="$ctrl.showDescriptor($event, saleClaimed.sale.itemFk)" ng-click="$ctrl.showDescriptor($event, saleClaimed.sale.itemFk)"
pointer class="link"> class="link">
{{("000000"+saleClaimed.sale.itemFk).slice(-6)}} {{saleClaimed.sale.itemFk | zeroFill:6}}
</span> </span>
</vn-td> </vn-td>
<vn-td> <vn-td>
@ -72,21 +74,17 @@
on-change="$ctrl.setClaimDestination(saleClaimed.id, value)"> on-change="$ctrl.setClaimDestination(saleClaimed.id, value)">
</vn-autocomplete> </vn-autocomplete>
</vn-td> </vn-td>
<vn-td number>{{saleClaimed.sale.ticket.landed | dateTime: 'dd/MM/yyyy'}}</vn-td> <vn-td>{{saleClaimed.sale.ticket.landed | dateTime: 'dd/MM/yyyy'}}</vn-td>
<vn-td number>{{saleClaimed.sale.quantity}}</vn-td> <vn-td number>{{saleClaimed.sale.quantity}}</vn-td>
<vn-td number>{{saleClaimed.sale.concept}}</vn-td> <vn-td expand>{{saleClaimed.sale.concept}}</vn-td>
<vn-td number>{{saleClaimed.sale.price | currency: 'EUR':2}}</vn-td> <vn-td number>{{saleClaimed.sale.price | currency: 'EUR':2}}</vn-td>
<vn-td number>{{saleClaimed.sale.discount}} %</vn-td> <vn-td number>{{saleClaimed.sale.discount}} %</vn-td>
<vn-td number> <vn-td number>
{{(saleClaimed.sale.quantity * saleClaimed.sale.price) - {{saleClaimed.sale.quantity * saleClaimed.sale.price *
((saleClaimed.sale.discount * ((100 - saleClaimed.sale.discount) / 100) | currency: 'EUR':2}}
(saleClaimed.sale.quantity * saleClaimed.sale.price))/100) | currency: 'EUR':2
}}
</vn-td> </vn-td>
<vn-td number> <vn-td shrink>
<vn-icon-button <vn-icon-button
medium-grey
margin-medium-v
vn-tooltip="Remove line" vn-tooltip="Remove line"
icon="delete" icon="delete"
ng-click="$ctrl.deleteClaimedSale(saleClaimed.id)" ng-click="$ctrl.deleteClaimedSale(saleClaimed.id)"
@ -95,9 +93,6 @@
</vn-td> </vn-td>
</vn-tr> </vn-tr>
</vn-tbody> </vn-tbody>
<vn-empty-rows ng-if="model.data.length === 0" translate>
No results
</vn-empty-rows>
</vn-table> </vn-table>
</vn-vertical> </vn-vertical>
</vn-card> </vn-card>
@ -116,43 +111,40 @@
--> -->
<!-- Add Lines Dialog --> <!-- Add Lines Dialog -->
<vn-dialog <vn-dialog vn-id="addSales">
vn-id="addSales">
<tpl-body> <tpl-body>
<h3 translate>Claimable sales from ticket</h3><h3> {{$ctrl.claim.ticketFk}}</h3> <h3 translate>Claimable sales from ticket</h3><h3> {{$ctrl.claim.ticketFk}}</h3>
<vn-table> <vn-table>
<vn-thead> <vn-thead>
<vn-tr> <vn-tr>
<vn-th number>Id</vn-th> <vn-th number>Id</vn-th>
<vn-th number>Landed</vn-th> <vn-th>Landed</vn-th>
<vn-th number>Quantity</vn-th> <vn-th number>Quantity</vn-th>
<vn-th number>Description</vn-th> <vn-th>Description</vn-th>
<vn-th number>Price</vn-th> <vn-th number>Price</vn-th>
<vn-th number>Disc.</vn-th> <vn-th number>Disc.</vn-th>
<vn-th number>Total</vn-th> <vn-th number>Total</vn-th>
</vn-tr> </vn-tr>
</vn-thead> </vn-thead>
<vn-tbody> <vn-tbody>
<vn-tr ng-repeat="sale in $ctrl.salesToClaim" class="clickable" ng-click="$ctrl.addClaimedSale(sale.saleFk)"> <vn-tr
ng-repeat="sale in $ctrl.salesToClaim"
class="clickable"
ng-click="$ctrl.addClaimedSale(sale.saleFk)">
<vn-td number>{{sale.saleFk}}</vn-td> <vn-td number>{{sale.saleFk}}</vn-td>
<vn-td number>{{sale.landed | dateTime: 'dd/MM/yyyy'}}</vn-td> <vn-td>{{sale.landed | dateTime: 'dd/MM/yyyy'}}</vn-td>
<vn-td number>{{sale.quantity}}</vn-td> <vn-td number>{{sale.quantity}}</vn-td>
<vn-td number>{{sale.concept}}</vn-td> <vn-td expand>{{sale.concept}}</vn-td>
<vn-td number>{{sale.price | currency: 'EUR':2}}</vn-td> <vn-td number>{{sale.price | currency: 'EUR':2}}</vn-td>
<vn-td number>{{sale.discount}} %</vn-td> <vn-td number>{{sale.discount}} %</vn-td>
<vn-td number> <vn-td number>
{{(sale.quantity * sale.price) - ((sale.discount * (sale.quantity * sale.price))/100) | currency: 'EUR':2}} {{sale.quantity * sale.price * ((100 - sale.discount) * / 100) | currency: 'EUR':2}}
</vn-td> </vn-td>
</vn-tr> </vn-tr>
</vn-tbody> </vn-tbody>
<vn-empty-rows ng-if="model.data.length === 0" translate>
No results
</vn-empty-rows>
</vn-table> </vn-table>
</tpl-body> </tpl-body>
</vn-dialog> </vn-dialog>
<vn-crud-model <vn-crud-model
vn-id="lastTicketsModel" vn-id="lastTicketsModel"
url="/claim/api/Tickets" url="/claim/api/Tickets"
@ -173,9 +165,9 @@
</vn-thead> </vn-thead>
<vn-tbody> <vn-tbody>
<vn-tr <vn-tr
class="clickable" class="clickable"
ng-repeat="ticket in lastTickets" ng-repeat="ticket in lastTickets"
ng-click="$ctrl.importTicketLines(ticket.id)"> ng-click="$ctrl.importTicketLines(ticket.id)">
<vn-td number>{{::ticket.id}}</vn-td> <vn-td number>{{::ticket.id}}</vn-td>
<vn-td>{{::ticket.shipped | date: 'dd/MM/yyyy'}}</vn-td> <vn-td>{{::ticket.shipped | date: 'dd/MM/yyyy'}}</vn-td>
<vn-td>{{::ticket.agencyMode.name}}</vn-td> <vn-td>{{::ticket.agencyMode.name}}</vn-td>
@ -185,6 +177,7 @@
</vn-table> </vn-table>
</div> </div>
</vn-popover> </vn-popover>
<vn-item-descriptor-popover vn-id="descriptor" <vn-item-descriptor-popover
quicklinks="$ctrl.quicklinks"> vn-id="descriptor"
quicklinks="$ctrl.quicklinks">
</vn-item-descriptor-popover> </vn-item-descriptor-popover>

View File

@ -23,13 +23,14 @@
<vn-thead> <vn-thead>
<vn-tr> <vn-tr>
<vn-th number>Id</vn-th> <vn-th number>Id</vn-th>
<vn-th>Landed</vn-th> <vn-th center>Landed</vn-th>
<vn-th number>Quantity</vn-th> <vn-th number>Quantity</vn-th>
<vn-th number>Claimed</vn-th> <vn-th>Claimed</vn-th>
<vn-th>Description</vn-th> <vn-th>Description</vn-th>
<vn-th number>Price</vn-th> <vn-th number>Price</vn-th>
<vn-th number>Disc.</vn-th> <vn-th number>Disc.</vn-th>
<vn-th number>Total</vn-th> <vn-th number>Total</vn-th>
<vn-th></vn-th>
</vn-tr> </vn-tr>
</vn-thead> </vn-thead>
<vn-tbody> <vn-tbody>
@ -37,13 +38,13 @@
<vn-td number> <vn-td number>
<span <span
ng-click="$ctrl.showDescriptor($event, saleClaimed.sale.itemFk)" ng-click="$ctrl.showDescriptor($event, saleClaimed.sale.itemFk)"
pointer class="link"> class="link">
{{::saleClaimed.sale.itemFk | zeroFill:6}} {{::saleClaimed.sale.itemFk | zeroFill:6}}
</span> </span>
</vn-td> </vn-td>
<vn-td>{{::saleClaimed.sale.ticket.landed | dateTime:'dd/MM/yyyy'}}</vn-td> <vn-td center>{{::saleClaimed.sale.ticket.landed | dateTime:'dd/MM/yyyy'}}</vn-td>
<vn-td number>{{::saleClaimed.sale.quantity}}</vn-td> <vn-td number>{{::saleClaimed.sale.quantity}}</vn-td>
<vn-td number> <vn-td>
<vn-textfield <vn-textfield
vn-focus vn-focus
model="saleClaimed.quantity" model="saleClaimed.quantity"
@ -51,16 +52,14 @@
type="text"> type="text">
</vn-textfield> </vn-textfield>
</vn-td> </vn-td>
<vn-td>{{::saleClaimed.sale.concept}}</vn-td> <vn-td expand>{{::saleClaimed.sale.concept}}</vn-td>
<vn-td number>{{::saleClaimed.sale.price | currency: 'EUR':2}}</vn-td> <vn-td number>{{::saleClaimed.sale.price | currency: 'EUR':2}}</vn-td>
<vn-td number>{{::saleClaimed.sale.discount}} %</vn-td> <vn-td number>{{::saleClaimed.sale.discount}} %</vn-td>
<vn-td number> <vn-td number>
{{::$ctrl.getSaleTotal(saleClaimed.sale) | currency: 'EUR':2}} {{::$ctrl.getSaleTotal(saleClaimed.sale) | currency: 'EUR':2}}
</vn-td> </vn-td>
<vn-td number> <vn-td shrink>
<vn-icon-button <vn-icon-button
medium-grey
margin-medium-v
vn-tooltip="Remove sale" vn-tooltip="Remove sale"
icon="delete" icon="delete"
ng-click="$ctrl.deleteClaimedSale($index)" ng-click="$ctrl.deleteClaimedSale($index)"
@ -69,9 +68,6 @@
</vn-td> </vn-td>
</vn-tr> </vn-tr>
</vn-tbody> </vn-tbody>
<vn-empty-rows ng-if="$ctrl.salesClaimed.length === 0" translate>
No results
</vn-empty-rows>
</vn-table> </vn-table>
</vn-vertical> </vn-vertical>
</vn-card> </vn-card>

View File

@ -90,7 +90,6 @@
vn-acl="salesAssistant"> vn-acl="salesAssistant">
</vn-autocomplete> </vn-autocomplete>
<vn-icon-button <vn-icon-button
medium-grey
margin-medium-v margin-medium-v
vn-tooltip="Remove sale" vn-tooltip="Remove sale"
icon="delete" icon="delete"

View File

@ -18,13 +18,13 @@
</vn-searchbar> </vn-searchbar>
</vn-card> </vn-card>
</div> </div>
<vn-card margin-medium-v pad-medium compact> <vn-card margin-medium-v compact>
<vn-table model="model"> <vn-table model="model">
<vn-thead> <vn-thead>
<vn-tr> <vn-tr>
<vn-th field="id" number>Id</vn-th> <vn-th field="id" number>Id</vn-th>
<vn-th field="clientFk">Client</vn-th> <vn-th field="clientFk">Client</vn-th>
<vn-th field="created">Created</vn-th> <vn-th field="created" center>Created</vn-th>
<vn-th field="workerFk">Worker</vn-th> <vn-th field="workerFk">Worker</vn-th>
<vn-th field="claimStateFk">State</vn-th> <vn-th field="claimStateFk">State</vn-th>
<vn-th></vn-th> <vn-th></vn-th>
@ -36,15 +36,19 @@
class="{{::$ctrl.compareDate(ticket.shipped)}} clickable vn-tr searchResult" class="{{::$ctrl.compareDate(ticket.shipped)}} clickable vn-tr searchResult"
ui-sref="claim.card.summary({id: claim.id})"> ui-sref="claim.card.summary({id: claim.id})">
<vn-td number>{{::claim.id}}</vn-td> <vn-td number>{{::claim.id}}</vn-td>
<vn-td> <vn-td expand>
<span class="link" ng-click="$ctrl.showDescriptor($event, claim.client.id)"> <span class="link" ng-click="$ctrl.showDescriptor($event, claim.client.id)">
{{::claim.client.name}} {{::claim.client.name}}
</span> </span>
</vn-td> </vn-td>
<vn-td>{{::claim.created | date:'dd/MM/yyyy'}}</vn-td> <vn-td center>{{::claim.created | date:'dd/MM/yyyy'}}</vn-td>
<vn-td>{{::claim.worker.user.nickname}}</vn-td> <vn-td expand>{{::claim.worker.user.nickname}}</vn-td>
<vn-td class="{{::claim.claimState.description}}">{{::claim.claimState.description}}</vn-td>
<vn-td> <vn-td>
<span class="chip {{::$ctrl.stateColor(claim)}}">
{{::claim.claimState.description}}
</span>
</vn-td>
<vn-td shrink>
<vn-icon-button <vn-icon-button
ng-click="$ctrl.preview($event, claim)" ng-click="$ctrl.preview($event, claim)"
vn-tooltip="Preview" vn-tooltip="Preview"

View File

@ -1,5 +1,4 @@
import ngModule from '../module'; import ngModule from '../module';
import './style.scss';
export default class Controller { export default class Controller {
constructor($scope) { constructor($scope) {
@ -55,6 +54,17 @@ export default class Controller {
} }
} }
stateColor(claim) {
switch (claim.claimState.description) {
case 'Pendiente':
return 'warning';
case 'Gestionado':
return 'notice';
case 'Resuelto':
return 'success';
}
}
showDescriptor(event, clientFk) { showDescriptor(event, clientFk) {
this.$.descriptor.clientFk = clientFk; this.$.descriptor.clientFk = clientFk;
this.$.descriptor.parent = event.target; this.$.descriptor.parent = event.target;

View File

@ -1,16 +0,0 @@
@import "variables";
vn-claim-index {
.Pendiente {
background-color: $main-01-05;
}
.Gestionado {
background-color: $main-03-05;
}
.Anulado, .Cuestionado {
background-color: white;
}
.Resuelto {
background-color: $main-02-05;
}
}

View File

@ -55,27 +55,22 @@
<vn-td number> <vn-td number>
<span <span
ng-click="$ctrl.showDescriptor($event, saleClaimed.sale.itemFk)" ng-click="$ctrl.showDescriptor($event, saleClaimed.sale.itemFk)"
pointer class="link"> class="link">
{{("000000"+saleClaimed.sale.itemFk).slice(-6)}} {{saleClaimed.sale.itemFk | zeroFill:6}}
</span> </span>
</vn-td> </vn-td>
<vn-td>{{saleClaimed.sale.ticket.landed | dateTime: 'dd/MM/yyyy'}}</vn-td> <vn-td>{{saleClaimed.sale.ticket.landed | dateTime: 'dd/MM/yyyy'}}</vn-td>
<vn-td number>{{saleClaimed.sale.quantity}}</vn-td> <vn-td number>{{saleClaimed.sale.quantity}}</vn-td>
<vn-td number>{{saleClaimed.quantity}}</vn-td> <vn-td number>{{saleClaimed.quantity}}</vn-td>
<vn-td>{{saleClaimed.sale.concept}}</vn-td> <vn-td expand>{{saleClaimed.sale.concept}}</vn-td>
<vn-td number>{{saleClaimed.sale.price | currency: 'EUR':2}}</vn-td> <vn-td number>{{saleClaimed.sale.price | currency: 'EUR':2}}</vn-td>
<vn-td number>{{saleClaimed.sale.discount}} %</vn-td> <vn-td number>{{saleClaimed.sale.discount}} %</vn-td>
<vn-td number> <vn-td number>
{{(saleClaimed.sale.quantity * saleClaimed.sale.price) - {{saleClaimed.sale.quantity * saleClaimed.sale.price *
((saleClaimed.sale.discount * ((100 - saleClaimed.sale.discount) / 100) | currency: 'EUR':2}}
(saleClaimed.sale.quantity * saleClaimed.sale.price))/100) | currency: 'EUR':2
}}
</vn-td> </vn-td>
</vn-tr> </vn-tr>
</vn-tbody> </vn-tbody>
<vn-empty-rows ng-if="model.data.length === 0" translate>
No results
</vn-empty-rows>
</vn-table> </vn-table>
</vn-auto> </vn-auto>
<vn-auto> <vn-auto>
@ -99,9 +94,6 @@
<vn-td>{{development.claimRedelivery.description}}</vn-td> <vn-td>{{development.claimRedelivery.description}}</vn-td>
</vn-tr> </vn-tr>
</vn-tbody> </vn-tbody>
<vn-empty-rows ng-if="model.data.length === 0" translate>
No results
</vn-empty-rows>
</vn-table> </vn-table>
</vn-auto> </vn-auto>
<vn-auto> <vn-auto>
@ -110,10 +102,10 @@
<vn-thead> <vn-thead>
<vn-tr> <vn-tr>
<vn-th number>Id</vn-th> <vn-th number>Id</vn-th>
<vn-th number>Destination</vn-th> <vn-th>Destination</vn-th>
<vn-th number>Landed</vn-th> <vn-th number>Landed</vn-th>
<vn-th number>Quantity</vn-th> <vn-th number>Quantity</vn-th>
<vn-th number>Description</vn-th> <vn-th>Description</vn-th>
<vn-th number>Price</vn-th> <vn-th number>Price</vn-th>
<vn-th number>Disc.</vn-th> <vn-th number>Disc.</vn-th>
<vn-th number>Total</vn-th> <vn-th number>Total</vn-th>
@ -124,28 +116,23 @@
<vn-td number> <vn-td number>
<span <span
ng-click="$ctrl.showDescriptor($event, action.sale.itemFk)" ng-click="$ctrl.showDescriptor($event, action.sale.itemFk)"
pointer class="link"> class="link">
{{("000000"+action.sale.itemFk).slice(-6)}} {{action.sale.itemFk | zeroFill:6}}
</span> </span>
</vn-td> </vn-td>
<vn-td number>{{action.sale.id}}</vn-td> <vn-td number>{{action.sale.id}}</vn-td>
<vn-td number>{{action.claimBeggining.description}}</vn-td> <vn-td expand>{{action.claimBeggining.description}}</vn-td>
<vn-td number>{{action.sale.ticket.landed | dateTime: 'dd/MM/yyyy'}}</vn-td> <vn-td number>{{action.sale.ticket.landed | dateTime: 'dd/MM/yyyy'}}</vn-td>
<vn-td number>{{action.sale.quantity}}</vn-td> <vn-td number>{{action.sale.quantity}}</vn-td>
<vn-td number>{{action.sale.concept}}</vn-td> <vn-td expand>{{action.sale.concept}}</vn-td>
<vn-td number>{{action.sale.price}}</vn-td> <vn-td number>{{action.sale.price}}</vn-td>
<vn-td number>{{action.sale.discount}} %</vn-td> <vn-td number>{{action.sale.discount}} %</vn-td>
<vn-td number> <vn-td number>
{{(action.sale.quantity * action.sale.price) - {{action.sale.quantity * action.sale.price *
((action.sale.discount * ((100 - action.sale.discount) / 100) | currency: 'EUR':2}}
(action.sale.quantity * action.sale.price))/100) | currency: 'EUR':2
}}
</vn-td> </vn-td>
</vn-tr> </vn-tr>
</vn-tbody> </vn-tbody>
<vn-empty-rows ng-if="model.data.length === 0" translate>
No results
</vn-empty-rows>
</vn-table> </vn-table>
</vn-auto> </vn-auto>
</vn-horizontal> </vn-horizontal>

View File

@ -82,8 +82,6 @@
</vn-textfield> </vn-textfield>
<vn-none> <vn-none>
<vn-icon-button <vn-icon-button
medium-grey
margin-medium-v
vn-tooltip="Remove note" vn-tooltip="Remove note"
icon="delete" icon="delete"
ng-click="$ctrl.removeObservation($index)" ng-click="$ctrl.removeObservation($index)"
@ -93,7 +91,6 @@
</vn-horizontal> </vn-horizontal>
</div> </div>
<vn-icon-button <vn-icon-button
pointer
vn-bind="+" vn-bind="+"
vn-tooltip="Add note" vn-tooltip="Add note"
icon="add_circle" icon="add_circle"

View File

@ -8,23 +8,30 @@
</vn-crud-model> </vn-crud-model>
<div compact> <div compact>
<vn-card pad-large> <vn-card pad-large>
<vn-horizontal ng-repeat="address in addresses" class="pad-medium-top" style="align-items: center;"> <vn-horizontal
<vn-one border-radius class="pad-small border-solid" ng-repeat="address in addresses"
ng-class="{'bg-main': address.isDefaultAddress,'bg-opacity-item': !address.isActive && !address.isDefaultAddress}"> class="pad-medium-top"
style="align-items: center;">
<vn-one
border-radius
class="pad-small border-solid"
ng-class="{'item-hightlight': address.isDefaultAddress, 'item-disabled': !address.isActive && !address.isDefaultAddress}">
<vn-horizontal style="align-items: center;"> <vn-horizontal style="align-items: center;">
<vn-none pad-medium-h> <vn-none pad-medium-h>
<vn-icon-button icon="star" <vn-icon-button
icon="star"
ng-if="address.isDefaultAddress"> ng-if="address.isDefaultAddress">
</vn-icon-button> </vn-icon-button>
<vn-icon-button icon="star_border" <vn-icon-button
ng-if="!address.isActive" ng-if="!address.isActive"
icon="star_border"
vn-tooltip="Active first to set as default"> vn-tooltip="Active first to set as default">
</vn-icon-button> </vn-icon-button>
<vn-icon-button orange <vn-icon-button
ng-if="address.isActive && !address.isDefaultAddress"
icon="star_border" icon="star_border"
vn-tooltip="Set as default" vn-tooltip="Set as default"
ng-click="$ctrl.setDefault(address)" ng-click="$ctrl.setDefault(address)">
ng-if="address.isActive && !address.isDefaultAddress">
</vn-icon-button> </vn-icon-button>
</vn-none> </vn-none>
<vn-one border-solid-right> <vn-one border-solid-right>

View File

@ -28,8 +28,7 @@
</vn-textfield> </vn-textfield>
<vn-none> <vn-none>
<vn-icon <vn-icon
pointer pointer
medium-grey
margin-medium-v margin-medium-v
vn-tooltip="Remove contact" vn-tooltip="Remove contact"
icon="delete" icon="delete"

View File

@ -1,11 +1,18 @@
<div compact> <div compact>
<vn-card pad-large> <vn-card pad-large>
<vn-horizontal ng-repeat="classification in $ctrl.classifications track by classification.id" class="pad-medium-top" style="align-items: center;"> <vn-horizontal
<vn-one border-radius class="pad-small border-solid" ng-class="{'bg-main': !classification.finished,'bg-opacity-item': classification.finished}"> ng-repeat="classification in $ctrl.classifications track by classification.id"
class="pad-medium-top"
style="align-items: center;">
<vn-one
border-radius
class="pad-small border-solid"
ng-class="{'item-hightlight': !classification.finished,'item-disabled': classification.finished}">
<vn-horizontal style="align-items: center;"> <vn-horizontal style="align-items: center;">
<vn-none pad-medium-h orange> <vn-none pad-medium-h>
<vn-icon-button icon="lock" orange <vn-icon-button
ng-if="!classification.finished" ng-if="!classification.finished"
icon="lock"
vn-tooltip="Close contract" vn-tooltip="Close contract"
ng-click="$ctrl.closeContract(classification)"> ng-click="$ctrl.closeContract(classification)">
</vn-icon-button> </vn-icon-button>

View File

@ -2,6 +2,6 @@
vn-client-summary { vn-client-summary {
.alert span { .alert span {
color: $alert-01 !important color: $color-alert !important
} }
} }

View File

@ -2,9 +2,9 @@
vn-client-web-payment { vn-client-web-payment {
vn-icon[icon=clear] { vn-icon[icon=clear] {
color: $alert-01; color: $color-alert;
} }
vn-icon[icon=check] { vn-icon[icon=check] {
color: $main-02; color: $color-success;
} }
} }

View File

@ -23,8 +23,6 @@
</vn-textfield> </vn-textfield>
<vn-none> <vn-none>
<vn-icon <vn-icon
medium-grey
margin-medium-v
vn-acl="buyer,replenisher" vn-acl="buyer,replenisher"
pointer pointer
vn-tooltip="Remove barcode" vn-tooltip="Remove barcode"

View File

@ -2,77 +2,83 @@
vn-id="model" vn-id="model"
url="item/api/Items/getDiary" url="item/api/Items/getDiary"
filter="$ctrl.filter" filter="$ctrl.filter"
data="sales" auto-load="false"> data="sales"
auto-load="false">
</vn-crud-model> </vn-crud-model>
<vn-vertical> <vn-vertical>
<vn-card pad-large compact> <vn-card pad-large compact>
<vn-vertical> <vn-vertical>
<vn-horizontal> <vn-horizontal>
<vn-autocomplete <vn-autocomplete
vn-focus vn-focus
url="/item/api/Warehouses" url="/item/api/Warehouses"
show-field="name" show-field="name"
value-field="id" value-field="id"
initial-data="$ctrl.warehouseFk" initial-data="$ctrl.warehouseFk"
field="$ctrl.warehouseFk" field="$ctrl.warehouseFk"
label="Select warehouse"> label="Select warehouse">
</vn-autocomplete> </vn-autocomplete>
</vn-horizontal> </vn-horizontal>
<vn-table model="model"> <vn-table model="model">
<vn-thead> <vn-thead>
<vn-tr> <vn-tr>
<vn-th>Date</vn-th> <vn-th>Date</vn-th>
<vn-th number order="DESC">Id</vn-th> <vn-th number order="DESC">Id</vn-th>
<vn-th>State</vn-th> <vn-th>State</vn-th>
<vn-th>Reference</vn-th> <vn-th>Reference</vn-th>
<vn-th>Client</vn-th> <vn-th>Client</vn-th>
<vn-th number>In</vn-th> <vn-th number>In</vn-th>
<vn-th number>Out</vn-th> <vn-th number>Out</vn-th>
<vn-th number>Balance</vn-th> <vn-th number>Balance</vn-th>
</vn-tr> </vn-tr>
</vn-thead> </vn-thead>
<vn-tbody> <vn-tbody>
<vn-tr ng-class="::{'isToday': $ctrl.isToday(sale.date), 'isIn': sale.in, 'balanceNegative': sale.balance < 0}" <vn-tr
ng-repeat="sale in sales" vn-repeat-last on-last="$ctrl.scrollToLine()"> ng-class="::{
<vn-td class="date"> 'isToday': $ctrl.isToday(sale.date),
{{::sale.date | date:'dd/MM/yyyy' }} 'isIn': sale.in,
</vn-td> 'balanceNegative': sale.balance < 0}"
<vn-td number> ng-repeat="sale in sales"
<span ng-class="::{'link pointer': sale.isTicket}" vn-repeat-last
ng-click="$ctrl.showDescriptor($event, sale)" on-last="$ctrl.scrollToLine()">
class="id"> <vn-td>
{{::sale.origin | dashIfEmpty}} <span class="chip date">
</span> {{::sale.date | date:'dd/MM/yyyy' }}
</vn-td> </span>
<vn-td>{{::sale.stateName | dashIfEmpty}}</vn-td> </vn-td>
<vn-td>{{::sale.reference | dashIfEmpty}}</vn-td> <vn-td number>
<vn-td class="truncate"> <span
<span ng-class="::{link: sale.isTicket}"
ng-class="::{'link pointer': sale.isTicket}" ng-click="$ctrl.showDescriptor($event, sale)"
ng-click="$ctrl.showClientDescriptor($event, sale)"> class="id">
{{::sale.name | dashIfEmpty}} {{::sale.origin | dashIfEmpty}}
</span> </span>
</vn-td> </vn-td>
<vn-td number class="in">{{::sale.in | dashIfEmpty}}</vn-td> <vn-td>{{::sale.stateName | dashIfEmpty}}</vn-td>
<vn-td number>{{::sale.out | dashIfEmpty}}</vn-td> <vn-td>{{::sale.reference | dashIfEmpty}}</vn-td>
<vn-td number class="balance"> <vn-td class="truncate">
<span class="balanceSpan"> <span
{{::sale.balance | dashIfEmpty}} ng-class="::{link: sale.isTicket}"
</span> ng-click="$ctrl.showClientDescriptor($event, sale)">
</vn-td> {{::sale.name | dashIfEmpty}}
</vn-tr> </span>
</vn-tbody> </vn-td>
<vn-empty-rows ng-if="model.data.length === 0" translate> <vn-td number class="in">{{::sale.in | dashIfEmpty}}</vn-td>
No results <vn-td number>{{::sale.out | dashIfEmpty}}</vn-td>
</vn-empty-rows> <vn-td number class="balance">
</vn-table> <span class="chip balanceSpan">
</vn-vertical> {{::sale.balance | dashIfEmpty}}
</span>
</vn-td>
</vn-tr>
</vn-tbody>
</vn-table>
</vn-vertical>
</vn-card> </vn-card>
</vn-vertical> </vn-vertical>
<vn-ticket-descriptor-popover <vn-ticket-descriptor-popover
vn-id="descriptor"> vn-id="descriptor">
</vn-ticket-descriptor-popover> </vn-ticket-descriptor-popover>
<vn-client-descriptor-popover <vn-client-descriptor-popover
vn-id="clientDescriptor"> vn-id="clientDescriptor">
</vn-client-descriptor-popover> </vn-client-descriptor-popover>

View File

@ -4,23 +4,22 @@ vn-item-diary {
& > vn-vertical { & > vn-vertical {
display: block; display: block;
} }
& vn-horizontal { vn-horizontal {
justify-content: center; justify-content: center;
} }
& vn-autocomplete > div{ vn-autocomplete > div {
width: 400px; width: 400px;
} }
.balanceNegative .balance { .balanceNegative .balance {
color: $alert-01; color: $color-alert;
font-weight: bold;
} }
.isIn .in { .isIn .in {
color: $main-02; color: $color-success;
font-weight: bold; font-weight: bold;
} }
.isToday .date{ .isToday .date {
background-color: rgba(247, 147, 30, 0.5); color: white;
font-weight: bold; background-color: $color-main;
} }
.truncate { .truncate {
max-width: 250px; max-width: 250px;

View File

@ -4,7 +4,7 @@ vn-item-product {
display: block; display: block;
.id { .id {
background-color: $main-01; background-color: $color-main;
color: white; color: white;
margin-bottom: 0em; margin-bottom: 0em;
} }

View File

@ -2,70 +2,72 @@
vn-id="model" vn-id="model"
url="/item/api/Items/getLastEntries" url="/item/api/Items/getLastEntries"
filter="::$ctrl.filter" filter="::$ctrl.filter"
data="entries" auto-load="false"> data="entries"
auto-load="false">
</vn-crud-model> </vn-crud-model>
<vn-vertical> <vn-vertical>
<vn-card pad-large> <vn-card pad-large>
<vn-vertical> <vn-vertical>
<vn-horizontal> <vn-horizontal>
<vn-date-picker <vn-date-picker
vn-one vn-one
label="Since" label="Since"
model="$ctrl.date" model="$ctrl.date"
ini-options="{dateFormat: 'd-m-Y'}"> ini-options="{dateFormat: 'd-m-Y'}">
</vn-date-picker> </vn-date-picker>
<!--datepicker--> <!--datepicker-->
</vn-horizontal> </vn-horizontal>
<vn-table model="model"> <vn-table model="model">
<vn-thead> <vn-thead>
<vn-tr> <vn-tr>
<vn-th number vn-tooltip="Ignored">Ig</vn-th> <vn-th vn-tooltip="Ignored" center>Ig</vn-th>
<vn-th number>Warehouse</vn-th> <vn-th>Warehouse</vn-th>
<vn-th number>Landed</vn-th> <vn-th>Landed</vn-th>
<vn-th number>Entry</vn-th> <vn-th number>Entry</vn-th>
<vn-th number vn-tooltip="Price Per Unit">P.P.U</vn-th> <vn-th number vn-tooltip="Price Per Unit">P.P.U</vn-th>
<vn-th number vn-tooltip="Price Per Package">P.P.P</vn-th> <vn-th number vn-tooltip="Price Per Package">P.P.P</vn-th>
<vn-th number class="expendable">Label</vn-th> <vn-th number class="expendable">Label</vn-th>
<vn-th number>Packing</vn-th> <vn-th number>Packing</vn-th>
<vn-th number>Grouping</vn-th> <vn-th number>Grouping</vn-th>
<vn-th number class="expendable">Stems</vn-th> <vn-th number class="expendable">Stems</vn-th>
<vn-th number>Quantity</vn-th> <vn-th number>Quantity</vn-th>
<vn-th number class="expendable">Cost</vn-th> <vn-th number class="expendable">Cost</vn-th>
<vn-th number>Cube</vn-th> <vn-th number>Cube</vn-th>
<vn-th number class="expendable">Provider</vn-th> <vn-th class="expendable">Provider</vn-th>
</vn-tr> </vn-tr>
</vn-thead> </vn-thead>
<vn-tbody> <vn-tbody>
<vn-tr ng-repeat="entry in entries"> <vn-tr ng-repeat="entry in entries">
<vn-td number> <vn-td center>
<vn-check <vn-check
field="entry.isIgnored" field="entry.isIgnored"
disabled="true"> disabled="true">
</vn-check> </vn-check>
</vn-td> </vn-td>
<vn-td number>{{entry.warehouse| dashIfEmpty}}</vn-td> <vn-td>{{entry.warehouse| dashIfEmpty}}</vn-td>
<vn-td number>{{entry.landed | date:'dd/MM/yyyy HH:mm'}}</vn-td> <vn-td>{{entry.landed | date:'dd/MM/yyyy HH:mm'}}</vn-td>
<vn-td number>{{entry.entryFk | dashIfEmpty}}</vn-td> <vn-td number>{{entry.entryFk | dashIfEmpty}}</vn-td>
<vn-td number>{{entry.price2 | dashIfEmpty}}</vn-td> <vn-td number>{{entry.price2 | dashIfEmpty}}</vn-td>
<vn-td number>{{entry.price3 | dashIfEmpty}}</vn-td> <vn-td number>{{entry.price3 | dashIfEmpty}}</vn-td>
<vn-td number class="expendable">{{entry.stickers | dashIfEmpty}}</vn-td> <vn-td number class="expendable">{{entry.stickers | dashIfEmpty}}</vn-td>
<vn-td number> <vn-td number>
<div ng-class="{'counter': entry.groupingMode == 2}">{{entry.packing | dashIfEmpty}}</div> <span class="chip" ng-class="{counter: entry.groupingMode == 2}">
</vn-td> {{entry.packing | dashIfEmpty}}
<vn-td number> </span>
<span ng-class="{'counter': entry.groupingMode == 1}">{{entry.grouping | dashIfEmpty}}</span> </vn-td>
</vn-td> <vn-td number>
<vn-td number class="expendable">{{entry.stems | dashIfEmpty}}</vn-td> <span class="chip" ng-class="{counter: entry.groupingMode == 1}">
<vn-td number>{{entry.quantity}}</vn-td> {{entry.grouping | dashIfEmpty}}
<vn-td number class="expendable">{{entry.buyingValue | dashIfEmpty}}</vn-td> </span>
<vn-td number>{{entry.packageFk | dashIfEmpty}}</vn-td> </vn-td>
<vn-td number class="expendable">{{entry.supplier | dashIfEmpty}}</vn-td> <vn-td number class="expendable">{{entry.stems | dashIfEmpty}}</vn-td>
</vn-tr> <vn-td number>{{entry.quantity}}</vn-td>
</vn-tbody> <vn-td number class="expendable">{{entry.buyingValue | dashIfEmpty}}</vn-td>
<vn-empty-rows ng-if="model.data.length === 0" translate> <vn-td number>{{entry.packageFk | dashIfEmpty}}</vn-td>
No results <vn-td class="expendable">{{entry.supplier | dashIfEmpty}}</vn-td>
</vn-empty-rows> </vn-tr>
</vn-table> </vn-tbody>
</vn-table>
</vn-vertical> </vn-vertical>
<vn-pagination model="model"></vn-pagination> <vn-pagination model="model"></vn-pagination>
</vn-card> </vn-card>

View File

@ -1,7 +1,7 @@
@import "variables"; @import "variables";
vn-item-last-entries { vn-item-last-entries {
.round { .round {
background-color: $lines; background-color: $color-spacer;
border-radius: 25px; border-radius: 25px;
float: right; float: right;
width: 25px; width: 25px;

View File

@ -31,8 +31,6 @@
</vn-textfield> </vn-textfield>
<vn-none> <vn-none>
<vn-icon <vn-icon
medium-grey
margin-medium-v
vn-acl="buyer,replenisher" vn-acl="buyer,replenisher"
pointer pointer
vn-tooltip="Remove niche" vn-tooltip="Remove niche"

View File

@ -63,9 +63,8 @@
show-field="name" show-field="name"
value-field="name"> value-field="name">
</vn-autocomplete> </vn-autocomplete>
<vn-icon-button vn-none <vn-icon-button
medium-grey vn-none
margin-medium-v
vn-tooltip="Remove tag" vn-tooltip="Remove tag"
icon="delete" icon="delete"
ng-click="filter.tags.splice($index, 1)" ng-click="filter.tags.splice($index, 1)"

View File

@ -1,4 +1,4 @@
@import "./colors"; @import "./variables";
vn-item-summary { vn-item-summary {
p { p {
@ -8,7 +8,7 @@ vn-item-summary {
.item-state { .item-state {
padding: .4em; padding: .4em;
background-color: $main-01; background-color: $color-main;
color: white; color: white;
p { p {

View File

@ -65,8 +65,6 @@
</vn-textfield> </vn-textfield>
<vn-none> <vn-none>
<vn-icon-button <vn-icon-button
medium-grey
margin-medium-v
vn-tooltip="Remove tag" vn-tooltip="Remove tag"
icon="delete" icon="delete"
ng-click="model.remove($index)" ng-click="model.remove($index)"

View File

@ -2,7 +2,7 @@
vn-dialog.modal-form { vn-dialog.modal-form {
vn-horizontal.header{ vn-horizontal.header{
background-color: $main-01; background-color: $color-main;
h5{ h5{
color: white; color: white;
margin: 0 auto; margin: 0 auto;

View File

@ -43,7 +43,7 @@
<img <img
ng-src="//verdnatura.es/vn-image-data/catalog/200x200/{{::item.image}}" ng-src="//verdnatura.es/vn-image-data/catalog/200x200/{{::item.image}}"
zoom-image="//verdnatura.es/vn-image-data/catalog/1600x900/{{::item.image}}" zoom-image="//verdnatura.es/vn-image-data/catalog/1600x900/{{::item.image}}"
on-error-src pointer/> on-error-src/>
</vn-one> </vn-one>
<vn-one pad-small class="description ellipsize"> <vn-one pad-small class="description ellipsize">
<vn-vertical> <vn-vertical>

View File

@ -1,8 +1,8 @@
@import "variables"; @import "variables";
vn-order-catalog .catalog-header { vn-order-catalog .catalog-header {
border-color: $lines; border-color: $color-spacer;
border-bottom: 1px solid rgba($lines, 0.5); border-bottom: 1px solid rgba($color-spacer, 0.5);
vn-one:first-child { vn-one:first-child {
padding-top: 2em; padding-top: 2em;
@ -11,6 +11,6 @@ vn-order-catalog .catalog-header {
padding-top: 0.5em; padding-top: 0.5em;
} }
span { span {
color: $secondary-font-color color: $color-font-secondary
} }
} }

View File

@ -5,8 +5,8 @@ vn-catalog-filter > div {
& > .input { & > .input {
padding-left: $pad-medium; padding-left: $pad-medium;
padding-right: $pad-medium; padding-right: $pad-medium;
border-color: $lines; border-color: $color-spacer;
border-bottom: 1px solid rgba($lines, 0.5); border-bottom: 1px solid rgba($color-spacer, 0.5);
} }
.item-category { .item-category {
padding: $pad-small; padding: $pad-small;
@ -22,12 +22,12 @@ vn-catalog-filter > div {
& > vn-icon { & > vn-icon {
padding: $pad-small; padding: $pad-small;
background-color: $secondary-font-color; background-color: $color-font-secondary;
border-radius: 50%; border-radius: 50%;
cursor: pointer; cursor: pointer;
&.active { &.active {
background-color: $main-01; background-color: $color-main;
color: #FFF color: #FFF
} }
& > i:before { & > i:before {

View File

@ -17,41 +17,41 @@
</vn-searchbar> </vn-searchbar>
</vn-card> </vn-card>
</div> </div>
<vn-card margin-medium-v pad-medium> <vn-card margin-medium-v>
<vn-table model="model"> <vn-table model="model">
<vn-thead> <vn-thead>
<vn-tr> <vn-tr>
<vn-th field="id" default-order="DESC">Id</vn-th> <vn-th field="id" default-order="DESC" number>Id</vn-th>
<vn-th field="clientFk">Client</vn-th> <vn-th field="clientFk">Client</vn-th>
<vn-th field="clientFk">Sales person</vn-th> <vn-th field="clientFk">Sales person</vn-th>
<vn-th field="isConfirmed">Confirmed</vn-th> <vn-th field="isConfirmed" center>Confirmed</vn-th>
<vn-th field="sourceApp">Created from</vn-th> <vn-th field="sourceApp">Created from</vn-th>
<vn-th field="created">Created</vn-th> <vn-th field="created" center>Created</vn-th>
<vn-th field="created">Landed</vn-th> <vn-th field="created" center>Landed</vn-th>
<vn-th field="companyFk">Company</vn-th> <vn-th field="companyFk">Company</vn-th>
</vn-tr> </vn-tr>
</vn-thead> </vn-thead>
<vn-tbody> <vn-tbody>
<vn-tr ng-repeat="order in orders" class="clickable searchResult" <vn-tr ng-repeat="order in orders" class="clickable searchResult"
ui-sref="order.card.summary({id: {{::order.id}}})"> ui-sref="order.card.summary({id: {{::order.id}}})">
<vn-td>{{::order.id}}</vn-td> <vn-td number>{{::order.id}}</vn-td>
<vn-td> <vn-td expand>
<span class="link" ng-click="$ctrl.showDescriptor($event, order.clientFk)"> <span class="link" ng-click="$ctrl.showDescriptor($event, order.clientFk)">
{{::order.client.name}} {{::order.client.name}}
</span> </span>
</vn-td> </vn-td>
<vn-td>{{::order.client.salesPerson.user.nickname}}</vn-td> <vn-td>{{::order.client.salesPerson.user.nickname}}</vn-td>
<vn-td> <vn-td center>
<vn-check <vn-check
field="order.isConfirmed" field="order.isConfirmed"
disabled="true"> disabled="true">
</vn-check> </vn-check>
</vn-td> </vn-td>
<vn-td>{{::order.sourceApp}}</vn-td> <vn-td>{{::order.sourceApp}}</vn-td>
<vn-td>{{::order.created | date:'dd/MM/yyyy HH:mm'}}</vn-td> <vn-td center>{{::order.created | date:'dd/MM/yyyy HH:mm'}}</vn-td>
<vn-td>{{::order.landed | date:'dd/MM/yyyy'}}</vn-td> <vn-td center>{{::order.landed | date:'dd/MM/yyyy'}}</vn-td>
<vn-td>{{::order.company.code}}</vn-td> <vn-td>{{::order.company.code}}</vn-td>
<vn-td> <vn-td shrink>
<vn-icon-button <vn-icon-button
ng-click="$ctrl.preview($event, order)" ng-click="$ctrl.preview($event, order)"
vn-tooltip="Preview" vn-tooltip="Preview"

View File

@ -7,21 +7,21 @@
<vn-vertical> <vn-vertical>
<vn-horizontal> <vn-horizontal>
<div class="totalBox"> <div class="totalBox">
<vn-label translate>Subtotal</vn-label> <vn-label translate>Subtotal</vn-label>
<span>{{$ctrl.subtotal | currency: 'EUR':2}}</span> <span>{{$ctrl.subtotal | currency: 'EUR':2}}</span>
<p> <p>
<vn-label translate>VAT</vn-label> <vn-label translate>VAT</vn-label>
<span>{{$ctrl.VAT | currency: 'EUR':2}}</span> <span>{{$ctrl.VAT | currency: 'EUR':2}}</span>
</p> </p>
<vn-label><strong>Total</strong></vn-label> <vn-label><strong>Total</strong></vn-label>
<strong>{{$ctrl.order.total | currency: 'EUR':2}}</strong> <strong>{{$ctrl.order.total | currency: 'EUR':2}}</strong>
</div> </div>
</vn-horizontal> </vn-horizontal>
<vn-table> <vn-table>
<vn-thead> <vn-thead>
<vn-tr> <vn-tr>
<vn-th style="text-align: center">Item</vn-th> <vn-th></vn-th>
<vn-th style="text-align: center">ID</vn-th> <vn-th number>Id</vn-th>
<vn-th>Description</vn-th> <vn-th>Description</vn-th>
<vn-th>Warehouse</vn-th> <vn-th>Warehouse</vn-th>
<vn-th>Shipped</vn-th> <vn-th>Shipped</vn-th>
@ -32,28 +32,27 @@
</vn-thead> </vn-thead>
<vn-tbody> <vn-tbody>
<vn-tr ng-repeat="row in $ctrl.rows"> <vn-tr ng-repeat="row in $ctrl.rows">
<vn-td style="text-align: center"> <vn-td shrink>
<img <img
ng-src="//verdnatura.es/vn-image-data/catalog/50x50/{{::row.item.image}}" ng-src="//verdnatura.es/vn-image-data/catalog/50x50/{{::row.item.image}}"
zoom-image="//verdnatura.es/vn-image-data/catalog/1600x900/{{::row.item.image}}" zoom-image="//verdnatura.es/vn-image-data/catalog/1600x900/{{::row.item.image}}"
on-error-src/> on-error-src/>
</vn-td> </vn-td>
<vn-td> <vn-td number>
<span ng-click="$ctrl.showDescriptor($event, row.itemFk)" <span ng-click="$ctrl.showDescriptor($event, row.itemFk)"
pointer number class="link"> class="link">
{{("000000"+row.itemFk).slice(-6)}} {{row.itemFk | zeroFill:6}}
</span> </span>
</vn-td> </vn-td>
<vn-td><vn-fetched-tags max-length="6" item="row.item"/></vn-td> <vn-td expand><vn-fetched-tags max-length="6" item="row.item"/></vn-td>
<vn-td>{{row.warehouse.name}}</vn-td> <vn-td>{{row.warehouse.name}}</vn-td>
<vn-td>{{row.shipped | date: 'dd/MM/yyyy'}}</vn-td> <vn-td>{{row.shipped | date: 'dd/MM/yyyy'}}</vn-td>
<vn-td number>{{row.quantity}}</vn-td> <vn-td number>{{row.quantity}}</vn-td>
<vn-td number> <vn-td number>
{{row.price | currency: 'EUR':2}} {{row.price | currency: 'EUR':2}}
</vn-td> </vn-td>
<vn-td ng-if="!$ctrl.order.isConfirmed"> <vn-td shrink ng-if="!$ctrl.order.isConfirmed">
<vn-icon-button <vn-icon-button
medium-grey
vn-tooltip="Remove item" vn-tooltip="Remove item"
icon="delete" icon="delete"
ng-click="$ctrl.showDeleteRow($index)" ng-click="$ctrl.showDeleteRow($index)"
@ -62,9 +61,6 @@
</vn-td> </vn-td>
</vn-tr> </vn-tr>
</vn-tbody> </vn-tbody>
<vn-empty-rows ng-if="$ctrl.rows.length === 0" translate>
No results
</vn-empty-rows>
</vn-table> </vn-table>
</vn-vertical> </vn-vertical>
</vn-card> </vn-card>
@ -75,11 +71,9 @@
</vn-button> </vn-button>
</vn-button-bar> </vn-button-bar>
</vn-vertical> </vn-vertical>
<vn-item-descriptor-popover <vn-item-descriptor-popover
vn-id="descriptor"> vn-id="descriptor">
</vn-item-descriptor-popover> </vn-item-descriptor-popover>
<vn-confirm <vn-confirm
vn-id="delete-row" vn-id="delete-row"
on-response="$ctrl.deleteRow(response)" on-response="$ctrl.deleteRow(response)"

View File

@ -4,10 +4,10 @@
<a translate-attr="{title: 'Return to module index'}" ui-sref="item.index"> <a translate-attr="{title: 'Return to module index'}" ui-sref="item.index">
<vn-icon icon="chevron_left"></vn-icon> <vn-icon icon="chevron_left"></vn-icon>
</a> </a>
<vn-icon icon="inbox"></vn-icon>
<a translate-attr="{title: 'Preview'}" ui-sref="item.card.summary({id: $ctrl.item.id})"> <a translate-attr="{title: 'Preview'}" ui-sref="item.card.summary({id: $ctrl.item.id})">
<vn-icon icon="desktop_windows"></vn-icon> <vn-icon icon="desktop_windows"></vn-icon>
</a> </a>
<vspan></span>
</div> </div>
<div pad-medium> <div pad-medium>
<vn-horizontal> <vn-horizontal>
@ -37,9 +37,15 @@
<form name="form"> <form name="form">
<vn-horizontal <vn-horizontal
ng-repeat="price in $ctrl.prices"> ng-repeat="price in $ctrl.prices">
<vn-one class="ellipsize text" title="{{::price.warehouse}}">{{::price.warehouse}}</vn-one> <vn-one
class="ellipsize text"
title="{{::price.warehouse}}">
{{::price.warehouse}}
</vn-one>
<vn-one class="number text"> <vn-one class="number text">
<span orange ng-click="$ctrl.addQuantity(price)" class="link unselectable">{{::price.grouping}}</span><span> x {{::price.price | currency: 'EUR': 2}}</span> <span ng-click="$ctrl.addQuantity(price)"
class="link unselectable">{{::price.grouping}}</span>
<span> x {{::price.price | currency: 'EUR': 2}}</span>
</vn-one> </vn-one>
<vn-one> <vn-one>
<vn-input-number <vn-input-number

View File

@ -14,7 +14,7 @@ vn-order-prices-popover {
vn-vertical.data{ vn-vertical.data{
padding-right: 16px; padding-right: 16px;
border-right: 1px solid $main-01; border-right: 1px solid $color-main;
} }
vn-vertical.prices{ vn-vertical.prices{

View File

@ -39,44 +39,41 @@
<p><vn-label><strong>Total</strong></vn-label> <strong>{{$ctrl.summary.total | currency: 'EUR':2}}</strong></p> <p><vn-label><strong>Total</strong></vn-label> <strong>{{$ctrl.summary.total | currency: 'EUR':2}}</strong></p>
</vn-one> </vn-one>
<vn-auto> <vn-auto>
<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>Amount</th> <vn-th number>Amount</vn-th>
</tr> </vn-tr>
</thead> </vn-thead>
<tbody> <vn-tbody>
<tr ng-repeat="row in $ctrl.summary.rows track by row.id"> <vn-tr ng-repeat="row in $ctrl.summary.rows track by row.id">
<td> <vn-td>
<vn-icon <vn-icon
ng-show="row.visible || row.available" ng-show="row.visible || row.available"
orange color-main
icon="warning" icon="warning"
vn-tooltip="Visible: {{::row.visible || 0}} <br> {{::$ctrl.translate.instant('Available')}} {{::row.available || 0}}"> vn-tooltip="Visible: {{::row.visible || 0}} <br> {{::$ctrl.translate.instant('Available')}} {{::row.available || 0}}">
</vn-icon> </vn-icon>
<vn-icon ng-show="row.reserved" icon="icon-reserva"></vn-icon> <vn-icon ng-show="row.reserved" icon="icon-reserva"></vn-icon>
</td> </vn-td>
<td number> <vn-td number>
<span <span
ng-click="$ctrl.showDescriptor($event, row.itemFk)" ng-click="$ctrl.showDescriptor($event, row.itemFk)"
class="link" pointer> class="link">
{{("000000"+row.itemFk).slice(-6)}} {{row.itemFk | zeroFill:6}}
</span> </span>
</td> </vn-td>
<td><vn-fetched-tags max-length="6" item="row.item"/></td> <vn-td expand><vn-fetched-tags max-length="6" item="row.item"/></vn-td>
<td number>{{::row.quantity}}</td> <vn-td number>{{::row.quantity}}</vn-td>
<td number>{{::row.price | currency: 'EUR':2}}</td> <vn-td number>{{::row.price | currency: 'EUR':2}}</vn-td>
<td number>{{::row.quantity * row.price | currency: 'EUR':2}}</td> <vn-td number>{{::row.quantity * row.price | currency: 'EUR':2}}</vn-td>
</tr> </vn-tr>
<tr ng-if="!$ctrl.summary.rows" class="list list-element"> </vn-tbody>
<td colspan="8" style="text-align: center" translate>No results</td>
</tr>
</tbody>
</table> </table>
</vn-auto> </vn-auto>
</vn-horizontal> </vn-horizontal>

View File

@ -34,7 +34,7 @@
<vn-td number> <vn-td number>
<span <span
ng-click="$ctrl.showDescriptor($event, row.itemFk)" ng-click="$ctrl.showDescriptor($event, row.itemFk)"
pointer class="link"> class="link">
{{::row.itemFk}} {{::row.itemFk}}
</span> </span>
</vn-td> </vn-td>

View File

@ -8,78 +8,76 @@
</vn-crud-model> </vn-crud-model>
<vn-vertical> <vn-vertical>
<vn-card pad-large> <vn-card pad-large>
<vn-vertical> <vn-vertical>
<table class="vn-grid"> <table class="vn-grid">
<thead> <thead>
<tr> <tr>
<th number translate>Item</th> <th number translate>Item</th>
<th translate>Description</th> <th translate>Description</th>
<th number translate>Quantity</th> <th number translate>Quantity</th>
<th translate>Serie</th> <th translate>Serie</th>
<th translate>Components</th> <th translate>Components</th>
<th number translate>Import</th> <th number translate>Import</th>
<th number translate>Total import</th> <th number translate>Total import</th>
</tr> </tr>
</thead> </thead>
<tfoot> <tfoot>
<tr> <tr>
<td number colspan="7"> <td number colspan="7">
<span translate>Base</span> {{$ctrl.base() | currency: 'EUR':3}} <span translate>Base</span> {{$ctrl.base() | currency: 'EUR':3}}
</td> </td>
</tr> </tr>
<tr> <tr>
<td number colspan="7"> <td number colspan="7">
<span translate>Margin</span> {{$ctrl.profitMargin() | currency: 'EUR':3}} <span translate>Margin</span> {{$ctrl.profitMargin() | currency: 'EUR':3}}
</td> </td>
</tr> </tr>
<tr> <tr>
<td number colspan="7"> <td number colspan="7">
<span translate>Total</span> {{$ctrl.total() | currency: 'EUR':3}} <span translate>Total</span> {{$ctrl.total() | currency: 'EUR':3}}
</td> </td>
</tr> </tr>
</tfoot> </tfoot>
<tbody ng-repeat="sale in components track by sale.id"> <tbody ng-repeat="sale in components track by sale.id">
<tr> <tr>
<td rowspan="{{ <td rowspan="{{::sale.components.length + 1}}" number>
::sale.components.length + 1 <span
}}" number> ng-click="$ctrl.showDescriptor($event, sale.itemFk)"
<span pointer class="link">
ng-click="$ctrl.showDescriptor($event, sale.itemFk)" {{sale.itemFk | zeroFill:6}}
class="link"> </span>
{{("000000"+sale.itemFk).slice(-6)}} </td>
</span> <td rowspan="{{::sale.components.length + 1}}">
</td> <vn-fetched-tags max-length="6" item="sale.item"/>
<td rowspan="{{ </td>
::sale.components.length + 1 <td rowspan="{{::sale.components.length + 1}}" number>
}}"><vn-fetched-tags max-length="6" item="sale.item"/></td> {{::sale.quantity}}
<td rowspan="{{ </td>
::sale.components.length + 1 </tr>
}}" number>{{::sale.quantity}}</td> <tr
</tr> ng-repeat="component in sale.components track by component.componentFk">
<tr <td ng-class="::{first: $index == 0,last: $index == sale.components.length - 1}">
ng-repeat="component in sale.components track by component.componentFk"> {{::component.componentRate.componentType.type}}
<td ng-class="::{ </td>
first: $index == 0,last: $index == sale.components.length - 1 <td ng-class="::{first: $index == 0,last: $index == sale.components.length - 1}">
}">{{::component.componentRate.componentType.type}}</td> {{::component.componentRate.name}}
<td ng-class="::{ </td>
first: $index == 0,last: $index == sale.components.length - 1 <td ng-class="::{first: $index == 0,last: $index == sale.components.length - 1}" number>
}">{{::component.componentRate.name}}</td> {{::component.value | currency: 'EUR':3}}
<td ng-class="::{ </td>
first: $index == 0,last: $index == sale.components.length - 1 <td ng-class="::{first: $index == 0,last: $index == sale.components.length - 1}" number>
}" number>{{::component.value | currency: 'EUR':3}}</td> {{::sale.quantity * component.value | currency: 'EUR':3}}
<td ng-class="::{ </td>
first: $index == 0,last: $index == sale.components.length - 1 </tr>
}" number>{{::sale.quantity * component.value | currency: 'EUR':3}}</td> <tr ng-if="model.data.length === 0" class="list list-element">
</tr> <td colspan="7" style="text-align: center" translate>No results</td>
<tr ng-if="model.data.length === 0" class="list list-element"> </tr>
<td colspan="7" style="text-align: center" translate>No results</td> </tbody>
</tr> </table>
</tbody> </vn-vertical>
</table>
</vn-vertical>
<!-- <vn-paging vn-one margin-large-top index="index" total="index.model.count"></vn-paging> -->
</vn-card> </vn-card>
</vn-vertical> </vn-vertical>
<vn-item-descriptor-popover vn-id="descriptor" <vn-item-descriptor-popover
vn-id="descriptor"
quicklinks="$ctrl.quicklinks"> quicklinks="$ctrl.quicklinks">
</vn-item-descriptor-popover> </vn-item-descriptor-popover>

View File

@ -2,8 +2,8 @@
tpl-item{ tpl-item{
&.notActive { &.notActive {
background-color: $main-bg; background-color: $color-bg;
color: $secondary-font-color; color: $color-font-secondary;
width: 100%; width: 100%;
} }

View File

@ -1,4 +1,5 @@
<vn-crud-model auto-load="false" <vn-crud-model
auto-load="false"
vn-id="model" vn-id="model"
url="/ticket/api/Expeditions/filter" url="/ticket/api/Expeditions/filter"
link="{ticketFk: $ctrl.$stateParams.id}" link="{ticketFk: $ctrl.$stateParams.id}"
@ -31,7 +32,7 @@
</vn-td> </vn-td>
<vn-td number> <vn-td number>
<span <span
ng-class="{'link pointer':expedition.itemFk}" ng-class="{link: expedition.itemFk}"
ng-click="$ctrl.showDescriptor($event, expedition.itemFk)"> ng-click="$ctrl.showDescriptor($event, expedition.itemFk)">
{{expedition.itemFk | zeroFill:6}} {{expedition.itemFk | zeroFill:6}}
</span> </span>
@ -44,9 +45,6 @@
<vn-td>{{::expedition.created | date:'dd/MM/yyyy HH:mm'}}</vn-td> <vn-td>{{::expedition.created | date:'dd/MM/yyyy HH:mm'}}</vn-td>
</vn-tr> </vn-tr>
</vn-tbody> </vn-tbody>
<vn-empty-rows ng-if="model.data.length === 0" translate>
No results
</vn-empty-rows>
</vn-table> </vn-table>
</vn-vertical> </vn-vertical>
<vn-pagination model="model"></vn-pagination> <vn-pagination model="model"></vn-pagination>

View File

@ -10,13 +10,12 @@
<div class="vn-list"> <div class="vn-list">
<vn-card pad-medium-h> <vn-card pad-medium-h>
<vn-horizontal> <vn-horizontal>
<vn-three> <vn-searchbar
<vn-searchbar style="width: 100%"
panel="vn-ticket-search-panel" panel="vn-ticket-search-panel"
on-search="$ctrl.onSearch($params)" on-search="$ctrl.onSearch($params)"
vn-focus> vn-focus>
</vn-searchbar> </vn-searchbar>
</vn-three>
<vn-icon-menu <vn-icon-menu
vn-id="more-button" vn-id="more-button"
icon="more_vert" icon="more_vert"
@ -29,7 +28,7 @@
</vn-horizontal> </vn-horizontal>
</vn-card> </vn-card>
</div> </div>
<vn-card margin-medium-v pad-medium> <vn-card margin-medium-v>
<vn-table model="model" auto-load="false"> <vn-table model="model" auto-load="false">
<vn-thead> <vn-thead>
<vn-tr> <vn-tr>
@ -48,21 +47,26 @@
</vn-tr> </vn-tr>
</vn-thead> </vn-thead>
<vn-tbody> <vn-tbody>
<a ng-repeat="ticket in tickets" class="clickable vn-tr searchResult" <a ng-repeat="ticket in tickets"
ui-sref="ticket.card.summary({id: {{::ticket.id}}})"> class="clickable vn-tr searchResult"
<vn-td> ui-sref="ticket.card.summary({id: {{::ticket.id}}})">
<vn-icon ng-show="ticket.problem" class="bright" <vn-td shrink>
<vn-icon
ng-show="ticket.problem"
class="bright"
vn-tooltip="{{ticket.problem}}" vn-tooltip="{{ticket.problem}}"
icon="warning"> icon="warning">
</vn-icon> </vn-icon>
</vn-td> </vn-td>
<vn-td number>{{::ticket.id}}</vn-td> <vn-td number>{{::ticket.id}}</vn-td>
<vn-td>{{::ticket.userNickname | dashIfEmpty}}</vn-td> <vn-td>{{::ticket.userNickname | dashIfEmpty}}</vn-td>
<vn-td class="{{$ctrl.compareDate(ticket.shipped)}}"> <vn-td>
{{::ticket.shipped | dateTime: 'dd/MM/yyyy'}} <span class="chip {{$ctrl.compareDate(ticket.shipped)}}">
{{::ticket.shipped | dateTime: 'dd/MM/yyyy'}}
</span>
</vn-td> </vn-td>
<vn-td>{{::ticket.shipped | dateTime: 'HH:mm'}}</vn-td> <vn-td>{{::ticket.shipped | dateTime: 'HH:mm'}}</vn-td>
<vn-td> <vn-td expand>
<span <span
class="link" class="link"
ng-click="$ctrl.showDescriptor($event, ticket.clientFk)"> ng-click="$ctrl.showDescriptor($event, ticket.clientFk)">
@ -70,11 +74,15 @@
</span> </span>
</vn-td> </vn-td>
<vn-td>{{::ticket.province}}</vn-td> <vn-td>{{::ticket.province}}</vn-td>
<vn-td class="{{$ctrl.stateColor(ticket)}}">{{::ticket.state}}</vn-td> <vn-td>
<span class="chip {{$ctrl.stateColor(ticket)}}">
{{::ticket.state}}
</span>
</vn-td>
<vn-td>{{::ticket.agencyMode}}</vn-td> <vn-td>{{::ticket.agencyMode}}</vn-td>
<vn-td>{{::ticket.warehouse}}</vn-td> <vn-td>{{::ticket.warehouse}}</vn-td>
<vn-td number>{{::ticket.total | currency: 'EUR': 2}}</vn-td> <vn-td number>{{::ticket.total | currency: 'EUR': 2}}</vn-td>
<vn-td number> <vn-td shrink>
<vn-icon-button <vn-icon-button
ng-click="$ctrl.goToLines($event, ticket.id)" ng-click="$ctrl.goToLines($event, ticket.id)"
vn-tooltip="Go to lines" vn-tooltip="Go to lines"
@ -88,12 +96,6 @@
</vn-td> </vn-td>
</a> </a>
</vn-tbody> </vn-tbody>
<vn-empty-rows ng-if="model.data.length === 0" translate>
No results
</vn-empty-rows>
<vn-empty-rows ng-if="model.data === null" translate>
Enter a new search
</vn-empty-rows>
</vn-table> </vn-table>
</vn-card> </vn-card>
<vn-pagination model="model"></vn-pagination> <vn-pagination model="model"></vn-pagination>

View File

@ -79,13 +79,13 @@ export default class Controller {
stateColor(ticket) { stateColor(ticket) {
if (ticket.alertLevelCode === 'OK') if (ticket.alertLevelCode === 'OK')
return 'alertOk'; return 'success';
else if (ticket.alertLevelCode === 'FREE') else if (ticket.alertLevelCode === 'FREE')
return 'alertFree'; return 'notice';
else if (ticket.alertLevel === 1) else if (ticket.alertLevel === 1)
return 'alert1'; return 'warning';
else if (ticket.alertLevel === 0) else if (ticket.alertLevel === 0)
return 'alert0'; return 'alert';
} }
showDescriptor(event, clientFk) { showDescriptor(event, clientFk) {

View File

@ -4,37 +4,41 @@ vn-ticket-index{
vn-icon-menu{ vn-icon-menu{
padding-top: 30px; padding-top: 30px;
padding-left: 10px; padding-left: 10px;
color: $main-01; color: $color-main;
li { li {
color: initial; color: initial;
} }
} }
.alert1 { .alert1 {
background-color: $main-01-03; color: white;
&:hover { background-color: $color-main-light;
background-color: $main-01-05; }
} vn-tr:hover .alert1 {
background-color: $color-main-medium;
} }
.alertOk { .alertOk {
background-color: $main-02-03; color: white;
&:hover { background-color: $color-success-light;
background-color: $main-02-05; }
} vn-tr:hover .alertOk {
background-color: $color-success-medium;
} }
.alertFree { .alertFree {
background-color: $main-03-03; color: white;
&:hover { background-color: $color-notice-light;
background-color: $main-03-05; }
} vn-tr:hover .alertFree {
background-color: $color-notice-medium;
} }
.alert0 { .alert0 {
background-color: $alert-01-03; color: white;
&:hover { background-color: $color-alert-light;
background-color: $alert-01-05; }
} vn-tr:hover .alert0 {
background-color: $color-alert-medium;
} }
} }

View File

@ -37,7 +37,6 @@
<vn-auto pad-medium-top> <vn-auto pad-medium-top>
<vn-icon <vn-icon
pointer pointer
medium-grey
vn-tooltip="Remove note" vn-tooltip="Remove note"
icon="delete" icon="delete"
ng-click="model.remove($index)"> ng-click="model.remove($index)">
@ -47,7 +46,7 @@
</vn-one> </vn-one>
<vn-one> <vn-one>
<vn-icon-button <vn-icon-button
pointer vn-tooltip="Add note" vn-tooltip="Add note"
icon="add_circle" icon="add_circle"
vn-bind="+" vn-bind="+"
ng-if="observationTypes.length > observations.length" ng-if="observationTypes.length > observations.length"

View File

@ -40,8 +40,7 @@
</vn-textfield> </vn-textfield>
<vn-auto pad-medium-top> <vn-auto pad-medium-top>
<vn-icon <vn-icon
pointer pointer
medium-grey
vn-tooltip="Remove package" vn-tooltip="Remove package"
icon="delete" icon="delete"
ng-click="model.remove($index)"> ng-click="model.remove($index)">
@ -51,7 +50,6 @@
</vn-one> </vn-one>
<vn-one> <vn-one>
<vn-icon-button <vn-icon-button
pointer
vn-tooltip="Add package" vn-tooltip="Add package"
vn-bind="+" vn-bind="+"
icon="add_circle" icon="add_circle"

View File

@ -18,7 +18,7 @@
<img <img
ng-src="//verdnatura.es/vn-image-data/catalog/200x200/{{::sale.item.image}}" ng-src="//verdnatura.es/vn-image-data/catalog/200x200/{{::sale.item.image}}"
zoom-image="//verdnatura.es/vn-image-data/catalog/1600x900/{{::sale.item.image}}" zoom-image="//verdnatura.es/vn-image-data/catalog/1600x900/{{::sale.item.image}}"
on-error-src pointer/> on-error-src/>
</vn-one> </vn-one>
<vn-one pad-small class="description ellipsize"> <vn-one pad-small class="description ellipsize">
<vn-vertical> <vn-vertical>

View File

@ -1,4 +1,5 @@
<vn-crud-model auto-load="false" <vn-crud-model
auto-load="false"
vn-id="model" vn-id="model"
url="/ticket/api/TicketRequests" url="/ticket/api/TicketRequests"
fields="['id', 'description', 'created', 'requesterFk', 'atenderFk', 'quantity', 'price', 'saleFk', 'isOk']" fields="['id', 'description', 'created', 'requesterFk', 'atenderFk', 'quantity', 'price', 'saleFk', 'isOk']"
@ -14,65 +15,66 @@
</vn-watcher> </vn-watcher>
<form name="form" ng-submit="$ctrl.onSubmit()"> <form name="form" ng-submit="$ctrl.onSubmit()">
<vn-card pad-large> <vn-card pad-large>
<vn-horizontal> <vn-horizontal>
<vn-table model="model"> <vn-table model="model">
<vn-thead> <vn-thead>
<vn-tr> <vn-tr>
<vn-th number>Id</vn-th> <vn-th number>Id</vn-th>
<vn-th>Description</vn-th> <vn-th>Description</vn-th>
<vn-th number>Created</vn-th> <vn-th number>Created</vn-th>
<vn-th>Requester</vn-th> <vn-th>Requester</vn-th>
<vn-th>Atender</vn-th> <vn-th>Atender</vn-th>
<vn-th number>Quantity</vn-th> <vn-th number>Quantity</vn-th>
<vn-th number>Price</vn-th> <vn-th number>Price</vn-th>
<vn-th number>Sale id</vn-th> <vn-th number>Sale id</vn-th>
<vn-th number>Ok</vn-th> <vn-th number>Ok</vn-th>
</vn-tr> </vn-tr>
</vn-thead> </vn-thead>
<vn-tbody> <vn-tbody>
<vn-tr ng-repeat="request in purchaseRequests"> <vn-tr ng-repeat="request in purchaseRequests">
<vn-td number>{{::request.id}}</vn-td> <vn-td number>{{::request.id}}</vn-td>
<vn-td>{{::request.description}}</vn-td> <vn-td expand>{{::request.description}}</vn-td>
<vn-td number>{{::request.created | dateTime: 'dd/MM/yyyy'}}</vn-td> <vn-td number>{{::request.created | dateTime: 'dd/MM/yyyy'}}</vn-td>
<vn-td>{{::request.requester.user.nickname}}</vn-td> <vn-td>{{::request.requester.user.nickname}}</vn-td>
<vn-td>{{::request.atender.user.nickname}}</vn-td> <vn-td>{{::request.atender.user.nickname}}</vn-td>
<vn-td number>{{::request.quantity}}</vn-td> <vn-td number>{{::request.quantity}}</vn-td>
<vn-td number>{{::request.price | currency: 'EUR': 2}}</vn-td> <vn-td number>{{::request.price | currency: 'EUR': 2}}</vn-td>
<vn-td number> <vn-td number>
<span <span
ng-show="::request.saleFk" ng-show="::request.saleFk"
ng-click="$ctrl.showDescriptor($event, request.sale)" ng-click="$ctrl.showDescriptor($event, request.sale)"
pointer class="link"> class="link">
{{("000000"+request.saleFk).slice(-6)}} {{request.saleFk | zeroFill:6}}
</span> </span>
</vn-td> </vn-td>
<vn-td number> <vn-td number>
<vn-check vn-one <vn-check vn-one
field="::request.isOk" field="::request.isOk"
disabled="true"> disabled="true">
</vn-check> </vn-check>
</vn-td> </vn-td>
<vn-td number> <vn-td number>
<vn-icon-button <vn-icon-button
disabled="::request.saleFk" disabled="::request.saleFk"
icon="delete" icon="delete"
ng-click="$ctrl.removeLine($index)" ng-click="$ctrl.removeLine($index)"
vn-tooltip="Remove request" vn-tooltip="Remove request"
tabindex="-1"> tabindex="-1">
</vn-icon-button> </vn-icon-button>
</vn-td> </vn-td>
</vn-tr> </vn-tr>
</vn-tbody> </vn-tbody>
<vn-empty-rows ng-if="model.data.length === 0" translate> </vn-table>
No results </vn-horizontal>
</vn-empty-rows>
</vn-table>
</vn-horizontal>
</vn-card> </vn-card>
<vn-item-descriptor-popover vn-id="descriptor" </form>
<vn-item-descriptor-popover
vn-id="descriptor"
quicklinks="$ctrl.quicklinks"> quicklinks="$ctrl.quicklinks">
</vn-item-descriptor-popover> </vn-item-descriptor-popover>
</form> <a ui-sref="ticket.card.request.create"
<a ui-sref="ticket.card.request.create" vn-tooltip="New request" vn-bind="+" fixed-bottom-right> vn-tooltip="New request"
vn-bind="+"
fixed-bottom-right>
<vn-float-button icon="add"></vn-float-button> <vn-float-button icon="add"></vn-float-button>
</a> </a>

View File

@ -29,8 +29,8 @@
<vn-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">
{{("000000"+sale.itemFk).slice(-6)}} {{sale.itemFk | zeroFill:6}}
</span> </span>
</vn-td> </vn-td>
<vn-td><vn-fetched-tags max-length="6" item="sale.item"/></vn-td> <vn-td><vn-fetched-tags max-length="6" item="sale.item"/></vn-td>

View File

@ -33,8 +33,8 @@
<vn-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">
{{("000000"+sale.itemFk).slice(-6)}} {{sale.itemFk | zeroFill:6}}
</span> </span>
</vn-td> </vn-td>
<vn-td><vn-fetched-tags max-length="6" item="sale.item"/></vn-td> <vn-td><vn-fetched-tags max-length="6" item="sale.item"/></vn-td>

View File

@ -80,14 +80,13 @@
<a ui-sref="claim.card.basicData({id: sale.claim.claimFk})"> <a ui-sref="claim.card.basicData({id: sale.claim.claimFk})">
<vn-icon <vn-icon
ng-show="sale.claim.claimFk" ng-show="sale.claim.claimFk"
orange
icon="icon-claims" icon="icon-claims"
vn-tooltip="{{::$ctrl.$translate.instant('Claim')}}: {{::sale.claim.claimFk}}"> vn-tooltip="{{::$ctrl.$translate.instant('Claim')}}: {{::sale.claim.claimFk}}">
</vn-icon> </vn-icon>
</a> </a>
<vn-icon <vn-icon
ng-show="sale.visible || sale.available" ng-show="sale.visible || sale.available"
orange color-main
icon="warning" icon="warning"
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>
@ -104,11 +103,13 @@
<vn-td number> <vn-td number>
<span <span
ng-click="$ctrl.showDescriptor($event, sale.itemFk)" ng-click="$ctrl.showDescriptor($event, sale.itemFk)"
pointer class="link"> class="link">
{{::sale.itemFk | zeroFill:6}} {{::sale.itemFk | zeroFill:6}}
</span> </span>
</vn-td> </vn-td>
<vn-td><vn-fetched-tags max-length="6" item="sale.tags" title="sale.concept"/></vn-td> <vn-td expand>
<vn-fetched-tags max-length="6" item="sale.tags" title="sale.concept"/>
</vn-td>
<vn-td ng-if="!$ctrl.isEditable" number>{{sale.quantity}}</vn-td> <vn-td ng-if="!$ctrl.isEditable" number>{{sale.quantity}}</vn-td>
<vn-td ng-if="$ctrl.isEditable" number> <vn-td ng-if="$ctrl.isEditable" number>
<vn-textfield <vn-textfield
@ -121,7 +122,6 @@
ng-if="$ctrl.isEditable" ng-if="$ctrl.isEditable"
class="link" class="link"
ng-click="$ctrl.showEditPricePopover($event, sale)" ng-click="$ctrl.showEditPricePopover($event, sale)"
pointer
vn-tooltip="Edit price"> vn-tooltip="Edit price">
{{sale.price | currency: 'EUR':2}} {{sale.price | currency: 'EUR':2}}
</vn-td> </vn-td>
@ -132,7 +132,6 @@
ng-if="$ctrl.isEditable" ng-if="$ctrl.isEditable"
class="link" class="link"
ng-click="$ctrl.showEditPopover($event, sale)" ng-click="$ctrl.showEditPopover($event, sale)"
pointer
vn-tooltip="Edit discount"> vn-tooltip="Edit discount">
{{sale.discount}} % {{sale.discount}} %
</vn-td> </vn-td>
@ -242,19 +241,17 @@
type="number"> type="number">
</vn-textfield> </vn-textfield>
<vn-icon-button <vn-icon-button
pointer
icon="arrow_forward_ios" icon="arrow_forward_ios"
ng-click="$ctrl.moveLines($ctrl.moveToTicketFk)"> ng-click="$ctrl.moveLines($ctrl.moveToTicketFk)">
</vn-icon-button> </vn-icon-button>
</vn-horizontal> </vn-horizontal>
<vn-horizontal> <vn-horizontal>
<vn-button <vn-button
pointer
label="New ticket" label="New ticket"
ng-click="$ctrl.linesToNewTicket()"> ng-click="$ctrl.linesToNewTicket()">
</vn-button> </vn-button>
<vn-icon <vn-icon
medium-grey color-secondary
vn-tooltip="You have to allow pop-ups in your web browser to use this functionality" vn-tooltip="You have to allow pop-ups in your web browser to use this functionality"
icon="info"> icon="info">
</vn-icon> </vn-icon>

View File

@ -11,7 +11,7 @@ vn-ticket-sale {
} }
vn-horizontal.header{ vn-horizontal.header{
background-color: $main-01; background-color: $color-main;
h5{ h5{
color: white; color: white;
margin: 0 auto; margin: 0 auto;
@ -21,7 +21,7 @@ vn-ticket-sale {
p.simulatorTitle{ p.simulatorTitle{
margin-bottom: 0px; margin-bottom: 0px;
font-size: 12px; font-size: 12px;
color: $main-01; color: $color-main;
} }
vn-label-value{ vn-label-value{

View File

@ -42,8 +42,7 @@
</vn-autocomplete> </vn-autocomplete>
<vn-auto pad-medium-top> <vn-auto pad-medium-top>
<vn-icon <vn-icon
pointer pointer
medium-grey
vn-tooltip="Remove service" vn-tooltip="Remove service"
icon="delete" icon="delete"
ng-click="model.remove($index)"> ng-click="model.remove($index)">
@ -52,8 +51,7 @@
</vn-horizontal> </vn-horizontal>
</vn-one> </vn-one>
<vn-one> <vn-one>
<vn-icon-button <vn-icon-butto
pointer
vn-tooltip="Add service" vn-tooltip="Add service"
vn-bind="+" vn-bind="+"
icon="add_circle" icon="add_circle"

View File

@ -69,15 +69,13 @@
<vn-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"
orange
icon="icon-claims" icon="icon-claims"
vn-tooltip="{{::$ctrl.$translate.instant('Claim')}}: {{::sale.claimBeginning.claimFk}}"> vn-tooltip="{{::$ctrl.$translate.instant('Claim')}}: {{::sale.claimBeginning.claimFk}}">
</vn-icon> </vn-icon>
</a> </a>
<vn-icon <vn-icon
ng-show="sale.visible || sale.available" ng-show="sale.visible || sale.available"
orange color-main
icon="warning" icon="warning"
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>
@ -86,19 +84,16 @@
<vn-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">
{{sale.itemFk | zeroFill:6}} {{sale.itemFk | zeroFill:6}}
</span> </span>
</vn-td> </vn-td>
<vn-td><vn-fetched-tags max-length="6" item="sale.item" title="sale.concept"/></vn-td> <vn-td expand><vn-fetched-tags max-length="6" item="sale.item" title="sale.concept"/></vn-td>
<vn-td number>{{::sale.quantity}}</vn-td> <vn-td number>{{::sale.quantity}}</vn-td>
<vn-td number>{{::sale.price | currency: 'EUR':2}}</vn-td> <vn-td number>{{::sale.price | currency: 'EUR':2}}</vn-td>
<vn-td number>{{::sale.discount}} %</vn-td> <vn-td number>{{::sale.discount}} %</vn-td>
<vn-td number>{{::sale.quantity * sale.price | currency: 'EUR':2}}</vn-td> <vn-td number>{{::sale.quantity * sale.price | currency: 'EUR':2}}</vn-td>
</vn-tr> </vn-tr>
<vn-tr ng-if="!$ctrl.summary.sales" class="list list-element">
<vn-td colspan="8" style="text-align: center" translate>No results</vn-td>
</vn-tr>
</vn-tbody> </vn-tbody>
</vn-table> </vn-table>
</vn-auto> </vn-auto>
@ -119,9 +114,6 @@
<vn-td number>{{package.quantity}}</vn-td> <vn-td number>{{package.quantity}}</vn-td>
</vn-tr> </vn-tr>
</vn-tbody> </vn-tbody>
<vn-empty-rows ng-if="model.data.length === 0" translate>
No results
</vn-empty-rows>
</vn-table> </vn-table>
</vn-one> </vn-one>
<vn-one ng-if="$ctrl.summary.services.length != 0"> <vn-one ng-if="$ctrl.summary.services.length != 0">
@ -139,15 +131,12 @@
<vn-tbody> <vn-tbody>
<vn-tr ng-repeat="service in $ctrl.summary.services"> <vn-tr ng-repeat="service in $ctrl.summary.services">
<vn-td number>{{::service.id}}</vn-td> <vn-td number>{{::service.id}}</vn-td>
<vn-td>{{::service.description}}</vn-td> <vn-td expand>{{::service.description}}</vn-td>
<vn-td number>{{::service.quantity}}</vn-td> <vn-td number>{{::service.quantity}}</vn-td>
<vn-td number>{{::service.price}}</vn-td> <vn-td number>{{::service.price}}</vn-td>
<vn-td>{{::service.taxClass.description}}</vn-td> <vn-td>{{::service.taxClass.description}}</vn-td>
</vn-tr> </vn-tr>
</vn-tbody> </vn-tbody>
<vn-empty-rows ng-if="$ctrl.summary.services.length === 0" translate>
No results
</vn-empty-rows>
</vn-table> </vn-table>
</vn-one> </vn-one>
<vn-auto ng-if="$ctrl.summary.requests.length != 0"> <vn-auto ng-if="$ctrl.summary.requests.length != 0">
@ -167,7 +156,7 @@
</vn-thead> </vn-thead>
<vn-tbody> <vn-tbody>
<vn-tr ng-repeat="request in $ctrl.summary.requests"> <vn-tr ng-repeat="request in $ctrl.summary.requests">
<vn-td>{{::request.description}}</vn-td> <vn-td expand>{{::request.description}}</vn-td>
<vn-td number>{{::request.created | dateTime: 'dd/MM/yyyy'}}</vn-td> <vn-td number>{{::request.created | dateTime: 'dd/MM/yyyy'}}</vn-td>
<vn-td>{{::request.requester.user.name}}</vn-td> <vn-td>{{::request.requester.user.name}}</vn-td>
<vn-td>{{::request.atender.user.name}}</vn-td> <vn-td>{{::request.atender.user.name}}</vn-td>
@ -177,8 +166,8 @@
<span <span
ng-show="::request.saleFk" ng-show="::request.saleFk"
ng-click="$ctrl.showDescriptor($event, request.saleFk)" ng-click="$ctrl.showDescriptor($event, request.saleFk)"
pointer class="link"> class="link">
{{("000000"+request.saleFk).slice(-6)}} {{request.saleFk | zeroFill:6}}
</span> </span>
</vn-td> </vn-td>
<vn-td number> <vn-td number>
@ -189,12 +178,9 @@
</vn-td> </vn-td>
</vn-tr> </vn-tr>
</vn-tbody> </vn-tbody>
<vn-empty-rows ng-if="$ctrl.summary.requests.length === 0" translate>
No results
</vn-empty-rows>
</vn-table> </vn-table>
</vn-auto> </vn-auto>
</vn-horizontal>
</vn-card> </vn-card>
<vn-item-descriptor-popover <vn-item-descriptor-popover
vn-id="descriptor" vn-id="descriptor"

View File

@ -34,18 +34,15 @@
<vn-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">
{{("000000"+sale.itemFk).slice(-6)}} {{sale.itemFk | zeroFill:6}}
</span> </span>
</vn-td> </vn-td>
<vn-td><vn-fetched-tags max-length="6" item="sale.item"/></vn-td> <vn-td expand><vn-fetched-tags max-length="6" item="sale.item"/></vn-td>
<vn-td number>{{::sale.quantity}}</vn-td> <vn-td number>{{::sale.quantity}}</vn-td>
<vn-td number>{{::sale.volume.m3 | number:3}}</vn-td> <vn-td number>{{::sale.volume.m3 | number:3}}</vn-td>
</vn-tr> </vn-tr>
</vn-tbody> </vn-tbody>
<vn-empty-rows ng-if="model.data.length === 0" translate>
No results
</vn-empty-rows>
</vn-table> </vn-table>
</vn-vertical> </vn-vertical>
<vn-pagination model="model"></vn-pagination> <vn-pagination model="model"></vn-pagination>

Some files were not shown because too many files have changed in this diff Show More