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

787 lines
32 KiB
JavaScript

const API_ENDPOINT = "https://141.ir/api";
const MAP_ENDPOINT = "https://testmap.141.ir";
const MAP_MIN_ZOOM = 6;
const MAP_MAX_ZOOM = 15;
var globalqueryparam = "";
var frommDate, toDate;
var marker141Layers = null;
var marker141List = [];
var marker141Layers = null;
var marker141LayersWithoutCluster = null;
var greenIcon = L.divIcon({
className: "custom-div-icon",
html: "<span class='beacon beacon-green'></span>",
iconSize: [30, 42],
// iconAnchor: [15, 42]
});
var redIcon = L.divIcon({
className: "custom-div-icon",
html: "<span class='beacon beacon-red'></span>",
iconSize: [30, 42],
// iconAnchor: [15, 42]
});
var bounds = [
[42.9130026312, 75.6166317076],
[20.5782370061, 30.5092252948],
];
var map = L.map("map", {
maxBounds: bounds,
minZoom: MAP_MIN_ZOOM,
zoomControl: false,
}).setView([35.5468992, 51.7300532], 7);
L.tileLayer(MAP_ENDPOINT + "/141map/{z}/{x}/{y}.png", {}).addTo(map);
$(document).ready(function () {
alert("hi bye")
var urlParams = new URLSearchParams(window.location.search);
console.log(urlParams.get('type'));
globalqueryparam = urlParams.get('type')
if (globalqueryparam == "allpoints") {
showallpoint()
} else if (globalqueryparam == "fastreact") {
showfastreaction();
}else if(globalqueryparam == "rahdar"){
console.log("miooooo");
// showrahdarLayer()
}
})
$(document).mouseup(function (e) {
var container = $(".left-menu-view-chartt");
if (!container.is(e.target) && container.has(e.target).length === 0) {
$(".left-menu-view-chartt").css("left", "-1600px");
}
});
function showfastreaction() {
$("#modal-fastreact").modal("show");
toDate = $("#fastreact-todate").persianDatepicker({
format: "YYYY/MM/DD",
autoClose: true,
format: "YYYY/MM/DD",
autoClose: true,
onSelect: function (unix) {
toDate.touched = true;
},
});
let test = moment(
toDate.getState().selected.year +
"/" +
toDate.getState().selected.month +
"/" +
toDate.getState().selected.date,
"jYYYY/jM/jD"
).format("YYYY-MM-DD");
console.log("hh", test);
frommDate = $("#fastreact-fromdate").persianDatepicker({
observer: true,
format: "YYYY/MM/DD",
altField: ".observer-example-alt",
autoClose: true,
onSelect: function (unix) {
frommDate.touched = true;
if (
frommDate.getState().selected.unixDate >=
toDate.getState().selected.unixDate
) {
toDate.setDate(frommDate.getState().selected.unixDate);
}
if (toDate && toDate.options && toDate.options.minDate != unix) {
let cachedValue = toDate.getState().selected.unixDate;
toDate.options = { minDate: unix };
if (toDate.touched) {
toDate.setDate(cachedValue);
}
}
},
});
// //search option for date of fastreact
var showFastReactionPoint = true;
$("#fastreact_search_option").on("click", function () {
$("#modal-fastreact").modal("hide");
if (
$("#fastreact-fromdate").val() != " " &&
$("#fastreact-todate").val() != " "
) {
let startDate = moment(
frommDate.getState().selected.year +
"/" +
frommDate.getState().selected.month +
"/" +
frommDate.getState().selected.date,
"jYYYY/jM/jD"
).format("YYYY-MM-DD");
console.log("lll", startDate);
let endDate = moment(
toDate.getState().selected.year +
"/" +
toDate.getState().selected.month +
"/" +
toDate.getState().selected.date,
"jYYYY/jM/jD"
).format("YYYY-MM-DD");
console.log("lll", endDate);
if (showFastReactionPoint) {
showFastFunction(startDate, endDate);
} else {
console.log(startDate, endDate);
$.ajax({
url:
"http://192.168.1.75/rms_new/public/index.php/public/homeprojects/fast/points" +
"?end-date=" +
endDate +
"&start-date=" +
startDate,
type: "GET",
success: function (result) {
console.log("resssss", result.data);
// show_point(result.data);
},
error: function (error) {
console.log(error);
},
});
}
}
});
function showFastFunction(startDate, endDate) {
showLoaderScreen();
$.ajax({
url:
"http://192.168.1.75/rms_new/public/index.php/public/homeprojects/fast/points" +
"?end-date=" +
endDate +
"&start-date=" +
startDate,
type: "GET",
cache: false,
contentType: false,
processData: false,
success: function (result) {
console.log(result);
hideLoaderScreen()
// showFastReactionPoint = false;
let roadMaintenancePoints = result.data;
let markerG = [];
for (let i = 0; i < roadMaintenancePoints.length; i++) {
try {
let setIcon = null;
let pos = null;
if (roadMaintenancePoints[i].rms_status == 0) {
setIcon = redIcon;
pos = [
roadMaintenancePoints[i].lat,
roadMaintenancePoints[i].lng,
];
console.log("pos", pos);
} else {
setIcon = greenIcon;
pos = roadMaintenancePoints[i].rms_start_latlng;
}
if (pos != null) {
let marker = L.marker(pos, {
icon: setIcon,
content: roadMaintenancePoints[i],
}).bindPopup(
getPopupContentFastReaction(roadMaintenancePoints[i]),
{
className: "customPopupStyle",
}
);
markerG.push(marker);
} else {
console.log("Number of null coordinates!");
}
//marker141Layers.push(marker);
//map.addLayer(marker)
} catch (e) {
//
}
}
marker141Layers = L.layerGroup(markerG);
// marker141Layers.addLayers(marker141List);
map.addLayer(marker141Layers);
},
error: function (error) {
console.log(error);
},
});
}
}
function showallpoint() {
showLoaderScreen()
if (marker141Layers != null) {
marker141List = [];
map.removeLayer(marker141Layers);
}
if (marker141LayersWithoutCluster != null) {
map.removeLayer(marker141LayersWithoutCluster);
}
$.ajax({
url: "http://192.168.1.75/rms_new/public/index.php/accident-points",
type: "GET",
success: function (result) {
let roadAccidentPoints = result.data;
hideLoaderScreen()
//console.log(roadAccidentPoints);
$(".card").loading('hide');
let markerG = [];
for (let i = 0; i < roadAccidentPoints.length; i++) {
if (
roadAccidentPoints[i].progress == "100" ||
(roadAccidentPoints[i].accident251_point &&
roadAccidentPoints[i].accident251_point.progress == "100")
) {
if (result.edit_id == roadAccidentPoints[i].province_id) {
setIcon = greenIcon;
} else {
setIcon = "#28a745";
}
} else {
if (result.edit_id == roadAccidentPoints[i].province_id) {
setIcon = redIcon;
} else {
setIcon = "#dc3545";
}
}
try {
let marker = null;
if (result.edit_id == roadAccidentPoints[i].province_id) {
marker = L.marker(
[roadAccidentPoints[i].lat, roadAccidentPoints[i].lng],
{
icon: setIcon,
content: roadAccidentPoints[i],
}
)
.on("click", function (e) {
$("[data-mask]").inputmask();
//console.log(this.options.content)
let valueprogress = "";
let contentData = this.options.content;
$("#allpointid").val(contentData.id);
$("#allend-date").persianDatepicker({
format: "MMMM YYY",
autoClose: true,
viewMode: "month",
dayPicker: {
enabled: false,
},
});
if (contentData.accident251_point) {
$("#alloperation").val(
contentData.accident251_point.operation
);
$("#alltarget").val(contentData.accident251_point.target);
$("#allaction").val(contentData.accident251_point.actions);
$("#allcost").val(contentData.accident251_point.cost);
//$("#allcost").attr('min', contentData.accident251_point.cost);
$("#allend-date").val(contentData.accident251_point.end_date);
valueprogress = contentData.accident251_point.progress;
} else {
$("#alloperation").val("-");
$("#alltarget").val("-");
$("#allaction").val("-");
$("#allcost").val(contentData.cost);
$("#allcost").val(contentData.cost);
//$("#allcost").attr('min', contentData.cost);
$("#allend-date").val("-");
valueprogress = contentData.progress;
}
$("#allac-point-lat").val(contentData.lat);
$("#allac-point-lng").val(contentData.lng);
let test =
'<div class="project-slider status-slider-body pr-2 pl-2 mb-5 mt-1">\
<input class="allex2" type="text" data-slider-step="1" data-slider-value="' +
valueprogress +
'"/></div> ';
$("#allsliderphysici").empty();
$("#allsliderphysici").append(
'<label class="allslider-label" for="inputAddress2"> پیشرفت فیزیکی</label>'
);
$("#allsliderphysici").append(test);
$(".allex2").slider({
min: 0,
max: 100,
formatter: function (value) {
return value + "٪";
},
tooltip: "always",
tooltip_position: "bottom",
});
})
.bindPopup(
getPopupContentAccident(roadAccidentPoints[i], result.edit_id),
{ className: "customPopupStyle" }
);
} else {
marker = L.circleMarker(
[roadAccidentPoints[i].lat, roadAccidentPoints[i].lng],
{
color: setIcon,
stroke: false,
radius: 3,
fillOpacity: 1,
}
).bindPopup(
getPopupContentAccident(roadAccidentPoints[i], result.edit_id),
{ className: "customPopupStyle" }
);
}
markerG.push(marker);
} catch (e) {
console.log(e);
}
}
marker141Layers = L.layerGroup(markerG);
map.addLayer(marker141Layers);
},
error: function (error) {
//console.log(error);
},
});
}
function getPopupContentAccident(data, edit_id) {
let popupTitle251 = "";
if (data.accident251_point) {
popupTitle251 = " (اولویت ۲۵۱ نقطه)";
}
if (edit_id == data.province_id) {
if (data.accident251_point) {
return (
'\
<div class="popup">\
<div class="popupTitle">\
<img src="../../dist/images/icons/por_accident_village.svg" alt="">\
<span class="popupHeader">نقاط پرتصادف' +
popupTitle251 +
'</span>\
</div>\
<div class="popupHeaderContent"><div class="popUpBanner">اداره کل ' +
data.accident251_point.province +
"، محور: " +
data.accident251_point.native_name +
'</div>\
<div class="popupContent">\
<div class="popUpBox" style="width:75px"><span> عملیات مورد نیاز </span><div class="popUpBoxContent">' +
data.accident251_point.operation +
'</div></div>\
<div class="popUpBox" style="width:75px"><span> هدف کمی </span><div class="popUpBoxContent">' +
data.accident251_point.target +
'</div></div> </div>\
<div class="popupFooter">\
<span> اقدامات انجام شده </span><div class="popUpBoxContent">' +
data.accident251_point.actions +
'</div> </div>\
</div>\
<div class="popupContent">\
<div class="popUpBoxlevel" style="width:75px"><span> اعتبارات هزینه شده (میلیون ریال) </span><div class="popUpBoxContent">' +
data.accident251_point.cost +
'</div></div>\
<div class="popUpBoxlevel" style="width:75px"><span> پیشرفت فیزیکی (درصد) </span><div class="popUpBoxContent">' +
data.accident251_point.progress +
"٪" +
'</div></div>\
<div class="popUpBoxlevel" style="width:75px"><span> تاریخ خاتمه </span><div class="popUpBoxContent">' +
data.accident251_point.end_date +
'</div></div>\
<div class="popUpBox" style="width:75px"><span> عرض جغرافیایی </span><div class="popUpBoxContent">' +
parseFloat(data.lat).toFixed(5) +
'</div></div>\
<div class="popUpBox" style="width:75px"><span> طول جغرافیایی </span><div class="popUpBoxContent">' +
parseFloat(data.lng).toFixed(5) +
'</div></div>\
</div>\
<div class="popupContent-button">\
<button class="popup-btn-edit-point" onclick="showAccidentPointEditModal()">بروزرسانی</button>\
</div>\
</div>\
'
);
} else if (
(data.target && data.target != "-") ||
(data.operation && data.operation != "-")
) {
return (
'\
<div class="popup">\
<div class="popupTitle">\
<img src="../../dist/images/icons/por_accident_village.svg" alt="">\
<span class="popupHeader">نقاط پرتصادف' +
popupTitle251 +
'</span>\
</div>\
<div class="popupHeaderContent"><div class="popUpBanner">اداره کل ' +
data.province +
"، محور: " +
data.native_name +
'</div>\
<div class="popupContent">\
<div class="popUpBox" style="width:75px"><span> عملیات مورد نیاز </span><div class="popUpBoxContent">' +
(data.operation ? data.operation : "-") +
'</div></div>\
<div class="popUpBox" style="width:75px"><span> هدف کمی </span><div class="popUpBoxContent">' +
(data.target ? data.target : "-") +
'</div></div> </div>\
<div class="popupFooter">\
<span> اقدامات انجام شده </span><div class="popUpBoxContent">' +
(data.actions ? data.actions : "-") +
'</div> </div>\
</div>\
<div class="popupContent">\
<div class="popUpBoxlevel" style="width:75px"><span> اعتبارات هزینه شده (میلیون ریال) </span><div class="popUpBoxContent">' +
data.cost +
'</div></div>\
<div class="popUpBoxlevel" style="width:75px"><span> پیشرفت فیزیکی (درصد) </span><div class="popUpBoxContent">' +
data.progress +
"٪" +
'</div></div>\
<div class="popUpBoxlevel" style="width:75px"><span> تاریخ خاتمه </span><div class="popUpBoxContent">' +
(data.end_date ? data.end_date : "-") +
'</div></div>\
<div class="popUpBox" style="width:75px"><span> عرض جغرافیایی </span><div class="popUpBoxContent">' +
parseFloat(data.lat).toFixed(5) +
'</div></div>\
<div class="popUpBox" style="width:75px"><span> طول جغرافیایی </span><div class="popUpBoxContent">' +
parseFloat(data.lng).toFixed(5) +
'</div></div>\
</div>\
<div class="popupContent-button">\
<button class="popup-btn-edit-point" onclick="showAccidentPointEditModal()">بروزرسانی</button>\
</div>\
</div>\
'
);
} else {
return (
'\
<div class="popup">\
<div class="popupTitle">\
<img src="../../dist/images/icons/por_accident_village.svg" alt="">\
<span class="popupHeader">نقاط پرتصادف' +
popupTitle251 +
'</span>\
</div>\
<div class="popupHeaderContent"><div class="popUpBanner">اداره کل ' +
data.province +
"، محور: " +
data.native_name +
'</div>\
<div class="popupContent">\
<div class="popUpBox" style="width:75px"><span> ابتدای محور</span><div class="popUpBoxContent">' +
data.axis_start +
'</div></div>\
<div class="popUpBox" style="width:75px"><span> انتهای محور</span><div class="popUpBoxContent">' +
data.axis_end +
'</div></div>\
<div class="popUpBox" style="width:75px"><span> فاصله از ابتدای محور</span><div class="popUpBoxContent">' +
data.distance +
" " +
"کیلومتر" +
'</div> </div>\
<div class="popUpBox" style="width:75px"><span> توصیف هندسی نقطه</span><div class="popUpBoxContent">' +
data.geometric_desc +
'</div></div>\
<div class="popUpBox" style="width:75px"><span> عرض جغرافیایی </span><div class="popUpBoxContent">' +
parseFloat(data.lat).toFixed(5) +
'</div> </div>\
<div class="popUpBox" style="width:75px"><span> طول جغرافیایی</span><div class="popUpBoxContent">' +
parseFloat(data.lng).toFixed(5) +
'</div></div>\
</div>\
<div class="popupContent-button">\
<button class="popup-btn-edit-point" onclick="showAccidentPointEditModal()">بروزرسانی</button>\
</div>\
</div>'
);
}
} else {
if (data.accident251_point) {
return (
'\
<div class="popup">\
<div class="popupTitle">\
<img src="../../dist/images/icons/por_accident_village.svg" alt="">\
<span class="popupHeader">نقاط پرتصادف' +
popupTitle251 +
'</span>\
</div>\
<div class="popupHeaderContent"><div class="popUpBanner">اداره کل ' +
data.accident251_point.province +
"، محور: " +
data.accident251_point.native_name +
'</div>\
<div class="popupContent">\
<div class="popUpBox" style="width:75px"><span> عملیات مورد نیاز </span><div class="popUpBoxContent">' +
data.accident251_point.operation +
'</div></div>\
<div class="popUpBox" style="width:75px"><span> هدف کمی </span><div class="popUpBoxContent">' +
data.accident251_point.target +
'</div></div> </div>\
<div class="popupFooter">\
<span> اقدامات انجام شده </span><div class="popUpBoxContent">' +
data.accident251_point.actions +
'</div> </div>\
</div>\
<div class="popupContent">\
<div class="popUpBoxlevel" style="width:75px"><span> اعتبارات هزینه شده (میلیون ریال) </span><div class="popUpBoxContent">' +
data.accident251_point.cost +
'</div></div>\
<div class="popUpBoxlevel" style="width:75px"><span> پیشرفت فیزیکی (درصد) </span><div class="popUpBoxContent">' +
data.accident251_point.progress +
"٪" +
'</div></div>\
<div class="popUpBoxlevel" style="width:75px"><span> تاریخ خاتمه </span><div class="popUpBoxContent">' +
data.accident251_point.end_date +
'</div></div>\
<div class="popUpBox" style="width:75px"><span> عرض جغرافیایی </span><div class="popUpBoxContent">' +
parseFloat(data.lat).toFixed(5) +
'</div></div>\
<div class="popUpBox" style="width:75px"><span> طول جغرافیایی </span><div class="popUpBoxContent">' +
parseFloat(data.lng).toFixed(5) +
"</div></div>\
</div>\
</div>\
"
);
} else if (
(data.target && data.target != "-") ||
(data.operation && data.operation != "-")
) {
return (
'\
<div class="popup">\
<div class="popupTitle">\
<img src="../../dist/images/icons/por_accident_village.svg" alt="">\
<span class="popupHeader">نقاط پرتصادف' +
popupTitle251 +
'</span>\
</div>\
<div class="popupHeaderContent"><div class="popUpBanner">اداره کل ' +
data.province +
"، محور: " +
data.native_name +
'</div>\
<div class="popupContent">\
<div class="popUpBox" style="width:75px"><span> عملیات مورد نیاز </span><div class="popUpBoxContent">' +
(data.operation ? data.operation : "-") +
'</div></div>\
<div class="popUpBox" style="width:75px"><span> هدف کمی </span><div class="popUpBoxContent">' +
(data.target ? data.target : "-") +
'</div></div> </div>\
<div class="popupFooter">\
<span> اقدامات انجام شده </span><div class="popUpBoxContent">' +
(data.actions ? data.actions : "-") +
'</div> </div>\
</div>\
<div class="popupContent">\
<div class="popUpBoxlevel" style="width:75px"><span> اعتبارات هزینه شده (میلیون ریال) </span><div class="popUpBoxContent">' +
data.cost +
'</div></div>\
<div class="popUpBoxlevel" style="width:75px"><span> پیشرفت فیزیکی (درصد) </span><div class="popUpBoxContent">' +
data.progress +
"٪" +
'</div></div>\
<div class="popUpBoxlevel" style="width:75px"><span> تاریخ خاتمه </span><div class="popUpBoxContent">' +
(data.end_date ? data.end_date : "-") +
'</div></div>\
<div class="popUpBox" style="width:75px"><span> عرض جغرافیایی </span><div class="popUpBoxContent">' +
parseFloat(data.lat).toFixed(5) +
'</div></div>\
<div class="popUpBox" style="width:75px"><span> طول جغرافیایی </span><div class="popUpBoxContent">' +
parseFloat(data.lng).toFixed(5) +
"</div></div>\
</div>\
</div>\
"
);
} else {
return (
'\
<div class="popup">\
<div class="popupTitle">\
<img src="../../dist/images/icons/por_accident_village.svg" alt="">\
<span class="popupHeader">نقاط پرتصادف' +
popupTitle251 +
'</span>\
</div>\
<div class="popupHeaderContent"><div class="popUpBanner">اداره کل ' +
data.province +
"، محور: " +
data.native_name +
'</div>\
<div class="popupContent">\
<div class="popUpBox" style="width:75px"><span> ابتدای محور</span><div class="popUpBoxContent">' +
data.axis_start +
'</div></div>\
<div class="popUpBox" style="width:75px"><span> انتهای محور</span><div class="popUpBoxContent">' +
data.axis_end +
'</div></div>\
<div class="popUpBox" style="width:75px"><span> فاصله از ابتدای محور</span><div class="popUpBoxContent">' +
data.distance +
" " +
"کیلومتر" +
'</div> </div>\
<div class="popUpBox" style="width:75px"><span> توصیف هندسی نقطه</span><div class="popUpBoxContent">' +
data.geometric_desc +
'</div></div>\
<div class="popUpBox" style="width:75px"><span> عرض جغرافیایی </span><div class="popUpBoxContent">' +
parseFloat(data.lat).toFixed(5) +
'</div> </div>\
<div class="popUpBox" style="width:75px"><span> طول جغرافیایی</span><div class="popUpBoxContent">' +
parseFloat(data.lng).toFixed(5) +
"</div></div>\
</div>\
</div>"
);
}
}
}
function showLoaderScreen() {
$(".divloader").css("display", "flex").hide().fadeIn();
}
function hideLoaderScreen() {
$(".divloader").fadeOut();
}
function getPopupContentFastReaction(data) {
console.log("hii");
return (
'\
<div class="popup">\
<div class="popupTitle">\
<img src="../../dist/images/layer-icons/emergency.svg" alt="">\
<span class="popupHeader">واکنش سریع (کد پیگیری: ' +
data.uid +
')</span>\
</div>\
<div class="popupHeaderContent"><div class="popUpBanner">اداره کل ' +
data.ProvinceName +
"، شهرستان " +
data.TownName +
'</div>\
<div class="popupContent">\
<div class="popUpBox" style="width:75px"><span> موضوع شکایت </span><div class="popUpBoxContent">' +
data.Title +
'</div></div>\
<div class="popUpBox" style="width:75px"><span> نوع شکایت </span><div class="popUpBoxContent">' +
data.EventTypeTitle +
'</div></div>\
</div>\
<div class="popupContent">\
<div class="popUpBox" style="width:266px!important"><span> توضیح شکایت </span><div class="popUpBoxContent">' +
data.Description +
"</div></div>\
</div>"
);
}
function showrahdarLayer() {
console.log("mozzzzz");
if (marker141Layers != null) {
marker141List = [];
map.removeLayer(marker141Layers);
}
if (marker141LayersWithoutCluster != null) {
map.removeLayer(marker141LayersWithoutCluster);
}
showLoaderScreen();
$.get("/rahdari-points", function (result) {
data = result.data;
let markerG = [];
marker141Layers = L.markerClusterGroup();
for (let i = 0; i < data.length; i++) {
if (result.edit_id == data[i].province_id) {
setIcon = rahdariIconO;
} else {
setIcon = rahdariIconY;
}
if (
data[i].lat == "-" ||
data[i].lng == "-" ||
data[i].lat == "0" ||
data[i].lng == "0"
) {
continue;
}
let marker = L.marker([data[i].lat, data[i].lng], {
icon: setIcon,
content: data[i],
})
.on("click", function (e) {
console.log("eeeeeee", e)
$("[data-mask]").inputmask();
console.log("test", this.options.content)
let datatext = this.options.content;
$("#houserahdar").val(datatext.name);
$("#rahdarid").val(datatext.id);
$("#edarekol").val(datatext.province_name);
$("#mainCity").val(datatext.city_name);
$("#sit").val(datatext.status); //action
$("#type").val(datatext.type);
$("#phone").val(datatext.phone);
$("#ekipnum").val(datatext.team_num);
$("#personelnum").val(datatext.staff_num);
$("#masol").val(datatext.responsible_name);
$("#masolmobile").val(datatext.responsible_mobile);
$("#janeshin").val(datatext.successor_name);
$("#janeshinmobile").val(datatext.successor_mobile);
$("#lightmachine").val(datatext.machines_light);
$("#meduimachin").val(datatext.machines_sheavy);
$("#bigmachin").val(datatext.machines_heavy);
$("#lat-rahdar").val(datatext.lat);
$("#lng-rahdar").val(datatext.lng);
})
.bindPopup(getPopupContentRahdar(data[i], result.edit_id), {
className: "customPopupStyle",
});
if (result.edit_id == data[i].province_id) {
markerG.push(marker);
} else {
marker141List.push(marker);
}
}
marker141LayersWithoutCluster = L.layerGroup(markerG);
marker141Layers.addLayers(marker141List);
map.addLayer(marker141Layers);
map.addLayer(marker141LayersWithoutCluster);
hideLoaderScreen();
});
}