Files
backend/public/dist/js/allpoints.js
2024-02-01 09:53:53 +00:00

359 lines
9.9 KiB
JavaScript

var table;
$(document).ready(function () {
table = $("#example").DataTable({
dom: "lBfrtip",
lengthMenu: [
[10, 25, 50, -1],
[10, 25, 50, "All"],
],
ajax: {
ajax: "data/objects.txt",
url: "https://rms.rmto.ir/api/public/accident-points",
type: "GET",
},
language: {
sEmptyTable: "هیچ داده‌ای در جدول وجود ندارد",
sInfo: "نمایش _START_ تا _END_ از _TOTAL_ ردیف",
sInfoEmpty: "نمایش 0 تا 0 از 0 ردیف",
sInfoFiltered: "(فیلتر شده از _MAX_ ردیف)",
sInfoPostFix: "",
sInfoThousands: ",",
sLengthMenu: "نمایش _MENU_ ردیف",
sLoadingRecords: "در حال بارگذاری...",
sProcessing: "در حال پردازش...",
sSearch: "جستجو:",
sZeroRecords: "رکوردی با این مشخصات پیدا نشد",
oPaginate: {
sFirst: "برگه‌ی نخست",
sLast: "برگه‌ی آخر",
sPrevious: "قبلی",
sNext: "بعدی",
},
oAria: {
sSortAscending: ": فعال سازی نمایش به صورت صعودی",
sSortDescending: ": فعال سازی نمایش به صورت نزولی",
},
},
columns: [
{ data: "id" },
{ data: "province" },
{ data: "axis_name" },
{ data: "geometric_desc" },
{ data: "target" },
{ data: "operation" },
{ data: "actions" },
{ data: "cost" },
{ data: "progress" },
{ data: "end_date" },
{
data: "accident251_point",
render: function (data) {
if (data != null) {
return `بله`;
} else {
return "خیر";
}
},
},
{ data: "updated_at" },
{ data: "lat" },
{ data: "lng" },
{
className: "text-center",
data: null,
render: function (data) {
return `<button class="btn btn-success amaliat-btn fa fa-edit edit_btn"></button><button class="btn btn-danger amaliat-btn fa fa-eye"></button><button class="btn btn-secondary amaliat-btn fa fa-image"></button>`;
},
},
],
columnDefs: [
{
targets: [12],
visible: false,
searchable: false,
},
{
targets: [13],
visible: false,
searchable: false,
},
],
buttons: [
{
extend: "excelHtml5",
title: "Excel",
text: "خروجی به اکسل",
messageTop: "تمام نقاط پر تصادف سال 1395",
},
],
});
$("#example").on("click", "button.edit_btn", function () {
$("#allpointedit").modal("show");
tr = $(this).closest("tr");
row = table.row(tr);
operationKol = row.data().operation;
// $(".amaliat-input").val(operationKol);
end_dateKol = row.data().end_date;
// $(".date-input").val(end_dateKol);
costKol = row.data().cost;
// $(".etebarat-input").val(costKol);
latKol = row.data().lat;
// $(".lat-input").val(latKol);
lngKol = row.data().lng;
// $(".lng-input").val(lngKol);
actionsKol = row.data().actions;
// $(".eqdamat-input").val(actionsKol);
targetKol = row.data().target;
// $(".hadaf-input").val(targetKol);
progressKol = row.data().progress;
// $(".pishraft-input").val(progressKol);
// $(".pishraft-input").html(progressKol);
// let valueprogress = "";
// let contentData = this.options.content;
// $("#allpointid").val(contentData.id);
$("#allpointid").val(row.data().id);
$("#allend-date").persianDatepicker({
format: "MMMM YY",
autoClose: true,
viewMode: "month",
dayPicker: {
enabled: false,
},
});
// if (contentData.accident251_point) {
$("#alloperation").val(
operationKol
);
$("#alltarget").val(targetKol);
$("#allaction").val(actionsKol);
$("#allcost").val(costKol);
//$("#allcost").attr('min', contentData.accident251_point.cost);
$("#allend-date").val(end_dateKol);
// valueprogress = contentData.accident251_point.progress;
// } else {
// $("#alloperation").val("-");
// $("#alltarget").val("-");
// $("#allaction").val("-");
// $("#allcost").val(contentData.cost);
// $("#allcost").val(contentData.cost);
// //$("#allcost").attr('min', contentData.cost);
// $("#allend-date").val("-");
// valueprogress = contentData.progress;
// }
$("#allac-point-lat").val(latKol);
$("#allac-point-lng").val(lngKol);
let test =
'<div class="project-slider status-slider-body pr-2 pl-2 mb-5 mt-1">\
<input class="allex2" type="text" data-slider-step="1" data-slider-value="' +
progressKol +
'"/></div> ';
$("#allsliderphysici").empty();
$("#allsliderphysici").append(
'<label class="allslider-label" for="inputAddress2"> پیشرفت فیزیکی</label>'
);
$("#allsliderphysici").append(test);
$(".allex2").slider({
min: 0,
max: 100,
formatter: function (value) {
return value + "%";
},
tooltip: "always",
tooltip_position: "bottom",
});
});
});
$("#alleditpoints").on("click", function () {
saveAccidentEditedPoint();
});
function checkPersianWordValidation(str) {
let reg = /^[\u0600-\u06FF\s\.]+$/;
if (!reg.test(str)) {
return false;
}
return true;
}
function saveAccidentEditedPoint() {
if (accidentEditedPointValidate()) {
formData = new FormData();
formData.append("operation", $("#alloperation").val());
formData.append("target", $("#alltarget").val());
formData.append("actions", $("#allaction").val());
formData.append("progress", $(".allex2").slider("getValue"));
formData.append("cost", $("#allcost").val());
formData.append("end_date", $("#allend-date").val());
let lat = $("#allac-point-lat").val().slice(1, -1);
let lng = $("#allac-point-lng").val().slice(1, -1);
lat = lat.replace(/_/g, "");
lng = lng.replace(/_/g, "");
formData.append("lat", lat);
formData.append("lng", lng);
for (let i = 0; i < $("input[name=allmodalUpFile]")[0].files.length; i++) {
formData.append(
"point_files_" + i,
$("input[name=allmodalUpFile]")[0].files[i]
);
}
//if ($('.allex2').slider('getValue') >= $('.allex2').attr('data-slider-value')) {
$("#allpointedit").modal("hide");
showLoaderScreen();
console.log("heyo", $("#allpointid").val());
$.ajax({
url: "/accident-points/" + $("#allpointid").val(),
type: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
data: formData,
cache: false,
contentType: false,
processData: false,
success: function (result) {
ajaxcalltable();
//console.log(result);
// showRoadAccidentLayerWithoutCluster();
},
error: function (error) {
//console.log(error);
hideLoaderScreen();
},
});
/*} else {
$('#allsliderphysici').find('.allslider-label').text('پیشرفت فیزیکی (مقدار جدید نباید از درصد قبلی کمتر باشد)');
$('#allsliderphysici').find('.allslider-label').css('color', 'red');
}*/
}
}
function accidentEditedPointValidate() {
let isValidate = true;
if (
!$("#alloperation").val() ||
!checkPersianWordValidation($("#alloperation").val())
) {
$("#alloperation").addClass("is-invalid");
isValidate = false;
} else {
$("#alloperation").removeClass("is-invalid");
}
if (
!$("#alltarget").val() ||
!checkPersianWordValidation($("#alltarget").val())
) {
$("#alltarget").addClass("is-invalid");
isValidate = false;
} else {
$("#alltarget").removeClass("is-invalid");
}
if (
!$("#allaction").val() ||
!checkPersianWordValidation($("#allaction").val())
) {
$("#allaction").addClass("is-invalid");
isValidate = false;
} else {
$("#allaction").removeClass("is-invalid");
}
if (!$("#allcost").val()) {
$("#allcost").addClass("is-invalid");
isValidate = false;
} else {
$("#allcost").removeClass("is-invalid");
}
if (!$("#allend-date").val()) {
$("#allend-date").addClass("is-invalid");
isValidate = false;
} else {
$("#allend-date").removeClass("is-invalid");
}
if (!$("#allac-point-lat").val()) {
$("#allac-point-lat").addClass("is-invalid");
isValidate = false;
} else {
$("#allac-point-lat").removeClass("is-invalid");
}
if (!$("#allac-point-lng").val()) {
$("#allac-point-lng").addClass("is-invalid");
isValidate = false;
} else {
$("#allac-point-lng").removeClass("is-invalid");
}
return isValidate;
}
function showLoaderScreen() {
$(".starter-loader-container").css("display", "flex").hide().fadeIn();
}
function hideLoaderScreen() {
$(".starter-loader-container").fadeOut();
}
function ajaxcalltable() {
$.ajax({
url: "https://rms.rmto.ir/api/public/accident-points",
type: "GET",
success: function (result) {
// console.log(result.data[0]);
$("#example").dataTable().fnClearTable();
$("#example").dataTable().fnAddData(result.data);
hideLoaderScreen();
// Swal.fire({
// icon: "success",
// title: "ثبت موفقیت آمیز",
// text: "اطلاعات اولیه با موفقیت ثبت گردید!",
// confirmButtonText: "بستن",
// });
// $("#stepModalmaintenance").modal("hide");
},
});
}