1 Commits

Author SHA1 Message Date
eithan fa96ab86b1 view busqueda 2020-08-14 20:44:40 -05:00
44 changed files with 382 additions and 5315 deletions
+1
View File
@@ -1,5 +1,6 @@
.DS_Store
node_modules
/dist
# local env files
.env.local
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 278 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 278 KiB

-1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

-1
View File
@@ -1 +0,0 @@
<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" type=image/png href=assets/icono.png><title>Portal Editorial Acatlán</title><link href=css/app.f3c1ecc3.css rel=preload as=style><link href=css/chunk-vendors.138628b4.css rel=preload as=style><link href=js/app.c4a9c942.js rel=preload as=script><link href=js/chunk-vendors.8f463115.js rel=preload as=script><link href=css/chunk-vendors.138628b4.css rel=stylesheet><link href=css/app.f3c1ecc3.css rel=stylesheet></head><body><noscript><strong>We're sorry but portal doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=js/chunk-vendors.8f463115.js></script><script src=js/app.c4a9c942.js></script></body></html>
-2
View File
File diff suppressed because one or more lines are too long
-1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-31
View File
@@ -2231,37 +2231,6 @@
"integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==",
"dev": true
},
"axios": {
"version": "0.19.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz",
"integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==",
"requires": {
"follow-redirects": "1.5.10"
},
"dependencies": {
"debug": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"requires": {
"ms": "2.0.0"
}
},
"follow-redirects": {
"version": "1.5.10",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
"integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
"requires": {
"debug": "=3.1.0"
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
}
}
},
"babel-eslint": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz",
-1
View File
@@ -8,7 +8,6 @@
"lint": "vue-cli-service lint"
},
"dependencies": {
"axios": "^0.19.2",
"bootstrap": "^4.5.2",
"core-js": "^3.6.5",
"jquery": "^3.5.1",
Binary file not shown.

Before

Width:  |  Height:  |  Size: 278 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 278 KiB

+2 -2
View File
@@ -4,8 +4,8 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="shortcut icon" type="image/png" href="assets/icono.png">
<title>Portal Editorial Acatlán</title>
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= htmlWebpackPlugin.options.title %></title>
</head>
<body>
<noscript>
-4
View File
@@ -26,8 +26,4 @@ export default {
.row {
margin: 0 !important;
}
.card-img-top {
height: 18rem;
}
</style>
Binary file not shown.
Binary file not shown.
+34 -32
View File
@@ -1,19 +1,33 @@
<template>
<div class="divMaster row ">
<div class="divMaster row my-5">
<div
id="carouselExampleControls"
class="carousel slide col-md-10 col-lg-10 col-xl-10 my-5 col-12 mx-auto"
class="carousel slide col-md-10 col-lg-10 col-xl-10 col-12 mx-auto"
data-ride="carousel"
>
<div class="carousel-inner">
<div
class="carousel-item"
class="carousel-item "
v-bind:key="libro.id"
v-for="(libro, idx) in Libros"
:class="{ active: idx == 0 }"
>
<img :src="libro.img" class="d-block w-100 img-fluid" alt="img" />
</div>
<!-- <div class="carousel-item">
<img
src="https://www.unam.mx/sites/default/files/images/carrusel/bannermxok.jpg"
class="d-block w-100 img-fluid"
alt="img"
/>
</div>
<div class="carousel-item">
<img
src="https://www.unam.mx/sites/default/files/images/carrusel/bannermxok.jpg"
class="d-block w-100 img-fluid"
alt="img"
/>
</div> -->
</div>
<a
class="carousel-control-prev"
@@ -38,39 +52,27 @@
</template>
<script>
import axios from "axios";
import config from "../config/config.js";
export default {
data() {
return {
Libros: []
Libros: [
{
id: 0,
img:
"https://www.unam.mx/sites/default/files/images/carrusel/bannermxok.jpg"
},
{
id: 1,
img:
"https://www.unam.mx/sites/default/files/images/carrusel/bannermxok.jpg"
},
{
id: 2,
img:
"https://www.unam.mx/sites/default/files/images/carrusel/bannermxok.jpg"
}
]
};
},
async created() {
try {
let path = `${config.api}/imagenCarrusel?nombre=`;
let nombres = await axios.get(`${config.api}/nombreCarrusel`);
nombres = nombres.data.data;
for (let i = 0; i < nombres.length; i++) {
console.log(path);
let config = {
// example url
url: `${path}${nombres[i]}`,
method: "GET",
responseType: "blob"
};
await axios(config).then(response => {
let reader = new FileReader();
reader.readAsDataURL(response.data);
reader.onload = () => {
this.Libros.push({ id: i, img: reader.result });
};
});
}
} catch (error) {
console.log(`Ocurrio un error msj: ${error}`);
}
}
};
</script>
+86 -47
View File
@@ -6,7 +6,6 @@
style="width: 12rem;"
v-bind:key="libro.id"
v-for="libro in Libros"
@click="descripcion(libro.id)"
>
<router-link :to="{ path: 'home' }" class="textt">
<img :src="libro.img" class="card-img-top rounded" alt="libro" />
@@ -22,56 +21,96 @@
</template>
<script>
import axios from "axios";
import config from "../config/config.js";
export default {
data() {
return {
Libros: []
};
},
methods: {
async descripcion(idLibro) {
console.log(` Este es el id del libro ${idLibro}`);
localStorage.clear();
window.localStorage.setItem("idLibro", idLibro);
this.$router.push("/desc");
}
},
async created() {
try {
let novedades = await axios.get(`${config.api}/librosNovedades`);
let path = `${config.api}/libroImagen?idLibro=`;
novedades = novedades.data.data;
console.log(`${novedades}`);
for (let i = 0; i < novedades.length; i++) {
//alert(novedades[i].titulo);
//this.Libros[i].title = novedades[i].titulo;
let config = {
// example url
url: `${path}${novedades[i].idLibro}`,
method: "GET",
responseType: "blob"
};
try {
await axios(config).then(response => {
let reader = new FileReader();
reader.readAsDataURL(response.data);
reader.onload = () => {
this.Libros.push({
id: novedades[i].idLibro,
title: novedades[i].titulo,
img: reader.result
});
};
});
} catch (error) {
console.log(`No existe esa imagen`);
Libros: [
{
id: 0,
title:
"Some quick example text to build on the card title and make up the bulk of the cards content.",
img:
"https://edit.org/img/blog/xwdn-editar-portadas-de-libros-gratis.jpg.pagespeed.ic.PmNhyGc59r.jpg"
},
{
id: 1,
title:
"Some quick example text to build on the card title and make up the bulk of the cards content.",
img:
"https://edit.org/img/blog/xwdn-editar-portadas-de-libros-gratis.jpg.pagespeed.ic.PmNhyGc59r.jpg"
},
{
id: 1,
title:
"Some quick example text to build on the card title and make up the bulk of the cards content.",
img:
"https://edit.org/img/blog/xwdn-editar-portadas-de-libros-gratis.jpg.pagespeed.ic.PmNhyGc59r.jpg"
},
{
id: 1,
title:
"Some quick example text to build on the card title and make up the bulk of the cards content.",
img:
"https://edit.org/img/blog/xwdn-editar-portadas-de-libros-gratis.jpg.pagespeed.ic.PmNhyGc59r.jpg"
},
{
id: 1,
title:
"Some quick example text to build on the card title and make up the bulk of the cards content.",
img:
"https://edit.org/img/blog/xwdn-editar-portadas-de-libros-gratis.jpg.pagespeed.ic.PmNhyGc59r.jpg"
},
{
id: 0,
title:
"Some quick example text to build on the card title and make up the bulk of the cards content.",
img:
"https://edit.org/img/blog/xwdn-editar-portadas-de-libros-gratis.jpg.pagespeed.ic.PmNhyGc59r.jpg"
},
{
id: 1,
title:
"Some quick example text to build on the card title and make up the bulk of the cards content.",
img:
"https://edit.org/img/blog/xwdn-editar-portadas-de-libros-gratis.jpg.pagespeed.ic.PmNhyGc59r.jpg"
},
{
id: 1,
title:
"Some quick example text to build on the card title and make up the bulk of the cards content.",
img:
"https://edit.org/img/blog/xwdn-editar-portadas-de-libros-gratis.jpg.pagespeed.ic.PmNhyGc59r.jpg"
},
{
id: 1,
title:
"Some quick example text to build on the card title and make up the bulk of the cards content.",
img:
"https://edit.org/img/blog/xwdn-editar-portadas-de-libros-gratis.jpg.pagespeed.ic.PmNhyGc59r.jpg"
},
{
id: 1,
title:
"Some quick example text to build on the card title and make up the bulk of the cards content.",
img:
"https://edit.org/img/blog/xwdn-editar-portadas-de-libros-gratis.jpg.pagespeed.ic.PmNhyGc59r.jpg"
},
{
id: 1,
title:
"Some quick example text to build on the card title and make up the bulk of the cards content.",
img:
"https://edit.org/img/blog/xwdn-editar-portadas-de-libros-gratis.jpg.pagespeed.ic.PmNhyGc59r.jpg"
},
{
id: 1,
title:
"Some quick example text to build on the card title and make up the bulk of the cards content.",
img:
"https://edit.org/img/blog/xwdn-editar-portadas-de-libros-gratis.jpg.pagespeed.ic.PmNhyGc59r.jpg"
}
}
} catch (error) {
console.log(`Ocurrio un error ${error}`);
}
]
};
}
};
</script>
+46 -132
View File
@@ -2,13 +2,10 @@
<div class="container">
<div class="row ">
<div class="col-md-6 col-sm-12 py-5">
<img :src="src" alt="" class="libro" />
<button class="button pre" @click="showModal">
Previsualizar
</button>
<modal v-show="isModalVisible" @close="closeModal" :pdfPre="PDF" />
<br /><br />
<img v-bind:src="rutaIm" class="libro" />
<button class="button pre">
Previsualizar</button
><br /><br />
<div class="container">
<div class="row izq">
<b style="font-size: 18px;" class="izq">Compartir</b><br />
@@ -52,33 +49,28 @@
<p>{{ version }}</p>
<b>Descripción:</b>
<div class="overflow-auto">{{ desc }}</div>
<a
href="https://demo-tienda.acatlan.unam.mx/"
class="button text-white d-flex justify-content-center align-items-center"
>
<p class="text-center">Comprar</p>
</a>
<button class="button ">
{{ boton2 }}
</button>
</div>
</div>
<Title title="Similares" />
<div class="divMaster row ">
<div class="col-10 offset-1 d-flex flex-wrap justify-content-center mb-5">
<div class="divMaster row mb-5">
<div class="col-10 offset-1 d-flex flex-wrap justify-content-center">
<div
class="card m-3"
style="width: 12rem;"
v-bind:key="libro.id"
v-for="libro in Libros"
@click="descripcion(libro.id)"
>
<div class="textt">
<router-link :to="{ path: 'home' }" class="textt">
<img :src="libro.img" class="card-img-top rounded" alt="libro" />
<div class="card-body cd textt">
<p class="card-text textt">
{{ libro.title }}
</p>
</div>
</div>
</router-link>
</div>
</div>
</div>
@@ -86,127 +78,49 @@
</template>
<script>
import axios from "axios";
import config from "../config/config.js";
import Title from "../components/titulo.vue";
import modal from "../components/previsual.vue";
export default {
components: {
Title,
modal
Title
},
data() {
return {
idLibro: "",
titulo: "",
autor: "",
paginas: "",
isbn: "",
edicion: "",
precio: "",
src: "",
version: "",
desc: ``,
boton2: "",
categoria: "",
Libros: [],
isModalVisible: false,
//PDF: "http://www.ataun.eus/bibliotecagratuita/Cl%C3%A1sicos%20en%20Espa%C3%B1ol/Nicol%C3%A1s%20Maquiavelo/El%20pr%C3%ADncipe.pdf#toolbar=0&navpanes=0&scrollbar=0&zoom=80"
PDF: "RUTA.pdf" //nombre del archivo de previsualizacion del libro
// "https://www.imprentanacional.go.cr/editorialdigital/libros/literatura%20infantil/el_principito_edincr.pdf"
};
},
methods: {
async descripcion(idLibro) {
localStorage.clear();
window.localStorage.setItem("idLibro", idLibro);
location.reload();
},
showModal() {
this.isModalVisible = true;
},
closeModal() {
this.isModalVisible = false;
}
},
async created() {
let path = `${config.api}`;
try {
this.idLibro = window.localStorage.getItem("idLibro");
let detalle = await axios.get(
`${config.api}/libroDetalle?idLibro=${this.idLibro}`
);
detalle = await detalle.data.datos;
this.titulo = detalle.titulo;
this.autor = detalle.autor;
this.paginas = detalle.paginas;
this.isbn = detalle.isbn;
this.edicion = detalle.impresion;
this.precio = detalle.precio;
this.version = detalle.version;
this.desc = detalle.descripcion;
this.categoria = detalle.categoria;
if (detalle.precio !== "Gratis") this.boton2 = "Comprar";
else this.boton2 = "Descargar";
} catch (error) {
console.log(error);
}
try {
let config = {
// example url
url: `${path}/libroImagen?idLibro=${this.idLibro}`,
method: "GET",
responseType: "blob"
};
await axios(config).then(response => {
let reader = new FileReader();
reader.readAsDataURL(response.data);
reader.onload = () => {
this.src = reader.result;
};
});
} catch (error) {
console.log(error);
}
try {
let similares = await axios.get(
`${config.api}/librosSimilares?categoria=${this.categoria}`
);
similares = similares.data.data;
console.log(`${similares}`);
for (let i = 0; i < similares.length; i++) {
let config = {
// example url
url: `${path}/libroImagen?idLibro=${similares[i].idLibro}`,
method: "GET",
responseType: "blob"
};
try {
await axios(config).then(response => {
let reader = new FileReader();
reader.readAsDataURL(response.data);
reader.onload = () => {
this.Libros.push({
id: similares[i].idLibro,
title: similares[i].titulo,
img: reader.result
});
//this.Libros[i].img = reader.result;
};
});
} catch (error) {
console.log(`Este libro no se encuentra: ${error}`);
titulo: "Competitive programing",
autor: "HALIM",
paginas: "300",
isbn: "POSF-12-43",
edicion: "Primera edicion",
precio: "$3232.00",
rutaIm:
"https://edit.org/img/blog/xwdn-editar-portadas-de-libros-gratis.jpg.pagespeed.ic.PmNhyGc59r.jpg",
version: "Electronica",
desc: `En relación al estudio del álgebra, las expresiones algebraicas son el conjunto de números, y por símbolos representados por letras que manifiestan un valor desconocido, siendo llamado como incógnita o variable.\n\nLos símbolos se encuentran relacionados a través de signos que indican las operaciones que se necesitan efectuar, bien sea multiplicación, suma, resta, entre otros, con el objetivo de conseguir el resultado de las variables. En este sentido, los términos se distinguen o separan por medio de signos, y en el caso de estar separadas por el signo de igualdad se llama ecuación.`,
boton2: "Comprar",
Libros: [
{
id: 0,
title:
"Some quick example text to build on the card title and make up the bulk of the cards content.",
img:
"https://edit.org/img/blog/xwdn-editar-portadas-de-libros-gratis.jpg.pagespeed.ic.PmNhyGc59r.jpg"
},
{
id: 1,
title:
"Some quick example text to build on the card title and make up the bulk of the cards content.",
img:
"https://edit.org/img/blog/xwdn-editar-portadas-de-libros-gratis.jpg.pagespeed.ic.PmNhyGc59r.jpg"
},
{
id: 1,
title:
"Some quick example text to build on the card title and make up the bulk of the cards content.",
img:
"https://edit.org/img/blog/xwdn-editar-portadas-de-libros-gratis.jpg.pagespeed.ic.PmNhyGc59r.jpg"
}
}
} catch (error) {
console.log(`Ocurrio un error ${error}`);
}
]
};
}
};
</script>
+16 -27
View File
@@ -1,35 +1,24 @@
<template>
<footer class="container-fluid Azul-puma footer py-3 ">
<div class="container">
<container>
<div row>
<router-link to="/comite">
<button type="button" class="col-md-6 col-sm-12 btn boton-footer uno">
Comité Editorial
</button>
</router-link>
<router-link to="/lineamientos">
<button type="button" class="col-md-6 col-sm-12 btn boton-footer dos">
Política Editorial y Lineamentos
</button></router-link
<button type="button" class="col-md-6 col-sm-12 btn boton-footer uno">
Comité Editorial
</button>
<button type="button" class="col-md-6 col-sm-12 btn boton-footer dos">
Política Editorial y Lineamentos
</button>
<button type="button" class="col-md-6 col-sm-12 btn boton-footer tres">
Proceso Editorial y Organismos
</button>
<button
type="button"
class="col-md-6 col-sm-12 btn boton-footer cuatro"
>
<router-link to="/proceso">
<button
type="button"
class="col-md-6 col-sm-12 btn boton-footer tres"
>
Proceso Editorial y Organismos
</button>
</router-link>
<router-link to="/puntos">
<button
type="button"
class="col-md-6 col-sm-12 btn boton-footer cuatro"
>
Puntos de Venta
</button>
</router-link>
Puntos de Venta
</button>
</div>
</div>
</container>
<div row>
<p class="mb-0 ">Hecho en México, todos los derechos reservados 2020.</p>
<p class="my-0 ">
+32 -30
View File
@@ -1,37 +1,39 @@
<template>
<div class="row divMaster header cl-12 azulUnam">
<div
class="logo_unam col-4 offset-1 d-inline-flex my-2 align-items-center"
>
<a href="https://www.unam.mx/" target="_blank">
<img class="sizeImg" src="../assets/Logo-UNAM.png" alt="logo unam" />
</a>
</div>
<container>
<div class="row divMaster header cl-12 azulUnam">
<div
class="logo_unam col-4 offset-1 d-inline-flex my-2 align-items-center"
>
<a href="https://www.unam.mx/" target="_blank">
<img class="sizeImg" src="../assets/Logo-UNAM.png" alt="logo unam" />
</a>
</div>
<div
class="logo_acatlan col-4 offset-2 d-inline-flex justify-content-end my-2 align-items-center"
>
<a href="https://www.acatlan.unam.mx/" target="_blank">
<img
class="sizeImg"
src="../assets/FES-editoriales.png"
alt="logo unam"
/>
</a>
</div>
<div
class="logo_acatlan col-4 offset-2 d-inline-flex justify-content-end my-2 align-items-center"
>
<a href="https://www.acatlan.unam.mx/" target="_blank">
<img
class="sizeImg"
src="../assets/FES-editoriales.png"
alt="logo unam"
/>
</a>
</div>
<div
class="logo_acatlan_resp col-8 offset-2 d-flex justify-content-center my-2 align-items-center"
>
<a href="https://www.acatlan.unam.mx/" target="_blank">
<img
class="sizeImg"
src="../assets/FES-editoriales.png"
alt="logo unam"
/>
</a>
<div
class="logo_acatlan_resp col-8 offset-2 d-flex justify-content-center my-2 align-items-center"
>
<a href="https://www.acatlan.unam.mx/" target="_blank">
<img
class="sizeImg"
src="../assets/FES-editoriales.png"
alt="logo unam"
/>
</a>
</div>
</div>
</div>
</container>
</template>
<style>
-94
View File
@@ -1,94 +0,0 @@
<template>
<transition name="modal">
<div class="modal-backdrop" @click.self="close()">
<div
class="modal"
role="dialog"
aria-labelledby="modalTitle"
aria-describedby="modalDescription"
>
<section class="modal-body rounded" id="modalDescription">
<iframe
:src="PDF"
width="100%"
height="100%"
frameborder="0"
></iframe>
</section>
</div>
</div>
</transition>
</template>
<script>
//import axios from "axios";
import config from "../config/config.js";
export default {
props: ["pdfPre"], //RUTA.pdf
name: "modal",
methods: {
close() {
this.$emit("close");
}
},
data() {
return {
PDF: ""
};
},
async created() {
try {
let path = `${config.api}/PDFget/${this.pdfPre}`;
this.PDF = path;
/*let PDF = await axios.get(`${config.api}/PDFget/${this.pdfPre}`, {
responseType: 'blob', //
})
.then(response => {
this.PDF = PDF
// this.user = response.data;
console.log("si se pudo", response.data)
}).catch(e => {
console.log(e);
})*/
} catch (error) {
console.log(`Ocurrio un error msj: ${error}`);
}
}
};
</script>
<style scoped>
.modal-backdrop {
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-color: rgba(0, 0, 0, 0.3);
display: flex;
justify-content: center;
align-items: center;
}
.modal {
background: #ffffff;
box-shadow: 2px 2px 20px 1px;
/* overflow-x: auto; */
display: flex;
flex-direction: column;
position: relative;
width: 90%;
height: 90%;
}
.modal-body {
/* position: relative; */
padding: 20px 10px;
}
</style>
-99
View File
@@ -1,99 +0,0 @@
<template>
<div class="divMaster row ">
<div class="col-10 offset-1 d-flex flex-wrap justify-content-center mb-5">
<div
class="card m-3"
style="width: 12rem;"
v-bind:key="libro.id"
v-for="libro in Libros"
@click="descripcion(libro.id)"
>
<router-link :to="{ path: 'home' }" class="textt">
<img :src="libro.img" class="card-img-top rounded" alt="libro" />
<div class="card-body cd textt">
<p class="card-text textt">
{{ libro.title }}
</p>
</div>
</router-link>
</div>
</div>
</div>
</template>
<script>
import axios from "axios";
import config from "../config/config.js";
export default {
components: {},
data() {
return {
categoria: "",
Libros: []
};
},
methods: {
async descripcion(idLibro) {
localStorage.clear();
window.localStorage.setItem("idLibro", idLibro);
this.$router.push("/desc");
}
},
async created() {
let path = `${config.api}`;
this.categoria = window.localStorage.getItem("categoria");
try {
let similares = await axios.get(
`${config.api}/temaLibro?categoria=${this.categoria}`
);
similares = similares.data.data;
console.log(` este es el resutlado${similares}`);
for (let i = 0; i < similares.length; i++) {
let config = {
// example url
url: `${path}/libroImagen?idLibro=${similares[i].idLibro}`,
method: "GET",
responseType: "blob"
};
try {
await axios(config).then(response => {
let reader = new FileReader();
reader.readAsDataURL(response.data);
reader.onload = () => {
this.Libros.push({
id: similares[i].idLibro,
title: similares[i].titulo,
img: reader.result
});
//this.Libros[i].img = reader.result;
};
});
} catch (error) {
console.log(`Ocurrio un error con la imagen desc: ${error}`);
}
}
} catch (error) {
console.log(`Ocurrio un error ${error}`);
}
},
beforeCreate() {
if (!window.localStorage.getItem("categoria")) this.$router.push("/");
else this.categoria = window.localStorage.getItem("categoria");
}
};
</script>
<style scoped>
.divMaster {
height: auto;
}
.card {
border: none !important;
border-bottom: 5px solid #1b3d70 !important;
}
a {
text-decoration: none !important;
color: black;
}
</style>
-11
View File
@@ -1,11 +0,0 @@
const config = {
//ngrok
//api: "https://f8d86328e778.ngrok.io"
//Local
//api: "http://localhost:3001"
//Pruebas
api: "https://venus.acatlan.unam.mx/portal"
};
module.exports = config;
+40 -174
View File
@@ -18,20 +18,16 @@
<div class="collapse navbar-collapse " id="navbarTogglerDemo02">
<ul
class="navbar-nav mr-auto w-100 d-flex align-items-center justify-content-between mt-0 mt-lg-0"
class="navbar-nav mr-auto w-100 d-flex align-items-center justify-content-around mt-0 mt-lg-0"
>
<li class="nav-item">
<a class="nav-link text-white" href="#" @click="inicio()"
>Inicio</a
>
<a class="nav-link text-white" href="#">Inicio</a>
</li>
<li class="nav-item">
<a class="nav-link text-white" href="#" @click="presentacion()"
>Presentación</a
>
<a class="nav-link text-white" href="#">Presentacion</a>
</li>
<li class="nav-item ">
<li class="nav-item">
<div class="dropdown">
<a
class="btn nav-link dropdown-toggle text-white"
@@ -49,56 +45,33 @@
class="dropdown-menu azulUnam"
aria-labelledby="navbarDropdown"
>
<a
class="dropdown-item text-white"
@click="tema('Ciencias Socioeconomicas')"
<a class="dropdown-item text-white" href="#"
>Ciencias Socioeconomicas</a
>
<div class="dropdown-divider"></div>
<a
class="dropdown-item text-white"
@click="tema('Diseño y Edificacion')"
<a class="dropdown-item text-white" href="#"
>Diseño y Edificacion</a
>
<div class="dropdown-divider"></div>
<a
class="dropdown-item text-white"
@click="tema('Enseñanza de Idiomas')"
<a class="dropdown-item text-white" href="#"
>Enseñanza de Idiomas</a
>
<div class="dropdown-divider"></div>
<a
class="dropdown-item text-white"
@click="tema('Estudios de Posgrado')"
<a class="dropdown-item text-white" href="#"
>Estudios de Posgrado</a
>
<div class="dropdown-divider "></div>
<a
class="dropdown-item text-white "
@click="tema('Humanidades')"
>Humanidades</a
>
<a class="dropdown-item text-white " href="#">Humanidades</a>
<div class="dropdown-divider"></div>
<a
class="dropdown-item text-white"
@click="tema('Matematicas e Ingenieria')"
>Matemáticas e Ingenieria</a
>
<div class="dropdown-divider"></div>
<a
class="dropdown-item text-white"
@click="tema('Educacion Abierta')"
>Universidad Abierta y Educación a Distancia</a
<a class="dropdown-item text-white" href="#"
>Matematicas e Ingenieria</a
>
</div>
</div>
</li>
<li class="nav-item">
<a class="nav-link text-white" href="#" @click="difusion()"
>Difusión Editorial</a
>
<a class="nav-link text-white" href="#">Difusion Editorial</a>
</li>
</ul>
</div>
@@ -106,60 +79,42 @@
<form
id="buscador"
v-if="isExist"
class="form-inline my-0 my-lg-0 buscador col-4 d-flex justify-content-end"
class="form-inline my-0 my-lg-0 buscador col-4 d-flex justify-content-end"
>
<div class="input-group input-group-sm mb-0">
<div class="input-group input-group-sm mb-0 ver">
<input
type="text"
class="form-control reIzq "
placeholder="Buscar"
v-model="search"
aria-label="Recipient's username"
aria-describedby="basic-addon2"
v-model="nombre"
/>
<div class="input-group-append reDer bg-white dropdown">
<button class="btn my-0" type="submit">
<svg
width="1em"
height="1em"
viewBox="0 0 16 16"
class="bi bi-search blanco"
fill="currentColor"
>
<path
fill-rule="evenodd"
d="M10.442 10.442a1 1 0 0 1 1.415 0l3.85 3.85a1 1 0 0 1-1.414 1.415l-3.85-3.85a1 1 0 0 1 0-1.415z"
/>
<path
fill-rule="evenodd"
d="M6.5 12a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11zM13 6.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0z"
/>
</svg>
</button>
</div>
</div>
<!-- <div>-->
<div v-if="nombre.length > 2" class=" rescont ">
<ul class=" dropdown-menu d-block dropdown-menu-right ">
<li
class=" dropdown-item dropdown-itemBusqueda text-wrap "
v-for="item in buscarLibro"
v-bind:key="item.idLibro"
@click="descripcion(item.idLibro)"
<div class="input-group-append reDer bg-white">
<router-link
:to="{ name: 'search', params: { searchProp: search } }"
>
{{ item.titulo }}
</li>
</ul>
<!-- <ul class=" dropdown-menu d-block dropdown-menu-right">
<li class="dropdown-item text-wrap">Lorem ipsum dolor sit amet consectetur adipisicing elit.</li>
<li class="dropdown-item dropdown-itemBusqueda text-wrap">Lorem ipsum dolor sit amet consectetur adipisicing elit. Repellat nam molestiae delectus aliquid dignissimos ullam illo provident laborum perspiciatis sapiente. Officiis eveniet animi ad beatae iusto cupiditate earum quo enim?</li>
<li class=" dropdown-item text-wrap">Lorem ipsum dolor sit amet consectetur adipisicing elit. Repellat nam molestiae delectus aliquid dignissimos ullam illo provident laborum perspiciatis sapiente. Officiis eveniet animi ad beatae iusto cupiditate earum quo enim?</li>
<li class=" dropdown-item text-wrap">Lorem ipsum dolor sit amet consectetur adipisicing elit. Repellat nam molestiae delectus aliquid dignissimos ullam illo provident laborum perspiciatis sapiente. Officiis eveniet animi ad beatae iusto cupiditate earum quo enim?</li>
</ul> -->
<button class="btn my-0" type="submit">
<svg
width="1em"
height="1em"
viewBox="0 0 16 16"
class="bi bi-search blanco"
fill="currentColor"
xmlns="http://www.w3.org/2000/svg"
>
<path
fill-rule="evenodd"
d="M10.442 10.442a1 1 0 0 1 1.415 0l3.85 3.85a1 1 0 0 1-1.414 1.415l-3.85-3.85a1 1 0 0 1 0-1.415z"
/>
<path
fill-rule="evenodd"
d="M6.5 12a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11zM13 6.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0z"
/>
</svg>
</button>
</router-link>
</div>
</div>
</form>
</nav>
@@ -168,65 +123,17 @@
</template>
<script>
import axios from "axios";
import config from "../config/config.js";
export default {
data() {
return {
isExist: true,
libros: [],
nombre: ""
search: ""
};
},
methods: {
async descripcion(idLibro) {
console.log(` Este es el id del libro ${idLibro}`);
localStorage.clear();
window.localStorage.setItem("idLibro", idLibro);
this.$router.push("/desc").catch(() => {
location.reload();
});
},
inicio() {
this.$router.push("/").catch(() => {
location.reload();
});
},
difusion() {
this.$router.push("/difusion").catch(() => {
location.reload();
});
},
presentacion() {
this.$router.push("/presentacion").catch(() => {
location.reload();
});
},
async tema(categoria) {
window.localStorage.setItem("categoria", categoria);
this.$router.push("/tema").catch(() => {
location.reload();
});
},
method() {
this.isExist = !this.isExist;
}
},
async created() {
let path = `${config.api}`;
try {
let libros = await axios.get(`${path}/getLibros`);
this.libros = await libros.data.data;
} catch (error) {
console.log(`Error ${error}`);
}
},
computed: {
buscarLibro: function() {
return this.libros.filter(item =>
item.titulo.toLowerCase().includes(this.nombre.toLowerCase())
);
}
}
};
</script>
@@ -249,7 +156,6 @@ nav {
.azulUnam {
background-color: #1e3c70;
}
.doradoUnam {
background-color: #bb8800;
}
@@ -257,12 +163,6 @@ nav {
.dropdown-item:hover {
background-color: #bb8800;
}
.dropdown-itemBusqueda:hover {
background-color: #1e3c70;
color: white;
}
.nav-link:focus {
background-color: #1e3c70;
border-radius: 1rem;
@@ -271,7 +171,6 @@ nav {
.nav-link:hover {
background-color: #1e3c70;
color: white;
border-radius: 0.2rem;
}
.nav-link {
@@ -297,43 +196,10 @@ nav {
border-bottom-left-radius: 20px 20px !important;
}
/*
.dropdown-menu {
width: 10% !important;
} */
.dropdown {
position: relative;
display: inline-block;
height: auto;
}
.dropdown-content {
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
/* padding: 12px 16px; */
top: 0.8rem;
left: -10rem;
display: block;
}
.rescont {
z-index: 2;
}
.list-group-item {
padding: 12px 16px;
}
@media (max-width: 450px) {
.menuText,
.buscador {
display: block !important;
}
.dropdown-menu {
width: 80vw !important;
}
}
</style>
+2 -12
View File
@@ -2,22 +2,12 @@ import home from "./view/home.vue";
import login from "./view/login.vue";
import libroDescripcion from "./view/libroDescripcion.vue";
import difusion from "./view/difusion.vue";
import lineamientos from "./view/lineamiento.vue";
import tema from "./view/tema.vue";
import comite from "./view/comite.vue";
import presentacion from "./view/presentacion.vue";
import proceso from "./view/proceso.vue";
import puntos from "./view/puntos.vue";
import search from "./view/search.vue";
export const routes = [
{ path: "/", component: home, name: "form" },
{ path: "/login", component: login, name: "Login" },
{ path: "/desc", component: libroDescripcion, name: "LibroDesc" },
{ path: "/difusion", component: difusion, name: "difusion" },
{ path: "/lineamientos", component: lineamientos, name: "lineamientos" },
{ path: "/tema", component: tema, name: "tema" },
{ path: "/comite", component: comite, name: "comite" },
{ path: "/presentacion", component: presentacion, name: "presentacion" },
{ path: "/proceso", component: proceso, name: proceso },
{ path: "/puntos", component: puntos, name: puntos }
{ path: "/search", component: search, name: "search", props: true }
];
-109
View File
@@ -1,109 +0,0 @@
<template>
<div>
<Header></Header>
<Nav></Nav>
<div class="my-4 gente">
<h1 class="text-center">Comité Editorial</h1>
<div class="row">
<div class="col-10 mx-auto">
<p class="text-justify">
El Comité Editorial de la Facultad de Estudios Superiores Acatlán es
el órgano colegiado que establece y regula los procedimientos para
la recepción, dictamen, selección, edición, impresión, difusión,
promoción, almacenamiento, preservación, distribución y
comercialización de sus publicaciones. (Art. 1, PyLE).
</p>
</div>
</div>
<div>
<p>Dr. Manuel Martínez Justo</p>
<strong> Presidente del Comité Editorial</strong>
</div>
<div>
<p>Mtro. Fernando Martínez Ramírez</p>
<strong> Secretario Ejecutivo del Comité Editorial</strong>
</div>
<div>
<p>Mtra. Nora Goris Mayans</p>
<strong> Secretaria General Académica</strong>
</div>
<div>
<p>Dr. Alejandro Byrd Orozco</p>
<strong>
Secretario de Extensión Universitaria y Vinculación
Institucional</strong
>
</div>
<div>
<p>Mtro. Carlos Nandayapa Hernández</p>
<strong> Secretario de Estudios Profesionales</strong>
</div>
<div>
<p>Dra. Laura Páez Díaz de León</p>
<strong> Secretaria de Posgrado e Investigación</strong>
</div>
<div>
<p>Lic. Verónica Puma Galicia</p>
<strong> Coordinadora del Centro de Enseñanza de Idiomas</strong>
</div>
<div>
<p>Lic. Jorge Reyes Caldera Arroyo</p>
<strong> Jefe de la División de Ciencias Jurídicas</strong>
</div>
<div>
<p>Dra. Claudia Márquez Díaz</p>
<strong> Jefa de la División de Ciencias Socioeconómicas</strong>
</div>
<div>
<p>Mtro. Rubén Juárez Santana</p>
<strong> Jefe de la División de Diseño y Edificación</strong>
</div>
<div>
<p>Mtra. María Luisa Morales Martínez</p>
<strong> Jefa de la División de Humanidades</strong>
</div>
<div>
<p>Act. Luz María Lavín Alanís</p>
<strong> Jefa de la División de Matemáticas e Ingeniería</strong>
</div>
<div>
<p>Lic. Aída Villalobos Sosa</p>
<strong>
Jefa de la División del Sistema Universidad Abierta y Educación a
Distancia</strong
>
</div>
<div>
<p>D.G. Norma Guadalupe Rojas Borja</p>
<strong> Secretaria de Actas</strong>
</div>
</div>
<Footer></Footer>
</div>
</template>
<script>
import Header from "./../components/header.vue";
import Nav from "./../esteticas/nav.vue";
//import Nav from "./../components/navPrincipal.vue";
import Footer from "./../components/footer.vue";
export default {
components: {
Header,
Nav,
Footer
}
};
</script>
<style scoped>
.gente div {
margin: 1rem 0px;
}
p {
margin-bottom: 0px;
}
</style>
+1 -1
View File
@@ -11,7 +11,7 @@
<script>
import Header from "./../components/header.vue";
import Nav from "./../esteticas/nav.vue";
import Nav from "./../components/navPrincipal.vue";
import Descrip from "./../components/descripcion.vue";
import Footer from "./../components/footer.vue";
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,6 +1,6 @@
<template>
<div>
<Header />
<Header></Header>
<h1 class="my-5">Inicia Sesion</h1>
<div class="row d-flex justify-content-center">
<div class="col-12 col-md-8 col-lg-6 col-xl-6">
-70
View File
@@ -1,70 +0,0 @@
<template>
<div>
<Header></Header>
<Nav></Nav>
<div>
<h1 class="my-4">Presentación</h1>
<div class="row presentacion">
<div class="col-10 offset-1 text-justify mb-5">
<p>
En atención al Programa Estratégico 3. Facultad del Siglo XXI, del
Plan de Desarrollo Institucional 2017-2021 de la Facultad de
Estudios Superiores Acatlán, en el cual, mediante la línea de acción
3.2. Modernización de la gestión, se establece la actualización del
portal editorial de la Facultad, la Coordinación de Servicios
Académicos, a través de la Unidad de Servicios Editoriales y la
Unidad del Centro de Desarrollo Tecnológico, tiene en desarrollo dos
proyectos: la Tienda Virtual Acatlán y el Portal Editorial de
Ediciones Acatlán.
</p>
<p>
El primero de los proyectos, la
<a href="https://tienda.acatlan.unam.mx"> Tienda Virtual Acatlán</a
>, es la plataforma destinada a la venta de las publicaciones de
Ediciones Acatlán, habilitada desde el mes de marzo del presente
año.
</p>
<p>
El segundo de ellos, el Portal Editorial, tiene el objetivo de
difundir toda aquella información relacionada con los procesos y
cuerpos colegiados en materia editorial, establecer vínculos con la
comunidad universitaria interesada en la publicación de materiales y
en la promoción de la labor intelectual de los académicos de la
Facultad de Estudios Superiores Acatlán.
</p>
<p>
En ese sentido, quien navegue en esta plataforma podrá conocer el
catálogo de publicaciones emanadas de la labor académica e
intelectual de la planta docente de esta entidad multidisciplinaria.
De igual manera, tendrá a su disposición los lineamientos
editoriales y la información concerniente al proceso de publicación
y las distintas partes institucionales involucradas. Por otra parte,
en caso de querer adquirir alguno de los títulos que ofrece el sello
editorial de Acatlán, están disponibles los datos de la Tienda
Virtual Acatlán y la Librería Universitaria, para compra de libros
en línea o de manera presencial, respectivamente.
</p>
</div>
</div>
</div>
<Footer></Footer>
</div>
</template>
<script>
import Header from "./../components/header.vue";
import Nav from "./../esteticas/nav.vue";
import Footer from "./../components/footer.vue";
export default {
components: {
Header,
Nav,
Footer
}
};
</script>
<style scoped></style>
-1017
View File
File diff suppressed because it is too large Load Diff
-65
View File
@@ -1,65 +0,0 @@
<template>
<div>
<Header></Header>
<Nav></Nav>
<div>
<h1 class="my-4">Puntos de Venta</h1>
<div class="row">
<div class="col-10 offset-1 text-justify mb-4">
<p>
La venta y difusión de las publicaciones de Ediciones Acatlán se
llevan a cabo a partir de cuatro maneras:
</p>
<ul class="lugares">
<li>
Librería Universitaria: ubicada en las instalaciones de la FES
Acatlán, para la adquisición de publicaciones impresas, tanto de
nuestro sello como de otras editoriales.
</li>
<li>
Tienda Virtual Acatlán: plataforma que soporta ventas en línea
(obras impresas y electrónicas), de reciente habilitación.
</li>
<li>
Librería Ambulante: extensión de la Librería Universitaria que, de
manera presencial, acude a los eventos institucionales con
publicaciones de temas afines a éstos.
</li>
<li>
Libros UNAM: plataforma en línea de la Universidad Nacional
Autónoma de México, mediante la cual se pueden adquirir todas las
publicaciones (impresas y electrónicas) de todas las dependencias
editoras.
</li>
</ul>
</div>
</div>
</div>
<Footer></Footer>
</div>
</template>
<script>
import Header from "./../components/header.vue";
import Nav from "./../esteticas/nav.vue";
import Footer from "./../components/footer.vue";
export default {
components: {
Header,
Nav,
Footer
}
};
</script>
<style>
.lugares li {
margin: 1rem 0;
}
</style>
+121
View File
@@ -0,0 +1,121 @@
<template>
<div>
<Header></Header>
<Nav></Nav>
<!-- <div class="wrapper">
<div class="card" v-bind:key="post.id" v-for="post in filteredList">
<a v-bind:href="post.link" ta rget="_blank">
<img v-bind:src="post.img" width="45px" />
<small>posted by: {{ post.title }}</small>
{{ post.title }}
</a>
</div>
</div> -->
<div class="search-wrapper m-4">
<input type="text" v-model="searchProp" placeholder="buscar libro" />
</div>
<div v-if="searchProp">
<Title title="Resultados" />
<div class="divMaster row mb-5">
<div class="col-10 offset-1 d-flex flex-wrap justify-content-center">
<div
class="card m-3"
style="width: 12rem;"
v-bind:key="post.id"
v-for="post in ListaFiltrada"
>
<router-link :to="{ path: 'home' }" class="textt">
<img :src="post.img" class="card-img-top rounded" alt="libro" />
<div class="card-body cd textt">
<p class="card-text textt">
{{ post.title }}
</p>
</div>
</router-link>
</div>
</div>
</div>
</div>
<div v-else>
<h1>Ingresa un Titulo en el buscador</h1>
</div>
<Footer></Footer>
</div>
</template>
<script>
import Header from "./../components/header.vue";
import Nav from "./../esteticas/nav.vue";
//import Nav from "./../components/navPrincipal.vue";
import Footer from "./../components/footer.vue";
import Title from "../components/titulo.vue";
export default {
props: ["searchProp"],
components: {
Header,
Nav,
Footer,
Title
},
data() {
return {
search: "",
postLista: [
{
id: 0,
title: "titu",
img:
"https://edit.org/img/blog/xwdn-editar-portadas-de-libros-gratis.jpg.pagespeed.ic.PmNhyGc59r.jpg"
},
{
id: 0,
title: "papa",
img:
"https://edit.org/img/blog/xwdn-editar-portadas-de-libros-gratis.jpg.pagespeed.ic.PmNhyGc59r.jpg"
},
{
id: 0,
title: "titu2",
img:
"https://edit.org/img/blog/xwdn-editar-portadas-de-libros-gratis.jpg.pagespeed.ic.PmNhyGc59r.jpg"
},
{
id: 0,
title: "he",
img:
"https://edit.org/img/blog/xwdn-editar-portadas-de-libros-gratis.jpg.pagespeed.ic.PmNhyGc59r.jpg"
}
]
};
},
computed: {
ListaFiltrada() {
return this.postLista.filter(post => {
return post.title.toLowerCase().includes(this.searchProp.toLowerCase());
});
}
}
};
</script>
<style scoped>
.divMaster {
height: auto;
}
.card {
border: none !important;
border-bottom: 5px solid #1b3d70 !important;
}
a {
text-decoration: none !important;
color: black;
}
.ver {
display: none !important;
}
</style>
-29
View File
@@ -1,29 +0,0 @@
<template>
<div>
<Header />
<Nav />
<Title title="Resultado" class="my-5" />
<Cart />
<Footer />
</div>
</template>
<script>
import Header from "./../components/header.vue";
import Nav from "./../esteticas/nav.vue";
//import Nav from "./../components/navPrincipal.vue";
import Footer from "./../components/footer.vue";
import Cart from "../components/temaLibro.vue";
import Title from "../components/titulo.vue";
export default {
name: "home",
components: {
Header,
Nav,
Footer,
Cart,
Title
}
};
</script>
-3
View File
@@ -1,3 +0,0 @@
module.exports = {
publicPath: "./"
};