contruido para produccion

This commit is contained in:
2021-01-26 00:51:56 -06:00
parent e846974d40
commit 1c1b90a262
48 changed files with 13938 additions and 13008 deletions
+3
View File
@@ -0,0 +1,3 @@
> 1%
last 2 versions
not dead
+14
View File
@@ -0,0 +1,14 @@
module.exports = {
root: true,
env: {
node: true
},
extends: ["plugin:vue/essential", "eslint:recommended", "@vue/prettier"],
parserOptions: {
parser: "babel-eslint"
},
rules: {
"no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
"no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off"
}
};
-1
View File
@@ -1,6 +1,5 @@
.DS_Store
node_modules
/dist
# local env files
+2 -4
View File
@@ -1,5 +1,3 @@
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
]
}
presets: ["@vue/cli-plugin-babel/preset"]
};
+19 -19
View File
@@ -1,19 +1,19 @@
.DS_Store
node_modules
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
.DS_Store
node_modules
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
-24
View File
@@ -1,24 +0,0 @@
# censo_front
## Project setup
```
npm install
```
### Compiles and hot-reloads for development
```
npm run serve
```
### Compiles and minifies for production
```
npm run build
```
### Lints and fixes files
```
npm run lint
```
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
-5
View File
@@ -1,5 +0,0 @@
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
]
}
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
+12038 -12038
View File
File diff suppressed because it is too large Load Diff
+53 -53
View File
@@ -1,53 +1,53 @@
{
"name": "censo_front",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^1.2.32",
"@fortawesome/free-solid-svg-icons": "^5.15.1",
"@fortawesome/vue-fontawesome": "^2.0.2",
"axios": "^0.21.1",
"bootstrap": "^4.5.3",
"bootstrap-vue": "^2.21.1",
"core-js": "^3.6.5",
"jquery": "^3.5.1",
"popper.js": "^1.16.1",
"sweetalert2": "^10.13.3",
"vue": "^2.6.12",
"vue-router": "^3.4.9",
"vuex": "^3.6.0"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~4.5.0",
"@vue/cli-plugin-eslint": "~4.5.0",
"@vue/cli-service": "~4.5.0",
"babel-eslint": "^10.1.0",
"eslint": "^6.7.2",
"eslint-plugin-vue": "^6.2.2",
"vue-template-compiler": "^2.6.11"
},
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/essential",
"eslint:recommended"
],
"parserOptions": {
"parser": "babel-eslint"
},
"rules": {}
},
"browserslist": [
"> 1%",
"last 2 versions",
"not dead"
]
}
{
"name": "censo_front",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^1.2.32",
"@fortawesome/free-solid-svg-icons": "^5.15.1",
"@fortawesome/vue-fontawesome": "^2.0.2",
"axios": "^0.21.1",
"bootstrap": "^4.5.3",
"bootstrap-vue": "^2.21.1",
"core-js": "^3.6.5",
"jquery": "^3.5.1",
"popper.js": "^1.16.1",
"sweetalert2": "^10.13.3",
"vue": "^2.6.12",
"vue-router": "^3.4.9",
"vuex": "^3.6.0"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~4.5.0",
"@vue/cli-plugin-eslint": "~4.5.0",
"@vue/cli-service": "~4.5.0",
"babel-eslint": "^10.1.0",
"eslint": "^6.7.2",
"eslint-plugin-vue": "^6.2.2",
"vue-template-compiler": "^2.6.11"
},
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/essential",
"eslint:recommended"
],
"parserOptions": {
"parser": "babel-eslint"
},
"rules": {}
},
"browserslist": [
"> 1%",
"last 2 versions",
"not dead"
]
}
-18
View File
@@ -1,18 +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.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<script src='https://kit.fontawesome.com/a076d05399.js'></script>
<title><%= htmlWebpackPlugin.options.title %></title>
</head>
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>
-34
View File
@@ -1,34 +0,0 @@
<template>
<div id="app">
<Header />
<Navbar />
<router-view></router-view>
<Footer />
</div>
</template>
<script>
import Footer from './components/footer.vue'
import Navbar from './components/nav.vue'
import Header from './components/header.vue'
export default {
name: 'App',
components: {
Footer,
Header,
Navbar
}
}
</script>
<style>
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
}
</style>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

-136
View File
@@ -1,136 +0,0 @@
<template>
<div>
<div class="hello">
<h1>{{ msg }}</h1>
<p>
For a guide and recipes on how to configure / customize this project,<br>
check out the
<a href="https://cli.vuejs.org" target="_blank" rel="noopener">vue-cli documentation</a>.
</p>
<h3>Installed CLI Plugins</h3>
<ul>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint" target="_blank" rel="noopener">eslint</a></li>
</ul>
<h3>Essential Links</h3>
<ul>
<li><a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a></li>
<li><a href="https://forum.vuejs.org" target="_blank" rel="noopener">Forum</a></li>
<li><a href="https://chat.vuejs.org" target="_blank" rel="noopener">Community Chat</a></li>
<li><a href="https://twitter.com/vuejs" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a></li>
</ul>
<h3>Ecosystem</h3>
<ul>
<li><a href="https://router.vuejs.org" target="_blank" rel="noopener">vue-router</a></li>
<li><a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a></li>
<li><a href="https://github.com/vuejs/vue-devtools#vue-devtools" target="_blank" rel="noopener">vue-devtools</a></li>
<li><a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener">vue-loader</a></li>
<li><a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">awesome-vue</a></li>
</ul>
</div>
<footer class="container-fluid Azul-puma footer py-3 ">
<!-- <div class="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
>
<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>
</div>
</div> -->
<div row>
<p class="mb-0 ">Hecho en México, todos los derechos reservados 2020.</p>
<p class="my-0 ">
Esta página puede ser reproducida con fines no lucrativos, siempre y
cuando no se mutile, se cite la fuente
</p>
<p>
completa y su dirección electrónica. De otra forma, requiere permiso
previo por escrito de la institución.
</p>
</div>
</footer>
</div>
</template>
<script>
export default {
name: 'HelloWorld',
props: {
msg: String
}
}
</script>
<style scoped>
.boton-footer {
background-color: rgb(187, 136, 0);
color: white;
width: 14rem;
font-size: 0.8rem;
}
.uno,
.dos,
.tres {
margin-right: 1rem;
}
.btn {
margin-bottom: 1rem;
}
.Azul-puma {
background-color: #1e3c70;
}
.footer {
text-align: center;
color: white;
}
@media (max-width: 768px) {
.uno,
.tres {
margin-right: 4rem;
}
.dos {
margin-right: 0rem;
}
.footer {
font-size: 0.7rem;
}
}
@media (max-width: 970px) {
.uno,
.dos,
.tres {
margin-right: 0.5rem;
}
.footer {
font-size: 0.7rem;
}
}
</style>
-56
View File
@@ -1,56 +0,0 @@
<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>
<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/logo-fesa-45.png"
alt="logo unam"
/>
</a>
</div>
</div>
</template>
<style>
.divMaster {
height: 8rem;
margin: 0;
width: auto;
}
.azulUnam {
background-color: #1e3c70;
}
.sizeImg {
height: 5rem;
}
.logo_acatlan_resp {
display: none !important;
}
@media (max-width: 450px) {
.logo_acatlan,
.logo_unam {
display: none !important;
}
.logo_acatlan_resp {
display: block !important;
}
.logo_acatlan_resp a img {
height: 5rem;
}
}
</style>
+38 -38
View File
@@ -1,38 +1,38 @@
import Vue from "vue";
import App from "./App.vue";
import "bootstrap";
import "bootstrap/dist/css/bootstrap.min.css";
import Vuex from 'vuex';
import VueRouter from "vue-router";
import { routes } from "./routes";
import { BootstrapVue, IconsPlugin } from 'bootstrap-vue'
Vue.config.productionTip = false;
Vue.use(VueRouter);
Vue.use(Vuex)
Vue.use(BootstrapVue);
Vue.use(IconsPlugin);
const router = new VueRouter({
routes
});
const store = new Vuex.Store({
state: {
campoValue: "",
},
mutations: {
cleanModalActualizar (state, value) {
state.campoValue = value;
console.log(state, value);
}
}
})
new Vue({
el: "#app",
render: h => h(App),
router,
store: store,
});
import Vue from "vue";
import App from "./App.vue";
import "bootstrap";
import "bootstrap/dist/css/bootstrap.min.css";
import Vuex from 'vuex';
import VueRouter from "vue-router";
import { routes } from "./routes";
import { BootstrapVue, IconsPlugin } from 'bootstrap-vue'
Vue.config.productionTip = false;
Vue.use(VueRouter);
Vue.use(Vuex)
Vue.use(BootstrapVue);
Vue.use(IconsPlugin);
const router = new VueRouter({
routes
});
const store = new Vuex.Store({
state: {
campoValue: "",
},
mutations: {
cleanModalActualizar (state, value) {
state.campoValue = value;
console.log(state, value);
}
}
})
new Vue({
el: "#app",
render: h => h(App),
router,
store: store,
});
+1
View File
@@ -0,0 +1 @@
.boton-footer[data-v-02dfa168]{background-color:#b80;color:#fff;width:14rem;font-size:.8rem}.dos[data-v-02dfa168],.tres[data-v-02dfa168],.uno[data-v-02dfa168]{margin-right:1rem}.btn[data-v-02dfa168]{margin-bottom:1rem}.Azul-puma[data-v-02dfa168]{background-color:#1e3c70}.footer[data-v-02dfa168]{text-align:center;color:#fff}@media (max-width:768px){.tres[data-v-02dfa168],.uno[data-v-02dfa168]{margin-right:4rem}.dos[data-v-02dfa168]{margin-right:0}.footer[data-v-02dfa168]{font-size:.7rem}}@media (max-width:970px){.dos[data-v-02dfa168],.tres[data-v-02dfa168],.uno[data-v-02dfa168]{margin-right:.5rem}.footer[data-v-02dfa168]{font-size:.7rem}}[data-v-30e9b756]{margin:0;padding:0}.divMaster[data-v-30e9b756]{height:auto;margin:0 auto}nav[data-v-30e9b756]{padding:0}.azulUnam[data-v-30e9b756]{background-color:#1e3c70}.doradoUnam[data-v-30e9b756],.dropdown-item[data-v-30e9b756]:hover{background-color:#b80}.dropdown-itemBusqueda[data-v-30e9b756]:hover{background-color:#1e3c70;color:#fff}.nav-link[data-v-30e9b756]:focus{background-color:#1e3c70;border-radius:1rem}.nav-link[data-v-30e9b756]:hover{background-color:#1e3c70;color:#fff;border-radius:.2rem}.nav-link[data-v-30e9b756]{transition:.3s;font-size:20px}.dropdown-item[data-v-30e9b756]{padding:.3rem 1rem}.dropdown[data-v-30e9b756]{position:relative;display:inline-block;height:auto}.dropdown-content[data-v-30e9b756]{position:absolute;background-color:#f9f9f9;min-width:160px;box-shadow:0 8px 16px 0 rgba(0,0,0,.2);top:.8rem;left:-10rem;display:block}.navbar-dark[data-v-30e9b756],.navbar-toggler[data-v-30e9b756]{font-size:1rem;border:none}@media (max-width:450px){.buscador[data-v-30e9b756],.menuText[data-v-30e9b756]{display:block!important}.dropdown-menu[data-v-30e9b756]{width:80vw!important}}.divMaster{height:8rem;margin:0;width:auto}.azulUnam{background-color:#1e3c70}.sizeImg{height:5rem}.logo_acatlan_resp{display:none!important}@media (max-width:450px){.logo_acatlan,.logo_unam{display:none!important}.logo_acatlan_resp{display:block!important}.logo_acatlan_resp a img{height:5rem}}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#2c3e50}a[data-v-993d7938]{font-size:14px;margin-bottom:6px;font-weight:400}.button[data-v-6e1c8750]{background-color:#1b3d70;border:none;color:#fff;height:4rem;width:15rem;text-align:center;text-decoration:none;display:inline-block;font-size:1.5rem;border-radius:1rem;transition-duration:.4s;box-shadow:0 8px 16px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);margin-left:2rem;margin-right:2rem;margin-bottom:2rem;margin-top:2rem}.button[data-v-6e1c8750]:hover{background-color:#b80;color:#fff}.button[data-v-4f1ed9c0]{background-color:#1b3d70;border:none;color:#fff;height:4rem;width:15rem;text-align:center;text-decoration:none;display:inline-block;font-size:1.5rem;border-radius:1rem;transition-duration:.4s;box-shadow:0 8px 16px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);margin-left:2rem;margin-right:2rem;margin-bottom:2rem;margin-top:2rem}.button[data-v-4f1ed9c0]:hover{background-color:#b80;color:#fff}.button[data-v-231605bd]{background-color:#1b3d70;border:none;color:#fff;height:4rem;width:15rem;text-align:center;text-decoration:none;display:inline-block;font-size:1.5rem;border-radius:1rem;transition-duration:.4s;box-shadow:0 8px 16px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);margin-left:2rem;margin-right:2rem;margin-bottom:2rem;margin-top:2rem}.button[data-v-231605bd]:hover{background-color:#b80;color:#fff}.button[data-v-0e9e5529]{background-color:#1b3d70;border:none;color:#fff;height:2.5rem;width:14rem;text-align:center;text-decoration:none;display:inline-block;font-size:1rem;border-radius:.3rem;transition-duration:.4s;box-shadow:0 8px 16px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);margin-top:.3rem}.button[data-v-0e9e5529]:hover{background-color:#b80;color:#fff}
File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

+1
View File
@@ -0,0 +1 @@
<!DOCTYPE html><html lang=""><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="icon" href="/favicon.ico"><title>censo_front</title><link href="/css/app.d992cb34.css" rel="preload" as="style"><link href="/css/chunk-vendors.9e1d7bb4.css" rel="preload" as="style"><link href="/js/app.ca839878.js" rel="preload" as="script"><link href="/js/chunk-vendors.33f96220.js" rel="preload" as="script"><link href="/css/chunk-vendors.9e1d7bb4.css" rel="stylesheet"><link href="/css/app.d992cb34.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but censo_front doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="/js/chunk-vendors.33f96220.js"></script><script src="/js/app.ca839878.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
+514 -363
View File
File diff suppressed because it is too large Load Diff
+11 -22
View File
@@ -8,37 +8,26 @@
"lint": "vue-cli-service lint"
},
"dependencies": {
"bootstrap": "^4.5.3",
"axios": "^0.21.1",
"bootstrap": "^4.6.0",
"bootstrap-vue": "^2.21.2",
"core-js": "^3.6.5",
"jquery": "^3.5.1",
"sweetalert2": "^10.13.3",
"vue": "^2.6.11",
"vue-router": "^3.4.9"
"vue-router": "^3.5.0",
"vuex": "^3.6.0"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~4.5.0",
"@vue/cli-plugin-eslint": "~4.5.0",
"@vue/cli-service": "~4.5.0",
"@vue/eslint-config-prettier": "^6.0.0",
"babel-eslint": "^10.1.0",
"eslint": "^6.7.2",
"eslint-plugin-prettier": "^3.1.3",
"eslint-plugin-vue": "^6.2.2",
"prettier": "^1.19.1",
"vue-template-compiler": "^2.6.11"
},
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/essential",
"eslint:recommended"
],
"parserOptions": {
"parser": "babel-eslint"
},
"rules": {}
},
"browserslist": [
"> 1%",
"last 2 versions",
"not dead"
]
}
}
+1 -1
View File
@@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="en">
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
+15 -14
View File
@@ -1,13 +1,26 @@
<template>
<div id="app">
<Header />
<Navbar />
<router-view></router-view>
<Footer />
</div>
</template>
<script>
import Footer from './components/footer.vue'
import Navbar from './components/nav.vue'
import Header from './components/header.vue'
export default {
name: "App"
};
name: 'App',
components: {
Footer,
Header,
Navbar
}
}
</script>
<style>
@@ -17,17 +30,5 @@ export default {
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
padding: 0;
margin: 0;
}
.row {
margin: 0 !important;
}
.card-img-top {
height: 18rem;
}
</style>
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

+89 -11
View File
@@ -1,4 +1,5 @@
<template>
<div>
<div class="hello">
<h1>{{ msg }}</h1>
<p>
@@ -28,6 +29,50 @@
<li><a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">awesome-vue</a></li>
</ul>
</div>
<footer class="container-fluid Azul-puma footer py-3 ">
<!-- <div class="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
>
<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>
</div>
</div> -->
<div row>
<p class="mb-0 ">Hecho en México, todos los derechos reservados 2020.</p>
<p class="my-0 ">
Esta página puede ser reproducida con fines no lucrativos, siempre y
cuando no se mutile, se cite la fuente
</p>
<p>
completa y su dirección electrónica. De otra forma, requiere permiso
previo por escrito de la institución.
</p>
</div>
</footer>
</div>
</template>
<script>
@@ -39,20 +84,53 @@ export default {
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h3 {
margin: 40px 0 0;
.boton-footer {
background-color: rgb(187, 136, 0);
color: white;
width: 14rem;
font-size: 0.8rem;
}
ul {
list-style-type: none;
padding: 0;
.uno,
.dos,
.tres {
margin-right: 1rem;
}
li {
display: inline-block;
margin: 0 10px;
.btn {
margin-bottom: 1rem;
}
a {
color: #42b983;
.Azul-puma {
background-color: #1e3c70;
}
.footer {
text-align: center;
color: white;
}
@media (max-width: 768px) {
.uno,
.tres {
margin-right: 4rem;
}
.dos {
margin-right: 0rem;
}
.footer {
font-size: 0.7rem;
}
}
@media (max-width: 970px) {
.uno,
.dos,
.tres {
margin-right: 0.5rem;
}
.footer {
font-size: 0.7rem;
}
}
</style>
+5 -14
View File
@@ -14,30 +14,21 @@
<a href="https://www.acatlan.unam.mx/" target="_blank">
<img
class="sizeImg"
src="../assets/FES-editoriales.png"
src="../assets/logo-fesa-45.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>
</div>
</template>
<style>
.divMaster {
height: 7em;
margin: 0 auto;
height: 8rem;
margin: 0;
width: auto;
}
.azulUnam {
+102
View File
@@ -0,0 +1,102 @@
<template>
<b-modal id="actualizarCampo" centered size="lg" hide-footer title="Actualizar Campo" style="height: auto;">
<b-container fluid>
<b-row class="my-1">
<b-col >
<h2 style="text-align: center; margin-bottom: 1.5rem;"> {{campo}}</h2>
</b-col>
</b-row>
<b-row style="margin-bottom: 1rem;">
<b-col sm="3">
<h4>Actual: </h4>
</b-col>
<b-col sm="9">
<h4><strong>{{pcSelected.value}}</strong></h4>
</b-col>
</b-row>
<b-row style="margin-bottom: 1rem;">
<b-col sm="3">
<label style=" padding-top:1rem;">Actualizar: </label>
</b-col>
<b-col sm="9">
<div v-if="opciones.length!=0">
<b-dropdown
split
block
split-variant="outline-primary"
variant="primary"
v-bind:text="opcionSeleted != '' ? opcionSeleted.nombre : campo"
class="m-2"
style="margin: 0"
>
<b-dropdown-item v-for="(opcion,index) in opciones" v-bind:key="index" @click="opcionSeleted=opcion">{{opcion.nombre}}</b-dropdown-item>
</b-dropdown>
</div>
<b-form-input v-else class="m-2" placeholder="Actualizar campo" style="margin: 0"></b-form-input>
</b-col>
</b-row>
<b-row>
<b-col>
<div style="margin-top: 2rem;">
<b-button variant="outline-success" class="float-right" style="width: 30%; " @click="actualizarLibro()">Actualizar</b-button>
<b-button @click="$bvModal.hide('actualizarCampo')" variant="outline-danger" class="btn float-left" style="width: 30%; ">Cancelar</b-button>
</div>
</b-col>
</b-row>
</b-container>
</b-modal>
</template>
<script>
import Swal from 'sweetalert2';
export default {
props: {
campo: String,
pcSelected: Object,
opciones: Array,
objectPc: Object,
opcionSeletedTable: Object
},
data() {
return {
opcionSeleted: this.opcionSeletedTable.value,
campoValue:''
}
},
methods:{
async actualizarLibro(){
try{
if(this.opcionSeleted === "" && this.campoValue === ""){
await Swal.fire(
'¿Aún no has llenado el campo a editar?',
'',
'question'
);
return;
}
if( this.pcSelected.keyTable !== 'noInventario' && this.pcSelected.keyTable !== 'noResguardo' && this.pcSelected.keyTable !== 'idUnidadResponsable'){
let valueCampo = '';
if(this.opciones.length!=0){
valueCampo = this.opcionSeleted.nombre;
}
else{
valueCampo = this.campoValue;
}
const data ={
keyTable : this.pcSelected.keyTable,
idEquipo : this.objectPc.idEquipo,
value: valueCampo
}
console.log(data);
}
}
catch(error){
console.log(error);
}
}
}
}
</script>
+160
View File
@@ -0,0 +1,160 @@
<template>
<div class="divMaster doradoUnam row d-flex justify-content-center">
<div class="col-10 offset-1">
<nav class="navbar navbar-expand-sm navbar-dark ">
<button
class="navbar-toggler col-5"
type="button"
data-toggle="collapse"
data-target="#navbarTogglerDemo02"
aria-controls="navbarTogglerDemo02"
aria-expanded="false"
aria-label="Toggle navigation"
>
<span class="navbar-toggler-icon blanco d-flex"></span>
</button>
<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"
>
<li class="nav-item">
<router-link to="/"><a class="nav-link text-white">Inicio</a></router-link>
</li>
<li class="nav-item ">
<div class="dropdown">
<a
class="btn nav-link dropdown-toggle text-white"
role="button"
id="dropdownMenuLink"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
>
Alta
</a>
<div
class="dropdown-menu azulUnam"
aria-labelledby="navbarDropdown"
>
<router-link to="/agregarEquipo">
<a class="dropdown-item text-white" >Alta de equipo</a>
</router-link>
<router-link to="/agregarImpresora">
<a class="dropdown-item text-white" >Alta de impresora</a>
</router-link>
</div>
</div>
</li>
<li class="nav-item">
<router-link to="/agregarCatalogo"><a class="nav-link text-white">Agregar al catalogo</a></router-link>
</li>
<li>
<div class="d-flex align-items-center mx-4">
<i class='fas fa-user-alt' style='font-size:24px;color:white;margin-right:10px'></i>
<span class="text-white my-auto" v-text="nombre">
</span>
</div>
</li>
</ul>
</div>
</nav>
</div>
</div>
</template>
<script>
export default {
data() {
return {
isExist: true,
libros: [],
nombre: "sas"
};
},
};
</script>
<style scoped>
* {
margin: 0;
padding: 0;
}
.divMaster {
/* max-width: 1280px; */
height: auto;
margin: 0 auto;
}
nav {
padding: 0;
}
.azulUnam {
background-color: #1e3c70;
}
.doradoUnam,.dropdown-item:hover {
background-color: #bb8800;
}
.dropdown-itemBusqueda:hover {
background-color: #1e3c70;
color: white;
}
.nav-link:focus {
background-color: #1e3c70;
border-radius: 1rem;
}
.nav-link:hover {
background-color: #1e3c70;
color: white;
border-radius: 0.2rem;
}
.nav-link {
transition: 0.3s;
font-size: 20px;
}
.dropdown-item {
padding: 0.3rem 1rem;
}
.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);
top: 0.8rem;
left: -10rem;
display: block;
}
.navbar-dark, .navbar-toggler {
font-size: 1rem;
border: none;
}
@media (max-width: 450px) {
.menuText,
.buscador {
display: block !important;
}
.dropdown-menu {
width: 80vw !important;
}
}
</style>
+135
View File
@@ -0,0 +1,135 @@
<template>
<div class="row">
<div class="col-12">
<h3 style="text-align: right; margin-bottom: 1rem;">Totales: {{pcTablesFiltrada.length}} </h3>
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th >
<div class="flex-container">
<button style="align-self: center" class="btn nav-link " type="button" aria-haspopup="true" aria-expanded="false">
Eliminar
</button>
</div>
</th>
<th v-for="(item,indexHeader) in pcHeaders" v-bind:key="indexHeader" scope="col" >
<div class="flex-container">
<div >
<button style="align-self: center" v-if="item.data.length != 0" class="btn nav-link dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{item.nombre}}
</button>
<button style="align-self: center; width: 14rem;" v-else class="btn nav-link " type="button" aria-haspopup="true" aria-expanded="false">
{{item.nombre}}
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton" style="padding:10px;">
<b-dropdown-form >
<div class="checkBox" v-for="(type,index) in item.data" v-bind:key="index" ><b-form-checkbox @change="filtrar(indexHeader, type.nombre)" v-model="type.value" ><a>{{type.nombre}}</a></b-form-checkbox></div>
</b-dropdown-form>
</div>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr v-for="(pc,index) in pcTablesFiltrada" v-bind:key="index">
<td>
<b-button variant="outline-danger">Eliminar</b-button>
</td>
<td v-for="(pcCampo,key) in pc.datos" v-bind:key="key" v-b-modal.actualizarCampo @click="pcSelected=pc.objectPc ,valueCampo=pcCampo , campo = pcHeaders[key].nombre, opciones = pcHeaders[key].data, opcionSeletedTable = {pcCampo, value:''}" >
{{pcCampo.value}}
</td>
</tr>
<Modal v-bind:campo="campo" v-bind:pcSelected="valueCampo" v-bind:opciones="opciones" v-bind:objectPc="pcSelected" v-bind:opcionSeletedTable="opcionSeletedTable" />
</tbody>
</table>
</div>
</div>
</div>
</template>
<script>
import axios from "axios";
import config from "../config/config.js";
import Modal from './modalActualizar.vue'
export default {
name: "home",
components: {
Modal,
},
props: {
campoBuscar: String,
},
data() {
return {
campo:"",
valueCampo:{value:''},
pcHeaders: {},
pcData: [],
tableName: "",
opciones: [],
pcSelected: null,
opcionSeletedTable: {value: ''}
}
},
methods: {
async filtrar(key, dato){
for(let index in this.pcData){
let pc = this.pcData[index];
if(typeof pc.headers[key] !== 'undefined' && typeof pc.datos[key] !== 'undefined' && pc.datos[key] === dato)
pc.headers[key] = !pc.headers[key];
}
},
},
async created() {
try {
let computadoras = await axios.get(`${config.api}/getHeadersComputadoras`);
this.pcHeaders = computadoras.data.data;
}
catch(error){
console.log(error);
}
try {
let computadoras = await axios.get(`${config.api}/getComputadoras`);
this.pcData = computadoras.data.data;
}
catch(error){
console.log(error);
}
},
computed:{
pcTablesFiltrada: function()
{
return this.pcData.filter( (item)=>{
let header = true;
for(let campo in item.headers){
if(!item.headers[campo]){
header = false;
break;
}
}
if(!header)
return false;
let searchInventario = (item.datos.numeroInventario.value).includes(this.campoBuscar) ;
let searchResguardo = (item.datos.numeroResguardo.value).includes(this.campoBuscar) ;
let searchSerie = (item.datos.serie.value).includes(this.campoBuscar) ;
if(searchInventario || searchResguardo || searchSerie)
return true;
return false;
}
);
}
}
};
</script>
<style scoped>
a{
font-size: 14px;
margin-bottom: 6px;
font-weight: normal;
}
</style>
+15
View File
@@ -0,0 +1,15 @@
const config = {
//ngrok
//api: "https://f8d86328e778.ngrok.io"
//Local
api: "http://localhost:3000"
//Pruebas
//api: "https://venus.acatlan.unam.mx/censo_orion"
//Produccion
//api: "https://venus.acatlan.unam.mx/portal_editorial"
};
module.exports = config;
+24 -5
View File
@@ -1,19 +1,38 @@
import Vue from 'vue'
import App from './App.vue'
import Vue from "vue";
import App from "./App.vue";
import "bootstrap";
import "bootstrap/dist/css/bootstrap.min.css";
import Vuex from 'vuex';
import VueRouter from "vue-router";
import { routes } from "./routes";
import { BootstrapVue, IconsPlugin } from 'bootstrap-vue'
Vue.config.productionTip = false;
Vue.use(VueRouter);
Vue.use(Vuex)
Vue.use(BootstrapVue);
Vue.use(IconsPlugin);
const router = new VueRouter({
routes
});
const store = new Vuex.Store({
state: {
campoValue: "",
},
mutations: {
cleanModalActualizar (state, value) {
state.campoValue = value;
console.log(state, value);
}
}
})
new Vue({
el: "#app",
render: h => h(App),
router
router,
store: store,
});
+8 -3
View File
@@ -1,5 +1,10 @@
import home from "./view/home.vue";
import addPrinter from "./view/addPrinter.vue";
import addPcs from "./view/addPcs"
import addCatalogo from "./view/addCatalogo"
export const routes = [
{ path: "/", component: home, name: "form" }
];
{ path: "/", component: home, name: "home" },
{ path: "/agregarImpresora", component: addPrinter, name: "addPrinter" },
{ path: "/agregarEquipo", component: addPcs, name: "addPcs" },
{ path: "/agregarCatalogo", component: addCatalogo, name: "addCataogo" }
]
+98
View File
@@ -0,0 +1,98 @@
<template>
<div>
<h1 class="mt-5 mb-5">Agregar al Catalogo</h1>
<div class="container">
<b-card title="Card Title" no-body style="margin-bottom: 4rem;">
<b-card-header header-tag="nav">
<b-nav card-header tabs>
<b-nav-item @click="textSelected= 'Tipo de Impresora'" v-bind:active="textSelected=='Tipo de Impresora'">Tipo de Impresora</b-nav-item>
<b-nav-item @click="textSelected= 'Marca de Impresora'" v-bind:active="textSelected=='Marca de Impresora'">Marca de Impresora</b-nav-item>
<b-nav-item @click="textSelected= 'Tipo de Uso'" v-bind:active="textSelected== 'Tipo de Uso'">Tipo de Uso </b-nav-item>
<b-nav-item @click="textSelected= 'Procesador'" v-bind:active="textSelected== 'Procesador'">Procesador</b-nav-item>
<b-nav-item @click="textSelected= 'Marca '" v-bind:active="textSelected== 'Sistema Operativo'">Sistema Operativo</b-nav-item>
<b-nav-item @click="textSelected= 'Tarjeta Grafica'" v-bind:active="textSelected== 'Tarjeta Grafica'">Tarjeta Grafica</b-nav-item>
<b-nav-item @click="textSelected= 'Tipo de memoride Equipo'" v-bind:active="textSelected== 'Marca de Equipo'">Marca de Equipo</b-nav-item>
<b-nav-item @click="textSelected= 'Sistema Operativoa Ram'" v-bind:active="textSelected== 'Tipo de memoria Ram'">Tipo de memoria Ram</b-nav-item>
<b-nav-item @click="textSelected= 'Tipo de Equipo de Computo'" v-bind:active="textSelected== 'Tipo de Equipo de Computo'">Tipo de Equipo de Computo</b-nav-item>
<b-nav-item @click="textSelected= 'Unidad Responsable'" v-bind:active="textSelected== 'Unidad Responsable'">Unidad Responsable</b-nav-item>
</b-nav>
</b-card-header>
<b-card-body class="text-center">
<div class="container">
<div class="row" v-if="textSelected!='Unidad Responsable'">
<div class="col-md-8" >
<b-form-input style="margin: .5rem;" class="fadeIn second" id="input-small" v-bind:placeholder="textSelected"></b-form-input>
</div>
<div class="col-md-4" >
<div class="pure-u-1 pure-u-md-1-2">
<button class="button " >
Agregar
</button>
</div>
</div>
</div>
<div class="row" v-else>
<div class="col-md-12" >
<b-form-input style="margin: .5rem;" class="fadeIn second" id="input-small" placeholder="Nombre de la Unidad Responsable"></b-form-input>
</div>
<div class="col-md-12" >
<b-form-input style="margin: .5rem;" class="fadeIn second" id="input-small" placeholder="Nombre del Responsable"></b-form-input>
</div>
<div class="col-md-12" >
<b-form-input style="margin: .5rem;" class="fadeIn second" id="input-small" placeholder="Ubicación fisica"></b-form-input>
</div>
<div class="col-md-12" >
<div class="pure-u-1 pure-u-md-1-2">
<button class="button " >
Agregar
</button>
</div>
</div>
</div>
</div>
</b-card-body>
</b-card>
</div>
</div>
</template>
<script>
export default {
name: "home",
components: {
},
data() {
return {
textSelected : 'Tipo de Impresora'
}
},
methods: {
}
};
</script>
<style scoped>
.button {
background-color: #1b3d70; /* Green */
border: none;
color: white;
height: 2.5rem;
width: 14rem;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 1rem;
border-radius: .3rem;
-webkit-transition-duration: 0.4s; /* Safari */
transition-duration: 0.4s;
box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
margin-top: .3rem;
}
.button:hover {
background-color: #bb8800;
color: white;
}
</style>
+183
View File
@@ -0,0 +1,183 @@
<template>
<div class="container">
<h1 style="margin: 2rem">Agregar Equipo</h1>
<div class="row">
<div class="col-md-4" >
<b-form-input style="margin: .5rem;" class="fadeIn second" id="input-small" placeholder="Número de inventario"></b-form-input>
</div>
<div class="col-md-4" >
<b-form-input style="margin: .5rem;" class="fadeIn second" id="input-small" placeholder="Número de resguardo"></b-form-input>
</div>
<div class="col-md-4" >
<b-form-input style="margin: .5rem;" class="fadeIn second" id="input-small" placeholder="Serie"></b-form-input>
</div>
</div>
<div class="row">
<div class="col-md-4" >
<b-form-input style="margin: .5rem;" class="fadeIn second" id="input-small" placeholder="Cantidad de memoria RAM"></b-form-input>
</div>
<div class="col-md-4" >
<b-form-input style="margin: .5rem;" class="fadeIn second" id="input-small" placeholder="Velocidad de memoria Ram"></b-form-input>
</div>
<div class="col-md-4" >
<b-dropdown v-bind:text="tipoMemoriaRamSelected != null ? tipoMemoriaRamSelected.nombre : 'Tipo de Memoria Ram'" block variant="outline-primary" class="m-2">
<b-dropdown-item v-for="tipo in tipoMemoriaRam" v-bind:key="tipo.id" @click="tipoMemoriaRamSelected = tipo">{{tipo.nombre}}</b-dropdown-item>
</b-dropdown>
</div>
</div>
<div class="row">
<div class="col-md-4" >
<b-dropdown v-bind:text="tarjetaGraficaSelected != null ? tarjetaGraficaSelected.nombre : 'Tipo de tarjeta grafica'" block variant="outline-primary" class="m-2">
<b-dropdown-item v-for="tipo in tarjetaGrafica" v-bind:key="tipo.id" @click="tarjetaGraficaSelected = tipo">{{tipo.nombre}}</b-dropdown-item>
</b-dropdown>
</div>
<div class="col-md-4" >
<b-form-input style="margin: .5rem;" class="fadeIn second" id="input-small" placeholder="Tamaño de la tarjeta grafica"></b-form-input>
</div>
<div class="col-md-4" >
<b-dropdown v-bind:text="tipoEquipoSelected != null ? tipoEquipoSelected.nombre : 'Tipo de Equipo'" block variant="outline-primary" class="m-2">
<b-dropdown-item v-for="tipo in tipoEquipo" v-bind:key="tipo.id" @click="tipoEquipoSelected = tipo">{{tipo.nombre}}</b-dropdown-item>
</b-dropdown>
</div>
</div>
<div class="row">
<div class="col-md-4" >
<b-dropdown v-bind:text="osSelected != null ? osSelected.nombre : 'Sistema operativo'" block variant="outline-primary" class="m-2">
<b-dropdown-item v-for="tipo in os" v-bind:key="tipo.id" @click="osSelected = tipo">{{tipo.nombre}}</b-dropdown-item>
</b-dropdown>
</div>
<div class="col-md-4" >
<b-form-input style="margin: .5rem;" class="fadeIn second" id="input-small" placeholder="Versión"></b-form-input>
</div>
<div class="col-md-4" >
<b-dropdown v-bind:text="procesadorSelected != null ? procesadorSelected.nombre : 'Procesador'" block variant="outline-primary" class="m-2">
<b-dropdown-item v-for="tipo in procesador" v-bind:key="tipo.id" @click="procesadorSelected = tipo">{{tipo.nombre}}</b-dropdown-item>
</b-dropdown>
</div>
</div>
<div class="row">
<div class="col-md-4" >
<b-form-input style="margin: .5rem;" class="fadeIn second" id="input-small" placeholder="Velocidad del procesador GHz"></b-form-input>
</div>
<div class="col-md-8">
<b-form-input style="margin: .5rem;" class="fadeIn second" id="input-small" placeholder="Descripción del procesador"></b-form-input>
</div>
</div>
<div class="row">
<div class="col-md-4" >
<b-dropdown v-bind:text="marcaSelected != null ? marcaSelected.nombre : 'Marca'" block variant="outline-primary" class="m-2">
<b-dropdown-item v-for="tipo in marca" v-bind:key="tipo.id" @click="marcaSelected = tipo">{{tipo.nombre}}</b-dropdown-item>
</b-dropdown>
</div>
<div class="col-md-4" >
<b-form-input style="margin: .5rem;" class="fadeIn second" id="input-small" placeholder="Modelo"></b-form-input>
</div>
<div class="col-md-4" >
<b-dropdown v-bind:text="usoSelected != null ? usoSelected.nombre : 'Uso'" block variant="outline-primary" class="m-2">
<b-dropdown-item v-for="tipo in uso" v-bind:key="tipo.id" @click="usoSelected = tipo">{{tipo.nombre}}</b-dropdown-item>
</b-dropdown>
</div>
</div>
<div class="row">
<div class="col-md-12" >
<b-dropdown v-bind:text="unidadSelected != null ? unidadSelected.unidadResponsable.nombre : 'Unidad Responsable'" block variant="outline-primary" class="m-2">
<b-dropdown-item v-for="tipo in unidad" v-bind:key="tipo.unidadResponsable.id" @click="unidadSelected = tipo">{{tipo.unidadResponsable.nombre}}</b-dropdown-item>
</b-dropdown>
</div>
<div class="col-md-12 " >
<b-dropdown v-bind:text="unidadSelected != null ? unidadSelected.responsable.nombre : 'Nombre del responsable'" block variant="outline-primary" class="m-2">
<b-dropdown-item v-for="tipo in unidad" v-bind:key="tipo.responsable.id" @click="unidadSelected = tipo">{{tipo.responsable.nombre}}</b-dropdown-item>
</b-dropdown>
</div>
<div class="col-md-12 " >
<b-dropdown v-bind:text="unidadSelected != null ? unidadSelected.ubicacion.nombre : 'Ubicación'" block variant="outline-primary" class="m-2">
<b-dropdown-item v-for="tipo in unidad" v-bind:key="tipo.ubicacion.id" @click="unidadSelected = tipo">{{tipo.ubicacion.nombre}}</b-dropdown-item>
</b-dropdown>
</div>
</div>
<div class="pure-u-1 pure-u-md-1-2">
<button class="button " >
Agregar
</button>
</div>
</div>
</template>
<script>
import axios from "axios";
import config from "../config/config.js";
export default {
name: "home",
components: {
},
data() {
return {
typeSelected:"Equipos",
tipoEquipo : null,
tipoEquipoSelected: null,
tipoMemoriaRam : null,
tipoMemoriaRamSelected: null,
tarjetaGrafica : null,
tarjetaGraficaSelected: null,
os : null,
osSelected: null,
marca : null,
marcaSelected: null,
procesador : null,
procesadorSelected: null,
unidad: null,
unidadSelected: null,
uso: null,
usoSelected : null
}
},
methods: {
},
async created() {
try {
let catalogo = await axios.get(`${config.api}/getCatalgoEquipo`);
this.tipoEquipo= catalogo.data.catalogos.tipoEquipo;
this.tipoMemoriaRam= catalogo.data.catalogos.tipoMemoriaRam;
this.tarjetaGrafica= catalogo.data.catalogos.tarjetaGrafica;
this.os= catalogo.data.catalogos.os;
this.marca= catalogo.data.catalogos.marca;
this.procesador= catalogo.data.catalogos.procesador;
this.unidad= catalogo.data.catalogos.unidad;
this.uso = catalogo.data.catalogos.uso;
}
catch(error){
console.log(error);
}
},
};
</script>
<style scoped>
.button {
background-color: #1b3d70; /* Green */
border: none;
color: white;
height: 4rem;
width: 15rem;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 1.5rem;
border-radius: 1rem;
-webkit-transition-duration: 0.4s; /* Safari */
transition-duration: 0.4s;
box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
margin-left: 2rem;
margin-right: 2rem;
margin-bottom: 2rem;
margin-top: 2rem;
}
.button:hover {
background-color: #bb8800;
color: white;
}
</style>
+131
View File
@@ -0,0 +1,131 @@
<template>
<div class="container">
<h1 style="margin: 2rem">Agregar impresora</h1>
<div class="row">
<div class="col-md-4" >
<b-form-input style="margin: .5rem;" class="fadeIn second" id="input-small" placeholder="Número de inventario"></b-form-input>
</div>
<div class="col-md-4" >
<b-form-input style="margin: .5rem;" class="fadeIn second" id="input-small" placeholder="Número de resguardo"></b-form-input>
</div>
<div class="col-md-4" >
<b-form-input style="margin: .5rem;" class="fadeIn second" id="input-small" placeholder="Serie"></b-form-input>
</div>
</div>
<div class="row">
<div class="col-md-6">
<b-form-input style="margin: .5rem;" id="input-small" placeholder="Serie"></b-form-input>
</div>
<div class="col-md-6">
<b-form-input style="margin: .5rem;" id="input-small" placeholder="Modelo"></b-form-input>
</div>
</div>
<div class="row">
<div class="col-md-4" >
<b-dropdown v-bind:text="tipoImpresora != null ? tipoImpresoraSelected.nombre : 'Tipo de Impresora'" block variant="outline-primary" class="m-2">
<b-dropdown-item v-for="tipo in tipoImpresora" v-bind:key="tipo.id" @click="tipoImpresoraSelected = tipo">{{tipo.nombre}}</b-dropdown-item>
</b-dropdown>
</div>
<div class="col-md-4 " >
<b-dropdown v-bind:text="marcaImpresoraSelected != null ? marcaImpresora.nombre : 'Marca de impresora'" block variant="outline-primary" class="m-2">
<b-dropdown-item v-for="tipo in marcaImpresora" v-bind:key="tipo.id" @click="marcaImpresoraSelected = tipo">{{tipo.nombre}}</b-dropdown-item>
</b-dropdown>
</div>
<div class="col-md-4 " >
<b-dropdown v-bind:text="usoSelected != null ? uso.nombre : 'Tipo de Uso'" block variant="outline-primary" class="m-2">
<b-dropdown-item v-for="tipo in uso" v-bind:key="tipo.id" @click="usoSelected = tipo">{{tipo.nombre}}</b-dropdown-item>
</b-dropdown>
</div>
</div>
<div class="row">
<div class="col-md-12" >
<b-dropdown v-bind:text="unidadSelected != null ? unidadSelected.unidadResponsable.nombre : 'Unidad Responsable'" block variant="outline-primary" class="m-2">
<b-dropdown-item v-for="tipo in unidad" v-bind:key="tipo.unidadResponsable.id" @click="unidadSelected = tipo">{{tipo.unidadResponsable.nombre}}</b-dropdown-item>
</b-dropdown>
</div>
<div class="col-md-12 " >
<b-dropdown v-bind:text="unidadSelected != null ? unidadSelected.responsable.nombre : 'Nombre del responsable'" block variant="outline-primary" class="m-2">
<b-dropdown-item v-for="tipo in unidad" v-bind:key="tipo.responsable.id" @click="unidadSelected = tipo">{{tipo.responsable.nombre}}</b-dropdown-item>
</b-dropdown>
</div>
<div class="col-md-12 " >
<b-dropdown v-bind:text="unidadSelected != null ? unidadSelected.ubicacion.nombre : 'Ubicación'" block variant="outline-primary" class="m-2">
<b-dropdown-item v-for="tipo in unidad" v-bind:key="tipo.ubicacion.id" @click="unidadSelected = tipo">{{tipo.ubicacion.nombre}}</b-dropdown-item>
</b-dropdown>
</div>
</div>
<div class="pure-u-1 pure-u-md-1-2">
<button class="button " >
Agregar
</button>
</div>
</div>
</template>
<script>
import axios from "axios";
import config from "../config/config.js";
export default {
name: "home",
components: {
},
data() {
return {
typeSelected:"Equipos",
marcaImpresora : null,
marcaImpresoraSelected: null,
tipoImpresora: null,
tipoImpresoraSelected: null,
unidad: null,
unidadSelected: null,
uso: null,
usoSelected: null,
}
},
methods: {
},
async created() {
try {
let catalogo = await axios.get(`${config.api}/getCatalgoEquipo`);
this.marcaImpresora = catalogo.data.catalogos.marcaImpresora;
this.tipoImpresora = catalogo.data.catalogos.tipoImpresora;
this.unidad= catalogo.data.catalogos.unidad;
this.uso = catalogo.data.catalogos.uso;
}
catch(error){
console.log(error);
}
},
};
</script>
<style scoped>
.button {
background-color: #1b3d70; /* Green */
border: none;
color: white;
height: 4rem;
width: 15rem;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 1.5rem;
border-radius: 1rem;
-webkit-transition-duration: 0.4s; /* Safari */
transition-duration: 0.4s;
box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
margin-left: 2rem;
margin-right: 2rem;
margin-bottom: 2rem;
margin-top: 2rem;
}
.button:hover {
background-color: #bb8800;
color: white;
}
</style>
+71 -48
View File
@@ -1,58 +1,81 @@
<template>
<div class="hello">
<Header />
<h1>{{ msg }}</h1>
<ul>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint" target="_blank" rel="noopener">eslint</a></li>
</ul>
<h3>Essential Links</h3>
<ul>
<li><a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a></li>
<li><a href="https://forum.vuejs.org" target="_blank" rel="noopener">Forum</a></li>
<li><a href="https://chat.vuejs.org" target="_blank" rel="noopener">Community Chat</a></li>
<li><a href="https://twitter.com/vuejs" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a></li>
</ul>
<h3>Ecosystem</h3>
<ul>
<li><a href="https://router.vuejs.org" target="_blank" rel="noopener">vue-router</a></li>
<li><a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a></li>
<li><a href="https://github.com/vuejs/vue-devtools#vue-devtools" target="_blank" rel="noopener">vue-devtools</a></li>
<li><a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener">vue-loader</a></li>
<li><a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">awesome-vue</a></li>
</ul>
</div>
<div>
<h1 class="mt-5 mb-5">Sistema de Censo</h1>
<div class="container">
<div class="row mb-5">
<div class="col-sm">
<b-input-group size="sm" class="mb-2">
<b-input-group-prepend is-text>
<b-icon icon="search"></b-icon>
</b-input-group-prepend>
<b-form-input type="search" placeholder="Buscar por número de inventario, númerio de resguardo o serie" v-model="campoBuscar" ></b-form-input>
</b-input-group>
</div>
<div class="col-sm">
<button type="button" class="btn btn-outline-primary float-right" @click="typeSelected=='Equipos' ? typeSelected='Impresoras': typeSelected='Equipos'">{{typeSelected}}</button>
</div>
</div>
</div>
<div class="container" v-if="typeSelected =='Equipos'">
<PcTable v-bind:campoBuscar="campoBuscar" />
</div>
<div class="container" v-else>
<PrinterTable />
</div>
<div class="pure-u-1 pure-u-md-1-2">
<button class="button " >
Descargar Excel
</button>
</div>
</div>
</template>
<script>
import Header from "./../components/header.vue";
export default {
name: 'home',
components: {
Header
},
props: {
msg: String
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
import PcTable from './../components/pcsTable.vue'
import PrinterTable from './../components/printersTable.vue'
export default {
name: "home",
components: {
PcTable,
PrinterTable,
},
data() {
return {
typeSelected:"Equipos",
campoBuscar: ""
}
},
methods: {
}
};
</script>
<style scoped>
h3 {
margin: 40px 0 0;
}
ul {
list-style-type: none;
padding: 0;
}
li {
.button {
background-color: #1b3d70; /* Green */
border: none;
color: white;
height: 4rem;
width: 15rem;
text-align: center;
text-decoration: none;
display: inline-block;
margin: 0 10px;
font-size: 1.5rem;
border-radius: 1rem;
-webkit-transition-duration: 0.4s; /* Safari */
transition-duration: 0.4s;
box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
margin-left: 2rem;
margin-right: 2rem;
margin-bottom: 2rem;
margin-top: 2rem;
}
a {
color: #42b983;
.button:hover {
background-color: #bb8800;
color: white;
}
</style>