terminada pestaña cliente tarifas

This commit is contained in:
2024-12-03 17:51:03 +01:00
parent abf60e62c4
commit aa22b81c96
4 changed files with 66 additions and 16 deletions

View File

@ -205,21 +205,19 @@ class ClientePrecios extends \App\Controllers\BaseResourceController
}
})
->on('preCreate', function ($editor, &$values) {
$session = session();
$datetime = (new \CodeIgniter\I18n\Time("now"));
$editor
->field('user_updated_id')
->setValue($session->id_user);
->setValue(auth()->user()->id);
$editor
->field('updated_at')
->setValue($datetime->format('Y-m-d H:i:s'));
})
->on('preEdit', function ($editor, &$values) {
$session = session();
$datetime = (new \CodeIgniter\I18n\Time("now"));
$editor
->field('user_updated_id')
->setValue($session->id_user);
->setValue(auth()->user()->id);
$editor
->field('updated_at')
->setValue($datetime->format('Y-m-d H:i:s'));

View File

@ -1,9 +1,16 @@
class ConfirmDeleteModal {
constructor(alias = "") {
this.modalId = 'confirm2delete';
this.modalId = alias !== "" ? `confirm2delete-${alias}`: 'confirm2delete';
const removeClass = alias !== "" ? `btn-remove-${alias}` : 'btn-remove';
this.btnCancelId = alias !== "" ? `btnCancelDelete-${alias}` : 'btnCancelDelete';
this.btnDeleteId = alias !== "" ? `btnConfirmDelete-${alias}` : 'btnConfirmDelete';
this.data = null;
this.modalHtml = `
<div class="modal fade" id="${this.modalId}" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="${this.modalId}Label" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
@ -16,8 +23,8 @@ class ConfirmDeleteModal {
Esta acción no se puede deshacer.
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-bs-dismiss="modal">Cancelar</button>
<a id="confirmDelete" href="javascript:void(0);" class="btn btn-danger btn-confirm ${removeClass}">Eliminar</a>
<button id=${this.btnCancelId} type="button" class="btn btn-default" data-bs-dismiss="modal">Cancelar</button>
<a id=${this.btnDeleteId} href="javascript:void(0);" class="btn btn-danger btn-confirm ${removeClass}">Eliminar</a>
</div><!--//.modal-footer -->
</div><!--//.modal-content -->
</div><!--//.modal-dialog -->
@ -25,19 +32,39 @@ class ConfirmDeleteModal {
`;
}
// Método para mostrar el modal
show(callback) {
init() {
// Insertar el modal en el body del documento si no existe
if (!document.getElementById(this.modalId)) {
document.body.insertAdjacentHTML('beforeend', this.modalHtml);
}
document.getElementById(this.btnCancelId).addEventListener('click', () => {
const modal = new bootstrap.Modal(document.getElementById(this.modalId));
modal.hide();
});
}
getModalId() {
return '#' + this.modalId;
}
setData(data) {
this.data = data;
}
getData() {
return this.data;
}
// Método para mostrar el modal
show(callback) {
// Mostrar el modal usando Bootstrap
const modal = new bootstrap.Modal(document.getElementById(this.modalId));
modal.show();
// Configurar el evento de confirmación de eliminación
document.getElementById('confirmDelete').addEventListener('click', () => {
document.getElementById(this.btnDeleteId).addEventListener('click', () => {
callback(); // Llamar al callback que el usuario haya proporcionado
modal.hide(); // Cerrar el modal
});
@ -49,3 +76,6 @@ class ConfirmDeleteModal {
modal.hide();
}
}
export default ConfirmDeleteModal;

View File

@ -23,15 +23,13 @@ let Table = function (
dom = '<"mt-4"><"float-end"B><"float-start"l><t><"mt-4 mb-3"p>',
actions = ['view', 'edit', 'delete', 'cancel'],
order = [[0, 'asc']],
deleteModal = null,
buttonsExport = true,
buttonNewWithEditor = false,
editor = null,
booleanColumns = [],
} = {}) {
this.actions = actions; // Guardar actions como propiedad de la instancia
this.deleteModal = deleteModal;
this.actions = actions;
const lastColNr = this.domItem.find("tr:first th").length - 1;
@ -124,6 +122,10 @@ let Table = function (
}
};
this.getAlias = function () {
return this.alias;
}
this.setData = function (data) {
this.data = data;
}
@ -165,7 +167,7 @@ let Table = function (
btns += `<span class="cancel"></span>`;
}
if (this.actions.includes('delete')) {
btns += `<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-${this.alias} mx-2" data-id="${data.id}" data-bs-toggle="modal" data-bs-target="${this.deleteModal}"></i></a>`;
btns += `<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-${this.alias} mx-2" data-id="${data.id}"></i></a>`;
}
return btns;

View File

@ -1,6 +1,6 @@
import Table from '../../components/table.js';
import TableEditor from '../../components/tableEditor.js';
import Confirm2Delete from '../../components/confirm2delete.js';
import ConfirmDeleteModal from '../../components/ConfirmDeleteModal.js';
import { getToken } from '../../common/common.js';
@ -21,12 +21,16 @@ class tarifasClienteView {
this.tableTarifas = null;
this.editorTarifas = null;
this.confirmDeleteModal = null;
this.deleteModal = null;
}
init() {
const self = this;
this.deleteModal = new ConfirmDeleteModal('tarifascliente');
this.deleteModal.init();
this.#initEditor();
this.#initTable();
@ -51,6 +55,21 @@ class tarifasClienteView {
});
this.tableTarifas.table.on('click', '.btn-delete-' + this.tableTarifas.getAlias(), function (e) {
const row = $(this).closest('tr')[0]._DT_RowIndex;
self.deleteModal.setData($(this).attr('data-id'));
self.deleteModal.show(() =>{
if ($.isNumeric(self.deleteModal.getData())) {
self.editorTarifas.editor
.create( false )
.edit( self.tableTarifas.table.rows(row), false)
.set( 'deleted_at', new Date().toISOString().slice(0, 19).replace('T', ' ') )
.set( 'is_deleted', 1 )
.submit();
self.deleteModal.hide();
}
});
});
}
@ -246,7 +265,6 @@ class tarifasClienteView {
buttonNewWithEditor: true,
buttonsExport: true,
editor: this.editorTarifas.editor,
deleteModal: '#confirm2delete'
});
@ -262,6 +280,8 @@ class tarifasClienteView {
}
headerSearcher() {
const self = this;