Skip to content

Front hst crud convenio #663

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 62 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
8cb03b8
Ajusta template do form de medico
RogerDelNobre May 25, 2023
e8464f6
Ticket_id: #113517 Adiciona ao header link para convenio
RogerDelNobre May 31, 2023
50f8da7
Ticket_id: #113517 Cria componente grupo_local_atendimento
RogerDelNobre May 31, 2023
28ec5cd
Ticket_id: #113517 Cria model de grupo-local-atendimento
RogerDelNobre May 31, 2023
b026dc0
Ticket_id: #113517 Implementa service de grupo-local-atendimento
RogerDelNobre Jun 1, 2023
b73bc28
Ticket_id: #113517 Implementa endpoints de grupo-local-atendimento
RogerDelNobre Jun 1, 2023
b5afacd
Ticket_id: #113517 Implementa component de grupo-local-atendimento
RogerDelNobre Jun 1, 2023
12e5589
Ticket_id: #113517 Implementa template de grupo-local-atendimento
RogerDelNobre Jun 1, 2023
8b3645f
Ticket_id: #113516 Cria componente de local-de-atendimento-contato
RogerDelNobre Jun 5, 2023
162469f
Ticket_id: #113516 Cria componente de local-de-atendimento-urgencia
RogerDelNobre Jun 5, 2023
7f65ff2
Ticket_id: #113516 Ajusta header de local-de-atendimento
RogerDelNobre Jun 5, 2023
b7bfaa4
Ticket_id: #113516 Cria relacionamento empresa e local-de-atendimento…
RogerDelNobre Jun 5, 2023
6ab5a46
Ticket_id: #113516 Implementa abas de empresa em local-de-atendimento…
RogerDelNobre Jun 5, 2023
ab5dd84
Ticket_id: #113516 Implementa abas de contato em local-de-atendimento…
RogerDelNobre Jun 6, 2023
3194416
Ticket_id: #113516 Implementa componente de contato em local-de-atend…
RogerDelNobre Jun 6, 2023
113e534
Ticket_id: #113516 Implementa aba de urgencia em local-de-atendimento…
RogerDelNobre Jun 6, 2023
7bbc2a7
Ticket_id: #113516 Implementa componente de urgencia em local-de-aten…
RogerDelNobre Jun 6, 2023
825953a
Ticket_id: #113516 Ajusta local-de-atendimento create form
RogerDelNobre Jun 6, 2023
30c697c
Ticket_id: #113516 Ajusta componente local-de-atendimento create
RogerDelNobre Jun 6, 2023
763c8bf
Ticket_id: #113516 Ajusta model de local-de-atendimento
RogerDelNobre Jun 6, 2023
66ff74c
Ticket_id: #113516 Implementa aba de empresa em local-de-atendimento …
RogerDelNobre Jun 6, 2023
e788973
Ticket_id: #113516 Implementa aba de endereco em local-de-atendimento…
RogerDelNobre Jun 6, 2023
485a6c7
Ticket_id: #113516 Implementa aba de horario funcionamento em local-d…
RogerDelNobre Jun 6, 2023
231096b
Ticket_id: #113516 Ajusta template de versao exame create form
RogerDelNobre Jun 6, 2023
ded3ae7
Ticket_id: #113516 Cria regra css para centralizar texto input type time
RogerDelNobre Jun 6, 2023
e59a515
Ticket_id: #113516 Ignora o arquivo hint do vscode
RogerDelNobre Jun 6, 2023
9b434aa
Ticket_id: #113516 Implementa input autocomplete de grupo local aten…
RogerDelNobre Jun 9, 2023
5a32016
Ticket_id: #113516 Implementa input autocomplete de grupo Local Aten…
RogerDelNobre Jun 9, 2023
210e32a
Ticket_id: #113516 Ajusta Local Atendimento empresa componente
RogerDelNobre Jun 9, 2023
f791b39
Ticket_id: #113516 Ajusta Local Atendimento endereco componente
RogerDelNobre Jun 9, 2023
874def9
Ticket_id: #113516 Ajusta template Local Atendimento create
RogerDelNobre Jun 9, 2023
934fab3
Ticket_id: #113516 Inclui relacionamento de grupo_local_atendimetno …
RogerDelNobre Jun 9, 2023
64f8e75
Remove interpolacao de teste
RogerDelNobre Jun 12, 2023
b193690
Ticket_id: #113742 Inclui biblioteca hammerjs para mat-slide-toggle
RogerDelNobre Jun 13, 2023
9c2cce5
Ticket_id: #113742 Implementa mat-slide-toggle trabalha_24hrs na aba…
RogerDelNobre Jun 13, 2023
721fe7a
Ticket_id: #113742 Implementa mat-slide-toggle componente em horario…
RogerDelNobre Jun 13, 2023
226377e
Ticket_id: #113742 Atualiza versao do yarn
RogerDelNobre Jun 13, 2023
9bb5b93
Ticket_id: #113742 Ajusta model de local atendimento
RogerDelNobre Jun 14, 2023
910b3ff
Ticket_id: #113742 Ajusta imports do componente de local atendimento…
RogerDelNobre Jun 14, 2023
0c0b951
Ticket_id: #113742 Implementa template local atendimento aba Horario…
RogerDelNobre Jun 14, 2023
d523636
Ticket_id: #113742 Ajusta relacionamento no model de local de atendim…
RogerDelNobre Jun 19, 2023
13e0dfb
Ticket_id: #113742 Remove logs de desenvolvimento
RogerDelNobre Jun 19, 2023
ca90ef2
Ticket_id: #113742 Ajusta template parametros de grupo local atendimento
RogerDelNobre Jun 19, 2023
9f7ddaa
Ticket_id: #113742 Ajusta funcionamento do input autocomplete de grup…
RogerDelNobre Jun 19, 2023
52fdd46
Ticket_id: #113742 Implementa binding de localatendimento na aba conf…
RogerDelNobre Jun 19, 2023
0805fb4
Ticket_id: #113950 Adiciona local impressao ao model local atendimento
RogerDelNobre Jun 21, 2023
072ea92
Ticket_id: #113950 Inplementa e remove mockup de utiliza_coleta no fo…
RogerDelNobre Jun 21, 2023
318fe7d
Ticket_id: #113950 Inplementa input select de locais de impressao no …
RogerDelNobre Jun 21, 2023
b94c7c5
Ticket_id: #113950 Inplementa metodo que captura e seta o evento do r…
RogerDelNobre Jun 21, 2023
1271ec4
Ticket_id: #113950 Inplementa template e evento do radio button no fo…
RogerDelNobre Jun 21, 2023
6d16ea4
Ticket_id: #113950 Remove variavel utilizada em mokup opsoleto
RogerDelNobre Jun 22, 2023
acae35b
Ticket_id: #114016 Refatora model de convenio e imports
RogerDelNobre Jun 26, 2023
c321d5f
Ticket_id: #114016 Cria header link para convenio
RogerDelNobre Jun 26, 2023
9b5bd2c
Ticket_id: #114016 Cria componente para convenio
RogerDelNobre Jun 26, 2023
bf3b3b8
Ticket_id: #114016 Cria rota para convenio component
RogerDelNobre Jun 26, 2023
39cbb65
Ticket_id: #114016 Ajusta import e rota para convenio component
RogerDelNobre Jun 26, 2023
398d61a
Ticket_id: #114016 Cria service de convenio
RogerDelNobre Jun 26, 2023
2bf23e3
Ticket_id: #114016 Implementa componente e metodos de convenio
RogerDelNobre Jun 26, 2023
185179a
Ticket_id: #114016 Adiciona relacionamento empresa model convenio
RogerDelNobre Jun 27, 2023
2cf0d9d
Ticket_id: #114016 Adiciona relacionamento empresa componetne convenio
RogerDelNobre Jun 27, 2023
0ccc2fe
Ticket_id: #114016 Implementa template SPA de convenio
RogerDelNobre Jun 27, 2023
174cc3e
Ticket_id: #114016 Adiciona coluna chave publicacao ao convenio
RogerDelNobre Jun 30, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# See http://help.github.com/ignore-files/ for more about ignoring files.

# Ignora Hints
.hintrc

# compiled output
/dist
/tmp
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
"bootstrap": "^5.2.3",
"core-util-is": "^1.0.3",
"got": "^12.5.3",
"hammerjs": "^2.0.8",
"moment": "^2.29.1",
"ng-auto-complete": "^5.0.3",
"ngx-mask": "^15.1.0",
Expand Down
10 changes: 10 additions & 0 deletions src/app/app-routing.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import { BandejaUpdateComponent } from './components/bandeja/bandeja-update/band
import { ColetorCreateComponent } from './components/coletor/coletor-create/coletor-create.component';
import { ColetorDeleteComponent } from './components/coletor/coletor-delete/coletor-delete.component';
import { ColetorUpdateComponent } from './components/coletor/coletor-update/coletor-update.component';
import { ConvenioComponent } from './components/convenio/convenio.component';
import { ConsultaAmostraShowComponent } from './components/consulta-amostra/consulta-amostra-show/consulta-amostra-show.component';
import { DominioComponent } from './components/dominio/dominio.component';
import { EmpresaCreateComponent } from './components/empresa/empresa-create/empresa-create.component';
Expand All @@ -39,6 +40,7 @@ import { ExameCreateComponent } from './components/exame/exame-create/exame-crea
import { ExameDeleteComponent } from './components/exame/exame-delete/exame-delete.component';
import { ExameUpdateComponent } from './components/exame/exame-update/exame-update.component';
import { EspecialidadeComponent } from './components/especialidade/especialidade.component';
import { GrupoLocalAtendimentoComponent } from './components/grupo-local-atendimento/grupo-local-atendimento.component';
import { HomeComponent } from './views/home/home.component';
import { HibridoClientErrorComponent } from './components/hibrido-client-error/hibrido-client-error.component';
import { LaboratorioCreateComponent } from './components/laboratorio/laboratorio-create/laboratorio-create.component';
Expand Down Expand Up @@ -142,6 +144,14 @@ const routes: Routes = [
path: 'tipos_recurso',
component: TipoRecursoComponent,
},
{
path: 'convenios',
component: ConvenioComponent,
},
{
path: 'grupos_locais',
component: GrupoLocalAtendimentoComponent,
},
{
path: 'hibrido_client_errors',
component: HibridoClientErrorComponent,
Expand Down
223 changes: 223 additions & 0 deletions src/app/components/convenio/convenio.component.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,223 @@
<div class="d-flex justify-content-between col-sm-12 p-2">
<button mat-flat-button color="primary" class="col-sm-2 col-md-2 col-lg-2 float-start btn-primary" data-bs-toggle="collapse" data-bs-target="#collapseSearch"
aria-expanded="false" aria-controls="collapseSearch">
<mat-icon>search</mat-icon>
Buscar
</button>

<button appDebounceClick mat-flat-button color="primary" class="col-sm-1 col-md-1 col-lg-1 float-end btn-primary" data-bs-toggle="collapse" data-bs-target="#collapseForm"
aria-expanded="false" aria-controls="collapseForm" (click)="new();" *ngIf="!onCreate && !onEdit">
<mat-icon>add</mat-icon>
Novo
</button>
</div>

<div class="mat-elevation-z4">
<div class="collapse" id="collapseSearch">
<div class="card card-body">
<div class="row">
<div class="mb-3 col-md-3 row">
<mat-form-field appearance="fill">
<mat-label>Nome:</mat-label>
<input matInput #nome maxlength="100"
title="Filtre por nome"
(input)="search('nome', nome.value)"
>
</mat-form-field>
</div>

<div class="mb-3 col-md-3 row">
<mat-form-field appearance="fill">
<mat-label>Email:</mat-label>
<input matInput #email maxlength="100"
title="Filtre por Email"
(input)="search('email', email.value)"
>
</mat-form-field>
</div>
</div>
</div>
</div>

<div class="">
<div *ngIf="onCreate || onEdit">
<form #formCreateConvenio="ngForm" class="justify-content-md-center">

<mat-form-field appearance="fill" class="col-lg-3 col-md-3 p-2">
<mat-label>Nome:</mat-label>
<input
type="text"
aria-label="nome"
id="nome"
required
matInput
maxlength="50"
name="nome"
[(ngModel)]="currentRecord.nome"
#nome="ngModel"
>
<mat-error *ngIf="nome.invalid && (nome.dirty || nome.touched)">
<span *ngIf="nome.errors?.['required']">
O campo é obrigatório!
</span>
</mat-error>
</mat-form-field>

<mat-form-field appearance="fill" class="col-lg-3 col-md-3 p-2">
<mat-label>Email:</mat-label>
<input
type="email"
aria-label="email"
id="email"
required
matInput
maxlength="50"
name="email"
[(ngModel)]="currentRecord.email"
#email="ngModel"
>
<mat-error *ngIf="email.invalid && (email.dirty || email.touched)">
<span *ngIf="email.errors?.['required']">
O campo é obrigatório!
</span>
</mat-error>
</mat-form-field>

<mat-form-field appearance="fill" class="col-lg-3 col-md-3 p-2">
<mat-label>Chave Publicação:</mat-label>
<input
type="text"
aria-label="chave_web"
id="chave_web"
required
matInput
maxlength="50"
name="chave_web"
[(ngModel)]="currentRecord.chave_web"
#chave_web="ngModel"
>
<mat-error *ngIf="chave_web.invalid && (chave_web.dirty || chave_web.touched)">
<span *ngIf="chave_web.errors?.['required']">
O campo é obrigatório!
</span>
</mat-error>
</mat-form-field>

<mat-form-field appearance="fill" class="col-lg-3 col-md-3 p-2">
<mat-label>Operadora</mat-label>
<input
type="search"
aria-label="operadora_id"
name="operadora_id"
matInput [matAutocomplete]="autoOperadoras"
[(ngModel)]="currentRecord.operadora_id"
(ngModelChange)="searchOperadora()"
#operadora_id="ngModel"
required
/>
<mat-error *ngIf="operadora_id.invalid && (operadora_id.dirty || operadora_id.touched)">
<span *ngIf="operadora_id.errors?.['required']">
O campo é obrigatório!
</span>
</mat-error>
<mat-autocomplete #autoOperadoras="matAutocomplete"
[displayWith]="displayFnOperadora(operadoras)">
<mat-option *ngFor="let operadora of operadoras" [value]="operadora.id">
{{operadora?.empresa?.nome_fantasia}}
</mat-option>
</mat-autocomplete>
</mat-form-field>

<div class="col-md-12 d-flex justify-content-end p-2">
<button mat-button type="submit"
(click)="addGridData()" *ngIf="onCreate"
[disabled]="formCreateConvenio.invalid">Inserir</button>
<button mat-button type="submit"
(click)="updateGridData()"
*ngIf="onEdit">Alterar</button>
<button mat-button color="warn" type="button"
(click)="cancelar()">Cancelar</button>
</div>
</form>
</div>
</div>
</div>

<div class="mat-elevation-z4">
<table
mat-table
[dataSource]="datasource"
matSort
matSortActive="id"
matSortDirection="desc"
matSortDisableClear
>

<!-- Nome Column -->
<ng-container matColumnDef="nome" class="col-2">
<th mat-header-cell *matHeaderCellDef mat-sort-header="nome">Nome</th>
<td mat-cell *matCellDef="let row">{{ row?.nome }}</td>
</ng-container>

<!-- Email Column -->
<ng-container matColumnDef="email" class="col-2">
<th mat-header-cell
*matHeaderCellDef mat-sort-header="email">Email</th>
<td mat-cell *matCellDef="let row">{{ row?.email }}</td>
</ng-container>

<!-- Chave Publicação Column -->
<ng-container matColumnDef="chave_web" class="col-2">
<th mat-header-cell
*matHeaderCellDef mat-sort-header="chave_web">Chave Publicação</th>
<td mat-cell *matCellDef="let row">{{ row?.chave_web }}</td>
</ng-container>

<!-- Operadora Column -->
<ng-container matColumnDef="operadora_id" class="col-2">
<th mat-header-cell
*matHeaderCellDef mat-sort-header="operadora_id">Operadora</th>
<td mat-cell *matCellDef="let row">{{ row?.operadora?.empresa?.nome_fantasia }}</td>
</ng-container>

<!-- action Column -->
<ng-container matColumnDef="action" class="col-1">
<th mat-header-cell *matHeaderCellDef> Ações </th>
<td mat-cell *matCellDef="let row; index as position">
<div class="row">

<div class="col-1 me-3">
<button mat-icon-button *ngIf="!onEdit" (click)="atualizar(row)">
<mat-icon class="edit text-success">edit</mat-icon>
</button>
</div>

<div class="col-1 me-3">
<button class="delete" mat-icon-button *ngIf="!onEdit" (click)="deleteGridData(row.id)">
<mat-icon class="delete text-danger">delete</mat-icon>
</button>
</div>

<ng-template #deleteDialog>
<mat-dialog-content class="mat-typography">
Deseja apagar esse registro?
</mat-dialog-content>
<mat-dialog-actions align="end">
<button mat-button mat-dialog-close>Cancel</button>
<button mat-button [mat-dialog-close]="true">Apagar</button>
</mat-dialog-actions>
</ng-template>
</div>
</td>
</ng-container>

<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns"></tr>
</table>
<mat-paginator
[length]="this.totalCount"
[pageSize]="5"
[pageSizeOptions]="[5, 10, 20, 50]">
</mat-paginator>
</div>

Loading