Files
backend/resources/views/rmto-preview/pages/winter-camp.js
2024-02-01 09:53:53 +00:00

2363 lines
80 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
var addMap = null;
var editmap = null;
var tableCamp;
var startMarkerAdd
var endMarkerAdd
var isSetStartMarkerAdd = false
var isSetEndMarkerAdd = false
var startEditMap = null;
var isSetStartEditMap = false;
var isSetEndEditMap = false;
var routeControls = [];
var checkajax = false
var mapUrl = 'https://testmap.141.ir/141map/';
var bounds = [
[42.9130026312, 75.6166317076],
[20.5782370061, 35.5092252948],
];
var startAbrarDivIcon = L.divIcon({
html: `
<div id="pin-marker-start" class="pin-marker">
<div class="map-pin-marker">
<div class="pin-main-circle"></div>
<div class="pin-white-circle"></div>
<div class="pin-title-circle">
<span class="title-circle-text">شروع</span>
</div>
<div class="pin-main-line"></div>
</div>
<div class="pin-main-shadow">
<div class="shadow-dot">
</div>
</div>
</div>
`,
iconSize: [55, 75],
iconAnchor: [33, 64],
});
var endAbrarDivIcon = L.divIcon({
html: `
<div id="pin-marker-end" class="pin-marker">
<div class="map-pin-marker">
<div class="pin-main-circle"></div>
<div class="pin-white-circle"></div>
<div class="pin-title-circle">
<span class="title-circle-text">پایان</span>
</div>
<div class="pin-main-line"></div>
</div>
<div class="pin-main-shadow">
<div class="shadow-dot">
</div>
</div>
</div>
`,
iconSize: [55, 75],
iconAnchor: [33, 64],
});
var projectEditData = [];
var startPos = [35.6892, 51.389];
var endPos = [35.6892, 51.389];
var fromDateCamp = null;
function showLoaderScreen() {
$(".divloader").css("display", "flex").hide().fadeIn();
}
function hideLoaderScreen() {
$(".divloader").fadeOut();
}
fromDateCamp = $("#datepickfromdate").persianDatepicker({
format: "YYYY/MM/DD",
autoClose: true,
initialValue: false,
});
$(document).bind('click', function (e) {
const clicked = $(e.target);
if (clicked.parents('.select2-selection__choice').length != 0 || clicked.parents('.datepicker-container').length != 0) return false;
if (clicked.closest('.btn-table-filter').length == 0 && clicked.closest(".parent-filter").length == 0 && $(".parent-filter").css("display") != "none") {
$(".parent-filter").css("display", "none");
}
});
$(document).ready(function () {
getProvinces();
tableCamp = $("#winter-camp-table").DataTable({
dom: "<flB<t>p>",
pagingType: "simple_numbers",
scrollX: true,
language: {
sEmptyTable: "هیچ داده‌ای در جدول وجود ندارد",
sInfo: "نمایش _START_ تا _END_ از _TOTAL_ ردیف",
sInfoEmpty: "نمایش 0 تا 0 از 0 ردیف",
sInfoFiltered: "(فیلتر شده از _MAX_ ردیف)",
sInfoPostFix: "",
sInfoThousands: ",",
sLengthMenu: "نمایش _MENU_ ردیف",
sLoadingRecords: "در حال بارگزاری...",
sProcessing: "در حال پردازش...",
sSearch: "جستجو / فیلتر: ",
sZeroRecords: "رکوردی با این مشخصات پیدا نشد",
oPaginate: {
sFirst: "برگه‌ی نخست",
sLast: "برگه‌ی آخر",
sNext: "بعدی",
sPrevious: "قبلی",
},
oAria: {
sSortAscending: ": فعال سازی نمایش به صورت صعودی",
sSortDescending: ": فعال سازی نمایش به صورت نزولی",
},
},
order: [[0, "asc"][(1, "asc")], [2, "desc"], [3, "desc"], [4, "desc"]],
order: [[0, "asc"]],
processing: true,
select: true,
destroy: true,
ajax: {
url: "https://rms.rmto.ir/api/camp/all",
type: "GET",
dataSrc: function (json) {
return json.data;
},
},
columns: [
{
className: "text-center",
data: null,
render: function (data, type, row, meta) {
return meta.row + 1;
},
},
{ data: "province_fa" },
{
data: null,
render: function (data, type, row) {
if (data.city_2_fa != null && data.city_3_fa != null)
return `${data.city_1_fa}-${data.city_2_fa}-${data.city_3_fa}`;
else if (data.city_2_fa != null)
return `${data.city_1_fa}-${data.city_2_fa}`;
else return `${data.city_1_fa}`;
},
},
{ data: "axis_name" },
{
data: "axis_type_fa",
},
{ data: "blockage_cause_fa" },
{ data: "blockage_length" },
{ data: "blockage_damage_higher_6_count" },
{ data: "blockage_damage_lower_6_count" },
{ data: "blockage_damage_count" },
{ data: "active_cars_count" },
{ data: "active_rahdar_count" },
{ data: "block_axis_desc" },
{ data: "blockage_damage_money" },
{
data: "submited_at",
},
{ data: "prediction_time_fa" },
{
data: null,
render: function (data, type, row) {
return data.is_open_at + data.is_open_type_fa;
},
},
{
className: "text-center",
data: null,
render: function (data, type, row) {
if (data.is_open_at == null) {
return `
<div class="d-flex justify-content-center parent-btn">
<button id="editButton${data.id}" class="btn-dataTable editor details-control" title="ویرایش"><i class="fa fa-edit icon-btnTable"></i></button>
<div class="line-btn-table"></div>
<button class="btn-dataTable location-button" title="مشاهده مکانی پروژه" ><i class="fa fa-eye icon-btnTable"></i></button>
<div class="line-btn-table"></div>
<button class="btn-dataTable image-show" title="مشاهده عکس ها" ><i class="fa fa-image icon-btnTable"></i></button>
<div class="line-btn-table"></div>
<button class="btn-dataTable deletsubmit" title=" حذف " ><i class="fa fa-trash icon-btnTable"></i></button>
</div>
`;
} else {
return `
<div class="d-flex justify-content-center parent-btn">
<button id="editButton${data.id}" class="btn-dataTable editor details-control" title="ویرایش" disabled><i class="fa fa-edit icon-btnTable"></i></button>
<div class="line-btn-table"></div>
<button class="btn-dataTable location-button" title="مشاهده مکانی پروژه" ><i class="fa fa-eye icon-btnTable"></i></button>
<div class="line-btn-table"></div>
<button class="btn-dataTable image-show" title="مشاهده عکس ها" ><i class="fa fa-image icon-btnTable"></i></button>
<div class="line-btn-table"></div>
<button class="btn-dataTable deletsubmit" title=" حذف " disabled><i class="fa fa-trash icon-btnTable"></i></button>
</div>
`;
}
},
},
{
className: "text-center",
data: null,
render: function (data, type, row) {
if (data.is_open_at == null) {
return `
<button class="btn btn-sm btn-success finalsubmit" title=" بازگشایی " ><i class="fa fa-check"></i></button>
`;
} else {
return `
<button class="btn btn-sm btn-success finalsubmit" title=" بازگشایی " disabled ><i class="fa fa-check"></i></button>
`;
}
},
},
],
columnDefs: [
],
buttons: [
{
text: '<div class="btn-table-filter"><div class="d-flex flex-column"><i class="fa mb-2 fa-filter icon-color"></i> فیلترینگ پیشرفته</div></div>',
action: function (e, dt, node, config) {
if ($(".parent-filter").css("display") == "none") {
$(".parent-filter").css("display", "block");
} else if ($(".parent-filter").css("display") != "none") {
$(".parent-filter").css("display", "none");
}
},
},
{
extend: "excelHtml5",
title: "Excel",
text:
'<div class="d-flex flex-column"><i class="fa mb-2 fa-book icon-color"></i>خروجی به اکسل</div>',
messageTop: "محورهای انسدادی ",
exportOptions: {
columns: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13],
},
customize: function (xlsx) {
var sheet = xlsx.xl.worksheets["sheet1.xml"];
$('row c[r^="M"]', sheet).each(function () {
$(this).attr("s", "52");
});
$('row c[r^="N"]', sheet).each(function () {
$(this).attr("s", "52");
});
},
},
],
initComplete: function () {
$("body").find(".dataTables_scrollBody").addClass("scrollbar");
},
});
});
$("#example").on("click", "tbody tr", function () {
if ($(this).hasClass("selected")) {
$(this).removeClass("selected");
$(this).css("color", "");
$(this).find("i").css("color", "");
} else {
table.$("tr.selected").find("i").css("color", "");
table.$("tr.selected").css("color", "");
table.$("tr.selected").removeClass("selected");
$(this).addClass("selected");
$(this).css("color", "white");
$(this).find("i").css("color", "white");
}
});
$("#submit-new-camp").on("click", function () {
let formData = new FormData();
var start_latlng = []
var end_latlng = []
var image_1
var image_2
var image_3
var province_id = $("#province-id").children("option:selected").val();
var city_id = $("#town-id").children("option:selected").val();
var axis_name = $("#axis-name").val();
var axis_type = $("#axis-type").children("option:selected").val();
var blockage_cause = $("#dicc-type-id").children("option:selected").val();
var prediction_time = $("#predict-type-id").children("option:selected").val();
var blockage_length = $("#damage_road").val()
var blockage_damage_count = $("#damage_pol").val()
var blockage_damage_lower_6_count = $("#damage_pol_lessthan").val()
var blockage_damage_higher_6_count = $("#damage_pol_morethan").val()
var blockage_damage_money = $("#milion").val()
var active_cars_count = $("#machinery_count").val()
var active_rahdar_count = $("#active_rahdar").val()
var block_axis_desc = $("#extra_modal").val()
if (!isSetStartMarkerAdd) {
start_latlng = []
}
else {
start_latlng.push(startMarkerAdd.getLatLng().lat)
start_latlng.push(startMarkerAdd.getLatLng().lng)
}
if (!isSetEndMarkerAdd) {
end_latlng = []
}
else {
end_latlng.push(endMarkerAdd.getLatLng().lat)
end_latlng.push(endMarkerAdd.getLatLng().lng)
}
var image_1 = $("#deviceImg1").get(0).files[0];
var image_2 = $("#deviceImg2").get(0).files[0];
var image_3 = $("#deviceImg3").get(0).files[0];
if (image_1 == undefined) {
checkajax = false
$(".imagebox1").addClass("is-invalid-input");
} else {
formData.append('image_1', image_1);
$(".imagebox1").removeClass("is-invalid-input");
}
if (image_2 == undefined) {
checkajax = false
$(".imagebox2").addClass("is-invalid-input");
} else {
formData.append('image_2', image_2);
$(".imagebox2").removeClass("is-invalid-input");
}
if (image_3 == undefined) {
checkajax = false
$(".imagebox3").addClass("is-invalid-input");
} else {
formData.append('image_3', image_3);
$(".imagebox3").removeClass("is-invalid-input");
}
if (province_id == 0) {
checkajax = false
$("#province-id").addClass("is-invalid-input");
} else {
formData.append('province_id', province_id);
$("#province-id").removeClass("is-invalid-input");
}
if (city_id == 0) {
checkajax = false
$("#town-id").addClass("is-invalid-input");
} else {
formData.append('city_id', city_id);
$("#town-id").removeClass("is-invalid-input");
}
if (axis_name == "") {
checkajax = false
$("#axis-name").addClass("is-invalid-input");
} else {
formData.append('axis_name', axis_name);
$("#axis-name").removeClass("is-invalid-input");
}
if (axis_type == 0) {
checkajax = false
$("#axis-type").addClass("is-invalid-input");
} else {
formData.append('axis_type', axis_type);
$("#axis-type").removeClass("is-invalid-input");
}
if (blockage_cause == 0) {
checkajax = false
$("#dicc-type-id").addClass("is-invalid-input");
} else {
formData.append('blockage_cause', blockage_cause);
$("#dicc-type-id").removeClass("is-invalid-input");
}
if (prediction_time == 0) {
checkajax = false
$("#predict-type-id").addClass("is-invalid-input");
} else {
formData.append('prediction_time', prediction_time);
$("#predict-type-id").removeClass("is-invalid-input");
}
if (blockage_length == "") {
checkajax = false
$("#damage_road").addClass("is-invalid-input");
} else {
formData.append('blockage_length', blockage_length);
$("#damage_road").removeClass("is-invalid-input");
}
if (blockage_damage_count == "") {
checkajax = false
$("#damage_pol").addClass("is-invalid-input");
} else {
formData.append('blockage_damage_count', blockage_damage_count);
$("#damage_pol").removeClass("is-invalid-input");
}
if (blockage_damage_lower_6_count == "") {
checkajax = false
$("#damage_pol_lessthan").addClass("is-invalid-input");
} else {
formData.append('blockage_damage_lower_6_count', blockage_damage_lower_6_count);
$("#damage_pol_lessthan").removeClass("is-invalid-input");
}
if (blockage_damage_higher_6_count == "") {
checkajax = false
$("#damage_pol_morethan").addClass("is-invalid-input");
} else {
formData.append('blockage_damage_higher_6_count', blockage_damage_higher_6_count);
$("#damage_pol_morethan").removeClass("is-invalid-input");
}
if (blockage_damage_money == "") {
checkajax = false
$("#milion").addClass("is-invalid-input");
} else {
formData.append('blockage_damage_money', blockage_damage_money);
$("#milion").removeClass("is-invalid-input");
}
if (active_cars_count == "") {
checkajax = false
$("#machinery_count").addClass("is-invalid-input");
} else {
formData.append('active_cars_count', active_cars_count);
$("#machinery_count").removeClass("is-invalid-input");
}
if (active_rahdar_count == "") {
checkajax = false
$("#active_rahdar").addClass("is-invalid-input");
} else {
formData.append('active_rahdar_count', active_rahdar_count);
$("#active_rahdar").removeClass("is-invalid-input");
}
if (block_axis_desc == "") {
checkajax = false
$("#extra_modal").addClass("is-invalid-input");
} else {
formData.append('block_axis_desc', block_axis_desc);
$("#extra_modal").removeClass("is-invalid-input");
}
if (start_latlng.length != 0) {
$("input[name=project-latlng-start]").removeClass("is-invalid-input")
formData.append('start_latlng', start_latlng);
} else {
checkajax = false
$("input[name=project-latlng-start]").addClass("is-invalid-input")
}
if (end_latlng.length != 0) {
formData.append('end_latlng', end_latlng);
$("input[name=project-latlng-end]").removeClass("is-invalid-input")
} else {
checkajax = false
$("input[name=project-latlng-end]").addClass("is-invalid-input")
}
if (checkajax) {
$.ajax({
url: "https://rms.rmto.ir/webapi/camp/storeDevelop",
type: "POST",
data: formData,
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
cache: false,
contentType: false,
processData: false,
success: function (result) {
alert("hiii")
},
error: function (error) {
hideLoaderScreen();
Swal.fire({
icon: "error",
title: "خطا",
text: "خطایی رخ داده است",
confirmButtonText: "بستن",
});
},
});
}
});
$("#example").on("click", "button.image-show", function () {
var tr = $(this).closest("tr");
var row = table.row(tr);
idSelect = row.data().id;
let formData = new FormData();
formData.append("id", idSelect);
$.ajax({
url: "https://rms.rmto.ir/camp/get",
type: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
data: formData,
cache: false,
contentType: false,
processData: false,
success: function (result) {
// console.log(result.data.files.length);
if (result.data.files.length != 0) {
// var images = row.data().images
// hideLoaderScreen();
opensliderforeachrow(result.data, 1);
}
},
});
});
$("#add-project-button").on("click", function () {
$("#submit-new-camp").attr("disabled", false);
showModal();
initialField();
if (addMap == null) {
setTimeout(() => {
createLeafletMap();
}, 200);
} else {
reinitialMap(35.7065000000, 51.3477000000);
}
addProvinceToCampModal()
});
function createLeafletMap() {
addMap = L.map("add-map", {
maxBounds: bounds,
minZoom: 6,
}).setView([35.7065000000, 51.3477000000], 7);
L.tileLayer(`${mapUrl}{z}/{x}/{y}.png`, {}).addTo(addMap);
setMarkerDefaultAdd()
}
function reinitialMap(lat, lng) {
isSetStartMarkerAdd = false
isSetEndMarkerAdd = false
if (routeControls.length) {
$(routeControls).each(function (index, control) {
addMap.removeControl(control);
routeControls.splice(routeControls.indexOf(index), 1);
});
}
addMap.removeLayer(startMarkerAdd);
if (endMarkerAdd != null) {
addMap.removeLayer(endMarkerAdd);
}
addMap.setView([lat, lng], 7);
setMarkerDefaultAdd()
}
function setMarkerDefaultAdd() {
$("input[name=project-latlng-start]").val("")
$("input[name=project-latlng-end]").val("")
startMarkerAdd = new L.marker(L.latLng(addMap.getCenter()), {
icon: startAbrarDivIcon,
draggable: true,
}).addTo(addMap);
endMarkerAdd = new L.marker(L.latLng(addMap.getCenter()), {
icon: endAbrarDivIcon,
draggable: true,
})
addMap.on("move", function () {
if (!isSetStartMarkerAdd && !isSetEndMarkerAdd) {
startMarkerAdd.setLatLng(L.latLng(addMap.getCenter()));
$("#pin-marker-start").removeClass("pin-set").addClass("pin-move");
}
if (isSetStartMarkerAdd && !isSetEndMarkerAdd) {
endMarkerAdd.setLatLng(L.latLng(addMap.getCenter()));
$("#pin-marker-end").removeClass("pin-set").addClass("pin-move");
}
});
addMap.on("moveend", function () {
if (!isSetStartMarkerAdd && !isSetEndMarkerAdd) {
startMarkerAdd.setLatLng(L.latLng(addMap.getCenter()));
$("#pin-marker-start").removeClass("pin-move pin-set");
}
if (isSetStartMarkerAdd && !isSetEndMarkerAdd) {
endMarkerAdd.setLatLng(L.latLng(addMap.getCenter()));
$("#pin-marker-end").removeClass("pin-move pin-set");
}
});
startMarkerAdd.on("click", function () {
if (!isSetStartMarkerAdd) {
startMarkerAdd.setLatLng(L.latLng(addMap.getCenter()));
endMarkerAdd.setLatLng(L.latLng(addMap.getCenter()));
isSetStartMarkerAdd = true;
$("#pin-marker-start")
.removeClass("pin-move pin-warn")
.addClass("pin-set");
$("input[name=project-latlng-start]").val(
startMarkerAdd.getLatLng().lat.toFixed(6) +
startMarkerAdd.getLatLng().lng.toFixed(6)
);
$(
"input[name=project-latlng-start]"
).removeClass("validity-checker");
}
endMarkerAdd.addTo(addMap);
$(this).hide();
$("#pin-marker-start")
.removeClass("pin-move pin-warn")
.addClass("pin-set");
})
startMarkerAdd.on("drag", function () {
$("#pin-marker-start").addClass("pin-move");
});
startMarkerAdd.on("dragend", function () {
$("#pin-marker-start").removeClass("pin-move");
if ($("#pin-marker-start").hasClass("pin-set") || isSetStartMarkerAdd) {
$("#pin-marker-start").addClass("pin-set");
$("input[name=project-latlng-start]").val(
startMarkerAdd.getLatLng().lat.toFixed(6) +
startMarkerAdd.getLatLng().lng.toFixed(6)
);
$(
"input[name=project-latlng-start]"
).removeClass("validity-checker");
checkMarkersAndDrawPath();
} else {
addMap.setView(startMarkerAdd.getLatLng());
}
});
endMarkerAdd.on("click", function () {
if (!isSetEndMarkerAdd) {
isSetEndMarkerAdd = true;
$("#pin-marker-end").removeClass("pin-move").addClass("pin-set");
$("input[name=project-latlng-end]").val(
endMarkerAdd.getLatLng().lat.toFixed(6) +
endMarkerAdd.getLatLng().lng.toFixed(6)
);
$(
"input[name=project-latlng-end]"
).removeClass("validity-checker");
}
checkMarkersAndDrawPath();
})
endMarkerAdd.on("drag", function () {
$("#pin-marker-end").addClass("pin-move");
checkMarkersAndDrawPath();
});
endMarkerAdd.on("dragend", function () {
$("#pin-marker-end").removeClass("pin-move");
if ($("#pin-marker-end").hasClass("pin-set") || isSetEndMarkerAdd) {
$("#pin-marker-end").addClass("pin-set");
$("input[name=project-latlng-end]").val(
endMarkerAdd.getLatLng().lat.toFixed(6) +
endMarkerAdd.getLatLng().lng.toFixed(6)
);
$(
"input[name=project-latlng-end]"
).removeClass("validity-checker");
checkMarkersAndDrawPath();
} else {
addMap.setView(endMarkerAdd.getLatLng());
}
});
}
function opensliderforeachrow(row, main) {
sliderImages = row.files;
let updated_at;
let dataLength = sliderImages.length;
$("#slideshow-slide").find(".mySlides").remove();
$("#slideshow-dot").find(".dot").remove();
for (let index = 0; index < sliderImages.length; index++) {
var imageUrl;
var updateDate;
if (main == 0) {
imageUrl = sliderImages[index];
updateDate = row.submited_at;
} else {
imageUrl =
"https://rms.rmto.ir/storage" +
sliderImages[index].path.slice(6);
// console.log("hasman", row.updated_at);
updateDate = row.submited_at;
}
var test = index + 1;
let divSlide =
'<div class="mySlides"><div class="numbertext">' +
(index + 1) +
" / " +
sliderImages.length +
'</div><img src="' +
imageUrl +
'"><div class="textt"> تصویر ' +
test +
":" +
" " +
"تاریخ :" +
updateDate +
"</div></div>";
$("#slideshow-slide").append(divSlide);
$("#slideshow-dot").append(
'<span class="dot" onclick="currentphotoshow(' + test + ')"></span>'
);
}
if (dataLength > 0) {
slideindex = 1;
layerslidershow(slideindex);
$("#slideroverlay").css("display", "block");
}
}
function openSlidershowbutton(row, main) {
sliderImages = row.data().images;
let updated_at;
let dataLength = sliderImages.length;
$("#slideshow-slide").find(".mySlides").remove();
$("#slideshow-dot").find(".dot").remove();
for (let index = 0; index < sliderImages.length; index++) {
var imageUrl;
var updateDate;
if (main == 1) {
imageUrl = sliderImages[index];
updateDate = row.data().images_dates[index];
} else {
imageUrl =
"https://rms.rmto.ir/storage" +
sliderImages[index].path.slice(6);
// console.log("hasman", row.data().updated_at);
updateDate = row.data().updated_at;
}
var test = index + 1;
let divSlide =
'<div class="mySlides"><div class="numbertext">' +
(index + 1) +
" / " +
sliderImages.length +
'</div><img src="' +
imageUrl +
'"><div class="textt"> تصویر ' +
test +
":" +
" " +
"تاریخ :" +
updateDate +
"</div></div>";
$("#slideshow-slide").append(divSlide);
$("#slideshow-dot").append(
'<span class="dot" onclick="currentphotoshow(' + test + ')"></span>'
);
}
if (dataLength > 0) {
slideindex = 1;
layerslidershow(slideindex);
$("#slideroverlay").css("display", "block");
}
}
function createLeafletMapshow(startP, endP) {
var latapi1 = startP[0];
var lngapi1 = startP[1];
var latapi2 = endP[0];
var lngapi2 = endP[1];
let bounds = [
[42.9130026312, 75.6166317076],
[20.5782370061, 35.5092252948],
];
mapshow = new L.map("abrarshow-map", {
maxBounds: bounds,
minZoom: 6,
}).setView([latapi1, lngapi1], 9);
L.tileLayer("https://testmap.141.ir/141map/{z}/{x}/{y}.png", {}).addTo(
mapshow
);
startAbrarMarkershow = new L.marker(L.latLng(latapi1, lngapi1), {
icon: startAbrarDivIcon,
}).addTo(mapshow);
endAbrarMarkershow = new L.marker(L.latLng(latapi2, lngapi2), {
icon: endAbrarDivIcon,
}).addTo(mapshow);
isSetStartAbrarMarkershow = true;
$("#pin-marker-start").removeClass("pin-move pin-warn").addClass("pin-set");
isSetEndAbrarMarkershow = true;
$("#pin-marker-end").removeClass("pin-move").addClass("pin-set");
checkMarkersAndDrawPathshow();
}
function initialField() {
$("#axis-name-id").val("");
$("#axis-type-id").val("0");
$("#project-title-id").val("");
$("#yearshown").val("13");
$("#contractor-id").val("");
$("#consultant-id").val("");
$("#contract-date-id").val("");
$("#contract-price-id").val("");
$("#tool-id").val("");
$("#milion").val("");
$("#polhabig").val("");
$("#polhasmall").val("");
$("#polha").val("");
$("#machinery").val("");
$("#activerahdar").val("");
$("#tozihat").val("");
$("#predict-type-id").val("0");
$("#dicc-type-id").val("0");
$("#inputFile1").val("");
$("#inputFile2").val("");
$("#inputFile3").val("");
$("#image_upload_second").empty();
$("#thirdshow").css("display", "block");
$("#image_upload_first").css("display", "none");
$("#firstshow").css("display", "block");
$("#image_upload_second").css("display", "none");
$("#secondshow").css("display", "block");
$("#image_upload_third").css("display", "none");
$("#province-id").removeClass("is-invalid-input");
$("#axis-name-id").removeClass("is-invalid-input");
$("#axis-type-id").removeClass("is-invalid-input");
$("#project-title-id").removeClass("is-invalid-input");
$("#yearshown").removeClass("is-invalid-input");
$("#contractor-id").removeClass("is-invalid-input");
$("#consultant-id").removeClass("is-invalid-input");
$("#contract-date-id").removeClass("is-invalid-input");
$("#contract-price-id").removeClass("is-invalid-input");
$("#dicc-type-id").removeClass("is-invalid-input");
$("#tool-id").removeClass("is-invalid-input");
$("#milion").removeClass("is-invalid-input");
$("#polhabig").removeClass("is-invalid-input");
$("#polhasmall").removeClass("is-invalid-input");
$("#polha").removeClass("is-invalid-input");
$("#machinery").removeClass("is-invalid-input");
$("#activerahdar").removeClass("is-invalid-input");
$("#tozihat").removeClass("is-invalid-input");
$("#predict-type-id").removeClass("is-invalid-input");
}
function addProvinceToCampModal() {
$("#province-id").empty();
$("#province-id").append('<option value="0">انتخاب اداره کل</option>');
for (let index = 0; index < provinces.length; index++) {
$("#province-id").append(
"\
<option value=" +
provinces[index].id +
">" +
provinces[index].name_fa +
"</option>\
"
);
}
}
$("#example").on("click", "button.location-button", function () {
var tr = $(this).closest("tr");
var row = table.row(tr);
idSelect = row.data().id;
window.open("https://rms.rmto.ir/camp/map/" + idSelect);
});
$("#example").on("click", "button.finalsubmit", function () {
var tr = $(this).closest("tr");
var row = table.row(tr);
idSelect = row.data().id;
var buttonsprev = $("<div>")
.append(
createButton(
"بازگشایی بصورت موقت می باشد (خسارت ها رفع نشده اند )",
"temp",
function () {
swal.close();
}
)
)
.append(
createButton(
"بازگشایی همراه با رفع خسارت های وارد شده می باشد ",
"final",
function () {
swal.close();
}
)
);
$("#modalshowopen").modal("show");
let formData = new FormData();
formData.append("id", idSelect);
});
function createButton(text, id, cb) {
cb();
return $('<button id="' + id + '">' + text + "</button>").on("click", cb);
}
$("#example").on("click", "button.deletsubmit", function () {
var tr = $(this).closest("tr");
var row = table.row(tr);
idSelect = row.data().id;
let formData = new FormData();
formData.append("id", idSelect);
Swal.fire({
icon: "warning",
title: "آیا برای حذف مطمئن هستید؟",
showCancelButton: true,
confirmButtonColor: "#3085d6",
cancelButtonColor: "#d33",
confirmButtonText: "بله، تایید می‌شود",
cancelButtonText: "منصرف شدم!",
showLoaderOnConfirm: true,
preConfirm: () => {
showLoaderScreen();
$.ajax({
url: "https://rms.rmto.ir/camp/delete",
type: "POST",
data: formData,
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
cache: false,
contentType: false,
processData: false,
success: function (result) {
ajaxcalltablegharar();
// showLoaderScreen();
// icon: "success",
// confirmButtonText: "بستن",
// location.reload();
// });
},
error: function (error) {
hideLoaderScreen();
console.log(error);
Swal.fire({
icon: "error",
title: "خطا",
confirmButtonText: "بستن",
});
},
});
},
});
});
function getProvinces() {
let reqUrl =
"https://rms.rmto.ir/public/contents/provinces";
$.ajax({
url: reqUrl,
type: "GET",
success: function (result) {
hideLoaderScreen();
provinces = result.data;
$("#filter-province").empty();
$("#filter-province").append('<option value="0">انتخاب اداره کل</option>');
for (let index = 0; index < provinces.length; index++) {
$("#filter-province").append(
"\
<option value=" +
provinces[index].id +
">" +
provinces[index].name_fa +
"</option>\
"
);
}
},
error: function (error) {
//console.log(error);
},
});
}
function getTowns(id, num, val, defaultVal) {
let reqUrl =
"https://rms.rmto.ir/public/contents/provinces/" +
id;
showLoaderScreen();
$.ajax({
url: reqUrl,
type: "GET",
success: function (result) {
hideLoaderScreen();
towns = result.data;
if (num == 1) {
setTownSelect("", val[0]);
} else if (num == 2) {
setTownSelect("", val[0]);
setTownSelect("1", val[1]);
} else {
setTownSelect("", val[0]);
setTownSelect("1", val[1]);
setTownSelect("2", val[2]);
}
if (!edit || !defaultVal) {
if (towns.length) {
let provinceIndex = provinces.findIndex(function (entry) {
return entry.id == towns[0].province_id;
});
if (provinceIndex != -1) {
map.flyTo(
[
provinces[provinceIndex].center_lat,
provinces[provinceIndex].center_long,
],
10
);
}
initialMarkerMapValue(
provinces[provinceIndex].center_lat,
provinces[provinceIndex].center_long
);
}
}
},
error: function (error) {
hideLoaderScreen();
},
complete: function () { },
});
}
function setTownSelect(box, selectedId) {
$("#town-id" + box).empty();
$("#town-id" + box).append('<option value="0">انتخاب شهرستان</option>');
for (let index = 0; index < towns.length; index++) {
if (selectedId == towns[index].id) {
$("#town-id" + box).append(
"\
<option value=" +
towns[index].id +
" selected>" +
towns[index].name_fa +
"</option>\
"
);
} else {
$("#town-id" + box).append(
"\
<option value=" +
towns[index].id +
">" +
towns[index].name_fa +
"</option>\
"
);
}
}
}
function showModal(id) {
$("#winter-camp-modal").modal("show");
$("[data-mask]").inputmask();
$("#winter-camp-modal input[name=project-latlng-start]").on(
"keyup",
function () {
checkStartMarkerValidation();
}
);
$("#winter-camp-modal input[name=abrar-project-latlng-end]").on(
"keyup",
function () {
checkEndMarkerValidation();
}
);
addTownToCampModal()
}
function addTownToCampModal() {
$("#subTown").empty();
$("#subTown").append(`<div class="form-group col-md-12">
<label>
شهرستان
</label>
<select
class="form-control"
style="font-size:12px"
name="town"
id="town-id"
>
<option value="0">انتخاب شهرستان</option>
</select>
</div>`);
}
$("#town-id").on("change", function () {
if (parseInt($(this).children("option:selected").val()) == 0) {
$("#town-id").addClass("is-invalid-input");
} else {
$("#town-id").removeClass("is-invalid-input");
}
});
$(".cancel").on("click", function () {
$("#winter-camp-modal").modal("hide");
});
$("#submitNewRow").on("click", function () {
let url = "https://rms.rmto.ir/webapi/camp/store";
if (edit) {
url = "https://rms.rmto.ir/webapi/camp/edit";
}
const p2e = (s) => s.replace(/[۰-۹]/g, (d) => "۰۱۲۳۴۵۶۷۸۹".indexOf(d));
let startLatLngVal = $(
"#winter-camp-modal input[name=project-latlng-start]"
)
.val()
.split(" - ");
let startLatLng = startLatLngVal.map(function (e) {
e = e.replace(/_/g, "");
return parseFloat(e.slice(1, -1));
});
let endLatLngVal = $(
"#winter-camp-modal input[name=abrar-project-latlng-end]"
)
.val()
.split(" - ");
let endLatLng = endLatLngVal.map(function (e) {
e = e.replace(/_/g, "");
return parseFloat(e.slice(1, -1));
});
let provinceVal = $("#province-id").children("option:selected").val();
let axisNameVal = $("#axis-name-id").val();
let axisTypeVal = $("#axis-type-id").children("option:selected").val();
let town1Val = $("#town-id").children("option:selected").val();
let mosharekatTown1Val = $("#mosharekat1").val();
let town2Val = "";
let mosharekatTown2Val = "";
if ($("#town-id1").css("display") != "none") {
town2Val = $("#town-id1").children("option:selected").val();
mosharekatTown2Val = $("#mosharekat2").val();
}
let town3Val = "";
let mosharekatTown3Val = "";
if ($("#town-id2").css("display") != "none") {
town3Val = $("#town-id2").children("option:selected").val();
mosharekatTown3Val = $("#mosharekat3").val();
}
let dicctype = $("#dicc-type-id").val();
let block_type = $("#block-type").val();
let milion = $("#milion").val();
let polha = $("#polha").val();
let machinery = $("#machinery").val();
let activerahdar = $("#activerahdar").val();
let tozihat = $("#tozihat").val();
let toolensedad = $("#tool-id").val();
let predictiontime = $("#predict-type-id").children("option:selected").val();
let polhabig = $("#polhabig").val();
let polhasmall = $("#polhasmall").val();
if (isNaN(startLatLng[0])) {
$("input[name='project-latlng-start']").addClass("is-invalid-input");
} else {
$("input[name='project-latlng-start']").removeClass(
"is-invalid-input"
);
}
if (isNaN(endLatLng[0])) {
$("input[name='abrar-project-latlng-end']").addClass("is-invalid-input");
} else {
$("input[name='abrar-project-latlng-end']").removeClass("is-invalid-input");
}
if (parseInt(provinceVal) == 0) {
$("#province-id").addClass("is-invalid-input");
} else {
$("#province-id").removeClass("is-invalid-input");
}
if (axisNameVal == "") {
$("#axis-name-id").addClass("is-invalid-input");
} else {
$("#axis-name-id").removeClass("is-invalid-input");
}
if (parseInt(axisTypeVal) == 0) {
$("#axis-type-id").addClass("is-invalid-input");
} else {
$("#axis-type-id").removeClass("is-invalid-input");
}
if (parseInt(town1Val) == 0) {
$("#town-id").addClass("is-invalid-input");
} else {
$("#town-id").removeClass("is-invalid-input");
}
if (parseInt(town2Val) == 0) {
$("#town-id1").addClass("is-invalid-input");
} else {
$("#town-id1").removeClass("is-invalid-input");
}
if (parseInt(town3Val) == 0) {
$("#town-id2").addClass("is-invalid-input");
} else {
$("#town-id2").removeClass("is-invalid-input");
}
if ($("#town-id2").length) {
if (mosharekatTown1Val == "") {
$("#mosharekat1").addClass("is-invalid-input");
} else {
$("#mosharekat1").removeClass("is-invalid-input");
}
if (mosharekatTown2Val == "") {
$("#mosharekat2").addClass("is-invalid-input");
} else {
$("#mosharekat2").removeClass("is-invalid-input");
}
if (mosharekatTown3Val == "") {
$("#mosharekat3").addClass("is-invalid-input");
} else {
$("#mosharekat3").removeClass("is-invalid-input");
}
let mosharekatSum =
parseInt(mosharekatTown1Val) +
parseInt(mosharekatTown2Val) +
parseInt(mosharekatTown3Val);
if (mosharekatSum != 100) {
$("#mosharekat1").addClass("is-invalid-input");
$("#mosharekat2").addClass("is-invalid-input");
$("#mosharekat3").addClass("is-invalid-input");
if ($(".invalid-feedback").length) {
$(".invalid-feedback").show();
} else {
$("#mosharekat1").parent().append(`
<div class="invalid-feedback">
مجموع درصد مشارکت ها باید 100 درصد باشد.
</div>
`);
$(".invalid-feedback").show();
}
} else {
if ($(".invalid-feedback").length) $(".invalid-feedback").hide();
}
} else if ($("#town-id1").length) {
if (mosharekatTown1Val == "") {
$("#mosharekat1").addClass("is-invalid-input");
} else {
$("#mosharekat1").removeClass("is-invalid-input");
}
if (mosharekatTown2Val == "") {
$("#mosharekat2").addClass("is-invalid-input");
} else {
$("#mosharekat2").removeClass("is-invalid-input");
}
let mosharekatSum =
parseInt(mosharekatTown1Val) + parseInt(mosharekatTown2Val);
if (mosharekatSum != 100) {
$("#mosharekat1").addClass("is-invalid-input");
$("#mosharekat2").addClass("is-invalid-input");
if ($(".invalid-feedback").length) {
$(".invalid-feedback").show();
} else {
$("#mosharekat1").parent().append(`
<div class="invalid-feedback">
مجموع درصد مشارکت ها باید 100 درصد باشد.
</div>
`);
$(".invalid-feedback").show();
}
} else {
if ($(".invalid-feedback").length) $(".invalid-feedback").hide();
}
}
if (dicctype == 0) {
$("#dicc-type-id").addClass("is-invalid-input");
} else {
$("#dicc-type-id").removeClass("is-invalid-input");
}
if (toolensedad == 0) {
$("#tool-id").addClass("is-invalid-input");
} else {
$("#tool-id").removeClass("is-invalid-input");
}
if (milion == "") {
$("#milion").addClass("is-invalid-input");
} else {
$("#milion").removeClass("is-invalid-input");
}
if (predictiontime == 0) {
$("#predict-type-id").addClass("is-invalid-input");
} else {
$("#predict-type-id").removeClass("is-invalid-input");
}
if (polha == "") {
$("#polha").addClass("is-invalid-input");
} else {
$("#polha").removeClass("is-invalid-input");
}
if (polhasmall == "") {
$("#polhasmall").addClass("is-invalid-input");
} else {
$("#polhasmall").removeClass("is-invalid-input");
}
if (polhabig == "") {
$("#polhabig").addClass("is-invalid-input");
} else {
$("#polhabig").removeClass("is-invalid-input");
}
if (machinery == "") {
$("#machinery").addClass("is-invalid-input");
} else {
$("#machinery").removeClass("is-invalid-input");
}
if (activerahdar == "") {
$("#activerahdar").addClass("is-invalid-input");
} else {
$("#activerahdar").removeClass("is-invalid-input");
}
if (tozihat == "") {
$("#tozihat ").addClass("is-invalid-input");
} else {
$("#tozihat ").removeClass("is-invalid-input");
}
if ($("#town-id").val() === $("#town-id1").val()) {
$("#town-id1").addClass("is-invalid-input");
}
if ($("#town-id").val() === $("#town-id2").val()) {
$("#town-id2").addClass("is-invalid-input");
}
if ($("#town-id1").val() === $("#town-id2").val()) {
$("#town-id2").addClass("is-invalid-input");
}
if ($("#winter-camp-modal").find(".is-invalid-input").length) {
} else if (boundingbox) {
if (
boundingbox &&
parseFloat(startLatLng[0]) >= parseFloat(boundingbox[0]) &&
parseFloat(startLatLng[0]) <= parseFloat(boundingbox[1]) &&
parseFloat(startLatLng[1]) >= parseFloat(boundingbox[2]) &&
parseFloat(startLatLng[1]) <= parseFloat(boundingbox[3]) &&
parseFloat(endLatLng[0]) >= parseFloat(boundingbox[0]) &&
parseFloat(endLatLng[0]) <= parseFloat(boundingbox[1]) &&
parseFloat(endLatLng[1]) >= parseFloat(boundingbox[2]) &&
parseFloat(endLatLng[1]) <= parseFloat(boundingbox[3])
) {
let formData = new FormData();
let cities = {};
if ($("#town-id2").length) {
cities[town1Val] = mosharekatTown1Val;
cities[town2Val] = mosharekatTown2Val;
cities[town3Val] = mosharekatTown3Val;
} else if ($("#town-id1").length) {
cities[town1Val] = mosharekatTown1Val;
cities[town2Val] = mosharekatTown2Val;
} else {
cities[town1Val] = 100;
}
formData.append("province-id", provinceVal);
formData.append("cities-id", JSON.stringify(cities));
formData.append("axis-name", axisNameVal);
formData.append("axis-type", axisTypeVal);
formData.append("prediction-time", predictiontime);
formData.append("blockage-cause", dicctype);
formData.append("blockage-length", toolensedad);
formData.append("blockage-damage-money", milion);
formData.append("blockage-damage-count", polha);
formData.append("blockage-damage-lower-6-count", polhasmall);
formData.append("blockage-damage-higher-6-count", polhabig);
formData.append("active-cars-count", machinery);
formData.append("active-rahdar-count", activerahdar);
formData.append("start-latlng", startLatLng);
formData.append("end-latlng", endLatLng);
formData.append("block-axis-desc", tozihat);
if ($("input[name=inputFile1]")[0].files[0] != undefined) {
formData.append("image-1", $("input[name=inputFile1]")[0].files[0]);
formData.append("name-1", "image-1");
}
if ($("input[name=inputFile2]")[0].files[0] != undefined) {
formData.append("image-2", $("input[name=inputFile2]")[0].files[0]);
formData.append("name-2", "image-2");
}
if ($("input[name=inputFile3]")[0].files[0] != undefined) {
formData.append("image-3", $("input[name=inputFile3]")[0].files[0]);
formData.append("name-3", "image-3");
}
for (var pair of formData.entries()) {
console.log(pair[0] + ", " + pair[1]);
}
showLoaderScreen();
$.ajax({
url: url,
type: "POST",
data: formData,
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
cache: false,
contentType: false,
processData: false,
mimeType: "multipart/form-data",
success: function (result) {
console.log(result);
$("#winter-camp-modal").modal("hide");
ajaxcalltablegharar();
// setTimeout(function () {
// }, 2000);
},
error: function (error) {
hideLoaderScreen();
Swal.fire({
icon: "error",
title: "خطا",
text: "خطایی رخ داده است",
confirmButtonText: "بستن",
});
},
});
} else {
Swal.fire({
icon: "error",
title: "خطا",
text: ". لطفا در محدوده استان موقعیت را ثبت کنید ",
confirmButtonText: "بستن",
});
}
} else {
let formData = new FormData();
let cities = {};
if ($("#town-id2").length) {
cities[town1Val] = mosharekatTown1Val;
cities[town2Val] = mosharekatTown2Val;
cities[town3Val] = mosharekatTown3Val;
} else if ($("#town-id1").length) {
cities[town1Val] = mosharekatTown1Val;
cities[town2Val] = mosharekatTown2Val;
} else {
cities[town1Val] = 100;
}
formData.append("id", idEdit);
formData.append("province-id", provinceVal);
formData.append("cities-id", JSON.stringify(cities));
formData.append("axis-name", axisNameVal);
formData.append("axis-type", axisTypeVal);
formData.append("prediction-time", predictiontime);
formData.append("blockage-cause", dicctype);
formData.append("blockage-length", toolensedad);
formData.append("blockage-damage-money", milion);
formData.append("blockage-damage-count", polha);
formData.append("blockage-damage-lower-6-count", polhasmall);
formData.append("blockage-damage-higher-6-countt", polhabig);
formData.append("active-cars-count", machinery);
formData.append("active-rahdar-count", activerahdar);
formData.append("start-latlng", startLatLng);
formData.append("end-latlng", endLatLng);
formData.append("block-axis-desc", tozihat);
if ($("input[name=inputFile1]")[0].files[0] != undefined) {
formData.append("image-1", $("input[name=inputFile1]")[0].files[0]);
formData.append("name-1", "image-1");
}
if ($("input[name=inputFile2]")[0].files[0] != undefined) {
formData.append("image-2", $("input[name=inputFile2]")[0].files[0]);
formData.append("name-2", "image-2");
}
if ($("input[name=inputFile3]")[0].files[0] != undefined) {
formData.append("image-3", $("input[name=inputFile3]")[0].files[0]);
formData.append("name-3", "image-3");
}
for (var pair of formData.entries()) {
console.log(pair[0] + ", " + pair[1]);
}
showLoaderScreen();
$.ajax({
url: url,
type: "POST",
data: formData,
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
cache: false,
contentType: false,
processData: false,
mimeType: "multipart/form-data",
success: function (result) {
$("#winter-camp-modal").modal("hide");
ajaxcalltablegharar();
// setTimeout(function () {
// }, 2000);
},
error: function (error) {
hideLoaderScreen();
Swal.fire({
icon: "error",
title: "خطا",
text: "خطایی رخ داده است",
confirmButtonText: "بستن",
});
},
});
}
});
function ajaxcalltable() {
$.ajax({
url:
"https://rms.rmto.ir/rahdari/road-maintenance-project/getlist",
type: "GET",
success: function (result) {
$("#example").dataTable().fnClearTable();
$("#example").dataTable().fnAddData(result.data);
hideLoaderScreen();
$("#winter-camp-modal").modal("hide");
},
});
}
function onLocationChange(num) {
var choosenlat, choosenlng;
let provinceIndex = provinces.findIndex(function (entry) {
return entry.id == num;
});
if (provinceIndex != -1) {
choosenlat = provinces[provinceIndex].center_lat;
choosenlng = provinces[provinceIndex].center_long;
}
reinitialMap(choosenlat, choosenlng)
}
$("#province-id").on("change", function () {
if (parseInt($(this).children("option:selected").val()) == 0) {
$("#province-id").addClass("is-invalid-input");
} else {
$("#province-id").removeClass("is-invalid-input");
onLocationChange(parseInt($(this).children("option:selected").val()))
addTowntoSelect(parseInt($(this).children("option:selected").val()))
}
});
$("#axis-name-id").on("change", function () {
if ($(this).val() == "") {
$("#axis-name-id").addClass("is-invalid-input");
} else {
$("#axis-name-id").removeClass("is-invalid-input");
}
});
$("#yearshown").on("change", function () {
// $("#yearshown").addClass("is-invalid-input");
$("#yearshown").removeClass("is-invalid-input");
});
$("#axis-type-id").on("change", function () {
if (parseInt($(this).children("option:selected").val()) == 0) {
$("#axis-type-id").addClass("is-invalid-input");
} else {
$("#axis-type-id").removeClass("is-invalid-input");
}
});
$("#project-title-id").on("change", function () {
if ($(this).val() == "") {
$("#project-title-id").addClass("is-invalid-input");
} else {
$("#project-title-id").removeClass("is-invalid-input");
}
});
$("#contractor-id").on("change", function () {
if ($(this).val() == "") {
$("#contractor-id").addClass("is-invalid-input");
} else {
$("#contractor-id").removeClass("is-invalid-input");
}
});
$("#consultant-id").on("change", function () {
if ($(this).val() == "") {
$("#consultant-id").addClass("is-invalid-input");
} else {
$("#consultant-id").removeClass("is-invalid-input");
}
});
$("#contract-price-id").on("change", function () {
if ($(this).val() == "") {
$("#contract-price-id").addClass("is-invalid-input");
} else {
$("#contract-price-id").removeClass("is-invalid-input");
}
});
function restrictInputOtherThanArabic($field) {
var arabicCharUnicodeRange = /[\u0600-\u06FF-0-9-45]/;
$field.bind("keypress", function (event) {
var key = event.which;
// 8 = backspace
if (key == 8 || key == 0 || key === 32) {
return true;
}
var str = String.fromCharCode(key);
if (arabicCharUnicodeRange.test(str)) {
return true;
}
return false;
});
}
function addTownBox() {
let childNum = $("#subTown").children().length;
if (childNum == 1 && $("#town-id").val() != 0) {
$("#subTown div").append(
`
<div class="input-group mb-3">
<input type ="text" class="form-control" id="mosharekat1" min="1" max="100" data-inputmask="'mask': '99'" data-mask style="margin-top: 5px;" placeholder="درصد مشارکت"></input>
<div class="input-group-prepend p-0" style="margin-top:5px">
<span class="input-group-text" id="basic-addon2" style="padding:0px">%</span>
</div>
</div>
`
);
$("#subTown").append(`<div class="form-group col-md-12">
<label>
شهرستان
</label>
<select
class="form-control"
style="font-size:12px"
name="town"
id="town-id${childNum}"
>
<option value="0" style="font-size:10px">انتخاب شهرستان</option>
</select>
<div class="input-group mb-3">
<input type ="text" class="form-control" id="mosharekat2" min="1" max="100" data-inputmask="'mask': '99'" data-mask style="margin-top: 5px;" placeholder="درصد مشارکت"></input>
<div class="input-group-prepend p-0" style="margin-top:5px">
<span class="input-group-text" id="basic-addon2" style="padding:0px">%</span>
</div>
</div>
</div>`);
setTownSelect(childNum);
} else if (childNum == 2 && $("#town-id1").val() != 0) {
$("#subTown").append(`<div class="form-group col-md-12">
<label>
شهرستان
</label>
<select
class="form-control"
style="font-size:12px"
name="town"
id="town-id${childNum}"
>
<option value="0" style="font-size:10px">انتخاب شهرستان</option>
</select>
<div class="input-group mb-3">
<input type ="text" class="form-control" id="mosharekat3" min="1" max="100" data-inputmask="'mask': '99'" data-mask style="margin-top: 5px;" placeholder="درصد مشارکت"></input>
<div class="input-group-prepend p-0" style="margin-top:5px">
<span class="input-group-text" id="basic-addon2" style="padding:0px">%</span>
</div>
</div>
</div>`);
setTownSelect(childNum);
}
$("[data-mask]").inputmask();
$("#town-id1").on("change", function () {
if (parseInt($(this).children("option:selected").val()) == 0) {
$("#town-id1").addClass("is-invalid-input");
} else {
$("#town-id1").removeClass("is-invalid-input");
}
});
$("#town-id2").on("change", function () {
if (parseInt($(this).children("option:selected").val()) == 0) {
$("#town-id2").addClass("is-invalid-input");
} else {
$("#town-id2").removeClass("is-invalid-input");
}
});
$("#mosharekat1").on("change", function () {
if ($(this).val() == "") {
$("#mosharekat1").addClass("is-invalid-input");
} else {
$("#mosharekat1").removeClass("is-invalid-input");
}
});
$("#mosharekat2").on("change", function () {
if ($(this).val() == "") {
$("#mosharekat2").addClass("is-invalid-input");
} else {
$("#mosharekat2").removeClass("is-invalid-input");
}
});
$("#mosharekat3").on("change", function () {
if ($(this).val() == "") {
$("#mosharekat3").addClass("is-invalid-input");
} else {
$("#mosharekat3").removeClass("is-invalid-input");
}
});
}
function removeTownBox() {
let childNum = $("#subTown").children().length;
if (childNum == 3) {
$("#town-id2").parent().remove();
} else if (childNum == 2) {
$("#town-id1").parent().remove();
$("#subTown .input-group").remove();
}
}
function checkMarkersAndDrawPath() {
if (
$("#pin-marker-start").hasClass("pin-set") &&
!$("#pin-marker-start").hasClass("pin-move") &&
$("#pin-marker-end").hasClass("pin-set") &&
!$("#pin-marker-end").hasClass("pin-move")
) {
drawPath();
}
}
function checkMarkersAndDrawPathshow() {
if (
$("#pin-marker-start").hasClass("pin-set") &&
!$("#pin-marker-start").hasClass("pin-move") &&
$("#pin-marker-end").hasClass("pin-set") &&
!$("#pin-marker-end").hasClass("pin-move")
) {
drawPathshow();
}
}
function removeStartToEndPath(update) {
if (routeControls.length) {
$(routeControls).each(function (index, control) {
mapName = update ? map2 : map;
mapName.removeControl(control);
routeControls.splice(routeControls.indexOf(index), 1);
});
}
}
function drawPath() {
if (routeControls.length) {
$(routeControls).each(function (index, control) {
addMap.removeControl(control);
routeControls.splice(routeControls.indexOf(index), 1);
});
}
routeControls.push(
L.Routing.control({
waypoints: [
L.latLng(
parseFloat(startMarkerAdd.getLatLng().lat),
parseFloat(startMarkerAdd.getLatLng().lng)
),
L.latLng(
parseFloat(endMarkerAdd.getLatLng().lat),
parseFloat(endMarkerAdd.getLatLng().lng)
),
],
fitSelectedRoutes: false,
draggableWaypoints: true,
createMarker: function () {
return null;
},
lineOptions: {
addWaypoints: false,
styles: [
{
color: "#28a745",
opacity: 0.8,
weight: 5,
},
],
},
})
.addTo(addMap)
);
$(".leaflet-control-container").css("display", "none");
$(".leaflet-routing-container-hide").css("display", "none");
}
function drawPathshow() {
if (routeControls.length) {
$(routeControls).each(function (index, control) {
mapshow.removeControl(control);
routeControls.splice(routeControls.indexOf(index), 1);
});
}
// L.polyline(
// L.latLng(
// parseFloat(startAbrarMarker.getLatLng().lng)
// L.latLng(
// parseFloat(endAbrarMarker.getLatLng().lng)
// ],
// color: "blue",
// opacity: 0.5,
// }
// );
routeControls.push(
L.Routing.control({
waypoints: [
L.latLng(
parseFloat(startAbrarMarkershow.getLatLng().lat),
parseFloat(startAbrarMarkershow.getLatLng().lng)
),
L.latLng(
parseFloat(endAbrarMarkershow.getLatLng().lat),
parseFloat(endAbrarMarkershow.getLatLng().lng)
),
],
fitSelectedRoutes: false,
draggableWaypoints: true,
createMarker: function () {
return null;
},
lineOptions: {
addWaypoints: false,
styles: [
{
color: "#28a745",
opacity: 0.8,
weight: 5,
},
],
},
})
// var divideBy = 2;
// map.removeLayer(popupArrays[index]);
// maxWidth: "300",
// className: "customRouteEstimate",
// var popup = new L.Popup(customOptions);
// e.routes[0].coordinates[
// ].lat,
// parseInt(e.routes[0].coordinates.length / divideBy)
// );
// '<span style="color:#FF5630; font-size:11px; font-family: IRANSansFaNum;">مسافت: </span>' +
// " کیلومتر";
// parseFloat(e.routes[0].summary.totalDistance / 1000.0).toFixed(2)
// popup.setContent(popupContent);
// map.addLayer(popup);
// })
.addTo(mapshow)
);
$(".leaflet-control-container").css("display", "none");
$(".leaflet-routing-container-hide").css("display", "none");
}
$("#rejectoolfinal").on("click", function () {
$("#show-projecttool").modal("hide");
});
function readURL1(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$("#image_upload_first").css("display", "block");
$("#image_upload_first").attr("src", e.target.result);
};
reader.readAsDataURL(input.files[0]);
}
}
function readURL2(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$("#image_upload_second").css("display", "block");
$("#image_upload_second").attr("src", e.target.result);
};
reader.readAsDataURL(input.files[0]);
}
}
function readURL3(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$("#image_upload_third").css("display", "block");
$("#image_upload_third").attr("src", e.target.result);
};
reader.readAsDataURL(input.files[0]);
}
}
function readURL4(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$("#image_upload_fourth").css("display", "block");
$("#image_upload_fourth").attr("src", e.target.result);
uploadUpdateImage(4, input);
};
reader.readAsDataURL(input.files[0]);
}
}
function readURL5(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$("#image_upload_fifth").css("display", "block");
$("#image_upload_fifth").attr("src", e.target.result);
uploadUpdateImage(5, input);
};
reader.readAsDataURL(input.files[0]);
}
}
function readURL6(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$("#image_upload_six").css("display", "block");
$("#image_upload_six").attr("src", e.target.result);
uploadUpdateImage(6, input);
};
reader.readAsDataURL(input.files[0]);
}
}
function readURL7(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$("#image_upload_seven").css("display", "block");
$("#image_upload_seven").attr("src", e.target.result);
uploadUpdateImage(7, input);
};
reader.readAsDataURL(input.files[0]);
}
}
function readURL8(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$("#image_upload_eight").css("display", "block");
$("#image_upload_eight").attr("src", e.target.result);
uploadUpdateImage(8, input);
};
reader.readAsDataURL(input.files[0]);
}
}
function removeImage(index) {
let formData = new FormData();
formData.append("history-id", historyId);
formData.append("name", "image-" + index);
// console.log(value);
Swal.fire({
icon: "warning",
title: "آیا برای ثبت مطمئن هستید؟",
showCancelButton: true,
confirmButtonColor: "#3085d6",
cancelButtonColor: "#d33",
confirmButtonText: "بله، تایید می‌شود",
cancelButtonText: "منصرف شدم!",
showLoaderOnConfirm: true,
preConfirm: () => {
showLoaderScreen();
$.ajax({
url: `https://rms.rmto.ir/rahdari/road-maintenance-project/history-images/delete-image`,
type: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
data: formData,
cache: false,
contentType: false,
processData: false,
success: function (result) {
$("#image-upload-modal").modal("hide");
ajaxcalltablethird2(idSelect);
},
error: function (error) {
console.log(error);
Swal.fire({
icon: "error",
title: "خطا",
confirmButtonText: "بستن",
});
},
});
},
});
}
function uploadUpdateImage(index, input) {
let formData = new FormData();
formData.append("history-id", historyId);
formData.append("image", input.files[0]);
formData.append("name", "image-" + index);
for (var pair of formData.entries()) {
console.log(pair[0] + ", " + pair[1]);
}
showLoaderScreen();
$.ajax({
url: `https://rms.rmto.ir/rahdari/road-maintenance-project/history-images/upload`,
type: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
data: formData,
cache: false,
contentType: false,
processData: false,
success: function (result) {
console.log(result);
ajaxcalltablethird3(idSelect);
$("#deleteIcon" + index).css("display", "block");
},
error: function (error) {
hideLoaderScreen();
alert("خطا در آپلود تصویر :(");
},
});
}
$(document).on("load", function () {
$(window).bind("resize", checkPosition);
});
function checkPosition() {
if ($(window).width() < 1100) {
$("#example_wrapper").css("margin-top", "50px");
} else {
$("#example_wrapper").css("margin-top", "");
}
if ($(window).width() < 555) {
$(".content-center-dataTable").css("width", "260px");
} else {
$(".content-center-dataTable").css("width", "");
}
if ($(window).width() < 440) {
$(".dataTables_filter input").css("width", "94px");
$(".dataTables_filter").css("margin-bottom", "10px");
$(".dt-buttons").addClass("d-flex");
$(".dt-buttons").addClass("justify-content-center");
$(".dt-buttons button").css("font-size", "10px");
} else {
$(".dataTables_filter input").css("width", "");
$(".dataTables_filter").css("margin-bottom", "");
$(".dt-buttons").removeClass("d-flex");
$(".dt-buttons button").css("font-size", "");
$(".dt-buttons").removeClass("justify-content-center");
}
}
// filter camp
$("#btn_filter_show").on("click", function () {
var filterCamp = ""
var provinceFiletr
var blockage
var axisType
var CampStartTime
var timeVal
provinceFiletr = $("#filter-province").val()
blockage = $("#blockage").val()
axisType = $("#axis_type").val()
timeVal = $("#datepickfromdate").val()
CampStartTime = moment(
fromDateCamp.getState().selected.year +
"/" +
fromDateCamp.getState().selected.month +
"/" +
fromDateCamp.getState().selected.date,
"jYYYY/jM/jD"
);
filterCamp = `?province=${provinceFiletr}`;
filterCamp +=
timeVal != "" ? `&blockage_date=${CampStartTime.locale("fa").format("YYYY-MM-DD")}` : ``;
filterCamp +=
blockage != 0 ? `&blockage=${blockage}` : ``;
filterCamp +=
axisType != 0 ? `&axis_type=${axisType}` : ``;
$.ajax({
url: "https://rms.rmto.ir/camp/all" + filterCamp,
type: "GET",
success: function (result) {
if (result.data.length != 0) {
$("#example").dataTable().fnClearTable();
$("#example").dataTable().fnAddData(result.data);
}
else {
$("#example").dataTable().fnClearTable();
}
},
error: function (error) {
console.log("eroor")
},
});
})
function checkStartMarkerValidation(forSaveData = false, pageOnLoad = false) {
let reg = /^([0-9]){2}\.([0-9])+$/;
let startLatLngVal = $(
"#winter-camp-modal input[name=project-latlng-start]"
)
.val()
.split(" - ");
let startLatLng = startLatLngVal.map(function (e) {
e = e.replace(/_/g, "");
return parseFloat(e.slice(1, -1));
});
if (isNaN(startLatLng[0])) {
if (!forSaveData) {
$(
"#winter-camp-modal input[name=project-latlng-start]"
).removeClass("is-invalid-input");
} else {
$(
"#winter-camp-modal input[name=project-latlng-start]"
).addClass("is-invalid-input");
}
$("#pin-marker-start").removeClass("pin-move pin-set");
$("#winter-camp-modal input[name=project-latlng-start]").val("");
$("#winter-camp-modal input[name=project-latlng-start]").attr(
"placeholder",
"(شروع) => (طول جغرافیایی) - (عرض جغرافیایی)"
);
return false;
} else if (
!startLatLng == 2 ||
!reg.test(startLatLng[0]) ||
!reg.test(startLatLng[1])
) {
$(
"#winter-camp-modal input[name=project-latlng-start]"
).addClass("is-invalid-input");
$("#pin-marker-start").removeClass("pin-move pin-set");
return false;
} else {
if (!forSaveData) {
$(
"#winter-camp-modal input[name=project-latlng-start]"
).removeClass("is-invalid-input");
startAbrarMarker.setLatLng(startLatLng);
if (pageOnLoad) {
setTimeout(() => {
$("#pin-marker-start").removeClass("pin-move").addClass("pin-set");
startAbrarMarker.setLatLng(startLatLng);
}, 10);
} else {
$("#pin-marker-start").removeClass("pin-move").addClass("pin-set");
}
if (!isSetEndAbrarMarker) {
let markerLatLng = [
startAbrarMarker.getLatLng().lat,
startAbrarMarker.getLatLng().lng + 0.0008,
];
map.setView(markerLatLng);
endAbrarMarker.setLatLng(markerLatLng);
if (!isSetStartAbrarMarker) {
endAbrarMarker.addTo(map);
}
}
isSetStartAbrarMarker = true;
} else {
projectEditData["project-start-latlng"] = [
startAbrarMarker.getLatLng().lat.toFixed(6),
startAbrarMarker.getLatLng().lng.toFixed(6),
];
}
checkMarkersAndDrawPath(0);
return true;
}
}
function checkEndMarkerValidation(forSaveData = false, pageOnLoad = false) {
let reg = /^([0-9]){2}\.([0-9])+$/;
let endLatLngVal = $(
"#winter-camp-modal input[name=abrar-project-latlng-end]"
)
.val()
.split(" - ");
let endLatLng = endLatLngVal.map(function (e) {
e = e.replace(/_/g, "");
return parseFloat(e.slice(1, -1));
});
if (isNaN(endLatLng[0])) {
if (!forSaveData) {
$(
"#winter-camp-modal input[name=abrar-project-latlng-end]"
).removeClass("is-invalid-input");
} else {
$(
"#winter-camp-modal input[name=abrar-project-latlng-end]"
).addClass("is-invalid-input");
}
$("#pin-marker-end").removeClass("pin-move pin-set");
$("#winter-camp-modal input[name=abrar-project-latlng-end]").val("");
$("#winter-camp-modal input[name=abrar-project-latlng-end]").attr(
"placeholder",
"(پایان) => (طول جغرافیایی) - (عرض جغرافیایی)"
);
return false;
} else if (
!endLatLng == 2 ||
!reg.test(endLatLng[0]) ||
!reg.test(endLatLng[1])
) {
$("#winter-camp-modal input[name=abrar-project-latlng-end]").addClass(
"is-invalid-input"
);
$("#pin-marker-end").removeClass("pin-move pin-set");
return false;
} else {
if (!forSaveData) {
$(
"#winter-camp-modal input[name=abrar-project-latlng-end]"
).removeClass("is-invalid-input");
endAbrarMarker.setLatLng(endLatLng);
isSetEndAbrarMarker = true;
if (pageOnLoad) {
setTimeout(() => {
$("#pin-marker-end").removeClass("pin-move").addClass("pin-set");
endAbrarMarker.setLatLng(endLatLng);
}, 10);
} else {
$("#pin-marker-end").removeClass("pin-move").addClass("pin-set");
}
} else {
projectEditData["project-end-latlng"] = [
endAbrarMarker.getLatLng().lat.toFixed(6),
endAbrarMarker.getLatLng().lng.toFixed(6),
];
}
checkMarkersAndDrawPath(0);
return true;
}
}
restrictInputOtherThanArabic($("#axis-name-id"));
restrictInputOtherThanArabic($("#project-title-id"));
restrictInputOtherThanArabic($("#contractor-id"));
restrictInputOtherThanArabic($("#consultant-id"));
restrictInputOtherThanArabic($("#tozihat"));
// add photo
$(document).on('change', '.img-input', function () {
var input = this;
var parent = $(input).parents('.img-box');
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
parent.find('.img-title').css('display', 'none')
parent.find('.btn-delete-img').removeAttr('disabled');
parent.find('.img-preview')
.attr('src', e.target.result);
};
reader.readAsDataURL(input.files[0]);
}
})
$('.btn-delete-img').on('click', function () {
var parent = $(this).parents('.img-box');
parent.find('.img-input').val('');
parent.find('.img-preview').removeAttr('src');
parent.find('.img-title').css('display', '');
$(this).attr('disabled', 'disabled')
});
function addTowntoSelect(num) {
console.log("hiii")
$.ajax({
url: "https://rms.rmto.ir/public/contents/provinces/" + num,
type: "GET",
success: function (result) {
hideLoaderScreen();
console.log(result)
},
error: function (error) {
hideLoaderScreen();
},
});
}
// add photo