11 Commits

Author SHA1 Message Date
eithan 11db26ba35 cambio de boton prueba 1 2021-01-27 18:44:13 -06:00
eithan 81a0b42901 prueba2 2021-01-27 14:54:21 -06:00
eithan 53fe2b235a prueba 2021-01-27 14:33:30 -06:00
danielGe e88392e59e contruido para pruebas 2021-01-26 11:47:04 -06:00
danielGe 6b4725b12f contruido para pruebas 2021-01-26 11:25:36 -06:00
danielGe af507e3793 constuido para produccion 2021-01-26 00:55:14 -06:00
danielGe 1c1b90a262 contruido para produccion 2021-01-26 00:51:56 -06:00
danielGe e846974d40 change gitignore 2021-01-25 22:53:52 -06:00
danielGe 1a96f677cc agregar a pruebas 2021-01-25 22:27:57 -06:00
danielGe c32cd5532b agregar a pruebas 2021-01-25 22:22:35 -06:00
danielGe ca7550bf79 incio del proyecto 2021-01-20 03:18:47 -06:00
52 changed files with 1573 additions and 13233 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"]
};
-23
View File
@@ -1,23 +0,0 @@
.DS_Store
node_modules
/dist
# local env files
.env.local
.env.*.local
# 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'
]
}
-12021
View File
File diff suppressed because it is too large Load Diff
-50
View File
@@ -1,50 +0,0 @@
{
"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",
"bootstrap": "^4.5.3",
"bootstrap-vue": "^2.21.1",
"core-js": "^3.6.5",
"jquery": "^3.5.1",
"popper.js": "^1.16.1",
"vue": "^2.6.12",
"vue-router": "^3.4.9"
},
"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>
@@ -1,43 +0,0 @@
<template>
<b-modal id="actualizarCampo" centered size="lg" hide-footer title="Actualizar Campo">
<b-container fluid>
<b-row class="my-1">
<b-col >
<h1>Actualizar {{campo}}</h1>
</b-col>
</b-row>
<b-row>
<b-col sm="3">
<h4>Actual: </h4>
</b-col>
<b-col sm="9">
<h4><strong>{{campo}}</strong></h4>
</b-col>
</b-row>
<b-row>
<b-col sm="3">
<label for="changeValue">Actualizar: </label>
</b-col>
<b-col sm="9">
<b-form-input id="changeValue" placeholder="Actualizar campo"></b-form-input>
</b-col>
</b-row>
<b-row>
<b-col>
<div style="margin-top: 2rem;">
<b-button class="btn btn-outline-success float-right" @click="enviarFicha()" style="width: 30%; ">Enviar</b-button>
<b-button @click="$bvModal.hide('fichaDeposito')" variant="outline-danger" class="btn float-left" style="width: 30%; ">Cancelar</b-button>
</div>
</b-col>
</b-row>
</b-container>
</b-modal>
</template>
<script>
export default {
props: {
campo: String,
value: String
}
}
</script>
-93
View File
@@ -1,93 +0,0 @@
<template>
<div class="row">
<div class="col-12">
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th v-for="item in pcHeaders" v-bind:key="item.nombre" scope="col">
<div class="dropdown">
<button class="btn nav-link dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{item.nombre}}
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<b-dropdown-form>
<b-form-checkbox v-for="type in item.data" v-bind:key="type" scope="col"><a>{{type.nombre}}</a></b-form-checkbox>
</b-dropdown-form>
</div>
</div>
</th>
</tr>
</thead>
<tbody>
<tr v-for="pc in pcData" v-bind:key="pc.index">
<td v-for="(pcCampo,key) in pc" v-bind:key="pcCampo" v-b-modal.actualizarCampo @click="campo=pcCampo ,valueCampo = pcHeaders[key].nombre" >
{{pcCampo}}
</td>
</tr>
</tbody>
</table>
</div>
</div>
<Modal v-bind:campo="campo" v-bind:value="valueCampo" />
</div>
</template>
<script>
import Modal from './modalActualizar.vue'
export default {
name: "home",
components: {
Modal,
},
data() {
return {
campo:"",
valueCampo:"",
pcHeaders: {
noInventario: {nombre: "Inventario", data: []},
activoFijo: {nombre: "Tipo", data: [{nombre: "compu", value: true}, {nombre: "dos", value: true}]},
modelo: {nombre: "Modelo", data: []},
marca: {nombre: "Marca", data: []},
noSerie: {nombre: "Serie", data: []},
procesador: {nombre: "Procesador", data: []},
vProcesador: {nombre: "Velocidad de procesador (MHz)", data: []},
hdd: {nombre: "ROM (GB)", data: []},
memoriasz: {nombre: "RAM (MB)", data: []},
memoria: {nombre: "Tipo de memoria", data: []},
vMemoria: {nombre: "Velocidad de memoria (MHz)", data: []},
graficos:{nombre: "Gráficos", data: []},
osname: {nombre: "Sistema operativo", data: []},
noResguardo: {nombre: "Resguardo", data: []},
uResponsable: {nombre: "Unidad responsable", data: []},
nombreResponsable: {nombre: "Responsable", data: []},
ubicacion: {nombre: "Ubicación", data: []},
uso: {nombre: "Uso", data: []}
},
pcData: [
{ noInventario: "Inventario",
activoFijo: "Tipo",
modelo: "Modelo",
marca: "Marca",
noSerie: "Serie",
procesador: "Procesador",
vProcesador: "Velocidad de procesador (MHz)",
hdd: "ROM (GB)",
memoriasz: "RAM (MB)",
memoria: "Tipo de memoria",
vMemoria: "Velocidad de memoria (MHz)",
graficos: "Gráficos",
osname: "Sistema operativo",
noResguardo: "Resguardo",
uResponsable: "Unidad responsable",
nombreResponsable: "Responsable",
ubicacion: "Ubicación",
uso: "Uso" },
],
}
},
methods: {
}
};
</script>
-23
View File
@@ -1,23 +0,0 @@
import Vue from "vue";
import App from "./App.vue";
import "bootstrap";
import "bootstrap/dist/css/bootstrap.min.css";
import VueRouter from "vue-router";
import { routes } from "./routes";
import { BootstrapVue, IconsPlugin } from 'bootstrap-vue'
Vue.config.productionTip = false;
Vue.use(VueRouter);
Vue.use(BootstrapVue);
Vue.use(IconsPlugin);
const router = new VueRouter({
routes
});
new Vue({
el: "#app",
render: h => h(App),
router
});
-8
View File
@@ -1,8 +0,0 @@
import home from "./view/home.vue";
import addPrinter from "./view/addPrinter.vue";
import addPcs from "./view/addPcs"
export const routes = [
{ path: "/", component: home, name: "home" },
{ path: "/agregarImpresora", component: addPrinter, name: "addPrinter" },
{ path: "/agregarEquipo", component: addPcs, name: "addPcs" }
];
-119
View File
@@ -1,119 +0,0 @@
<template>
<div class="container">
<h1>Agregar Equipo</h1>
<div class="row">
<div class="col-md-4">
<b-form-input class="fadeIn second" id="input-small" placeholder="Número de inventario"></b-form-input>
</div>
<div class="col-md-4">
<b-form-input class="fadeIn second" id="input-small" placeholder="Tipo"></b-form-input>
</div>
<div class="col-md-4">
<b-form-input class="fadeIn second" id="input-small" placeholder="Modelo"></b-form-input>
</div>
</div>
<div class="row">
<div class="col-md-4">
<b-form-input class="fadeIn second" id="input-small" placeholder="Marca"></b-form-input>
</div>
<div class="col-md-4">
<b-form-input class="fadeIn second" id="input-small" placeholder="Serie"></b-form-input>
</div>
<div class="col-md-4">
<b-form-input class="fadeIn second" id="input-small" placeholder="Procesador"></b-form-input>
</div>
</div>
<div class="row">
<div class="col-md-4">
<b-form-input class="fadeIn second" id="input-small" placeholder="Velocidad de procesador (MHz)"></b-form-input>
</div>
<div class="col-md-4">
<b-form-input class="fadeIn second" id="input-small" placeholder="ROM (GB)"></b-form-input>
</div>
<div class="col-md-4">
<b-form-input class="fadeIn second" id="input-small" placeholder="RAM (MB)"></b-form-input>
</div>
</div>
<div class="row">
<div class="col-md-4">
<b-form-input class="fadeIn second" id="input-small" placeholder="Tipo de memoria"></b-form-input>
</div>
<div class="col-md-4">
<b-form-input class="fadeIn second" id="input-small" placeholder="Velocidad de memoria (MHz)"></b-form-input>
</div>
<div class="col-md-4">
<b-form-input class="fadeIn second" id="input-small" placeholder="Gráficos"></b-form-input>
</div>
</div>
<div class="row">
<div class="col-md-4">
<b-form-input class="fadeIn second" id="input-small" placeholder="Sistema operativo"></b-form-input>
</div>
<div class="col-md-4">
<b-form-input class="fadeIn second" id="input-small" placeholder="Resguardo"></b-form-input>
</div>
<div class="col-md-4">
<b-form-input class="fadeIn second" id="input-small" placeholder="Unidad responsable"></b-form-input>
</div>
</div>
<div class="row">
<div class="col-md-4">
<b-form-input class="fadeIn second" id="input-small" placeholder="Responsable"></b-form-input>
</div>
<div class="col-md-4">
<b-form-input class="fadeIn second" id="input-small" placeholder="Ubicación"></b-form-input>
</div>
<div class="col-md-4">
<b-form-input class="fadeIn second" id="input-small" placeholder="Uso"></b-form-input>
</div>
</div>
<div class="pure-u-1 pure-u-md-1-2">
<button class="button " >
Agregar
</button>
</div>
</div>
</template>
<script>
export default {
name: "home",
components: {
},
data() {
return {
typeSelected:"Equipos",
}
},
methods: {
}
};
</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>
-95
View File
@@ -1,95 +0,0 @@
<template>
<div class="container">
<h1>Agregar impresora</h1>
<div class="row">
<div class="col-md-4">
<b-form-input id="input-small" placeholder="Número de inventario"></b-form-input>
</div>
<div class="col-md-4">
<b-form-input id="input-small" placeholder="Tipo"></b-form-input>
</div>
<div class="col-md-4">
<b-form-input id="input-small" placeholder="Modelo"></b-form-input>
</div>
</div>
<div class="row">
<div class="col-md-4">
<b-form-input id="input-small" placeholder="Marca"></b-form-input>
</div>
<div class="col-md-4">
<b-form-input id="input-small" placeholder="Serie"></b-form-input>
</div>
<div class="col-md-4">
<b-form-input id="input-small" placeholder="Descripcion adicional"></b-form-input>
</div>
</div>
<div class="row">
<div class="col-md-4">
<b-form-input id="input-small" placeholder="Resguardo"></b-form-input>
</div>
<div class="col-md-4">
<b-form-input id="input-small" placeholder="Unidad responsable"></b-form-input>
</div>
<div class="col-md-4">
<b-form-input id="input-small" placeholder="Nombre del responsable"></b-form-input>
</div>
</div>
<div class="row">
<div class="col-md-4">
<b-form-input id="input-small" placeholder="Ubicación"></b-form-input>
</div>
<div class="col-md-4">
<b-form-input id="input-small" placeholder="Uso"></b-form-input>
</div>
</div>
<div class="pure-u-1 pure-u-md-1-2">
<button class="button " >
Agregar
</button>
</div>
</div>
</template>
<script>
export default {
name: "home",
components: {
},
data() {
return {
typeSelected:"Equipos",
}
},
methods: {
}
};
</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>
-80
View File
@@ -1,80 +0,0 @@
<template>
<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" ></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 />
</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 PcTable from './../components/pcsTable.vue'
import PrinterTable from './../components/printersTable.vue'
export default {
name: "home",
components: {
PcTable,
PrinterTable,
},
data() {
return {
typeSelected:"Equipos",
}
},
methods: {
}
};
</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>
+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-eacb7b7a]{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.46afbad4.css" rel="preload" as="style"><link href="css/chunk-vendors.9e1d7bb4.css" rel="preload" as="style"><link href="js/app.1d637d17.js" rel="preload" as="script"><link href="js/chunk-vendors.7c846a9f.js" rel="preload" as="script"><link href="css/chunk-vendors.9e1d7bb4.css" rel="stylesheet"><link href="css/app.46afbad4.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.7c846a9f.js"></script><script src="js/app.1d637d17.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
+435 -282
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 {
+173
View File
@@ -0,0 +1,173 @@
<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;"> {{selectPC}}</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 class="dropdown-container" v-if="opciones.length!=0">
<div class="dropdown">
<button class="btn dropdown-toggle btn btn-outline-primary dropdown-toggle btn-block short" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{opcionSeleted != '' ? opcionSeleted.nombre : campo}}
</button>
<div class="dropdown-menu " aria-labelledby="dropdownMenuButton">
<div class="containerDrop" v-for="(opcion,index) in opciones" v-bind:key="index" @click="opcionSeleted=opcion">
<a class="dropdown-item " ><p> {{opcion.nombre}}</p></a>
</div>
</div>
</div>
</div>
<b-form-input v-else v-model="campoValue" 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="actualizarCampo()">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>
<style scoped>
.dropdown-item,.short{
width: 100%;
overflow: hidden;
white-space: pre;
text-overflow: ellipsis;
-webkit-appearance: none;
word-wrap: break-word;
text-overflow: inherit;
white-space: normal;
}
.dropdown {
position: relative ;
display: inline-block;
height: auto;
width: 100% !important;
}
.dropdown-menu{
height: 20rem;
width: 100%;
overflow-y: scroll;
}
</style>
<script>
import Swal from 'sweetalert2';
import axios from "axios";
import config from "../config/config.js";
export default {
props: {
campo: String,
pcSelected: Object,
opciones: Array,
objectPc: Object,
},
data() {
return {
opcionSeleted: '',
campoValue:'',
pc: this.campo
}
},
methods:{
cambiar(){
this.opcionSeleted = '';
this.campoValue = '';
this.pc = this.pcSelected;
},
async actualizarCampo(){
try{
if(this.opcionSeleted === "" && this.campoValue === ""){
await Swal.fire(
'¿Aún no has llenado el campo a editar?',
'',
'question'
);
return;
}
let data = {};
let valueCampo = '';
if(this.opciones.length!=0){
valueCampo = this.opcionSeleted.id;
}
else{
valueCampo = this.campoValue;
}
data ={
keyTable : this.pcSelected.keyTable,
idEquipo : this.objectPc.idEquipo,
idInventario: this.objectPc.idInventario,
value: valueCampo,
equipo: false
}
if( this.pcSelected.keyTable !== 'noInventario' && this.pcSelected.keyTable !== 'noResguardo' && this.pcSelected.keyTable !== 'idUnidadResponsable'){
data.equipo = true;
}
try{
await axios.post( `${config.api}/editarCampoEquipo`, data );
await Swal.fire(
'Se actualizo con exito el campo',
'',
'success'
);
location.reload();
return;
}
catch(error){
console.log(error);
await Swal.fire(
'No se pudo actualizar el campo',
`Error en consola ${error}`,
'error'
);
return;
}
}
catch(error){
console.log(error);
}
}
},
computed:{
selectPC : function(){
if(this.pcSelected !== this.pc ){
this.cambiar();
}
return this.campo;
}
},
}
</script>
@@ -47,6 +47,9 @@
</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>
+180
View File
@@ -0,0 +1,180 @@
<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" @click="eliminar(pc.objectPc)">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" >
{{pcCampo.value}}
</td>
</tr>
</tbody>
</table>
</div>
</div>
<Modal v-bind:campo="campo" v-bind:pcSelected="valueCampo" v-bind:opciones="opciones" v-bind:objectPc="pcSelected" />
</div>
</template>
<script>
import axios from "axios";
import config from "../config/config.js";
import Modal from './modalActualizar.vue';
import Swal from 'sweetalert2';
export default {
name: "home",
components: {
Modal,
},
props: {
campoBuscar: String,
},
data() {
return {
campo:"",
valueCampo:{value:''},
pcHeaders: {},
pcData: [],
tableName: "",
opciones: [],
pcSelected: null,
opcionSeletedTable: {value: ''}
}
},
methods: {
async eliminar(pcData){
const swalWithBootstrapButtons = Swal.mixin({
customClass: {
confirmButton: 'btn btn-outline-success',
cancelButton: 'btn btn-outline-danger'
},
buttonsStyling: false
})
swalWithBootstrapButtons.fire({
title: '¿Estás seguro de que quieres eliminar el Equipo?',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Si, eliminar',
cancelButtonText: 'No, cancelar',
reverseButtons: true
}).then(async (result) => {
if (result.isConfirmed) {
const data = {
idEquipo : pcData.idEquipo,
idInventario: pcData.idInventario
}
try{
await axios.post( `${config.api}/eliminarEquipo`, data);
await Swal.fire(
'Se ha eliminado con exito el Equipo',
'',
'success'
);
location.reload();
return;
}
catch(error){
console.log(error);
await Swal.fire(
'No se pudo eliminar el Equipo',
`Error en consola ${error}`,
'error'
);
return;
}
}
})
},
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>
+4
View File
@@ -0,0 +1,4 @@
module.exports = {
publicPath: "./"
};