feat: selector de pasarela (Bold/dLocal/ninguna) en regla + muestra {{.EnlacePago}} en editor de plantillas
This commit is contained in:
@@ -82,7 +82,9 @@
|
||||
<code>{{.FechaVencimiento}}</code>,
|
||||
<code>{{.DiasRestantes}}</code>,
|
||||
<code>{{.Total}}</code>,
|
||||
<code>{{range .Servicios}}...{{.Nombre}} {{.Precio}}...{{end}}</code>
|
||||
<code>{{range .Servicios}}...{{.Nombre}} {{.Precio}}...{{end}}</code>,
|
||||
<code>{{.EnlacePago}}</code>
|
||||
<span class="ml-1 text-blue-500">(URL de pago generada automáticamente por Bold o dLocal al enviar)</span>
|
||||
</div>
|
||||
|
||||
<form @submit.prevent="save()">
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
<th class="py-2 px-3">Días antes</th>
|
||||
<th class="py-2 px-3">Plantilla</th>
|
||||
<th class="py-2 px-3">Aplica a</th>
|
||||
<th class="py-2 px-3">Pasarela</th>
|
||||
<th class="py-2 px-3">Estado</th>
|
||||
<th class="py-2 px-3 w-24"></th>
|
||||
</tr>
|
||||
@@ -35,6 +36,11 @@
|
||||
<td class="py-2 px-3">
|
||||
<span class="px-2 py-0.5 rounded text-xs bg-gray-100 text-gray-600" x-text="d.aplica_a"></span>
|
||||
</td>
|
||||
<td class="py-2 px-3">
|
||||
<span class="px-2 py-0.5 rounded text-xs font-medium"
|
||||
:class="d.pasarela_enlace==='dlocal' ? 'bg-blue-100 text-blue-700' : d.pasarela_enlace==='ninguna' ? 'bg-gray-100 text-gray-500' : 'bg-green-100 text-green-700'"
|
||||
x-text="d.pasarela_enlace==='dlocal' ? 'dLocal' : d.pasarela_enlace==='ninguna' ? 'Ninguna' : 'Bold'"></span>
|
||||
</td>
|
||||
<td class="py-2 px-3">
|
||||
<button @click="toggleActivo(d)"
|
||||
:class="d.activo ? 'bg-green-500' : 'bg-gray-300'"
|
||||
@@ -86,6 +92,15 @@
|
||||
</template>
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<label class="text-xs font-medium text-gray-600">Pasarela de pago (enlace)</label>
|
||||
<select x-model="form.pasarela_enlace" class="mt-1 w-full border rounded px-3 py-2 text-sm">
|
||||
<option value="bold">Bold (Colombia)</option>
|
||||
<option value="dlocal">dLocal</option>
|
||||
<option value="ninguna">Ninguna (sin enlace de pago)</option>
|
||||
</select>
|
||||
<p class="text-xs text-gray-400 mt-1">Genera automáticamente <code>{{.EnlacePago}}</code> al enviar</p>
|
||||
</div>
|
||||
<div>
|
||||
<label class="text-xs font-medium text-gray-600">Aplica a</label>
|
||||
<select x-model="form.aplica_a" class="mt-1 w-full border rounded px-3 py-2 text-sm">
|
||||
@@ -133,7 +148,7 @@ document.addEventListener('alpine:init', () => {
|
||||
loading: false, datos: [], plantillas: [],
|
||||
addModal: false, editModal: false, deleteModal: false,
|
||||
selectedId: null,
|
||||
form: { nombre:'', dias_antes:30, plantilla_id:'', aplica_a:'todos', activo:true },
|
||||
form: { nombre:'', dias_antes:30, plantilla_id:'', aplica_a:'todos', pasarela_enlace:'bold', activo:true },
|
||||
toast: { show:false, msg:'', type:'ok' },
|
||||
|
||||
async init() {
|
||||
@@ -151,7 +166,7 @@ document.addEventListener('alpine:init', () => {
|
||||
},
|
||||
|
||||
openEdit(d) {
|
||||
this.form = { nombre: d.nombre, dias_antes: d.dias_antes, plantilla_id: d.plantilla_id, aplica_a: d.aplica_a, activo: d.activo };
|
||||
this.form = { nombre: d.nombre, dias_antes: d.dias_antes, plantilla_id: d.plantilla_id, aplica_a: d.aplica_a, pasarela_enlace: d.pasarela_enlace||'bold', activo: d.activo };
|
||||
this.selectedId = d.ID;
|
||||
this.editModal = true;
|
||||
},
|
||||
@@ -159,7 +174,7 @@ document.addEventListener('alpine:init', () => {
|
||||
closeModals() {
|
||||
this.addModal = this.editModal = this.deleteModal = false;
|
||||
this.selectedId = null;
|
||||
this.form = { nombre:'', dias_antes:30, plantilla_id:'', aplica_a:'todos', activo:true };
|
||||
this.form = { nombre:'', dias_antes:30, plantilla_id:'', aplica_a:'todos', pasarela_enlace:'bold', activo:true };
|
||||
},
|
||||
|
||||
async toggleActivo(d) {
|
||||
|
||||
Reference in New Issue
Block a user