Reservas
This commit is contained in:
@ -4,13 +4,13 @@
|
||||
</div>
|
||||
<div class="content">
|
||||
<form class="ui form" id="add_reservation_form">
|
||||
<input type="hidden" name="project_id" />
|
||||
<input type="hidden" name="add_project_id" />
|
||||
<div class="three wide required field">
|
||||
<label>Fecha</label>
|
||||
<div class="ui calendar" id="add_date">
|
||||
<div class="ui icon input">
|
||||
<i class="calendar icon"></i>
|
||||
<input type="text" name="date" />
|
||||
<input type="text" name="add_date" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -18,7 +18,7 @@
|
||||
<div class="three wide required field">
|
||||
<label>RUT</label>
|
||||
<div class="ui right labeled input" id="add_rut">
|
||||
<input type="text" name="rut" placeholder="RUT" />
|
||||
<input type="text" name="add_buyer_rut" placeholder="RUT" />
|
||||
<div class="ui basic label">-<span id="add_digit"></span></div>
|
||||
</div>
|
||||
</div>
|
||||
@ -30,29 +30,29 @@
|
||||
<div class="fields">
|
||||
<div class="three wide required field">
|
||||
<label>Nombre</label>
|
||||
<input type="text" name="name" placeholder="Nombre" />
|
||||
<input type="text" name="add_buyer_name" placeholder="Nombre" />
|
||||
</div>
|
||||
<div class="six wide required field">
|
||||
<label>Apellidos</label>
|
||||
<input type="text" name="last_name" placeholder="Apellido Paterno" />
|
||||
<input type="text" name="add_buyer_last_name" placeholder="Apellido Paterno" />
|
||||
</div>
|
||||
<div class="six wide field">
|
||||
<label></label>
|
||||
<input type="text" name="last_name2" placeholder="Apellido Materno" />
|
||||
<input type="text" name="add_buyer_last_name2" placeholder="Apellido Materno" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="fields">
|
||||
<div class="three wide field">
|
||||
<label>Dirección</label>
|
||||
<input type="text" name="calle" placeholder="Calle" />
|
||||
<input type="text" name="add_buyer_address_street" placeholder="Calle" />
|
||||
</div>
|
||||
<div class="field">
|
||||
<label></label>
|
||||
<input type="text" name="numero" placeholder="N°" />
|
||||
<input type="text" name="add_buyer_address_number" placeholder="N°" />
|
||||
</div>
|
||||
<div class="three wide field">
|
||||
<label></label>
|
||||
<input type="text" name="extra" placeholder="Otros Detalles" />
|
||||
<input type="text" name="add_buyer_address_extra" placeholder="Otros Detalles" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="fields">
|
||||
@ -82,25 +82,25 @@
|
||||
<div class="fields">
|
||||
<div class="field">
|
||||
<label>Telefono</label>
|
||||
<input type="text" name="phone" placeholder="Telefono" />
|
||||
<input type="text" name="add_buyer_phone" placeholder="Telefono" />
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>Correo</label>
|
||||
<div class="ui labeled input">
|
||||
<input type="text" name="email_name" placeholder="Correo" />
|
||||
<input type="text" name="add_buyer_email_name" placeholder="Correo" />
|
||||
<div class="ui basic label">@</div>
|
||||
<input type="text" name="email_domain" placeholder="Dominio" />
|
||||
<input type="text" name="add_buyer_email_domain" placeholder="Dominio" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fields">
|
||||
<div class="field">
|
||||
<label>Estado Civil</label>
|
||||
<input type="text" name="civil_status" placeholder="Estado Civil" />
|
||||
<input type="text" name="add_buyer_marital_status" placeholder="Estado Civil" />
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>Profesión</label>
|
||||
<input type="text" name="profession" placeholder="Profesión" />
|
||||
<input type="text" name="add_buyer_profession" placeholder="Profesión" />
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>Fecha de Nacimiento</label>
|
||||
@ -115,7 +115,7 @@
|
||||
<div class="six wide field">
|
||||
<label>Operador *</label>
|
||||
<div class="ui clearable search selection dropdown" id="add_broker">
|
||||
<input type="hidden" name="broker" />
|
||||
<input type="hidden" name="add_broker" />
|
||||
<i class="dropdown icon"></i>
|
||||
<div class="default text">Operador</div>
|
||||
<div class="menu"></div>
|
||||
@ -193,7 +193,7 @@
|
||||
'<div class="three wide field">',
|
||||
'<label>Promoción</label>',
|
||||
`<div class="ui search selection dropdown">`,
|
||||
'<input type="hidden" name="promotions[]" />',
|
||||
'<input type="hidden" name="add_promotions[]" />',
|
||||
'<i class="dropdown icon"></i>',
|
||||
'<div class="default text">Promoción</div>',
|
||||
`<div class="menu">${promotions.join('')}</div>`,
|
||||
@ -298,7 +298,7 @@
|
||||
'<div class="four wide field">',
|
||||
`<label>${unit.type.charAt(0).toUpperCase() + unit.type.slice(1)}</label>`,
|
||||
`<div class="ui search selection dropdown">`,
|
||||
'<input type="hidden" name="units[]" />',
|
||||
'<input type="hidden" name="add_units[]" />',
|
||||
'<i class="dropdown icon"></i>',
|
||||
`<div class="default text">${unit.type.charAt(0).toUpperCase() + unit.type.slice(1)}</div>`,
|
||||
'<div class="menu">',
|
||||
@ -308,6 +308,13 @@
|
||||
'</div>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'<div class="three wide field">',
|
||||
'<label>Valor</label>',
|
||||
'<div class="ui right labeled input">',
|
||||
'<input type="number" name="add_units_value[]" placeholder="Valor" />',
|
||||
'<div class="ui basic label">UF</div>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'<div class="field">',
|
||||
'<label></label>',
|
||||
`<button class="ui red tiny icon button remove_unit" type="button" data-id="${unit.idx}"><i class="trash icon"></i></button>`,
|
||||
@ -418,7 +425,7 @@
|
||||
load(project_id) {
|
||||
this.reset()
|
||||
this.data.current_project = project_id
|
||||
this.components.form.querySelector('input[name="project_id"]').value = project_id
|
||||
this.components.form.querySelector('input[name="add_project_id"]').value = project_id
|
||||
|
||||
this.get.brokers(project_id)
|
||||
this.get.promotions(project_id).then(promotions => {
|
||||
@ -436,23 +443,27 @@
|
||||
this.components.units.reset()
|
||||
}
|
||||
add() {
|
||||
const url = '/api/ventas/reservations/add'
|
||||
const url = '/api/ventas/reservation/add'
|
||||
const form = document.getElementById(this.ids.form)
|
||||
const body = new FormData(form)
|
||||
const date = this.components.$date.calendar('get date')
|
||||
console.debug(date)
|
||||
body.set('date', [date.getFullYear(), date.getMonth() + 1, date.getDate()].join('-'))
|
||||
body.set('comuna', this.components.$comuna.dropdown('get value'))
|
||||
body.set('region', this.components.$region.dropdown('get value'))
|
||||
body.set('broker_rut', this.components.$broker.dropdown('get value'))
|
||||
/*body.set('promotions[]', '')
|
||||
this.components.promotions.forEach(promotion => {
|
||||
body.append('promotions[]', promotion.querySelector('promotion').value)
|
||||
})*/
|
||||
/*body.set('units[]', '')
|
||||
this.components.units.forEach(unit => {
|
||||
body.append('units[]', unit.querySelector('unit').value)
|
||||
})*/
|
||||
body.set('add_date', [date.getFullYear(), date.getMonth() + 1, date.getDate()].join('-'))
|
||||
body.set('add_buyer_rut', Rut.clean(this.components.rut.querySelector('input').value))
|
||||
body.set('add_buyer_digit', this.components.digit.textContent)
|
||||
body.set('add_buyer_address_comuna_id', this.components.$comuna.dropdown('get value'))
|
||||
body.set('add_broker_rut', Rut.clean(this.components.$broker.dropdown('get value')))
|
||||
body.set('add_buyer_email', form.querySelector("input[name='add_buyer_email_name']").value + '@' + form.querySelector("input[name='add_buyer_email_domain']").value)
|
||||
const birthdate = this.components.$birthdate.calendar('get date')
|
||||
body.set('add_buyer_birthdate', [birthdate.getFullYear(), birthdate.getMonth() + 1, birthdate.getDate()].join('-'))
|
||||
|
||||
body.delete('comuna')
|
||||
body.delete('region')
|
||||
body.delete('broker')
|
||||
body.delete('add_broker')
|
||||
body.delete('birthdate')
|
||||
body.delete('add_buyer_email_name')
|
||||
body.delete('add_buyer_email_domain')
|
||||
|
||||
const method = 'post'
|
||||
return APIClient.fetch(url, {method, body}).then(response => response.json()).then(json => {
|
||||
if (json.success) {
|
||||
@ -604,32 +615,32 @@
|
||||
fill = {
|
||||
user: user => {
|
||||
const form = this.components.form
|
||||
form.querySelector('input[name="name"]').value = user.nombres || ''
|
||||
form.querySelector('input[name="last_name"]').value = user.apellidoPaterno || ''
|
||||
form.querySelector('input[name="last_name2"]').value = user.apellidoMaterno || ''
|
||||
form.querySelector('input[name="calle"]').value = user.datos?.direccion?.calle || ''
|
||||
form.querySelector('input[name="numero"]').value = user.datos?.direccion?.numero || ''
|
||||
form.querySelector('input[name="extra"]').value = user.datos?.direccion?.extra || ''
|
||||
form.querySelector('input[name="add_buyer_name"]').value = user.nombres || ''
|
||||
form.querySelector('input[name="add_buyer_last_name"]').value = user.apellidoPaterno || ''
|
||||
form.querySelector('input[name="add_buyer_last_name2"]').value = user.apellidoMaterno || ''
|
||||
form.querySelector('input[name="add_buyer_address_street"]').value = user.datos?.direccion?.calle || ''
|
||||
form.querySelector('input[name="add_buyer_address_number"]').value = user.datos?.direccion?.numero || ''
|
||||
form.querySelector('input[name="add_buyer_address_extra"]').value = user.datos?.direccion?.extra || ''
|
||||
if (parseInt(this.components.$region.dropdown('get value')) !== user.datos?.direccion?.comuna?.provincia?.region?.id) {
|
||||
this.components.$region.dropdown('set selected', user.datos?.direccion?.comuna?.provincia?.region?.id)
|
||||
} else {
|
||||
this.components.$comuna.dropdown('set selected', user.datos?.direccion?.comuna?.id)
|
||||
}
|
||||
form.querySelector('input[name="phone"]').value = user.datos?.telefono
|
||||
const email_parts = user.datos?.email.split('@')
|
||||
form.querySelector('input[name="email_name"]').value = email_parts[0]
|
||||
form.querySelector('input[name="email_domain"]').value = email_parts[1]
|
||||
if ('estadoCivil' in user.datos) {
|
||||
form.querySelector('input[name="civil_status"]').value = user.datos?.estadoCivil.charAt(0).toUpperCase() + user.datos?.estadoCivil.slice(1)
|
||||
form.querySelector('input[name="add_buyer_phone"]').value = user.datos?.telefono || ''
|
||||
const email_parts = user.datos?.email?.split('@') || []
|
||||
form.querySelector('input[name="add_buyer_email_name"]').value = email_parts[0] || ''
|
||||
form.querySelector('input[name="add_buyer_email_domain"]').value = email_parts[1] || ''
|
||||
if (user.datos !== null && 'estadoCivil' in user.datos) {
|
||||
form.querySelector('input[name="add_buyer_marital_status"]').value = user.datos?.estadoCivil.charAt(0).toUpperCase() + user.datos?.estadoCivil.slice(1)
|
||||
} else {
|
||||
form.querySelector('input[name="civil_status"]').value = ''
|
||||
form.querySelector('input[name="add_buyer_marital_status"]').value = ''
|
||||
}
|
||||
if ('ocupacion' in user.datos) {
|
||||
form.querySelector('input[name="profession"]').value = user.datos?.ocupacion
|
||||
if (user.datos !== null &&'ocupacion' in user.datos) {
|
||||
form.querySelector('input[name="add_buyer_profession"]').value = user.datos?.ocupacion.charAt(0).toUpperCase() + user.datos?.ocupacion.slice(1).toLowerCase()
|
||||
} else {
|
||||
form.querySelector('input[name="profession"]').value = ''
|
||||
form.querySelector('input[name="add_buyer_profession"]').value = ''
|
||||
}
|
||||
if ('fechaNacimiento' in user.datos) {
|
||||
if (user.datos !== null &&'fechaNacimiento' in user.datos) {
|
||||
this.components.$birthdate.calendar('set date', user.datos?.fechaNacimiento)
|
||||
}
|
||||
},
|
||||
|
Reference in New Issue
Block a user