diff --git a/app/Http/Controllers/AssessmentHistoryController.php b/app/Http/Controllers/AssessmentHistoryController.php
new file mode 100644
index 0000000..d33d48f
--- /dev/null
+++ b/app/Http/Controllers/AssessmentHistoryController.php
@@ -0,0 +1,16 @@
+where('user_id', auth()->user()->id)->get();
+ $evaluations = Evaluation::with('land', 'evaluationDetails.indicator')->orderBy('created_at', 'desc')->get();
+ return view('assessment.index', compact('evaluations'));
+ }
+}
diff --git a/app/Models/Evaluation.php b/app/Models/Evaluation.php
index f6ef448..b2f7a3f 100644
--- a/app/Models/Evaluation.php
+++ b/app/Models/Evaluation.php
@@ -17,4 +17,9 @@ public function land()
{
return $this->belongsTo(Land::class);
}
+
+ public function evaluationDetails()
+ {
+ return $this->hasMany(EvaluationDetail::class);
+ }
}
diff --git a/public/assets/js/pages/customJs/assesment-form/index.js b/public/assets/js/pages/customJs/assessment/form.js
similarity index 100%
rename from public/assets/js/pages/customJs/assesment-form/index.js
rename to public/assets/js/pages/customJs/assessment/form.js
diff --git a/public/assets/js/pages/customJs/assessment/index.js b/public/assets/js/pages/customJs/assessment/index.js
new file mode 100644
index 0000000..b48eec3
--- /dev/null
+++ b/public/assets/js/pages/customJs/assessment/index.js
@@ -0,0 +1,336 @@
+var checkAll = document.getElementById("checkAll");
+checkAll &&
+ (checkAll.onclick = function () {
+ for (
+ var e = document.querySelectorAll(
+ '.form-check-all input[type="checkbox"]'
+ ),
+ t = 0;
+ t < e.length;
+ t++
+ )
+ (e[t].checked = this.checked),
+ e[t].checked
+ ? e[t].closest("tr").classList.add("table-active")
+ : e[t].closest("tr").classList.remove("table-active");
+ });
+var perPage = 8,
+ options = {
+ valueNames: ["id", "customer_name", "email", "date", "phone", "status"],
+ page: perPage,
+ pagination: !0,
+ plugins: [ListPagination({ left: 2, right: 2 })],
+ },
+ customerList = new List("customerList", options).on(
+ "updated",
+ function (e) {
+ 0 == e.matchingItems.length
+ ? (document.getElementsByClassName(
+ "noresult"
+ )[0].style.display = "block")
+ : (document.getElementsByClassName(
+ "noresult"
+ )[0].style.display = "none");
+ var t = 1 == e.i,
+ a = e.i > e.matchingItems.length - e.page;
+ document.querySelector(".pagination-prev.disabled") &&
+ document
+ .querySelector(".pagination-prev.disabled")
+ .classList.remove("disabled"),
+ document.querySelector(".pagination-next.disabled") &&
+ document
+ .querySelector(".pagination-next.disabled")
+ .classList.remove("disabled"),
+ t &&
+ document
+ .querySelector(".pagination-prev")
+ .classList.add("disabled"),
+ a &&
+ document
+ .querySelector(".pagination-next")
+ .classList.add("disabled"),
+ e.matchingItems.length <= perPage
+ ? (document.querySelector(
+ ".pagination-wrap"
+ ).style.display = "none")
+ : (document.querySelector(
+ ".pagination-wrap"
+ ).style.display = "flex"),
+ e.matchingItems.length == perPage &&
+ document
+ .querySelector(".pagination.listjs-pagination")
+ .firstElementChild.children[0].click(),
+ 0 < e.matchingItems.length
+ ? (document.getElementsByClassName(
+ "noresult"
+ )[0].style.display = "none")
+ : (document.getElementsByClassName(
+ "noresult"
+ )[0].style.display = "block");
+ }
+ );
+isCount = new DOMParser().parseFromString(
+ customerList.items.slice(-1)[0]._values.id,
+ "text/html"
+);
+var isValue = isCount.body.firstElementChild.innerHTML,
+ idField = document.getElementById("id-field"),
+ customerNameField = document.getElementById("customername-field"),
+ emailField = document.getElementById("email-field"),
+ dateField = document.getElementById("date-field"),
+ phoneField = document.getElementById("phone-field"),
+ statusField = document.getElementById("status-field"),
+ addBtn = document.getElementById("add-btn"),
+ editBtn = document.getElementById("edit-btn"),
+ removeBtns = document.getElementsByClassName("remove-item-btn"),
+ editBtns = document.getElementsByClassName("edit-item-btn");
+function filterContact(e) {
+ var t = e;
+ customerList.filter(function (e) {
+ matchData = new DOMParser().parseFromString(
+ e.values().status,
+ "text/html"
+ );
+ e = matchData.body.firstElementChild.innerHTML;
+ return "All" == e || "All" == t || e == t;
+ }),
+ customerList.update();
+}
+function updateList() {
+ var a = document.querySelector("input[name=status]:checked").value;
+ (data = userList.filter(function (e) {
+ var t = !1;
+ return (
+ "All" == a
+ ? (t = !0)
+ : ((t = e.values().sts == a), console.log(t, "statusFilter")),
+ t
+ );
+ })),
+ userList.update();
+}
+refreshCallbacks(),
+ filterContact("All"),
+ document
+ .getElementById("showModal")
+ .addEventListener("show.bs.modal", function (e) {
+ e.relatedTarget.classList.contains("edit-item-btn")
+ ? ((document.getElementById("exampleModalLabel").innerHTML =
+ "Edit Customer"),
+ (document
+ .getElementById("showModal")
+ .querySelector(".modal-footer").style.display = "block"),
+ (document.getElementById("add-btn").style.display = "none"),
+ (document.getElementById("edit-btn").style.display = "block"))
+ : e.relatedTarget.classList.contains("add-btn")
+ ? ((document.getElementById("exampleModalLabel").innerHTML =
+ "Add Customer"),
+ (document
+ .getElementById("showModal")
+ .querySelector(".modal-footer").style.display = "block"),
+ (document.getElementById("edit-btn").style.display = "none"),
+ (document.getElementById("add-btn").style.display = "block"))
+ : ((document.getElementById("exampleModalLabel").innerHTML =
+ "List Customer"),
+ (document
+ .getElementById("showModal")
+ .querySelector(".modal-footer").style.display = "none"));
+ }),
+ ischeckboxcheck(),
+ document
+ .getElementById("showModal")
+ .addEventListener("hidden.bs.modal", function () {
+ clearFields();
+ }),
+ document
+ .querySelector("#customerList")
+ .addEventListener("click", function () {
+ refreshCallbacks(), ischeckboxcheck();
+ });
+var table = document.getElementById("customerTable"),
+ tr = table.getElementsByTagName("tr"),
+ trlist = table.querySelectorAll(".list tr"),
+ count = Number(isValue.replace(/[^0-9]/g, "")) + 1;
+addBtn.addEventListener("click", function (e) {
+ "" !== customerNameField.value &&
+ "" !== emailField.value &&
+ "" !== dateField.value &&
+ "" !== phoneField.value &&
+ (customerList.add({
+ id:
+ '#VZ' +
+ count +
+ "",
+ customer_name: customerNameField.value,
+ email: emailField.value,
+ date: dateField.value,
+ phone: phoneField.value,
+ status: isStatus(statusField.value),
+ }),
+ document.getElementById("close-modal").click(),
+ clearFields(),
+ refreshCallbacks(),
+ filterContact("All"),
+ count++);
+}),
+ editBtn.addEventListener("click", function (e) {
+ (document.getElementById("exampleModalLabel").innerHTML =
+ "Edit Customer"),
+ customerList.get({ id: idField.value }).forEach(function (e) {
+ (isid = new DOMParser().parseFromString(
+ e._values.id,
+ "text/html"
+ )),
+ isid.body.firstElementChild.innerHTML == itemId &&
+ e.values({
+ id:
+ '' +
+ idField.value +
+ "",
+ customer_name: customerNameField.value,
+ email: emailField.value,
+ date: dateField.value,
+ phone: phoneField.value,
+ status: isStatus(statusField.value),
+ });
+ }),
+ document.getElementById("close-modal").click(),
+ clearFields();
+ });
+var statusVal = new Choices(statusField);
+function isStatus(e) {
+ switch (e) {
+ case "Active":
+ return (
+ '' +
+ e +
+ ""
+ );
+ case "Block":
+ return (
+ '' +
+ e +
+ ""
+ );
+ }
+}
+function ischeckboxcheck() {
+ document.getElementsByName("checkAll").forEach(function (e) {
+ e.addEventListener("click", function (e) {
+ e.target.checked
+ ? e.target.closest("tr").classList.add("table-active")
+ : e.target.closest("tr").classList.remove("table-active");
+ });
+ });
+}
+function refreshCallbacks() {
+ removeBtns.forEach(function (e) {
+ e.addEventListener("click", function (e) {
+ e.target.closest("tr").children[1].innerText,
+ (itemId = e.target.closest("tr").children[1].innerText),
+ customerList.get({ id: itemId }).forEach(function (e) {
+ deleteid = new DOMParser().parseFromString(
+ e._values.id,
+ "text/html"
+ );
+ var t = deleteid.body.firstElementChild;
+ deleteid.body.firstElementChild.innerHTML == itemId &&
+ document
+ .getElementById("delete-record")
+ .addEventListener("click", function () {
+ customerList.remove("id", t.outerHTML),
+ document
+ .getElementById("deleteRecordModal")
+ .click();
+ });
+ });
+ });
+ }),
+ editBtns.forEach(function (e) {
+ e.addEventListener("click", function (e) {
+ e.target.closest("tr").children[1].innerText,
+ (itemId = e.target.closest("tr").children[1].innerText),
+ customerList.get({ id: itemId }).forEach(function (e) {
+ isid = new DOMParser().parseFromString(
+ e._values.id,
+ "text/html"
+ );
+ var t = isid.body.firstElementChild.innerHTML;
+ t == itemId &&
+ ((idField.value = t),
+ (customerNameField.value = e._values.customer_name),
+ (emailField.value = e._values.email),
+ (dateField.value = e._values.date),
+ (phoneField.value = e._values.phone),
+ statusVal && statusVal.destroy(),
+ (statusVal = new Choices(statusField)),
+ (val = new DOMParser().parseFromString(
+ e._values.status,
+ "text/html"
+ )),
+ (t = val.body.firstElementChild.innerHTML),
+ statusVal.setChoiceByValue(t),
+ flatpickr("#date-field", {
+ dateFormat: "d M, Y",
+ defaultDate: e._values.date,
+ }));
+ });
+ });
+ });
+}
+function clearFields() {
+ (customerNameField.value = ""),
+ (emailField.value = ""),
+ (dateField.value = ""),
+ (phoneField.value = "");
+}
+document
+ .querySelector(".pagination-next")
+ .addEventListener("click", function () {
+ !document.querySelector(".pagination.listjs-pagination") ||
+ (document
+ .querySelector(".pagination.listjs-pagination")
+ .querySelector(".active") &&
+ document
+ .querySelector(".pagination.listjs-pagination")
+ .querySelector(".active")
+ .nextElementSibling.children[0].click());
+ }),
+ document
+ .querySelector(".pagination-prev")
+ .addEventListener("click", function () {
+ !document.querySelector(".pagination.listjs-pagination") ||
+ (document
+ .querySelector(".pagination.listjs-pagination")
+ .querySelector(".active") &&
+ document
+ .querySelector(".pagination.listjs-pagination")
+ .querySelector(".active")
+ .previousSibling.children[0].click());
+ });
+var attroptions = {
+ valueNames: [
+ "name",
+ "born",
+ { data: ["id"] },
+ { attr: "src", name: "image" },
+ { attr: "href", name: "link" },
+ { attr: "data-timestamp", name: "timestamp" },
+ ],
+ },
+ attrList = new List("users", attroptions);
+attrList.add({
+ name: "Leia",
+ born: "1954",
+ image: "assets/images/users/avatar-5.jpg",
+ id: 5,
+ timestamp: "67893",
+});
+var existOptionsList = { valueNames: ["contact-name", "contact-message"] },
+ existList = new List("contact-existing-list", existOptionsList),
+ fuzzySearchList = new List("fuzzysearch-list", { valueNames: ["name"] }),
+ paginationList = new List("pagination-list", {
+ valueNames: ["pagi-list"],
+ page: 3,
+ pagination: !0,
+ });
diff --git a/resources/views/assesment-form/index.blade.php b/resources/views/assessment/form.blade.php
similarity index 100%
rename from resources/views/assesment-form/index.blade.php
rename to resources/views/assessment/form.blade.php
diff --git a/resources/views/assessment/index.blade.php b/resources/views/assessment/index.blade.php
new file mode 100644
index 0000000..115bb74
--- /dev/null
+++ b/resources/views/assessment/index.blade.php
@@ -0,0 +1,283 @@
+@extends('layouts.app')
+@push('title', 'Data Penilaian')
+@section('content')
+
+
+
+
+
+
+
Riwayat Penilaian
+
+
+
+ -
+ Menu
+
+ - Riwayat Penilaian
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ No
+ |
+
+ Nama Lahan
+ |
+
+ CF Value
+ |
+ Action |
+
+
+
+ @foreach ($evaluations as $evaluation)
+
+ {{ $loop->iteration }} |
+
+ #VZ2101
+ |
+ {{ $evaluation->land->name }} |
+
+ {{ number_format($evaluation->cf_value, 4) * 100 }}%
+ |
+
+
+
+
+
+ {{--
+
+ --}}
+
+ |
+
+ @endforeach
+ {{--
+
+
+
+
+ |
+
+ #VZ2101
+ |
+ Mary Cousar |
+ marycousar@velzon.com |
+ 580-464-4694 |
+ 06 Apr, 2021 |
+
+ Active
+ |
+
+
+
+
+
+
+
+
+
+ |
+
--}}
+
+
+
+
+
+
+
Sorry! No Result Found
+
+ We've searched more than 150+ Orders We did not
+ find any orders for you search.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Are you sure ?
+
+ Are you sure you want to remove this record ?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @push('other-js')
+
+
+
+
+
+
+
+ @endpush
+@endsection
diff --git a/resources/views/partials/sidebar.blade.php b/resources/views/partials/sidebar.blade.php
index d4db20a..09f912d 100644
--- a/resources/views/partials/sidebar.blade.php
+++ b/resources/views/partials/sidebar.blade.php
@@ -78,6 +78,13 @@ class="nav-link {{ request()->routeIs('master_data.aturan.*') ? 'active' : '' }}
+
+
+
@else
@endif
diff --git a/routes/web.php b/routes/web.php
index 56d611f..c7c913c 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -1,6 +1,7 @@
name('destroy');
});
});
+
+ Route::prefix('riwayat-penilaian')->controller(AssessmentHistoryController::class)->name('assessment_history.')->group(function () {
+ Route::get('/', 'index')->name('index');
+ });
});
Route::middleware('officer')->group(function () {