Zona admin

This commit is contained in:
2020-05-26 23:04:49 -04:00
parent d0aba43371
commit 31f308f5c7
26 changed files with 1291 additions and 1 deletions

View File

@ -0,0 +1,97 @@
@extends('admin.layout.base')
@section('page_content')
<div class="ui grid">
<div class="nine wide column">
<div class="ui header">
FAQ's
</div>
<table class="ui table">
<thead>
<tr>
<th>Pregunta</th>
<th class="center aligned">Borrar</th>
</tr>
</thead>
<tbody>
@foreach($faqs as $i => $faq)
<tr>
<td class="titulo" data-id="{{$i}}">{{$faq->titulo}}</td>
<td class="center aligned"><i class="trash alternate outline icon" data-id="{{$i}}"></i>
</tr>
@endforeach
</tbody>
</table>
<form class="ui form">
<input type="hidden" name="id" />
<div class="field">
<label>Pregunta</label>
<input type="text" name="titulo" />
</div>
<div class="field">
<label>Respuesta</label>
<textarea rows="1" name="contenido"></textarea>
</div>
<button class="ui button enviar">AGREGAR</button>
<button class="ui button resetear" type="reset">BORRAR</button>
</form>
</div>
</div>
@endsection
@push('scripts')
<script type="text/javascript">
var edit = false
var faqs = [
@foreach ($faqs as $faq)
{
titulo: '{{$faq->titulo}}',
contenido: '{{$faq->contenido}}'
},
@endforeach
]
$(document).ready(() => {
$('.titulo').css('cursor', 'pointer').click(function() {
var id = $(this).attr('data-id')
$("input[name='id']").val(id)
$("input[name='titulo']").val(faqs[id].titulo)
$("textarea[name='contenido']").val(faqs[id].contenido)
$('.button.enviar').html('EDITAR')
edit = true
})
$('.trash.icon').css('cursor', 'pointer').click(function() {
var id = $(this).attr('data-id')
var url = '{{$urls->admin}}/faqs/delete'
$.post(url, {id: id}, (data) => {
if (data.estado) {
window.location.reload()
}
})
})
$('.button.resetear').click(() => {
$("input[name='id']").val('')
$('.button.enviar').html('AGREGAR')
edit = false
})
$('.form').trigger('reset')
$('.form').submit((e) => {
e.preventDefault()
var input = {
titulo: $("input[name='titulo']").val(),
contenido: $("textarea[name='contenido']").val()
}
if (edit) {
input['id'] = $("input[name='id']").val()
}
var url = '{{$urls->admin}}/faqs/add'
$.post(url, input, (data) => {
if (data.estado) {
window.location.reload()
}
})
return false
})
})
</script>
@endpush

View File

@ -0,0 +1,173 @@
@extends('admin.layout.base')
@section('page_content')
<div class="ui grid">
<div class="row">
<div class="nine wide column">
<div class="ui header">
AVISOS
</div>
<table class="ui table">
<thead>
<tr>
<th colspan="2">Pregunta</th>
<th class="center aligned">Borrar</th>
</tr>
</thead>
<tbody>
@foreach ($avisos->avisos as $i => $aviso)
<tr>
<td class="link titulo" data-id="{{$i}}">{{$aviso->titulo}}</td>
<td class="link contenido" data-id="{{$i}}">{{$aviso->contenido}}</td>
<td class="center aligned"><i class="trash alternate outline icon" data-id="{{$i}}"></i></td>
</tr>
@endforeach
</tbody>
<tfooter>
<tr>
<td colspan="3">
<form class="ui form" id="avisos">
<input type="hidden" name="id" />
<div class="inline fields">
<div class="field">
<input type="text" name="titulo" placeholder="Título" />
</div>
<div class="field">
<input type="text" name="contenido" placeholder="Bajada" />
</div>
<button class="ui button accion">CREAR</button>
<button class="ui button" type="reset">BORRAR</button>
</div>
</form>
</td>
</tr>
</tfooter>
</table>
<div class="ui slider checkbox">
<input type="checkbox" tabindex="0" class="hidden" value="{{$avisos->activo}}">
<label>Activo</label>
</div>
</div>
</div>
<div class="row">
<div class="nine wide column">
<div class="ui header">
INDICADORES
</div>
<form class="ui form" id="resumen">
<table class="ui table">
<thead>
<tr>
<th>Enunciado</th>
<th>Cantidad</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach ($resumen as $i => $indicador)
<tr>
<td><input type="text" name="titulo{{$i}}" value="{{$indicador->titulo}}" /></td>
<td><input type="text" name="cantidad{{$i}}" value="{{$indicador->cantidad}}" /></td>
<td><button class="ui button guardar" data-id="{{$i}}">GUARDAR</button></td>
</tr>
@endforeach
</tbody>
</table>
</form>
</div>
</div>
</div>
@endsection
@push('scripts')
<script type="text/javascript">
var edit = false
function editAviso(id) {
var titulo = $(".link.titulo[data-id='" + id + "']").html()
var contenido = $(".link.contenido[data-id='" + id + "']").html()
$("input[name='id']").val(id)
$("input[name='titulo']").val(titulo)
$("input[name='contenido']").val(contenido)
edit = true
$('.accion').html('EDITAR')
}
function submitAviso(e) {
e.preventDefault()
input = {
titulo: $("input[name='titulo']").val(),
contenido: $("input[name='contenido']").val()
}
if (edit) {
input['id'] = $("input[name='id']").val()
}
if (input['titulo'] == '') {
return false
}
var url = '{{$urls->admin}}/home/avisos/add'
$.post(url, input, (data) => {
if (data.estado) {
window.location.reload()
}
}, 'json')
return false
}
function deleteAviso(id) {
var url = '{{$urls->admin}}/home/avisos/delete'
$.post(url, {id: id}, (data) => {
if (data.estado) {
window.location.reload()
}
}, 'json')
}
$(document).ready(() => {
$('.link').css('cursor', 'pointer').click(function() {
var id = $(this).attr('data-id')
editAviso(id)
})
$('#avisos').trigger('reset')
$('#avisos').submit((e) => {
submitAviso(e)
})
$(".button[type='reset']").click((e) => {
$("input[name='id']").val('')
$('.accion').html('CREAR')
edit = false
})
$('.trash.icon').css('cursor', 'pointer').click(function() {
var id = $(this).attr('data-id')
deleteAviso(id)
})
$('.checkbox').checkbox({
onChange: function() {
var state = $(this).is(':checked')
var url = '{{$urls->admin}}/home/avisos/add'
$.post(url, {estado: state}, (data) => {
console.debug(data)
})
}
})
@if ($avisos->activo)
$('.checkbox').checkbox('set checked')
@endif
$('#resumen').submit((e) => {
e.preventDefault()
return false
})
$('.guardar').click(function() {
var id = $(this).attr('data-id')
var url = '{{$urls->admin}}/home/resumen/edit'
input = {
id: id,
titulo: $("input[name='titulo" + id + "']").val(),
cantidad: $("input[name='cantidad" + id + "']").val()
}
$.post(url, input, (data) => {
if (data.estado) {
window.location.reload()
}
})
})
})
</script>
@endpush

View File

@ -0,0 +1,5 @@
<!DOCTYPE html>
<html lang="{{$page_language}}">
@include('admin.layout.head')
@include('admin.layout.body')
</html>

View File

@ -0,0 +1,10 @@
<body>
@include('admin.layout.header')
<div id="admin">
<div class="ui container">
@yield('page_content')
</div>
</div>
@include('admin.layout.footer')
@include('layout.scripts')
</body>

View File

@ -0,0 +1,10 @@
<footer>
<div class="ui container">
<div class="ui tiny text menu">
<div class="item">
Copyright
Todos los derechos reservados 2020 ProVM<i class="copyright outline icon"></i>
</div>
</div>
</div>
</footer>

View File

@ -0,0 +1,7 @@
<head>
<meta charset="utf-8" />
<title>
Capital Investments
</title>
@include('admin.layout.styles')
</head>

View File

@ -0,0 +1,7 @@
<header>
@include('admin.layout.header.menu')
</header>
@push('styles')
<link rel="stylesheet" type="text/css" href="{{$urls->styles}}/admin.css" />
@endpush

View File

@ -0,0 +1,26 @@
<div class="ui container">
<nav class="ui massive text menu">
<a class="item logo" href="{{$urls->admin}}">
<div class="ui title image">
<img src="{{$urls->images}}/logo.png" alt="Capital Investments" title="Capital Investments" />
</div>
</a>
<div class="right menu">
<a class="item" href="{{$urls->admin}}/home">
HOME
</a>
<a class="item" href="{{$urls->admin}}/nosotros">
NOSOTROS
</a>
<a class="item" href="{{$urls->admin}}/productos">
PRODUCTOS
</a>
<a class="item" href="{{$urls->admin}}/faqs">
FAQs
</a>
<a class="item" href="{{$urls->base}}">
Salir
</a>
</div>
</nav>
</div>

View File

@ -0,0 +1,14 @@
@if (isset($assets->styles))
@foreach ($assets->styles as $style)
<link rel="stylesheet" type="text/css" href="{{$style}}" />
@endforeach
@endif
<link rel="stylesheet" type="text/css" href="{{$urls->styles}}/admin.css" />
@if (isset($assets->fonts))
@foreach ($assets->fonts as $type => $fonts)
@foreach ($fonts as $font)
<link type="{{$type}}" href="{{$font}}" />
@endforeach
@endforeach
@endif
@stack('styles')

View File

@ -0,0 +1,18 @@
@extends('admin.layout.base')
@section('page_content')
<div class="ui grid">
<div class="ten wide column">
<div class="ui header">
NOSOTROS
</div>
<form class="ui form" method="post" action="{{$urls->admin}}/nosotros">
<div class="field">
<label>Descripci&oacute;n</label>
<textarea name="nosotros">{{$nosotros}}</textarea>
</div>
<button class="ui button">GUARDAR</button>
</form>
</div>
</div>
@endsection

View File

@ -0,0 +1,250 @@
@extends('admin.layout.base')
@section('page_content')
<div class="ui header">
PRODUCTO
</div>
<form class="ui form" method="post" action="{{$urls->admin}}/producto/{{$producto->id}}" enctype="multipart/form-data">
<div class="ui three columns grid">
<div class="column">
<div class="field">
<label>Nombre</label>
<input type="text" name="nombre" value="{{$producto->nombre ?? ''}}" />
</div>
</div>
<div class="column">
<div class="fields">
<div class="field">
<label>Direcci&oacute;n</label>
<input type="text" name="direccion" value="{{$producto->direccion ?? ''}}" />
</div>
<div class="field">
<label>Comuna</label>
<input type="text" name="comuna" value="{{$producto->comuna ?? ''}}" />
</div>
</div>
</div>
<div class="column">
<div class="field">
<label>Segmento</label>
<div class="ui selection dropdown">
<input type="hidden" name="segmento" />
<i class="dropdown icon"></i>
<div class="default text">Segmento</div>
<div class="menu">
@foreach ($segmentos as $segmento)
<div class="item" data-value="{{$segmento->titulo}}">{{$segmento->titulo}}</div>
@endforeach
</div>
</div>
</div>
</div>
<div class="column">
<div class="field">
<label>Valor en UF</label>
<input type="text" name="valor" value="{{str_replace('.', '', $producto->valor ?? '')}}" />
</div>
</div>
<div class="column">
<div class="field">
<label>Bono Pie en UF</label>
<input type="text" name="bono" value="{{$producto->bono ?? ''}}" />
</div>
</div>
<div class="column">
<div class="field">
<label>Rentabilidad %</label>
<input type="text" name="rentabilidad" value="{{$producto->rentabilidad ?? ''}}" />
</div>
</div>
<div class="column">
<div class="field">
<label>Valor Cuota en UF</label>
<input type="text" name="cuota" value="{{$producto->cuota ?? ''}}" />
</div>
</div>
<div class="column">
<div class="field">
<label>Entrega Estimada</label>
<div class="ui calendar">
<input type="text" name="entrega" placeholder="Entrega" />
</div>
</div>
</div>
<div class="column">
<div class="field">
<label>Destacado</label>
<div class="ui toggle checkbox">
<input type="checkbox" name="destacado" />
</div>
</div>
</div>
<div class="column">
<div class="field">
<label>Estado</label>
<input type="text" name="estado" value="{{$producto->estado ?? ''}}" />
</div>
</div>
<div class="column">
<div class="field">
<label>Unidades</label>
<input type="text" name="unidades" value="{{$producto->unidades ?? ''}}" />
</div>
</div>
<div class="column">
<div class="field">
<label>Modelos</label>
<input type="text" name="modelos" value="{{$producto->modelos ?? ''}}" />
</div>
</div>
<div class="column">
<div class="fields">
<div class="field">
<label>Tamaño M&iacute;nimo</label>
<input type="text" name="tamaño" value="{{(isset($producto->tamaño)) ? explode(' - ', rtrim($producto->tamaño, ' m²'))[0] : ''}}" />
</div>
<div class="field">
<label>Tamaño M&aacute;ximo</label>
<input type="text" name="tamaño_max" value="{{(isset($producto->tamaño)) ? explode(' - ', rtrim($producto->tamaño, ' m²'))[1] : ''}}" />
</div>
</div>
</div>
<div class="ten wide column">
<div class="field">
<label>Descripci&oacute;n</label>
<textarea rows="1" name="descripcion">{{$producto->descripcion ?? ''}}</textarea>
</div>
</div>
<div class="column">
<div class="field">
<label>Im&aacute;genes</label>
<input type="file" name="imagen" />
</div>
<div id="imagenes" class="ui list"></div>
</div>
<div class="column">
<div class="field">
<label>Video</label>
<input type="file" name="video" />
</div>
<div class="ui list">
@if (isset($producto->video))
<div class="item">
<i class="trash alternate outline icon video"></i>
<div class="content">
{{$producto->video}}
</div>
</div>
@endif
</div>
</div>
</div>
<br />
<button class="ui button">GUARDAR</button>
</form>
@endsection
@push('scripts')
<script type="text/javascript">
var months = {
long: [],
short: []
}
var date = new Date(2018, 0, 1)
for (i = 0; i < 12; i ++) {
date.setMonth(i)
months.long.push(date.toLocaleString('es-ES', {month: "long"}).replace(
/\w\S*/g,
function(txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
}
))
months.short.push(date.toLocaleString('es-ES', {month: "short"}).replace(
/\w\S*/g,
function(txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
}
))
}
function listImage(image) {
var icon = $('<i></i>').attr('class', 'trash alternate outline icon')
icon.css('cursor', 'pointer').click(function() {
var url = '{{$urls->admin}}/producto/{{$producto->id}}/imagen/delete'
$.post(url, {imagen: image}, (data) => {
if (data.estado) {
window.location.reload()
}
})
})
$('#imagenes').append(
$('<div></div>').attr('class', 'item').append(
icon
).append(
$('<div></div>').attr('class', 'content').html(image)
)
)
}
$(document).ready(() => {
$('.selection.dropdown').dropdown()
$('.selection.dropdown').dropdown('set selected', '{{$producto->segmento}}')
$('.calendar').calendar({
type: 'month',
text: {
months: months.long,
monthsShort: months.short
}
})
var entrega = new Date('20{{implode('-', array_reverse(explode('/', $producto->entrega)))}}-01T01:00')
$('.calendar').calendar('set date', entrega)
$('.checkbox').checkbox()
@if ($producto->destacado)
$('.checkbox').checkbox('set checked')
@endif
$("input[name='imagen']").change(function() {
var data = new FormData()
data.append('imagen', $(this)[0].files[0])
var url = '{{$urls->admin}}/producto/{{$producto->id}}/imagenes/add'
$.ajax({
url: url,
method: 'post',
data: data,
contentType: false,
processData: false,
success: (data) => {
if (data.estado) {
window.location.reload()
}
}
})
})
@foreach ($producto->images as $image)
listImage('{{$image}}')
@endforeach
$("input[name='video']").change(function() {
var fData = new FormData()
fData.append('video', $("input[name='video']")[0].files[0])
var url = '{{$urls->admin}}/producto/{{$producto->id}}/video/set'
$.ajax({
url: url,
method: 'post',
data: fData,
contentType: false,
processData: false,
success: (data) => {
if (data.estado) {
window.location.reload()
}
}
})
})
$('.trash.video').attr('cursor', 'pointer').click(() => {
var url = '{{$urls->admin}}/producto/{{$producto->id}}/video/delete'
$.post(url, {}, (data) => {
if (data.estado) {
window.location.reload()
}
})
})
})
</script>
@endpush

View File

@ -0,0 +1,60 @@
@extends('admin.layout.base')
@section('page_content')
<div class="ui grid">
<div class="nine wide column">
<div class="ui header">
PRODUCTOS
</div>
<table class="ui table">
<thead>
<tr>
<th class="right aligned" colspan="3">
<a href="{{$urls->admin}}/productos/add">
<button class="ui button">NUEVO</button>
</a>
</th>
</tr>
<tr>
<th>Producto</th>
<th class="center aligned">Editar</th>
<th class="center aligned">Borrar</th>
</tr>
</thead>
<tbody>
@foreach ($productos as $i => $producto)
<tr>
<td>
<a href="{{$urls->admin}}/producto/{{$i}}">
{{$producto->nombre}}
</a>
</td>
<td class="center aligned">
<a href="{{$urls->admin}}/producto/{{$i}}">
<i class="edit icon"></i>
</a>
</td>
<td class="center aligned"><i class="trash alternate outline icon" data-id="{{$i}}"></i></td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@endsection
@push('scripts')
<script type="text/javascript">
$(document).ready(() => {
$('.trash.icon').css('cursor', 'pointer').click(function() {
var id = $(this).attr('data-id')
var url = '{{$urls->admin}}/productos/delete'
$.post(url, {id: id}, (data) => {
if (data.estado) {
window.location.reload()
}
})
})
})
</script>
@endpush

View File

@ -0,0 +1,158 @@
@extends('admin.layout.base')
@section('page_content')
<div class="ui header">
AGREGAR PRODUCTO
</div>
<form class="ui form" method="post" action="{{$urls->admin}}/productos/add" enctype="multipart/form-data">
<div class="ui three columns grid">
<div class="column">
<div class="field">
<label>Nombre</label>
<input type="text" name="nombre" />
</div>
</div>
<div class="column">
<div class="fields">
<div class="field">
<label>Direcci&oacute;n</label>
<input type="text" name="direccion" />
</div>
<div class="field">
<label>Comuna</label>
<input type="text" name="comuna" />
</div>
</div>
</div>
<div class="column">
<div class="field">
<label>Segmento</label>
<div class="ui selection dropdown">
<input type="hidden" name="segmento" />
<i class="dropdown icon"></i>
<div class="default text">Segmento</div>
<div class="menu">
@foreach ($segmentos as $segmento)
<div class="item" data-value="{{$segmento->titulo}}">{{$segmento->titulo}}</div>
@endforeach
</div>
</div>
</div>
</div>
<div class="column">
<div class="field">
<label>Valor en UF</label>
<input type="text" name="valor" />
</div>
</div>
<div class="column">
<div class="field">
<label>Bono Pie en UF</label>
<input type="text" name="bono" />
</div>
</div>
<div class="column">
<div class="field">
<label>Rentabilidad %</label>
<input type="text" name="rentabilidad" />
</div>
</div>
<div class="column">
<div class="field">
<label>Valor Cuota en UF</label>
<input type="text" name="cuota" />
</div>
</div>
<div class="column">
<div class="field">
<label>Entrega Estimada</label>
<div class="ui calendar">
<input type="text" name="entrega" placeholder="Entrega" />
</div>
</div>
</div>
<div class="column">
<div class="field">
<label>Destacado</label>
<div class="ui toggle checkbox">
<input type="checkbox" name="destacado" />
</div>
</div>
</div>
<div class="column">
<div class="field">
<label>Estado</label>
<input type="text" name="estado" />
</div>
</div>
<div class="column">
<div class="field">
<label>Unidades</label>
<input type="text" name="unidades" />
</div>
</div>
<div class="column">
<div class="field">
<label>Modelos</label>
<input type="text" name="modelos" />
</div>
</div>
<div class="column">
<div class="fields">
<div class="field">
<label>Tamaño M&iacute;nimo</label>
<input type="text" name="tamaño" />
</div>
<div class="field">
<label>Tamaño M&aacute;ximo</label>
<input type="text" name="tamaño_max" />
</div>
</div>
</div>
<div class="ten wide column">
<div class="field">
<label>Descripci&oacute;n</label>
<textarea rows="1" name="descripcion"></textarea>
</div>
</div>
</div>
<br />
<button class="ui button">AGREGAR</button>
</form>
@endsection
@push('scripts')
<script type="text/javascript">
var months = {
long: [],
short: []
}
var date = new Date(2018, 0, 1)
for (i = 0; i < 12; i ++) {
date.setMonth(i)
months.long.push(date.toLocaleString('es-ES', {month: "long"}).replace(
/\w\S*/g,
function(txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
}
))
months.short.push(date.toLocaleString('es-ES', {month: "short"}).replace(
/\w\S*/g,
function(txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
}
))
}
$(document).ready(() => {
$('.selection.dropdown').dropdown()
$('.calendar').calendar({
type: 'month',
text: {
months: months.long,
monthsShort: months.short
}
})
$('.checkbox').checkbox()
})
</script>
@endpush