mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
Merge branch 'feat/listados_cliente_form' of https://git.imnavajas.es/jjimenez/safekat into feat/listados_cliente_form
This commit is contained in:
27
httpdocs/assets/js/safekat/api/maquinas.js
Normal file
27
httpdocs/assets/js/safekat/api/maquinas.js
Normal file
@ -0,0 +1,27 @@
|
||||
import Ajax from "../components/ajax.js"
|
||||
|
||||
const opts = {
|
||||
findMaquina: (maquinaId) => {
|
||||
return {
|
||||
url: `/maquinas/${maquinaId}`,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export const findMaquina = (maquinaId) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
new Ajax(opts.findMaquina(maquinaId),
|
||||
null,
|
||||
null,
|
||||
(response) => {
|
||||
resolve(response)
|
||||
},
|
||||
(error) => {
|
||||
reject(error)
|
||||
}
|
||||
|
||||
).get()
|
||||
})
|
||||
|
||||
}
|
||||
@ -34,7 +34,7 @@ class OrdenTrabajoDatatable {
|
||||
render: (d, t) => {
|
||||
return `<div class="btn-group btn-group-sm">
|
||||
<a type="button" href="/produccion/ordentrabajo/edit/${d}" class=" btn btn-outline ot-edit"><i class="ti ti-eye ti-sm mx-2"></i></a>
|
||||
<a type="button" href="/produccion/ordentrabajo/pdf/${d}" class="btn btn-outline ot-pdf"><i class="ti ti-download ti-sm mx-2"></i></a>
|
||||
<a type="button" target="_blank" href="/produccion/ordentrabajo/pdf/${d}" class="btn btn-outline ot-pdf"><i class="ti ti-download ti-sm mx-2"></i></a>
|
||||
|
||||
</div>`
|
||||
}
|
||||
|
||||
12
httpdocs/assets/js/safekat/pages/pdf/otDownload.js
Normal file
12
httpdocs/assets/js/safekat/pages/pdf/otDownload.js
Normal file
@ -0,0 +1,12 @@
|
||||
$(() => {
|
||||
console.log("PDF")
|
||||
var opt = {
|
||||
margin: 2,
|
||||
filename: "PDF_OrdenTrabajo_" + $(".pdf-wrapper").data("id") + ".pdf",
|
||||
image: { type: 'jpeg', quality: 1 },
|
||||
html2canvas: { scale: 3 },
|
||||
jsPDF: { unit: 'mm', format: 'a4', orientation: 'portrait' }
|
||||
};
|
||||
let elementToPdf = $('body')[0]
|
||||
html2pdf().set(opt).from(elementToPdf).save()
|
||||
})
|
||||
@ -95,6 +95,7 @@ class OrdenTrabajo {
|
||||
this.tareasTableItem.on("draw.dt", this.createSelectMaquinaTarea.bind(this))
|
||||
this.tareasTableItem.on("xhr.dt", this.unbindEventTareas.bind(this))
|
||||
this.otForm.on("click", "#btn-upload-portada", this.handleUploadPortada.bind(this))
|
||||
this.otForm.on("click", "#btn-delete-portada", this.handleDeletePortada.bind(this))
|
||||
this.otForm.on("click", "#btn-finalizar-orden-pedido", this.handleFinalizarPedido.bind(this))
|
||||
this.tareasTableItem.on("click", ".ot-tarea-btn-delete", this.handleTareaDeleteConfirmation.bind(this))
|
||||
this.item.on("click", "#btn-reset-tareas", this.handleResetTareasDeleteConfirmation.bind(this))
|
||||
@ -172,16 +173,15 @@ class OrdenTrabajo {
|
||||
}
|
||||
createSelectMaquinaTarea() {
|
||||
try {
|
||||
this.tareasId.forEach(element => {
|
||||
let selectItem = this.item.find("#select-maquina-tarea-" + element);
|
||||
let maquina_id = selectItem.data("maquina-id")
|
||||
let maquinaSelects = new ClassSelect(selectItem, `/maquinas/select`, "Seleccione una maquina", true);
|
||||
maquinaSelects.init();
|
||||
if (maquina_id) {
|
||||
maquinaSelects.setVal(maquina_id)
|
||||
} else {
|
||||
maquinaSelects.reset()
|
||||
}
|
||||
console.log("Create selects")
|
||||
this.summaryData.tasks.forEach(element => {
|
||||
let selectItem = this.item.find("#select-maquina-tarea-" + element.id);
|
||||
if (element.presupuesto_linea_id && element.is_corte == false) this.createSelectMaquinaImpresion(selectItem)
|
||||
if (element.presupuesto_acabado_id) this.createSelectMaquinaAcabado(selectItem)
|
||||
if (element.presupuesto_encuadernado_id) this.createSelectMaquinaEncuadernacion(selectItem)
|
||||
if (element.presupuesto_manipulado_id || element.is_corte) this.createSelectMaquinaManipulado(selectItem)
|
||||
if (element.presupuesto_preimpresion_id) this.createSelectMaquinaAll(selectItem)
|
||||
if (element.presupuesto_extra_id) this.createSelectMaquinaAll(selectItem)
|
||||
});
|
||||
} catch (error) {
|
||||
} finally {
|
||||
@ -190,6 +190,59 @@ class OrdenTrabajo {
|
||||
}
|
||||
|
||||
}
|
||||
createSelectMaquinaAcabado(selectItem) {
|
||||
let maquina_id = selectItem.data("maquina-id")
|
||||
let maquinaSelects = new ClassSelect(selectItem, `/tarifas/maquinas/acabado/select`, "Seleccione una maquina", true);
|
||||
maquinaSelects.init();
|
||||
if (maquina_id) {
|
||||
maquinaSelects.setVal(maquina_id)
|
||||
} else {
|
||||
maquinaSelects.reset()
|
||||
}
|
||||
}
|
||||
createSelectMaquinaManipulado(selectItem) {
|
||||
let maquina_id = selectItem.data("maquina-id")
|
||||
let maquinaSelects = new ClassSelect(selectItem, `/tarifas/maquinas/manipulado/select`, "Seleccione una maquina", true);
|
||||
maquinaSelects.init();
|
||||
if (maquina_id) {
|
||||
maquinaSelects.setVal(maquina_id)
|
||||
} else {
|
||||
maquinaSelects.reset()
|
||||
}
|
||||
}
|
||||
createSelectMaquinaImpresion(selectItem) {
|
||||
let maquina_id = selectItem.data("maquina-id")
|
||||
let maquinaSelects = new ClassSelect(selectItem, `/tarifas/maquinas/impresion/select`, "Seleccione una maquina", true);
|
||||
maquinaSelects.init();
|
||||
if (maquina_id) {
|
||||
maquinaSelects.setVal(maquina_id)
|
||||
} else {
|
||||
maquinaSelects.reset()
|
||||
}
|
||||
}
|
||||
createSelectMaquinaEncuadernacion(selectItem) {
|
||||
let maquina_id = selectItem.data("maquina-id")
|
||||
let maquinaSelects = new ClassSelect(selectItem, `/tarifas/maquinas/encuadernacion/select`, "Seleccione una maquina", true);
|
||||
maquinaSelects.init();
|
||||
if (maquina_id) {
|
||||
maquinaSelects.setVal(maquina_id)
|
||||
} else {
|
||||
maquinaSelects.reset()
|
||||
}
|
||||
}
|
||||
createSelectMaquinaAll(selectItem) {
|
||||
let maquina_id = selectItem.data("maquina-id")
|
||||
let maquinaSelects = new ClassSelect(selectItem, `/maquinas/select`, "Seleccione una maquina", true);
|
||||
maquinaSelects.init();
|
||||
if (maquina_id) {
|
||||
maquinaSelects.setVal(maquina_id)
|
||||
} else {
|
||||
maquinaSelects.reset()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
filterCreatedRow(row, data, dataIndex, cells) {
|
||||
if (data.maquina_tarea.maquina_id == null) {
|
||||
}
|
||||
@ -206,6 +259,7 @@ class OrdenTrabajo {
|
||||
this.fillOtDetails()
|
||||
this.fillOtDates()
|
||||
this.fillPreimpresionReview()
|
||||
this.datatableTareas.ajax.reload()
|
||||
} catch (error) {
|
||||
|
||||
} finally {
|
||||
@ -217,7 +271,6 @@ class OrdenTrabajo {
|
||||
}
|
||||
handleSummaryError(error) { }
|
||||
fillPreimpresionReview() {
|
||||
console.log(this.summaryData.ot)
|
||||
this.otForm.find("[name=fecha_entrega_warning]").prop("checked", this.summaryData.ot.fecha_entrega_warning)
|
||||
this.otForm.find("[name=fecha_entrega_warning_revised]").prop("checked", this.summaryData.ot.fecha_entrega_warning_revised)
|
||||
this.otForm.find("[name=revisar_formato]").prop("checked", this.summaryData.ot.revisar_formato)
|
||||
@ -231,10 +284,10 @@ class OrdenTrabajo {
|
||||
}
|
||||
fillOtDetails() {
|
||||
const progreso = this.summaryData.ot.progreso
|
||||
this.otForm.find("#ot-progress-bar").attr('aria-valuenow', progreso).text(progreso + "%").css("width", progreso + "%")
|
||||
this.otForm.find("#ot-paginas").text(this.summaryData.presupuesto.paginas)
|
||||
this.otForm.find("#ot-tirada").text(this.summaryData.presupuesto.tirada)
|
||||
this.otForm.find("#ot-merma").text(this.summaryData.presupuesto.merma)
|
||||
// this.otForm.find("#ot-progress-bar").attr('aria-valuenow', progreso).text(progreso + "%").css("width", progreso + "%")
|
||||
// this.otForm.find("#ot-paginas").text(this.summaryData.presupuesto.paginas)
|
||||
// this.otForm.find("#ot-tirada").text(this.summaryData.presupuesto.tirada)
|
||||
// this.otForm.find("#ot-merma").text(this.summaryData.presupuesto.merma)
|
||||
}
|
||||
fillOtDates() {
|
||||
this.fechaImpresion.setDate(this.summaryData.dates.fecha_impresion_at)
|
||||
@ -351,6 +404,7 @@ class OrdenTrabajo {
|
||||
|
||||
}
|
||||
handlePreimpresionReviewChangeSuccess(response) {
|
||||
alertSuccess(response.message).fire()
|
||||
|
||||
}
|
||||
handlePreimpresionReviewChangeError(error) {
|
||||
@ -374,9 +428,38 @@ class OrdenTrabajo {
|
||||
}
|
||||
handleUploadPortadaSuccess(response) {
|
||||
this.handleGetPortada()
|
||||
popSuccessAlert(response.message)
|
||||
this.otForm.find("#portada-file-input").val(null)
|
||||
}
|
||||
handleUploadPortadaError(errors) { }
|
||||
handleUploadPortadaError(errors) {
|
||||
popSuccessAlert(errors?.message)
|
||||
}
|
||||
handleDeletePortada() {
|
||||
this.item.find(".portada-loader").prop("hidden", true);
|
||||
this.item.find("#portada-orden-trabajo").prop("hidden", false);
|
||||
let ajax = new Ajax('/produccion/ordentrabajo/portada/' + this.modelId,
|
||||
null,
|
||||
null,
|
||||
this.handleDeletePortadaSuccess.bind(this),
|
||||
this.handleGetPortadaError.bind(this),
|
||||
)
|
||||
alertConfirmationDelete("¿Estás seguro de realizar esta acción?")
|
||||
.then(result => {
|
||||
if (result.isConfirmed) {
|
||||
ajax.delete();
|
||||
}
|
||||
})
|
||||
}
|
||||
handleDeletePortadaSuccess(response) {
|
||||
$('#portada-orden-trabajo').attr('src', '/assets/img/portada_not_found.png');
|
||||
this.item.find(".portada-loader").prop("hidden", true);
|
||||
this.item.find("#portada-orden-trabajo").prop("hidden", false);
|
||||
popSuccessAlert(response.message)
|
||||
}
|
||||
handleDeletePortadaError(response) {
|
||||
popErrorAlert(response.error)
|
||||
}
|
||||
|
||||
handleGetPortada() {
|
||||
this.item.find(".portada-loader").prop("hidden", false);
|
||||
this.item.find("#portada-orden-trabajo").prop("hidden", true);
|
||||
@ -396,7 +479,11 @@ class OrdenTrabajo {
|
||||
this.item.find(".portada-loader").prop("hidden", true);
|
||||
this.item.find("#portada-orden-trabajo").prop("hidden", false);
|
||||
}
|
||||
handleGetPortadaError(errors) { }
|
||||
handleGetPortadaError() {
|
||||
this.item.find(".portada-loader").prop("hidden", true);
|
||||
this.item.find("#portada-orden-trabajo").prop("hidden", false);
|
||||
|
||||
}
|
||||
handleFinalizarPedido() {
|
||||
const ajax = new Ajax(
|
||||
"/produccion/ordentrabajo/update",
|
||||
@ -410,7 +497,8 @@ class OrdenTrabajo {
|
||||
);
|
||||
ajax.post()
|
||||
}
|
||||
handleEstadoChangeSuccess() {
|
||||
handleEstadoChangeSuccess(response) {
|
||||
popSuccessAlert(response.message)
|
||||
this.alertOrdenTrabajo.removeClass("alert-info").addClass("alert-success")
|
||||
this.btnFinalizarPedido.prop("disabled", true);
|
||||
}
|
||||
@ -437,13 +525,13 @@ class OrdenTrabajo {
|
||||
"/produccion/ordentrabajo/reset/tareas/" + this.modelId,
|
||||
null,
|
||||
null,
|
||||
this.handleDeleteTareaSuccess.bind(this),
|
||||
this.handleDeleteTareaError.bind(this)
|
||||
this.handleDeleteResetTareasSuccess.bind(this),
|
||||
this.handleDeleteResetTareasError.bind(this)
|
||||
);
|
||||
ajax.delete()
|
||||
}
|
||||
handleDeleteResetTareasSuccess(response) {
|
||||
this.datatableTareas.ajax.reload()
|
||||
this._handleGetData()
|
||||
}
|
||||
handleDeleteResetTareasError() { }
|
||||
handleDeleteTarea(orden_tarea_id) {
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
import ClassSelect from "../../../components/select2.js";
|
||||
import Ajax from "../../../components/ajax.js";
|
||||
import { alertError, alertSuccess } from "../../../components/alerts/sweetAlert.js";
|
||||
|
||||
|
||||
class PlanningRotativa {
|
||||
@ -78,14 +79,14 @@ class PlanningRotativa {
|
||||
]
|
||||
this.maquinaSelectFilter = new ClassSelect(
|
||||
this.tablePlanningRot.find(".planning-maquina-select"),
|
||||
`/maquinas/select`,
|
||||
`/produccion/ordentrabajo/planning/select/maquina/rotativa`,
|
||||
"Seleccione una maquina",
|
||||
true, {
|
||||
dropdownCssClass: "h-2"
|
||||
}, $('body'));
|
||||
this.papelImpresionFilter = new ClassSelect(this.tablePlanningRot.find(".planning-papel-select"), `/papelesimpresion/select`, "Seleccione un papel", true, {}, $('body'));
|
||||
this.maquinaSelectFilterPlana = new ClassSelect(this.tablePlanningPlana.find(".planning-maquina-select"), `/maquinas/select`, "Seleccione una maquina", true, {}, $('body'));
|
||||
this.papelImpresionFilterPlana = new ClassSelect(this.tablePlanningPlana.find(".planning-papel-select"), `/papelesimpresion/select`, "Seleccione un papel", true, {}, $('body'));
|
||||
this.papelImpresionFilter = new ClassSelect(this.tablePlanningRot.find(".planning-papel-select"), `/produccion/ordentrabajo/planning/select/papel/rotativa`, "Seleccione un papel", true, {}, $('body'));
|
||||
this.maquinaSelectFilterPlana = new ClassSelect(this.tablePlanningPlana.find(".planning-maquina-select"), `/produccion/ordentrabajo/planning/select/maquina/plana`, "Seleccione una maquina", true, {}, $('body'));
|
||||
this.papelImpresionFilterPlana = new ClassSelect(this.tablePlanningPlana.find(".planning-papel-select"), `/produccion/ordentrabajo/planning/select/papel/plana`, "Seleccione un papel", true, {}, $('body'));
|
||||
this.maquinaSelectFilter.config.dropdownParent = this.item
|
||||
}
|
||||
init() {
|
||||
@ -204,7 +205,7 @@ class PlanningRotativa {
|
||||
this.papelGramajeDatatable.on('draw', this.addTotalFooter.bind(this))
|
||||
|
||||
this.tablePlanningRot.on('change', ".metros-check", this.calcMetrosCheck.bind(this))
|
||||
|
||||
this.tablePlanningRot.on("click",'.change-corte',this.toggleCorte.bind(this))
|
||||
/**
|
||||
* PLANNING PLANA
|
||||
*/
|
||||
@ -307,15 +308,34 @@ class PlanningRotativa {
|
||||
this.totalPliegosSel.set(metros_sel.reduce((a, b) => a + b, 0))
|
||||
|
||||
}
|
||||
renderCorteImage() {
|
||||
renderCorteImage(data) {
|
||||
const tipo_corte = data.tipo_corte == "bobina" ? "cortadora_bobinas" : "guillotina";
|
||||
console.log(data.tipo_corte)
|
||||
return `
|
||||
<a type="button" class="btn btn-outline-secondary bg-white btn-xs change-corte">
|
||||
<a type="button" class="btn btn-outline-secondary bg-white btn-xs change-corte" data-id=${data.otId}>
|
||||
<div class="avatar avatar-size-xs">
|
||||
<img src="/assets/img/cortadora_bobinas.png" alt="Guillotina" width="10px" height="10px">
|
||||
<img src="/assets/img/${tipo_corte}.png" alt="${data.tipo_corte}" width="10px" height="10px">
|
||||
</div>
|
||||
</a>
|
||||
`
|
||||
}
|
||||
toggleCorte(event){
|
||||
let otId = $(event.currentTarget).data('id')
|
||||
let ajax = new Ajax("/produccion/ordentrabajo/planning/tarea/toggle/corte/" + otId,
|
||||
null,
|
||||
null,
|
||||
this.toggleCorteSuccess.bind(this),
|
||||
this.toggleCorteError.bind(this)
|
||||
)
|
||||
ajax.post()
|
||||
}
|
||||
toggleCorteSuccess(response){
|
||||
this.datatablePlanningRot.ajax.reload()
|
||||
alertSuccess(response.message).fire()
|
||||
}
|
||||
toggleCorteError(){
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user