Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix into dev
This commit is contained in:
commit
cdee2d21e2
|
@ -13,8 +13,19 @@ module.exports = function(Self) {
|
|||
});
|
||||
|
||||
Self.getUserConfig = async ctx => {
|
||||
return await Self.app.models.UserConfig.findOne({
|
||||
let userConfig = await Self.app.models.UserConfig.findOne({
|
||||
where: {userFk: ctx.req.accessToken.userId}
|
||||
});
|
||||
|
||||
if (!userConfig) {
|
||||
let newConfig = {
|
||||
warehouseFk: 1,
|
||||
companyFk: 442,
|
||||
userFk: ctx.req.accessToken.userId
|
||||
};
|
||||
|
||||
userConfig = await Self.app.models.UserConfig.create(newConfig);
|
||||
}
|
||||
return userConfig;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -356,7 +356,7 @@ export default {
|
|||
secondSaleDiscount: `vn-ticket-sale vn-tr:nth-child(2) vn-td:nth-child(8)`,
|
||||
secondSaleImport: `vn-ticket-sale vn-tr:nth-child(2) vn-td:nth-child(9)`,
|
||||
secondSaleText: `vn-table div > vn-tbody > vn-tr:nth-child(2)`,
|
||||
totalImport: 'vn-ticket-sale > vn-vertical > vn-card > div > vn-vertical > div > p:nth-child(3) > strong',
|
||||
totalImport: 'vn-ticket-sale > vn-vertical > vn-card > div > vn-vertical > vn-horizontal > vn-one > p:nth-child(3) > strong',
|
||||
selectAllSalesCheckbox: `vn-ticket-sale vn-thead vn-check label`,
|
||||
secondSaleCheckbox: `vn-ticket-sale vn-tr:nth-child(2) vn-check[field="sale.checked"] label`,
|
||||
thirdSaleCheckbox: `vn-ticket-sale vn-tr:nth-child(3) vn-check[field="sale.checked"] label`,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import "colors";
|
||||
@import "variables";
|
||||
|
||||
vn-calendar {
|
||||
display: block;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import 'colors';
|
||||
@import "variables";
|
||||
|
||||
vn-check {
|
||||
position: relative;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import 'colors';
|
||||
@import "variables";
|
||||
|
||||
vn-chip {
|
||||
margin: 0 0.5em 0.5em 0;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import "colors";
|
||||
@import "variables";
|
||||
|
||||
vn-date-picker {
|
||||
.mdl-chip__action {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@import "effects";
|
||||
@import "colors";
|
||||
@import "variables";
|
||||
|
||||
vn-drop-down {
|
||||
.dropdown {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import "colors";
|
||||
@import "variables";
|
||||
|
||||
vn-fetched-tags {
|
||||
&.noTitle vn-one {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import "colors";
|
||||
@import "variables";
|
||||
|
||||
vn-icon-button {
|
||||
outline: 0;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import 'colors';
|
||||
@import "variables";
|
||||
@import '../textfield/style.scss';
|
||||
|
||||
vn-input-number {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import 'colors';
|
||||
@import "variables";
|
||||
vn-input-range {
|
||||
label {
|
||||
color: $main-01;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import 'colors';
|
||||
@import "variables";
|
||||
@import '../textfield/style.scss';
|
||||
|
||||
vn-input-time {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import "colors";
|
||||
@import "variables";
|
||||
|
||||
vn-label-value > section {
|
||||
& > vn-label {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import 'colors';
|
||||
@import "variables";
|
||||
|
||||
vn-log {
|
||||
vn-td {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import "colors";
|
||||
@import "variables";
|
||||
|
||||
vn-paging {
|
||||
display: block;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import "padding";
|
||||
@import "variables";
|
||||
|
||||
vn-searchbar {
|
||||
padding-top: 6px;
|
||||
|
@ -13,6 +13,6 @@ vn-searchbar {
|
|||
max-height: 48em;
|
||||
|
||||
& > form {
|
||||
@extend .pad-large;
|
||||
padding: $pad-large;
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
@import "colors";
|
||||
@import "variables";
|
||||
|
||||
vn-snackbar #shapes {
|
||||
max-height: 20.625em;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import "colors";
|
||||
@import "variables";
|
||||
|
||||
vn-step-control {
|
||||
display: flex;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import 'colors';
|
||||
@import "variables";
|
||||
|
||||
vn-textarea {
|
||||
& > .mdl-textfield {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import "colors";
|
||||
@import "variables";
|
||||
vn-textfield {
|
||||
margin: 20px 0!important;
|
||||
display: inline-block;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import "colors";
|
||||
@import "variables";
|
||||
|
||||
vn-treeview {
|
||||
ul {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import "colors";
|
||||
@import "variables";
|
||||
|
||||
/**
|
||||
* Rewrited CSS rules from Material Design Lite.
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
@import "background";
|
||||
@import "margin";
|
||||
@import "variables";
|
||||
|
||||
body {
|
||||
@extend .bg-content;
|
||||
background-color: $bg-content;
|
||||
overflow: auto;
|
||||
}
|
||||
vn-app {
|
||||
|
@ -56,7 +54,7 @@ vn-app {
|
|||
padding-top: $topbar-height;
|
||||
}
|
||||
.content-block {
|
||||
@extend .margin-medium;
|
||||
margin: $margin-medium;
|
||||
|
||||
form vn-horizontal {
|
||||
& > * {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import "colors";
|
||||
@import "variables";
|
||||
|
||||
vn-login {
|
||||
position: absolute;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import "background";
|
||||
@import "variables";
|
||||
|
||||
vn-topbar {
|
||||
display: flex;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import 'colors';
|
||||
@import "variables";
|
||||
|
||||
vn-user-configuration-popover {
|
||||
vn-popover {
|
||||
|
|
|
@ -1,11 +1,4 @@
|
|||
@import "colors";
|
||||
|
||||
$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;
|
||||
@import "./variables";
|
||||
|
||||
html [bg-main], .bg-main {
|
||||
background-color: $main-bg;
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
@import "colors";
|
||||
|
||||
$border-color: #AAA;
|
||||
$border-thin: 1px;
|
||||
$border-thick: 2px;
|
||||
@import "./colors";
|
||||
@import "./variables";
|
||||
|
||||
html [border-none], .border-none {
|
||||
border: 0;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
@import "./effects";
|
||||
@import "./colors";
|
||||
@import "./padding";
|
||||
@import "./variables";
|
||||
|
||||
.vn-descriptor {
|
||||
box-shadow: 0 .1em .2em rgba(1, 1, 1, .2);
|
||||
|
@ -28,13 +28,13 @@
|
|||
}
|
||||
}
|
||||
& > .body {
|
||||
@extend .pad-small;
|
||||
padding: $pad-small;
|
||||
|
||||
& > * {
|
||||
@extend .pad-small;
|
||||
padding: $pad-small;
|
||||
}
|
||||
& > .attributes > h5 {
|
||||
@extend .pad-small-bottom;
|
||||
padding-bottom: $pad-small;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
|
@ -46,7 +46,7 @@
|
|||
padding: 0;
|
||||
|
||||
& > vn-icon {
|
||||
@extend .pad-small;
|
||||
padding: $pad-small;
|
||||
color: #666;
|
||||
opacity: .4;
|
||||
font-size: 1.5em;
|
||||
|
@ -64,7 +64,7 @@
|
|||
padding: 0;
|
||||
|
||||
& > a {
|
||||
@extend .pad-small;
|
||||
padding: $pad-small;
|
||||
|
||||
& > vn-icon {
|
||||
font-size: 1.8em;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@import "colors";
|
||||
@import "font-family";
|
||||
@import "./colors";
|
||||
@import "./font-family";
|
||||
|
||||
body {
|
||||
color: $main-font-color;
|
||||
|
@ -9,16 +9,16 @@ html [uppercase], .uppercase {
|
|||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
html [orange], .orange{color: $main-01}
|
||||
html [green], .green{color: $main-02}
|
||||
html [blue], .blue{color: $main-03}
|
||||
html [orange], .orange {color: $main-01}
|
||||
html [green], .green {color: $main-02}
|
||||
html [blue], .blue {color: $main-03}
|
||||
html [red], html [alert], .red, .alert {color: $alert-01}
|
||||
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}
|
||||
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}
|
|
@ -1,8 +1,4 @@
|
|||
|
||||
$margin-none: 0;
|
||||
$margin-small: 8px;
|
||||
$margin-medium: 16px;
|
||||
$margin-large: 32px;
|
||||
@import "variables";
|
||||
|
||||
/* None */
|
||||
|
||||
|
@ -16,101 +12,101 @@ html [margin-small], .margin-small {
|
|||
margin: $margin-small;
|
||||
}
|
||||
html [margin-small-top], .margin-small-top {
|
||||
margin-top: $margin-small;
|
||||
margin-top: $margin-small;
|
||||
}
|
||||
html [margin-small-left], .margin-small-left {
|
||||
margin-left: $margin-small;
|
||||
margin-left: $margin-small;
|
||||
}
|
||||
html [margin-small-right], .margin-small-right {
|
||||
margin-right: $margin-small;
|
||||
margin-right: $margin-small;
|
||||
}
|
||||
html [margin-small-bottom], .margin-small-bottom {
|
||||
margin-bottom: $margin-small;
|
||||
margin-bottom: $margin-small;
|
||||
}
|
||||
html [margin-small-v], .margin-small-v {
|
||||
margin-top: $margin-small;
|
||||
margin-bottom: $margin-small;
|
||||
margin-top: $margin-small;
|
||||
margin-bottom: $margin-small;
|
||||
}
|
||||
html [margin-small-h], .margin-small-h {
|
||||
margin-left: $margin-small;
|
||||
margin-right: $margin-small;
|
||||
margin-left: $margin-small;
|
||||
margin-right: $margin-small;
|
||||
}
|
||||
|
||||
/* Medium */
|
||||
|
||||
html [margin-medium], .margin-medium {
|
||||
margin: $margin-medium;
|
||||
margin: $margin-medium;
|
||||
}
|
||||
html [margin-medium-top], .margin-medium-top {
|
||||
margin-top: $margin-medium;
|
||||
margin-top: $margin-medium;
|
||||
}
|
||||
html [margin-medium-left], .margin-medium-left {
|
||||
margin-left: $margin-medium;
|
||||
margin-left: $margin-medium;
|
||||
}
|
||||
html [margin-medium-right], .margin-medium-right {
|
||||
margin-right: $margin-medium;
|
||||
margin-right: $margin-medium;
|
||||
}
|
||||
html [margin-medium-bottom], .margin-medium-bottom {
|
||||
margin-bottom: $margin-medium;
|
||||
margin-bottom: $margin-medium;
|
||||
}
|
||||
html [margin-medium-v], .margin-medium-v {
|
||||
margin-top: $margin-medium;
|
||||
margin-bottom: $margin-medium;
|
||||
margin-top: $margin-medium;
|
||||
margin-bottom: $margin-medium;
|
||||
}
|
||||
html [margin-medium-h], .margin-medium-h {
|
||||
margin-left: $margin-medium;
|
||||
margin-right: $margin-medium;
|
||||
margin-left: $margin-medium;
|
||||
margin-right: $margin-medium;
|
||||
}
|
||||
|
||||
/* Large */
|
||||
|
||||
html [margin-large], .margin-large {
|
||||
margin: $margin-large;
|
||||
margin: $margin-large;
|
||||
}
|
||||
html [margin-large-top], .margin-large-top {
|
||||
margin-top: $margin-large;
|
||||
margin-top: $margin-large;
|
||||
}
|
||||
html [margin-large-left], .margin-large-left {
|
||||
margin-left: $margin-large;
|
||||
margin-left: $margin-large;
|
||||
}
|
||||
html [margin-large-right], .margin-large-right {
|
||||
margin-right: $margin-large;
|
||||
margin-right: $margin-large;
|
||||
}
|
||||
html [margin-large-bottom], .margin-large-bottom {
|
||||
margin-bottom: $margin-large;
|
||||
margin-bottom: $margin-large;
|
||||
}
|
||||
html [margin-large-v], .margin-large-v {
|
||||
margin-top: $margin-large;
|
||||
margin-bottom: $margin-large;
|
||||
margin-top: $margin-large;
|
||||
margin-bottom: $margin-large;
|
||||
}
|
||||
html [margin-large-h], .margin-large-h {
|
||||
margin-left: $margin-large;
|
||||
margin-right: $margin-large;
|
||||
margin-left: $margin-large;
|
||||
margin-right: $margin-large;
|
||||
}
|
||||
|
||||
|
||||
/* Minus Small */
|
||||
|
||||
html [margin--small], .margin--small {
|
||||
margin: -$margin-small;
|
||||
margin: -$margin-small;
|
||||
}
|
||||
html [margin--small-top], .margin--small-top {
|
||||
margin-top: -$margin-small;
|
||||
margin-top: -$margin-small;
|
||||
}
|
||||
html [margin--small-left], .margin--small-left {
|
||||
margin-left: -$margin-small;
|
||||
margin-left: -$margin-small;
|
||||
}
|
||||
html [margin--small-right], .margin--small-right {
|
||||
margin-right: -$margin-small;
|
||||
margin-right: -$margin-small;
|
||||
}
|
||||
html [margin--small-bottom], .margin--small-bottom {
|
||||
margin-bottom: -$margin-small;
|
||||
margin-bottom: -$margin-small;
|
||||
}
|
||||
html [margin--small-v], .margin--small-v {
|
||||
margin-top: -$margin-small;
|
||||
margin-bottom: -$margin-small;
|
||||
margin-top: -$margin-small;
|
||||
margin-bottom: -$margin-small;
|
||||
}
|
||||
html [margin--small-h], .margin--small-h {
|
||||
margin-left: -$margin-small;
|
||||
margin-right: -$margin-small;
|
||||
margin-left: -$margin-small;
|
||||
margin-right: -$margin-small;
|
||||
}
|
|
@ -1,7 +1,5 @@
|
|||
@import "./padding";
|
||||
@import "./margin";
|
||||
@import "./variables";
|
||||
@import "./colors";
|
||||
@import "./border";
|
||||
@import "./effects";
|
||||
|
||||
a:focus,
|
||||
|
@ -160,8 +158,8 @@ a.vn-list-item {
|
|||
}
|
||||
|
||||
.vn-list-item {
|
||||
@extend .pad-medium;
|
||||
@extend .border-solid-bottom;
|
||||
padding: $pad-medium;
|
||||
border-bottom: $border-thin solid $border-color;
|
||||
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
@import "./colors";
|
||||
|
||||
|
||||
|
||||
@media screen and (max-width: 1920px){
|
||||
.catalog-list .product {
|
||||
width: 25%;
|
||||
|
|
|
@ -1,8 +1,4 @@
|
|||
|
||||
$pad-none: 0;
|
||||
$pad-small: 8px;
|
||||
$pad-medium: 16px;
|
||||
$pad-large: 32px;
|
||||
@import "./variables";
|
||||
|
||||
/* None */
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
@import "./colors";
|
||||
@import "./margin";
|
||||
@import "./padding";
|
||||
@import "./variables";
|
||||
|
||||
.summary {
|
||||
margin: 0 auto;
|
||||
|
@ -8,7 +7,7 @@
|
|||
|
||||
& > div {
|
||||
& > h5 {
|
||||
@extend .pad-small;
|
||||
padding: $pad-small;
|
||||
border: none;
|
||||
background: $main-01;
|
||||
color: $color-white;
|
||||
|
@ -21,10 +20,10 @@
|
|||
}
|
||||
& > vn-horizontal {
|
||||
flex-wrap: wrap;
|
||||
@extend .pad-medium;
|
||||
padding: $pad-medium;
|
||||
|
||||
h4 {
|
||||
@extend .margin-medium-bottom;
|
||||
margin-bottom: $margin-medium;
|
||||
text-transform: uppercase;
|
||||
font-size: 15pt;
|
||||
line-height: 1;
|
||||
|
@ -38,7 +37,7 @@
|
|||
text-overflow: ellipsis;
|
||||
}
|
||||
& > * {
|
||||
@extend .margin-small;
|
||||
margin: $margin-small;
|
||||
min-width: 14em;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
|
@ -80,27 +79,3 @@
|
|||
font-size: .9em
|
||||
}
|
||||
}
|
||||
|
||||
.state {
|
||||
padding: 5px;
|
||||
background-color: $main-01;
|
||||
color: white;
|
||||
|
||||
p {
|
||||
font-size: 13px;
|
||||
line-height: 15px;
|
||||
text-align: center;
|
||||
margin: .1em 0;
|
||||
|
||||
&:nth-child(1) {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
}
|
||||
vn-one {
|
||||
padding: 0;
|
||||
|
||||
&:nth-child(1) {
|
||||
border-right: .1em solid white;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
@import "colors";
|
||||
@import "./colors";
|
||||
|
||||
h1 {
|
||||
font-size: 32pt;
|
||||
|
|
|
@ -1,4 +1,34 @@
|
|||
@import "./colors";
|
||||
|
||||
$menu-width: 16em;
|
||||
$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
|
||||
|
||||
$pad-none: 0;
|
||||
$pad-small: 8px;
|
||||
$pad-medium: 16px;
|
||||
$pad-large: 32px;
|
||||
|
||||
// Margin
|
||||
|
||||
$margin-none: 0;
|
||||
$margin-small: 8px;
|
||||
$margin-medium: 16px;
|
||||
$margin-large: 32px;
|
||||
|
||||
// Border
|
||||
|
||||
$border-color: #AAA;
|
||||
$border-thin: 1px;
|
||||
$border-thick: 2px;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import 'colors';
|
||||
@import "variables";
|
||||
|
||||
vn-claim-index {
|
||||
.Pendiente {
|
||||
|
|
|
@ -5,7 +5,32 @@ vn-client-sample-create {
|
|||
}
|
||||
|
||||
tpl-body {
|
||||
min-width: 800px
|
||||
min-width: 800px;
|
||||
|
||||
.container, .container h1 {
|
||||
font-family: "Roboto","Helvetica","Arial",sans-serif;
|
||||
font-size: 1em !important;
|
||||
|
||||
h1 {
|
||||
font-weight: bold;
|
||||
margin: auto
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 1em 0
|
||||
}
|
||||
|
||||
footer p {
|
||||
font-size: 10px !important;
|
||||
line-height: 10px
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.title h1 {
|
||||
font-size: 2em !important;
|
||||
margin: 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
@import 'colors';
|
||||
@import "variables";
|
||||
|
||||
vn-client-summary {
|
||||
.alert span {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import "colors";
|
||||
@import "variables";
|
||||
|
||||
vn-client-web-payment {
|
||||
vn-icon[icon=clear] {
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
</vn-float-button>
|
||||
</a>
|
||||
</div>
|
||||
<vn-horizontal class="state">
|
||||
<vn-horizontal class="item-state">
|
||||
<vn-one>
|
||||
<p translate>Visible</p>
|
||||
<p>{{$ctrl.item.visible}}</p>
|
||||
|
@ -46,7 +46,7 @@
|
|||
<div class="attributes">
|
||||
<h5>{{$ctrl.item.id}}</h5>
|
||||
<vn-label-value label="Name"
|
||||
value="{{::$ctrl.item.name}}">
|
||||
value="{{$ctrl.item.name}}">
|
||||
</vn-label-value>
|
||||
<vn-label-value label="Buyer"
|
||||
value="{{$ctrl.item.itemType.worker.user.nickname}}">
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import 'colors';
|
||||
@import "variables";
|
||||
|
||||
vn-item-diary {
|
||||
& > vn-vertical {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import 'colors';
|
||||
@import "variables";
|
||||
|
||||
vn-item-product {
|
||||
display: block;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import "colors";
|
||||
@import "variables";
|
||||
vn-item-last-entries {
|
||||
.round {
|
||||
background-color: $lines;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
ng-src="//verdnatura.es/vn-image-data/catalog/200x200/{{$ctrl.item.image}}"
|
||||
zoom-image="//verdnatura.es/vn-image-data/catalog/1600x900/{{$ctrl.item.image}}" on-error-src/>
|
||||
</vn-one>
|
||||
<vn-horizontal class="state">
|
||||
<vn-horizontal class="item-state">
|
||||
<vn-one>
|
||||
<p translate>Visible</p>
|
||||
<p>{{$ctrl.summary.visible}}</p>
|
||||
|
@ -36,7 +36,7 @@
|
|||
value="{{$ctrl.summary.item.origin.name}}">
|
||||
</vn-label-value>
|
||||
<vn-label-value label="stems"
|
||||
value="{{$ctrl.summary.item.origin.stems}}">
|
||||
value="{{$ctrl.summary.item.stems}}">
|
||||
</vn-label-value>
|
||||
<vn-label-value label="Buyer"
|
||||
value="{{$ctrl.summary.item.itemType.worker.user.nickname}}">
|
||||
|
|
|
@ -1,5 +1,35 @@
|
|||
@import "./colors";
|
||||
|
||||
vn-item-summary {
|
||||
p {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.item-state {
|
||||
padding: .4em;
|
||||
background-color: $main-01;
|
||||
color: white;
|
||||
|
||||
p {
|
||||
font-size: .8em;
|
||||
text-align: center;
|
||||
margin: 0;
|
||||
|
||||
&:first-child {
|
||||
text-transform: uppercase;
|
||||
line-height: 1;
|
||||
}
|
||||
&:last-child {
|
||||
font-size: 1.5em;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
vn-one {
|
||||
padding: 0;
|
||||
|
||||
&:nth-child(1) {
|
||||
border-right: .1em solid white;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -67,6 +67,7 @@ class Controller {
|
|||
this.$scope.model.save().then(() => {
|
||||
this.$scope.watcher.notifySaved();
|
||||
this.$scope.model.refresh();
|
||||
this.card.reload();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -75,5 +76,8 @@ Controller.$inject = ['$stateParams', '$scope'];
|
|||
|
||||
ngModule.component('vnItemTags', {
|
||||
template: require('./index.html'),
|
||||
controller: Controller
|
||||
controller: Controller,
|
||||
require: {
|
||||
card: '^vnItemCard'
|
||||
}
|
||||
});
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import 'colors';
|
||||
@import "variables";
|
||||
|
||||
vn-dialog.modal-form {
|
||||
vn-horizontal.header{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import "colors";
|
||||
@import "variables";
|
||||
|
||||
vn-order-catalog .catalog-header {
|
||||
border-color: $lines;
|
||||
|
|
|
@ -1,26 +1,27 @@
|
|||
@import "colors";
|
||||
@import "padding";
|
||||
@import "variables";
|
||||
@import "variables";
|
||||
|
||||
vn-catalog-filter > div {
|
||||
& > .input {
|
||||
@extend .pad-medium-h;
|
||||
padding-left: $pad-medium;
|
||||
padding-right: $pad-medium;
|
||||
border-color: $lines;
|
||||
border-bottom: 1px solid rgba($lines, 0.5);
|
||||
}
|
||||
.item-category {
|
||||
@extend .pad-small;
|
||||
padding: $pad-small;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
flex-wrap: wrap;
|
||||
|
||||
& > vn-one {
|
||||
@extend .pad-small;
|
||||
padding: $pad-small;
|
||||
min-width: 33.33%;
|
||||
text-align: center;
|
||||
box-sizing: border-box;
|
||||
|
||||
& > vn-icon {
|
||||
@extend .pad-small;
|
||||
padding: $pad-small;
|
||||
background-color: $secondary-font-color;
|
||||
border-radius: 50%;
|
||||
cursor: pointer;
|
||||
|
@ -39,7 +40,7 @@ vn-catalog-filter > div {
|
|||
}
|
||||
.chips {
|
||||
flex-wrap: wrap;
|
||||
@extend .pad-medium;
|
||||
padding: $pad-medium;
|
||||
}
|
||||
|
||||
vn-autocomplete[vn-id="type"] .list {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import 'colors';
|
||||
@import "variables";
|
||||
|
||||
vn-order-prices-popover {
|
||||
width: 150px;
|
||||
|
|
|
@ -81,10 +81,10 @@ module.exports = Self => {
|
|||
params.clientFk,
|
||||
params.shipped,
|
||||
params.warehouseFk,
|
||||
params.companyFk | 442,
|
||||
params.companyFk || 442,
|
||||
params.addressFk,
|
||||
params.agencyModeFk | null,
|
||||
params.routeFk | null,
|
||||
params.agencyModeFk || null,
|
||||
params.routeFk || null,
|
||||
params.landed,
|
||||
params.userId
|
||||
], {options: transaction});
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import 'colors';
|
||||
@import "variables";
|
||||
|
||||
tpl-item{
|
||||
&.notActive {
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
url="/ticket/api/Tickets/filter"
|
||||
limit="20"
|
||||
data="tickets"
|
||||
order="shipped ASC"
|
||||
order="shipped DESC"
|
||||
auto-load="false">
|
||||
</vn-crud-model>
|
||||
<div class="content-block">
|
||||
|
@ -74,7 +74,12 @@
|
|||
<vn-td>{{::ticket.agencyMode}}</vn-td>
|
||||
<vn-td>{{::ticket.warehouse}}</vn-td>
|
||||
<vn-td number>{{::ticket.total | currency: 'EUR': 2}}</vn-td>
|
||||
<vn-td>
|
||||
<vn-td number>
|
||||
<vn-icon-button
|
||||
ng-click="$ctrl.goToLines(ticket.id)"
|
||||
vn-tooltip="Preview"
|
||||
icon="icon-lines">
|
||||
</vn-icon-button>
|
||||
<vn-icon-button
|
||||
ng-click="$ctrl.preview($event, ticket)"
|
||||
vn-tooltip="Preview"
|
||||
|
|
|
@ -8,7 +8,9 @@ export default class Controller {
|
|||
this.$state = $state;
|
||||
this.selectedTicket = null;
|
||||
this.moreOptions = [
|
||||
{callback: this.goToTurns, name: 'Turns', always: true},
|
||||
{callback: () => {
|
||||
this.goToTurns('ticket.weekly');
|
||||
}, name: 'Turns', always: true},
|
||||
];
|
||||
|
||||
if (!$stateParams.q) {
|
||||
|
@ -42,6 +44,10 @@ export default class Controller {
|
|||
this.$.model.clear();
|
||||
}
|
||||
|
||||
goToLines(ticketFk) {
|
||||
this.$state.go('ticket.card.lines', {id: ticketFk});
|
||||
}
|
||||
|
||||
goToTurns() {
|
||||
this.$state.go('ticket.weekly');
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import 'colors';
|
||||
@import "variables";
|
||||
|
||||
vn-ticket-index{
|
||||
vn-icon-menu{
|
||||
|
|
|
@ -6,44 +6,51 @@
|
|||
<vn-vertical>
|
||||
<vn-card pad-large>
|
||||
<vn-vertical>
|
||||
<vn-tool-bar margin-medium-bottom>
|
||||
<vn-button
|
||||
disabled="!$ctrl.isEditable"
|
||||
label="Ok"
|
||||
ng-click="$ctrl.onStateOkClick()"
|
||||
vn-tooltip="Change ticket state to 'Ok'">
|
||||
</vn-button>
|
||||
<vn-button-menu
|
||||
disabled="!$ctrl.isEditable"
|
||||
label="State"
|
||||
url="/ticket/api/States/alertLevelIs0"
|
||||
on-change="$ctrl.onStateChange(value)">
|
||||
</vn-button-menu>
|
||||
<vn-button-menu
|
||||
ng-show="$ctrl.isChecked"
|
||||
vn-id="more-button"
|
||||
label="More"
|
||||
show-filter="false"
|
||||
value-field="callback"
|
||||
translate-fields="['name']"
|
||||
on-change="$ctrl.onMoreChange(value)"
|
||||
on-open="$ctrl.onMoreOpen()">
|
||||
</vn-button-menu>
|
||||
<vn-button
|
||||
disabled="!$ctrl.isChecked || !$ctrl.isEditable"
|
||||
ng-click="$ctrl.showRemoveLinesDialog()"
|
||||
vn-tooltip="Remove lines"
|
||||
tooltip-position="up"
|
||||
icon="delete">
|
||||
</vn-button>
|
||||
<vn-button
|
||||
disabled="!$ctrl.isChecked || !$ctrl.isEditable"
|
||||
ng-click="$ctrl.showTransferPopover($event);"
|
||||
vn-tooltip="Transfer lines"
|
||||
tooltip-position="right"
|
||||
icon="call_split">
|
||||
</vn-button>
|
||||
</vn-tool-bar>
|
||||
<vn-horizontal class="header">
|
||||
<vn-tool-bar margin-medium-bottom>
|
||||
<vn-button
|
||||
disabled="!$ctrl.isEditable"
|
||||
label="Ok"
|
||||
ng-click="$ctrl.onStateOkClick()"
|
||||
vn-tooltip="Change ticket state to 'Ok'">
|
||||
</vn-button>
|
||||
<vn-button-menu
|
||||
disabled="!$ctrl.isEditable"
|
||||
label="State"
|
||||
url="/ticket/api/States/alertLevelIs0"
|
||||
on-change="$ctrl.onStateChange(value)">
|
||||
</vn-button-menu>
|
||||
<vn-button-menu
|
||||
ng-show="$ctrl.isChecked"
|
||||
vn-id="more-button"
|
||||
label="More"
|
||||
show-filter="false"
|
||||
value-field="callback"
|
||||
translate-fields="['name']"
|
||||
on-change="$ctrl.onMoreChange(value)"
|
||||
on-open="$ctrl.onMoreOpen()">
|
||||
</vn-button-menu>
|
||||
<vn-button
|
||||
disabled="!$ctrl.isChecked || !$ctrl.isEditable"
|
||||
ng-click="$ctrl.showRemoveLinesDialog()"
|
||||
vn-tooltip="Remove lines"
|
||||
tooltip-position="up"
|
||||
icon="delete">
|
||||
</vn-button>
|
||||
<vn-button
|
||||
disabled="!$ctrl.isChecked || !$ctrl.isEditable"
|
||||
ng-click="$ctrl.showTransferPopover($event);"
|
||||
vn-tooltip="Transfer lines"
|
||||
tooltip-position="right"
|
||||
icon="call_split">
|
||||
</vn-button>
|
||||
</vn-tool-bar>
|
||||
<vn-one class="taxes" ng-if="$ctrl.sales.length > 0">
|
||||
<p><vn-label translate>Subtotal</vn-label> {{$ctrl.subTotal | currency: 'EUR':2}}</p>
|
||||
<p><vn-label translate>VAT</vn-label> {{$ctrl.VAT | currency: 'EUR':2}}</p>
|
||||
<p><vn-label><strong>Total</strong></vn-label> <strong>{{$ctrl.total | currency: 'EUR':2}}</strong></p>
|
||||
</vn-one>
|
||||
</vn-horizontal>
|
||||
<vn-table model="model">
|
||||
<vn-thead>
|
||||
<vn-tr>
|
||||
|
@ -142,21 +149,6 @@
|
|||
No results
|
||||
</vn-empty-rows>
|
||||
</vn-table>
|
||||
<div class="totals"
|
||||
ng-if="$ctrl.sales.length > 0">
|
||||
<p>
|
||||
<vn-label translate>Subtotal</vn-label>
|
||||
<span>{{$ctrl.subTotal | currency: 'EUR':2}}</span>
|
||||
</p>
|
||||
<p>
|
||||
<vn-label translate>VAT</vn-label>
|
||||
<span>{{$ctrl.VAT | currency: 'EUR':2}}</span>
|
||||
</p>
|
||||
<p>
|
||||
<vn-label><strong>Total</strong></vn-label>
|
||||
<strong>{{$ctrl.total | currency: 'EUR':2}}</strong>
|
||||
</p>
|
||||
</div>
|
||||
</vn-vertical>
|
||||
</vn-card>
|
||||
<vn-item-descriptor-popover vn-id="descriptor"
|
||||
|
|
|
@ -1,10 +1,15 @@
|
|||
@import "colors";
|
||||
@import "variables";
|
||||
vn-ticket-sale {
|
||||
.header {
|
||||
justify-content: space-between !important;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
vn-popover.edit {
|
||||
div.popover{
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
|
||||
vn-horizontal.header{
|
||||
background-color: $main-01;
|
||||
h5{
|
||||
|
@ -85,13 +90,16 @@ vn-ticket-sale {
|
|||
max-width: 50px;
|
||||
}
|
||||
}
|
||||
|
||||
.totals {
|
||||
.taxes {
|
||||
max-width: 10em;
|
||||
border: .1em solid #CCC;
|
||||
text-align: right;
|
||||
padding: .5em !important;
|
||||
|
||||
|
||||
& > p {
|
||||
margin: 0;
|
||||
margin-top: 1em;
|
||||
font-size: 1.2em;
|
||||
margin: .2em;
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
16
package.json
16
package.json
|
@ -4,10 +4,10 @@
|
|||
"author": "Verdnatura Levante SL",
|
||||
"description": "Salix backend",
|
||||
"license": "GPL-3.0",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://gitea.verdnatura.es/verdnatura/salix"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://gitea.verdnatura.es/verdnatura/salix"
|
||||
},
|
||||
"dependencies": {
|
||||
"compression": "^1.7.3",
|
||||
"fs-extra": "^5.0.0",
|
||||
|
@ -36,7 +36,7 @@
|
|||
"@babel/register": "^7.0.0",
|
||||
"angular-mocks": "^1.7.4",
|
||||
"babel-loader": "^8.0.5",
|
||||
"css-loader": "^0.25.0",
|
||||
"css-loader": "^2.1.0",
|
||||
"del": "^2.2.2",
|
||||
"eslint": "^5.12.0",
|
||||
"eslint-config-google": "^0.11.0",
|
||||
|
@ -73,9 +73,9 @@
|
|||
"node-sass": "^4.9.3",
|
||||
"nodemon": "^1.18.5",
|
||||
"plugin-error": "^1.0.1",
|
||||
"raw-loader": "*",
|
||||
"sass-loader": "^6.0.7",
|
||||
"style-loader": "^0.20.3",
|
||||
"raw-loader": "^1.0.0",
|
||||
"sass-loader": "^7.1.0",
|
||||
"style-loader": "^0.23.1",
|
||||
"webpack": "^4.28.3",
|
||||
"webpack-cli": "^3.2.1",
|
||||
"webpack-dev-server": "^3.1.14",
|
||||
|
|
|
@ -37,4 +37,4 @@ body {
|
|||
font-size: 32px;
|
||||
color: #333;
|
||||
margin: 0
|
||||
}
|
||||
}
|
|
@ -1,7 +1,6 @@
|
|||
.container {
|
||||
font-family: arial, sans-serif;
|
||||
font-size: 16px;
|
||||
zoom: 0.55
|
||||
font-family: "Roboto", "Helvetica", "Arial", sans-serif;
|
||||
font-size: 16px
|
||||
}
|
||||
|
||||
.columns {
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
body {
|
||||
zoom: 0.55
|
||||
}
|
||||
|
||||
.title {
|
||||
margin-bottom: 20px;
|
||||
font-weight: 100;
|
||||
margin-top: 0;
|
||||
font-size: 2em
|
||||
}
|
|
@ -11,6 +11,7 @@
|
|||
{"type": "report", "name": "rpt-claim-pickup-order"},
|
||||
{"type": "report", "name": "rpt-letter-debtor"},
|
||||
{"type": "report", "name": "rpt-sepa-core"},
|
||||
{"type": "report", "name": "rpt-informe"},
|
||||
{"type": "static", "name": "email-header"},
|
||||
{"type": "static", "name": "email-footer"},
|
||||
{"type": "static", "name": "report-header"},
|
||||
|
|
|
@ -2,5 +2,6 @@ const CssReader = require(`${appPath}/lib/cssReader`);
|
|||
|
||||
module.exports = new CssReader([
|
||||
`${appPath}/common/css/layout.css`,
|
||||
`${__dirname}/style.css`])
|
||||
`${appPath}/common/css/email.css`,
|
||||
`${appPath}/common/css/misc.css`])
|
||||
.mergeStyles();
|
||||
|
|
|
@ -5,7 +5,9 @@
|
|||
</head>
|
||||
<body>
|
||||
<section class="container">
|
||||
<!-- Header component -->
|
||||
<email-header></email-header>
|
||||
<!-- End header component -->
|
||||
<section class="main">
|
||||
<!-- Title block -->
|
||||
<div class="title">
|
||||
|
@ -26,7 +28,9 @@
|
|||
<p>{{$t('sections.howToBuy.stock')}}</p>
|
||||
<p>{{$t('sections.howToBuy.delivery')}}</p> -->
|
||||
</section>
|
||||
<!-- Footer component -->
|
||||
<email-footer :locale="locale"></email-footer>
|
||||
<!-- End footer component -->
|
||||
</section>
|
||||
</body>
|
||||
</html>
|
|
@ -2,5 +2,6 @@ const CssReader = require(`${appPath}/lib/cssReader`);
|
|||
|
||||
module.exports = new CssReader([
|
||||
`${appPath}/common/css/layout.css`,
|
||||
`${__dirname}/style.css`])
|
||||
`${appPath}/common/css/email.css`,
|
||||
`${appPath}/common/css/misc.css`])
|
||||
.mergeStyles();
|
||||
|
|
|
@ -1,40 +0,0 @@
|
|||
body {
|
||||
background-color: #EEE
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 600px;
|
||||
min-width: 320px;
|
||||
margin: 0 auto;
|
||||
color: #555
|
||||
}
|
||||
|
||||
.main {
|
||||
background-color: #FFF;
|
||||
padding: 20px
|
||||
}
|
||||
|
||||
.main a {
|
||||
color: #8dba25
|
||||
}
|
||||
|
||||
.main h1 {
|
||||
color: #999
|
||||
}
|
||||
|
||||
.main h3 {
|
||||
font-size: 16px
|
||||
}
|
||||
|
||||
.title {
|
||||
background-color: #95d831;
|
||||
text-transform: uppercase;
|
||||
text-align: center;
|
||||
padding: 35px 0
|
||||
}
|
||||
|
||||
.title h1 {
|
||||
font-size: 32px;
|
||||
color: #333;
|
||||
margin: 0
|
||||
}
|
|
@ -5,7 +5,9 @@
|
|||
</head>
|
||||
<body>
|
||||
<section class="container">
|
||||
<!-- Header component -->
|
||||
<email-header></email-header>
|
||||
<!-- End header component -->
|
||||
<section class="main">
|
||||
<!-- Title block -->
|
||||
<div class="title">
|
||||
|
@ -62,7 +64,9 @@
|
|||
</section>
|
||||
</p>
|
||||
</section>
|
||||
<!-- Footer component -->
|
||||
<email-footer :locale="locale"></email-footer>
|
||||
<!-- End footer component -->
|
||||
</section>
|
||||
</body>
|
||||
</html>
|
|
@ -2,5 +2,6 @@ const CssReader = require(`${appPath}/lib/cssReader`);
|
|||
|
||||
module.exports = new CssReader([
|
||||
`${appPath}/common/css/layout.css`,
|
||||
`${__dirname}/style.css`])
|
||||
`${appPath}/common/css/email.css`,
|
||||
`${appPath}/common/css/misc.css`])
|
||||
.mergeStyles();
|
||||
|
|
|
@ -1,42 +0,0 @@
|
|||
body {
|
||||
background-color: #EEE
|
||||
}
|
||||
|
||||
.container {
|
||||
font-family: arial, sans-serif;
|
||||
max-width: 600px;
|
||||
min-width: 320px;
|
||||
font-size: 16px;
|
||||
margin: 0 auto;
|
||||
color: #555
|
||||
}
|
||||
|
||||
.main {
|
||||
background-color: #FFF;
|
||||
padding: 20px
|
||||
}
|
||||
|
||||
.main a {
|
||||
color: #8dba25
|
||||
}
|
||||
|
||||
.main h1 {
|
||||
color: #999
|
||||
}
|
||||
|
||||
.main h3 {
|
||||
font-size: 16px
|
||||
}
|
||||
|
||||
.title {
|
||||
background-color: #95d831;
|
||||
text-transform: uppercase;
|
||||
text-align: center;
|
||||
padding: 35px 0
|
||||
}
|
||||
|
||||
.title h1 {
|
||||
font-size: 32px;
|
||||
color: #333;
|
||||
margin: 0
|
||||
}
|
|
@ -8,7 +8,6 @@
|
|||
<!-- Header component -->
|
||||
<email-header></email-header>
|
||||
<!-- End header component -->
|
||||
|
||||
<section class="main">
|
||||
<!-- Title block -->
|
||||
<div class="title">
|
||||
|
|
|
@ -2,5 +2,6 @@ const CssReader = require(`${appPath}/lib/cssReader`);
|
|||
|
||||
module.exports = new CssReader([
|
||||
`${appPath}/common/css/layout.css`,
|
||||
`${__dirname}/style.css`])
|
||||
`${appPath}/common/css/email.css`,
|
||||
`${appPath}/common/css/misc.css`])
|
||||
.mergeStyles();
|
||||
|
|
|
@ -1,42 +0,0 @@
|
|||
body {
|
||||
background-color: #EEE
|
||||
}
|
||||
|
||||
.container {
|
||||
font-family: arial, sans-serif;
|
||||
max-width: 600px;
|
||||
min-width: 320px;
|
||||
font-size: 16px;
|
||||
margin: 0 auto;
|
||||
color: #555
|
||||
}
|
||||
|
||||
.main {
|
||||
background-color: #FFF;
|
||||
padding: 20px
|
||||
}
|
||||
|
||||
.main a {
|
||||
color: #8dba25
|
||||
}
|
||||
|
||||
.main h1 {
|
||||
color: #999
|
||||
}
|
||||
|
||||
.main h3 {
|
||||
font-size: 16px
|
||||
}
|
||||
|
||||
.title {
|
||||
background-color: #95d831;
|
||||
text-transform: uppercase;
|
||||
text-align: center;
|
||||
padding: 35px 0
|
||||
}
|
||||
|
||||
.title h1 {
|
||||
font-size: 32px;
|
||||
color: #333;
|
||||
margin: 0
|
||||
}
|
|
@ -8,7 +8,6 @@
|
|||
<!-- Header component -->
|
||||
<email-header></email-header>
|
||||
<!-- End header component -->
|
||||
|
||||
<section class="main">
|
||||
<!-- Title block -->
|
||||
<div class="title">
|
||||
|
|
|
@ -2,5 +2,6 @@ const CssReader = require(`${appPath}/lib/cssReader`);
|
|||
|
||||
module.exports = new CssReader([
|
||||
`${appPath}/common/css/layout.css`,
|
||||
`${__dirname}/style.css`])
|
||||
`${appPath}/common/css/email.css`,
|
||||
`${appPath}/common/css/misc.css`])
|
||||
.mergeStyles();
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
body {
|
||||
background-color: #EEE
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 600px;
|
||||
min-width: 320px;
|
||||
margin: 0 auto;
|
||||
color: #555
|
||||
}
|
||||
.main {
|
||||
background-color: #FFF;
|
||||
padding: 20px
|
||||
}
|
||||
|
||||
.main a {
|
||||
color: #8dba25
|
||||
}
|
||||
|
||||
.main h1 {
|
||||
color: #999
|
||||
}
|
||||
|
||||
.main h3 {
|
||||
font-size: 16px
|
||||
}
|
||||
|
||||
.title {
|
||||
background-color: #95d831;
|
||||
text-transform: uppercase;
|
||||
text-align: center;
|
||||
padding: 35px 0
|
||||
}
|
||||
|
||||
.title h1 {
|
||||
font-size: 32px;
|
||||
color: #333;
|
||||
margin: 0
|
||||
}
|
|
@ -8,7 +8,6 @@
|
|||
<!-- Header component -->
|
||||
<email-header></email-header>
|
||||
<!-- End header component -->
|
||||
|
||||
<section class="main">
|
||||
<!-- Title block -->
|
||||
<div class="title">
|
||||
|
|
|
@ -2,5 +2,6 @@ const CssReader = require(`${appPath}/lib/cssReader`);
|
|||
|
||||
module.exports = new CssReader([
|
||||
`${appPath}/common/css/layout.css`,
|
||||
`${__dirname}/style.css`])
|
||||
`${appPath}/common/css/email.css`,
|
||||
`${appPath}/common/css/misc.css`])
|
||||
.mergeStyles();
|
||||
|
|
|
@ -1,40 +0,0 @@
|
|||
body {
|
||||
background-color: #EEE
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 600px;
|
||||
min-width: 320px;
|
||||
margin: 0 auto;
|
||||
color: #555
|
||||
}
|
||||
|
||||
.main {
|
||||
background-color: #FFF;
|
||||
padding: 20px
|
||||
}
|
||||
|
||||
.main a {
|
||||
color: #8dba25
|
||||
}
|
||||
|
||||
.main h1 {
|
||||
color: #999
|
||||
}
|
||||
|
||||
.main h3 {
|
||||
font-size: 16px
|
||||
}
|
||||
|
||||
.title {
|
||||
background-color: #95d831;
|
||||
text-transform: uppercase;
|
||||
text-align: center;
|
||||
padding: 35px 0
|
||||
}
|
||||
|
||||
.title h1 {
|
||||
font-size: 32px;
|
||||
color: #333;
|
||||
margin: 0
|
||||
}
|
|
@ -8,7 +8,6 @@
|
|||
<!-- Header component -->
|
||||
<email-header></email-header>
|
||||
<!-- End header component -->
|
||||
|
||||
<section class="main">
|
||||
<!-- Title block -->
|
||||
<div class="title">
|
||||
|
|
|
@ -2,6 +2,7 @@ const CssReader = require(`${appPath}/lib/cssReader`);
|
|||
|
||||
module.exports = new CssReader([
|
||||
`${appPath}/common/css/layout.css`,
|
||||
`${appPath}/common/css/report.css`,
|
||||
`${appPath}/common/css/misc.css`,
|
||||
`${__dirname}/style.css`])
|
||||
.mergeStyles();
|
||||
|
|
|
@ -1,14 +1,3 @@
|
|||
.container {
|
||||
color: #000
|
||||
}
|
||||
|
||||
.title {
|
||||
font-weight: 100;
|
||||
margin-top: 0;
|
||||
margin-bottom: 20px;
|
||||
font-size: 2em
|
||||
}
|
||||
|
||||
table.column-oriented {
|
||||
margin-top: 50px !important
|
||||
}
|
||||
|
|
|
@ -2,7 +2,9 @@
|
|||
<html lang="es">
|
||||
<body>
|
||||
<section class="container">
|
||||
<report-header></report-header>
|
||||
<!-- Header component -->
|
||||
<report-header :locale="locale"></report-header>
|
||||
<!-- End header component -->
|
||||
<section class="main">
|
||||
<section class="columns">
|
||||
<section class="size50">
|
||||
|
@ -72,12 +74,13 @@
|
|||
|
||||
<p v-html="$t('sections.agency.description')"></p>
|
||||
</section>
|
||||
|
||||
<!-- Footer component -->
|
||||
<report-footer id="pageFooter"
|
||||
:left-text="$t('claim', [claimId])"
|
||||
:center-text="clientName"
|
||||
:locale="locale">
|
||||
</report-footer>
|
||||
<!-- End footer component -->
|
||||
</section>
|
||||
</body>
|
||||
</html>
|
|
@ -2,6 +2,7 @@ const CssReader = require(`${appPath}/lib/cssReader`);
|
|||
|
||||
module.exports = new CssReader([
|
||||
`${appPath}/common/css/layout.css`,
|
||||
`${appPath}/common/css/report.css`,
|
||||
`${appPath}/common/css/misc.css`,
|
||||
`${__dirname}/style.css`])
|
||||
.mergeStyles();
|
||||
|
|
|
@ -1,14 +1,3 @@
|
|||
.container {
|
||||
color: #000
|
||||
}
|
||||
|
||||
.title {
|
||||
font-weight: 100;
|
||||
margin-top: 0;
|
||||
margin-bottom: 20px;
|
||||
font-size: 2em
|
||||
}
|
||||
|
||||
table.column-oriented {
|
||||
margin-top: 50px !important
|
||||
}
|
|
@ -1,8 +1,10 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
<body>
|
||||
<section class="container">
|
||||
<report-header></report-header>
|
||||
<section class="container" id="report">
|
||||
<!-- Header component -->
|
||||
<report-header :locale="locale"></report-header>
|
||||
<!-- End header component -->
|
||||
<section class="main">
|
||||
<section class="columns">
|
||||
<section class="size50">
|
||||
|
@ -74,13 +76,21 @@
|
|||
</tr> -->
|
||||
</tfoot>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<div class="panel" style="text-align:center;background-color:red">
|
||||
<div class="header">Firma digital</div>
|
||||
<img width="200" src="http://windows.verdnatura.es/signatures/tickets/1161229.png"/>
|
||||
<section>{{dmsCreated}}</section>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- Footer component -->
|
||||
<report-footer id="pageFooter"
|
||||
:left-text="$t('ticket', [clientId])"
|
||||
:left-text="$t('ticket', [ticketId])"
|
||||
:center-text="clientName"
|
||||
:locale="locale">
|
||||
</report-footer>
|
||||
<!-- End footer component -->
|
||||
</section>
|
||||
</body>
|
||||
</html>
|
|
@ -33,11 +33,17 @@ module.exports = {
|
|||
data() {
|
||||
return {totalBalance: 0.00};
|
||||
},
|
||||
computed: {
|
||||
dmsPath() {
|
||||
return `http://windows.verdnatura.es/signatures/tickets/1161229.png`;
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
fetchClient(ticketFk) {
|
||||
return database.pool.query(
|
||||
`SELECT
|
||||
c.id clientId,
|
||||
t.id ticketId,
|
||||
u.lang locale,
|
||||
c.email AS recipient,
|
||||
c.socialName AS clientName,
|
||||
|
@ -46,12 +52,16 @@ module.exports = {
|
|||
c.city,
|
||||
c.fi,
|
||||
p.name AS province,
|
||||
ct.country
|
||||
ct.country,
|
||||
dt.dmsFk,
|
||||
d.created AS dmsCreated
|
||||
FROM ticket t
|
||||
JOIN client c ON c.id = t.clientFk
|
||||
JOIN account.user u ON u.id = c.id
|
||||
JOIN country ct ON ct.id = c.countryFk
|
||||
LEFT JOIN province p ON p.id = c.provinceFk
|
||||
LEFT JOIN dmsTicket dt ON dt.ticketFk = t.id
|
||||
LEFT JOIN dms d ON d.id = dt.dmsFk
|
||||
WHERE t.id = ?`, [ticketFk]);
|
||||
},
|
||||
fetchSales(clientFk, companyFk) {
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
const CssReader = require(`${appPath}/lib/cssReader`);
|
||||
|
||||
module.exports = new CssReader([
|
||||
`${appPath}/common/css/layout.css`,
|
||||
`${appPath}/common/css/report.css`,
|
||||
`${appPath}/common/css/misc.css`,
|
||||
`${__dirname}/style.css`])
|
||||
.mergeStyles();
|
|
@ -0,0 +1,3 @@
|
|||
table.column-oriented {
|
||||
margin-top: 50px !important
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
<body>
|
||||
<section class="container" id="report">
|
||||
<!-- Header component -->
|
||||
<report-header :locale="locale"></report-header>
|
||||
<!-- End header component -->
|
||||
<section class="main">
|
||||
<!-- Report start -->
|
||||
<h1 class="title">{{$t('title')}}</h1>
|
||||
<p>{{$t('date')}} {{dated()}}</p>
|
||||
<table class="column-oriented">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Id</th>
|
||||
<th>{{$t('concept')}}</th>
|
||||
<th>{{$t('quantity')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="sale in sales" :key="sale.id">
|
||||
<td class="font gray">{{sale.id}}</td>
|
||||
<td>{{sale.concept}}</td>
|
||||
<td>{{sale.quantity}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- Report end -->
|
||||
</section>
|
||||
<!-- Footer component -->
|
||||
<report-footer id="pageFooter"
|
||||
:left-text="$t('client', [client.id])"
|
||||
:center-text="client.name"
|
||||
:locale="locale">
|
||||
</report-footer>
|
||||
<!-- End footer component -->
|
||||
</section>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,32 @@
|
|||
const strftime = require('strftime');
|
||||
|
||||
module.exports = {
|
||||
name: 'rpt-informe',
|
||||
created() {
|
||||
if (this.locale)
|
||||
this.$i18n.locale = this.locale;
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
client: {
|
||||
id: 10252,
|
||||
name: 'Batman',
|
||||
},
|
||||
sales: [
|
||||
{id: 1, concept: 'My item 1', quantity: 25},
|
||||
{id: 2, concept: 'My item 2', quantity: 50},
|
||||
{id: 3, concept: 'My item 3', quantity: 150}
|
||||
],
|
||||
locale: 'es'
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
dated: () => {
|
||||
return strftime('%d-%m-%Y', new Date());
|
||||
},
|
||||
},
|
||||
components: {
|
||||
'report-header': require('../report-header'),
|
||||
'report-footer': require('../report-footer'),
|
||||
},
|
||||
};
|
|
@ -0,0 +1,11 @@
|
|||
module.exports = {
|
||||
messages: {
|
||||
es: {
|
||||
title: 'Sample report',
|
||||
date: 'Fecha',
|
||||
quantity: 'Cantidad',
|
||||
concept: 'Concepto',
|
||||
client: 'Cliente {0}',
|
||||
},
|
||||
},
|
||||
};
|
|
@ -2,6 +2,7 @@ const CssReader = require(`${appPath}/lib/cssReader`);
|
|||
|
||||
module.exports = new CssReader([
|
||||
`${appPath}/common/css/layout.css`,
|
||||
`${appPath}/common/css/report.css`,
|
||||
`${appPath}/common/css/misc.css`,
|
||||
`${__dirname}/style.css`])
|
||||
.mergeStyles();
|
||||
|
|
|
@ -1,14 +1,3 @@
|
|||
.container {
|
||||
color: #000
|
||||
}
|
||||
|
||||
.title {
|
||||
font-weight: 100;
|
||||
margin-top: 0;
|
||||
margin-bottom: 20px;
|
||||
font-size: 2em
|
||||
}
|
||||
|
||||
table.column-oriented {
|
||||
margin-top: 50px !important
|
||||
}
|
|
@ -2,7 +2,9 @@
|
|||
<html lang="es">
|
||||
<body>
|
||||
<section class="container">
|
||||
<report-header></report-header>
|
||||
<!-- Header component -->
|
||||
<report-header :locale="locale"></report-header>
|
||||
<!-- End header component -->
|
||||
<section class="main">
|
||||
<section class="columns">
|
||||
<section class="size50">
|
||||
|
@ -71,12 +73,13 @@
|
|||
</tfoot>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
<!-- Footer component -->
|
||||
<report-footer id="pageFooter"
|
||||
:left-text="$t('client', [clientId])"
|
||||
:left-text="$t('claim', [claimId])"
|
||||
:center-text="clientName"
|
||||
:locale="locale">
|
||||
</report-footer>
|
||||
<!-- End footer component -->
|
||||
</section>
|
||||
</body>
|
||||
</html>
|
|
@ -2,6 +2,7 @@ const CssReader = require(`${appPath}/lib/cssReader`);
|
|||
|
||||
module.exports = new CssReader([
|
||||
`${appPath}/common/css/layout.css`,
|
||||
`${appPath}/common/css/report.css`,
|
||||
`${appPath}/common/css/misc.css`,
|
||||
`${__dirname}/style.css`])
|
||||
.mergeStyles();
|
||||
|
|
|
@ -1,14 +1,3 @@
|
|||
.container {
|
||||
color: #000
|
||||
}
|
||||
|
||||
.title {
|
||||
margin-bottom: 10px;
|
||||
font-weight: 100;
|
||||
font-size: 1.5em;
|
||||
margin-top: 0
|
||||
}
|
||||
|
||||
.payment-type {
|
||||
width: auto
|
||||
}
|
||||
|
|
|
@ -2,7 +2,9 @@
|
|||
<html lang="es">
|
||||
<body>
|
||||
<section class="container">
|
||||
<report-header></report-header>
|
||||
<!-- Header component -->
|
||||
<report-header :locale="locale"></report-header>
|
||||
<!-- End header component -->
|
||||
<section class="main">
|
||||
<h1 class="title centered">{{$t('title')}}</h1>
|
||||
<section class="panel supplierPanel">
|
||||
|
@ -139,12 +141,13 @@
|
|||
<p class="font small">{{$t('mandatoryFields')}}</p>
|
||||
<p class="font small">{{$t('sendOrder')}}</p>
|
||||
</section>
|
||||
|
||||
<!-- Footer component -->
|
||||
<report-footer id="pageFooter"
|
||||
:left-text="$t('order', [mandateCode])"
|
||||
:left-text="$t('claim', [claimId])"
|
||||
:center-text="clientName"
|
||||
:locale="locale">
|
||||
</report-footer>
|
||||
<!-- End footer component -->
|
||||
</section>
|
||||
</body>
|
||||
</html>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue