<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MapViewChart.aspx.cs" Inherits="MapViewChart" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <style> html, body { /*font-family: sans-serif;*/ padding: 0; margin: 0; height: 100%; width: 100%; } #content { width: 100%; top: 0px; bottom: 0; margin: 0; position: fixed; /*color: #6b6b6b;*/ overflow: auto; } #parameter_left { background: #f4f4f4; height: 100%; width: 200px; float: left; color: #000; position: relative; } div { cursor: default; } </style> <style type="text/css"> .data-grid { height: 100%; font-size: 12px !important; font-family: "Segoe UI","Segoe UI Web (West European)","Segoe UI",-apple-system,BlinkMacSystemFont,"Roboto","Helvetica Neue",sans-serif !important; } </style> <link rel="stylesheet" href="<%=GetFileUrlWithVersion("css/default.css")%>" type="text/css" /> <link rel="stylesheet" href="<%=GetFileUrlWithVersion("css/split_sub.css")%>" type="text/css" /> <link rel="stylesheet" href="<%=GetFileUrlWithVersion("css/split_sub.css")%>" /> <link rel="stylesheet" href="<%=GetFileUrlWithVersion("css/mapview.css")%>" /> <link rel="stylesheet" href="<%=GetFileUrlWithVersion("css/editmultiselect.css")%>" /> <link rel="stylesheet" href="https://js.arcgis.com/3.40/esri/css/esri.css" /> <link rel="stylesheet" href="<%=GetFileUrlWithVersion("css/jquery.datetimepicker.css")%>" /> <link rel="stylesheet" href="<%=GetFileUrlWithVersion("css/playbar.css")%>" /> <link type="text/css" href="<%=GetFileUrlWithVersion("js/components/css/gridview.css") %>" rel="stylesheet" /> <link type="text/css" href="<%=GetFileUrlWithVersion("css/override.css") %>" rel="stylesheet" /> <link href="<%=GetFileUrlWithVersion("css/panel.css")%>" rel="stylesheet" type="text/css" /> <script src="<%=GetFileUrlWithVersion("js/jquery-" + (JQueryVersion ?? "3.6.0") + ".min.js")%>" type="text/javascript"></script> <script src="<%=GetFileUrlWithVersion("js/cookie.js")%>"></script> <script src="<%=GetFileUrlWithVersion("js/utility.js")%>" type="text/javascript"></script> <script type="text/javascript" src="<%=GetFileUrlWithVersion("js/components/gridview.js") %>"></script> <script> var GridView = window.GridView || window['g5-gridview']; //必须放在地图js之前 var dojoConfig = { paths: { extras1: location.pathname.replace(/\/[^/]+$/, "") + "/js/mapview" }, cacheBust: true }; </script> <script src="<%=GetFileUrlWithVersion("js/jquery.datetimepicker.full.js")%>"></script> <script src="<%=GetFileUrlWithVersion("js/vue.min.js")%>"></script> <script src="<%=GetFileUrlWithVersion("js/echarts.min.js")%>"></script> <script src="<%=GetFileUrlWithVersion("js/compass.js")%>"></script> <script>Vue.config.productionTip = false; Vue.config.silent = true;</script> <script src="https://js.arcgis.com/3.40"></script> <script src="<%=GetFileUrlWithVersion("js/mapview/asset.js")%>"></script> <script src="<%=GetFileUrlWithVersion("js/mapview/maphelper.js")%>"></script> <script src="<%=GetFileUrlWithVersion("js/mapview/mapview.js")%>"></script> <script src="<%=GetFileUrlWithVersion("js/language.js")%>"></script> <script src="<%=GetFileUrlWithVersion("js/assetsummary.js")%>"></script> <script type="text/javascript"> _network.root = '<%=Page.ResolveUrl("~/")%>'; var companyids = ""; var MachineID = "<%=MachineID %>"; var VIN = '<%=VIN.Replace("'","\\'") %>'; var Datasource = "<%=Datasource %>"; var currentdate = "<%=CurrentDate %>"; var isMapLoaded = false; var leftCtrlWidth = 390; var rightCtrlWidth = 280; var mapHelper; var machineAlert; var userParams = undefined; var assetObject = undefined; var notShowDetail = true; var notShowIcons = true; var canEditAsset = false; var canViewWorkOrder = false; var canViewMR = false; var canViewAlertsManagement = false; var canViewFuelRecords = false; var canViewInspection = false; var canViewPM = false; var showTooltipIcons = false; var IsSupperAdmin = false; var isAllowed = false; var serVersion = ""; var vm; _network.mapviewchartquery = function (method, param, callback, error, nolog) { _network.request("MapViewChart.aspx?tp=ashx", -1, method, param, callback, error, nolog); } function init() { loadMap(); } function loadMap() { mapHelper = new MapHelper(onMapInitialized); assetObject = new AssetObject(mapHelper); } function onMapInitialized() { isMapLoaded = true; initData(onDataInitialized); } function initData(callback) { $("#historyCtrl").show();//所有类型站点都显示Show History //$("#contentCtrl").css("bottom", "184px"); $("#autoRecenterDiv").show(); //assetObject.getContractor(callback); if (callback) callback(); } function onDataInitialized() { isMapLoaded = true; refreshData(); setInterval(refreshData, 60 * 1000);//开启定时刷新 setTimeout(checkServerVersion, 60000); } function refreshData() { try { if (machineAlert) { _dialog.close(machineAlert); machineAlert = null; } getMachineItem(); assetObject.getCompanyLocations(); } catch (e) { machineAlert = _dialog.showAlert(GetTextByKey("P_MV_UNABLETOOBTAINASSETDATAATTEMPTINGTORECONNECT", 'Unable to obtain asset data. Attempting to reconnect...'), GetTextByKey("P_MV_REFRESHASSETDATA", 'Refresh asset data')); } } function getMachineItem() { _network.mapviewchartquery("getMachineItem", JSON.stringify([MachineID, VIN, Datasource]), function (data) { if (data && typeof (data) !== "string") { if (data.Location) { data.Latitude = data.Location.Latitude; data.Longitude = data.Location.Longitude; } mapHelper.clearMachine(); mapHelper.showMachine(data); mapHelper.locateMachine(data, true); currentLocationHistoryMachine = data; vm.reload(data); getNowFormatDate(); } else mapHelper.clearMachine(); $('#loadingDiv').hide(); }, function () { $('#loadingDiv').hide(); }); } function checkServerVersion() {//检查服务端版本号,如果服务端已经更新,刷新当前页面 _network.mapviewquery("GetServerVersion", "", function (data) { if (serVersion != "" && serVersion != data) { window.location.reload(true); return; } serVersion = data; setTimeout(checkServerVersion, 60000); }); } function showOtherIcons() { var leftCtrl = $("#leftCtrl"); $("#mapMeunDiv").css("left", leftCtrl.width() + 25); } function reloaddata(machineid, vin) { MachineID = machineid; VIN = vin; if (isMapLoaded) { if ((MachineID && MachineID > 0) || (VIN && VIN !== "")) refreshData(); else mapHelper.clearMachine(); } } function GetLanguageByCookie() { var lang = getCookie('<%=Common.LanguageCookieName%>'); if (lang == null) { return "en-us"; } else { return lang; } } $(function () { _fleet.currentLang = GetLanguageByCookie(); $("#content").applyFleetLanguageText(); init(); $("#showDealerLocationsDiv").click(null, function (e) { if ($("#showDealerLocationsDiv").attr("state") == "0") { assetObject.showLocations(); $("#showDealerLocationsDiv").attr("state", "1").attr("title", GetTextByKey("P_MV_TURNOFFDEALERLOCATIONS", "Turn Off Dealer Locations")); } else { assetObject.clearLocations(); $("#showDealerLocationsDiv").attr("state", "0").attr("title", GetTextByKey("P_MV_TURNONDEALERLOCATIONS", "Turn On Dealer Locations")); } }); $("#basemapgalleryDiv").click(null, function (e) { $("#basemapGallery").show(); }); $("#splitIcon").click(null, function (e) { var leftCtrl = $("#leftCtrl"); var splitIcon = $("#splitIcon"); var mapView = $("#mapView"); var imgc = $("#splitIconImg"); if (leftCtrl.hasClass("leftCtrl")) { leftCtrl.removeClass("leftCtrl"); leftCtrl.width(leftCtrlWidth); splitIcon.css("left", leftCtrlWidth + 1); mapView.css("left", leftCtrlWidth + 1); imgc.attr("src", "img/left.png"); } else { leftCtrl.addClass("leftCtrl"); leftCtrl.width(0); splitIcon.css("left", 1); mapView.css("left", 1); imgc.attr("src", "img/right.png"); } showOtherIcons(); }); vm = new Vue({ el: '#machineInfo', data: { machine: { Location: {} } }, methods: { reload: function (data) { this.machine = data; } } }); }); </script> </head> <body> <form id="form1" runat="server"> <div id="content" style="margin-top: 2px;"> <input id="selContractor" type="hidden" value="<%=CompanyID %>" /> <div id="layout"> <div id="leftCtrl" class="leftCtrl"> <div style="margin-top: 5px;"> <div style="font-size: 16px; font-weight: bold; padding-left: 10px;"> Asset Information <span class="hisicon pointer" style='margin-left: 20px;' onclick="locationHistoryClick();" title="Location History" data-title-lgid="P_MA_LOCATIONHISTORY"></span> </div> <div id="machineInfo" style="font-size: 12px; padding-left: 30px;"> <b data-lgid="P_MV_NAME_COLON">Name:</b> {{machine.Name}}<br /> <b data-lgid="P_MV_NAMECUSTOM_COLON">Name (Custom):</b> {{machine.Name2}}<br /> <b data-lgid="P_MV_SN_COLON">SN:</b> {{machine.VIN}}<br /> <b data-lgid="P_MV_MAKE_COLON">Make:</b> {{machine.Make}}<br /> <b data-lgid="P_MV_MODEL_COLON">Model:</b> {{machine.Model}}<br /> <b data-lgid="P_MA_ASSETTYPE_COLON">Asset Type:</b> {{machine.AssetType}}<br /> <b data-lgid="P_MV_ENGINEHOURS_COLON">Engine Hours:</b> {{machine.EngineHours}}<br /> <b data-lgid="P_MV_ENGINEHOURSUPDATED_COLON">Engine Hours Updated:</b> {{machine.EngineHoursDateText}}<br /> <b data-lgid="P_MV_LOCATIONUPDATED_COLON">Location Updated:</b> {{machine.Location.LocationTimeText}}<br /> <b data-lgid="P_MV_GROUPS_COLON">Groups: </b>{{machine.GroupNames}}<br /> <br /> <br /> {{machine.AlertTip}}<br /> </div> </div> </div> <div> <div id="mapView"> </div> <div id="basemapgalleryDiv"> <div id="basemapImg"></div> <div id="basemapTitle"></div> </div> <div id="basemapGallery"></div> <div id="splitIcon"> <img id="splitIconImg" src="img/right.png" style="height: 45px; width: 20px;" /> </div> <div id="splitIconRight" style="display: none"> <img id="splitIconImgRight" src="img/left.png" style="height: 45px; width: 20px;" /> </div> </div> <div id="mapMeunDiv" style="position: absolute; top: 90px; left: 20px; z-index: 50;"> <div id="showDealerLocationsDiv" style="display: none; top: 90px;" state="1" title="Turn Off Dealer Locations"> <%=Logo1 %> </div> </div> <div id="mapAlertLayerDiv" style="display: none"> <table> <tr> <td data-lgid="P_MV_MAPALERTLAYER">Map Alert Layer</td> <td> <select id="selMapAlertLayer" style="width: 200px;"></select></td> <td> <img src="img/filters.png" alt="Set Parameter(s)" title="Set Parameter(s)" data-title-lgid="P_MV_SETPARAMETERS" style="padding-left: 5px; display: none;" id="setparameter" onclick="openSetAlertLayerParameters();" /></td> </tr> </table> </div> <div id="loadingDiv" style="display: none;"> <div class="loadingmach icnmach icn-spinmach"></div> </div> <div id="refreshTimeDiv"></div> </div> </div> </form> </body> </html>