Files
backend/public/version2/js/dashboard_pages/winter_camp/create.js
2024-02-20 13:22:11 +00:00

2395 lines
82 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 endEditMap = null;
var isSetStartEditMap = false;
var isSetEndEditMap = false;
var routeControls = [];
var checkAjax = true
var checkEditAjax = true
var idChoosen
var mapUrl = 'https://rmsmap.rmto.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 startAbrarDivIconEdit = L.divIcon({
html: `
<div id="pin-marker-start-edit" 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 endAbrarDivIconEdit = L.divIcon({
html: `
<div id="pin-marker-end-edit" 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;
var PERMISSIONS = [];
var provinces = []
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");
}
});
(function () {
$.ajax({
url: "/webapi/user/get-permission",
type: "GET",
cache: false,
async: false,
contentType: false,
processData: false,
success: function (result) {
PERMISSIONS = result.data
},
error: function () {
Swal.fire({
icon: "error",
title: "خطا",
text: 'مشکل در دریافت سطح دسترسی',
confirmButtonText: "بروزرسانی صفحه",
showLoaderOnConfirm: true,
preConfirm: () => {
location.reload(true);
},
});
}
})
if (!($.inArray('add-camp', PERMISSIONS) != -1 || $.inArray('add-camp-province', PERMISSIONS) != -1))
$('.add-camp-btn').remove()
/// [START] camp_add_btn
if (!($.inArray('add-camp', PERMISSIONS) != -1 || $.inArray('add-camp-province', PERMISSIONS) != -1))
$('.add-camp-btn').remove()
/// [END] camp_add_btn
if ($.inArray('show-camp', PERMISSIONS) != -1 || $.inArray('show-camp-province', PERMISSIONS) != -1) {
$.ajax({
/// [start] camp_add_province_url
url: `/webapi/getuser/province-perm${$.inArray('show-camp', PERMISSIONS) != -1 ? '?type=all' : ''}`,
/// [end] camp_add_province_url
type: "GET",
beforeSend: function () {
showLoaderScreen();
},
success: function (result) {
const 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>\
"
);
}
hideLoaderScreen();
},
error: function (error) {
hideLoaderScreen();
Swal.fire({
icon: "error",
title: "خطا",
text: "مشکل در دریافت استان ها",
confirmButtonText: "بروزرسانی صفحه",
showLoaderOnConfirm: true,
preConfirm: () => {
location.reload(true);
},
});
},
});
}
/// [start] camp_add_province
if ($.inArray('add-camp', PERMISSIONS) != -1 || $.inArray('add-camp-province', PERMISSIONS) != -1) {
$.ajax({
/// [start] camp_add_province_url
url: `/webapi/getuser/province-perm${$.inArray('add-camp', PERMISSIONS) != -1 ? '?type=all' : ''}`,
/// [end] camp_add_province_url
type: "GET",
beforeSend: function () {
showLoaderScreen();
},
success: function (result) {
const provinces = result.data;
$("#add_camp_province").empty();
$("#add_camp_province").append('<option value="0">انتخاب استان</option>');
for (let index = 0; index < provinces.length; index++) {
$("#add_camp_province").append(
"\
<option value=" +
provinces[index].id +
">" +
provinces[index].name_fa +
"</option>\
"
);
}
hideLoaderScreen();
},
error: function (error) {
hideLoaderScreen();
Swal.fire({
icon: "error",
title: "خطا",
text: "مشکل در دریافت استان ها",
confirmButtonText: "بروزرسانی صفحه",
showLoaderOnConfirm: true,
preConfirm: () => {
location.reload(true);
},
});
},
});
}
/// [end] camp_add_province
/// [start] camp_edit_province
if ($.inArray('edit-camp', PERMISSIONS) != -1 || $.inArray('edit-camp-province', PERMISSIONS) != -1) {
$.ajax({
/// [start] camp_edit_province_url
url: `/webapi/getuser/province-perm${$.inArray('edit-camp', PERMISSIONS) != -1 ? '?type=all' : ''}`,
/// [end] camp_edit_province_url
type: "GET",
beforeSend: function () {
showLoaderScreen();
},
success: function (result) {
provinces = result.data;
$("#edit_camp_province").empty();
$("#edit_camp_province").append('<option value="0">انتخاب استان</option>');
for (let index = 0; index < provinces.length; index++) {
$("#edit_camp_province").append(
"\
<option value=" +
provinces[index].id +
">" +
provinces[index].name_fa +
"</option>\
"
);
}
hideLoaderScreen();
},
error: function (error) {
hideLoaderScreen();
Swal.fire({
icon: "error",
title: "خطا",
text: "مشکل در دریافت استان ها",
confirmButtonText: "بروزرسانی صفحه",
showLoaderOnConfirm: true,
preConfirm: () => {
location.reload(true);
},
});
},
});
}
/// [end] camp_edit_province
$.ajax({
/// [start] camp_filter_province_url
url: `/webapi/getuser/province-perm${$.inArray('show-camp', PERMISSIONS) != -1 ? '?type=all' : ''}`,
/// [end] camp_filter_province_url
type: "GET",
beforeSend: function () {
showLoaderScreen();
},
success: function (result) {
const provinces = result.data;
$("#province_excel").empty();
$("#province_excel").append('<option value="0">انتخاب استان</option>');
for (let index = 0; index < provinces.length; index++) {
$("#province_excel").append(
"\
<option value=" +
provinces[index].id +
">" +
provinces[index].name_fa +
"</option>\
"
);
}
hideLoaderScreen();
},
error: function (error) {
hideLoaderScreen();
Swal.fire({
icon: "error",
title: "خطا",
text: "مشکل در دریافت استان ها",
confirmButtonText: "بروزرسانی صفحه",
showLoaderOnConfirm: true,
preConfirm: () => {
location.reload(true);
},
});
},
});
$("[data-mask]").inputmask();
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: "/webapi/camp/index",
type: "GET",
dataSrc: function (json) {
return json.data;
},
},
columns: [
{
className: "text-center",
data: null,
render: function (data, type, row, meta) {
return meta.row + 1;
},
},
{ className: "text-center", data: "province_fa" },
{
className: "text-center",
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}`;
},
},
{ className: "text-center", data: "axis_name" },
{
className: "text-center", data: "axis_type_fa",
},
{ className: "text-center", data: "blockage_cause_fa" },
{ className: "text-center", data: "blockage_length" },
{ className: "text-center", data: "blockage_damage_higher_6_count" },
{ className: "text-center", data: "blockage_damage_lower_6_count" },
{ className: "text-center", data: "blockage_damage_count" },
{ className: "text-center", data: "active_cars_count" },
{ className: "text-center", data: "active_rahdar_count" },
{
className: "text-center",
data: null,
render: function (data, type, row) {
return `<button class="btn-dataTable btn-sm description">...</button>`;
},
},
{ className: "text-center", data: "blockage_damage_money" },
{
className: "text-nowrap testshow text-center",
data: null,
render: function (data) {
const createdAtFa = moment(data.submited_at).format('HH:mm:ss | YYYY/MM/DD')
return createdAtFa
}
},
{ className: "text-center", data: "prediction_time_fa" },
{
className: "text-nowrap testshow text-center",
data: null,
render: function (data) {
if (data.is_open_at != null) {
const createdAtFa = moment(data.is_open_at).format('HH:mm:ss | YYYY/MM/DD')
return createdAtFa + "</br>" + data.is_open_type_fa
}
else return "-"
}
},
{
className: "text-center",
data: null,
render: function (data, type, row) {
if (data.is_open_at == null) {
let content = '<div class="d-flex justify-content-center parent-btn">'
/// [start] camp_edit_can
if (data.canEdit)
content += '<button class="btn-dataTable Edit-row" title="ویرایش"><i class="fa fa-edit icon-btnTable"></i></button>'
/// [end] camp_edit_can
content += `<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>`
/// [start] camp_delete_can
if (data.canDelete)
content += `<div class="line-btn-table"></div>
<button class="btn-dataTable deletsubmit" title=" حذف " ><i class="fa fa-trash icon-btnTable"></i></button>`
/// [end] camp_delete_can
content += '</div>'
return content
} else {
let content = '<div class="d-flex justify-content-center parent-btn">'
content += `<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>`
content += '</div>'
return content
}
},
},
{
className: "text-center",
data: null,
render: function (data, type, row) {
if (data.is_open_at == null) {
return `
<button class=" btn-dataTable btn btn-sm finalsubmit" title=" بازگشایی " ><i class="fa fa-check icon-btnTable"></i></button>
`;
} else {
return `
<button class=" btn-dataTable btn btn-sm finalsubmit" title=" بازگشایی " disabled ><i class="fa fa-check icon-btnTable"></i></button>
`;
}
},
},
],
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) {
topPosition = $(e.target).parents('.btn-table-filter').offset().top + $(e.target).parents('.btn-table-filter').height() + 5
$(".parent-filter").css('top', topPosition);
$(".parent-filter").css("display", "block");
},
},
{
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");
},
});
})()
$("#submit-new-camp").on("click", function () {
checkAjax = true
let formData = new FormData();
var start_latlng = []
var end_latlng = []
var image_1
var image_2
var image_3
var province_id = $("#add_camp_province").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.toFixed(6))
start_latlng.push(startMarkerAdd.getLatLng().lng.toFixed(6))
}
if (!isSetEndMarkerAdd) {
end_latlng = []
}
else {
end_latlng.push(endMarkerAdd.getLatLng().lat.toFixed(6))
end_latlng.push(endMarkerAdd.getLatLng().lng.toFixed(6))
}
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
$("#add_camp_province").addClass("is-invalid-input");
} else {
formData.append('province_id', province_id);
$("#add_camp_province").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: "/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) {
Swal.fire({
text: "با موفقیت ثبت شد",
icon: 'success',
confirmButtonColor: '#3085d6',
confirmButtonText: 'بستن'
}).then((result) => {
if (result.isConfirmed) {
showLoaderScreen()
location.reload(true);
}
})
},
error: function (error) {
hideLoaderScreen();
Swal.fire({
icon: "error",
title: "خطا",
text: "خطایی رخ داده است",
confirmButtonText: "بستن",
});
},
});
}
});
$("#winter-camp-table").on("click", "button.Edit-row", function () {
$("#edit-add-camp").removeAttr('disabled')
var start_latlng
var end_latlng
var tr = $(this).closest("tr");
var row = tableCamp.row(tr);
selectedId = row.data().id;
start_latlng = row.data().start_latlng
end_latlng = row.data().end_latlng
idChoosen = row.data().id
$("#winter-camp-modal-edit").modal("show");
resetEditData(row.data())
if (editMap == null) {
setTimeout(() => {
console.log("edit1")
createLeafletMapEdit(start_latlng, end_latlng);
}, 400);
} else {
console.log("edit2")
reinitialMapEdit(start_latlng, end_latlng, 1);
}
})
$("#winter-camp-table").on("click", "button.description", function () {
var tr = $(this).closest("tr");
var row = tableCamp.row(tr);
var block_axis_desc = row.data().block_axis_desc
$("#description").modal("show");
$("#description-text").val(block_axis_desc)
})
$("#winter-camp-table").on("click", "button.image-show", function () {
var tr = $(this).closest("tr");
var row = tableCamp.row(tr);
var photoSelected = row.data().files
$("#photo-modal").modal("show")
for (var i = 0; i < 3; i++) {
$("#imgSubItem" + i + "").removeAttr("src")
if (photoSelected[i] != undefined) {
$("#imgSubItem" + i + "").attr("src", "/" + photoSelected[i].path.replace("public", "storage") + "")
}
else {
$("#imgSubItem" + i + "").attr("src", "../dist/images/notavailable.jpg")
}
}
});
$("#add-camp-btn").on("click", function () {
$("#submit-new-camp").removeAttr('disabled')
$("#winter-camp-modal").modal("show");
resetData();
if (addMap == null) {
setTimeout(() => {
console.log("add1")
createLeafletMap();
}, 400);
} else {
console.log("add2")
reinitialMap(35.7065000000, 51.3477000000);
}
});
$("#winter-camp-table").on("click", "button.location-button", function () {
var tr = $(this).closest("tr");
var row = tableCamp.row(tr);
idSelect = row.data().id;
window.open("/v2/winter_camp/map/" + idSelect);
});
$("#winter-camp-table").on("click", "button.deletsubmit", function () {
var tr = $(this).closest("tr");
var row = tableCamp.row(tr);
idSelect = row.data().id;
Swal.fire({
icon: "warning",
title: "آیا برای حذف مطمئن هستید؟",
showCancelButton: true,
confirmButtonColor: "#3085d6",
cancelButtonColor: "#d33",
confirmButtonText: "بله، تایید می‌شود",
cancelButtonText: "منصرف شدم!",
showLoaderOnConfirm: true,
preConfirm: () => {
showLoaderScreen();
$.ajax({
url: "/webapi/camp/deleteDevelop/" + idSelect,
type: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
cache: false,
contentType: false,
processData: false,
success: function (result) {
location.reload(true);
},
error: function (error) {
hideLoaderScreen();
Swal.fire({
icon: "error",
title: "خطا",
confirmButtonText: "بستن",
});
},
});
},
});
});
$("#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");
}
});
$("#edit-add-camp").on("click", function () {
checkEditAjax = true
let formData = new FormData();
var start_latlng = []
var end_latlng = []
var image_1
var image_2
var image_3
var province_id = $("#edit_camp_province").children("option:selected").val();
var city_id = $("#town-id-edit").children("option:selected").val();
var axis_name = $("#axis-name-edit").val();
var axis_type = $("#axis-type-edit").children("option:selected").val();
var blockage_cause = $("#dicc-type-id-edit").children("option:selected").val();
var prediction_time = $("#predict-type-id-edit").children("option:selected").val();
var blockage_length = $("#damage-road-edit").val()
var blockage_damage_count = $("#damage-pol-edit").val()
var blockage_damage_lower_6_count = $("#damage-pol-lessthan-edit").val()
var blockage_damage_higher_6_count = $("#damage-pol-morethan-edit").val()
var blockage_damage_money = $("#milion-edit").val()
var active_cars_count = $("#machinery-count-edit").val()
var active_rahdar_count = $("#extra-modal-edit").val()
var block_axis_desc = $("#extra-edit").val()
if (!isSetStartEditMap) {
start_latlng = []
}
else {
start_latlng.push(startEditMap.getLatLng().lat.toFixed(6))
start_latlng.push(startEditMap.getLatLng().lng.toFixed(6))
}
if (!isSetEndEditMap) {
end_latlng = []
}
else {
end_latlng.push(endEditMap.getLatLng().lat.toFixed(6))
end_latlng.push(endEditMap.getLatLng().lng.toFixed(6))
}
var image_1 = $("#edit-deviceImg1").get(0).files[0];
var image_2 = $("#edit-deviceImg2").get(0).files[0];
var image_3 = $("#edit-deviceImg3").get(0).files[0];
if ((image_1 == undefined)) {
if ($('#edit-deviceImg1Preview').prop('src') === '') {
$(".edit-imagebox1").addClass("is-invalid-input");
checkEditAjax = false
}
} else {
formData.append('image_1', image_1);
$(".edit-imagebox1").removeClass("is-invalid-input");
}
if (image_2 == undefined) {
if ($('#edit-deviceImg2Preview').prop('src') === '') {
$(".edit-imagebox2").addClass("is-invalid-input");
checkEditAjax = false
}
} else {
formData.append('image_2', image_2);
$(".edit-imagebox2").removeClass("is-invalid-input");
}
if (image_3 == undefined) {
if ($('#edit-deviceImg3Preview').prop('src') === '') {
$(".edit-imagebox3").addClass("is-invalid-input");
checkEditAjax = false
}
} else {
formData.append('image_3', image_3);
$(".edit-imagebox3").removeClass("is-invalid-input");
}
if (province_id == 0) {
checkEditAjax = false
$("#edit_camp_province").addClass("is-invalid-input");
} else {
formData.append('province_id', province_id);
$("#edit_camp_province").removeClass("is-invalid-input");
}
if (city_id == 0) {
checkEditAjax = false
$("#town-id-edit").addClass("is-invalid-input");
} else {
formData.append('city_id', city_id);
$("#town-id-edit").removeClass("is-invalid-input");
}
if (axis_name == "") {
checkEditAjax = false
$("#axis-name-edit").addClass("is-invalid-input");
} else {
formData.append('axis_name', axis_name);
$("#axis-name-edit").removeClass("is-invalid-input");
}
if (axis_type == 0) {
checkEditAjax = false
$("#axis-type-edit").addClass("is-invalid-input");
} else {
formData.append('axis_type', axis_type);
$("#axis-type-edit").removeClass("is-invalid-input");
}
if (blockage_cause == 0) {
checkEditAjax = false
$("#dicc-type-id-edit").addClass("is-invalid-input");
} else {
formData.append('blockage_cause', blockage_cause);
$("#dicc-type-id-edit").removeClass("is-invalid-input");
}
if (prediction_time == 0) {
checkEditAjax = false
$("#predict-type-id-edit").addClass("is-invalid-input");
} else {
formData.append('prediction_time', prediction_time);
$("#predict-type-id-edit").removeClass("is-invalid-input");
}
if (blockage_length == "") {
checkEditAjax = false
$("#damage-road-edit").addClass("is-invalid-input");
} else {
formData.append('blockage_length', blockage_length);
$("#damage-road-edit").removeClass("is-invalid-input");
}
if (blockage_damage_count == "") {
checkEditAjax = false
$("#damage-pol-edit").addClass("is-invalid-input");
} else {
formData.append('blockage_damage_count', blockage_damage_count);
$("#damage-pol-edit").removeClass("is-invalid-input");
}
if (blockage_damage_lower_6_count == "") {
checkEditAjax = false
$("#damage-pol-lessthan-edit").addClass("is-invalid-input");
} else {
formData.append('blockage_damage_lower_6_count', blockage_damage_lower_6_count);
$("#damage-pol-lessthan-edit").removeClass("is-invalid-input");
}
if (blockage_damage_higher_6_count == "") {
checkEditAjax = false
$("#damage-pol-morethan-edit").addClass("is-invalid-input");
} else {
formData.append('blockage_damage_higher_6_count', blockage_damage_higher_6_count);
$("#damage-pol-morethan-edit").removeClass("is-invalid-input");
}
if (blockage_damage_money == "") {
checkEditAjax = false
$("#milion-edit").addClass("is-invalid-input");
} else {
formData.append('blockage_damage_money', blockage_damage_money);
$("#milion-edit").removeClass("is-invalid-input");
}
if (active_cars_count == "") {
checkEditAjax = false
$("#machinery-count-edit").addClass("is-invalid-input");
} else {
formData.append('active_cars_count', active_cars_count);
$("#machinery-count-edit").removeClass("is-invalid-input");
}
if (active_rahdar_count == "") {
checkEditAjax = false
$("#extra-modal-edit").addClass("is-invalid-input");
} else {
formData.append('active_rahdar_count', active_rahdar_count);
$("#extra-modal-edit").removeClass("is-invalid-input");
}
if (block_axis_desc == "") {
checkEditAjax = false
$("#extra-edit").addClass("is-invalid-input");
} else {
formData.append('block_axis_desc', block_axis_desc);
$("#extra-edit").removeClass("is-invalid-input");
}
if (start_latlng.length != 0) {
$("input[name=project-latlng-start-edit]").removeClass("is-invalid-input")
formData.append('start_latlng', start_latlng);
} else {
checkEditAjax = false
$("input[name=project-latlng-start-edit]").addClass("is-invalid-input")
}
if (end_latlng.length != 0) {
formData.append('end_latlng', end_latlng);
$("input[name=project-latlng-end-edit]").removeClass("is-invalid-input")
} else {
checkEditAjax = false
$("input[name=project-latlng-end-edit]").addClass("is-invalid-input")
}
if (checkEditAjax) {
$.ajax({
url: "/webapi/camp/editDevelop/" + idChoosen,
type: "POST",
data: formData,
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
cache: false,
contentType: false,
processData: false,
success: function (result) {
Swal.fire({
text: "با موفقیت ثبت شد",
icon: 'success',
confirmButtonColor: '#3085d6',
confirmButtonText: 'بستن'
}).then((result) => {
if (result.isConfirmed) {
showLoaderScreen()
$("#winter-camp-modal-edit").modal("hide")
location.reload(true);
}
})
},
error: function (error) {
hideLoaderScreen();
Swal.fire({
icon: "error",
title: "خطا",
text: "خطایی رخ داده است",
confirmButtonText: "بستن",
});
},
});
}
else {
Swal.fire({
icon: "error",
title: "خطا",
text: "لطفا تمام آیتم ها را پر نمایید",
confirmButtonText: "بستن",
});
}
});
$(".cancel").on("click", function () {
$("#winter-camp-modal").modal("hide");
});
$(".cancel-edit").on("click", function () {
$("#winter-camp-modal-edit").modal("hide");
});
$(".cancel-describe").on("click", function () {
$("#description").modal("hide");
});
$("#add_camp_province").on("change", function () {
if (parseInt($(this).children("option:selected").val()) == 0) {
$("#add_camp_province").addClass("is-invalid-input");
} else {
showLoaderScreen()
$("#add_camp_province").removeClass("is-invalid-input");
onLocationChange(parseInt($(this).children("option:selected").val()))
addTowntoSelect(parseInt($(this).children("option:selected").val()))
}
});
$("#edit_camp_province").on("change", function () {
if (parseInt($(this).children("option:selected").val()) == 0) {
$("#edit_camp_province").addClass("is-invalid-input");
} else {
showLoaderScreen()
$("#edit_camp_province").removeClass("is-invalid-input");
onLocationChangeEdit(parseInt($(this).children("option:selected").val()))
addTowntoSelectEdit(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");
}
});
$("#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");
}
});
// filter camp
$("#btn_filter_show").on("click", function () {
showLoaderScreen()
var filterCamp = ""
var provinceFiletr
var blockage
var axisType
var CampStartTime
var timeVal
let queryParems = []
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"
);
if (timeVal != "") {
queryParems.push(`blockage_date=${CampStartTime.locale("fa").format("YYYY-MM-DD")}`)
}
if (provinceFiletr != 0)
queryParems.push(`province=${provinceFiletr}`)
if (axisType != 0)
queryParems.push(`axis_type=${axisType}`)
if (blockage != 0)
queryParems.push(`blockage=${blockage}`)
const url = `/camp/all${queryParems.length != 0 ? `?${queryParems.join('&')}` : ''}`
$.ajax({
url: url,
type: "GET",
success: function (result) {
hideLoaderScreen()
if (result.data.length != 0) {
$("#winter-camp-table").dataTable().fnClearTable();
$("#winter-camp-table").dataTable().fnAddData(result.data);
}
else {
$("#winter-camp-table").dataTable().fnClearTable();
}
},
error: function (error) {
},
});
})
function createLeafletMap() {
addMap = L.map("add-map", {
maxBounds: bounds,
minZoom: 6, zoomControl: true, zoom: 1, zoomAnimation: false, fadeAnimation: true, markerZoomAnimation: true
}).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 resetData() {
$("#add_camp_province").val(0)
$("#axis-name").val("")
$("#axis-type").val(0)
$("#dicc-type-id").val(0)
$("#predict-type-id").val(0)
$("#damage-road").val("")
$("#milion").val("")
$("#damage-pol-morethan").val("")
$("#damage-pol-lessthan").val("")
$("#damage-pol").val("")
$("#machinery-count").val("")
$("#active_rahdar").val("")
$("#extra-modal").val("")
$("#town-id").val(0)
$('.img-preview').removeAttr('src');
$('.img-input').val('');
$('.img-title').css('display', '');
$(".btn-delete-img").attr('disabled', 'disabled')
$("#add_camp_province").removeClass("is-invalid-input");
$("#axis-name").removeClass("is-invalid-input");
$("#axis-type").removeClass("is-invalid-input");
$("#dicc-type-id").removeClass("is-invalid-input");
$("#predict-type-id").removeClass("is-invalid-input");
$("#damage-road").removeClass("is-invalid-input");
$("#milion").removeClass("is-invalid-input");
$("#damage-pol-morethan").removeClass("is-invalid-input");
$("#damage-pol-lessthan").removeClass("is-invalid-input");
$("#damage-pol").removeClass("is-invalid-input");
$("#machinery-count").removeClass("is-invalid-input");
$("#extra-modal").removeClass("is-invalid-input");
$("#town-id").removeClass("is-invalid-input");
$("#active_rahdar").removeClass("is-invalid-input");
$("#active_rahdar").removeClass("is-invalid-input");
$(".imgbox ").removeClass("is-invalid-input")
$(".map-latlng-input").removeClass("is-invalid-input")
}
function resetEditData(data) {
$("#edit_camp_province").val(data);
$("#axis-name-edit").val(data.axis_name);
$("#axis-type-edit").val(data.axis_type);
$("#dicc-type-id-edit").val(data.blockage_cause);
$("#predict-type-id-edit").val(data.prediction_time);
$("#damage-road-edit").val(data.blockage_length);
$("#milion-edit").val(data.blockage_damage_money);
$("#damage-pol-morethan-edit").val(data.blockage_damage_higher_6_count);
$("#damage-pol-lessthan-edit").val(data.blockage_damage_lower_6_count);
$("#damage-pol-edit").val(data.blockage_damage_count);
$("#machinery-count-edit").val(data.active_cars_count);
$("#extra-modal-edit").val(data.active_rahdar_count);
$("#extra-edit").val(data.block_axis_desc);
showSelectedPro(data.province_id)
addTownToEditedCity(data.province_id, data.city_id)
$("input[name=project-latlng-start-edit]").val(
data.start_latlng[0] +
data.start_latlng[1]
);
$("input[name=project-latlng-end-edit]").val(
data.end_latlng[0] +
data.end_latlng[1]
);
$("#edit-deviceImg1Preview").removeAttr("src")
$("#edit-deviceImg2Preview").removeAttr("src")
$("#edit-deviceImg3Preview").removeAttr("src")
$("#edit-deviceImg1Title").css("display", "block")
$("#edit-deviceImg2Title").css("display", "block")
$("#edit-deviceImg3Title").css("display", "block")
$("#edit-deleteDeviceImg1").attr('disabled', 'disabled');
$("#edit-deleteDeviceImg2").attr('disabled', 'disabled');
$("#edit-deleteDeviceImg3").attr('disabled', 'disabled');
if (data.files[0] != undefined) {
$("#edit-deviceImg1Preview").attr("src", "/" + data.files[0].path.replace("public", "storage") + "")
$("#edit-deviceImg1Title").css("display", "none")
$("#edit-deleteDeviceImg1").removeAttr('disabled');
}
if (data.files[1] != undefined) {
$("#edit-deviceImg2Preview").attr("src", "/" + data.files[1].path.replace("public", "storage") + "")
$("#edit-deviceImg2Title").css("display", "none")
$("#edit-deleteDeviceImg2").removeAttr('disabled');
}
if (data.files[2] != undefined) {
$("#edit-deviceImg3Preview").attr("src", "/" + data.files[2].path.replace("public", "storage") + "")
$("#edit-deviceImg3Title").css("display", "none")
$("#edit-deleteDeviceImg3").removeAttr('disabled');
}
$("#edit_camp_province").removeClass("is-invalid-input");
$("#axis-name-edit").removeClass("is-invalid-input");
$("#axis-type-edit").removeClass("is-invalid-input");
$("#dicc-type-id-edit").removeClass("is-invalid-input");
$("#predict-type-id-edit").removeClass("is-invalid-input");
$("#damage-road-edit").removeClass("is-invalid-input");
$("#milion-edit").removeClass("is-invalid-input");
$("#damage-pol-morethan-edit").removeClass("is-invalid-input");
$("#damage-pol-lessthan-edit").removeClass("is-invalid-input");
$("#damage-pol-edit").removeClass("is-invalid-input");
$("#machinery-count-edit").removeClass("is-invalid-input");
$("#extra-modal-edit").removeClass("is-invalid-input");
$("#extra-edit").removeClass("is-invalid-input");
$("#town-id-edit").removeClass("is-invalid-input");
$(".imgbox").removeClass("is-invalid-input")
$(".map-latlng-input-edit").removeClass("is-invalid-input")
}
function showSelectedPro(id) {
$("#edit_camp_province").empty();
$("#edit_camp_province").append('<option value="0" disabled>انتخاب اداره کل</option>');
for (let index = 0; index < provinces.length; index++) {
if (id == provinces[index].id) {
$("#edit_camp_province").append(
"\
<option value=" +
provinces[index].id +
" selected>" +
provinces[index].name_fa +
"</option>\
"
);
}
else {
$("#edit_camp_province").append(
"\
<option value=" +
provinces[index].id +
">" +
provinces[index].name_fa +
"</option>\
"
);
}
}
}
function createLeafletMapEdit(startlatlng, endlatlng) {
editMap = L.map("add-map-edit", {
maxBounds: bounds,
minZoom: 6, minZoom: 6, zoomControl: true, zoom: 1, zoomAnimation: false, fadeAnimation: true, markerZoomAnimation: true
}).setView(startlatlng, 7);
L.tileLayer(`${mapUrl}{z}/{x}/{y}.png`, {}).addTo(editMap);
setMarkerDefaultAddEdit(startlatlng, endlatlng, 1)
}
function reinitialMapEdit(startlatlng, endlatlng, status) {
if (routeControls.length) {
$(routeControls).each(function (index, control) {
editMap.removeControl(control);
routeControls.splice(routeControls.indexOf(index), 1);
});
}
editMap.removeLayer(startEditMap);
if (endEditMap != null) {
editMap.removeLayer(endEditMap);
}
editMap.setView(startlatlng, 7);
setMarkerDefaultAddEdit(startlatlng, endlatlng, status)
}
function setMarkerDefaultAddEdit(startlatlng, endlatlng, status) {
if (status == 1) {
isSetStartEditMap = true;
isSetEndEditMap = true;
startEditMap = new L.marker(L.latLng(startlatlng), {
icon: startAbrarDivIconEdit,
draggable: true,
}).addTo(editMap);
endEditMap = new L.marker(L.latLng(endlatlng), {
icon: endAbrarDivIconEdit,
draggable: true,
}).addTo(editMap)
$("#pin-marker-start-edit").removeClass("pin-move pin-warn").addClass("pin-set");
$("#pin-marker-end-edit").removeClass("pin-move pin-warn").addClass("pin-set");
checkMarkersAndDrawPathshow()
}
else {
isSetStartEditMap = false;
isSetEndEditMap = false;
startEditMap = new L.marker(L.latLng(startlatlng), {
icon: startAbrarDivIconEdit,
draggable: true,
}).addTo(editMap);
endEditMap = new L.marker(L.latLng(endlatlng), {
icon: endAbrarDivIconEdit,
draggable: true,
})
$("#pin-marker-start-edit").removeClass("pin-set")
$("#pin-marker-start-edit").removeClass("pin-set")
$("input[name=project-latlng-start-edit]").val("");
$("input[name=project-latlng-end-edit]").val("");
}
editMap.on("move", function () {
if (!isSetStartEditMap && !isSetEndEditMap) {
startEditMap.setLatLng(L.latLng(editMap.getCenter()));
$("#pin-marker-start-edit").removeClass("pin-set").addClass("pin-move");
}
if (isSetStartEditMap && !isSetEndEditMap) {
endEditMap.setLatLng(L.latLng(editMap.getCenter()));
$("#pin-marker-end-edit").removeClass("pin-set").addClass("pin-move");
}
});
editMap.on("moveend", function () {
if (!isSetStartEditMap && !isSetEndEditMap) {
startEditMap.setLatLng(L.latLng(editMap.getCenter()));
$("#pin-marker-start-edit").removeClass("pin-move pin-set");
}
if (isSetStartEditMap && !isSetEndEditMap) {
endEditMap.setLatLng(L.latLng(editMap.getCenter()));
$("#pin-marker-end-edit").removeClass("pin-move pin-set");
}
});
startEditMap.on("click", function () {
if (!isSetStartEditMap) {
startEditMap.setLatLng(L.latLng(editMap.getCenter()));
endEditMap.setLatLng(L.latLng(editMap.getCenter()));
isSetStartEditMap = true;
$("#pin-marker-start-edit")
.removeClass("pin-move pin-warn")
.addClass("pin-set");
$("input[name=project-latlng-start-edit]").val(
startEditMap.getLatLng().lat.toFixed(6) +
startEditMap.getLatLng().lng.toFixed(6)
);
$(
"input[name=project-latlng-start-edit]"
).removeClass("validity-checker");
}
endEditMap.addTo(editMap);
$(this).hide();
$("#pin-marker-start-edit")
.removeClass("pin-move pin-warn")
.addClass("pin-set");
})
startEditMap.on("drag", function () {
$("#pin-marker-start-edit").addClass("pin-move");
});
startEditMap.on("dragend", function () {
$("#pin-marker-start-edit").removeClass("pin-move");
if ($("#pin-marker-start-edit").hasClass("pin-set") || isSetStartEditMap) {
$("#pin-marker-start-edit").addClass("pin-set");
$("input[name=project-latlng-start-edit]").val(
startEditMap.getLatLng().lat.toFixed(6) +
startEditMap.getLatLng().lng.toFixed(6)
);
$(
"input[name=project-latlng-start-edit]"
).removeClass("validity-checker");
checkMarkersAndDrawPathshow();
} else {
editMap.setView(startEditMap.getLatLng());
}
});
endEditMap.on("click", function () {
if (!isSetEndEditMap) {
isSetEndEditMap = true;
$("#pin-marker-end-edit").removeClass("pin-move").addClass("pin-set");
$("input[name=project-latlng-end-edit]").val(
endEditMap.getLatLng().lat.toFixed(6) +
endEditMap.getLatLng().lng.toFixed(6)
);
$(
"input[name=project-latlng-end]"
).removeClass("validity-checker");
}
checkMarkersAndDrawPathshow();
})
endEditMap.on("drag", function () {
$("#pin-marker-end-edit").addClass("pin-move");
checkMarkersAndDrawPathshow();
});
endEditMap.on("dragend", function () {
$("#pin-marker-end-edit").removeClass("pin-move");
if ($("#pin-marker-end-edit").hasClass("pin-set") || isSetEndEditMap) {
$("#pin-marker-end-edit").addClass("pin-set");
$("input[name=project-latlng-end-edit]").val(
endEditMap.getLatLng().lat.toFixed(6) +
endEditMap.getLatLng().lng.toFixed(6)
);
$(
"input[name=project-latlng-end]"
).removeClass("validity-checker");
checkMarkersAndDrawPathshow();
} else {
editMap.setView(endEditMap.getLatLng());
}
});
}
function reloadTable() {
$.ajax({
url:
"/webapi/camp/index",
type: "GET",
success: function (result) {
$("#winter-camp-table").dataTable().fnClearTable();
$("#winter-camp-table").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)
}
function onLocationChangeEdit(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;
}
reinitialMapEdit([parseFloat(choosenlat), parseFloat(choosenlng)], [parseFloat(choosenlat), parseFloat(choosenlng)], 0)
}
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 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-edit").hasClass("pin-set") &&
!$("#pin-marker-start-edit").hasClass("pin-move") &&
$("#pin-marker-end-edit").hasClass("pin-set") &&
!$("#pin-marker-end-edit").hasClass("pin-move")
) {
drawPathshow();
}
}
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) {
editMap.removeControl(control);
routeControls.splice(routeControls.indexOf(index), 1);
});
}
routeControls.push(
L.Routing.control({
waypoints: [
L.latLng(
parseFloat(startEditMap.getLatLng().lat),
parseFloat(startEditMap.getLatLng().lng)
),
L.latLng(
parseFloat(endEditMap.getLatLng().lat),
parseFloat(endEditMap.getLatLng().lng)
),
],
fitSelectedRoutes: false,
draggableWaypoints: true,
createMarker: function () {
return null;
},
lineOptions: {
addWaypoints: false,
styles: [
{
color: "#28a745",
opacity: 0.8,
weight: 5,
},
],
},
})
.addTo(editMap)
);
$(".leaflet-control-container").css("display", "none");
$(".leaflet-routing-container-hide").css("display", "none");
}
$(".map-latlng-first-input").on(
"keyup",
function () {
checkStartMarkerValidation();
}
);
$(".map-latlng-sec-input").on(
"keyup",
function () {
checkEndMarkerValidation();
}
);
function checkStartMarkerValidation(forSaveData = false, pageOnLoad = false) {
let reg = /^([0-9]){2}\.([0-9])+$/;
let startLatLngVal = $(
".map-latlng-first-input"
)
.val()
.split(" - ");
let startLatLng = startLatLngVal.map(function (e) {
e = e.replace(/_/g, "");
return parseFloat(e.slice(1, -1));
});
if (isNaN(startLatLng[0])) {
if (!forSaveData) {
$(
".map-latlng-first-input"
).removeClass("is-invalid-input");
} else {
$(
".map-latlng-first-input"
).addClass("is-invalid-input");
}
$("#pin-marker-start").removeClass("pin-move pin-set");
$(".map-latlng-first-input").val("");
$(".map-latlng-first-input").attr(
"placeholder",
"(شروع) => (عرض جغرافیایی) - (طول جغرافیایی)"
);
return false;
} else if (!startLatLng == 2 ||
!reg.test(startLatLng[0]) ||
!reg.test(startLatLng[1])
) {
$(
".map-latlng-first-input"
).addClass("is-invalid-input");
$("#pin-marker-start").removeClass("pin-move pin-set");
return false;
} else {
if (!forSaveData) {
$(
".map-latlng-first-input"
).removeClass("is-invalid-input");
startMarkerAdd.setLatLng(startLatLng);
if (pageOnLoad) {
setTimeout(() => {
$("#pin-marker-start").removeClass("pin-move").addClass("pin-set");
startMarkerAdd.setLatLng(startLatLng);
}, 10);
} else {
$("#pin-marker-start").removeClass("pin-move").addClass("pin-set");
}
if (!isSetEndMarkerAdd) {
let markerLatLng = [
startMarkerAdd.getLatLng().lat,
startMarkerAdd.getLatLng().lng + 0.0008,
];
addMap.setView(markerLatLng);
endMarkerAdd.setLatLng(markerLatLng);
if (!isSetStartMarkerAdd) {
endMarkerAdd.addTo(addMap);
}
}
isSetStartMarkerAdd = true;
}
checkMarkersAndDrawPath();
return true;
}
}
function checkEndMarkerValidation(forSaveData = false, pageOnLoad = false) {
let reg = /^([0-9]){2}\.([0-9])+$/;
let endLatLngVal = $(
".map-latlng-sec-input"
)
.val()
.split(" - ");
let endLatLng = endLatLngVal.map(function (e) {
e = e.replace(/_/g, "");
return parseFloat(e.slice(1, -1));
});
if (isNaN(endLatLng[0])) {
if (!forSaveData) {
$(
".map-latlng-sec-input"
).removeClass("is-invalid-input");
} else {
$(
".map-latlng-sec-input"
).addClass("is-invalid-input");
}
$("#pin-marker-end").removeClass("pin-move pin-set");
$(".map-latlng-sec-input").val("");
$(".map-latlng-sec-input").attr(
"placeholder",
"(پایان) => (طول جغرافیایی) - (عرض جغرافیایی)"
);
return false;
} else if (
!endLatLng == 2 ||
!reg.test(endLatLng[0]) ||
!reg.test(endLatLng[1])
) {
$(".map-latlng-sec-input").addClass(
"is-invalid-input"
);
$("#pin-marker-end").removeClass("pin-move pin-set");
return false;
} else {
if (!forSaveData) {
$(
".map-latlng-sec-input"
).removeClass("is-invalid-input");
endMarkerAdd.setLatLng(endLatLng);
isSetEndMarkerAdd = true;
if (pageOnLoad) {
setTimeout(() => {
$("#pin-marker-end").removeClass("pin-move").addClass("pin-set");
endMarkerAdd.setLatLng(endLatLng);
}, 10);
} else {
$("#pin-marker-end").removeClass("pin-move").addClass("pin-set");
}
}
checkMarkersAndDrawPath();
return true;
}
}
//edit marker
$(".map-latlng-first-input-edit").on(
"keyup",
function () {
checkStartMarkerValidationEdit();
}
);
$(".map-latlng-sec-input-edit").on(
"keyup",
function () {
checkEndMarkerValidationEdit();
}
);
function checkStartMarkerValidationEdit(forSaveData = false, pageOnLoad = false) {
let reg = /^([0-9]){2}\.([0-9])+$/;
let startLatLngVal = $(
".map-latlng-first-input-edit"
)
.val()
.split(" - ");
let startLatLng = startLatLngVal.map(function (e) {
e = e.replace(/_/g, "");
return parseFloat(e.slice(1, -1));
});
if (isNaN(startLatLng[0])) {
if (!forSaveData) {
$(
".map-latlng-first-input-edit"
).removeClass("is-invalid-input");
} else {
$(
".map-latlng-first-input-edit"
).addClass("is-invalid-input");
}
$("#pin-marker-start-edit").removeClass("pin-move pin-set");
$(".map-latlng-first-input-edit").val("");
$(".map-latlng-first-input-edit").attr(
"placeholder",
"(شروع) => (طول جغرافیایی) - (عرض جغرافیایی)"
);
return false;
} else if (
!startLatLng == 2 ||
!reg.test(startLatLng[0]) ||
!reg.test(startLatLng[1])
) {
$(
".map-latlng-first-input-edit"
).addClass("is-invalid-input");
$("#pin-marker-start-edit").removeClass("pin-move pin-set");
return false;
} else {
if (!forSaveData) {
$(
".map-latlng-first-input-edit"
).removeClass("is-invalid-input");
startEditMap.setLatLng(startLatLng);
if (pageOnLoad) {
setTimeout(() => {
$("#pin-marker-start-edit").removeClass("pin-move").addClass("pin-set");
startEditMap.setLatLng(startLatLng);
}, 10);
} else {
$("#pin-marker-start-edit").removeClass("pin-move").addClass("pin-set");
}
if (!isSetEndEditMap) {
let markerLatLng = [
startEditMap.getLatLng().lat,
startEditMap.getLatLng().lng + 0.0008,
];
editMap.setView(markerLatLng);
endAbrarMarker.setLatLng(markerLatLng);
if (!isSetstartEditMap) {
endAbrarMarker.addTo(editMap);
}
}
isSetStartEditMap = true;
}
checkMarkersAndDrawPathshow();
return true;
}
}
function checkEndMarkerValidationEdit(forSaveData = false, pageOnLoad = false) {
let reg = /^([0-9]){2}\.([0-9])+$/;
let endLatLngVal = $(
".map-latlng-sec-input-edit"
)
.val()
.split(" - ");
let endLatLng = endLatLngVal.map(function (e) {
e = e.replace(/_/g, "");
return parseFloat(e.slice(1, -1));
});
if (isNaN(endLatLng[0])) {
if (!forSaveData) {
$(
".map-latlng-sec-input-edit"
).removeClass("is-invalid-input");
} else {
$(
".map-latlng-sec-input-edit"
).addClass("is-invalid-input");
}
$("#pin-marker-end-edit").removeClass("pin-move pin-set");
$(".map-latlng-sec-input-edit").val("");
$(".map-latlng-sec-input-edit").attr(
"placeholder",
"(پایان) => (طول جغرافیایی) - (عرض جغرافیایی)"
);
return false;
} else if (
!endLatLng == 2 ||
!reg.test(endLatLng[0]) ||
!reg.test(endLatLng[1])
) {
$(".map-latlng-sec-input-edit").addClass(
"is-invalid-input"
);
$("#pin-marker-end-edit").removeClass("pin-move pin-set");
return false;
} else {
if (!forSaveData) {
$(
".map-latlng-sec-input-edit"
).removeClass("is-invalid-input");
endEditMap.setLatLng(endLatLng);
isSetEndEditMap = true;
if (pageOnLoad) {
setTimeout(() => {
$("#pin-marker-end-edit").removeClass("pin-move").addClass("pin-set");
endEditMap.setLatLng(endLatLng);
}, 10);
} else {
$("#pin-marker-end-edit").removeClass("pin-move").addClass("pin-set");
}
}
checkMarkersAndDrawPathshow();
return true;
}
}
// 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) {
$.ajax({
url: "/public/contents/provinces/" + num,
type: "GET",
success: function (result) {
hideLoaderScreen();
$("#town-id").empty();
$("#town-id").append('<option value="0" selected disabled>انتخاب شهرستان</option>');
for (var i = 0; i < result.data.length; i++) {
$("#town-id").append(
"\
<option value=" +
result.data[i].id +
">" +
result.data[i].name_fa +
"</option>\
"
);
}
},
error: function (error) {
hideLoaderScreen();
},
});
}
function addTowntoSelectEdit(num) {
$.ajax({
url: "/public/contents/provinces/" + num,
type: "GET",
success: function (result) {
hideLoaderScreen();
$("#town-id-edit").empty();
$("#town-id-edit").append('<option value="0" selected disabled>انتخاب شهرستان</option>');
for (var i = 0; i < result.data.length; i++) {
$("#town-id-edit").append(
"\
<option value=" +
result.data[i].id +
">" +
result.data[i].name_fa +
"</option>\
"
);
}
},
error: function (error) {
hideLoaderScreen();
},
});
}
function addTownToEditedCity(num, cityid) {
showLoaderScreen()
$.ajax({
url: "/public/contents/provinces/" + num,
type: "GET",
success: function (result) {
hideLoaderScreen();
$("#town-id-edit").empty();
$("#town-id-edit").append('<option value="0" disabled>انتخاب شهرستان</option>');
for (var i = 0; i < result.data.length; i++) {
if (cityid == result.data[i].id) {
$("#town-id-edit").append(
"\
<option value=" +
result.data[i].id +
" selected>" +
result.data[i].name_fa +
"</option>\
"
);
}
else {
$("#town-id-edit").append(
"\
<option value=" +
result.data[i].id +
">" +
result.data[i].name_fa +
"</option>\
"
);
}
}
},
error: function (error) {
hideLoaderScreen();
},
});
}
// add photo
restrictInputOtherThanArabic($("#axis-name"));
restrictInputOtherThanArabic($("#damage-road"));
restrictInputOtherThanArabic($("#milion"));
restrictInputOtherThanArabic($("#damage-pol-morethan"));
restrictInputOtherThanArabic($("#damage-pol-lessthan"));
restrictInputOtherThanArabic($("#damage-pol"));
restrictInputOtherThanArabic($("#machinery-count"));
restrictInputOtherThanArabic($("#active_rahdar"));
restrictInputOtherThanArabic($("#extra-modal"));
restrictInputOtherThanArabic($("#axis-name-edit"));
restrictInputOtherThanArabic($("#damage-road-edit"));
restrictInputOtherThanArabic($("#milion-edit"));
restrictInputOtherThanArabic($("#damage-pol-morethan-edit"));
restrictInputOtherThanArabic($("#damage-pol-lessthan-edit"));
restrictInputOtherThanArabic($("#damage-pol-edit"));
restrictInputOtherThanArabic($("#machinery-count-edit"));
restrictInputOtherThanArabic($("#extra-modal-edit"));
restrictInputOtherThanArabic($("#extra-edit"));
function restrictInputOtherThanArabic($field) {
var arabicCharUnicodeRange = /[\u0600-\u06FF-0-9-45]/;
$field.bind("keypress", function (event) {
var key = event.which;
if (key == 8 || key == 0 || key === 32) {
return true;
}
var str = String.fromCharCode(key);
if (arabicCharUnicodeRange.test(str)) {
return true;
}
return false;
});
}
function preventNonNumericalInput(e) {
e = e || window.event;
var charCode = (typeof e.which == "undefined") ? e.keyCode : e.which;
var charStr = String.fromCharCode(charCode);
if (!charStr.match(/^[0-9]+$/))
e.preventDefault();
}
// opening camp
$("#winter-camp-table").on("click", "button.finalsubmit", function () {
var tr = $(this).closest("tr");
var row = tableCamp.row(tr);
idChoosen = row.data().id
$("#openingModal").modal("show");
});
$(".temporary-open").on('click', function () {
let formData = new FormData();
formData.append("id", idChoosen);
formData.append("is-open-type", 1);
$.ajax({
url: "/camp/update",
type: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
beforeSend: function () {
showLoaderScreen();
},
data: formData,
cache: false,
contentType: false,
processData: false,
success: function (result) {
hideLoaderScreen();
$("#openingModal").modal("hide");
location.reload(true);
},
error: function (error) {
hideLoaderScreen();
console.log(error);
Swal.fire({
icon: "error",
title: "خطا",
confirmButtonText: "بستن",
});
},
});
})
$(".complet-open").on('click', function () {
let formData = new FormData();
formData.append("id", idChoosen);
formData.append("is-open-type", 2);
$.ajax({
url: "/camp/update",
type: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
beforeSend: function () {
showLoaderScreen();
},
data: formData,
cache: false,
contentType: false,
processData: false,
success: function (result) {
hideLoaderScreen();
$("#openingModal").modal("hide");
location.reload(true);
},
error: function (error) {
hideLoaderScreen();
console.log(error);
Swal.fire({
icon: "error",
title: "خطا",
confirmButtonText: "بستن",
});
},
});
})