diff --git a/ci4/app/Controllers/Js_loader.php b/ci4/app/Controllers/Js_loader.php
index 3eb7c313..2890d7b8 100755
--- a/ci4/app/Controllers/Js_loader.php
+++ b/ci4/app/Controllers/Js_loader.php
@@ -88,5 +88,11 @@ class Js_loader extends BaseController
return view('themes/backend/vuexy/form/presupuestos/cliente/presupuestoCliente.js');
}
+ function presupuestoClienteTipoLibro_js()
+ {
+ $this->response->setHeader('Content-Type', 'text/javascript');
+ return view('themes/backend/vuexy/form/presupuestos/cliente/tipoLibroItems.js');
+ }
+
}
\ No newline at end of file
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cliente/_datosLibroItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cliente/_datosLibroItems.php
index 661d382b..f3b940ce 100644
--- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cliente/_datosLibroItems.php
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cliente/_datosLibroItems.php
@@ -1,8 +1,9 @@
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
- ">
-
- ">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -136,16 +59,12 @@
-
-
+
-
+
-
-
-
-
-
+
+
@@ -159,17 +78,18 @@
-
-
+
-
-
+
+
-
-
+
+
+
+
+
-
\ No newline at end of file
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cliente/_tipoLibroItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cliente/_tipoLibroItems.php
new file mode 100644
index 00000000..6af494cb
--- /dev/null
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cliente/_tipoLibroItems.php
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
Libro cosido
+
+
+
+
+
+
+
+
Libro fresado
+
+
+
+
+
+
+
+
Libro grapado
+
+
+
+
+
+
+
+
Libro espiral
+
+
+
+
+
+
+
+
Libro espiral
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cliente/presupuestoCliente.js b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cliente/presupuestoCliente.js
index 5b952036..8f10cd34 100644
--- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cliente/presupuestoCliente.js
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cliente/presupuestoCliente.js
@@ -18,9 +18,10 @@
const clientePresupuestoWizardForm = clientePresupuestoWizard.querySelector('#presupuesto-cliente-form');
// Wizard steps
const clientePresupuestoWizardFormStep1 = clientePresupuestoWizardForm.querySelector('#datos-generales');
- const clientePresupuestoWizardFormStep2 = clientePresupuestoWizardForm.querySelector('#disenio-libro');
- const clientePresupuestoWizardFormStep3 = clientePresupuestoWizardForm.querySelector('#direcciones-libro');
- const clientePresupuestoWizardFormStep4 = clientePresupuestoWizardForm.querySelector('#resumen-libro');
+ const clientePresupuestoWizardFormStep2 = clientePresupuestoWizardForm.querySelector('#tipo-libro');
+ const clientePresupuestoWizardFormStep3 = clientePresupuestoWizardForm.querySelector('#disenio-libro');
+ const clientePresupuestoWizardFormStep4 = clientePresupuestoWizardForm.querySelector('#direcciones-libro');
+ const clientePresupuestoWizardFormStep5 = clientePresupuestoWizardForm.querySelector('#resumen-libro');
// Wizard next prev button
const clientePresupuestoWizardNext = [].slice.call(clientePresupuestoWizardForm.querySelectorAll('.btn-next'));
const clientePresupuestoWizardPrev = [].slice.call(clientePresupuestoWizardForm.querySelectorAll('.btn-prev'));
@@ -185,6 +186,30 @@
alert('Submitted..!!');
});
+ // Deal Usage
+ const FormValidation5 = FormValidation.formValidation(clientePresupuestoWizardFormStep5, {
+ fields: {
+ // * Validate the fields here based on your requirements
+ },
+ plugins: {
+ trigger: new FormValidation.plugins.Trigger(),
+ bootstrap5: new FormValidation.plugins.Bootstrap5({
+ // Use this for enabling/changing valid/invalid class
+ // eleInvalidClass: '',
+ eleValidClass: '',
+ rowSelector: '.col-md-12'
+ }),
+ autoFocus: new FormValidation.plugins.AutoFocus(),
+ submitButton: new FormValidation.plugins.SubmitButton()
+ }
+ }).on('core.form.valid', function () {
+ // You can submit the form
+ // clientePresupuestoWizardForm.submit()
+ // or send the form data to server via an Ajax request
+ // To make the demo simple, I just placed an alert
+ alert('Submitted..!!');
+ });
+
clientePresupuestoWizardNext.forEach(item => {
item.addEventListener('click', event => {
// When click the Next button, we will validate the current step
@@ -205,6 +230,10 @@
FormValidation4.validate();
break;
+ case 4:
+ FormValidation5.validate();
+ break;
+
default:
break;
}
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cliente/tipoLibroItems.js b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cliente/tipoLibroItems.js
new file mode 100644
index 00000000..c787c100
--- /dev/null
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cliente/tipoLibroItems.js
@@ -0,0 +1,35 @@
+// Init custom option check
+function initCustomOptionCheck()
+{
+ const _this = this
+
+ const custopOptionList = [].slice.call(document.querySelectorAll('.custom-option .form-check-input'))
+ custopOptionList.map(function (customOptionEL) {
+ // Update custom options check on page load
+ _this.updateCustomOptionCheck(customOptionEL)
+
+ // Update custom options check on click
+ customOptionEL.addEventListener('click', e => {
+ _this.updateCustomOptionCheck(customOptionEL)
+ })
+ })
+}
+
+function updateCustomOptionCheck(el)
+{
+ if (el.checked) {
+ // If custom option element is radio, remove checked from the siblings (closest `.row`)
+ if (el.type === 'radio') {
+ const customRadioOptionList = [].slice.call(el.closest('.row').querySelectorAll('.custom-option'))
+ customRadioOptionList.map(function (customRadioOptionEL) {
+ customRadioOptionEL.closest('.custom-option').classList.remove('checked')
+ })
+ }
+ el.closest('.custom-option').classList.add('checked')
+ } else {
+ el.closest('.custom-option').classList.remove('checked')
+ }
+}
+
+initCustomOptionCheck();
+
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cliente/viewPresupuestoclienteForm.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cliente/viewPresupuestoclienteForm.php
index 58203bed..b08b6443 100644
--- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cliente/viewPresupuestoclienteForm.php
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cliente/viewPresupuestoclienteForm.php
@@ -7,312 +7,344 @@
= $this->section("content") ?>