This commit is contained in:
lizandrogd
2023-10-07 08:42:57 -05:00
parent 1124b737c6
commit 8e19bd129e
22 changed files with 727 additions and 523 deletions
+1 -1
View File
@@ -9,7 +9,7 @@ LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DB_CONNECTION=mysql
DB_HOST=31.220.16.2
DB_HOST=82.180.168.2
DB_PORT=3306
DB_DATABASE=u111286300_sir
DB_USERNAME=u111286300_sir
+3 -3
View File
@@ -54,11 +54,11 @@ class ShowIndexServicio extends Component
$this->fecha= $date->format('Y-m-d');
if (!empty($this->tarifa_id)) {
$tarifas = Tarifas::with('servicio')->where('id', $this->tarifa_id)->first();
$this->fecha_final_1 = $today = Carbon::now()->addDays($tarifas->dias-15);
$this->fecha_final_2 = $today = Carbon::now()->addDays($tarifas->dias+15);
$tarifas = Tarifas::with('servicio')->where('id', $this->tarifa_id)->first();
$cuentas_creadas = Cuentas::whereDate('inicio','>=',$this->fecha)->where('servicio_id',$this->servicio_id)->where('estado','activo')->get();
$cuentas_tomadas = Historial_cuenta::whereIn('cuenta_id', $cuentas_creadas->pluck('id'))->count();
+6 -3
View File
@@ -274,7 +274,7 @@ class ShowServicios extends Component
if ((int) $pantalla_servicio >= (int) $cantidad_solicitada && (int) $pantalla_servicio_completa != (int) $this->pantallas_tarjetaPlan) {
$suma = $pantalla_servicio - $cantidad_solicitada;
$cantidad_necesaria = 1;
$cantidad_necesaria = $this->cantidad_tarjetaPlan;
$cuenta = Cuentas::where('servicio_id', $this->servicio_id)->whereDate('inicio', '>=', $this->fecha)->Orderby('created_at', 'ASC')->withCount('historiales')->where('estado', 'activo')->having('historiales_count', '<=', $suma)->get();
} elseif ((int) $pantalla_servicio_completa == (int) $this->pantallas_tarjetaPlan) {
@@ -292,10 +292,11 @@ class ShowServicios extends Component
$cuenta = null;
$cantidad_necesaria = null;
}
//dd($cuenta, $cantidad_necesaria);
for ($h = 0; $h < (int) $cantidad_necesaria; $h++) {
//dd($h);
if (!empty($cuenta)) {
$perfil = $cuenta[$h]->historiales_count;
for ($y = 0; $y < (int) $pantallas; $y++) {
@@ -315,6 +316,7 @@ class ShowServicios extends Component
}
}
//dd($historial->cuentas);
$descuento = Saldo::where('usuario_id', Auth::user()->id)->first();
$saldo_anterior = $descuento->valor;
@@ -323,6 +325,7 @@ class ShowServicios extends Component
$cobro = $descuento->update(['valor' => $nuevo_saldo]);
if ($cobro) {
$historial->update(['estado' => 'activo']);
$this->credenciales($historial);
} else {
$this->alert('warning', 'Error en el cobro, comuniquese con soporte!', [
+44
View File
@@ -77,6 +77,7 @@ class ShowUsuarios extends Component
public $precio_modTarifas = 0;
public $consulta_saldo;
public $modTarifas;
public $modalSaldoDesc;
@@ -173,6 +174,23 @@ class ShowUsuarios extends Component
$this->saldo_actual = $this->consulta_saldo->valor;
$this->modalSaldo = true;
}
public function saldodesc($user_saldo)
{
$this->user_saldo = $user_saldo;
$this->consulta_saldo = Saldo::where('usuario_id', $this->user_saldo)->first();
if (is_null($this->consulta_saldo)) {
$saldo = new Saldo;
$saldo->valor = 0;
$saldo->usuario_id = $this->user_saldo;
$saldo->save();
$this->consulta_saldo = $saldo;
}
$this->saldo_actual = $this->consulta_saldo->valor;
$this->modalSaldoDesc = true;
}
public function addSaldo()
@@ -200,6 +218,31 @@ class ShowUsuarios extends Component
}
public function descontar()
{
$recarga = new recarga;
$recarga->payment_method_id = 'manual';
$recarga->status = 'Descuento';
$recarga->usuario_id = $this->user_saldo;
$recarga->saldo_id = $this->consulta_saldo->id;
$recarga->monto = $this->valor_recargar;
$recarga->valor_recarga = $this->valor_recargar;
$recarga->save();
$this->consulta_saldo->update([
'valor' => $this->saldo_actual - $this->valor_recargar
]);
$this->alert('success', 'Saldo actualizado con exito!', [
'position' => 'top'
]);
$this->limpiarSaldo();
}
public function editar($id)
{
$this->id_edit = $id;
@@ -455,6 +498,7 @@ $usuarioEliminado = User::where('name', 'usuarioEliminado')->value('id');
{
$this->valor_recargar = null;
$this->modalSaldo = false;
$this->modalSaldoDesc = false;
}
/* ------------- ACTUALIZAR ------------- */
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

@@ -1,132 +1,132 @@
<div x-data="{ categorian: @entangle('categorian'),verPro: @entangle('verPro')}" class="h-full w-full md:my-2">
<div class="text-right mx-12">
<a href="/#planes">
<button class="my-2 mx max-w-sm ml-auto rounded-lg border border-transparent px-4 py-2 sm:mb-[0] mb-2 text-white bg-[#B221FD] hover:bg-[#7a02b8] focus:shadow-outline-green sm-text-sm sm-leading-5">Ver planes</button>
</a>
</div>
<div class=" md:w-[100%] m-auto p-2 md:p-5 rounded-[1.2rem] relative mb-4">
<div class="mx-auto bg-white grid grid-cols-1 lg:grid-cols-1text-center rounded-xl py-4 px-2 ms:px-8 shadow-md xl:mx-10 mb-8 ">
<div class="mb-2">
<h2>Seleccione una categoria:</h2>
</div>
<div class="relative">
<div class="slider scroll-smooth py-2 px-4 overflow-x-scroll w-full gap-4 " id="content">
<table>
@foreach ($categorias as $categoria1)
<td>
<div class="cursor-pointer transition hover:scale-[1.05] w-[250px] h-[250px] sm:w-[450px] sm:h-[450px] mx-4"
x-on:click="categorian='{{ $categoria1->nombre }}'">
<img src="{{ asset($categoria1->imagen) }}"
class="w-full m-auto rounded-lg object-cover h-full object-center shadow"
alt="imagen de {{ $categoria1->nombre }}">
</div>
</td>
@endforeach
</table>
</div>
<button class="prev p-2 md:p-3 absolute left-0 top-1/3 rounded-full bg-[#B221FD]"><svg
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:svgjs="http://svgjs.com/svgjs" version="1.1" class="w-4 md:w-7" x="0"
y="0" viewBox="0 0 24 24" style="enable-background:new 0 0 512 512"
xml:space="preserve">
<g>
<path
d="M17.921,1.505a1.5,1.5,0,0,1-.44,1.06L9.809,10.237a2.5,2.5,0,0,0,0,3.536l7.662,7.662a1.5,1.5,0,0,1-2.121,2.121L7.688,15.9a5.506,5.506,0,0,1,0-7.779L15.36.444a1.5,1.5,0,0,1,2.561,1.061Z"
fill="#ffffff" data-original="#000000" />
</g>
</svg></button>
<button class="next p-2 md:p-3 absolute right-0 top-1/3 rounded-full bg-[#B221FD]"><svg
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:svgjs="http://svgjs.com/svgjs" version="1.1" class="w-4 md:w-7" x="0"
y="0" viewBox="0 0 24 24" style="enable-background:new 0 0 512 512"
xml:space="preserve">
<g>
<path
d="M6.079,22.5a1.5,1.5,0,0,1,.44-1.06l7.672-7.672a2.5,2.5,0,0,0,0-3.536L6.529,2.565A1.5,1.5,0,0,1,8.65.444l7.662,7.661a5.506,5.506,0,0,1,0,7.779L8.64,23.556A1.5,1.5,0,0,1,6.079,22.5Z"
fill="#ffffff" data-original="#000000" />
</g>
</svg></button>
</div>
<button x-on:click="verPro=true" class="my-2 mx max-w-sm ml-auto rounded-lg border border-transparent px-4 py-2 sm:mb-[0] mb-2 text-white bg-[#B221FD] hover:bg-[#7a02b8] focus:shadow-outline-green sm-text-sm sm-leading-5">Ver todos</button>
<div x-data="{ categorian: @entangle('categorian'),verPro: @entangle('verPro')}" class="h-full w-full md:my-2">
<div class="text-right mx-12">
<a href="/#planes">
<button class="my-2 mx max-w-sm ml-auto rounded-lg border border-transparent px-4 py-2 sm:mb-[0] mb-2 text-white bg-[#B221FD] hover:bg-[#7a02b8] focus:shadow-outline-green sm-text-sm sm-leading-5">Ver planes</button>
</a>
</div>
<div class=" md:w-[100%] m-auto p-2 md:p-5 rounded-[1.2rem] relative mb-4">
<div>
@if ($categorian)
<div class="bg-[#f8f8f8] shadow-md rounded-[1.2rem] mb-4 px-4 py-4">
<div class="mb-2">
<h2>Seleccione una promocion:</h2>
</div>
<div id="promo" class="grid sm:grid-cols-2 md:grid-cols-2 lg:grid-cols-4 gap-4 py-2 px-4">
@foreach ($categorias->where('nombre', $categorian)->first()->promociones as $promocion)
@if ($promocion->visible == 'true')
<div class="select-none bg-white shadow-md transition hover:scale-[1.05] hover:shadow-xl cursor-pointer rounded-lg text-center relative object-cover ">
<a href="/promo?promo={{$promocion->id}}">
<img src="{{ asset($promocion->img_publicidad) }}" alt="" class="w-full m-auto rounded-lg object-cover h-24 sm:h-44 object-center shadow">
</a>
</div>
@endif
@endforeach
</div>
<div class="mx-auto bg-white grid grid-cols-1 lg:grid-cols-1text-center rounded-xl py-4 px-2 ms:px-8 shadow-md xl:mx-10 mb-8 ">
<div class="mb-2">
<h2>Seleccione una categoria:</h2>
</div>
@endif
</div>
</div>
{{-- Modal ver promociones --}}
<div x-cloak x-show="verPro" x-transition:enter="transition duration-350"
x-transition:enter-start="opacity-0 scale-100" x-transition:enter-end="opacity-100 scale-100"
x-transition:leave="transition duration-350" x-transition:leave-start="opacity-100 scale-100"
x-transition:leave-end="opacity-0 scale-100"
class="fixed backdrop-blur-sm bg-black/20 left-0 bottom-0 top-0 right-0 h-full z-10">
<div class="overflow-auto h-full ">
<div class="grid sm:grid-cols-2 md:grid-cols-2 lg:grid-cols-3 gap-3 py-2 px-4 ">
@foreach ($categorias as $categoria1)
<div class="cursor-pointer transition hover:scale-[1.05] w-[250px] h-[250px] sm:w-[350px] sm:h-[350px] mx-4 my-2 mx-auto"
x-on:click="categorian='{{ $categoria1->nombre }}',verPro=false">
<div class="relative">
<div class="slider scroll-smooth py-2 px-4 overflow-x-scroll w-full gap-4 " id="content">
<table>
@foreach ($categorias as $categoria1)
<td>
<div class="cursor-pointer transition hover:scale-[1.05] w-[250px] h-[250px] sm:w-[450px] sm:h-[450px] mx-4"
x-on:click="categorian='{{ $categoria1->nombre }}'">
<img src="{{ asset($categoria1->imagen) }}"
class="w-full m-auto rounded-lg object-cover h-full object-center shadow"
alt="">
alt="imagen de {{ $categoria1->nombre }}">
</div>
</td>
@endforeach
</table>
</div>
<button class="prev p-2 md:p-3 absolute left-0 top-1/3 rounded-full bg-[#B221FD]"><svg
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:svgjs="http://svgjs.com/svgjs" version="1.1" class="w-4 md:w-7" x="0"
y="0" viewBox="0 0 24 24" style="enable-background:new 0 0 512 512"
xml:space="preserve">
<g>
<path
d="M17.921,1.505a1.5,1.5,0,0,1-.44,1.06L9.809,10.237a2.5,2.5,0,0,0,0,3.536l7.662,7.662a1.5,1.5,0,0,1-2.121,2.121L7.688,15.9a5.506,5.506,0,0,1,0-7.779L15.36.444a1.5,1.5,0,0,1,2.561,1.061Z"
fill="#ffffff" data-original="#000000" />
</g>
</svg></button>
<button class="next p-2 md:p-3 absolute right-0 top-1/3 rounded-full bg-[#B221FD]"><svg
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:svgjs="http://svgjs.com/svgjs" version="1.1" class="w-4 md:w-7" x="0"
y="0" viewBox="0 0 24 24" style="enable-background:new 0 0 512 512"
xml:space="preserve">
<g>
<path
d="M6.079,22.5a1.5,1.5,0,0,1,.44-1.06l7.672-7.672a2.5,2.5,0,0,0,0-3.536L6.529,2.565A1.5,1.5,0,0,1,8.65.444l7.662,7.661a5.506,5.506,0,0,1,0,7.779L8.64,23.556A1.5,1.5,0,0,1,6.079,22.5Z"
fill="#ffffff" data-original="#000000" />
</g>
</svg></button>
</div>
<button x-on:click="verPro=true" class="my-2 mx max-w-sm ml-auto rounded-lg border border-transparent px-4 py-2 sm:mb-[0] mb-2 text-white bg-[#B221FD] hover:bg-[#7a02b8] focus:shadow-outline-green sm-text-sm sm-leading-5">Ver todos</button>
</div>
<div>
@if ($categorian)
<div class="bg-[#f8f8f8] shadow-md rounded-[1.2rem] mb-4 px-4 py-4">
<div class="mb-2">
<h2>Seleccione una promocion:</h2>
</div>
<div id="promo" class="grid sm:grid-cols-2 md:grid-cols-2 lg:grid-cols-4 gap-4 py-2 px-4">
@foreach ($categorias->where('nombre', $categorian)->first()->promociones as $promocion)
@if ($promocion->visible == 'true')
<div class="select-none bg-white shadow-md transition hover:scale-[1.05] hover:shadow-xl cursor-pointer rounded-lg text-center relative object-cover ">
<a href="/promo?promo={{$promocion->id}}">
<img src="{{ asset($promocion->img_publicidad) }}" alt="" class="w-full m-auto rounded-lg object-cover h-24 sm:h-44 object-center shadow">
</a>
</div>
@endif
@endforeach
</div>
</div>
@endif
</div>
</div>
{{-- Modal ver promociones --}}
<div x-cloak x-show="verPro" x-transition:enter="transition duration-350"
x-transition:enter-start="opacity-0 scale-100" x-transition:enter-end="opacity-100 scale-100"
x-transition:leave="transition duration-350" x-transition:leave-start="opacity-100 scale-100"
x-transition:leave-end="opacity-0 scale-100"
class="fixed backdrop-blur-sm bg-black/20 left-0 bottom-0 top-0 right-0 h-full z-10">
<div class="overflow-auto h-full ">
<div class="grid sm:grid-cols-2 md:grid-cols-2 lg:grid-cols-3 gap-3 py-2 px-4 ">
@foreach ($categorias as $categoria1)
<div class="cursor-pointer transition hover:scale-[1.05] w-[250px] h-[250px] sm:w-[350px] sm:h-[350px] mx-4 my-2 mx-auto"
x-on:click="categorian='{{ $categoria1->nombre }}',verPro=false">
</div>
@endforeach
<span class="absolute z-40 top-0 right-0 md:right-[48%]">
<button type="button" x-on:click="verPro=false"
class="inline-flex justify-center w-full rounded-l-md md:rounded-md rounded-b-md border border-transparent px-4 py-2 text-white bg-[#ff5050] hover:bg-[#fd3737] ease-in-out sm-text-sm sm-leading-5">Cerrar</button>
</span>
<img src="{{ asset($categoria1->imagen) }}"
class="w-full m-auto rounded-lg object-cover h-full object-center shadow"
alt="">
</div>
@endforeach
<span class="absolute z-40 top-0 right-0 md:right-[48%]">
<button type="button" x-on:click="verPro=false"
class="inline-flex justify-center w-full rounded-l-md md:rounded-md rounded-b-md border border-transparent px-4 py-2 text-white bg-[#ff5050] hover:bg-[#fd3737] ease-in-out sm-text-sm sm-leading-5">Cerrar</button>
</span>
</div>
</div>
</div>
<script>
const prev = document.querySelector('.prev')
const next = document.querySelector('.next')
const slider = document.querySelector('.slider')
prev.addEventListener('click', () => {
slider.scrollLeft -= 600
})
next.addEventListener('click', () => {
slider.scrollLeft += 600
})
</script>
</div>
<script>
const prev = document.querySelector('.prev')
const next = document.querySelector('.next')
const slider = document.querySelector('.slider')
prev.addEventListener('click', () => {
slider.scrollLeft -= 600
})
next.addEventListener('click', () => {
slider.scrollLeft += 600
})
</script>
</div>
@@ -161,8 +161,9 @@
$n++;
$historiales=false;
if(now()->gt($cuenta->vencimiento)){
$historiales = $cuenta->historiales()->where('fecha_final', '>=', now()->toDateString())->count();
if(now()->addDay()->gt($cuenta->vencimiento)){
$historiales = $cuenta->historiales()->where('fecha_final', '>', now()->addDay()->toDateString())->count();
//var_dump(now()->toDateString(), $historiales);
}
@endphp
@@ -276,7 +276,7 @@
</div>
</div>
<div class="text-sm text-green-600 italic text-center mb-2">
{{ $disponibles < 0 ? 0 : (int) $disponibles }}
{{ $disponibles == 1 ? 'plan disponible' : 'planes disponibles' }} para esta cantidad </div>
<div class="mb-4">
@@ -391,7 +391,7 @@
@php
$n = 0;
@endphp
{{ dd($cuentas->cuentas) }}
@foreach ($cuentas->cuentas->unique() as $cuenta)
@php
$n++;
@@ -403,8 +403,8 @@
- URL: <span
class="font-semibold text-gray-600">{{ $cuenta->servicio->url }}</span>
@else
@foreach ($cuenta->perfil as $perfil)
@if (!empty($cuenta->servicio->ver_perfiles))
@if (!empty($cuenta->servicio->ver_perfiles))
@foreach ($cuenta->perfil as $perfil)
@if ($cuentas->id == $perfil->historial_id && $cuenta->estado == 'activo')
- Perfil <span
class="font-semibold text-gray-600">{{ $perfil->perfil }}</span>
@@ -445,8 +445,8 @@
@endswitch
@endif
@endif
@endif
@endforeach
@endforeach
@endif
@endif
</h1>
<h1 class="mt-4">
@@ -525,8 +525,8 @@
@if (!empty($cuenta->servicio->ver_url))
*URL:* {{ $cuenta->servicio->url }}
@else
@foreach ($cuenta->perfil as $perfil)
@if (!empty($cuenta->servicio->ver_perfiles))
@foreach ($cuenta->perfil as $perfil)
@if ($cuentas->id == $perfil->historial_id && $cuenta->estado == 'activo')
*Perfil {{ $perfil->perfil }}* @if (!empty($cuenta->servicio->perfiles))
@switch($perfil->perfil)
@@ -558,9 +558,9 @@
@endswitch
@endif
@endif
@endif
@endforeach
@endif
@endif
*Usuario:* {{ trim($cuenta->correo) }}
*Contraseña:* {{ trim($cuenta->password) }}
File diff suppressed because it is too large Load Diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB