diff --git a/src/components/Modal.vue b/src/components/Modal.vue
index 70703491708437cadcfbb932456ba1963750f0ce..28030832ea2f94f62fcf99208d3dc60ebdafd7a0 100644
--- a/src/components/Modal.vue
+++ b/src/components/Modal.vue
@@ -1,34 +1,118 @@
 <script>
-import DepartemenInsert from "../views/DepartemenInsert.vue"
+  export default {
+    name: 'Modal',
+    methods: {
+      close() {
+        this.$emit('close');
+      },
+    },
+    emits:['close'],
+  };
+</script>
 
-export default{
-	components: {
-		DepartemenInsert,
-	},
-	props:{},
-	emits: ["add-dept"],
-	setup (props, context) {
+<template>
+  <div class="modal-backdrop">
+    <div class="modal">
 
-		//Push emit data to DepartemenIndex as parent
-		var emitAddDept = (data) => {
-			context.emit("add-dept", data);
-		};
+			<header class="modal-header">
+				<slot name="header">
+					This is title
+				</slot>
+				<button type="button" class="btn-close" @click="close">
+					X
+				</button>
+			</header>
 
-		return {emitAddDept};
-	},
-};
+			<section class="modal-body">
+				<slot name="body">
+					This is body
+				</slot>
+			</section>
 
+			<!-- <footer class="modal-footer">
+				<slot name="footer">
+					This is footer
+				</slot>
+				<button type="button" class="btn-green" @click="close">
+					Close Modal
+				</button>
+			</footer> -->
+			
+    </div>
+  </div>
+</template>
 
-</script>
+<style>
+  .modal-backdrop {
+    position: absolute;
+    top: 50%;
+    bottom: 0;
+    left: 50%;
+    right: 0;
+    transform: translate(-50%, -50%);
+    background-color: rgba(0, 0, 0, 0.3);
+    display: flex;
+    justify-content: center;
+    align-items: center;
+  }
 
-<template>
-  <div class="modal">
-      <div class="modal-content">
-					<h1>Type</h1>
-					<div v-if="type === 'AddDept'">
-						<DepartemenInsert @add-dept="emitAddDept"/>
-					</div>
-					<button @click="$emit('close-modal')">Cancel</button>
-			</div>
-	</div>
-</template>
\ No newline at end of file
+  .modal {
+    background: #FFFFFF;
+    box-shadow: 2px 2px 20px 1px;
+    /* overflow-x: auto; */
+    width: 50%;
+    height: 30%;
+    display: flex;
+    flex-direction: column;
+    top: 50%;
+    bottom: 0;
+    left: 50%;
+    right: 0;
+    transform: translate(-50%, -50%);
+  }
+
+  /* .modal-footer, */
+  .modal-header {
+    padding: 15px;
+    display: flex;
+  }
+
+
+  .modal-header {
+    position: relative;
+    border-bottom: 1px solid #eeeeee;
+    color: #4AAE9B;
+    justify-content: space-between;
+  }
+
+  /* .modal-footer {
+    border-top: 1px solid #eeeeee;
+    flex-direction: column;
+    justify-content: flex-end;
+  } */
+
+  .modal-body {
+    position: relative;
+    padding: 20px 10px;
+  }
+
+  .btn-close {
+    position: absolute;
+    top: 0;
+    right: 0;
+    border: none;
+    font-size: 20px;
+    padding: 10px;
+    cursor: pointer;
+    font-weight: bold;
+    color: #4AAE9B;
+    background: transparent;
+  }
+
+  .btn-green {
+    color: white;
+    background: #4AAE9B;
+    border: 1px solid #4AAE9B;
+    border-radius: 2px;
+  }
+</style>
\ No newline at end of file
diff --git a/src/components/modal1.vue b/src/components/modal1.vue
deleted file mode 100644
index 1c19bde0faa8c4a6780f49bc52b08957a7396a62..0000000000000000000000000000000000000000
--- a/src/components/modal1.vue
+++ /dev/null
@@ -1,25 +0,0 @@
-<template>
-<!-- Modal -->
-    <div class="modal fade" id="modalAddDept" tabindex="-1" role="dialog" aria-labelledby="modalAddDept_" aria-hidden="true">
-        <div class="modal-dialog modal-dialog-centered" role="document">
-            <div class="modal-content">
-                <div class="modal-header">
-                    <h5 class="modal-title" id="exampleModalLongTitle">Modal title</h5>
-                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
-                        <span aria-hidden="true">&times;</span>
-                    </button>
-                </div>
-                <div class="modal-body">
-                    <div class="form-group">
-                        <input type="text" placeholder="Nama Departemen">
-                    </div>
-                </div>
-                <div class="modal-footer">
-                    <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
-                    <button type="button" class="btn btn-primary">Save changes</button>
-                </div>
-            </div>
-        </div>
-    </div>
-</template>		
-        
\ No newline at end of file
diff --git a/src/components/modals.html b/src/components/modals.html
deleted file mode 100644
index 00230d9eee488408fd9cee4270126505070bdf05..0000000000000000000000000000000000000000
--- a/src/components/modals.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<button
-  type="button"
-  class="btn btn-primary"
-  data-bs-toggle="modal"
-  data-bs-target="#exampleModal"
-  data-bs-whatever="@mdo"
->
-  Open modal for @mdo
-</button>
-<button
-  type="button"
-  class="btn btn-primary"
-  data-bs-toggle="modal"
-  data-bs-target="#exampleModal"
-  data-bs-whatever="@fat"
->
-  Open modal for @fat
-</button>
-<button
-  type="button"
-  class="btn btn-primary"
-  data-bs-toggle="modal"
-  data-bs-target="#exampleModal"
-  data-bs-whatever="@getbootstrap"
->
-  Open modal for @getbootstrap
-</button>
-
-<div
-  class="modal fade"
-  id="exampleModal"
-  tabindex="-1"
-  aria-labelledby="exampleModalLabel"
-  aria-hidden="true"
->
-  <div class="modal-dialog">
-    <div class="modal-content">
-      <div class="modal-header">
-        <h5 class="modal-title" id="exampleModalLabel">New message</h5>
-        <button
-          type="button"
-          class="btn-close"
-          data-bs-dismiss="modal"
-          aria-label="Close"
-        ></button>
-      </div>
-      <div class="modal-body">
-        <form>
-          <div class="mb-3">
-            <label for="recipient-name" class="col-form-label"
-              >Recipient:</label
-            >
-            <input type="text" class="form-control" id="recipient-name" />
-          </div>
-          <div class="mb-3">
-            <label for="message-text" class="col-form-label">Message:</label>
-            <textarea class="form-control" id="message-text"></textarea>
-          </div>
-        </form>
-      </div>
-      <div class="modal-footer">
-        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">
-          Close
-        </button>
-        <button type="button" class="btn btn-primary">Send message</button>
-      </div>
-    </div>
-  </div>
-</div>
-<script>
-  var exampleModal = document.getElementById("exampleModal");
-  exampleModal.addEventListener("show.bs.modal", function (event) {
-    // Button that triggered the modal
-    var button = event.relatedTarget;
-    // Extract info from data-bs-* attributes
-    var recipient = button.getAttribute("data-bs-whatever");
-    // If necessary, you could initiate an AJAX request here
-    // and then do the updating in a callback.
-    //
-    // Update the modal's content.
-    var modalTitle = exampleModal.querySelector(".modal-title");
-    var modalBodyInput = exampleModal.querySelector(".modal-body input");
-
-    modalTitle.textContent = "New message to " + recipient;
-    modalBodyInput.value = recipient;
-  });
-</script>
diff --git a/src/views/DepartemenIndex-2.vue b/src/views/DepartemenIndex-2.vue
deleted file mode 100644
index 2879619c9671124966c1273047479245811bb36e..0000000000000000000000000000000000000000
--- a/src/views/DepartemenIndex-2.vue
+++ /dev/null
@@ -1,198 +0,0 @@
-<template>
-  <div class="container-fluid">
-    <div class="row flex-nowrap">
-      <Sidebar current_page="Departemen"></Sidebar>
-      <div class="col ps-md-2 pt-2">
-        <Header></Header>
-        <div class="row p-3">
-          <div class="row p-2">
-            <div class="col">
-              <h1 class="text-blue">Daftar Departemen</h1>
-            </div>
-            <div class="col">
-              <button
-                class="btn float-end"
-                @click="handleOpen('type-addDept')"
-              >
-                Tambah Departemen
-              </button>
-            </div>
-          </div>
-          <div class="row p-2">
-            <div class="search float-end col-3">
-              <div class="row">
-                <div class="col-10">
-                  <input
-                    class="search-input p-1"
-                    v-model="filter"
-                    type="text"
-                    placeholder="Pencarian"
-                  />
-                </div>
-                <div class="col">
-                  <i
-                    class="icon ion-ios-search text-blue float-end px-1"
-                    style="font-size: 23px"
-                  ></i>
-                </div>
-              </div>
-            </div>
-          </div>
-        </div>
-        <div class="row p-2">
-          <Table
-            :data="dept"
-            :columns="columns"
-            :filter="filter"
-            @delete-entry="deleteDept"
-            @edit-entry="editDept"
-            @detail-entry="detailDept"
-          ></Table>
-        </div>
-      </div>
-    </div>
-    <div v-if="modalOpen">
-      <Modal 
-        @close-modal="handleClose()"
-        @add-dept="handleSubmit"
-        :type="modalName"
-      />
-    </div>
-  </div>
-</template>
-
-<script>
-import {ref} from "vue";
-import Table from "../components/table";
-import Header from "../components/header";
-import Sidebar from "../components/sidebar";
-import Modal from "../components/modal"
-
-export default {
-  name: "DepartemenIndex",
-  components: {
-    Table,
-    Header,
-    Sidebar,
-    Modal,
-  },
-  setup() {
-    //init
-    const modalOpen = ref(false);
-    const modalName = ref("");
-
-    const handleOpen = (type) => {
-      switch (type) {
-        case "type-addDept":
-          modalName = "AddDept";
-          break;
-        // case "type-editDept":
-        //   modalName = "EditDept";
-        //   break;
-      }
-      modalOpen = true;
-    }
-
-    const handleClose = () => {
-      modalOpen = false;
-      modalName = "";
-    };
-
-    const handleSubmit = (data) => {
-      //tambah data 
-      console.log(data);
-    };
-
-    return { modalOpen, modalName, handleOpen, handleClose, handleSubmit};
-
-  },
-  data() {
-    return {
-      dept: [],
-      temp_dept: [
-        {
-          id: 1,
-          nama: "Keuangan",
-        },
-        {
-          id: 2,
-          nama: "Marketing",
-        },
-        {
-          id: 3,
-          nama: "Operasional",
-        },
-      ],
-      columns: {
-        No: "id",
-        Nama: "nama",
-      },
-      filter: "",
-    };
-  },
-  methods: {
-    getDept() {
-      // di sini ambil data admin dari database
-      this.dept = this.temp_dept;
-    },
-    detailDept(id) {
-      console.log(id);
-    },
-    deleteDept(id) {
-      console.log(id);
-    },
-    editDept(id) {
-      console.log(id);
-    },
-    updateDept(event){
-      console.log(event);
-    }
-  },
-  mounted() {
-    this.getDept();
-  },
-};
-</script>
-
-<style scoped>
-* {
-  margin: 0;
-  padding: 0;
-  box-sizing: border-box;
-}
-
-.btn {
-  background-color: #6992b4;
-  color: #f1f7fc;
-  border-radius: 15px;
-  padding: 7px;
-}
-
-.icon {
-  padding-left: 2px;
-}
-
-.search {
-  border: 1px solid;
-  border-color: #6992b4;
-  border-radius: 5px;
-}
-.search-input {
-  border: none;
-  border-color: transparent;
-  width: 100%;
-}
-.search-input:focus {
-  outline: none;
-}
-.modal {
-  width: 600px;
-  max-width: 100%;
-  position: absolute;
-  float: left;
-  left: 50%;
-  top: 50%;
-  transform: translate(-50%, -50%);
-  margin: auto;
-}
-</style>
diff --git a/src/views/DepartemenIndex.vue b/src/views/DepartemenIndex.vue
index e9f56cda5bee957a87a1c232e978dad0be4fa269..a5afe4151a9f94e0569c5366119a04ea82bbb28f 100644
--- a/src/views/DepartemenIndex.vue
+++ b/src/views/DepartemenIndex.vue
@@ -12,8 +12,7 @@
             <div class="col">
               <button
                 class="btn float-end"
-                data-bs-toggle="modal"
-                data-bs-target="#exampleModal"
+                @click="showModal()"
               >
                 Tambah Departemen
               </button>
@@ -52,55 +51,34 @@
         </div>
       </div>
     </div>
+		<Modal 
+			v-show="isModalVisible"
+			@close="closeModal"
+		>
+			<template v-slot:header>
+			Tambah Departemen
+			</template>
+
+			<template v-slot:body>
+				<!-- fill with form -->
+
+				<form @submit="insert" autocomplete="off" id="formAddDept">
+					<label for="deptInput">Nama Departemen</label>
+					<input v-model="deptname" type="text" id="deptname-input" class="form-control">
+					<button type="submit" class="btn-blue p-1" >Simpan</button>
+				</form>
+
+			</template>
+	</Modal>
   </div>
-  <!-- Modal -->
-  <div
-    class="modal fade vertical-center"
-    id="exampleModal"
-    tabindex="-1"
-    aria-labelledby="exampleModalLabel"
-    aria-hidden="true"
-  >
-    <div class="modal-dialog modal-dialog-centered">
-      <div class="modal-content m-2">
-        <div class="modal-header me-3 p-2">
-          <h5 class="modal-title m-1" id="exampleModalLabel">
-            Tambah Departemen
-          </h5>
-          <button
-            type="button"
-            class="btn-close"
-            data-bs-dismiss="modal"
-            aria-label="Close"
-          ></button>
-        </div>
-        <div class="modal-body p-2 m-2">
-          <form>
-            <div class="pb-3">
-              <label for="recipient-name" class="col-form-label"
-                >Nama Departemen</label
-              >
-              <input
-                type="text"
-                class="form-control text-muted"
-                id="recipient-name"
-                placeholder="Isi nama departemen"
-              />
-            </div>
-          </form>
-        </div>
-        <div class="modal-footer p-2">
-          <button type="button" class="btn btn-primary mx-auto" @click="updateDept">Tambah</button>
-        </div>
-      </div>
-    </div>
-  </div>
+	
 </template>
 
 <script>
 import Table from "../components/table";
 import Header from "../components/header";
 import Sidebar from "../components/sidebar";
+import Modal from "../components/modal";
 
 export default {
   name: "DepartemenIndex",
@@ -108,9 +86,12 @@ export default {
     Table,
     Header,
     Sidebar,
+    Modal,
   },
   data() {
     return {
+      isModalVisible: false,
+			deptname:"",
       dept: [],
       temp_dept: [
         {
@@ -134,6 +115,23 @@ export default {
     };
   },
   methods: {
+    showModal(){
+			this.isModalVisible = true;
+		},
+		closeModal(){
+			this.isModalVisible = false;
+			//console.log(this.isModalVisible)
+		},
+		insert(e){
+			e.preventDefault();
+			let formValue = this.deptname
+			console.log(formValue)
+			alert("Dept berhasil ditambahkan")
+			document.getElementById("formAddDept").reset();
+		},
+    // addDept(data){
+    //   console.log(data);
+    // },
     getDept() {
       // di sini ambil data admin dari database
       this.dept = this.temp_dept;
@@ -147,9 +145,9 @@ export default {
     editDept(id) {
       console.log(id);
     },
-    updateDept(event){
-      console.log(event);
-    }
+    // updateDept(event){
+    //   console.log(event);
+    // }
   },
   mounted() {
     this.getDept();
diff --git a/src/views/DepartemenInsert.vue b/src/views/DepartemenInsert.vue
deleted file mode 100644
index ac2e3b39c8e9576fd64cd403dd2be8590e0aea4d..0000000000000000000000000000000000000000
--- a/src/views/DepartemenInsert.vue
+++ /dev/null
@@ -1,30 +0,0 @@
-<script>
-import {ref} from "vue";
-
-export default{
-	emits:["add-dept"],
-	setup(_, context) {
-		// Bind form data
-		const namadept = ref(null);
-
-		//push emit data to modal as parent
-		const addDept = () => {
-			const data = {
-				namadept,
-			};
-			context.emit("add-dept", data);
-			//Reset form data
-			namadept = null;
-		},
-
-		return { namadept, addDept }
-	}
-};
-
-</script>
-
-<template>
-	<label for="add-departemen">Nama Departemen</label>
-	<input id="add-departemen" type="text" v-model="namadept" />
-	<button @click="addDept()">Tambah</button>
-</template>
\ No newline at end of file