6 Commits

Author SHA1 Message Date
danielGe 5eff4a916e actualizacion de cambios 2020-10-04 16:51:46 -05:00
danielGe 1552b7e04f separacion del carrito en componentes 2020-10-04 16:23:44 -05:00
danielGe 77aead338f Merge pull request 'WIP Integracion del componente Car hecho por Enrrique' (#1) from cart into master
Reviewed-on: #1
2020-10-04 21:06:11 +00:00
casnet1 0e23f1ebbe data section 2020-09-24 23:06:43 -05:00
casnet1 98604916c9 componenten navShopping2 2020-09-23 22:16:16 -05:00
KIKIN 1cc6644c95 cart page, ready 2020-09-17 19:06:39 -05:00
8 changed files with 393 additions and 41 deletions
+41 -10
View File
@@ -1392,16 +1392,6 @@
"integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==", "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==",
"dev": true "dev": true
}, },
"@types/mini-css-extract-plugin": {
"version": "0.9.1",
"resolved": "https://registry.npmjs.org/@types/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.1.tgz",
"integrity": "sha512-+mN04Oszdz9tGjUP/c1ReVwJXxSniLd7lF++sv+8dkABxVNthg6uccei+4ssKxRHGoMmPxdn7uBdJWONSJGTGQ==",
"dev": true,
"optional": true,
"requires": {
"@types/webpack": "*"
}
},
"@types/minimatch": { "@types/minimatch": {
"version": "3.0.3", "version": "3.0.3",
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
@@ -10978,6 +10968,7 @@
} }
}, },
"vue-loader-v16": { "vue-loader-v16": {
<<<<<<< HEAD
"version": "npm:vue-loader@16.0.0-beta.7", "version": "npm:vue-loader@16.0.0-beta.7",
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.0.0-beta.7.tgz", "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.0.0-beta.7.tgz",
"integrity": "sha512-xQ8/GZmRPdQ3EinnE0IXwdVoDzh7Dowo0MowoyBuScEBXrRabw6At5/IdtD3waKklKW5PGokPsm8KRN6rvQ1cw==", "integrity": "sha512-xQ8/GZmRPdQ3EinnE0IXwdVoDzh7Dowo0MowoyBuScEBXrRabw6At5/IdtD3waKklKW5PGokPsm8KRN6rvQ1cw==",
@@ -11000,13 +10991,39 @@
"optional": true, "optional": true,
"requires": { "requires": {
"@types/color-name": "^1.1.1", "@types/color-name": "^1.1.1",
=======
"version": "npm:vue-loader@16.0.0-beta.8",
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.0.0-beta.8.tgz",
"integrity": "sha512-oouKUQWWHbSihqSD7mhymGPX1OQ4hedzAHyvm8RdyHh6m3oIvoRF+NM45i/bhNOlo8jCnuJhaSUf/6oDjv978g==",
"dev": true,
"optional": true,
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"optional": true,
"requires": {
>>>>>>> origin
"color-convert": "^2.0.1" "color-convert": "^2.0.1"
} }
}, },
"chalk": { "chalk": {
<<<<<<< HEAD
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
"integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
=======
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
"integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
>>>>>>> origin
"dev": true, "dev": true,
"optional": true, "optional": true,
"requires": { "requires": {
@@ -11038,12 +11055,26 @@
"dev": true, "dev": true,
"optional": true "optional": true
}, },
<<<<<<< HEAD
"source-map": { "source-map": {
"version": "0.6.1", "version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true, "dev": true,
"optional": true "optional": true
=======
"loader-utils": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
"integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
"dev": true,
"optional": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
>>>>>>> origin
}, },
"supports-color": { "supports-color": {
"version": "7.2.0", "version": "7.2.0",
+39 -10
View File
@@ -1,28 +1,57 @@
<template> <template>
<div id="BotonesShopping" class="row"> <div id="BotonesShopping" class="row ">
<router-link to="/datosPersonales" class="col-sm-3 col-md-3 col-lg-3 col-xl-3 col-12 mt-1 d-flex align-items-center navshop "> <a href="#" class="btn .azul btn-primary active" role="button" aria-pressed="true">Datos Personales</a></router-link> <div class="col-sm-3 col-md-3 col-lg-3 col-xl-3 col-12 mt-1 d-flex align-items-center navshop "> <router-link to="/datosPersonales" class="btn colores gris prueba text-white"> Datos Personales </router-link></div>
<router-link to="/datosPersonales" class="col-sm-3 col-md-3 col-lg-3 col-xl-3 col-12 mt-1 d-flex align-items-center navshop "> <a href="#" class="btn .gris btn-secondary " role="button" disabled>Direcciones</a> </router-link> <div class="col-sm-3 col-md-3 col-lg-3 col-xl-3 col-12 mt-1 d-flex align-items-center navshop "> <router-link to="/datosPersonales" class="btn colores gris text-white"> Direcciones </router-link></div>
<router-link to="/datosPersonales" class="col-sm-3 col-md-3 col-lg-3 col-xl-3 col-12 mt-1 d-flex align-items-center navshop "> <a href="#" class="btn .gris btn-secondary " role="button" disabled>Envio</a> </router-link> <div class="col-sm-3 col-md-3 col-lg-3 col-xl-3 col-12 mt-1 d-flex align-items-center navshop "> <router-link to="/datosPersonales" class="btn colores gris text-white"> Envio </router-link></div>
<router-link to="/datosPersonales" class="col-sm-3 col-md-3 col-lg-3 col-xl-3 col-12 mt-1 d-flex align-items-center navshop "> <a href="#" class="btn .gris btn-secondary " role="button" disabled>Pago</a> </router-link> <div class="col-sm-3 col-md-3 col-lg-3 col-xl-3 col-12 mt-1 d-flex align-items-center navshop "> <router-link to="/datosPersonales" class="btn colores gris text-white"> Pago </router-link></div>
</div> </div>
</template> </template>
<script> <script>
export default { const $ = require('jquery')
export default {
props:['currentStep'],
data(){
return{
}
},
methods:{
color(etapa){
var result = $(".colores:first")
result.removeClass("gris").toggleClass("azul")
console.log(result)
console.log(etapa)
}
},
created(){
this.color(this.currentStep)
}
} }
</script> </script>
<style > <style >
.verde{ .verde{
background-color: #29B026 ; background-color: #29B026 !important;
} }
.azul{ .azul{
background-color: #1B3D70 !important; background-color: #1B3D70 !important;
} }
.gris{ .gris{
background-color: #C4C4C4; background-color: #C4C4C4 !important;
} }
.navshop a { .navshop a {
@@ -30,9 +59,9 @@ export default {
} }
@media screen and (max-width:1023px ) and (min-width: 770px) { @media screen and (max-width:1023px ) and (min-width: 760px) {
.navshop a { .navshop a {
font-size: .8rem !important; font-size: .6rem !important;
} }
} }
+190
View File
@@ -0,0 +1,190 @@
<template>
<form class="mt-4" role="form" data-toggle="validator" @submit.prevent="checkForm">
<div class="my-3">
<div class="row ">
<div class="form-check col-4 ">
<input class="form-check-input" type="radio" id="exampleRadios1" v-model="select" value="invitado" checked>
<label class="form-check-label" for="exampleRadios1">
Invitado
</label>
</div>
<div class="form-check col-4">
<input class="form-check-input" type="radio" id="exampleRadios2" v-model="select" value="cuenta">
<label class="form-check-label" for="exampleRadios2">
Ya Tengo Cuenta
</label>
</div>
<div class="form-check col-4">
<input class="form-check-input" type="radio" id="exampleRadios3" v-model="select" value="newCuenta">
<label class="form-check-label" for="exampleRadios2">
Crear Cuenta
</label>
</div>
</div>
</div>
<div v-if="submitted === true">
<div v-if="hasErrors" class="error">
<strong>Se han producido los siguientes errores:</strong>
<ul>
<li v-bind:key="error" v-for="error in errors">{{ error }}</li>
</ul>
</div>
<div v-else class="correcto">
<strong>Enviado!</strong>
</div>
</div>
<div v-if="select == 'invitado' ">
<div class="form-group">
<label for="InputNombre1">Nombres</label>
<input type="text" class="form-control" id="InputNombre1" placeholder="Ingresa tu nombre" v-model="invitado.nombre">
</div>
<div class="form-group">
<label for="InputApellido1">Apellidos</label>
<input type="text" class="form-control" id="InputApellido1" placeholder="Ingresa tus apellidos" v-model="invitado.apellido">
</div>
<div class="form-group">
<label for="InputCorreo1">Correo</label>
<input type="email" class="form-control" id="InputCorreo1" placeholder="Enter email" v-model="invitado.correo">
</div>
</div>
<div v-if="select == 'cuenta' ">
<div class="form-group">
<label for="InputCorreo2" >Correo</label>
<input type="email" class="form-control" id="InputCorreo2" placeholder="Enter email" v-model="cuenta.correo">
</div>
<div class="form-group">
<label for="InputPassword2">Contraseña</label>
<input type="password" class="form-control" id="InputPassword1" placeholder="Password" v-model="cuenta.contrasena">
</div>
</div>
<div v-if="select == 'newCuenta' ">
<div class="form-group">
<label for="InputNombre3">Nombres</label>
<input type="email" class="form-control" id="InputNombre3" v-model="newCuenta.nombre" placeholder="Ingresa tu nombre">
</div>
<div class="form-group">
<label for="InputApellido3">Apellidos</label>
<input type="email" class="form-control" id="InputApellido3" v-model="newCuenta.apellido" placeholder="Ingresa tus apellidos">
</div>
<div class="form-group">
<label for="InputCorreo3">Correo</label>
<input type="email" class="form-control" id="InputCorreo3" v-model="newCuenta.correo" placeholder="Ingresa tu correo">
</div>
<div class="form-group">
<label for="exampleInputEmail1">Fecha de Nacimiento</label>
<input class="form-control" type="date" value="2011-08-19" id="dataEjemploFecha" v-model="newCuenta.nacimiento">
</div>
<div class="form-group">
<label for="exampleInputEmail1">Contraseña</label>
<input type="email" class="form-control" id="exampleInputEmail1" v-model="newCuenta.contrasena" placeholder="Enter email">
</div>
</div>
<div v-if="select != ''">
<div class="form-check">
<input type="checkbox" class="form-check-input" id="exampleCheck1" v-model="check.ofertas" >
<label class="form-check-label" for="exampleCheck1">Recibir ofertas de nuestros socios</label>
</div>
<div class="form-check">
<input type="checkbox" class="form-check-input" id="exampleCheck2" v-model="check.suscribirse" >
<label class="form-check-label" for="exampleCheck2">Suscribirse a nuestro boletín de noticias</label>
</div>
</div>
<!-- <pre>{{$data}}</pre> -->
<div v-if="(invitado.nombre && invitado.apellido && invitado.correo)
|| (cuenta.correo && cuenta.contrasena)
|| (newCuenta.nombre && newCuenta.apellido && newCuenta.correo && newCuenta.nacimiento && newCuenta.contrasena) != ''">
<button type="submit" @click="NextStep()" class="btn btn-success">continuar</button>
</div>
</form>
</template>
<script>
export default {
data(){
return{
continuar:false,
select:'',
errors:[], submitted:false,
invitado:{
nombre:'',
apellido:'',
correo:''
},
cuenta:{
correo:'',
contrasena:''
},
newCuenta:{
nombre:'',
apellido:'',
correo:'',
nacimiento:'',
contrasena:''
},
check:{
ofertas:false,
suscribirse:false
}
}
},
methods:{
checkForm() {
this.submitted = true;
switch(this.select){
case 'invitado':
console.log(this.select)
break
case 'cuenta':
console.log(this.select)
break
case 'newCuenta':
console.log(this.select)
break
}
this.continuar = true
},
NextStep(){
let pagina = this.$router.currentRoute.name
switch(pagina){
case 'personalData':
this.$router.push({name:'home'})
break;
}
}
},
computed:{
hasError(){
return this.errors.length;
}
},
created(){
console.log(this.$router.currentRoute)
}
}
</script>
+10
View File
@@ -2,7 +2,11 @@ import Vue from 'vue'
import VueRouter from 'vue-router' import VueRouter from 'vue-router'
import Home from './view/Home.vue' import Home from './view/Home.vue'
<<<<<<< HEAD
import PersonalData from './view/PersonalData.vue' import PersonalData from './view/PersonalData.vue'
=======
import Cart from './view/Cart.vue'
>>>>>>> origin
const routes = [ const routes = [
{ {
@@ -16,9 +20,15 @@ const routes = [
name: 'home' name: 'home'
}, },
{ {
<<<<<<< HEAD
path: '/datosPersonales', path: '/datosPersonales',
component: PersonalData, component: PersonalData,
name: 'personalData' name: 'personalData'
=======
path: '/cart',
component: Cart,
name: 'cart'
>>>>>>> origin
} }
] ]
+99
View File
@@ -0,0 +1,99 @@
<template>
<div class="my-5">
<div class="container d-flex flex-wrap justify-content-between">
<div class="cont-resum-shop py-2 mb-4">
<h2 class="ml-3">Carrito</h2>
<hr>
<div class="d-flex justify-content-between mx-4 my-4">
<div class="d-flex">
<img src="../img/bookOne.jpg" alt="Logo" style="height: 150px">
<p class="mx-4">
Invitación al psicoanálisis y lazos con la política, Lorem ipsum<br><span class="price-style"><b>$180</b></span>
</p>
</div>
<div class="d-flex flex-wrap flex-column align-items-center">
<div>
<input type="number" class="inp-number p-1 d-inline-block" name="" id="">
</div>
<span class="my-4"><b>$180</b></span>
<div>
<a href="#" class="text-dark">
<font-awesome-icon icon="trash" class=""/>
</a>
</div>
</div>
</div>
<div class="d-flex justify-content-between mx-4 my-4">
<div class="d-flex">
<img src="../img/bookOne.jpg" alt="Logo" style="height: 150px">
<p class="mx-4">
Invitación al psicoanálisis y lazos con la política, Lorem ipsum<br><span class="price-style"><b>$180</b></span>
</p>
</div>
<div class="d-flex flex-wrap flex-column align-items-center">
<div>
<input type="number" class="inp-number p-1 d-inline-block" name="" id="">
</div>
<span class="my-4"><b>$180</b></span>
<div>
<a href="#" class="text-dark">
<font-awesome-icon icon="trash" class=""/>
</a>
</div>
</div>
</div>
</div>
<div class="g-sec bg-light py-4 px-4 d-flex flex-column align-self-start align-items-center" style="">
<div class="d-flex justify-content-between">
<p class="mr-5">2 Artículos<br>Envío</p>
<p>$980<br>Pendiente</p>
</div>
<hr style="width:100%">
<div class="d-flex justify-content-between">
<p class="mr-5">Total(IVA incluido)<br>$980</p>
</div>
<hr style="width:100%">
<button class="btn btn-primary mx-auto"><b>IR A LA CAJA</b></button>
</div>
</div>
<div class="container mt-3">
<div class="d-inline-block">
<a href="#">
<p>
Continuar la compra
</p>
</a>
</div>
</div>
</div>
</template>
<script>
export default {
}
</script>
<style>
.cont-resum-shop {
/* background-color: skyblue; */
-webkit-box-shadow: 3px 3px 6px 0.2px rgba(0,0,0,0.2);
-moz-box-shadow: 3px 3px 6px 0.2px rgba(0,0,0,0.2);
box-shadow: 3px 3px 6px 0.2px rgba(0,0,0,0.2);
/* border-radius: 5px; */
/* font-size: 15px; */
}
.inp-number {
width: 55px;
border-radius: 5px;
border: 0.3px solid lightgray;
}
.price-style {
color: #6C59FE;
}
.g-sec {
-webkit-box-shadow: -3px 3px 6px 0.2px rgba(0,0,0,0.2);
-moz-box-shadow: -3px 3px 6px 0.2px rgba(0,0,0,0.2);
box-shadow: -3px 3px 6px 0.2px rgba(0,0,0,0.2);
}
</style>
+13 -20
View File
@@ -7,31 +7,18 @@
<div class="row"> <div class="row">
<section class="col-10 col-sm-7 col-md-7 col-lg-7 col-xl-7 offset-1"> <section class="col-10 col-sm-7 col-md-7 col-lg-7 col-xl-7 offset-1">
<ShoppingNav></ShoppingNav> <ShoppingNav currentStep=2></ShoppingNav>
<DataSection></DataSection>
<form class="mt-4">
<div class="form-group">
<label for="exampleInputEmail1">Email address</label>
<input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Enter email">
<small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>
</div>
<div class="form-group">
<label for="exampleInputPassword1">Password</label>
<input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
</div>
<div class="form-check">
<input type="checkbox" class="form-check-input" id="exampleCheck1">
<label class="form-check-label" for="exampleCheck1">Check me out</label>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
</section> </section>
<aside class="col-10 col-sm-2 col-md-2 col-lg-2 col-xl-2 offset-1 bg-primary"> <aside id="CompraStatus" class="col-10 col-sm-2 col-md-2 col-lg-2 col-xl-2 offset-1 bg-primary">
<h3 class="text-center">status</h3> <h3 class="text-center">status</h3>
</aside> </aside>
</div> </div>
</div> </div>
@@ -44,17 +31,23 @@
import Header from '../components/Header' import Header from '../components/Header'
import Footer from '../components/Footer' import Footer from '../components/Footer'
import ShoppingNav from '../components/ShoppingNav' import ShoppingNav from '../components/ShoppingNav'
import DataSection from '../components/dataSection'
export default { export default {
components: { components: {
Header, Header,
Footer, Footer,
ShoppingNav ShoppingNav,
DataSection
} }
} }
</script> </script>
<style scoped> <style scoped>
@media screen and (max-width:760px ) {
#CompraStatus{
margin-top: 2rem;
}
}
</style> </style>
View File