added travel service
This commit is contained in:
parent
e05b2d9550
commit
10d191544e
|
@ -8,3 +8,4 @@ order: [item, ticket]
|
||||||
claim: [item, client]
|
claim: [item, client]
|
||||||
route: []
|
route: []
|
||||||
agency: []
|
agency: []
|
||||||
|
travel: []
|
||||||
|
|
|
@ -26,4 +26,5 @@ Routes: Rutas
|
||||||
What is new: Novedades de la versión
|
What is new: Novedades de la versión
|
||||||
Web Account inactive: Sin acceso Web
|
Web Account inactive: Sin acceso Web
|
||||||
Orders: Pedidos
|
Orders: Pedidos
|
||||||
Agencies: Agencias
|
Agencies: Agencias
|
||||||
|
Travels: Envíos
|
||||||
|
|
|
@ -12,5 +12,7 @@ export default {
|
||||||
claim:
|
claim:
|
||||||
cb => require.ensure([], () => cb(require('claim'))),
|
cb => require.ensure([], () => cb(require('claim'))),
|
||||||
agency:
|
agency:
|
||||||
cb => require.ensure([], () => cb(require('agency')))
|
cb => require.ensure([], () => cb(require('agency'))),
|
||||||
|
travel:
|
||||||
|
cb => require.ensure([], () => cb(require('travel')))
|
||||||
};
|
};
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
export * from './src';
|
|
@ -0,0 +1,22 @@
|
||||||
|
{
|
||||||
|
"module": "travel",
|
||||||
|
"name": "Travels",
|
||||||
|
"icon": "icon-travels",
|
||||||
|
"validations": true,
|
||||||
|
"routes": [
|
||||||
|
{
|
||||||
|
"url": "/travel",
|
||||||
|
"state": "travel",
|
||||||
|
"abstract": true,
|
||||||
|
"component": "ui-view",
|
||||||
|
"description": "Travels"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "/index?q",
|
||||||
|
"state": "travel.index",
|
||||||
|
"component": "vn-travel-index",
|
||||||
|
"description": "List"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"menu": []
|
||||||
|
}
|
|
@ -0,0 +1,4 @@
|
||||||
|
export * from './module';
|
||||||
|
|
||||||
|
import './index/';
|
||||||
|
import './search-panel';
|
|
@ -0,0 +1,59 @@
|
||||||
|
<vn-crud-model
|
||||||
|
vn-id="model"
|
||||||
|
url="/travel/api/Travels"
|
||||||
|
filter="::$ctrl.filter"
|
||||||
|
limit="20"
|
||||||
|
data="travels"
|
||||||
|
auto-load="false">
|
||||||
|
</vn-crud-model>
|
||||||
|
<div margin-medium>
|
||||||
|
<div class="vn-list">
|
||||||
|
<vn-card pad-medium-h>
|
||||||
|
<vn-searchbar
|
||||||
|
panel="vn-travel-search-panel"
|
||||||
|
model="model"
|
||||||
|
expr-builder="$ctrl.exprBuilder(param, value)"
|
||||||
|
vn-focus>
|
||||||
|
</vn-searchbar>
|
||||||
|
</vn-card>
|
||||||
|
</div>
|
||||||
|
<vn-card margin-medium-v pad-medium>
|
||||||
|
<vn-table model="model">
|
||||||
|
<vn-thead>
|
||||||
|
<vn-tr>
|
||||||
|
<vn-th field="id" number>Id</vn-th>
|
||||||
|
<vn-th field="ref">Reference</vn-th>
|
||||||
|
<vn-th field="agencyFk">Agency</vn-th>
|
||||||
|
<vn-th field="warehouseOutFk">Warehouse Out</vn-th>
|
||||||
|
<vn-th field="shipped">Shipped</vn-th>
|
||||||
|
<vn-th field="isDelivered">Delivered</vn-th>
|
||||||
|
<vn-th field="warehouseInFk">Warehouse In</vn-th>
|
||||||
|
<vn-th field="landed">Landed</vn-th>
|
||||||
|
<vn-th field="isReceived">Received</vn-th>
|
||||||
|
<vn-th></vn-th>
|
||||||
|
</vn-tr>
|
||||||
|
</vn-thead>
|
||||||
|
<vn-tbody>
|
||||||
|
<vn-tr ng-repeat="travel in travels" class="clickable">
|
||||||
|
<vn-td number>{{::travel.id}}</vn-td>
|
||||||
|
<vn-td>{{::travel.ref}}</vn-td>
|
||||||
|
<vn-td>{{::travel.agency.name}}</vn-td>
|
||||||
|
<vn-td>{{::travel.warehouseOut.name}}</vn-td>
|
||||||
|
<vn-td>{{::travel.shipped | date:'dd/MM/yyyy'}}</vn-td>
|
||||||
|
<vn-td><vn-check field="travel.isDelivered" disabled="true"></vn-check></vn-td>
|
||||||
|
<vn-td>{{::travel.warehouseIn.name}}</vn-td>
|
||||||
|
<vn-td>{{::travel.landed | date:'dd/MM/yyyy'}}</vn-td>
|
||||||
|
<vn-td><vn-check field="travel.isReceived" disabled="true"></vn-check></vn-td>
|
||||||
|
<vn-td></vn-td>
|
||||||
|
</vn-tr>
|
||||||
|
</vn-tbody>
|
||||||
|
<vn-empty-rows ng-if="model.data.length === 0" translate>
|
||||||
|
No results
|
||||||
|
</vn-empty-rows>
|
||||||
|
</vn-table>
|
||||||
|
</vn-card>
|
||||||
|
<vn-pagination
|
||||||
|
model="model"
|
||||||
|
scroll-selector="ui-view">
|
||||||
|
</vn-pagination>
|
||||||
|
</div>
|
|
@ -0,0 +1,52 @@
|
||||||
|
import ngModule from '../module';
|
||||||
|
|
||||||
|
export default class Controller {
|
||||||
|
constructor($scope) {
|
||||||
|
this.$scope = $scope;
|
||||||
|
this.ticketSelected = null;
|
||||||
|
|
||||||
|
this.filter = {
|
||||||
|
include: [
|
||||||
|
{
|
||||||
|
relation: 'agency',
|
||||||
|
scope: {
|
||||||
|
fields: ['name']
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
relation: 'warehouseIn',
|
||||||
|
scope: {
|
||||||
|
fields: ['name']
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
relation: 'warehouseOut',
|
||||||
|
scope: {
|
||||||
|
fields: ['name']
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
exprBuilder(param, value) {
|
||||||
|
switch (param) {
|
||||||
|
case 'search':
|
||||||
|
return {id: value};
|
||||||
|
case 'ref':
|
||||||
|
return {[param]: {regexp: value}};
|
||||||
|
case 'id':
|
||||||
|
case 'agencyFk':
|
||||||
|
case 'warehouseOutFk':
|
||||||
|
case 'warehouseInFk':
|
||||||
|
return {[param]: value};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Controller.$inject = ['$scope'];
|
||||||
|
|
||||||
|
ngModule.component('vnTravelIndex', {
|
||||||
|
template: require('./index.html'),
|
||||||
|
controller: Controller
|
||||||
|
});
|
|
@ -0,0 +1,13 @@
|
||||||
|
#Ordenar alfabeticamente
|
||||||
|
Reference: Referencia
|
||||||
|
Warehouse Out: Almacén salida
|
||||||
|
Warehouse In: Almacén llegada
|
||||||
|
Shipped: F. salida
|
||||||
|
Landed: F. llegada
|
||||||
|
Delivered: Enviado
|
||||||
|
Received: Recibido
|
||||||
|
Travel id: Id envío
|
||||||
|
#sections
|
||||||
|
Travels: Envíos
|
||||||
|
List: Listado
|
||||||
|
Summary: Vista previa
|
|
@ -0,0 +1,5 @@
|
||||||
|
import {ng} from 'vendor';
|
||||||
|
import 'core';
|
||||||
|
|
||||||
|
const ngModule = ng.module('travel', ['vnCore']);
|
||||||
|
export default ngModule;
|
|
@ -0,0 +1,52 @@
|
||||||
|
<div pad-large style="min-width: 30em">
|
||||||
|
<form ng-submit="$ctrl.onSearch()">
|
||||||
|
<vn-horizontal>
|
||||||
|
<vn-textfield
|
||||||
|
vn-one
|
||||||
|
label="General search"
|
||||||
|
model="filter.search"
|
||||||
|
vn-focus>
|
||||||
|
</vn-textfield>
|
||||||
|
</vn-horizontal>
|
||||||
|
<vn-horizontal>
|
||||||
|
<vn-textfield
|
||||||
|
vn-one
|
||||||
|
label="Reference"
|
||||||
|
model="filter.ref">
|
||||||
|
</vn-textfield>
|
||||||
|
</vn-horizontal>
|
||||||
|
<vn-horizontal>
|
||||||
|
<vn-textfield
|
||||||
|
vn-one
|
||||||
|
label="Travel id"
|
||||||
|
model="filter.id">
|
||||||
|
</vn-textfield>
|
||||||
|
<vn-autocomplete vn-one
|
||||||
|
label="Agency"
|
||||||
|
field="filter.agencyFk"
|
||||||
|
url="/ticket/api/Agencies"
|
||||||
|
show-field="name"
|
||||||
|
value-field="id">
|
||||||
|
</vn-autocomplete>
|
||||||
|
</vn-horizontal>
|
||||||
|
<vn-horizontal>
|
||||||
|
<vn-autocomplete vn-one
|
||||||
|
label="Warehouse Out"
|
||||||
|
field="filter.warehouseOutFk"
|
||||||
|
url="/ticket/api/Warehouses"
|
||||||
|
show-field="name"
|
||||||
|
value-field="id">
|
||||||
|
</vn-autocomplete>
|
||||||
|
<vn-autocomplete vn-one
|
||||||
|
label="Warehouse In"
|
||||||
|
field="filter.warehouseInFk"
|
||||||
|
url="/ticket/api/Warehouses"
|
||||||
|
show-field="name"
|
||||||
|
value-field="id">
|
||||||
|
</vn-autocomplete>
|
||||||
|
</vn-horizontal>
|
||||||
|
<vn-horizontal margin-large-top>
|
||||||
|
<vn-submit label="Search"></vn-submit>
|
||||||
|
</vn-horizontal>
|
||||||
|
</form>
|
||||||
|
</div>
|
|
@ -0,0 +1,7 @@
|
||||||
|
import ngModule from '../module';
|
||||||
|
import SearchPanel from 'core/src/components/searchbar/search-panel';
|
||||||
|
|
||||||
|
ngModule.component('vnTravelSearchPanel', {
|
||||||
|
template: require('./index.html'),
|
||||||
|
controller: SearchPanel
|
||||||
|
});
|
|
@ -0,0 +1,7 @@
|
||||||
|
Ticket id: Id ticket
|
||||||
|
Client id: Id cliente
|
||||||
|
Nickname: Alias
|
||||||
|
From: Desde
|
||||||
|
To: Hasta
|
||||||
|
Agency: Agencia
|
||||||
|
Warehouse: Almacén
|
|
@ -0,0 +1,6 @@
|
||||||
|
FROM vn-loopback:latest
|
||||||
|
|
||||||
|
COPY travel /app
|
||||||
|
WORKDIR /app
|
||||||
|
CMD ["pm2-docker", "./server/server.js"]
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
{}
|
|
@ -0,0 +1,48 @@
|
||||||
|
{
|
||||||
|
"name": "Travel",
|
||||||
|
"base": "VnModel",
|
||||||
|
"options": {
|
||||||
|
"mysql": {
|
||||||
|
"table": "travel"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"properties": {
|
||||||
|
"id": {
|
||||||
|
"type": "Number",
|
||||||
|
"id": true,
|
||||||
|
"description": "Identifier"
|
||||||
|
},
|
||||||
|
"shipped": {
|
||||||
|
"type": "date"
|
||||||
|
},
|
||||||
|
"landed": {
|
||||||
|
"type": "date"
|
||||||
|
},
|
||||||
|
"isDelivered": {
|
||||||
|
"type": "Boolean"
|
||||||
|
},
|
||||||
|
"isReceived": {
|
||||||
|
"type": "Boolean"
|
||||||
|
},
|
||||||
|
"ref": {
|
||||||
|
"type": "String"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"relations": {
|
||||||
|
"agency": {
|
||||||
|
"type": "belongsTo",
|
||||||
|
"model": "Agency",
|
||||||
|
"foreignKey": "agencyFk"
|
||||||
|
},
|
||||||
|
"warehouseIn": {
|
||||||
|
"type": "belongsTo",
|
||||||
|
"model": "Warehouse",
|
||||||
|
"foreignKey": "warehouseInFk"
|
||||||
|
},
|
||||||
|
"warehouseOut": {
|
||||||
|
"type": "belongsTo",
|
||||||
|
"model": "Warehouse",
|
||||||
|
"foreignKey": "warehouseOutFk"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,18 @@
|
||||||
|
{
|
||||||
|
"name": "vn-travel",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"main": "server/server.js",
|
||||||
|
"scripts": {
|
||||||
|
"start": "node .",
|
||||||
|
"posttest": "npm run lint && nsp check"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"vn-loopback": "file:../loopback"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.verdnatura.es/salix"
|
||||||
|
},
|
||||||
|
"license": "GPL-3.0",
|
||||||
|
"description": "vn-travel"
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"Travel": {
|
||||||
|
"dataSource": "vn"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,4 @@
|
||||||
|
var vnLoopback = require('vn-loopback/server/server.js');
|
||||||
|
|
||||||
|
var app = module.exports = vnLoopback.loopback();
|
||||||
|
vnLoopback.boot(app, __dirname, module);
|
Loading…
Reference in New Issue