modal-domicilio.html 8.97 KB
<div class="modal-header">
    <h3 class="modal-title">Busqueda de Domicilios</h3>
</div>
<div class="modal-body" id="modal-body">
    <div class="input-group mb-3" ng-show="!ingreso">
        <input 
            type="text" 
            class="form-control" 
            placeholder="Busqueda" 
            ng-model="filters" 
            ng-change="search()" 
            ng-keydown="busquedaDown($event.keyCode)"
            ng-keypress="busquedaPress($event.keyCode)"
            foca-focus="selectedDomicilio == -1"
            ng-focus="selectedDomicilio = -1"
        >
        <table ng-show="!ingreso" class="table table-striped table-sm">
            <thead>
                <tr>
                    <th>Domicilio</th>
                    <th>Localidad</th>
                    <th>Provincia</th>
                    <th colspan="5" class="text-center">Contacto</th>
                    <th></th>
                </tr>
                <tr>
                    <th></th>
                    <th></th>
                    <th></th>
                    <th>Tipo</th>
                    <th>Contacto</th>
                </tr>
            </thead>
            <tbody>
                <tr ng-show="currentPageDomicilios.length == 0 && primerBusqueda">
                    <td colspan="6">
                        No se encontraron resultados.
                    </td>
                </tr>
                <tr>
                    <td colspan="5" ng-show="!ingreso">
                        <input
                            class="form-control form-control-sm"
                            type="text"
                            placeholder="Selección manual"
                            readonly
                            ng-click="ingreso = !ingreso"
                            />
                    </td>
                    <td colspan="1" ng-show="!ingreso">
                        <button
                            type="button"
                            class="btn btn-sm p-1 float-right"
                            ng-class="{
                                'btn-secondary': selectedDomicilio != 0,
                                'btn-primary': selectedDomicilio == 0
                            }"
                            foca-focus="selectedDomicilio == 0"
                            ng-keydown="itemDomicilio($event.keyCode)"
                            ng-click="ingreso = !ingreso"
                        >
                            <i class="fa fa-arrow-right" aria-hidden="true"></i>
                        </button>
                    </td>
                </tr>
                <tr class="selectable"
                    ng-repeat="(key,domicilio) in currentPageDomicilios"
                    ng-click="select(domicilio)">
                    <td ng-bind="domicilio.dom"></td>
                    <td ng-bind="domicilio.loc"></td>
                    <td ng-bind="domicilio.pci"></td>
                    <td ng-bind="domicilio.contacto[0].tipo"></td>
                    <td ng-bind="domicilio.contacto[0].contacto"></td>
                    <td>
                        <button 
                            type="button"
                            class="btn p-2 float-right"
                            ng-class="{
                                'btn-secondary': selectedDomicilio != key + 1,
                                'btn-primary': selectedDomicilio == key + 1 
                            }"
                            foca-focus="selectedDomicilio == {{key + 1}}"
                            ng-keydown="itemDomicilio($event.keyCode)"
                        >
                            <i class="fa fa-arrow-right" aria-hidden="true"></i>
                        </button>
                    </td>
                </tr>
            </tbody>
        </table>
        <nav ng-show="currentPageDomicilios.length > 0 && !ingreso">
            <ul class="pagination justify-content-end">
                <li class="page-item" ng-class="{'disabled': currentPage == 1}">
                    <a class="page-link" href="#" ng-click="selectPage(currentPage - 1)">
                        <span aria-hidden="true">&laquo;</span>
                        <span class="sr-only">Anterior</span>
                    </a>
                </li>
                <li
                    class="page-item" 
                    ng-repeat="pagina in paginas" 
                    ng-class="{'active': pagina == currentPage}"
                >
                    <a 
                        class="page-link" 
                        href="#" 
                        ng-click="selectPage(pagina)"
                        ng-bind="pagina"
                    ></a>
                </li>
                <li class="page-item" ng-class="{'disabled': currentPage == lastPage}">
                    <a class="page-link" href="#" ng-click="selectPage(currentPage + 1)">
                        <span aria-hidden="true">&raquo;</span>
                        <span class="sr-only">Siguiente</span>
                    </a>
                </li>
            </ul>
        </nav>
    </div>
    <form name="formDomicilio" ng-show="ingreso">
        <div class="row">
            <div class="col-4">
                <label>Tipo</label>
                <select
                    class="form-control"
                    ng-disabled="true"
                    >
                    <option ng-value="2">Entrega</option>
                </select>
            </div>
            <div class="col-4">
                <label>Código Postal</label>
                <input
                    type="text"
                    foca-focus="ingreso"
                    class="form-control"
                    ng-model="domicilio.cpo"
                    ng-required="true"
                    placeholder="Ingrese código postal"
                />
            </div>
            <div class="col-12">
                <label>Domicilio</label>
                <input
                    type="text"
                    class="form-control"
                    ng-model="domicilio.dom"
                    ng-required="true"
                    placeholder="Ingrese domicilio"
                />
            </div>
            <div class="col-6">
                <label>Localidad</label>
                <input
                    type="text"
                    class="form-control"
                    ng-model="domicilio.loc"
                    ng-required="true"
                    placeholder="Ingrese localidad"
                />            
            </div>
            <div class="col-6">
                <label>Provincia</label>
                <input
                    type="text"
                    class="form-control"
                    ng-model="domicilio.pci"
                    ng-required="true"
                    placeholder="Ingrese provincia"
                />
            </div>
            <label class="col-12">Ingrese Contactos</label>
            <div class="col-12 form-row mb-1" ng-repeat="(key, contacto) in contactos">
                <div class="col-3">
                    <select class="form-control" ng-model="contacto.tipo" ng-required="true">
                        <option ng-value="0">Teléfono Móvil</option>
                        <option ng-value="1">Teléfono Fijo</option>
                        <option ng-value="2">Fax</option>
                        <option ng-value="3">Email</option>
                    </select>
                </div>
                <div class="col-7">
                    <input
                        type="text"
                        class="form-control"
                        ng-model="contacto.contacto"
                        placeholder="Ingrese contacto"
                        ng-required="true"
                    >
                </div>
                <div class="col-1">
                    <button
                        type="button"
                        class="form-control"
                        ng-click="quitarContacto(key)"
                        ng-disabled="contactos.length === 1"
                    ><i class="fa fa-minus" aria-hidden="true"></i>
                    </button>
                </div>
                <div class="col-1">
                    <button
                        type="button"
                        class="form-control"
                        ng-click="agregarContacto()"
                    ><i class="fa fa-plus" aria-hidden="true"></i>
                    </button>
                </div>
            </div>
        </div>
    </form>
</div>
<div class="modal-footer">
    <button ng-show="!ingreso" class="btn btn-secondary" type="button" ng-click="cancel()">Seleccionar otro cliente</button>
    <button
        ng-show="ingreso"
        class="btn btn-secondary"
        type="button"
        ng-click="ingreso = !ingreso; domicilio = {}; contactos = [{}]"
    >Cancelar
    </button>
    <button
        ng-show="ingreso"
        class="btn btn-primary"
        type="button"
        ng-click="agregarDomicilio()"
        ng-disabled="!formDomicilio.$valid"
    >Agregar domicilio
    </button>
</div>