123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- var Bizgaze;
- (function (Bizgaze) {
- let Apps;
- (function (Apps) {
- let Routes;
- (function (Routes) {
- let Map;
- (function (Map) {
- class Routeschedule extends Unibase.Platform.Core.BaseComponent {
- cssFiles() {
- return [];
- }
- jsFiles() {
- return [];
- }
- html(id, containerid) {
- let html = ``;
- return html;
- }
- load(id, containerid, callback) {
- }
- ;
- init(container) {
- Bizgaze.Apps.Routes.Map.Routeschedule.Instance().render(container);
- }
- render(containerid) {
- var portletwidgetid = Number($("#hf_PortletWidgetId").val());
- $("." + containerid).empty();
- let html = `<div class="card">
- <div class="card-header card-header-action">
- <div class="col-6">
- <span class="h6 ml-10">
- <span class="row">Route Map</span>
- </span>
- <span class="row"><strong>Count :</strong> <span id="Customer_Length"></span></span>
- </div>
- </div>
- <div class="row card-body" style="overflow-x:auto;">
- <div class="col-sm-12">
- <div id="RouteMap" style="width:auto;height:750px">
- </div>
- </div>
- </div>
- </div>`;
- $("." + containerid).append(html);
- this.mapRoute();
- }
- mapRoute() {
- var markers = [];
- this.fileCacheHelper.loadJsFile("apps/routes/managers/routemanager.js", function () {
- var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
- var Routedefinitionid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_routedefinitionid").Value);
- Bizgaze.Apps.Routes.Managers.RouteManager.Instance().getSections(Routedefinitionid).then(function (response) {
- var markers = [];
- if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length != 0) {
- $("#Customer_Length").text(response.result.length);
- if (response.result.length != 0) {
- for (var i = 0; i < response.result.length; i++) {
- var data = response.result[i];
- var addressId = data.ContactAddressId;
- var contactId = data.ContactId;
- var routeId = data.RouteId;
- var routeIndex = data.RouteIndex;
- var addressName = data.AddressName;
- var contactName = data.ContactName;
- var adrlatd = data.AddrLatd;
- var adrlgtd = data.AddrLgtd;
- var CustomerStatus = data.StatusId;
- var RouteScheduleItemId = data.RouteScheduleItemId;
- var objCustomer = {
- "title": contactName,
- "address": addressName,
- "lat": adrlatd,
- "lng": adrlgtd,
- "description": contactName,
- "type": CustomerStatus,
- "ContactId": contactId,
- "RouteScheduleItemId": RouteScheduleItemId
- };
- markers.push(objCustomer);
- }
- var mapOptions = {
- center: new google.maps.LatLng(32.3917, 115.867),
- zoom: 4,
- mapTypeId: google.maps.MapTypeId.ROADMAP
- };
- var map = new google.maps.Map(document.getElementById("RouteMap"), mapOptions);
- var infoWindow = new google.maps.InfoWindow();
- var lat_lng = new Array();
- var latlngbounds = new google.maps.LatLngBounds();
- var markerArr = [];
- for (var i = 0; i < markers.length; i++) {
- var dat = markers[i];
- var myLatlng = new google.maps.LatLng(dat.lat, dat.lng);
- lat_lng.push(myLatlng);
- var icon = "";
- switch (dat.type) {
- case 1:
- icon = "green";
- break;
- case 2:
- icon = "red";
- break;
- case 3:
- icon = "yellow";
- break;
- }
- icon = "http://maps.google.com/mapfiles/ms/icons/" + icon + ".png";
- var marker;
- marker = new google.maps.Marker({
- position: myLatlng,
- map: map,
- title: dat.title,
- });
- markerArr.push(marker);
- latlngbounds.extend(marker.position);
- (function (marker, dat) {
- google.maps.event.addListener(marker, "click", function (e) {
- infoWindow.setContent("<span class=''>" + "<strong>" + dat.title + ", " + dat.address + "</strong>" + "</span>" + "<br>" + "<br>" + "<button class='btn mr-20 btn-sm btn-primary btn-rounded text-white' href='javascript: ;' type='button' id='btnorders' onclick='Bizgaze.Apps.Routes.Map.Routeschedule.Instance().loadWidgets(" + dat.ContactId + ",\"Bizgaze_Platform_Crm_Customers_App_Customers_Widget_Report_Sales_Pending_Orders\");'>PendingOrders</button>" + " " + " " + "<button class='btn mr-20 btn-sm btn-success btn-rounded text-white' href='javascript: ;' type='button' id='btninvoices' onclick ='Bizgaze.Apps.Routes.Map.Routeschedule.Instance().loadWidgets(" + dat.ContactId + ",\"Pending_Invoices\");'>PendingInvoices</button>");
- infoWindow.open(map, marker);
- });
- })(marker, dat);
- map.setCenter(latlngbounds.getCenter());
- map.fitBounds(latlngbounds);
- }
- var path = new google.maps.MVCArray();
- var service = new google.maps.DirectionsService();
- var poly = new google.maps.Polyline({ map: map, strokeColor: '#4986E7' });
- for (var i = 0; i < lat_lng.length; i++) {
- if ((i + 1) < lat_lng.length) {
- var src = lat_lng[i];
- var des = lat_lng[i + 1];
- path.push(src);
- poly.setPath(lat_lng);
- poly.setMap(map);
- }
- }
- }
- }
- });
- });
- }
- loadWidgets(customerid, uniqueid) {
- Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getWidgetbyuniqueid(uniqueid).then(function (response) {
- var linkwidgetid = response.result.WidgetId;
- Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getWidget(linkwidgetid).then(function (res) {
- let ReplaceText = [];
- let split = res.result.Parameter.split(':');
- ReplaceText.push({
- Key: split[0],
- Value: (customerid).toString(),
- ExpOp: 1
- });
- let reportwidget = Unibase.Themes.Compact.Components.ReportWidgets.Default.Instance().getReportWidget(0, linkwidgetid, "", ReplaceText, null, true, Unibase.Themes.Providers.DetailHelper.installedAppId, true);
- });
- });
- }
- static Instance() {
- if (this.instance === undefined) {
- this.instance = new Routeschedule();
- }
- return this.instance;
- }
- }
- Map.Routeschedule = Routeschedule;
- })(Map = Routes.Map || (Routes.Map = {}));
- })(Routes = Apps.Routes || (Apps.Routes = {}));
- })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
- })(Bizgaze || (Bizgaze = {}));
|