Commit f5123882bfe9cc06efb15054129ad1d4396f328f

Authored by Eric Fernandez
1 parent c7268e6fb0
Exists in master

reacomodo tabla, a cargar disponible en función,

rellenar botonera facturador 4
src/views/foca-detalle-vehiculo.html
1 <div class="modal-header"> 1 <div class="modal-header">
2 <h4>Detalle de carga</h4> 2 <h4>Detalle de carga</h4>
3 Transportista <strong ng-bind="vehiculo.transportista.NOM"></strong> 3 Transportista
4 <strong ng-bind="vehiculo.transportista.COD"></strong>
5 <strong ng-bind="vehiculo.transportista.NOM"></strong>
4 Unidad <strong ng-bind="vehiculo.codigo"></strong> 6 Unidad <strong ng-bind="vehiculo.codigo"></strong>
5 Tractor <strong ng-bind="vehiculo.tractor"></strong> 7 Tractor <strong ng-bind="vehiculo.tractor"></strong>
6 <br> 8 <br>
7 <div ng-show="idRemito !== -1"> 9 <div ng-show="idRemito !== -1">
8 <span>Remito Nº</span> 10 <span>Remito Nº</span>
9 <strong ng-bind="[remito.sucursal, remito.numeroRemito] | comprobante"></strong> 11 <strong ng-bind="[remito.sucursal, remito.numeroRemito] | comprobante"></strong>
10 <span>, Fecha</span> 12 <span>, Fecha</span>
11 <strong ng-bind="remito.fechaRemito | date: 'dd/MM/yyyy HH:mm'"></strong> 13 <strong ng-bind="remito.fechaRemito | date: 'dd/MM/yyyy HH:mm'"></strong>
12 <span>, Cliente</span> 14 <span>, Cliente</span>
13 <strong ng-bind="remito.nombreCliente"></strong> 15 <strong ng-bind="remito.nombreCliente"></strong>
14 <span>, Domicilio entrega</span> 16 <span>, Domicilio entrega</span>
15 <strong ng-bind="remito.domicilioStamp"></strong> 17 <strong ng-bind="remito.domicilioStamp"></strong>
16 </div> 18 </div>
17 </div> 19 </div>
18 <div class="modal-body"> 20 <div class="modal-body">
19 <div> 21 <div>
20 <table class="table table-sm" ng-show="idRemito !== -1"> 22 <table class="table table-sm" ng-show="idRemito !== -1">
21 <thead> 23 <thead>
22 <tr> 24 <tr>
23 <th></th> 25 <th></th>
24 <th>Articulo</th> 26 <th>Articulo</th>
25 <th>Total</th> 27 <th>Cantidad</th>
26 <th>Cargado</th> 28 <th>Cargado</th>
27 <th>Pendiente</th> 29 <th>Resta asignar</th>
28 </tr> 30 </tr>
29 </thead> 31 </thead>
30 <tbody> 32 <tbody>
31 <tr ng-repeat="(key, articulo) in articulos"> 33 <tr ng-repeat="(key, articulo) in articulos">
32 <td><input 34 <td><input
33 type="radio" 35 type="radio"
34 name="articuloRadio" 36 name="articuloRadio"
35 id="{{'articulo' + articulo.id}}" 37 id="{{'articulo' + articulo.id}}"
36 ng-checked="articulo.checked" 38 ng-checked="articulo.checked"
37 ng-disabled="articulo.cargado" 39 ng-disabled="articulo.cargado"
38 ng-click="cambioArticulo(articulo)" 40 ng-click="cambioArticulo(articulo)"
39 ></td> 41 ></td>
40 <td ng-bind="articulo.descripcion"></td> 42 <td ng-bind="articulo.descripcion"></td>
41 <td ng-bind="articulo.cantidad"></td> 43 <td ng-bind="articulo.cantidad"></td>
42 <td ng-bind="articulo.cantidadCargada || 0"></td> 44 <td ng-bind="articulo.cantidadCargada || 0"></td>
43 <td ng-bind="articulo.cantidad - articulo.cantidadCargada"></td> 45 <td ng-bind="articulo.cantidad - articulo.cantidadCargada"></td>
44 </tr> 46 </tr>
45 </tbody> 47 </tbody>
46 </table> 48 </table>
47 <table class="table table-sm"> 49 <table class="table table-sm" ladda="cargandoDatos" data-spinner-color="#FF0000">
48 <thead> 50 <thead>
49 <tr> 51 <tr>
50 <th width="10%">Cisterna</th> 52 <th width="10%">Cisterna</th>
51 <th width="20%">Cantidad asignada</th> 53 <th>Capacidad</th>
52 <th width="35%">Estado</th>
53 <th>Articulo cargado</th> 54 <th>Articulo cargado</th>
55 <th width="20%">Asignado</th>
56 <th>Cargado / Capacidad Disponible</th>
54 </tr> 57 </tr>
55 </thead> 58 </thead>
56 <tbody> 59 <tbody>
57 <tr ng-repeat="(key, cisterna) in vehiculo.cisternas"> 60 <tr ng-repeat="(key, cisterna) in vehiculo.cisternas">
58 <td ng-bind="cisterna.codigo"></td> 61 <td class="py-3" ng-bind="cisterna.codigo"></td>
59 <td><input 62 <td class="py-3" ng-bind="cisterna.capacidad"></td>
63 <td class="py-3" ng-bind="cisterna.cisternaCarga.articulo.DetArt || 'Sin asignar'"></td>
64 <td ng-if="idRemito != -1">
65 <input
60 class="form-control" 66 class="form-control"
61 foca-tipo-input 67 foca-tipo-input
62 foca-teclado 68 foca-teclado
63 placeholder="A cargar..." 69 placeholder="A cargar..."
64 ng-model="aCargar[key]" 70 ng-model="aCargar[key]"
65 ng-disabled="(articuloSeleccionado.idArticulo !== cisterna.cisternaCarga.idProducto && 71 ng-disabled="cisterna.disabled"
66 cisterna.cisternaCarga.idProducto) || !tieneArticulosPendientes() 72 ng-focus="aCargar[key] = rellenarInput(aCargar[key]); actualizarArticulo()"
67 || articuloSeleccionado.cantidad > cisterna.disponible"
68 ng-change="actualizarArticulo()" 73 ng-change="actualizarArticulo()"
69 > 74 >
70 </td> 75 </td>
76 <td ng-if="idRemito == -1">
77 <input
78 class="form-control"
79 placeholder="A cargar..."
80 readonly>
81 </td>
71 <td><div class="progress foca-alto-progress pl-0 pr-0 mt-1"> 82 <td><div class="progress foca-alto-progress pl-0 pr-0 mt-1">
72 <strong 83 <strong
73 class="mt-2 col-4 text-center position-absolute" 84 class="mt-2 col-4 text-center position-absolute"
74 ng-bind="(cisterna.cisternaCarga.cantidad || 0) + '/' + (cisterna.capacidad)"> 85 ng-bind="(cisterna.cisternaCarga.cantidad || 0) + '/' +
86 (cisterna.capacidad - cisterna.cisternaCarga.cantidad)">
75 </strong> 87 </strong>
76 <div 88 <div
77 id="{{cisterna.id}}" 89 id="{{cisterna.id}}"
78 class="progress-bar" 90 class="progress-bar"
79 role="progressbar" 91 role="progressbar"
80 aria-valuemin="0" 92 aria-valuemin="0"
81 aria-valuemax="{{cisterna.capacidad}}" 93 aria-valuemax="{{cisterna.capacidad}}"
82 ng-style="{'width':'{{calcularPorcentaje(cisterna)}}'}"> 94 ng-style="{'width':'{{calcularPorcentaje(cisterna)}}'}">
83 </div> 95 </div>
84 </div> 96 </div>
85 </td> 97 </td>
86 <td ng-bind="cisterna.cisternaCarga.articulo.DetArt || 'Sin asignar'"></td>
87 </tr> 98 </tr>
88 </tbody> 99 </tbody>
89 </table> 100 </table>
90 <div class="col-12 aling-end"> 101 <div class="col-12 aling-end">
91 <button 102 <button
92 class="form-control btn btn-success" 103 class="form-control btn btn-success"
93 ladda="cargando" 104 ladda="cargando"
94 data-spinner-color="#FF0000" 105 data-spinner-color="#FF0000"
95 type="button" 106 type="button"
96 ng-disabled="!articuloSeleccionado || articuloSeleccionado.cantidad - 107 ng-disabled="!distribucionDisponible()"
97 articuloSeleccionado.cantidadCargada !== 0 || !tieneArticulosPendientes()" 108 ng-class="{'btn-light': !distribucionDisponible()}"
98 ng-class="{'btn-light': !articuloSeleccionado || articuloSeleccionado.cantidad - 109 ng-click="cargarACisternas(vehiculo)"
99 articuloSeleccionado.cantidadCargada !== 0 || !tieneArticulosPendientes()}" 110 foca-focus="distribucionDisponible()">
100 ng-click="cargarACisternas(vehiculo)">
101 Aplicar distribución de cargas 111 Aplicar distribución de cargas
102 </button> 112 </button>
103 </div> 113 </div>
104 </div> 114 </div>
105 </div> 115 </div>
106 <div class="modal-footer py-1"> 116 <div class="modal-footer py-1">
107 <button 117 <button
108 class="btn btn-sm btn-secondary" 118 class="btn btn-sm btn-secondary"
109 ladda="cargando" 119 ladda="cargando"
110 type="button" 120 type="button"
111 ng-click="cancelar()">Cancelar</button> 121 ng-click="cancelar()">Cancelar</button>
112 <button 122 <button
113 class="btn btn-sm btn-primary" 123 class="btn btn-sm btn-primary"
114 ladda="cargando" 124 ladda="cargando"
115 type="button" 125 type="button"
src/views/foca-logistica-pedido-ruta.html
1 <div class="foca-logistica-pedido-ruta" id="scope"> 1 <div class="foca-logistica-pedido-ruta" id="scope">
2 <div class="row"> 2 <div class="row">
3 <foca-cabecera-facturador 3 <foca-cabecera-facturador
4 titulo="titulo" 4 titulo="titulo"
5 fecha="now" 5 fecha="now"
6 class="mb-0 col-lg-12" 6 class="mb-0 col-lg-12"
7 ></foca-cabecera-facturador> 7 ></foca-cabecera-facturador>
8 </div> 8 </div>
9 <div class="row px-5 py-2 botonera-secundaria"> 9 <div class="row px-5 py-2 botonera-secundaria">
10 <div class="col-12"> 10 <div class="col-12">
11 <foca-botonera-facturador botones="botonera" extra="5" class="row"></foca-botonera-facturador> 11 <foca-botonera-facturador botones="botonera" extra="4" class="row"></foca-botonera-facturador>
12 </div> 12 </div>
13 </div> 13 </div>
14 <div class="row"> 14 <div class="row">
15 <div class="offset-1 col-9"> 15 <div class="offset-1 col-9">
16 <foca-logistica 16 <foca-logistica
17 latitud="-32.89214159952345" 17 latitud="-32.89214159952345"
18 longitud="-68.84572999101856" 18 longitud="-68.84572999101856"
19 zoom="14" 19 zoom="14"
20 marcadores="marcadores" 20 marcadores="marcadores"
21 parametros= "datosBuscados" 21 parametros= "datosBuscados"
22 /> 22 />
23 </div> 23 </div>
24 <div class="col-2 pl-0"> 24 <div class="col-2 pl-0">
25 <strong>Filtros: </strong> 25 <strong>Filtros: </strong>
26 <br> 26 <br>
27 <span>Fecha Desde</span> 27 <span>Fecha Desde</span>
28 <input 28 <input
29 type="text" 29 type="text"
30 readonly 30 readonly
31 ng-model="fechaDesde" 31 ng-model="fechaDesde"
32 class="form-control form-control-sm" 32 class="form-control form-control-sm"
33 uib-datepicker-popup="dd/MM/yyyy" 33 uib-datepicker-popup="dd/MM/yyyy"
34 show-button-bar="false" 34 show-button-bar="false"
35 is-open="fechaDesdeOpen" 35 is-open="fechaDesdeOpen"
36 on-open-focus="false" 36 on-open-focus="false"
37 ng-focus="fechaDesdeOpen = true" 37 ng-focus="fechaDesdeOpen = true"
38 ng-change="search()" 38 ng-change="search()"
39 /> 39 />
40 <span>Fecha Hasta</span> 40 <span>Fecha Hasta</span>
41 <input 41 <input
42 type="text" 42 type="text"
43 readonly 43 readonly
44 ng-model="fechaHasta" 44 ng-model="fechaHasta"
45 class="form-control form-control-sm" 45 class="form-control form-control-sm"
46 uib-datepicker-popup="dd/MM/yyyy" 46 uib-datepicker-popup="dd/MM/yyyy"
47 show-button-bar="false" 47 show-button-bar="false"
48 is-open="fechaHastaOpen" 48 is-open="fechaHastaOpen"
49 on-open-focus="false" 49 on-open-focus="false"
50 ng-focus="fechaHastaOpen = true" 50 ng-focus="fechaHastaOpen = true"
51 ng-change="search()" 51 ng-change="search()"
52 /> 52 />
53 <!-- TODO: descomentar cuando se quite definitivamente --> 53 <!-- TODO: descomentar cuando se quite definitivamente -->
54 <!-- <button 54 <!-- <button
55 type="button" 55 type="button"
56 ng-class="{'active': idVendedor == 0}" 56 ng-class="{'active': idVendedor == 0}"
57 class="btn col-12 my-1" 57 class="btn col-12 my-1"
58 ng-click="general()" 58 ng-click="general()"
59 >General</button> 59 >General</button>
60 <button 60 <button
61 type="button" 61 type="button"
62 ng-class="{'active': idVendedor != 0}" 62 ng-class="{'active': idVendedor != 0}"
63 class="btn col-12 my-1" 63 class="btn col-12 my-1"
64 ng-click="individual()" 64 ng-click="individual()"
65 >Individual</button> 65 >Individual</button>
66 <div class="form-group" ng-show="idVendedor == -1"> 66 <div class="form-group" ng-show="idVendedor == -1">
67 <input 67 <input
68 type="text" 68 type="text"
69 placeholder="Vendedor" 69 placeholder="Vendedor"
70 class="form-control" 70 class="form-control"
71 ng-model="idVendedorInput" 71 ng-model="idVendedorInput"
72 ng-keypress="search($event.keyCode)" 72 ng-keypress="search($event.keyCode)"
73 foca-focus="idVendedor == -1" 73 foca-focus="idVendedor == -1"
74 > 74 >
75 </div> --> 75 </div> -->
76 <div class="custom-control custom-radio"> 76 <div class="custom-control custom-radio">
77 <input 77 <input
78 type="radio" 78 type="radio"
79 class="custom-control-input" 79 class="custom-control-input"
80 id="idTodos" 80 id="idTodos"
81 name="filtro" 81 name="filtro"
82 ng-model="filtroEstado" 82 ng-model="filtroEstado"
83 ng-change="search()" 83 ng-change="search()"
84 checked> 84 checked>
85 <label class="custom-control-label pb-3" for="idTodos"></label> 85 <label class="custom-control-label pb-3" for="idTodos"></label>
86 <img src="img/marker-icon-grey.png"> 86 <img src="img/marker-icon-grey.png">
87 <strong>Todos</strong> 87 <strong>Todos</strong>
88 </div> 88 </div>
89 <div class="custom-control custom-radio"> 89 <div class="custom-control custom-radio">
90 <input 90 <input
91 type="radio" 91 type="radio"
92 class="custom-control-input" 92 class="custom-control-input"
93 id="idSinAsignar" 93 id="idSinAsignar"
94 name="filtro" 94 name="filtro"
95 ng-model="filtroEstado" 95 ng-model="filtroEstado"
96 ng-change="search()" 96 ng-change="search()"
97 ng-value="false"> 97 ng-value="false">
98 <label class="custom-control-label pb-3" for="idSinAsignar"></label> 98 <label class="custom-control-label pb-3" for="idSinAsignar"></label>
99 <img src="img/marker-icon-green.png"> 99 <img src="img/marker-icon-green.png">
100 <strong>Sin asignar</strong> 100 <strong>Sin asignar</strong>
101 </div> 101 </div>
102 <div class="custom-control custom-radio"> 102 <div class="custom-control custom-radio">
103 <input 103 <input
104 type="radio" 104 type="radio"
105 class="custom-control-input" 105 class="custom-control-input"
106 id="idAsignado" 106 id="idAsignado"
107 name="filtro" 107 name="filtro"
108 ng-model="filtroEstado" 108 ng-model="filtroEstado"
109 ng-change="search()" 109 ng-change="search()"
110 ng-value="true"> 110 ng-value="true">
111 <label class="custom-control-label pb-3" for="idAsignado"></label> 111 <label class="custom-control-label pb-3" for="idAsignado"></label>
112 <img src="img/marker-icon-red.png"> 112 <img src="img/marker-icon-red.png">
113 <strong>Asignado</strong> 113 <strong>Asignado</strong>
114 </div> 114 </div>
115 </div> 115 </div>
116 <div class="row"> 116 <div class="row">
117 <div 117 <div
118 class="container col-auto" 118 class="container col-auto"
119 ng-repeat="vehiculo in vehiculos" 119 ng-repeat="vehiculo in vehiculos"
120 ng-click="mostrarDetalleVehiculo(vehiculo)" 120 ng-click="mostrarDetalleVehiculo(vehiculo)"
121 > 121 >
122 <div> 122 <div>
123 <div class="col-md-3 col-sm-6"> 123 <div class="col-md-3 col-sm-6">
124 <div class="progress-circle" ng-class="{'arrastrando': arrastrando}"> 124 <div class="progress-circle" ng-class="{'arrastrando': arrastrando}">
125 <span class="progress-left"> 125 <span class="progress-left">
126 <span class="progress-bar"></span> 126 <span class="progress-bar"></span>
127 </span> 127 </span>
128 <span class="progress-right"> 128 <span class="progress-right">
129 <span class="progress-bar"></span> 129 <span class="progress-bar"></span>
130 </span> 130 </span>
131 <div class="progress-value">{{vehiculo.codigo}}</div> 131 <div class="progress-value">{{vehiculo.codigo}}</div>
132 </div> 132 </div>
133 </div> 133 </div>
134 <div class="row ml-2"> 134 <div class="row ml-2">
135 <div class="col-3 position-absolute"> 135 <div class="col-3 position-absolute">
136 <img 136 <img
137 src="img/hojaRutaVolante.png" 137 src="img/hojaRutaVolante.png"
138 width="100%"> 138 width="100%">
139 </div> 139 </div>
140 <div class="col-3" 140 <div class="col-3"
141 uib-tooltip="Confeccionar hoja de ruta" 141 uib-tooltip="Confeccionar hoja de ruta"
142 ng-click="hacerHojaRuta(vehiculo)"></div> 142 ng-click="hacerHojaRuta(vehiculo)"></div>
143 <div class="col-3"> 143 <div class="col-3">
144 <i 144 <i
145 class="fa fa-eye fa-2x" 145 class="fa fa-eye fa-2x"
146 uib-tooltip="Ver cisternas" 146 uib-tooltip="Ver cisternas"
147 ng-click="cargar(vehiculo.id, -1)"> 147 ng-click="cargar(vehiculo.id, -1)">
148 </i> 148 </i>
149 </div> 149 </div>
150 <div class="col-3 ml-2"> 150 <div class="col-3 ml-2">
151 <i 151 <i
152 class="fa fa-trash fa-2x" 152 class="fa fa-trash fa-2x"
153 uib-tooltip="Eliminar vehiculo" 153 uib-tooltip="Eliminar vehiculo"
154 ng-click="quitarVehiculo(vehiculo)"></i> 154 ng-click="quitarVehiculo(vehiculo)"></i>
155 </div> 155 </div>
156 </div> 156 </div>
157 <div 157 <div
158 class="ml-1 border border-dark text-center" 158 class="ml-1 border border-dark text-center"
159 ng-show="arrastrando" 159 ng-show="arrastrando"
160 id="{{vehiculo.id}}" 160 id="{{vehiculo.id}}"
161 ondrop="drop(event)" 161 ondrop="drop(event)"
162 ondragover="allowDrop(event)" 162 ondragover="allowDrop(event)"
163 >Soltar acá</div> 163 >Soltar acá</div>
164 </div> 164 </div>
165 </div> 165 </div>
166 </div> 166 </div>
167 </div> 167 </div>
168 </div> 168 </div>
169 169