Edit Proveedores

This commit is contained in:
Juan Pablo Vial
2024-12-03 17:35:29 -03:00
parent 42e1dcdff7
commit 187b6f6f05
9 changed files with 232 additions and 49 deletions

View File

@ -34,6 +34,8 @@
</div>
@include('inmobiliarias.proveedores.add_modal')
@include('inmobiliarias.proveedores.edit_modal')
@endsection
@include('layout.body.scripts.rut')
@ -66,14 +68,12 @@
proveedores: ''
},
data: JSON.parse('{!! json_encode($proveedores) !!}'),
edit() {
},
remove() {
return {
proveedor: rut => {
const url = `{{$urls->api}}/inmobiliarias/proveedor/${rut}/delete`
const method = 'delete'
APIClient.fetch(url, {method})
return APIClient.fetch(url, {method})
.then(response => (response) ? response.json() : null)
.then(data => {
if (data.success) {
@ -84,32 +84,6 @@
}
}
},
draw() {
return {
proveedores: () => {
$(this.ids.proveedores).empty()
this.data.forEach(proveedor => {
$(this.ids.proveedores).append(`
<tr>
<td>${proveedor.nombre}</td>
<td>${proveedor.contacto.nombreCompleto}</td>
<td class="right aligned">
<button class="ui icon button" data-proveedor="${proveedor.rut}">
<i class="edit icon"></i>
</button>
<button class="ui red icon button" data-proveedor="${proveedor.rut}">
<i class="remove icon"></i>
</button>
</td>
</tr>
`)
})
$(this.ids.buttons.remove).click((e) => {
this.remove().proveedor($(e.target).data('proveedor'))
})
}
}
},
formatters() {
return {
rut: value => {
@ -130,8 +104,22 @@
$(this.ids.buttons.add).click(() => {
addModal.show()
})
const editModal = new EditModal(this.ids.edit, this.formatters())
$(this.ids.buttons.edit).click((e) => {
e.currentTarget.classList.add('loading')
e.currentTarget.classList.add('spinner')
editModal.show(e.currentTarget.parentNode.dataset.proveedor).then(() => {
e.currentTarget.classList.remove('loading')
e.currentTarget.classList.remove('spinner')
})
})
$(this.ids.buttons.remove).click((e) => {
this.remove().proveedor(e.currentTarget.parentNode.dataset.proveedor)
e.currentTarget.classList.add('loading')
e.currentTarget.classList.add('spinner')
this.remove().proveedor(e.currentTarget.parentNode.dataset.proveedor).then(() => {
e.currentTarget.classList.remove('loading')
e.currentTarget.classList.remove('spinner')
})
})
}
}
@ -159,6 +147,23 @@
telefono: '#telefono_contacto'
}
},
edit: {
modal: '#edit_modal',
form: 'edit_form',
rut: '#edit_rut',
digito: '#edit_digito',
nombre: '#edit_nombre',
razon: '#edit_razon',
contacto: {
rut: '#edit_rut_contacto',
digito: '#edit_digito_contacto',
nombres: '#edit_nombre_contacto',
apellido_paterno: '#edit_apellido_paterno_contacto',
apellido_materno: '#edit_apellido_materno_contacto',
email: '#edit_email_contacto',
telefono: '#edit_telefono_contacto'
}
},
proveedores: '#proveedores'
})
})