create_form #48
|
|
@ -26,8 +26,9 @@
|
|||
"column": 2,
|
||||
"fields": [
|
||||
{ "key": "nombre", "label": "form.nombre", "type": "text", "required": true },
|
||||
{ "key": "segundo_nombre", "label": "form.segundo_nombre", "type": "text" },
|
||||
{ "key": "apellido", "label": "form.apellido", "type": "text", "required": true },
|
||||
{ "key": "documentos", "label": "form.documentos", "type": "text", "required": true, "colspan": 2 },
|
||||
{ "key": "documentos", "label": "form.documentos", "type": "phone", "required": true },
|
||||
{ "key": "correo", "label": "form.correo", "type": "email", "required": true, "colspan": 2 },
|
||||
{ "key": "reglamento_firma", "label": "form.reglamento_firma", "type": "text", "required": true, "colspan": 2, "placeholder": "form.reglamento_firma_placeholder" },
|
||||
{ "key": "fecha_nacimiento", "label": "form.fecha_nacimiento", "type": "date", "required": true },
|
||||
|
|
@ -221,7 +222,7 @@
|
|||
"label": "form.step8",
|
||||
"column": 2,
|
||||
"fields": [
|
||||
{ "key": "confirmar_nombre", "label": "form.confirmar_nombre", "type": "text", "readonly": true, "valueFrom": "nombre" },
|
||||
{ "key": "confirmar_nombre", "label": "form.confirmar_nombre", "type": "text", "readonly": true, "valueFrom": "nombre_completo" },
|
||||
{ "key": "confirmar_firma", "label": "form.confirmar_firma", "type": "text", "readonly": true, "valueFrom": "reglamento_firma" },
|
||||
{
|
||||
"key": "declaracion_voluntario",
|
||||
|
|
|
|||
|
|
@ -353,6 +353,12 @@
|
|||
"dial_code": "+1",
|
||||
"flag": "🇺🇸"
|
||||
},
|
||||
{
|
||||
"label": "Puerto Rico",
|
||||
"value": "Puerto Rico",
|
||||
"dial_code": "+1",
|
||||
"flag": "🇵🇷"
|
||||
},
|
||||
{
|
||||
"label": "Estonia",
|
||||
"value": "Estonia",
|
||||
|
|
|
|||
|
|
@ -236,15 +236,19 @@ const buildPayload = () => {
|
|||
const responses = [];
|
||||
config.value.steps.forEach((step, si) => {
|
||||
step.fields.forEach((field) => {
|
||||
const value = formData[field.key];
|
||||
if (value !== "" && !(Array.isArray(value) && value.length === 0)) {
|
||||
if (field.key === "segundo_nombre") return;
|
||||
let finalValue = formData[field.key];
|
||||
if (field.key === "nombre" && formData.segundo_nombre) {
|
||||
finalValue = `${finalValue} ${formData.segundo_nombre}`;
|
||||
}
|
||||
if (finalValue !== "" && !(Array.isArray(finalValue) && finalValue.length === 0)) {
|
||||
responses.push({
|
||||
key: field.key,
|
||||
value: value,
|
||||
value: finalValue,
|
||||
section_id: `step_${si}`
|
||||
});
|
||||
if (field.levels && Array.isArray(value)) {
|
||||
value.forEach((optVal) => {
|
||||
if (field.levels && Array.isArray(finalValue)) {
|
||||
finalValue.forEach((optVal) => {
|
||||
const levelKey = `${field.key}_nivel_${optVal}`;
|
||||
const levelVal = formData[levelKey];
|
||||
if (levelVal) {
|
||||
|
|
@ -458,9 +462,13 @@ watch(currentStep, (step) => {
|
|||
}
|
||||
}, { immediate: true });
|
||||
|
||||
watch([() => formData.nombre, () => formData.segundo_nombre], ([nombre, segundo_nombre]) => {
|
||||
formData.nombre_completo = [nombre, segundo_nombre].filter(Boolean).join(" ");
|
||||
});
|
||||
|
||||
const getFieldIcon = (field) => {
|
||||
const k = field.key;
|
||||
if (k === "nombre" || k === "emergencia_nombre") return "ph:user";
|
||||
if (k === "nombre" || k === "segundo_nombre" || k === "emergencia_nombre") return "ph:user";
|
||||
if (k === "apellido") return "ph:identification-card";
|
||||
if (k === "documentos") return "ph:cardholder";
|
||||
if (k === "correo" || k === "emergencia_correo") return "ph:envelope";
|
||||
|
|
|
|||
|
|
@ -211,6 +211,7 @@
|
|||
"form.step6": "Información Médica",
|
||||
"form.step7": "Contacto de Emergencia",
|
||||
"form.nombre": "Nombre",
|
||||
"form.segundo_nombre": "Segundo Nombre",
|
||||
"form.apellido": "Apellido",
|
||||
"form.documentos": "Documento de Identidad / Pasaporte",
|
||||
"form.correo": "Correo Electrónico",
|
||||
|
|
@ -312,7 +313,7 @@
|
|||
"form.declaracion.autorizo_datos": "Autorizo el tratamiento de mis datos personales conforme a la Política de Privacidad del Centro y la legislación aplicable.",
|
||||
"form.declaracion.confidencialidad": "Me comprometo a guardar absoluta confidencialidad respecto de toda la información a la que tenga acceso durante mi participación.",
|
||||
"form.declaracion.voluntaria": "Entiendo que mi participación es completamente voluntaria y que no genera relación laboral alguna con el Centro.",
|
||||
"form.confirmar_nombre": "Nombre",
|
||||
"form.confirmar_nombre": "Nombres",
|
||||
"form.confirmar_firma": "Firma electrónica",
|
||||
"form.confirmacion": "Confirmación final",
|
||||
"form.confirmacion_label": "Confirmo que los datos personales y la firma mostrados arriba son correctos y corresponden a mi persona.",
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ export const prerender = false;
|
|||
|
||||
const COLUMNS = [
|
||||
"aceptacion_reglamento",
|
||||
"nombre",
|
||||
"nombre_completo",
|
||||
"apellido",
|
||||
"documentos",
|
||||
"correo",
|
||||
|
|
|
|||
Loading…
Reference in New Issue