Advertisement
davidgaf

Untitled

Oct 18th, 2022
874
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5 5.81 KB | Software | 0 0
  1. <template>
  2.   <div class="container">
  3.     <nav class="navbar navbar-expand-lg bg-light">
  4.       <div class="container-fluid">
  5.         <a class="navbar-brand" href="#"> <i class="fa-solid fa-globe"></i> Portal da Transparência</a>
  6.         <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent"
  7.          aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
  8.           <span class="navbar-toggler-icon"></span>
  9.         </button>
  10.         <div class="collapse navbar-collapse" id="navbarSupportedContent">
  11.           <ul class="navbar-nav me-auto mb-2 mb-lg-0">
  12.             <li class="nav-item">
  13.               <a class="nav-link active" aria-current="page" href="#">Home</a>
  14.             </li>
  15.             <li class="nav-item">
  16.               <a class="nav-link" href="#">Link</a>
  17.             </li>
  18.             <li class="nav-item dropdown">
  19.               <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown"
  20.                aria-expanded="false">
  21.                 Dropdown
  22.               </a>
  23.               <ul class="dropdown-menu">
  24.                 <li><a class="dropdown-item" href="#">Action</a></li>
  25.                 <li><a class="dropdown-item" href="#">Another action</a></li>
  26.                 <li>
  27.                   <hr class="dropdown-divider">
  28.                 </li>
  29.                 <li><a class="dropdown-item" href="#">Something else here</a></li>
  30.               </ul>
  31.             </li>
  32.             <li class="nav-item">
  33.               <a class="nav-link disabled">Disabled</a>
  34.             </li>
  35.           </ul>
  36.         </div>
  37.       </div>
  38.     </nav>
  39.     <!-- <FormDominio/> -->
  40.     <div>
  41.       <br>
  42.       <h6> <i class="fa-regular fa-folder-open"></i> <i class="fa-duotone fa-plus"></i> Inserir Domínio</h6>
  43.       <form @submit.prevent="PostDominio">
  44.         <input id="idom" type="text" v-model="form.Titulo">
  45.         <button id="sendom" v-on:click="PostDominio" class="btn btn-outline-primary btn-sm shadow-sm p-1 mb-1">
  46.           <i class="fa-duotone fa-plus"></i> Gravar</button>
  47.       </form>
  48.       <br>
  49.     </div>
  50.     <table class="table">
  51.       <thead>
  52.         <tr>
  53.           <th scope="col">Id</th>
  54.           <th scope="col">Domínio</th>
  55.           <th scpde="col">Ações</th>
  56.         </tr>
  57.       </thead>
  58.       <tbody>
  59.         <tr v-for="dominio in dominios" v-bind:key="dominio.ID">
  60.           <td> {{ dominio.ID }} </td>
  61.           <td> <i class="fa-regular fa-folder-open"></i> {{ dominio.Titulo }}</td>
  62.           <td>
  63.             <div class="btn-toolbar" role="toolbar">
  64.               <div class="btn-group" role="group">
  65.                 <b-button v-b-modal.modal-1 v-bind:id="dominio.ID" @click="GetDominio(dominio.ID)"
  66.                  class="btn btn-success btn-sm p-1 mb-1">
  67.                   <i class="fa-solid fa-pen-clip"></i>
  68.                   Alterar
  69.                 </b-button>
  70.               </div>
  71.               <div class="btn-group" role="group">
  72.                 <button v-bind:id="dominio.ID" @click="DeleteDominio(dominio.ID)"
  73.                  class="btn btn-danger btn-sm shadow-sm p-1 mb-1">
  74.                   <i class="fa-solid fa-trash-can"></i> Apagar</button>
  75.               </div>
  76.             </div>
  77.           </td>
  78.         </tr>
  79.       </tbody>
  80.     </table>
  81.     <!-- Modal -->
  82.     <b-modal id="modal-1" centered title="Alterar Domínio" @ok="PutDominio()">
  83.       <form @submit.prevent="PutDominio" >
  84.         <input id="updatedom" type="text" v-model="formUpdate.Titulo">
  85.       </form>
  86.     </b-modal>
  87.   </div>
  88. </template>
  89.  
  90. <script>
  91. import axios from 'axios'
  92.  
  93. export default {
  94.   name: "PortalDominio",
  95.   data() {
  96.     return {
  97.       form: {
  98.         Titulo: ""
  99.       },
  100.       formUpdate: {
  101.         Titulo: "",
  102.         ID:""
  103.       },
  104.       dominios: {},
  105.     };
  106.   },
  107.   created() {
  108.     this.getDominios();
  109.   },
  110.   methods: {
  111.     getDominios() {
  112.       axios
  113.         .get("http://localhost:3000/dominios")
  114.         .then((res) => {
  115.           this.dominios = res.data;
  116.         })
  117.         .catch((error) => {
  118.           console.log(error);
  119.         });
  120.     },
  121.     ListDominios() {
  122.       axios.get("http://localhost:3000/dominios")
  123.         .then((res) => this.dominios = res.data)
  124.         .then(() => this.form.Titulo = "")
  125.         .catch((error) => {
  126.           console.log(error);
  127.         })
  128.     },
  129.     PostDominio(e) {
  130.       e.preventDefault()
  131.       axios.post("http://localhost:3000/dominios", this.form)
  132.         .then(() => { this.ListDominios() })
  133.         .catch((error) => {
  134.           console.log(error);
  135.         })
  136.     },
  137.     DeleteDominio(dom) {
  138.       axios.delete("http://localhost:3000/dominios/" + dom)
  139.         .then((res) => { console.log(res.data) })
  140.         .then(() => { this.ListDominios() })
  141.         .catch((error) => {
  142.           console.log(error);
  143.         })
  144.     },
  145.     PutDominio() {
  146.       console.log(this.formUpdate)
  147.       axios.put("http://localhost:3000/dominios/" + this.formUpdate.ID, { "Titulo": this.formUpdate.Titulo })
  148.         .then(() => { console.log("Put Done!") })
  149.         .then(()=>{this.ListDominios()})
  150.         .catch((error) => {
  151.           console.log(error);
  152.         })
  153.     },
  154.     GetDominio(dom) {
  155.       var ldom;
  156.       axios.get("http://localhost:3000/dominios/" + dom)
  157.         .then((res) => { ldom = res.data })
  158.         .then(() => {
  159.           this.formUpdate.Titulo = ldom.Titulo
  160.           this.formUpdate.ID = ldom.ID
  161.         })
  162.         .then(() => { console.log(this.formUpdate) })
  163.         .catch((error) => {
  164.           console.log(error);
  165.         })
  166.     },
  167.   }
  168. }
  169. </script>
  170.  
  171. <style>
  172. .btn {
  173.   margin-right: 5px;
  174.   min-width: 100px;
  175. }
  176.  
  177. #sendom {
  178.   margin-left: 5px;
  179. }
  180.  
  181. #lbldom {
  182.   margin-right: 5px;
  183. }
  184.  
  185. #idom {
  186.   min-width: 400px;
  187. }
  188.  
  189. #updatedom {
  190.   width: 100%
  191. }
  192. </style>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement