feature/cierres (#25)

Varios cambios

Co-authored-by: Juan Pablo Vial <jpvialb@incoviba.cl>
Reviewed-on: #25
This commit is contained in:
2025-07-22 13:18:00 +00:00
parent ba57cad514
commit 307f2ac7d7
418 changed files with 20045 additions and 984 deletions

View File

@ -18,6 +18,8 @@
</div>
@endsection
@include('layout.body.scripts.rut')
@push('page_scripts')
@include('ventas.facturacion.show.factura')
@include('ventas.facturacion.show.propietario')

View File

@ -194,7 +194,8 @@
},
unidad: ({unidad, no, classes, formatters}) => {
const descuento = this.props.terreno.valor * unidad.prorrateo * this.props.proporcion
const bruto = unidad.precio - descuento
const precio = unidad.precio * this.props.proporcion
const bruto = precio - descuento
const neto = bruto / 1.19
const data = [
no,
@ -256,7 +257,7 @@
tooltips.neto = ` data-tooltip="No coinciden netos! Promesa: ${formatters.pesos.format(this.props.detalle.neto)} - Unidades: ${formatters.pesos.format(this.props.total.neto)}"`
}
if (this.props.total.iva !== this.props.detalle.iva) {
tooltips.iva = ` data-tooltip="No coinciden ivas! Promesa: ${formatters.pesos.format(this.props.detalle.iva)} - Unidades: ${formatters.pesos.format(this.props.total.iva)}"`
tooltips.iva = ` data-tooltip="No coinciden IVAs! Promesa: ${formatters.pesos.format(this.props.detalle.iva)} - Unidades: ${formatters.pesos.format(this.props.total.iva)}"`
}
if (this.props.total.total !== this.props.detalle.total) {
tooltips.total = ` data-tooltip="No coinciden totales! Promesa: ${formatters.pesos.format(this.props.detalle.total)} - Unidades: ${formatters.pesos.format(this.props.total.total)}"`
@ -399,7 +400,7 @@
},
total: () => {
this.props.total.exento = this.props.detalle.terreno
this.props.total.neto = (this.props.unidades.reduce((sum, unidad) => sum + unidad.precio, 0) - this.props.total.exento) / 1.19
this.props.total.neto = (this.props.unidades.reduce((sum, unidad) => sum + unidad.precio, 0) * this.props.proporcion - this.props.total.exento) / 1.19
this.props.total.iva = this.props.total.neto * 0.19
this.props.total.total = this.props.total.neto + this.props.total.iva + this.props.total.exento
},

View File

@ -28,7 +28,11 @@
facturas.draw().facturas()
},
rut: rut => {
this.props.rut = rut
rut = rut.replaceAll(/~\d|\.|-/g, '')
const digito = rut.slice(-1)
rut = rut.slice(0, -1)
this.props.rut = Rut.format(rut) + '-' + digito
document.getElementById('rut'+this.props.index).value = this.props.rut
facturas.venta.update().facturas()
facturas.draw().facturas()
},
@ -72,7 +76,7 @@
})
},
rut: () => {
document.getElementById('rut'+this.props.index).addEventListener('input', inputEvent => {
document.getElementById('rut'+this.props.index).addEventListener('change', inputEvent => {
const rut = inputEvent.currentTarget.value
if (rut === this.props.rut) {
return
@ -81,7 +85,7 @@
})
},
nombre: () => {
document.getElementById('propietario'+this.props.index).addEventListener('input', inputEvent => {
document.getElementById('propietario'+this.props.index).addEventListener('change', inputEvent => {
const nombre = inputEvent.currentTarget.value
if (nombre === this.props.nombre) {
return
@ -90,7 +94,7 @@
})
},
direccion: () => {
document.getElementById('direccion_propietario'+this.props.index).addEventListener('input', inputEvent => {
document.getElementById('direccion_propietario'+this.props.index).addEventListener('change', inputEvent => {
const direccion = inputEvent.currentTarget.value
if (direccion === this.props.direccion) {
return

View File

@ -40,7 +40,7 @@
const url = '{{$urls->api}}/ventas/unidad/' + this.props.id + '/prorrateo'
const method = 'post'
const body = new FormData()
body.set('prorrateo', newValue)
body.set('prorrateo', (parseFloat(newValue) / 100).toFixed(8))
return fetchAPI(url, {method, body}).then(response => {
if (!response) {
return