Added new pagination & module index search fixed #268

This commit is contained in:
Joan Sanchez 2018-05-07 08:33:45 +02:00
parent 22250984ae
commit 3c0fe7a4bc
24 changed files with 330 additions and 293 deletions

View File

@ -18,17 +18,19 @@
<vn-vertical vn-one pad-medium-h> <vn-vertical vn-one pad-medium-h>
<vn-horizontal ng-repeat="insurance in classification.creditInsurances track by insurance.id"> <vn-horizontal ng-repeat="insurance in classification.creditInsurances track by insurance.id">
<vn-one> <vn-one>
<vn-label translate>Credit</vn-label> <vn-label-value label="Credit"
<span>{{::insurance.credit}}</span> value="{{::insurance.credit}}">
</vn-label-value>
</vn-one> </vn-one>
<vn-one> <vn-one>
<vn-label translate>Grade</vn-label> <vn-label-value label="Grade"
<span ng-if="!insurance.grade">-</span> value="{{::insurance.grade}}">
<span ng-if="insurance.grade">{{::insurance.grade}}</span> </vn-label-value>
</vn-one> </vn-one>
<vn-one> <vn-one>
<vn-label translate>Date</vn-label> <vn-label-value label="Date"
<span>{{::insurance.created | date:'dd/MM/yyyy' }}</span> value="{{::insurance.created | date:'dd/MM/yyyy' }}">
</vn-label-value>
</vn-one> </vn-one>
</vn-horizontal> </vn-horizontal>
</vn-vertical> </vn-vertical>

View File

@ -1,27 +1,28 @@
<mg-ajax path="/client/api/CreditInsurances/filter" options="vnIndexNonAuto"></mg-ajax> <mg-ajax path="/client/api/CreditInsurances/filter" options="vnIndexNonAuto"></mg-ajax>
<vn-vertical> <vn-vertical>
<vn-card pad-large> <vn-card pad-large>
<vn-vertical> <vn-vertical>
<vn-title>Requested credits</vn-title> <vn-title>Requested credits</vn-title>
<vn-grid-header on-order="$ctrl.onOrder(field, order)"> <vn-grid-header on-order="$ctrl.onOrder(field, order)">
<vn-column-header vn-one pad-medium-h field="credit" text="Credit"></vn-column-header> <vn-column-header vn-one pad-medium-h field="credit" text="Credit"></vn-column-header>
<vn-column-header vn-one pad-medium-h field="grade" text="Grade"></vn-column-header> <vn-column-header vn-one pad-medium-h field="grade" text="Grade"></vn-column-header>
<vn-column-header vn-two pad-medium-h field="created" text="Created" default-order="DESC"></vn-column-header> <vn-column-header vn-two pad-medium-h field="created" text="Created" default-order="DESC"></vn-column-header>
</vn-grid-header> </vn-grid-header>
<vn-one class="list list-content"> <vn-one class="list list-content">
<vn-horizontal <vn-horizontal
vn-one class="list list-element text-center" vn-one class="list list-element text-center"
pad-small-bottom pad-small-bottom
ng-repeat="insurance in index.model.instances track by insurance.id"> ng-repeat="insurance in $ctrl.instances track by insurance.id">
<vn-one pad-medium-h>{{::insurance.credit}}</vn-one> <vn-one pad-medium-h>{{::insurance.credit}}</vn-one>
<vn-one pad-medium-h>{{::insurance.grade}}</vn-one> <vn-one pad-medium-h>{{::insurance.grade}}</vn-one>
<vn-two pad-medium-h>{{::insurance.created | date: 'dd/MM/yyyy'}}</vn-two> <vn-two pad-medium-h>{{::insurance.created | date: 'dd/MM/yyyy'}}</vn-two>
</vn-horizontal> </vn-horizontal>
</vn-one> </vn-one>
<vn-one class="text-center pad-small-v" ng-if="index.model.count === 0" translate>No results</vn-one> <vn-one class="text-center pad-small-v" ng-if="index.model.count === 0" translate>No results</vn-one>
<vn-horizontal vn-one class="list list-footer"></vn-horizontal> <vn-horizontal vn-one class="list list-footer"></vn-horizontal>
</vn-vertical> </vn-vertical>
</vn-card> </vn-card>
<vn-auto-paging vn-one margin-large-top index="index" total="index.model.count" items="$ctrl.instances"></vn-auto-paging>
</vn-vertical> </vn-vertical>
<a ui-sref="clientCard.creditInsurance.create({classificationId: {{index.params.classificationId}}})" <a ui-sref="clientCard.creditInsurance.create({classificationId: {{index.params.classificationId}}})"
fixed-bottom-right vn-tooltip="New classification" vn-bind="+" tooltip-position="left" ng-if="!$ctrl.isClosed"> fixed-bottom-right vn-tooltip="New classification" vn-bind="+" tooltip-position="left" ng-if="!$ctrl.isClosed">

View File

@ -1,28 +1,28 @@
<mg-ajax path="/client/api/ClientCredits/filter" options="vnIndexNonAuto"></mg-ajax> <mg-ajax path="/client/api/ClientCredits/filter" options="vnIndexNonAuto"></mg-ajax>
<vn-vertical> <vn-vertical>
<vn-card pad-large> <vn-card pad-large>
<vn-vertical> <vn-vertical>
<vn-title>Credit</vn-title> <vn-title>Credit</vn-title>
<vn-grid-header on-order="$ctrl.onOrder(field, order)"> <vn-grid-header on-order="$ctrl.onOrder(field, order)">
<vn-column-header vn-one pad-medium-h field="amount" text="Credit"></vn-column-header> <vn-column-header vn-one pad-medium-h field="amount" text="Credit"></vn-column-header>
<vn-column-header vn-two pad-medium-h field="created" text="Since" default-order="ASC"></vn-column-header> <vn-column-header vn-two pad-medium-h field="created" text="Since" default-order="ASC"></vn-column-header>
<vn-column-header vn-two pad-medium-h field="worker.firstName" text="Employee" order-locked></vn-column-header> <vn-column-header vn-two pad-medium-h field="worker.firstName" text="Employee" order-locked></vn-column-header>
</vn-grid-header> </vn-grid-header>
<vn-one class="list list-content"> <vn-one class="list list-content">
<vn-horizontal <vn-horizontal
vn-one class="list list-element text-center" vn-one class="list list-element text-center"
pad-small-bottom pad-small-bottom
ng-repeat="credit in index.model.instances track by credit.id"> ng-repeat="credit in $ctrl.instances track by credit.id">
<vn-one pad-medium-h>{{::credit.amount | number:2}} €</vn-one> <vn-one pad-medium-h>{{::credit.amount | number:2}} €</vn-one>
<vn-two pad-medium-h>{{::credit.created | date:'dd/MM/yyyy HH:mm'}}</vn-two> <vn-two pad-medium-h>{{::credit.created | date:'dd/MM/yyyy HH:mm'}}</vn-two>
<vn-two pad-medium-h>{{::credit.worker.firstName}} {{::credit.worker.name}}</vn-two> <vn-two pad-medium-h>{{::credit.worker.firstName}} {{::credit.worker.name}}</vn-two>
</vn-horizontal> </vn-horizontal>
</vn-one> </vn-one>
<vn-one class="text-center pad-small-v" ng-if="index.model.count === 0" translate>No results</vn-one> <vn-one class="text-center pad-small-v" ng-if="index.model.count === 0" translate>No results</vn-one>
<vn-horizontal vn-one class="list list-footer"></vn-horizontal> <vn-horizontal vn-one class="list list-footer"></vn-horizontal>
<vn-paging vn-one margin-large-top index="index" total="index.model.count"></vn-paging> </vn-vertical>
</vn-vertical>
</vn-card> </vn-card>
<vn-auto-paging vn-one margin-large-top index="index" total="index.model.count" items="$ctrl.instances"></vn-auto-paging>
</vn-vertical> </vn-vertical>
<a ui-sref="clientCard.credit.create" vn-bind="+" fixed-bottom-right> <a ui-sref="clientCard.credit.create" vn-bind="+" fixed-bottom-right>
<vn-float-button icon="add"></vn-float-button> <vn-float-button icon="add"></vn-float-button>

View File

@ -2,36 +2,35 @@
<mg-ajax path="/client/api/greuges/{{edit.params.id}}/sumAmount" options="mgEdit"></mg-ajax> <mg-ajax path="/client/api/greuges/{{edit.params.id}}/sumAmount" options="mgEdit"></mg-ajax>
<vn-vertical> <vn-vertical>
<vn-card pad-large> <vn-card pad-large>
<vn-vertical> <vn-vertical>
<vn-title>Greuge</vn-title> <vn-title>Greuge</vn-title>
<vn-grid-header on-order="$ctrl.onOrder(field, order)"> <vn-grid-header on-order="$ctrl.onOrder(field, order)">
<vn-column-header vn-one pad-medium-h field="shipped" text="Date" default-order="ASC"></vn-column-header> <vn-column-header vn-one pad-medium-h field="shipped" text="Date" default-order="ASC"></vn-column-header>
<vn-column-header vn-two pad-medium-h field="description" text="Comment"></vn-column-header> <vn-column-header vn-two pad-medium-h field="description" text="Comment"></vn-column-header>
<vn-column-header vn-one pad-medium-h field="amount" text="Amount"></vn-column-header> <vn-column-header vn-one pad-medium-h field="amount" text="Amount"></vn-column-header>
<vn-column-header vn-one pad-medium-h field="greugeTypeFk" text="Type"></vn-column-header> <vn-column-header vn-one pad-medium-h field="greugeTypeFk" text="Type"></vn-column-header>
</vn-grid-header> </vn-grid-header>
<vn-one class="list list-content"> <vn-one class="list list-content">
<vn-horizontal <vn-horizontal
class="list list-element text-center" class="list list-element text-center"
pad-small-bottom pad-small-bottom
ng-repeat="greuge in $ctrl.instances track by $index"> ng-repeat="greuge in $ctrl.instances track by $index">
<vn-one pad-medium-h>{{greuge.shipped | date:'dd/MM/yyyy HH:mm' }}</vn-one> <vn-one pad-medium-h>{{::greuge.shipped | date:'dd/MM/yyyy HH:mm' }}</vn-one>
<vn-two pad-medium-h>{{greuge.description}}</vn-two> <vn-two pad-medium-h>{{::greuge.description}}</vn-two>
<vn-one pad-medium-h>{{greuge.amount | number:2}} €</vn-one> <vn-one pad-medium-h>{{::greuge.amount | number:2}} €</vn-one>
<vn-one pad-medium-h>{{greuge.greugeType.name}}</vn-one> <vn-one pad-medium-h>{{::greuge.greugeType.name}}</vn-one>
</vn-horizontal>
</vn-one>
<vn-one class="text-center pad-small-v" ng-if="index.model.count === 0" translate>No results</vn-one>
<vn-horizontal vn-one class="list list-footer text-center">
<vn-one pad-medium-h></vn-one>
<vn-two pad-medium-h></vn-two>
<vn-one pad-medium-h ng-if="index.model.count > 0">{{edit.model.sumAmount | number:2}} €</vn-one>
<vn-one pad-medium-h></vn-one>
</vn-horizontal> </vn-horizontal>
</vn-one> </vn-vertical>
<vn-one class="text-center pad-small-v" ng-if="index.model.count === 0" translate>No results</vn-one>
<vn-horizontal vn-one class="list list-footer text-center">
<vn-one pad-medium-h></vn-one>
<vn-two pad-medium-h></vn-two>
<vn-one pad-medium-h ng-if="index.model.count > 0">{{edit.model.sumAmount | number:2}} €</vn-one>
<vn-one pad-medium-h></vn-one>
</vn-horizontal>
<!--<vn-paging margin-large-top vn-one index="index" total="index.model.count"></vn-paging>-->
<vn-auto-paging margin-large-top vn-one index="index" total="index.model.count" items="$ctrl.instances"></vn-auto-paging>
</vn-vertical>
</vn-card> </vn-card>
<vn-auto-paging margin-large-top vn-one index="index" total="index.model.count" items="$ctrl.instances"></vn-auto-paging>
</vn-vertical> </vn-vertical>
<a ui-sref="clientCard.greuge.create" vn-bind="+" fixed-bottom-right> <a ui-sref="clientCard.greuge.create" vn-bind="+" fixed-bottom-right>
<vn-float-button icon="add"></vn-float-button> <vn-float-button icon="add"></vn-float-button>

View File

@ -14,11 +14,11 @@
</vn-card> </vn-card>
<vn-card margin-medium-top> <vn-card margin-medium-top>
<vn-item-client <vn-item-client
ng-repeat="client in index.model.instances" ng-repeat="client in $ctrl.clients"
client="client"> client="client">
</vn-item-client> </vn-item-client>
</vn-card> </vn-card>
<vn-paging index="index" total="index.model.count"></vn-paging> <vn-auto-paging index="index" total="index.model.count" items="$ctrl.clients"></vn-auto-paging>
</div> </div>
</div> </div>
<a ui-sref="create" vn-bind="+" fixed-bottom-right> <a ui-sref="create" vn-bind="+" fixed-bottom-right>

View File

@ -2,13 +2,19 @@ import ngModule from '../module';
import './item-client'; import './item-client';
export default class Controller { export default class Controller {
constructor($scope) { constructor($scope) {
this.$scope = $scope; this.$scope = $scope;
this.clientSelected = null; this.clientSelected = null;
} }
search(index) { search(index) {
index.accept(); this.clients = [];
index.accept().then(res => {
this.clients = res.instances;
});
} }
openSummary(client) { openSummary(client) {
this.clientSelected = client; this.clientSelected = client;
this.$scope.dialogSummaryClient.show(); this.$scope.dialogSummaryClient.show();

View File

@ -1,38 +1,34 @@
<mg-ajax path="/client/api/InvoiceOuts/filter" options="vnIndexNonAuto"></mg-ajax> <mg-ajax path="/client/api/InvoiceOuts/filter" options="vnIndexNonAuto"></mg-ajax>
<vn-vertical> <vn-vertical>
<vn-card pad-large> <vn-card pad-large>
<vn-vertical> <vn-vertical>
<vn-title>Invoices</vn-title> <vn-title>Invoices</vn-title>
<vn-vertical style="text-align: center;"> <vn-vertical style="text-align: center;">
<vn-grid-header on-order="$ctrl.onOrder(field, order)"> <vn-grid-header on-order="$ctrl.onOrder(field, order)">
<vn-column-header vn-one field="ref" text="Reference" default-order="ASC"></vn-column-header> <vn-column-header vn-one field="ref" text="Reference" default-order="ASC"></vn-column-header>
<vn-column-header vn-one field="issued" text="Issue date"></vn-column-header> <vn-column-header vn-one field="issued" text="Issue date"></vn-column-header>
<vn-column-header vn-one field="dued" text="Due date"></vn-column-header> <vn-column-header vn-one field="dued" text="Due date"></vn-column-header>
<vn-column-header vn-one field="amount" text="Amount"></vn-column-header> <vn-column-header vn-one field="amount" text="Amount"></vn-column-header>
</vn-grid-header> </vn-grid-header>
<vn-vertical> <vn-vertical>
<vn-one <vn-one
ng-if="index.model.count > 0" ng-if="index.model.count > 0"
class="list list-content"> class="list list-content">
<vn-horizontal <vn-horizontal
class="list list-element" class="list list-element"
pad-small-bottom pad-small-bottom
ng-repeat="invoice in index.model.instances track by greuge.id"> ng-repeat="invoice in $ctrl.instances track by greuge.id">
<vn-one>{{::invoice.ref}}</vn-one> <vn-one>{{::invoice.ref}}</vn-one>
<vn-one>{{::invoice.issued | date:'dd/MM/yyyy' }}</vn-one> <vn-one>{{::invoice.issued | date:'dd/MM/yyyy' }}</vn-one>
<vn-one>{{::invoice.dued | date:'dd/MM/yyyy' }}</vn-one> <vn-one>{{::invoice.dued | date:'dd/MM/yyyy' }}</vn-one>
<vn-one>{{::invoice.amount | currency:'€':2}}</vn-one> <vn-one>{{::invoice.amount | currency:'€':2}}</vn-one>
</vn-horizontal> </vn-horizontal>
</vn-one> </vn-one>
<vn-one <vn-one class="text-center pad-small-v" ng-if="index.model.count === 0" translate>No results</vn-one>
ng-if="index.model.count === 0" </vn-vertical>
pad-small-v translate> <vn-horizontal vn-one class="list list-footer"></vn-horizontal>
No results
</vn-one>
</vn-vertical> </vn-vertical>
<vn-horizontal vn-one class="list list-footer"></vn-horizontal>
</vn-vertical> </vn-vertical>
<vn-paging margin-large-top vn-one index="index" total="index.model.count"></vn-paging>
</vn-vertical>
</vn-card> </vn-card>
<vn-auto-paging margin-large-top vn-one index="index" total="index.model.count" items="$ctrl.instances"></vn-auto-paging>
</vn-vertical> </vn-vertical>

View File

@ -1,30 +1,30 @@
<mg-ajax path="/client/api/Mandates/filter" options="vnIndexNonAuto"></mg-ajax> <mg-ajax path="/client/api/Mandates/filter" options="vnIndexNonAuto"></mg-ajax>
<vn-vertical> <vn-vertical>
<vn-card pad-large> <vn-card pad-large>
<vn-vertical> <vn-vertical>
<vn-title>Mandate</vn-title> <vn-title>Mandate</vn-title>
<vn-grid-header on-order="$ctrl.onOrder(field, order)"> <vn-grid-header on-order="$ctrl.onOrder(field, order)">
<vn-column-header vn-one pad-medium-h field="id" text="Id"></vn-column-header> <vn-column-header vn-one pad-medium-h field="id" text="Id"></vn-column-header>
<vn-column-header vn-one pad-medium-h field="companyFk" text="Company"></vn-column-header> <vn-column-header vn-one pad-medium-h field="companyFk" text="Company"></vn-column-header>
<vn-column-header vn-one pad-medium-h field="mandateTypeFk" text="Type"></vn-column-header> <vn-column-header vn-one pad-medium-h field="mandateTypeFk" text="Type"></vn-column-header>
<vn-column-header vn-one pad-medium-h field="created" text="Register date" default-order="ASC"></vn-column-header> <vn-column-header vn-one pad-medium-h field="created" text="Register date" default-order="ASC"></vn-column-header>
<vn-column-header vn-one pad-medium-h field="finished" text="End date"></vn-column-header> <vn-column-header vn-one pad-medium-h field="finished" text="End date"></vn-column-header>
</vn-grid-header> </vn-grid-header>
<vn-one class="list list-content"> <vn-one class="list list-content">
<vn-horizontal <vn-horizontal
vn-one class="list list-element text-center" vn-one class="list list-element text-center"
pad-small-bottom pad-small-bottom
ng-repeat="mandate in index.model.instances track by mandate.id"> ng-repeat="mandate in $ctrl.instances track by mandate.id">
<vn-one pad-medium-h>{{::mandate.id}}</vn-one> <vn-one pad-medium-h>{{::mandate.id}}</vn-one>
<vn-one pad-medium-h>{{::mandate.company.code}}</vn-one> <vn-one pad-medium-h>{{::mandate.company.code}}</vn-one>
<vn-one pad-medium-h>{{::mandate.mandateType.name}}</vn-one> <vn-one pad-medium-h>{{::mandate.mandateType.name}}</vn-one>
<vn-one pad-medium-h>{{::mandate.created | date:'dd/MM/yyyy HH:mm' }}</vn-one> <vn-one pad-medium-h>{{::mandate.created | date:'dd/MM/yyyy HH:mm' }}</vn-one>
<vn-one pad-medium-h>{{::mandate.finished | date:'dd/MM/yyyy HH:mm' || '-'}}</vn-one> <vn-one pad-medium-h>{{::mandate.finished | date:'dd/MM/yyyy HH:mm' || '-'}}</vn-one>
</vn-horizontal> </vn-horizontal>
</vn-one> </vn-one>
<vn-one class="text-center pad-small-v" ng-if="index.model.count === 0" translate>No results</vn-one> <vn-one class="text-center pad-small-v" ng-if="index.model.count === 0" translate>No results</vn-one>
<vn-horizontal vn-one class="list list-footer"></vn-horizontal> <vn-horizontal vn-one class="list list-footer"></vn-horizontal>
<vn-paging vn-one margin-large-top index="index" total="index.model.count"></vn-paging> </vn-vertical>
</vn-vertical>
</vn-card> </vn-card>
<vn-auto-paging vn-one margin-large-top index="index" total="index.model.count" items="$ctrl.instances"></vn-auto-paging>
</vn-vertical> </vn-vertical>

View File

@ -1,36 +1,36 @@
<mg-ajax path="/client/api/Recoveries/filter" options="vnIndexNonAuto"></mg-ajax> <mg-ajax path="/client/api/Recoveries/filter" options="vnIndexNonAuto"></mg-ajax>
<vn-vertical> <vn-vertical>
<vn-card pad-large> <vn-card pad-large>
<vn-vertical> <vn-vertical>
<vn-title>Recovery</vn-title> <vn-title>Recovery</vn-title>
<vn-grid-header on-order="$ctrl.onOrder(field, order)"> <vn-grid-header on-order="$ctrl.onOrder(field, order)">
<vn-column-header vn-one pad-medium-h field="started" text="Since" default-order="ASC"></vn-column-header> <vn-column-header vn-one pad-medium-h field="started" text="Since" default-order="ASC"></vn-column-header>
<vn-column-header vn-one pad-medium-h field="finished" text="To"></vn-column-header> <vn-column-header vn-one pad-medium-h field="finished" text="To"></vn-column-header>
<vn-column-header vn-one pad-medium-h field="amount" text="Amount"></vn-column-header> <vn-column-header vn-one pad-medium-h field="amount" text="Amount"></vn-column-header>
<vn-column-header vn-one pad-medium-h field="period" text="Period"></vn-column-header> <vn-column-header vn-one pad-medium-h field="period" text="Period"></vn-column-header>
</vn-grid-header> </vn-grid-header>
<vn-one class="list list-content"> <vn-one class="list list-content">
<vn-horizontal <vn-horizontal
vn-one class="list list-element text-center" vn-one class="list list-element text-center"
pad-small-bottom pad-small-bottom
ng-repeat="recovery in $ctrl.instances track by $index"> ng-repeat="recovery in $ctrl.instances track by $index">
<vn-none pad-medium-h style="color:#FFA410;"> <vn-none pad-medium-h style="color:#FFA410;">
<i class="material-icons pointer" <i class="material-icons pointer"
vn-tooltip="Finish that recovery period" vn-tooltip="Finish that recovery period"
ng-if="!recovery.finished" ng-if="!recovery.finished"
ng-click="$ctrl.setFinished(recovery)">lock</i> ng-click="$ctrl.setFinished(recovery)">lock</i>
</vn-none> </vn-none>
<vn-one pad-medium-h>{{::recovery.started | date:'dd/MM/yyyy' }}</vn-one> <vn-one pad-medium-h>{{::recovery.started | date:'dd/MM/yyyy' }}</vn-one>
<vn-one pad-medium-h>{{recovery.finished | date:'dd/MM/yyyy' }}</vn-one> <vn-one pad-medium-h>{{recovery.finished | date:'dd/MM/yyyy' }}</vn-one>
<vn-one pad-medium-h>{{::recovery.amount | currency:'€':0}}</vn-one> <vn-one pad-medium-h>{{::recovery.amount | currency:'€':0}}</vn-one>
<vn-one pad-medium-h>{{::recovery.period}}</vn-one> <vn-one pad-medium-h>{{::recovery.period}}</vn-one>
</vn-horizontal> </vn-horizontal>
</vn-one> </vn-one>
<vn-one class="text-center pad-small-v" ng-if="index.model.count === 0" translate>No results</vn-one> <vn-one class="text-center pad-small-v" ng-if="index.model.count === 0" translate>No results</vn-one>
<vn-horizontal vn-one class="list list-footer"></vn-horizontal> <vn-horizontal vn-one class="list list-footer"></vn-horizontal>
<vn-auto-paging vn-one margin-large-top index="index" total="index.model.count" items="$ctrl.instances"></vn-auto-paging> </vn-vertical>
</vn-vertical>
</vn-card> </vn-card>
<vn-auto-paging vn-one margin-large-top index="index" total="index.model.count" items="$ctrl.instances"></vn-auto-paging>
</vn-vertical> </vn-vertical>
<a ui-sref="clientCard.recovery.create" vn-bind="+" fixed-bottom-right> <a ui-sref="clientCard.recovery.create" vn-bind="+" fixed-bottom-right>
<vn-float-button icon="add"></vn-float-button> <vn-float-button icon="add"></vn-float-button>

View File

@ -1,6 +1,6 @@
<section class="step-control"> <section class="step-control">
<section class="steps"> <section class="steps">
<section class="step" ng-repeat="step in $ctrl.steps track by $index"> <section class="step" ng-repeat="step in $ctrl._steps track by $index">
<section class="circle" <section class="circle"
vn-tooltip="{{::step.name}}" vn-tooltip="{{::step.name}}"
tooltip-position="down" tooltip-position="down"

View File

@ -6,6 +6,15 @@ export default class StepControl {
this.$state = $state; this.$state = $state;
} }
set steps(steps) {
if (!steps) return;
this._steps = steps;
if (this.currentStepIndex > 0)
this.$state.go(this._steps[0].state);
}
set currentState(state) { set currentState(state) {
let isAllowed = true; let isAllowed = true;
@ -17,7 +26,7 @@ export default class StepControl {
} }
get totalSteps() { get totalSteps() {
return this.steps.length; return this._steps.length;
} }
get currentState() { get currentState() {
@ -25,36 +34,34 @@ export default class StepControl {
} }
get currentStepIndex() { get currentStepIndex() {
for (let i = 0; i < this.steps.length; i++) { for (let i = 0; i < this._steps.length; i++) {
if (this.steps[i].state == this.$state.current.name) if (this._steps[i].state == this.$state.current.name)
return i; return i;
} }
} }
onPreviousClick() { onPreviousClick() {
let state = this.steps[this.currentStepIndex - 1].state; let state = this._steps[this.currentStepIndex - 1].state;
this.currentState = state; this.currentState = state;
} }
onNextClick() { onNextClick() {
let state = this.steps[this.currentStepIndex + 1].state; let state = this._steps[this.currentStepIndex + 1].state;
this.currentState = state; this.currentState = state;
} }
canMovePrevious() { canMovePrevious() {
return this.steps[0].state != this.currentState; return this.currentStepIndex > 0;
} }
canFinalize() { canFinalize() {
let lastStep = this.steps[this.totalSteps - 1]; return this.currentStepIndex === this.totalSteps - 1;
return lastStep.state == this.currentState;
} }
canMoveNext() { canMoveNext() {
let lastStep = this.steps[this.totalSteps - 1]; return this.currentStepIndex < this.totalSteps - 1;
return lastStep.state != this.currentState;
} }
} }

View File

@ -1,31 +1,28 @@
<mg-ajax path="/item/api/ItemLogs/getLog" options="vnIndexNonAuto"></mg-ajax> <mg-ajax path="/item/api/ItemLogs/getLog" options="vnIndexNonAuto"></mg-ajax>
<vn-vertical> <vn-vertical>
<vn-card pad-large> <vn-card pad-large>
<vn-vertical> <vn-vertical>
<vn-title>Item history</vn-title> <vn-title>Item history</vn-title>
<vn-grid-header on-order="$ctrl.onOrder(field, order)"> <vn-grid-header on-order="$ctrl.onOrder(field, order)">
<vn-column-header vn-two pad-medium-h field="description" text="Description"></vn-column-header> <vn-column-header vn-two pad-medium-h field="description" text="Description"></vn-column-header>
<vn-column-header vn-one pad-medium-h field="action" text="Action"></vn-column-header> <vn-column-header vn-one pad-medium-h field="action" text="Action"></vn-column-header>
<vn-column-header vn-one pad-medium-h field="userFk" text="Changed by"></vn-column-header> <vn-column-header vn-one pad-medium-h field="userFk" text="Changed by"></vn-column-header>
<vn-column-header vn-one pad-medium-h field="creationDate" text="Date" default-order="ASC"></vn-column-header> <vn-column-header vn-one pad-medium-h field="creationDate" text="Date" default-order="ASC"></vn-column-header>
</vn-grid-header> </vn-grid-header>
<vn-one class="list list-content"> <vn-one class="list list-content">
<vn-horizontal <vn-horizontal
class="list list-element text-center" class="list list-element text-center"
pad-small-bottom pad-small-bottom
ng-repeat="itemLog in index.model.instances track by itemLog.id"> ng-repeat="itemLog in index.model.instances track by itemLog.id">
<vn-two pad-medium-h>{{::itemLog.description}}</vn-two> <vn-two pad-medium-h>{{::itemLog.description}}</vn-two>
<vn-one pad-medium-h>{{::itemLog.action}}</vn-one> <vn-one pad-medium-h>{{::itemLog.action}}</vn-one>
<vn-one pad-medium-h>{{::itemLog.user.name}}</vn-one> <vn-one pad-medium-h>{{::itemLog.user.name}}</vn-one>
<vn-one pad-medium-h>{{::itemLog.creationDate | date:'dd/MM/yyyy HH:mm'}}</vn-one> <vn-one pad-medium-h>{{::itemLog.creationDate | date:'dd/MM/yyyy HH:mm'}}</vn-one>
</vn-horizontal> </vn-horizontal>
</vn-one> </vn-one>
<vn-horizontal vn-one class="list list-footer text-center"> <vn-one class="text-center pad-small-v" ng-if="index.model.count === 0" translate>No results</vn-one>
<vn-one pad-medium-h></vn-one> <vn-horizontal vn-one class="list list-footer text-center"></vn-horizontal>
<vn-two pad-medium-h></vn-two> </vn-vertical>
<vn-one pad-medium-h></vn-one>
</vn-horizontal>
<vn-paging margin-large-top vn-one index="index" total="index.model.count"></vn-paging>
</vn-vertical>
</vn-card> </vn-card>
<vn-auto-paging vn-one margin-large-top index="index" total="index.model.count" items="$ctrl.instances"></vn-auto-paging>
</vn-vertical> </vn-vertical>

View File

@ -19,7 +19,6 @@
item="item"> item="item">
</vn-item-product> </vn-item-product>
</vn-card> </vn-card>
<!-- <vn-paging index="index" total="index.model.count"></vn-paging> -->
<vn-auto-paging index="index" total="index.model.count" items="$ctrl.items"></vn-auto-paging> <vn-auto-paging index="index" total="index.model.count" items="$ctrl.items"></vn-auto-paging>
</div> </div>
</div> </div>

View File

@ -41,4 +41,5 @@ Add niche: Añadir nicho
Remove niche: Quitar nicho Remove niche: Quitar nicho
Add barcode: Añadir código de barras Add barcode: Añadir código de barras
Remove barcode: Quitar código de barras Remove barcode: Quitar código de barras
Buyer: Comprador Buyer: Comprador
No results: Sin resultados

View File

@ -58,10 +58,13 @@
<td ng-class="::{ <td ng-class="::{
first: $index == 0,last: $index == sale.components.length - 1 first: $index == 0,last: $index == sale.components.length - 1
}" number>{{::sale.quantity * component.value | currency:'€':3}}</td> }" number>{{::sale.quantity * component.value | currency:'€':3}}</td>
</tr> </tr>
<tr ng-if="index.model.count === 0" class="list list-element">
<td colspan="7" style="text-align: center" translate>No results</td>
</tr>
</tbody> </tbody>
</table> </table>
</vn-vertical> </vn-vertical>
<vn-paging margin-large-top vn-one index="index" total="index.model.count"></vn-paging> <vn-auto-paging vn-one margin-large-top index="index" total="index.model.count" items="$ctrl.instances"></vn-auto-paging>
</vn-card> </vn-card>
</vn-vertical> </vn-vertical>

View File

@ -1,6 +1,6 @@
<form name="form"> <form name="form">
<vn-card pad-large> <vn-card pad-large>
<vn-title>Basic data</vn-title> <vn-title>Ticket configuration - Basic data</vn-title>
<vn-horizontal> <vn-horizontal>
<vn-autocomplete vn-one <vn-autocomplete vn-one
url="/api/Clients" url="/api/Clients"

View File

@ -1,8 +1,15 @@
<form name="form"> <form name="form">
<vn-card pad-large> <vn-card pad-large>
<vn-title>Step tree</vn-title> <vn-title>Ticket configuration - Charge</vn-title>
<vn-horizontal> <vn-horizontal>
Ticket id {{$ctrl.ticket.id}} <vn-autocomplete vn-one
url="/api/Clients"
label="Charge difference to"
show-field="name"
value-field="id"
field="$ctrl.ticket.clientFk"
initial-data="$ctrl.ticket.clientFk">
</vn-autocomplete>
</vn-horizontal> </vn-horizontal>
</vn-card> </vn-card>
</form> </form>

View File

@ -1,42 +1,42 @@
<mg-ajax path="/ticket/api/Expeditions/filter" options="vnIndexNonAuto"></mg-ajax> <mg-ajax path="/ticket/api/Expeditions/filter" options="vnIndexNonAuto"></mg-ajax>
<vn-vertical> <vn-vertical>
<vn-card pad-large> <vn-card pad-large>
<vn-vertical> <vn-vertical>
<vn-title>Expedition</vn-title> <vn-title>Expedition</vn-title>
<vn-grid-header on-order="$ctrl.onOrder(field, order)"> <vn-grid-header on-order="$ctrl.onOrder(field, order)">
<vn-column-header vn-one pad-medium-h text="Delete"></vn-column-header> <vn-column-header vn-one pad-medium-h text="Delete"></vn-column-header>
<vn-column-header vn-one pad-medium-h field="itemFk" text="Item"></vn-column-header> <vn-column-header vn-one pad-medium-h field="itemFk" text="Item"></vn-column-header>
<vn-column-header vn-one pad-medium-h field="name" text="Name" order-locked></vn-column-header> <vn-column-header vn-one pad-medium-h field="name" text="Name" order-locked></vn-column-header>
<vn-column-header vn-one pad-medium-h field="packageFk" text="Package type"></vn-column-header> <vn-column-header vn-one pad-medium-h field="packageFk" text="Package type"></vn-column-header>
<vn-column-header vn-one pad-medium-h field="counter" text="Counter"></vn-column-header> <vn-column-header vn-one pad-medium-h field="counter" text="Counter"></vn-column-header>
<vn-column-header vn-one pad-medium-h field="checked" text="Checked"></vn-column-header> <vn-column-header vn-one pad-medium-h field="checked" text="Checked"></vn-column-header>
<vn-column-header vn-one pad-medium-h field="worker" text="Worker"></vn-column-header> <vn-column-header vn-one pad-medium-h field="worker" text="Worker"></vn-column-header>
<vn-column-header vn-one pad-medium-h field="created" text="Created" default-order="DESC"></vn-column-header> <vn-column-header vn-one pad-medium-h field="created" text="Created" default-order="DESC"></vn-column-header>
</vn-grid-header> </vn-grid-header>
<vn-one class="list list-content"> <vn-one class="list list-content">
<vn-horizontal <vn-horizontal
vn-one class="list list-element text-center" vn-one class="list list-element text-center"
pad-small-bottom pad-small-bottom
ng-repeat="expedition in index.model.instances track by expedition.id"> ng-repeat="expedition in $ctrl.instances track by expedition.id">
<vn-one pad-medium-h style="color:#FFA410;"> <vn-one pad-medium-h style="color:#FFA410;">
<i <i
pointer pointer
class="material-icons" class="material-icons"
vn-tooltip="delete expedition" vn-tooltip="delete expedition"
ng-click="$ctrl.deleteExpedition(expedition)">delete</i> ng-click="$ctrl.deleteExpedition(expedition)">delete</i>
</vn-one> </vn-one>
<vn-one pad-medium-h>{{expedition.itemFk}}</vn-one> <vn-one pad-medium-h>{{::expedition.itemFk}}</vn-one>
<vn-one pad-medium-h>{{expedition.item.name}}</vn-one> <vn-one pad-medium-h>{{::expedition.item.name}}</vn-one>
<vn-one pad-medium-h>{{expedition.package.name}}</vn-one> <vn-one pad-medium-h>{{::expedition.package.name}}</vn-one>
<vn-one pad-medium-h>{{expedition.counter}}</vn-one> <vn-one pad-medium-h>{{::expedition.counter}}</vn-one>
<vn-one pad-medium-h>{{expedition.checked}}</vn-one> <vn-one pad-medium-h>{{::expedition.checked}}</vn-one>
<vn-one pad-medium-h>{{expedition.worker.firstName}} {{expedition.worker.name}}</vn-one> <vn-one pad-medium-h>{{::expedition.worker.firstName}} {{::expedition.worker.name}}</vn-one>
<vn-one pad-medium-h>{{expedition.created | date:'dd/MM/yyyy'}}</vn-one> <vn-one pad-medium-h>{{::expedition.created | date:'dd/MM/yyyy'}}</vn-one>
</vn-horizontal> </vn-horizontal>
</vn-one> </vn-one>
<vn-one class="text-center pad-small-v" ng-if="index.model.count === 0" translate>No results</vn-one> <vn-one class="text-center pad-small-v" ng-if="index.model.count === 0" translate>No results</vn-one>
<vn-horizontal vn-one class="list list-footer"></vn-horizontal> <vn-horizontal vn-one class="list list-footer"></vn-horizontal>
<vn-paging vn-one margin-large-top index="index" total="index.model.count"></vn-paging> </vn-vertical>
</vn-vertical>
</vn-card> </vn-card>
<vn-auto-paging vn-one margin-large-top index="index" total="index.model.count" items="$ctrl.instances"></vn-auto-paging>
</vn-vertical> </vn-vertical>

View File

@ -30,7 +30,7 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr ng-repeat="ticket in index.model.instances" <tr ng-repeat="ticket in $ctrl.tickets track by ticket.id"
class="{{::$ctrl.compareDate(ticket.shipped)}} clickable" class="{{::$ctrl.compareDate(ticket.shipped)}} clickable"
ui-sref="ticket.card.summary({id: {{::ticket.id}}})"> ui-sref="ticket.card.summary({id: {{::ticket.id}}})">
<td> <td>
@ -62,7 +62,7 @@
</table> </table>
</vn-horizontal> </vn-horizontal>
</vn-card> </vn-card>
<vn-paging index="index" total="index.model.count"></vn-paging> <vn-auto-paging vn-one index="index" total="index.model.count" items="$ctrl.tickets"></vn-auto-paging>
</div> </div>
</div> </div>
<a ui-sref="ticket.create" vn-bind="+" fixed-bottom-right> <a ui-sref="ticket.create" vn-bind="+" fixed-bottom-right>

View File

@ -31,7 +31,10 @@ export default class Controller {
} }
search(index) { search(index) {
index.accept(); this.tickets = [];
index.accept().then(res => {
this.tickets = res.instances;
});
} }
} }

View File

@ -1,27 +1,35 @@
<mg-ajax path="/ticket/api/sales/filter" options="vnIndexNonAuto"></mg-ajax> <mg-ajax path="/ticket/api/sales/filter" options="vnIndexNonAuto"></mg-ajax>
<vn-vertical> <vn-vertical>
<vn-card pad-large> <vn-card pad-large>
<vn-vertical> <vn-vertical>
<vn-title>Sale checked</vn-title> <vn-title>Sale checked</vn-title>
<table class="vn-grid"> <table class="vn-grid">
<thead> <thead>
<tr> <tr>
<th style="text-align:center" translate>Is checked</th> <th style="text-align:center" translate>Is checked</th>
<th number translate>Item</th> <th number translate>Item</th>
<th translate style="text-align:center">Description</th> <th translate style="text-align:center">Description</th>
<th number translate>Quantity</th> <th number translate>Quantity</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr ng-repeat="sale in index.model.instances track by sale.id"> <tr ng-repeat="sale in $ctrl.instances track by sale.id">
<td style="text-align:center!important">
<td style="text-align:center!important"><vn-check style="text-align:center!important" vn-one field="sale.isChecked.isChecked" disabled="true"></vn-check></td> <vn-check style="text-align:center!important"
<td number>{{::sale.itemFk}}</td> vn-one field="sale.isChecked.isChecked"
<td><vn-fetched-tags sale="sale"/></td> disabled="true">
<td number>{{::sale.quantity}}</td> </vn-check>
</tr> </td>
</tbody> <td number>{{::sale.itemFk}}</td>
</table> <td><vn-fetched-tags sale="sale"/></td>
</vn-vertical> <td number>{{::sale.quantity}}</td>
</tr>
<tr ng-if="index.model.count === 0" class="list list-element">
<td colspan="4" style="text-align: center" translate>No results</td>
</tr>
</tbody>
</table>
</vn-vertical>
</vn-card> </vn-card>
<vn-auto-paging vn-one margin-large-top index="index" total="index.model.count" items="$ctrl.instances"></vn-auto-paging>
</vn-vertical> </vn-vertical>

View File

@ -15,7 +15,7 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr ng-repeat="sale in index.model.instances track by sale.id"> <tr ng-repeat="sale in $ctrl.instances track by sale.id">
<td <td
pointer pointer
number number
@ -28,10 +28,14 @@
<td number>{{::sale.discount}} %</td> <td number>{{::sale.discount}} %</td>
<td number>{{::sale.quantity * sale.price | currency:'€':2}}</td> <td number>{{::sale.quantity * sale.price | currency:'€':2}}</td>
</tr> </tr>
<tr ng-if="index.model.count === 0" class="list list-element">
<td colspan="6" style="text-align: center" translate>No results</td>
</tr>
</tbody> </tbody>
</table> </table>
</vn-vertical> </vn-vertical>
</vn-card> </vn-card>
<vn-auto-paging vn-one margin-large-top index="index" total="index.model.count" items="$ctrl.instances"></vn-auto-paging>
<vn-item-descriptor-popover vn-id="descriptor"> <vn-item-descriptor-popover vn-id="descriptor">
</vn-item-descriptor-popover> </vn-item-descriptor-popover>
</vn-popover> </vn-popover>

View File

@ -1,28 +1,28 @@
<mg-ajax path="/ticket/api/TicketTrackings/filter" options="vnIndexNonAuto"></mg-ajax> <mg-ajax path="/ticket/api/TicketTrackings/filter" options="vnIndexNonAuto"></mg-ajax>
<vn-vertical> <vn-vertical>
<vn-card pad-large> <vn-card pad-large>
<vn-vertical> <vn-vertical>
<vn-title>Tracking</vn-title> <vn-title>Tracking</vn-title>
<vn-grid-header on-order="$ctrl.onOrder(field, order)"> <vn-grid-header on-order="$ctrl.onOrder(field, order)">
<vn-column-header vn-one pad-medium-h field="state.name" text="State" order-locked></vn-column-header> <vn-column-header vn-one pad-medium-h field="state.name" text="State" order-locked></vn-column-header>
<vn-column-header vn-two pad-medium-h field="employee" text="Employee" order-locked></vn-column-header> <vn-column-header vn-two pad-medium-h field="employee" text="Employee" order-locked></vn-column-header>
<vn-column-header vn-two pad-medium-h field="created" text="Created" default-order="ASC"></vn-column-header> <vn-column-header vn-two pad-medium-h field="created" text="Created" default-order="ASC"></vn-column-header>
</vn-grid-header> </vn-grid-header>
<vn-one class="list list-content"> <vn-one class="list list-content">
<vn-horizontal <vn-horizontal
vn-one class="list list-element text-center" vn-one class="list list-element text-center"
pad-small-bottom pad-small-bottom
ng-repeat="ticket in index.model.instances track by ticket.id"> ng-repeat="ticket in $ctrl.instances track by ticket.id">
<vn-one pad-medium-h>{{::ticket.state.name}}</vn-one> <vn-one pad-medium-h>{{::ticket.state.name}}</vn-one>
<vn-two pad-medium-h>{{::ticket.worker.firstName}} {{ticket.worker.name}}</vn-two> <vn-two pad-medium-h>{{::ticket.worker.firstName}} {{ticket.worker.name}}</vn-two>
<vn-two pad-medium-h>{{::ticket.created | date:'dd/MM/yyyy HH:mm'}}</vn-two> <vn-two pad-medium-h>{{::ticket.created | date:'dd/MM/yyyy HH:mm'}}</vn-two>
</vn-horizontal> </vn-horizontal>
</vn-one> </vn-one>
<vn-one class="text-center pad-small-v" ng-if="index.model.count === 0" translate>No results</vn-one> <vn-one class="text-center pad-small-v" ng-if="index.model.count === 0" translate>No results</vn-one>
<vn-horizontal vn-one class="list list-footer"></vn-horizontal> <vn-horizontal vn-one class="list list-footer"></vn-horizontal>
<vn-paging vn-one margin-large-top index="index" total="index.model.count"></vn-paging> </vn-vertical>
</vn-vertical>
</vn-card> </vn-card>
<vn-auto-paging vn-one margin-large-top index="index" total="index.model.count" items="$ctrl.instances"></vn-auto-paging>
</vn-vertical> </vn-vertical>
<a ui-sref="ticket.card.tracking.edit" vn-bind="+" fixed-bottom-right> <a ui-sref="ticket.card.tracking.edit" vn-bind="+" fixed-bottom-right>
<vn-float-button icon="add"></vn-float-button> <vn-float-button icon="add"></vn-float-button>

View File

@ -15,7 +15,7 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr ng-repeat="sale in index.model.instances track by sale.id" class="list list-element"> <tr ng-repeat="sale in $ctrl.instances track by sale.id" class="list list-element">
<td number>{{::sale.itemFk}}</td> <td number>{{::sale.itemFk}}</td>
<td><vn-fetched-tags sale="sale"/></td> <td><vn-fetched-tags sale="sale"/></td>
<td number>{{::sale.quantity}}</td> <td number>{{::sale.quantity}}</td>
@ -23,8 +23,12 @@
<td number>{{::sale.volume.volumeTimesQuantity | number:3}}</td> <td number>{{::sale.volume.volumeTimesQuantity | number:3}}</td>
<td number>{{::sale.volume.m3_total | number:3}}</td> <td number>{{::sale.volume.m3_total | number:3}}</td>
</tr> </tr>
<tr ng-if="index.model.count === 0" class="list list-element">
<td colspan="6" style="text-align: center" translate>No results</td>
</tr>
</tbody> </tbody>
</table> </table>
</vn-vertical> </vn-vertical>
</vn-card> </vn-card>
<vn-auto-paging vn-one margin-large-top index="index" total="index.model.count" items="$ctrl.instances"></vn-auto-paging>
</vn-vertical> </vn-vertical>