Skip to content
Snippets Groups Projects
Commit c692260b authored by Ahmad Saladin's avatar Ahmad Saladin
Browse files

index, insert, update, delete admin

parent 596d6478
1 merge request!13Issue 34 user backend integration
...@@ -16,32 +16,30 @@ ...@@ -16,32 +16,30 @@
<h1 class="text-blue">Data Admin</h1> <h1 class="text-blue">Data Admin</h1>
<hr class="my-4 " style="border: 1px solid #6992b4"> <hr class="my-4 " style="border: 1px solid #6992b4">
</div> </div>
<form @submit="insert" autocomplete="off" id="formAdmin"> <form @submit="save" autocomplete="off" id="formAdmin">
<div class="row p-3"> <div class="row p-3">
<div class="col"> <div class="col">
<div class="mb-3 me-3">
<label for="namaInput" class="text-blue"> Nama </label>
<input v-model="nama" type="text" id="namaInput" class="form-control" required>
</div>
<div class="mb-3 me-3"> <div class="mb-3 me-3">
<label for="usernameInput" class="text-blue"> Username </label> <label for="usernameInput" class="text-blue"> Username </label>
<input v-model="username" type="text" id="usernameInput" class="form-control" required> <input v-model="username" type="text" id="usernameInput" class="form-control" required>
</div> </div>
<button type="submit" class="btn-blue p-1" >Simpan</button> <div class="mb-3 me-3">
<router-link :to="{ path: '/user' }" style="text-decoration: none"> <label for="passwordInput" class="text-blue"> Kata Sandi </label>
<button class="btn-red p-1">Batalkan</button> <input v-model="password" type="password" id="passwordInput" class="form-control">
</router-link> </div>
<button type="submit" class="btn-blue p-1" >Simpan</button>
<router-link :to="{ path: '/admin' }" style="text-decoration: none">
<button class="btn-red p-1">Batalkan</button>
</router-link>
</div> </div>
<div class="col"> <div class="col">
<div class="mb-3"> <div class="mb-3">
<label for="emailInput" class="text-blue"> Email </label> <label for="emailInput" class="text-blue"> Email </label>
<input v-model="email" type="email" id="emailInput" class="form-control" required> <input v-model="email" type="email" id="emailInput" class="form-control" required>
</div> </div>
<div class="mb-3">
<label for="passwordInput" class="text-blue"> Kata Sandi </label>
<input v-model="password" type="password" id="passwordInput" class="form-control">
</div>
</div> </div>
</div> </div>
</form> </form>
...@@ -54,6 +52,7 @@ ...@@ -54,6 +52,7 @@
import Header from "../components/header" import Header from "../components/header"
import Sidebar from "../components/sidebar" import Sidebar from "../components/sidebar"
import { HTTP } from '../http-common'
export default { export default {
...@@ -64,76 +63,43 @@ export default { ...@@ -64,76 +63,43 @@ export default {
}, },
data() { data() {
return{ return{
nama: "",
username: "", username: "",
email: "", email: "",
password: "", password: "",
temp_admins: [
{
id: 1,
nama: "Budi",
username: "budi",
email: "budi@example.com",
tanggal: "02-15-2020",
},
{
id: 2,
nama: "Asep",
username: "asep",
email: "asep@example.com",
tanggal: "02-12-2020",
},
{
id: 3,
nama: "Yana",
username: "yana",
email: "yana@example.com",
tanggal: "02-10-2020",
},
{
id: 4,
nama: "Yusuf",
username: "yusuf",
email: "yusuf@example.com",
tanggal: "02-10-2020",
},
{
id: 5,
nama: "Siti",
username: "siti",
email: "siti@example.com",
tanggal: "02-10-2020",
},
{
id: 6,
nama: "Yuni",
username: "yuni",
email: "yuni@example.com",
tanggal: "02-10-2020",
},
{
id: 7,
nama: "Hadi",
username: "hadi",
email: "hadi@example.com",
tanggal: "02-10-2020",
},
],
} }
}, },
methods: { methods: {
save(e){ save(e){
e.preventDefault(); e.preventDefault();
let formValue = [this.nama, this.username, this.email, this.password] let data = {
console.log(formValue) username: this.username,
alert("Admin berhasil ditambahkan") email: this.email,
password: null
}
if (this.password != ""){
data.password = this.password
}
HTTP.put(`admins/${this.id}`, data, {
headers: {
'Content-Type': 'application/json'
}
}).then((res)=>{
if (res.status == 200){
alert("Admin berhasil diedit")
}
}).catch(() => alert("Gagal mengedit Admin"))
}, },
getData(){ getData(){
// di sini ambil data user dari backend // di sini ambil data user dari backend
let admin = this.temp_admins[parseInt(this.id)-1] HTTP.get(`admins/${this.id}`).then((res)=>{
this.nama = admin.nama if (res.status == 200){
this.username = admin.username this.username = res.data.data.username
this.email = admin.email this.email = res.data.data.email
}
}
)
} }
}, },
......
...@@ -161,7 +161,17 @@ export default { ...@@ -161,7 +161,17 @@ export default {
console.log(id); console.log(id);
}, },
deleteAdmin(id) { deleteAdmin(id) {
console.log(id); if (confirm("Yakin akan menghapus Admin?")){
HTTP.delete(`admins/${id}`).then((res) =>{
if (res.status == 200){
alert("Berhasil menghapus Admin")
this.getAdmins()
}
}).catch( () => {
alert("Gagal Menghapus Admin")
}
)
}
}, },
editAdmin(id) { editAdmin(id) {
this.$router.push({ name: "AdminEdit", params: { id: id }}); this.$router.push({ name: "AdminEdit", params: { id: id }});
......
...@@ -19,13 +19,13 @@ ...@@ -19,13 +19,13 @@
<form @submit="insert" autocomplete="off" id="formAdmin"> <form @submit="insert" autocomplete="off" id="formAdmin">
<div class="row p-3"> <div class="row p-3">
<div class="col"> <div class="col">
<div class="mb-3 me-3">
<label for="namaInput" class="text-blue"> Nama </label>
<input v-model="nama" type="text" id="namaInput" class="form-control" required>
</div>
<div class="mb-3 me-3"> <div class="mb-3 me-3">
<label for="usernameInput" class="text-blue"> Username </label> <label for="usernameInput" class="text-blue"> Username </label>
<input v-model="username" type="text" id="usernameInput" class="form-control" required> <input v-model="username" type="text" id="usernameInput" class="form-control" required>
</div>
<div class="mb-3 me-3">
<label for="passwordInput" class="text-blue"> Kata Sandi </label>
<input v-model="password" type="password" id="passwordInput" class="form-control" required>
</div> </div>
<button type="submit" class="btn-blue p-1" >Simpan</button> <button type="submit" class="btn-blue p-1" >Simpan</button>
<router-link :to="{ path: '/user' }" style="text-decoration: none"> <router-link :to="{ path: '/user' }" style="text-decoration: none">
...@@ -38,10 +38,7 @@ ...@@ -38,10 +38,7 @@
<label for="emailInput" class="text-blue"> Email </label> <label for="emailInput" class="text-blue"> Email </label>
<input v-model="email" type="email" id="emailInput" class="form-control" required> <input v-model="email" type="email" id="emailInput" class="form-control" required>
</div> </div>
<div class="mb-3">
<label for="passwordInput" class="text-blue"> Kata Sandi </label>
<input v-model="password" type="password" id="passwordInput" class="form-control" required>
</div>
</div> </div>
</div> </div>
</form> </form>
...@@ -54,6 +51,7 @@ ...@@ -54,6 +51,7 @@
import Header from "../components/header" import Header from "../components/header"
import Sidebar from "../components/sidebar" import Sidebar from "../components/sidebar"
import { HTTP } from '../http-common'
export default { export default {
...@@ -73,10 +71,24 @@ export default { ...@@ -73,10 +71,24 @@ export default {
methods: { methods: {
insert(e){ insert(e){
e.preventDefault(); e.preventDefault();
let formValue = [this.nama, this.username, this.email, this.password] let data = {
console.log(formValue) username: this.username,
alert("Admin berhasil ditambahkan") email: this.email,
document.getElementById("formAdmin").reset(); password: this.password,
password_confirmation: this.password}
HTTP.post("register", data, {
headers:{
'Content-Type': 'application/json'
}
}).then((res)=>{
if (res.status == 200){
alert("Admin berhasil ditambahkan")
document.getElementById("formAdmin").reset();
}
}).catch(()=>{
alert("Gagal menambahkan Admin")
})
} }
}, },
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment