From bd80933525e5b5309f6cd6fb5bcfb348eb19bba0 Mon Sep 17 00:00:00 2001
From: Saladin21 <13519187@std.stei.itb.ac.id>
Date: Tue, 22 Mar 2022 10:26:02 +0700
Subject: [PATCH] create kpi static page

---
 src/router/index.js     |   6 ++
 src/views/KpiCreate.vue | 176 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 182 insertions(+)
 create mode 100644 src/views/KpiCreate.vue

diff --git a/src/router/index.js b/src/router/index.js
index 02fd825..4476ea8 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -11,6 +11,7 @@ import KaryawanEdit from "../views/KaryawanEdit.vue";
 import AdminInsert from "../views/AdminInsert.vue";
 import AdminEdit from "../views/AdminEdit.vue";
 import KpiIndex from "../views/KpiIndex.vue";
+import KpiCreate from "../views/KpiCreate.vue";
 
 const routes = [
   {
@@ -73,6 +74,11 @@ const routes = [
     name: "kpiIndex",
     component: KpiIndex,
   },
+  {
+    path: "/manager/kpi/create",
+    name: "KpiCreate",
+    component: KpiCreate,
+  },
 ];
 
 const router = createRouter({
diff --git a/src/views/KpiCreate.vue b/src/views/KpiCreate.vue
new file mode 100644
index 0000000..33ef8cd
--- /dev/null
+++ b/src/views/KpiCreate.vue
@@ -0,0 +1,176 @@
+<template>
+    <div class="container-fluid">
+            <div class="row flex-nowrap">
+                <Sidebar></Sidebar>
+                <div class="col ps-md-2 pt-2">
+                    <Header></Header>
+                        <div class="row p-3">
+                            <router-link :to="{ path: '/admin' }" style="text-decoration: none">
+                            <div class="d-flex flex-row justify-content-start align-items-center illustration" id="back">
+                            <i class="icon ion-chevron-left text-blue" style="font-size: 20px"></i>
+                            <p class="text-blue ms-1">kembali</p>
+                            </div>
+                            </router-link>
+                        </div>
+                        <div class="row p-3">
+                            <h1 class="text-blue">Buat KPI</h1>
+                            <hr class="my-4 " style="border: 1px solid #6992b4">
+                        </div>
+                        <form @submit="insert" autocomplete="off" id="formAdmin">
+                        <div class="row p-3">
+                                <div class="col">
+                                        <div class="mb-3 me-3">
+                                        <label  for="NameInput" class="text-blue"> Nama </label>
+                                        <input v-model="kpi_name" type="text" id="NameInput" class="form-control" required>
+                                    </div>
+                                        <div class="mb-3 me-3">
+                                        <label for="deskripsiInput" class="text-blue"> Deskripsi </label>
+                                        <input v-model="description" type="text" id="deskripsiInput" class="form-control" required>
+                                    </div>
+                                    <div class="mb-3 me-3">
+                                        <label for="typeInput" class="text-blue"> Periode </label>
+                                        <select
+                                            v-model="period_type"
+                                            class="form-select"
+                                            aria-label="Default select example"
+                                            id="typeInput">
+                                            <option value="Harian" selected>Harian</option>
+                                            <option value="Mingguan">Mingguan</option>
+                                            <option value="Bulanan">Bulanan</option>
+                                            <option value="Custom">Custom</option>
+                                        </select>
+                                    </div>
+                                    <div v-show="period_type == 'Custom'" class="mb-3 me-3">
+                                        <label for="deadlineInput" class="text-blue"> Waktu Deadline </label>
+                                        <input v-model="deadline" type="date" id="deadlineInput" class="form-control" required>
+                                    </div>
+                                    <div class="mb-3 me-3">
+                                        <label for="deadlineTimeInput" class="text-blue"> Waktu Deadline </label>
+                                        <input v-model="deadline_time" type="time" id="deadlineTimeInput" class="form-control" required>
+                                    </div>
+                                    
+                                    <button type="submit" class="btn-blue p-1" >Simpan</button>
+                                    <router-link :to="{ path: '/user' }" style="text-decoration: none">
+                                    <button class="btn-red p-1">Batalkan</button>
+                                    </router-link>
+                                </div>
+                                <div class="col">
+                                    <div class="mb-3">
+                                        <label for="typeInput" class="text-blue"> Jenis Target </label>
+                                        <select
+                                            v-model="target_type"
+                                            class="form-select"
+                                            aria-label="Default select example"
+                                            id="typeInput">
+                                            <option value="Angka" selected>Angka</option>
+                                            <option value="Persentase">Persentase</option>
+                                        </select>
+                                    </div>
+                                    <div class="mb-3">
+                                        <label for="targetInput" class="text-blue"> Target </label>
+                                        <input v-model="target" type="number" id="tarrgetInput" class="form-control" required>
+                                    </div>
+                                    <div class="mb-3">
+                                        <label for="weightInput" class="text-blue"> Bobot </label>
+                                        <input v-model="weight" type="number" id="weightInput" class="form-control" required>
+                                    </div>
+                                    <div class="mb-3">
+                                        <input class="form-check-input mt-1" type="checkbox" value="" id="CheckDefault">
+                                        <label class="form-check-label text-blue ms-2" for="CheckDefault">Target Inverted </label>
+                                    </div>
+
+                                </div>
+                        </div>
+                        </form>
+                </div>
+            </div>
+    </div>
+</template>
+
+<script>
+
+import Header from "../components/header"
+import Sidebar from "../components/sidebar"
+import { HTTP } from '../http-common'
+
+
+export default {
+    name: "KpiCreate",
+    components: {
+        Header,
+        Sidebar
+    },
+    data() {
+        return{
+            emp_id: 1,
+            kpi_name: "",
+            description: "",
+            target: "",
+            inverted: false,
+            target_type: "Angka",
+            weight: 0,
+            period_type: "Harian",
+            deadline: "",
+            deadline_time: "",
+        }
+    },
+    methods: {
+        insert(e){
+            e.preventDefault();
+            let data = {
+                username: this.username, 
+                email: this.email,
+                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")
+            })
+            
+        }
+
+    },
+    mounted(){
+    }
+
+}
+</script>
+
+<style scoped>
+* {
+    margin: 0;
+    padding: 0;
+    box-sizing: border-box;
+}
+
+body {
+    min-height: 100vh;
+    background-color: #fff;
+}
+
+#back{
+    cursor: pointer;
+}
+
+.btn-blue {
+  background-color: #6992b4;
+  color: #f1f7fc;
+  border-radius: 8px;
+  margin-right: 5px;
+}
+
+.btn-red {
+  background-color: #f4476b;
+  color: #f1f7fc;
+  border-radius: 8px;
+}
+
+</style>
\ No newline at end of file
-- 
GitLab