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

2386 lines
90 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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 mapUrl = 'https://rmsmap.rmto.ir/141map/';
var addMap = null;
var editMap = null;
var startMarkerAdd = null;
var endMarkerAdd = null;
var startMarkerEdit = null;
var endMarkerEdit = null;
var routeControls = [];
var isSetStartMarkerAdd = false;
var isSetEndMarkerAdd = false;
var isSetStartMarkerEdit = false;
var isSetEndMarkerEdit = false;
var arrOprationsDisable = [0, 0, 0, 0]
var projectsTable;
var access = {}
var PERMISSIONS = []
var startDivIcon = 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 endDivIcon = 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 startDivIconEdit = L.divIcon({
html: `
<div id="edit_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 endDivIconEdit = L.divIcon({
html: `
<div id="edit_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],
});
(function () {
$.ajax({
url: "https://rms.rmto.ir/webapi/user/get-permission",
type: "GET",
cache: false,
async: false,
contentType: false,
processData: false,
success: function (result) {
PERMISSIONS = result.data
console.log(PERMISSIONS, "PERMISSIONS")
},
error: function () {
Swal.fire({
icon: "error",
title: "خطا",
text: 'مشکل در دریافت سطح دسترسی',
confirmButtonText: "بروزرسانی صفحه",
showLoaderOnConfirm: true,
preConfirm: () => {
location.reload(true);
},
});
}
})
$.ajax({
/// [start] lawmaker_filter_province_url
url: `https://rms.rmto.ir/webapi/getuser/province-perm${$.inArray('show-proposal-province', PERMISSIONS) != -1 ? '?type=all' : ''}`,
/// [end] lawmaker_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);
},
});
},
});
/// [START] proposal_add_btn
if (!($.inArray('add-proposal', PERMISSIONS) != -1 || $.inArray('add-proposal-province', PERMISSIONS) != -1))
$('.add-contract-btn').remove()
/// [END] proposal_add_btn
// //Maintenance Box
// Swal.fire({
// title: 'صفحه در دست تعمیر است',
// icon: 'info',
// input: 'password',
// inputAttributes: {
// autocapitalize: 'off'
// },
// showCancelButton: false,
// confirmButtonText: 'ثبت',
// allowOutsideClick: false,
// showLoaderOnConfirm: true,
// preConfirm: (admin) => {
// if(admin == 'witel') return true;
// return false
// },
// }).then((result) => {
// if (!result.isConfirmed) {
// showLoaderScreen();
// }
// })
// // end Maintenance Box
$("[data-mask]").inputmask();
/// [start] proposal_add_province
if ($.inArray('add-proposal', PERMISSIONS) != -1 || $.inArray('add-proposal-province', PERMISSIONS) != -1) {
$.ajax({
/// [start] proposal_add_province_url
url: `https://rms.rmto.ir/webapi/getuser/province-perm${$.inArray('add-proposal', PERMISSIONS) != -1 ? '?type=all' : ''}`,
/// [end] proposal_add_province_url
type: "GET",
beforeSend: function () {
showLoaderScreen();
},
success: function (result) {
const provinces = result.data;
$("#add_project_province").empty();
$("#add_project_province").append('<option value="0">انتخاب استان</option>');
for (let index = 0; index < provinces.length; index++) {
$("#add_project_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] proposal_add_province
/// [start] proposal_edit_province
if ($.inArray('edit-proposal', PERMISSIONS) != -1 || $.inArray('edit-proposal-province', PERMISSIONS) != -1) {
$.ajax({
/// [start] proposal_edit_province_url
url: `https://rms.rmto.ir/webapi/getuser/province-perm${$.inArray('edit-proposal', PERMISSIONS) != -1 ? '?type=all' : ''}`,
/// [end] proposal_edit_province_url
type: "GET",
beforeSend: function () {
showLoaderScreen();
},
success: function (result) {
const provinces = result.data;
$("#edit_project_province").empty();
$("#edit_project_province").append('<option value="0">انتخاب استان</option>');
for (let index = 0; index < provinces.length; index++) {
$("#edit_project_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] proposal_edit_province
projectsTable = $("#table_projects").DataTable({
dom: "<flB<t>p>",
pagingType: "simple_numbers",
paging: true,
destroy: true,
responsive: 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, "desc"]
],
processing: true,
ajax: {
url: "https://rms.rmto.ir/webapi/proposal/get-data",
type: "GET",
beforeSend: function () {
showLoaderScreen();
},
dataSrc: function (json) {
hideLoaderScreen();
return json.data;
},
error: function () {
hideLoaderScreen();
Swal.fire({
icon: "error",
title: "خطا",
text: "مشکل در دریافت پروژه های پیشنهادی",
confirmButtonText: "بروزرسانی صفحه",
showLoaderOnConfirm: true,
preConfirm: () => {
location.reload(true);
},
});
}
},
columns: [{
className: "text-center",
data: null,
render: function (data, type, row, meta) {
return meta.row + 1;
},
},
{
data: 'unique_code',
className: 'text-center text-nowrap'
},
{
data: 'project_title',
className: 'text-center text-nowrap'
},
{
data: 'project_type_fa',
className: 'text-center text-nowrap'
},
{
data: null,
render: function (data, type, row) {
return '<button class="btn-dataTable btn-sm btn-opration-type">...</button>';
},
className: 'text-center text-nowrap'
},
{
data: 'priority_project_fa',
className: 'text-center'
},
{
data: 'followup_priority_project',
className: 'text-center'
},
{
data: 'office_fa',
className: 'text-center text-nowrap'
},
{
data: 'province_fa',
className: 'text-center text-nowrap'
},
{
data: 'axis_name',
className: 'text-center text-nowrap'
},
{
data: 'axis_type_fa',
className: 'text-center text-nowrap'
},
{
className: "text-center",
data: null,
render: function (data) {
const national_credit = parseInt(data.national_credit).toLocaleString('en');
return national_credit
}
},
{
className: "text-center",
data: null,
render: function (data) {
const province_credit = parseInt(data.province_credit).toLocaleString('en');
return province_credit
}
},
{
data: null,
render: function (data, type, row) {
let content = '<div class="d-flex justify-content-center">'
/// [start] proposal_edit_can
if (data.canEdit)
content += '<button class="btn-dataTable btn-edit-project"><i class="fas fa-edit"></i></button>'
/// [end] proposal_edit_can
/// [start] proposal_delete_can
if (data.canDelete)
content += '<button class="btn-dataTable btn-delete-project"><i class="fa fa-trash"></i></button>'
/// [end] proposal_delete_can
content += '</div>'
return content
},
className: 'text-center text-nowrap'
},
],
buttons: [
{
text: '<div class="btn-table-excel"><div class="d-flex flex-column"><i class="fa mb-2 fa-book icon-color"></i>خروجی به اکسل</div></div>',
action: function (e, dt, node, config) {
topPosition = $(e.target).parents('.btn-table-excel').offset().top + $(e.target).parents('.btn-table-excel').height() + 5
$(".parent-excel").css('top', topPosition)
$(".parent-excel").css("display", "block");
},
},
],
});
})()
function showLoaderScreen() {
$(".divloader").css("display", "flex").hide().fadeIn();
}
function hideLoaderScreen() {
$(".divloader").fadeOut();
}
function createAddMap() {
var bounds = [
[42.9130026312, 75.6166317076],
[20.5782370061, 35.5092252948],
];
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 clearAddMap() {
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([35.7065000000, 51.3477000000], 7);
setMarkerDefaultAdd()
}
function setMarkerDefaultAdd() {
startMarkerAdd = new L.marker(L.latLng(addMap.getCenter()), {
icon: startDivIcon,
draggable: true,
}).addTo(addMap);
endMarkerAdd = new L.marker(L.latLng(addMap.getCenter()), {
icon: endDivIcon,
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");
$("#add_project_start_map").val(
startMarkerAdd.getLatLng().lat.toFixed(6) +
startMarkerAdd.getLatLng().lng.toFixed(6)
);
$(
"#add_project_start_map"
).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");
$("#add_project_start_map").val(
startMarkerAdd.getLatLng().lat.toFixed(6) +
startMarkerAdd.getLatLng().lng.toFixed(6)
);
$(
"#add_project_start_map"
).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");
$("#add_project_end_map").val(
endMarkerAdd.getLatLng().lat.toFixed(6) +
endMarkerAdd.getLatLng().lng.toFixed(6)
);
$(
"#add_project_end_map"
).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");
$("#add_project_end_map").val(
endMarkerAdd.getLatLng().lat.toFixed(6) +
endMarkerAdd.getLatLng().lng.toFixed(6)
);
$(
"#add_project_end_map"
).removeClass("validity-checker");
checkMarkersAndDrawPath();
} else {
addMap.setView(endMarkerAdd.getLatLng());
}
});
}
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 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 drawPathEdit() {
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(startMarkerEdit.getLatLng().lat),
parseFloat(startMarkerEdit.getLatLng().lng)
),
L.latLng(
parseFloat(endMarkerEdit.getLatLng().lat),
parseFloat(endMarkerEdit.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");
}
function createEditMap(position) {
var bounds = [
[42.9130026312, 75.6166317076],
[20.5782370061, 35.5092252948],
];
editMap = L.map("edit_map", {
maxBounds: bounds,
minZoom: 6,
}).setView([position.start.lat, position.start.lng], 7);
L.tileLayer(`${mapUrl}{z}/{x}/{y}.png`, {}).addTo(editMap);
setMarkerDefaultEdit(position)
}
function clearEditMap(position) {
if (routeControls.length) {
$(routeControls).each(function (index, control) {
editMap.removeControl(control);
routeControls.splice(routeControls.indexOf(index), 1);
});
}
editMap.removeLayer(startMarkerEdit);
editMap.removeLayer(endMarkerEdit);
editMap.setView([position.start.lat, position.start.lng], 7);
setMarkerDefaultEdit(position)
}
function setMarkerDefaultEdit(position) {
isSetStartMarkerEdit = true;
isSetEndMarkerEdit = true;
startMarkerEdit = new L.marker([position.start.lat, position.start.lng], {
icon: startDivIconEdit,
draggable: true,
}).addTo(editMap);
endMarkerEdit = new L.marker([position.end.lat, position.end.lng], {
icon: endDivIconEdit,
draggable: true,
}).addTo(editMap);
$("#edit_pin-marker-start")
.removeClass("pin-move pin-warn")
.addClass("pin-set");
$("#edit_project_start_map").val(
position.start.lat +
position.start.lng
);
$("#edit_pin-marker-end")
.removeClass("pin-move pin-warn")
.addClass("pin-set");
$("#edit_project_end_map").val(
position.end.lat +
position.end.lng
);
drawPathEdit();
startMarkerEdit.on("click", function () {
$("#edit_project_start_map").val(
startMarkerEdit.getLatLng().lat.toFixed(6) +
startMarkerEdit.getLatLng().lng.toFixed(6)
);
})
startMarkerEdit.on("drag", function () {
$("#edit_pin-marker-start").addClass("pin-move");
});
startMarkerEdit.on("dragend", function () {
$("#edit_pin-marker-start").removeClass("pin-move");
if ($("#edit_pin-marker-start").hasClass("pin-set") || isSetStartMarkerEdit) {
$("#edit_pin-marker-start").addClass("pin-set");
$("#edit_project_start_map").val(
startMarkerEdit.getLatLng().lat.toFixed(6) +
startMarkerEdit.getLatLng().lng.toFixed(6)
);
$(
"#edit_project_start_map"
).removeClass("validity-checker");
drawPathEdit();
} else {
editMap.setView(startMarkerEdit.getLatLng());
}
});
endMarkerEdit.on("click", function () {
$("#edit_project_end_map").val(
endMarkerEdit.getLatLng().lat.toFixed(6) +
endMarkerEdit.getLatLng().lng.toFixed(6)
);
drawPathEdit();
})
endMarkerEdit.on("drag", function () {
$("#edit_pin-marker-end").addClass("pin-move");
});
endMarkerEdit.on("dragend", function () {
$("#edit_pin-marker-end").removeClass("pin-move");
if ($("#edit_pin-marker-end").hasClass("pin-set") || isSetEndMarkerEdit) {
$("#edit_pin-marker-end").addClass("pin-set");
$("#edit_project_end_map").val(
endMarkerEdit.getLatLng().lat.toFixed(6) +
endMarkerEdit.getLatLng().lng.toFixed(6)
);
$(
"#edit_project_end_map"
).removeClass("validity-checker");
drawPathEdit();
} else {
editMap.setView(endMarkerEdit.getLatLng());
}
});
}
$(document).bind('click', function (e) {
const clicked = $(e.target);
if (clicked.parents('.datepicker-container').length != 0) return false;
if (clicked.parents('.select2-selection__choice').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");
}
if (clicked.closest('.btn-table-excel').length == 0 && clicked.closest(".parent-excel").length == 0 && $(".parent-excel").css("display") != "none") {
$(".parent-excel").css("display", "none");
}
});
$(document).on('click', '.add-contract-btn', function () {
const modal = $('#modal_add_project')
modal.find('.input-project').val('')
modal.find('.input-project').removeClass("validity-checker");
modal.find('.select-project').val(0)
modal.find('.select-project').removeClass("validity-checker");
modal.find('.select-project-opration').empty()
modal.find('.select-project-opration').prop('disabled', true)
modal.find('.select-project-opration').removeClass("validity-checker");
modal.find('.input-project-opration').val('')
modal.find('.input-project-opration').prop('disabled', true)
modal.find('.input-project-opration').removeClass("validity-checker");
modal.find('.input-project-opration-type-unit').text('-')
modal.find('.hidden-project-opration').val(0)
modal.find('.input-project-credit').val('')
modal.find('.input-project-credit').removeClass("validity-checker");
modal.find('.span-project-credit').text('0')
modal.find('.img-input').val('');
modal.find('.img-preview').removeAttr('src');
modal.find('.img-title').css('display', '');
modal.find('.btn-delete-img').prop('disabled', true)
modal.find('.img-box').removeClass("validity-checker");
modal.find('.file-input').val('');
modal.find('.file-title').map((index, titleElement) => {
$(titleElement).text($(titleElement).data('defaultText'))
})
modal.find('.btn-delete-file').prop('disabled', true)
modal.find('.file-box').removeClass("validity-checker");
modal.find('#btn_add_project').prop('disabled', false)
arrOprationsDisable = [0, 0, 0, 0]
if (addMap == null) {
setTimeout(() => {
createAddMap();
}, 400);
} else {
clearAddMap()
}
modal.modal('show')
})
$(document).on('click', '.btn-edit-project', function () {
const modal = $('#modal_edit_project')
const tr = $(this).closest("tr");
const row = projectsTable.row(tr);
const positions = {
start: {
lat: row.data().start_lat,
lng: row.data().start_lng
},
end: {
lat: row.data().end_lat,
lng: row.data().end_lng
}
}
modal.find('.input-project').val('')
modal.find('.input-project').removeClass("validity-checker");
modal.find('.select-project').val(0)
modal.find('.select-project').removeClass("validity-checker");
modal.find('.select-project-opration').empty()
modal.find('.select-project-opration').removeClass("validity-checker");
modal.find('.input-project-opration').val('')
modal.find('.input-project-opration').prop('disabled', true)
modal.find('.input-project-opration').removeClass("validity-checker");
modal.find('.input-project-opration-type-unit').text('-')
modal.find('.hidden-project-opration').val(0)
modal.find('.input-project-credit').val('')
modal.find('.input-project-credit').removeClass("validity-checker");
modal.find('.span-project-credit').text('0')
modal.find('.img-input').val('');
modal.find('.img-preview').removeAttr('src');
modal.find('.img-title').css('display', '');
modal.find('.btn-delete-img').prop('disabled', true)
modal.find('.img-box').removeClass("validity-checker");
modal.find('.file-input').val('');
modal.find('.file-title').map((index, titleElement) => {
$(titleElement).text($(titleElement).data('defaultText'))
})
modal.find('.btn-delete-file').prop('disabled', true)
modal.find('.file-box').removeClass("validity-checker");
modal.find('#btn_edit_project').prop('disabled', false)
arrOprationsDisable = [0, 0, 0, 0]
modal.find(".select-project-opration").attr("disabled", false);
modal.find(".select-project-opration").append("<option amountable='0' unit='-' value='0'>انتخاب نوع عملیات</option>");
$.ajax({
url: "https://rms.rmto.ir/csi/operation/" + row.data().project_type_id,
type: "GET",
cache: false,
beforeSend: function () {
showLoaderScreen();
},
contentType: false,
processData: false,
success: function (res) {
$.each(res, function (key, value) {
const unit = value.unit != "" ? value.unit : "-";
const amountable = value.amountable;
modal.find(".select-project-opration").append("<option amountable='" + amountable + "' unit='" + unit + "' value='" + key + "'>" + value.farsi + "</option>");
});
if (editMap == null) {
setTimeout(() => {
createEditMap(positions);
}, 400);
} else {
clearEditMap(positions)
}
modal.find('#edit_project_id').val(row.data().id)
modal.find('#modal_edit_uniqe_code').text(row.data().unique_code)
modal.find('#edit_project_title').val(row.data().project_title)
modal.find('#edit_project_type').val(row.data().project_type_id)
const oprations = [
modal.find('#edit_project_opration_type_id_1').val(arrOprationsDisable[0] = row.data().operation_type_id1 != null ? row.data().operation_type_id1 : 0),
modal.find('#edit_project_opration_type_id_2').val(arrOprationsDisable[1] = row.data().operation_type_id2 != null ? row.data().operation_type_id2 : 0),
modal.find('#edit_project_opration_type_id_3').val(arrOprationsDisable[2] = row.data().operation_type_id3 != null ? row.data().operation_type_id3 : 0),
modal.find('#edit_project_opration_type_id_4').val(arrOprationsDisable[3] = row.data().operation_type_id4 != null ? row.data().operation_type_id4 : 0),
]
modal.find('#edit_project_opration_type_amount_1').val(row.data().operation_type_amount1 != null ? row.data().operation_type_amount1 : '')
modal.find('#edit_project_opration_type_amount_2').val(row.data().operation_type_amount2 != null ? row.data().operation_type_amount2 : '')
modal.find('#edit_project_opration_type_amount_3').val(row.data().operation_type_amount3 != null ? row.data().operation_type_amount3 : '')
modal.find('#edit_project_opration_type_amount_4').val(row.data().operation_type_amount4 != null ? row.data().operation_type_amount4 : '')
modal.find('#edit_project_opration_type_amount_1').prop('disabled', oprations[0].find('option:selected').attr('amountable') != 1 ? true : false)
modal.find('#edit_project_opration_type_amount_2').prop('disabled', oprations[1].find('option:selected').attr('amountable') != 1 ? true : false)
modal.find('#edit_project_opration_type_amount_3').prop('disabled', oprations[2].find('option:selected').attr('amountable') != 1 ? true : false)
modal.find('#edit_project_opration_type_amount_4').prop('disabled', oprations[3].find('option:selected').attr('amountable') != 1 ? true : false)
modal.find('#edit_project_opration_type_unit_1').text(oprations[0].find('option:selected').attr('unit'))
modal.find('#edit_project_opration_type_unit_2').text(oprations[1].find('option:selected').attr('unit'))
modal.find('#edit_project_opration_type_unit_3').text(oprations[2].find('option:selected').attr('unit'))
modal.find('#edit_project_opration_type_unit_4').text(oprations[3].find('option:selected').attr('unit'))
modal.find('#edit_project_opration_type_amountable_1').val(oprations[0].find('option:selected').attr('amountable'))
modal.find('#edit_project_opration_type_amountable_2').val(oprations[1].find('option:selected').attr('amountable'))
modal.find('#edit_project_opration_type_amountable_3').val(oprations[2].find('option:selected').attr('amountable'))
modal.find('#edit_project_opration_type_amountable_4').val(oprations[3].find('option:selected').attr('amountable'))
modal.find('.select-project-opration option').prop('disabled', false)
for (let i = 0; i < arrOprationsDisable.length; i++) {
if (arrOprationsDisable[i] != 0)
modal.find(`.select-project-opration option[value=${arrOprationsDisable[i]}]`).prop('disabled', true)
}
modal.find('#edit_project_follower_person').val(row.data().follower_person ?? 0)
modal.find('#edit_project_priority').val(row.data().priority_project)
modal.find('#edit_project_followup_priority').val(row.data().followup_priority_project_id)
modal.find('#edit_project_office').val(row.data().office_id)
modal.find('#edit_project_province').val(row.data().province_id)
modal.find('#edit_project_axis_name').val(row.data().axis_name)
modal.find('#edit_project_axis_type').val(row.data().axis_type_id)
modal.find('#edit_project_user_description').val(row.data().user_description)
modal.find('#edit_project_national_credit').val(row.data().national_credit)
modal.find('#edit_project_province_credit').val(row.data().province_credit != '0' ? row.data().province_credit : '')
modal.find('#edit_project_national_credit_span').text(parseInt(row.data().national_credit).toLocaleString('en'))
modal.find('#edit_project_province_credit_span').text(parseInt(row.data().province_credit != '0' ? row.data().province_credit : 0).toLocaleString('en'))
if (row.data().document_image != null) {
modal.find('.img-title').css('display', 'none')
modal.find('.btn-delete-img').prop('disabled', false)
modal.find('#edit_project_document_image_preview').attr('src', `https://rms.rmto.ir/storage/${row.data().document_image}`)
}
modal.modal('show')
hideLoaderScreen();
},
error: function (error) {
hideLoaderScreen();
Swal.fire({
icon: "error",
title: "خطا",
text: "مشکل در دریافت نوع عملیات",
cancelButtonText: "بستن",
showConfirmButton: false,
showCancelButton: true,
});
},
});
})
$(document).on('change', '.select-project-type', function () {
const modal = $(this).parents('.modal')
const projectType = $(this).val()
modal.find('.select-project-opration').empty()
modal.find('.select-project-opration').prop('disabled', true)
modal.find('.select-project-opration').removeClass("validity-checker");
modal.find('.input-project-opration').val('')
modal.find('.input-project-opration').prop('disabled', true)
modal.find('.input-project-opration').removeClass("validity-checker");
modal.find('.input-project-opration-type-unit').text('-')
modal.find('.hidden-project-opration').val(0)
if (projectType != 0) {
modal.find(".select-project-opration").attr("disabled", false);
modal.find(".select-project-opration").append("<option amountable='0' unit='-' value='0'>انتخاب نوع عملیات</option>");
$.ajax({
url: "https://rms.rmto.ir/csi/operation/" + projectType,
type: "GET",
cache: false,
beforeSend: function () {
showLoaderScreen();
},
contentType: false,
processData: false,
success: function (res) {
$.each(res, function (key, value) {
const unit = value.unit != "" ? value.unit : "-";
const amountable = value.amountable;
modal.find(".select-project-opration").append("<option amountable='" + amountable + "' unit='" + unit + "' value='" + key + "'>" + value.farsi + "</option>");
});
hideLoaderScreen();
},
error: function (error) {
hideLoaderScreen();
Swal.fire({
icon: "error",
title: "خطا",
text: "مشکل در دریافت نوع عملیات",
cancelButtonText: "بستن",
showConfirmButton: false,
showCancelButton: true,
});
},
});
}
})
$(document).on('click', '.btn-delete-project', function () {
const tr = $(this).closest("tr");
const row = projectsTable.row(tr);
Swal.fire({
icon: "warning",
title: "آیا برای حذف مطمئن هستید؟",
showCancelButton: true,
confirmButtonColor: "#3085d6",
cancelButtonColor: "#d33",
confirmButtonText: "بله، حذف شود",
cancelButtonText: "منصرف شدم!",
showLoaderOnConfirm: true,
preConfirm: () => {
$.ajax({
url: "https://rms.rmto.ir/webapi/proposal/delete/" + row.data().id,
type: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
cache: false,
contentType: false,
processData: false,
beforeSend: function () {
showLoaderScreen();
},
success: function (result) {
hideLoaderScreen();
projectsTable.ajax.reload(null, false);
},
error: function (error) {
hideLoaderScreen();
Swal.fire({
icon: "error",
title: "خطا",
text: "مشکل در حذف پروژه",
cancelButtonText: "بستن",
showConfirmButton: false,
showCancelButton: true,
});
},
});
},
});
})
$(document).on('change', '.select-project-opration', function () {
const modal = $(this).parents('.modal')
const oprationBox = $(this).parents('.box-project-opration')
const boxIndex = oprationBox.data('boxIndex')
const opration = {
value: $(this).val(),
unit: $(this).find('option:selected').attr('unit'),
amountable: $(this).find('option:selected').attr('amountable')
}
oprationBox.find('.input-project-opration').val('')
oprationBox.find('.input-project-opration').removeClass("validity-checker");
oprationBox.find('.input-project-opration').prop('disabled', opration.amountable != 1 ? true : false)
oprationBox.find('.input-project-opration-type-unit').text(opration.unit)
oprationBox.find('.hidden-project-opration').val(opration.amountable)
if (arrOprationsDisable[boxIndex] != opration.value)
arrOprationsDisable[boxIndex] = opration.value
modal.find('.select-project-opration option').prop('disabled', false)
for (let i = 0; i < arrOprationsDisable.length; i++) {
if (arrOprationsDisable[i] != 0)
modal.find(`.select-project-opration option[value=${arrOprationsDisable[i]}]`).prop('disabled', true)
}
})
$(document).on('click', '#btn_add_project', function () {
const thisBtn = $(this)
thisBtn.prop('disabled', true)
const modal = $('#modal_add_project')
let isValid = true;
let hasOpration = false
let isSizeValidImage = true
let isSizeValidVideo = true
let isSizeValidTechnical = true
const project_title = modal.find('#add_project_title').val()
const project_type_id = modal.find('#add_project_type').val()
const project_type_fa = modal.find('#add_project_type option:selected').text()
const operation_type_id1 = modal.find('#add_project_opration_type_id_1 option:selected').val()
const operation_type_fa1 = modal.find('#add_project_opration_type_id_1 option:selected').text()
const operation_type_unit1 = modal.find('#add_project_opration_type_id_1 option:selected').attr('unit')
const operation_type_amount1 = modal.find('#add_project_opration_type_amount_1').val()
const operation_type_amountable1 = $('#add_project_opration_type_amountable_1').val()
const operation_type_id2 = modal.find('#add_project_opration_type_id_2 option:selected').val()
const operation_type_fa2 = modal.find('#add_project_opration_type_id_2 option:selected').text()
const operation_type_unit2 = modal.find('#add_project_opration_type_id_2 option:selected').attr('unit')
const operation_type_amount2 = modal.find('#add_project_opration_type_amount_2').val()
const operation_type_amountable2 = modal.find('#add_project_opration_type_amountable_2').val()
const operation_type_id3 = modal.find('#add_project_opration_type_id_3 option:selected').val()
const operation_type_fa3 = modal.find('#add_project_opration_type_id_3 option:selected').text()
const operation_type_unit3 = modal.find('#add_project_opration_type_id_3 option:selected').attr('unit')
const operation_type_amount3 = modal.find('#add_project_opration_type_amount_3').val()
const operation_type_amountable3 = $('#add_project_opration_type_amountable_3').val()
const operation_type_id4 = modal.find('#add_project_opration_type_id_4 option:selected').val()
const operation_type_fa4 = modal.find('#add_project_opration_type_id_4 option:selected').text()
const operation_type_unit4 = modal.find('#add_project_opration_type_id_4 option:selected').attr('unit')
const operation_type_amount4 = modal.find('#add_project_opration_type_amount_4').val()
const operation_type_amountable4 = $('#add_project_opration_type_amountable_4').val()
const follower_person = modal.find('#add_project_follower_person').val()
const follower_person_fa = modal.find('#add_project_follower_person option:selected').text()
const priority_project = modal.find('#add_project_priority').val()
const priority_project_fa = modal.find('#add_project_priority option:selected').text()
const followup_priority_project_id = modal.find('#add_project_followup_priority').val()
const followup_priority_project = modal.find('#add_project_followup_priority option:selected').text()
const office_id = modal.find('#add_project_office').val()
const office_fa = modal.find('#add_project_office option:selected').text()
const province_id = modal.find('#add_project_province').val()
const province_fa = modal.find('#add_project_province option:selected').text()
const axis_type_id = modal.find('#add_project_axis_type').val()
const axis_type_fa = modal.find('#add_project_axis_type option:selected').text()
const axis_name = modal.find('#add_project_axis_name').val()
const user_description = modal.find('#add_project_user_description').val()
const national_credit = modal.find('#add_project_national_credit').val()
const province_credit = modal.find('#add_project_province_credit').val()
const document_image = modal.find('#add_project_document_image').get(0).files[0]
const document_video = modal.find('#add_project_document_video').get(0).files[0]
const document_technical = modal.find('#add_project_document_technical').get(0).files[0]
const start_lat = startMarkerAdd.getLatLng().lat.toFixed(6)
const start_lng = startMarkerAdd.getLatLng().lng.toFixed(6)
const end_lat = endMarkerAdd.getLatLng().lat.toFixed(6)
const end_lng = endMarkerAdd.getLatLng().lng.toFixed(6)
if (project_title == '') {
isValid = false
modal.find('#add_project_title').addClass("validity-checker");
} else {
modal.find('#add_project_title').removeClass("validity-checker");
}
if (project_type_id == 0) {
isValid = false
modal.find('#add_project_type').addClass("validity-checker");
} else {
modal.find('#add_project_type').removeClass("validity-checker");
}
if (modal.find('#add_project_start_map').val() == '') {
isValid = false
modal.find('#add_project_start_map').addClass("validity-checker");
} else {
modal.find('#add_project_start_map').removeClass("validity-checker");
}
if (modal.find('#add_project_end_map').val() == '') {
isValid = false
modal.find('#add_project_end_map').addClass("validity-checker");
} else {
modal.find('#add_project_end_map').removeClass("validity-checker");
}
if (operation_type_id1 != 0) {
hasOpration = true
if (operation_type_amountable1 == 1 && operation_type_amount1 == '') {
isValid = false
modal.find('#add_project_opration_type_amount_1').addClass("validity-checker");
} else {
modal.find('#add_project_opration_type_amount_1').removeClass("validity-checker");
}
}
if (operation_type_id2 != 0) {
hasOpration = true
if (operation_type_amountable2 == 1 && operation_type_amount2 == '') {
isValid = false
modal.find('#add_project_opration_type_amount_2').addClass("validity-checker");
} else {
modal.find('#add_project_opration_type_amount_2').removeClass("validity-checker");
}
}
if (operation_type_id3 != 0) {
hasOpration = true
if (operation_type_amountable3 == 1 && operation_type_amount3 == '') {
isValid = false
modal.find('#add_project_opration_type_amount_3').addClass("validity-checker");
} else {
modal.find('#add_project_opration_type_amount_3').removeClass("validity-checker");
}
}
if (operation_type_id4 != 0) {
hasOpration = true
if (operation_type_amountable4 == 1 && operation_type_amount4 == '') {
isValid = false
modal.find('#add_project_opration_type_amount_4').addClass("validity-checker");
} else {
modal.find('#add_project_opration_type_amount_4').removeClass("validity-checker");
}
}
if (follower_person == 0) {
isValid = false
modal.find('#add_project_follower_person').addClass("validity-checker");
} else {
modal.find('#add_project_follower_person').removeClass("validity-checker");
}
if (priority_project == 0) {
isValid = false
modal.find('#add_project_priority').addClass("validity-checker");
} else {
modal.find('#add_project_priority').removeClass("validity-checker");
}
if (followup_priority_project_id == 0) {
isValid = false
modal.find('#add_project_followup_priority').addClass("validity-checker");
} else {
modal.find('#add_project_followup_priority').removeClass("validity-checker");
}
if (office_id == 0) {
isValid = false
modal.find('#add_project_office').addClass("validity-checker");
} else {
modal.find('#add_project_office').removeClass("validity-checker");
}
if (province_id == 0) {
isValid = false
modal.find('#add_project_province').addClass("validity-checker");
} else {
modal.find('#add_project_province').removeClass("validity-checker");
}
if (axis_type_id == 0) {
isValid = false
modal.find('#add_project_axis_type').addClass("validity-checker");
} else {
modal.find('#add_project_axis_type').removeClass("validity-checker");
}
if (axis_name == '') {
isValid = false
modal.find('#add_project_axis_name').addClass("validity-checker");
} else {
modal.find('#add_project_axis_name').removeClass("validity-checker");
}
if (national_credit == '') {
isValid = false
modal.find('#add_project_national_credit').addClass("validity-checker");
} else {
modal.find('#add_project_national_credit').removeClass("validity-checker");
}
if (typeof document_image === "undefined") {
isValid = false
modal.find('#add_project_document_image_label').addClass("validity-checker");
} else if (document_image.size >= 2000000) {
isSizeValidImage = false
modal.find('#add_project_document_image_label').addClass("validity-checker");
} else {
modal.find('#add_project_document_image_label').removeClass("validity-checker");
}
if (typeof document_video !== "undefined") {
if (document_video.size >= 30000000) {
isSizeValidVideo = false
modal.find('#add_project_document_video_label').addClass("validity-checker");
}
}
if (typeof document_technical !== "undefined") {
if (document_technical.size >= 5000000) {
isSizeValidTechnical = false
modal.find('#add_project_document_technical_label').addClass("validity-checker");
}
}
if (!isValid) {
Swal.fire({
icon: "warning",
title: "هشدار",
text: "لطفا تمامی مقادیر اجباری را وارد کنید",
cancelButtonText: "بستن",
showConfirmButton: false,
showCancelButton: true,
});
thisBtn.prop('disabled', false)
return false
} else if (!hasOpration) {
Swal.fire({
icon: "warning",
title: "هشدار",
text: "حداقل باید یک عملیات را وارد کنید",
cancelButtonText: "بستن",
showConfirmButton: false,
showCancelButton: true,
});
thisBtn.prop('disabled', false)
return false
} else if (!isSizeValidImage) {
Swal.fire({
icon: "warning",
title: "هشدار",
text: "حجم فایل عکس بیشتر از حد مجاز است",
cancelButtonText: "بستن",
showConfirmButton: false,
showCancelButton: true,
});
thisBtn.prop('disabled', false)
return false
} else if (!isSizeValidVideo) {
Swal.fire({
icon: "warning",
title: "هشدار",
text: "حجم فایل ویدیو بیشتر از حد مجاز است",
cancelButtonText: "بستن",
showConfirmButton: false,
showCancelButton: true,
});
thisBtn.prop('disabled', false)
return false
} else if (!isSizeValidTechnical) {
Swal.fire({
icon: "warning",
title: "هشدار",
text: "حجم فایل فایل بیشتر از حد مجاز است",
cancelButtonText: "بستن",
showConfirmButton: false,
showCancelButton: true,
});
thisBtn.prop('disabled', false)
return false
} else {
let formData = new FormData();
formData.append("project_title", project_title);
formData.append("project_type_id", project_type_id);
formData.append("project_type_fa", project_type_fa);
formData.append("office_id", office_id);
formData.append("office_fa", office_fa);
formData.append("province_id", province_id);
formData.append("province_fa", province_fa);
formData.append("axis_type_id", axis_type_id);
formData.append("axis_type_fa", axis_type_fa);
formData.append("axis_name", axis_name);
formData.append("follower_person", follower_person);
formData.append("follower_person_fa", follower_person_fa);
formData.append("followup_priority_project_id", followup_priority_project_id);
formData.append("followup_priority_project", followup_priority_project);
formData.append("priority_project", priority_project);
formData.append("priority_project_fa", priority_project_fa);
if (operation_type_id1 != 0) {
formData.append("operation_type_id1", operation_type_id1);
formData.append("operation_type_fa1", operation_type_fa1);
formData.append("operation_type_unit1", operation_type_unit1);
formData.append("operation_type_amount1", operation_type_amount1);
}
if (operation_type_id2 != 0) {
formData.append("operation_type_id2", operation_type_id2);
formData.append("operation_type_fa2", operation_type_fa2);
formData.append("operation_type_unit2", operation_type_unit2);
formData.append("operation_type_amount2", operation_type_amount2);
}
if (operation_type_id3 != 0) {
formData.append("operation_type_id3", operation_type_id3);
formData.append("operation_type_fa3", operation_type_fa3);
formData.append("operation_type_unit3", operation_type_unit3);
formData.append("operation_type_amount3", operation_type_amount3);
}
if (operation_type_id4 != 0) {
formData.append("operation_type_id4", operation_type_id4);
formData.append("operation_type_fa4", operation_type_fa4);
formData.append("operation_type_unit4", operation_type_unit4);
formData.append("operation_type_amount4", operation_type_amount4);
}
formData.append("user_description", user_description);
formData.append("national_credit", national_credit);
formData.append("province_credit", province_credit != '' ? province_credit : '0');
if (typeof document_image !== "undefined")
formData.append("document_image", document_image);
if (typeof document_video !== "undefined")
formData.append("document_video", document_video);
if (typeof document_technical !== "undefined")
formData.append("document_technical", document_technical);
formData.append("start_lat", start_lat);
formData.append("start_lng", start_lng);
formData.append("end_lat", end_lat);
formData.append("end_lng", end_lng);
$.ajax({
url: "https://rms.rmto.ir/webapi/proposal/store",
type: "POST",
data: formData,
cache: false,
contentType: false,
processData: false,
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
beforeSend: function () {
showLoaderScreen();
},
success: function (result) {
thisBtn.prop('disabled', false)
modal.modal('hide')
hideLoaderScreen();
Swal.fire({
icon: "success",
title: "ثبت موفق",
text: "پروژه جدید با موفقیت ثبت شد",
cancelButtonText: "بستن",
showConfirmButton: false,
showCancelButton: true,
}).then(result => {
projectsTable.ajax.reload(null, false);
})
},
error: function (error) {
thisBtn.prop('disabled', false)
hideLoaderScreen();
Swal.fire({
icon: "error",
title: "خطا",
text: "مشکل در ثبت پروژه جدید",
cancelButtonText: "بستن",
showConfirmButton: false,
showCancelButton: true,
});
},
});
}
})
$(document).on('click', '#btn_edit_project', function () {
const thisBtn = $(this)
thisBtn.prop('disabled', true)
const modal = $('#modal_edit_project')
let isValid = true;
let hasOpration = false
let isSizeValidImage = true
let isSizeValidVideo = true
let isSizeValidTechnical = true
const id = modal.find('#edit_project_id').val()
const project_title = modal.find('#edit_project_title').val()
const project_type_id = modal.find('#edit_project_type').val()
const project_type_fa = modal.find('#edit_project_type option:selected').text()
const operation_type_id1 = modal.find('#edit_project_opration_type_id_1 option:selected').val()
const operation_type_fa1 = modal.find('#edit_project_opration_type_id_1 option:selected').text()
const operation_type_unit1 = modal.find('#edit_project_opration_type_id_1 option:selected').attr('unit')
const operation_type_amount1 = modal.find('#edit_project_opration_type_amount_1').val()
const operation_type_amountable1 = $('#edit_project_opration_type_amountable_1').val()
const operation_type_id2 = modal.find('#edit_project_opration_type_id_2 option:selected').val()
const operation_type_fa2 = modal.find('#edit_project_opration_type_id_2 option:selected').text()
const operation_type_unit2 = modal.find('#edit_project_opration_type_id_2 option:selected').attr('unit')
const operation_type_amount2 = modal.find('#edit_project_opration_type_amount_2').val()
const operation_type_amountable2 = modal.find('#edit_project_opration_type_amountable_2').val()
const operation_type_id3 = modal.find('#edit_project_opration_type_id_3 option:selected').val()
const operation_type_fa3 = modal.find('#edit_project_opration_type_id_3 option:selected').text()
const operation_type_unit3 = modal.find('#edit_project_opration_type_id_3 option:selected').attr('unit')
const operation_type_amount3 = modal.find('#edit_project_opration_type_amount_3').val()
const operation_type_amountable3 = $('#edit_project_opration_type_amountable_3').val()
const operation_type_id4 = modal.find('#edit_project_opration_type_id_4 option:selected').val()
const operation_type_fa4 = modal.find('#edit_project_opration_type_id_4 option:selected').text()
const operation_type_unit4 = modal.find('#edit_project_opration_type_id_4 option:selected').attr('unit')
const operation_type_amount4 = modal.find('#edit_project_opration_type_amount_4').val()
const operation_type_amountable4 = $('#edit_project_opration_type_amountable_4').val()
const follower_person = modal.find('#edit_project_follower_person').val()
const follower_person_fa = modal.find('#edit_project_follower_person option:selected').text()
const priority_project = modal.find('#edit_project_priority').val()
const priority_project_fa = modal.find('#edit_project_priority option:selected').text()
const followup_priority_project_id = modal.find('#edit_project_followup_priority').val()
const followup_priority_project = modal.find('#edit_project_followup_priority option:selected').text()
const office_id = modal.find('#edit_project_office').val()
const office_fa = modal.find('#edit_project_office option:selected').text()
const province_id = modal.find('#edit_project_province').val()
const province_fa = modal.find('#edit_project_province option:selected').text()
const axis_type_id = modal.find('#edit_project_axis_type').val()
const axis_type_fa = modal.find('#edit_project_axis_type option:selected').text()
const axis_name = modal.find('#edit_project_axis_name').val()
const user_description = modal.find('#edit_project_user_description').val()
const national_credit = modal.find('#edit_project_national_credit').val()
const province_credit = modal.find('#edit_project_province_credit').val()
const document_image = modal.find('#edit_project_document_image').get(0).files[0]
const document_video = modal.find('#edit_project_document_video').get(0).files[0]
const document_technical = modal.find('#edit_project_document_technical').get(0).files[0]
const start_lat = startMarkerEdit.getLatLng().lat.toFixed(6)
const start_lng = startMarkerEdit.getLatLng().lng.toFixed(6)
const end_lat = endMarkerEdit.getLatLng().lat.toFixed(6)
const end_lng = endMarkerEdit.getLatLng().lng.toFixed(6)
if (project_title == '') {
isValid = false
modal.find('#edit_project_title').addClass("validity-checker");
} else {
modal.find('#edit_project_title').removeClass("validity-checker");
}
if (project_type_id == 0) {
isValid = false
modal.find('#edit_project_type').addClass("validity-checker");
} else {
modal.find('#edit_project_type').removeClass("validity-checker");
}
if (modal.find('#edit_project_start_map').val() == '') {
isValid = false
modal.find('#edit_project_start_map').addClass("validity-checker");
} else {
modal.find('#edit_project_start_map').removeClass("validity-checker");
}
if (modal.find('#edit_project_end_map').val() == '') {
isValid = false
modal.find('#edit_project_end_map').addClass("validity-checker");
} else {
modal.find('#edit_project_end_map').removeClass("validity-checker");
}
if (operation_type_id1 != 0) {
hasOpration = true
if (operation_type_amountable1 == 1 && operation_type_amount1 == '') {
isValid = false
modal.find('#edit_project_opration_type_amount_1').addClass("validity-checker");
} else {
modal.find('#edit_project_opration_type_amount_1').removeClass("validity-checker");
}
}
if (operation_type_id2 != 0) {
hasOpration = true
if (operation_type_amountable2 == 1 && operation_type_amount2 == '') {
isValid = false
modal.find('#edit_project_opration_type_amount_2').addClass("validity-checker");
} else {
modal.find('#edit_project_opration_type_amount_2').removeClass("validity-checker");
}
}
if (operation_type_id3 != 0) {
hasOpration = true
if (operation_type_amountable3 == 1 && operation_type_amount3 == '') {
isValid = false
modal.find('#edit_project_opration_type_amount_3').addClass("validity-checker");
} else {
modal.find('#edit_project_opration_type_amount_3').removeClass("validity-checker");
}
}
if (operation_type_id4 != 0) {
hasOpration = true
if (operation_type_amountable4 == 1 && operation_type_amount4 == '') {
isValid = false
modal.find('#edit_project_opration_type_amount_4').addClass("validity-checker");
} else {
modal.find('#edit_project_opration_type_amount_4').removeClass("validity-checker");
}
}
if (follower_person == 0) {
isValid = false
modal.find('#edit_project_follower_person').addClass("validity-checker");
} else {
modal.find('#edit_project_follower_person').removeClass("validity-checker");
}
if (priority_project == 0) {
isValid = false
modal.find('#edit_project_priority').addClass("validity-checker");
} else {
modal.find('#edit_project_priority').removeClass("validity-checker");
}
if (followup_priority_project_id == 0) {
isValid = false
modal.find('#edit_project_followup_priority').addClass("validity-checker");
} else {
modal.find('#edit_project_followup_priority').removeClass("validity-checker");
}
if (office_id == 0) {
isValid = false
modal.find('#edit_project_office').addClass("validity-checker");
} else {
modal.find('#edit_project_office').removeClass("validity-checker");
}
if (province_id == 0) {
isValid = false
modal.find('#edit_project_province').addClass("validity-checker");
} else {
modal.find('#edit_project_province').removeClass("validity-checker");
}
if (axis_type_id == 0) {
isValid = false
modal.find('#edit_project_axis_type').addClass("validity-checker");
} else {
modal.find('#edit_project_axis_type').removeClass("validity-checker");
}
if (axis_name == '') {
isValid = false
modal.find('#edit_project_axis_name').addClass("validity-checker");
} else {
modal.find('#edit_project_axis_name').removeClass("validity-checker");
}
if (national_credit == '') {
isValid = false
modal.find('#edit_project_national_credit').addClass("validity-checker");
} else {
modal.find('#edit_project_national_credit').removeClass("validity-checker");
}
if (typeof document_image !== "undefined") {
if (document_image.size >= 2000000) {
isSizeValidImage = false
modal.find('#edit_project_document_image_label').addClass("validity-checker");
}
}
if (typeof document_video !== "undefined") {
if (document_video.size >= 30000000) {
isSizeValidVideo = false
modal.find('#edit_project_document_video_label').addClass("validity-checker");
}
}
if (typeof document_technical !== "undefined") {
if (document_technical.size >= 5000000) {
isSizeValidTechnical = false
modal.find('#edit_project_document_technical_label').addClass("validity-checker");
}
}
if (!isValid) {
Swal.fire({
icon: "warning",
title: "هشدار",
text: "لطفا تمامی مقادیر اجباری را وارد کنید",
cancelButtonText: "بستن",
showConfirmButton: false,
showCancelButton: true,
});
thisBtn.prop('disabled', false)
return false
} else if (!hasOpration) {
Swal.fire({
icon: "warning",
title: "هشدار",
text: "حداقل باید یک عملیات را وارد کنید",
cancelButtonText: "بستن",
showConfirmButton: false,
showCancelButton: true,
});
thisBtn.prop('disabled', false)
return false
} else if (!isSizeValidImage) {
Swal.fire({
icon: "warning",
title: "هشدار",
text: "حجم فایل عکس بیشتر از حد مجاز است",
cancelButtonText: "بستن",
showConfirmButton: false,
showCancelButton: true,
});
thisBtn.prop('disabled', false)
return false
} else if (!isSizeValidVideo) {
Swal.fire({
icon: "warning",
title: "هشدار",
text: "حجم فایل ویدیو بیشتر از حد مجاز است",
cancelButtonText: "بستن",
showConfirmButton: false,
showCancelButton: true,
});
thisBtn.prop('disabled', false)
return false
} else if (!isSizeValidTechnical) {
Swal.fire({
icon: "warning",
title: "هشدار",
text: "حجم فایل فایل بیشتر از حد مجاز است",
cancelButtonText: "بستن",
showConfirmButton: false,
showCancelButton: true,
});
thisBtn.prop('disabled', false)
return false
} else {
let formData = new FormData();
formData.append("project_title", project_title);
formData.append("project_type_id", project_type_id);
formData.append("project_type_fa", project_type_fa);
formData.append("office_id", office_id);
formData.append("office_fa", office_fa);
formData.append("province_id", province_id);
formData.append("province_fa", province_fa);
formData.append("axis_type_id", axis_type_id);
formData.append("axis_type_fa", axis_type_fa);
formData.append("axis_name", axis_name);
formData.append("follower_person", follower_person);
formData.append("follower_person_fa", follower_person_fa);
formData.append("followup_priority_project_id", followup_priority_project_id);
formData.append("followup_priority_project", followup_priority_project);
formData.append("priority_project", priority_project);
formData.append("priority_project_fa", priority_project_fa);
if (operation_type_id1 != 0) {
formData.append("operation_type_id1", operation_type_id1);
formData.append("operation_type_fa1", operation_type_fa1);
formData.append("operation_type_unit1", operation_type_unit1);
formData.append("operation_type_amount1", operation_type_amount1);
}
if (operation_type_id2 != 0) {
formData.append("operation_type_id2", operation_type_id2);
formData.append("operation_type_fa2", operation_type_fa2);
formData.append("operation_type_unit2", operation_type_unit2);
formData.append("operation_type_amount2", operation_type_amount2);
}
if (operation_type_id3 != 0) {
formData.append("operation_type_id3", operation_type_id3);
formData.append("operation_type_fa3", operation_type_fa3);
formData.append("operation_type_unit3", operation_type_unit3);
formData.append("operation_type_amount3", operation_type_amount3);
}
if (operation_type_id4 != 0) {
formData.append("operation_type_id4", operation_type_id4);
formData.append("operation_type_fa4", operation_type_fa4);
formData.append("operation_type_unit4", operation_type_unit4);
formData.append("operation_type_amount4", operation_type_amount4);
}
formData.append("user_description", user_description);
formData.append("national_credit", national_credit);
formData.append("province_credit", province_credit != '' ? province_credit : '0');
formData.append("start_lat", start_lat);
formData.append("start_lng", start_lng);
formData.append("end_lat", end_lat);
formData.append("end_lng", end_lng);
if (typeof document_image !== "undefined")
formData.append("document_image", document_image);
if (typeof document_video !== "undefined")
formData.append("document_video", document_video);
if (typeof document_technical !== "undefined")
formData.append("document_technical", document_technical);
$.ajax({
url: "https://rms.rmto.ir/webapi/proposal/update/" + id,
type: "POST",
data: formData,
cache: false,
contentType: false,
processData: false,
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
beforeSend: function () {
showLoaderScreen();
},
success: function (result) {
thisBtn.prop('disabled', false)
modal.modal('hide')
hideLoaderScreen();
Swal.fire({
icon: "success",
title: "ویرایش موفق",
text: "پروژه با موفقیت ویرایش شد",
cancelButtonText: "بستن",
showConfirmButton: false,
showCancelButton: true,
}).then(result => {
projectsTable.ajax.reload(null, false);
})
},
error: function (error) {
thisBtn.prop('disabled', false)
hideLoaderScreen();
Swal.fire({
icon: "error",
title: "خطا",
text: "مشکل در ویرایش پروژه",
cancelButtonText: "بستن",
showConfirmButton: false,
showCancelButton: true,
});
},
});
}
})
$(document).on('click', '.btn-opration-type', function () {
const modal = $('#modal_oprations');
const tr = $(this).closest("tr");
const row = projectsTable.row(tr);
modal.find('input').val('')
modal.find('#modal_unique_code').text(row.data().unique_code)
modal.find('#modal_oprations_type_fa1').val(row.data().operation_type_fa1)
modal.find('#modal_oprations_type_amount1').val(row.data().operation_type_amount1)
modal.find('#modal_oprations_type_unit1').val(row.data().operation_type_unit1)
modal.find('#modal_oprations_type_fa2').val(row.data().operation_type_fa2)
modal.find('#modal_oprations_type_amount2').val(row.data().operation_type_amount2)
modal.find('#modal_oprations_type_unit2').val(row.data().operation_type_unit2)
modal.find('#modal_oprations_type_fa3').val(row.data().operation_type_fa3)
modal.find('#modal_oprations_type_amount3').val(row.data().operation_type_amount3)
modal.find('#modal_oprations_type_unit3').val(row.data().operation_type_unit3)
modal.find('#modal_oprations_type_progress3').val(row.data().operation_type_progress3)
modal.find('#modal_oprations_type_fa4').val(row.data().operation_type_fa4)
modal.find('#modal_oprations_type_amount4').val(row.data().operation_type_amount4)
modal.find('#modal_oprations_type_unit4').val(row.data().operation_type_unit4)
modal.modal('show')
})
$(document).on('input', '.input-project-credit', function () {
var parent = $(this).closest('.project-credit-box')
if ($(this).val() == '') {
parent.find('.span-project-credit').text('0')
return false;
}
parent.find('.span-project-credit').text(parseInt($(this).val()).toLocaleString('en'))
});
$('input[type=text]').bind('keypress', function (event) {
const arabicCharUnicodeRange = /[\u0600-\u06FF-0-9-45]/;
const key = event.which;
if (key == 8 || key == 0 || key === 32) {
return true;
}
var str = String.fromCharCode(key);
if (arabicCharUnicodeRange.test(str)) {
return true;
}
Swal.fire({
icon: "warning",
title: "هشدار",
text: "لطفا فقط از حروف فارسی استفاده کنید",
cancelButtonText: "بستن",
showConfirmButton: false,
showCancelButton: true,
});
return false;
})
$('textarea').bind('keypress', function (event) {
const arabicCharUnicodeRange = /[\u0600-\u06FF-0-9-45]/;
const key = event.which;
if (key == 8 || key == 0 || key === 32) {
return true;
}
var str = String.fromCharCode(key);
if (arabicCharUnicodeRange.test(str)) {
return true;
}
Swal.fire({
icon: "warning",
title: "هشدار",
text: "لطفا فقط از حروف فارسی استفاده کنید",
cancelButtonText: "بستن",
showConfirmButton: false,
showCancelButton: true,
});
return false;
})
// add lat lng with input
$("#modal_add_project input[name=add_project_start_map]").on(
"keyup",
function () {
checkStartMarkerValidation();
}
);
$("#modal_add_project input[name=add_project_end_map]").on(
"keyup",
function () {
checkEndMarkerValidation();
}
);
function checkStartMarkerValidation(forSaveData = false, pageOnLoad = false) {
let reg = /^([0-9]){2}\.([0-9])+$/;
let startLatLngVal = $(
"#modal_add_project input[name=add_project_start_map]"
)
.val()
.split(" - ");
let startLatLng = startLatLngVal.map(function (e) {
e = e.replace(/_/g, "");
return parseFloat(e.slice(1, -1));
});
if (isNaN(startLatLng[0])) {
if (!forSaveData) {
$(
"#modal_add_project input[name=add_project_start_map]"
).removeClass("is-invalid-input");
} else {
$(
"#modal_add_project input[name=add_project_start_map]"
).addClass("is-invalid-input");
}
$("#pin-marker-start").removeClass("pin-move pin-set");
$("#modal_add_project input[name=add_project_start_map]").val("");
$("#modal_add_project input[name=add_project_start_map]").attr(
"placeholder",
"(شروع) => (عرض جغرافیایی) - (طول جغرافیایی)"
);
return false;
} else if (!startLatLng == 2 ||
!reg.test(startLatLng[0]) ||
!reg.test(startLatLng[1])
) {
$(
"#modal_add_project input[name=add_project_start_map]"
).addClass("is-invalid-input");
$("#pin-marker-start").removeClass("pin-move pin-set");
return false;
} else {
if (!forSaveData) {
$(
"#modal_add_project input[name=add_project_start_map]"
).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 = $(
"#modal_add_project input[name=add_project_end_map]"
)
.val()
.split(" - ");
let endLatLng = endLatLngVal.map(function (e) {
e = e.replace(/_/g, "");
return parseFloat(e.slice(1, -1));
});
if (isNaN(endLatLng[0])) {
if (!forSaveData) {
$(
"#modal_add_project input[name=add_project_end_map]"
).removeClass("is-invalid-input");
} else {
$(
"#modal_add_project input[name=add_project_end_map]"
).addClass("is-invalid-input");
}
$("#pin-marker-end").removeClass("pin-move pin-set");
$("#modal_add_project input[name=add_project_end_map]").val("");
$("#modal_add_project input[name=add_project_end_map]").attr(
"placeholder",
"(پایان) => (عرض جغرافیایی) - (طول جغرافیایی)"
);
return false;
} else if (!endLatLng == 2 ||
!reg.test(endLatLng[0]) ||
!reg.test(endLatLng[1])
) {
$("#modal_add_project input[name=add_project_end_map]").addClass(
"is-invalid-input"
);
$("#pin-marker-end").removeClass("pin-move pin-set");
return false;
} else {
if (!forSaveData) {
$(
"#modal_add_project input[name=add_project_end_map]"
).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");
}
} else {
projectEditData["project-end-latlng"] = [
endMarkerAdd.getLatLng().lat.toFixed(6),
endMarkerAdd.getLatLng().lng.toFixed(6),
];
}
checkMarkersAndDrawPath();
return true;
}
}
//add lat lng with input
// edit lat lng with input
$("#modal_edit_project input[name=edit_project_start_map]").on(
"keyup",
function () {
checkStartMarkerValidationEdit();
}
);
$("#modal_edit_project input[name=edit_project_end_map]").on(
"keyup",
function () {
checkEndMarkerValidationEdit();
}
);
$('.img-input').on('change', function () {
var input = this;
var parent = $(this).parents('.file');
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').prop('disabled', false)
parent.find('.img-preview')
.attr('src', e.target.result);
};
reader.readAsDataURL(input.files[0]);
}
})
$('.btn-delete-img').on('click', function () {
var parent = $(this).parents('.file');
parent.find('.img-input').val('');
parent.find('.img-preview').removeAttr('src');
parent.find('.img-title').css('display', '');
$(this).prop('disabled', true)
})
$('.file-input').on('change', function () {
var input = this;
var parent = $(this).parents('.file');
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
parent.find('.file-title').text(input.files[0].name)
parent.find('.btn-delete-file').prop('disabled', false)
};
reader.readAsDataURL(input.files[0]);
}
})
$('.btn-delete-file').on('click', function () {
var parent = $(this).parents('.file');
parent.find('.file-input').val('');
parent.find('.file-title').text(parent.find('.file-title').data('defaultText'))
$(this).prop('disabled', true)
})
function checkStartMarkerValidationEdit(forSaveData = false, pageOnLoad = false) {
let reg = /^([0-9]){2}\.([0-9])+$/;
let startLatLngVal = $(
"#modal_edit_project input[name=edit_project_start_map]"
)
.val()
.split(" - ");
let startLatLng = startLatLngVal.map(function (e) {
e = e.replace(/_/g, "");
return parseFloat(e.slice(1, -1));
});
if (isNaN(startLatLng[0])) {
if (!forSaveData) {
$(
"#modal_edit_project input[name=edit_project_start_map]"
).removeClass("is-invalid-input");
} else {
$(
"#modal_edit_project input[name=edit_project_start_map]"
).addClass("is-invalid-input");
}
$("#edit-pin-marker-start").removeClass("pin-move pin-set");
$("#modal_edit_project input[name=edit_project_start_map]").val("");
$("#modal_edit_project input[name=edit_project_start_map]").attr(
"placeholder",
"(شروع) => (عرض جغرافیایی) - (طول جغرافیایی)"
);
return false;
} else if (!startLatLng == 2 ||
!reg.test(startLatLng[0]) ||
!reg.test(startLatLng[1])
) {
$(
"#modal_edit_project input[name=edit_project_start_map]"
).addClass("is-invalid-input");
$("#edit-pin-marker-start").removeClass("pin-move pin-set");
return false;
} else {
if (!forSaveData) {
$(
"#modal_edit_project input[name=edit_project_start_map]"
).removeClass("is-invalid-input");
startMarkerEdit.setLatLng(startLatLng);
if (pageOnLoad) {
setTimeout(() => {
$("#edit-pin-marker-start").removeClass("pin-move").addClass("pin-set");
startMarkerEdit.setLatLng(startLatLng);
}, 10);
} else {
$("#edit-pin-marker-start").removeClass("pin-move").addClass("pin-set");
}
if (!isSetEndMarkerEdit) {
let markerLatLng = [
startMarkerEdit.getLatLng().lat,
startMarkerEdit.getLatLng().lng + 0.0008,
];
editMap.setView(markerLatLng);
endMarkerEdit.setLatLng(markerLatLng);
if (!isSetStartMarkerAdd) {
endMarkerEdit.addTo(editMap);
}
}
isSetStartMarkerEdit = true;
}
drawPathEdit();
return true;
}
}
function checkEndMarkerValidationEdit(forSaveData = false, pageOnLoad = false) {
let reg = /^([0-9]){2}\.([0-9])+$/;
let endLatLngVal = $(
"#modal_edit_project input[name=edit_project_end_map]"
)
.val()
.split(" - ");
let endLatLng = endLatLngVal.map(function (e) {
e = e.replace(/_/g, "");
return parseFloat(e.slice(1, -1));
});
if (isNaN(endLatLng[0])) {
if (!forSaveData) {
$(
"#modal_edit_project input[name=edit_project_end_map]"
).removeClass("is-invalid-input");
} else {
$(
"#modal_edit_project input[name=edit_project_end_map]"
).addClass("is-invalid-input");
}
$("#edit-pin-marker-end").removeClass("pin-move pin-set");
$("#modal_edit_project input[name=edit_project_end_map]").val("");
$("#modal_edit_project input[name=edit_project_end_map]").attr(
"placeholder",
"(پایان) => (عرض جغرافیایی) - (طول جغرافیایی)"
);
return false;
} else if (!endLatLng == 2 ||
!reg.test(endLatLng[0]) ||
!reg.test(endLatLng[1])
) {
$("#modal_edit_project input[name=edit_project_end_map]").addClass(
"is-invalid-input"
);
$("#edit-pin-marker-end").removeClass("pin-move pin-set");
return false;
} else {
if (!forSaveData) {
$(
"#modal_edit_project input[name=edit_project_end_map]"
).removeClass("is-invalid-input");
endMarkerEdit.setLatLng(endLatLng);
isSetEndMarkerAdd = true;
if (pageOnLoad) {
setTimeout(() => {
$("#edit-pin-marker-end").removeClass("pin-move").addClass("pin-set");
endMarkerEdit.setLatLng(endLatLng);
}, 10);
} else {
$("#edit-pin-marker-end").removeClass("pin-move").addClass("pin-set");
}
}
drawPathEdit();
return true;
}
}
//edit lat lng with input
$("table").on("click", "tbody tr", function () {
$("tr.selected").find("i").css("color", "");
$("tr.selected").css("color", "");
$("tr.selected").removeClass("selected");
$(this).addClass("selected");
$(this).css("color", "white");
$(this).find("i").css("color", "white");
});
$(document).on('click', '#btn_excel_download', function () {
let queryParems = []
const province = $('#province_excel').val()
if (province != 0)
queryParems.push(`province=${province}`)
const url = `https://rms.rmto.ir/reports/proposal${queryParems.length != 0 ? `?${queryParems.join('&')}` : ''}`
window.open(url, '_blank')
})