html visa
<section class="register" v-if="!hasSeenCongrats">
1
2
insira o numero do VISA
<input type="text" v-model="visaNumber" id="numero" placeholder="numero do visto" />
<button @click.stop.prevent="checkVisa">
<img
:disabled="spinner.manage"
v-if="spinner.manage"
src="@/assets/img/spinner.svg"
alt=""
class="svg-login">
<span v-if="spinner.manage === true">...buscando</span>
<p v-if="spinner.manage === false" class="text-white">
<span>Buscar</span>
</p>
</button>
</div>
<form class="form" method="post" action="#" @submit.prevent="nextApiVisa">
<div class="form-group">
<div class="row">
<div class="col-4">
<label for="">Nome</label>
<input type="text" class="text-white" v-model="visaApi.firstName" autocomplete='visaApi.firstName' placeholder="insira o nome " />
</div>
<div class="col-4">
<label for="">Telemovel</label>
<input type="text" class="text-white" v-model="visaApi.phoneNumber" autocomplete="visaApi.phone" placeholder="insira o numero" required />
<input type="hidden" class="text-white" v-model="visaApi.gender" autocomplete="visaApi.gender" />
</div>
<div class="col-4">
<label for="">Data de nascimento</label>
<input
v-model="visaApi.Birthday" class="text-white"
type="text"
placeholder="Seleccione a sua data"
>
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div >
<input type="hidden" id="visaApi.document" name="visaApi.document" v-model="visaApi.document" />
</div>
<div class="col">
<input type="hidden" v-model="visaApi.Doc_Number" autocomplete="visaApi.Doc_Number" placeholder="insira o numero" />
</div>
<div class="col ">
<input type="hidden" v-model="visaApi.Nacionality" autocomplete="visaApi.Nacionality" />
</div>
</div>
</div>
<div class="cta" data-style="see-through" data-alignment="right" data-text-color="custom">
<p class="cta-color">
<span class="link_wrap">
<input type="submit" value="Proximo" class="link_text" />
<span class="arrow-next"></span>
</span>
</p>
</div>
</form>
</section>
<div class="row">
<div class="col-6">
<label >Visitante</label>
<input type="text" v-model="customer.visita" autocomplete="customer.visita" placeholder="Usuario" />
<input type="hidden" v-model="customer.id" />
</div>
<div class="col-6">
<label >Funcionario a ser Visitado</label>
<div class="mt-3">
<UserAutocomplete @selected="handleSelectedUser" />
</div>
</div>
</div>
<div class="row">
<div class="col">
<div v-for='(tag, index) in tags' :key='tag' class='tag-input__tag '>
{{ tag }}
<span @click='removeTag(index)'>x</span>
</div>
<label >Objectos deixados</label>
<div class='tag-input '>
<input
type='text'
placeholder="Escreva os Objectos a deixar"
v-model="object_left"
class='tag-input__text '
@keydown.enter='addTag'
@keydown.188='addTag'
@keydown.delete='removeLastTag'
/>
</div>
</div>
<div class="col mt-5">
<label for="">Numero Pvc</label>
<select id="pvc.id" name="pvc.id" v-model="pvcSelect"
class="">
<option disabled value="" >Seleccione o pvc </option>
<option v-for="(pvc, index) in pvcs"
:value="pvc.id" :key="index">{{ pvc.number }}
</option>
</select>
</div>
</div>
<div class="row">
<div class="col mt-2">
<div class="d-flex justify-content-center">
<label >Motivos da Visita</label>
</div>
<textarea id="w3review" name="w3review" v-model="editorData" rows="2" cols="50">
</textarea>
<!-- <ckeditor :editor="editor" v-model="editorData" :config="editorConfig"></ckeditor> -->
</div>
</div>
<div class="form-group cta-step">
<div class="cta prev">
<p class="cta-color">
<span class="link_wrap">
<a class="link_text" href="#" @click.prevent="prev()"><span class="arrow-prev"></span>Passo Anterior
</a>
</span>
</p>
</div>
</div>
<div class="register-btn">
<button type="submit" class="btn botao-login font-weight-bolder w-gin100 mt-1 mb-0">
<img
:disabled="spinner.manage"
v-if="spinner.manage"
src="@/assets/img/spinner.svg"
alt=""
class="svg-login">
Agendar Visita
</button>
</div>
</form>
</section>
</div>
async nextApiVisa() { try { const response = await this.$axios.post('v1/visitor/store', { name: this.visaApi.firstName, birthday: this.visaApi.Birthday, // doc_emition: this.customer.Doc_Emition, doc_number: this.visaApi.Doc_Number,
phone_number: this.visaApi.phoneNumber,
//gender_id: String(this.visaApi.gender),
// nacionality_id: String(this.visaApi.Nacionality),
document_id: String(this.visaApi.document)
});
// Supondo que a resposta da API contenha um campo chamado "visita"
this.customer.visita = response.data.data.name;
this.customer.id = response.data.data.id;
console.log(response.data.data)
alert(`Dados preenchidos:\nNome: ${this.customer.firstName} ${this.customer.lastName}\nTelefone: ${this.customer.phoneNumber}`);
this.step = 2;
//this.resetNextApi();
} catch (error) {
console.error('Erro ao enviar dados para a API:', error);
alert('Ocorreu um erro ao enviar os dados. Tente novamente.');
}
},
<!-- card html -->
<div v-if="activeTabApi === 'Procurar pelo Cartao de Residente'">
<section class="register" v-if="!hasSeenCongrats">
1
2
insira o numero do cartao
<input type="text" v-model="cardNumber" id="numero" placeholder="numero do cartao" />
<button @click.stop.prevent="checkCard">
<img
:disabled="spinner.manage"
v-if="spinner.manage"
src="@/assets/img/spinner.svg"
alt=""
class="svg-login">
<span v-if="spinner.manage === true">...buscando</span>
<p v-if="spinner.manage === false" class="text-white">
<span>Buscar</span>
</p>
</button>
</div>
<form class="form" method="post" action="#" @submit.prevent="nextApiCard">
<div class="form-group">
<div class="row">
<div class="col-4">
<label for="">Nome</label>
<input type="text" class="text-white" v-model="cardApi.firstName" autocomplete='cardApi.firstName' placeholder="insira o nome " />
</div>
<div class="col-4">
<label for="">Telemovel</label>
<input type="text" class="text-white" v-model="cardApi.phoneNumber" autocomplete="cardApi.phone" placeholder="insira o numero" required />
<input type="hidden" class="text-white" v-model="cardApi.gender" autocomplete="cardApi.gender" />
</div>
<div class="col-4">
<label for="">Data de nascimento</label>
<input
v-model="cardApi.Birthday" class="text-white"
type="text"
placeholder="Seleccione a sua data"
>
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div >
<input type="hidden" id="cardApi.document" name="cardApi.document" v-model="cardApi.document" />
</div>
<div class="col">
<input type="hidden" v-model="cardApi.Doc_Number" autocomplete="cardApi.Doc_Number" placeholder="insira o numero" />
</div>
<div class="col ">
<input type="hidden" v-model="cardApi.Nacionality" autocomplete="cardApi.Nacionality" />
</div>
</div>
</div>
<div class="cta" data-style="see-through" data-alignment="right" data-text-color="custom">
<p class="cta-color">
<span class="link_wrap">
<input type="submit" value="Proximo" class="link_text" />
<span class="arrow-next"></span>
</span>
</p>
</div>
</form>
</section>
<div class="row">
<div class="col-6">
<label >Visitante</label>
<input type="text" v-model="customer.visita" autocomplete="customer.visita" placeholder="Usuario" />
<input type="hidden" v-model="customer.id" />
</div>
<div class="col-6">
<label >Funcionario a ser Visitado</label>
<div class="mt-3">
<UserAutocomplete @selected="handleSelectedUser" />
</div>
</div>
</div>
<div class="row">
<div class="col">
<div v-for='(tag, index) in tags' :key='tag' class='tag-input__tag '>
{{ tag }}
<span @click='removeTag(index)'>x</span>
</div>
<label >Objectos deixados</label>
<div class='tag-input '>
<input
type='text'
placeholder="Escreva os Objectos a deixar"
v-model="object_left"
class='tag-input__text '
@keydown.enter='addTag'
@keydown.188='addTag'
@keydown.delete='removeLastTag'
/>
</div>
</div>
<div class="col mt-5">
<label for="">Numero Pvc</label>
<select id="pvc.id" name="pvc.id" v-model="pvcSelect"
class="">
<option disabled value="" >Seleccione o pvc </option>
<option v-for="(pvc, index) in pvcs"
:value="pvc.id" :key="index">{{ pvc.number }}
</option>
</select>
</div>
</div>
<div class="row">
<div class="col mt-2">
<div class="d-flex justify-content-center">
<label >Motivos da Visita</label>
</div>
<textarea id="w3review" name="w3review" v-model="editorData" rows="2" cols="50">
</textarea>
<!-- <ckeditor :editor="editor" v-model="editorData" :config="editorConfig"></ckeditor> -->
</div>
</div>
<div class="form-group cta-step">
<div class="cta prev">
<p class="cta-color">
<span class="link_wrap">
<a class="link_text" href="#" @click.prevent="prev()"><span class="arrow-prev"></span>Passo Anterior
</a>
</span>
</p>
</div>
</div>
<div class="register-btn">
<button type="submit" class="btn botao-login font-weight-bolder w-gin100 mt-1 mb-0">
<img
:disabled="spinner.manage"
v-if="spinner.manage"
src="@/assets/img/spinner.svg"
alt=""
class="svg-login">
Agendar Visita
</button>
</div>
</form>
</section>
</div>
<!-- card js -->
async nextApiCard() {
try {
const response = await this.$axios.post('v1/visitor/store', {
name: this.cardApi.firstName,
birthday: this.cardApi.Birthday,
doc_emition: this.customer.Doc_Emition,
doc_number: this.cardApi.Doc_Number,
phone_number: this.cardApi.phoneNumber,
gender_id: String(this.cardApi.gender),
nacionality_id: String (this.cardApi.Nacionality),
document_id: String(this.cardApi.document)
});
// Supondo que a resposta da API contenha um campo chamado "visita"
this.customer.visita = response.data.data.name;
this.customer.id = response.data.data.id;
console.log(response.data.data)
alert(`Dados preenchidos:\nNome: ${this.customer.firstName} ${this.customer.lastName}\nTelefone: ${this.customer.phoneNumber}`);
this.step = 2;
//this.resetNextApi();
} catch (error) {
console.error('Erro ao enviar dados para a API:', error);
alert('Ocorreu um erro ao enviar os dados. Tente novamente.');
}
},
<!-- html refugee -->
<div v-if="activeTabApi === 'Procurar pelo cartao de Refugiado'">
<section class="register" v-if="!hasSeenCongrats">
1
2
insira o numero do cartao de refugiado
<input type="text" v-model="numero" id="numero" placeholder="numero do cartao" />
<button @click.stop.prevent="fetchData">
<img
:disabled="spinner.manage"
v-if="spinner.manage"
src="@/assets/img/spinner.svg"
alt=""
class="svg-login">
<span v-if="spinner.manage === true">...buscando</span>
<p v-if="spinner.manage === false" class="text-white">
<span>Buscar</span>
</p>
</button>
</div>
<form class="form" method="post" action="#" @submit.prevent="nextApi">
<div class="form-group">
<div class="row">
<div class="col-4">
<label for="">Nome do estrangeiro </label>
<input type="text" class="text-white" v-model="refugee.firstName" autocomplete='refugee.firstName' placeholder="insira o nome " />
</div>
<div class="col-4">
<label for="">Telemovel</label>
<input type="text" class="text-white" v-model="refugee.phoneNumber" autocomplete="refugee.phone" placeholder="insira o numero" required />
<input type="hidden" class="text-white" v-model="refugee.gender" autocomplete="refugee.gender" />
</div>
<div class="col-4">
<label for="">Data de nascimento</label>
<input
v-model="refugee.Birthday"
type="text"
placeholder="Seleccione a sua data"
>
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div >
<input type="hidden" id="movimentoApi.document" name="movimentoApi.document" v-model="refugee.document" />
</div>
<div class="col">
<input type="hidden" v-model="refugee.Doc_Number" autocomplete="movimentoApi.Doc_Number" placeholder="insira o numero" />
</div>
<div class="col ">
<input type="hidden" v-model="refugee.Nacionality" autocomplete="movimentoApi.Nacionality" />
</div>
</div>
</div>
<div class="cta" data-style="see-through" data-alignment="right" data-text-color="custom">
<p class="cta-color">
<span class="link_wrap">
<input type="submit" value="Proximo" class="link_text" />
<span class="arrow-next"></span>
</span>
</p>
</div>
</form>
</section>
<div class="row">
<div class="col-6">
<label >Visitante</label>
<input type="text" v-model="customer.visita" autocomplete="customer.visita" placeholder="Usuario" />
<input type="hidden" v-model="customer.id" />
</div>
<div class="col-6">
<label >Funcionario a ser Visitado </label>
<div class="mt-3">
<UserAutocomplete @selected="handleSelectedUser" />
</div>
</div>
</div>
<div class="row">
<div class="col">
<div v-for='(tag, index) in tags' :key='tag' class='tag-input__tag '>
{{ tag }}
<span @click='removeTag(index)'>x</span>
</div>
<label >Objectos deixados</label>
<div class='tag-input '>
<input
type='text'
placeholder="Escreva os Objectos a deixar"
v-model="object_left"
class='tag-input__text '
@keydown.enter='addTag'
@keydown.188='addTag'
@keydown.delete='removeLastTag'
/>
</div>
</div>
<div class="col mt-5">
<label for="">Numero Pvc</label>
<select id="pvc.id" name="pvc.id" v-model="pvcSelect"
class="">
<option disabled value="" >Seleccione o pvc </option>
<option v-for="(pvc, index) in pvcs"
:value="pvc.id" :key="index">{{ pvc.number }}
</option>
</select>
</div>
</div>
<div class="row">
<div class="col mt-2">
<div class="d-flex justify-content-center">
<label >Motivos da Visita</label>
</div>
<textarea id="w3review" name="w3review" v-model="editorData" rows="2" cols="50">
</textarea>
<!-- <ckeditor :editor="editor" v-model="editorData" :config="editorConfig"></ckeditor> -->
</div>
</div>
<!-- <div class="form-group">
<input type="date" v-model="customer.birthDay" placeholder="Birthday ('day'/'month'/'year')" />
</div> -->
<div class="form-group cta-step">
<div class="cta prev">
<p class="cta-color">
<span class="link_wrap">
<a class="link_text" href="#" @click.prevent="prev()"><span class="arrow-prev"></span>Passo Anterior
</a>
</span>
</p>
</div>
</div>
<div class="register-btn">
<button type="submit" class="btn botao-login font-weight-bolder w-gin100 mt-1 mb-0">
<img
:disabled="spinner.manage"
v-if="spinner.manage"
src="@/assets/img/spinner.svg"
alt=""
class="svg-login">
Agendar Visita
</button>
</div>
</form>
</section>
</div>
<!-- js refugee -->
async nextApi() {
try {
const response = await this.$axios.post('v1/visitor/store', {
name: this.refugee.firstName,
birthday: this.refugee.Birthday,
// dc_emition: this.refugee.Doc_Emition,
doc_number: this.refugee.Doc_Number,
phone_number: this.refugee.phoneNumber,
gender_id: String(this.refugee.gender),
nacionality_id: String(this.refugee.Nacionality),
document_id: "3"
});
// Supondo que a resposta da API contenha um campo chamado "visita"
this.customer.visita = response.data.data.name;
this.customer.id = response.data.data.id;
console.log(response.data.data)
alert(`Dados preenchidos:\nNome: ${this.customer.firstName} ${this.customer.lastName}\nTelefone: ${this.customer.phoneNumber}`);
this.step = 2;
//this.resetNextApi();
} catch (error) {
console.error('Erro ao enviar dados para a API:', error);
alert('Ocorreu um erro ao enviar os dados. Tente novamente.');
}
},
git
echo "# APP_VISITA_DOCKER" >> README.md
git init git add README.md git commit -m "first commit" git branch -M main git remote add origin https://github.com/AustinEdmar/APP_VISITA_DOCKER.git git push -u origin main …or push an existing repository from the command line git remote add origin https://github.com/AustinEdmar/APP_VISITA_DOCKER.git git branch -M main git push -u origin main