Merge branch 'main' into 'add/view_logistica_principal'

Main

See merge request jjimenez/safekat!705
This commit is contained in:
2025-04-15 16:47:08 +00:00
34 changed files with 993 additions and 145 deletions

View File

@ -68,7 +68,6 @@ class Chat {
}
if (this.chatHistoryBody[0]) {
//console.log("History body");
this.scrollbarChatHistory = new PerfectScrollbar(this.chatHistoryBody[0], {
wheelPropagation: false,
suppressScrollX: true,
@ -126,12 +125,10 @@ class Chat {
<span class="item-text">${state.text}</span>
<span class="badge text-bg-secondary">${state.desc ?? ''}</span>
</div>`)
console.log(state)
return $state;
}
this.selectClientUser.init()
this.selectItem.on('change', () => {
console.log(this.selectClientUser.getVal(),this.selectClientUser.getText())
if (this.selectClientUser.getVal()) {
this.sendBtnMessageDepartment.attr('disabled', null)
} else {
@ -181,6 +178,15 @@ class Chat {
this.initSelectClient()
// setInterval(this._getChatMessage.bind(this), 10000)
}
initOrdenTrabajo() {
this.chatType = "ot"
this._handleGetChatList()
this.sendBtnMessageDepartment.on("click", this._sendMessage.bind(this))
this.sendBtnMessageDepartmentClient.on("click", this._sendMessage.bind(this))
this.messageInput.on("keypress", this._sendMessagePressKey.bind(this))
this.initSelectClient()
// setInterval(this._getChatMessage.bind(this), 10000)
}
initContacts() {
this.chatType = "internal"

View File

@ -55,6 +55,7 @@ class OrdenTrabajoDatatable {
},
columnDefs: [
{ className: 'dt-center', targets: '_all' },
],
serverSide: true,
pageLength: 25,
@ -62,7 +63,11 @@ class OrdenTrabajoDatatable {
url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json"
},
columns: this.datatableColumns,
ajax: '/produccion/ordentrabajo/datatable'
ajax: '/produccion/ordentrabajo/datatable',
createdRow: (row,data,dataIndex) => {
$(row).css("border-left",`10px solid ${data.logo.color}`)
$(row).css("border-right",`10px solid ${data.logo.color}`)
}
});
}
initPendientes() {
@ -76,6 +81,7 @@ class OrdenTrabajoDatatable {
},
columnDefs: [
{ className: 'dt-center', targets: '_all' },
],
serverSide: true,
pageLength: 25,
@ -83,7 +89,12 @@ class OrdenTrabajoDatatable {
url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json"
},
columns: this.datatableColumns,
ajax: '/produccion/ordentrabajo/datatable_pendientes'
ajax: '/produccion/ordentrabajo/datatable_pendientes',
createdRow: (row,data,dataIndex) => {
$(row).css("border-left",`20px solid ${data.logo.color}`)
$(row).css("border-right",`20px solid ${data.logo.color}`)
}
});
}
initFerroPendiente() {
@ -97,11 +108,19 @@ class OrdenTrabajoDatatable {
},
serverSide: true,
pageLength: 25,
columnDefs: [
{ className: 'dt-center', targets: '_all' },
],
language: {
url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json"
},
columns: this.datatableColumns,
ajax: '/produccion/ordentrabajo/datatable_ferro_pendiente'
ajax: '/produccion/ordentrabajo/datatable_ferro_pendiente',
createdRow: (row,data,dataIndex) => {
$(row).css("border-left",`20px solid ${data.logo.color}`)
$(row).css("border-right",`20px solid ${data.logo.color}`)
}
});
}
initFerroOk() {
@ -114,12 +133,20 @@ class OrdenTrabajoDatatable {
bottomEnd: 'paging'
},
serverSide: true,
columnDefs: [
{ className: 'dt-center', targets: '_all' },
],
pageLength: 25,
language: {
url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json"
},
columns: this.datatableColumns,
ajax: '/produccion/ordentrabajo/datatable_ferro_ok'
ajax: '/produccion/ordentrabajo/datatable_ferro_ok',
createdRow: (row,data,dataIndex) => {
$(row).css("border-left",`20px solid ${data.logo.color}`)
$(row).css("border-right",`20px solid ${data.logo.color}`)
}
});
}

View File

@ -0,0 +1,12 @@
import Chat from '../components/chat.js'
import InternalMessages from "../components/internalMessagesSection.js"
$(function () {
let chat = new Chat($("#chat-orden-trabajo"))
chat.init()
chat.initOrdenTrabajo()
if ($("#internal_messages_chat").length > 0) {
let internalMessages = new InternalMessages($("#internal_messages_chat"))
internalMessages.init()
}
})

View File

@ -77,6 +77,10 @@ class OrdenTrabajo {
this.portada = new DatePicker(this.otForm.find("#ot-portada"), option)
this.plastificadoMate = new DatePicker(this.otForm.find("#ot-plastificado-mate"), option)
this.prepGuillotina = new DatePicker(this.otForm.find("#ot-prep-guillotina"), option)
this.prepCosido = new DatePicker(this.otForm.find("#ot-prep-cosido"), option)
this.prepGrapado = new DatePicker(this.otForm.find("#ot-prep-grapado"), option)
this.prepSolapa = new DatePicker(this.otForm.find("#ot-prep-solapa"), option)
this.espiral = new DatePicker(this.otForm.find("#ot-espiral"), option)
this.embalaje = new DatePicker(this.otForm.find("#ot-embalaje"), option)
this.envio = new DatePicker(this.otForm.find("#ot-envio"), option)
@ -340,7 +344,7 @@ class OrdenTrabajo {
this.fillPreimpresionReview()
this.datatableTareas.ajax.reload()
} catch (error) {
console.error(error)
} finally {
this.otForm.on("change", ".ot-date", this.handleDateChange.bind(this))
this.otForm.on("change", ".ot-pedido", this.handlePedidoChange.bind(this))
@ -389,6 +393,10 @@ class OrdenTrabajo {
this.portada.setDate(this.summaryData.dates.cubierta_at)
this.plastificadoMate.setDate(this.summaryData.dates.plastificado_at)
this.prepGuillotina.setDate(this.summaryData.dates.corte_at)
this.prepCosido.setDate(this.summaryData.dates.cosido_at)
this.prepSolapa.setDate(this.summaryData.dates.solapa_at)
this.prepGrapado.setDate(this.summaryData.dates.grapado_at)
this.espiral.setDate(this.summaryData.dates.fecha_impresion_at)
this.embalaje.setDate(this.summaryData.dates.embalaje_at)
this.envio.setDate(this.summaryData.dates.envio_at)

View File

@ -151,6 +151,9 @@ class PlanningRotativa {
language: {
url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json"
},
createdRow: (row,data,dataIndex) => {
this.getColorOtStatus(row,data)
},
columns: this.datatableColumns,
ajax: '/produccion/ordentrabajo/planning/rotativa/datatable'
});
@ -165,7 +168,9 @@ class PlanningRotativa {
url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json"
},
columns: this.datatablePlanaColumns,
createdRow: (row,data,dataIndex) => {
this.getColorOtStatus(row,data)
},
ajax: {
url : '/produccion/ordentrabajo/planning/plana/datatable',
data : d => {
@ -245,7 +250,7 @@ class PlanningRotativa {
this.tablePlanningPlana.on('change', ".pliegos-check", this.calcPliegosCheck.bind(this))
}
_renderBtnAction(d) {
return `<a href="/produccion/ordentrabajo/edit/${d.otId}" class="ot-tarea-comment" data-id="${d.otId}"><i class="ti ti-eye"></i></a>`
return `<a href="/produccion/ordentrabajo/edit/${d.data.otId}" class="ot-tarea-comment" data-id="${d.data.otId}"><i class="ti ti-eye"></i></a>`
}
_columnFiltering() {
this.api().columns()
@ -362,7 +367,15 @@ class PlanningRotativa {
}
toggleCorteError(){
}
getColorOtStatus(row,data){
let ajax = new Ajax("/produccion/ordentrabajo/color/"+data.otId,null,null,
(response) => {
$(row).css("border-left",`10px solid ${response.color}`)
$(row).css("border-right",`10px solid ${response.color}`)
},null
)
ajax.get()
}
}