1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048 |
- var Bizgaze;
- (function (Bizgaze) {
- let Apps;
- (function (Apps) {
- let Crm;
- (function (Crm) {
- let Employees;
- (function (Employees) {
- let Components;
- (function (Components) {
- class EmployeeRoute extends Unibase.Platform.Core.BaseComponent {
- constructor() {
- super(...arguments);
- this._bizgazegps_TripStatus = null;
- this._bizgazegps_TripId = 0;
- this._bizgazegps_AddressId = 0;
- this._bizgazegps_btnText = "Arrived";
- this._tripTrackStatusId = 0;
- this._tripTrackStatusIds = 0;
- this.tripTrackStatus = "Arrived";
- this._tripDistancAndDurations = [];
- this._meterTripIdId = 0;
- this._bizgaze_latd = 0;
- this._bizgaze_lgtd = 0;
- }
- cssFiles() {
- return [];
- }
- jsFiles() {
- return ['apps/crm/employees/managers/gpslocationmanager.js', 'apps/routes/managers/routemanager.js', 'apps/transact/managers/invoicemanager.js', 'apps/transact/managers/orders/ordermanager.js', 'platform/core/helpers/numberhelper/numberhelper.js', 'apps/crm/employees/components/meterreading.js', 'apps/crm/contacts/managers/contactmanager.js'];
- }
- html(id, containerid) {
- var html = `<section class="">
- <div class="panel panel-info">
- <div class="row wrapper-sm">
- <input type="hidden" value="0" id="hfMeterReadingId" />
- <input type="hidden" value="" id="hfBizgaze_GpsTripGroupName" />
- <input type="hidden" value="0" id="hfDistance" />
- <input type="hidden" value="0" id="hfDuration" />
- <input type="hidden" value="0" id="hflat" />
- <input type="hidden" value="0" id="hflag" />
- <input type="hidden" value="0" id="hfTripGroupId" />
- <input type="hidden" value="0" id="hfSeletedRouteId" />
- <input type="hidden" value="" id="hfTripGroupStatus" />
- <div class="col-sm-4 divRouteName hidden">
- <strong class="h4 block m-t-xs" id="lbRouteName"></strong>
- </div>
- <div class="col-sm-4 divcmdroutes">
- <div class="form-group floating-label-form-group floating-label-form-group-with-value">
- <select id="cmbRoutes" data-required="true" class="form-control"></select>
- </div>
- </div>
- <div class="col-sm-4">
- <div class="btn-group btn-group-justified" data-toggle="buttons">
- <label class="btn btn-default btn-lg active" id="btnMap"> <input type="radio" name="options" value="1"><i class="fa fa-check text-active"></i> Map </label>
- <label class="btn btn-default btn-lg" id="btnGrid"> <input type="radio" name="options" value="2"><i class="fa fa-check text-active"></i> Grid </label>
- </div>
- </div>
- <div class="col-sm-3">
- <a class="m-r-xs btn btn-group-justified btn-lg btn-primary btnStartTrip" id="btnStartTrip">Start Trip</a>
- <div class="btn-group btn-group-justified">
- <a class="m-r-xs btn btn-lg btn-danger btnStopTrip hidden" id="btnCancelTrip">Cancel</a>
- <a class="m-r-xs btn btn-lg btn-warning btnStopTrip hidden" id="btnStopTrip">Close Trip</a>
- </div>
- </div>
- <div class="col-sm-1">
- <a class="m-r-xs btn btn-group-justified btn-lg btn-primary btnCreateLead hidden" id="btnCreateLead">CreateLead</a>
- </div>
-
- </div>
- <div class="row m-l-none m-r-none bg-light lter">
- <div class="col-xs-6 padder-v b-r b-light lt" id="bizTotalDistance">
- <a class="clear" href="javaScript:;">
- <span class="h4 block m-t-xs"><strong id="bizTotalKm">0.00</strong></span>
- <small class="text-uc ordered-label">Total Distance (Km)</small>
- </a>
- </div>
- <div class="col-xs-6 padder-v b-r b-light lt">
- <span id="bizTotalCustomers12">
-
- <a class="clear" id="bizTotalCustomers" href="javascript:;">
- <span class="h4 block m-t-xs"><strong class="lbCustomers">0</strong></span>
- <small class="text-uc">Number Of Customer</small>
- </a>
- </span>
- </div>
- </div>
- <div class="divmap1">
- <div class="btnCustomerTrips"></div>
- <div class="divmap">
- <div id="NavigateEmployeeMap" style="width:100%;height:100%; min-height:400px;"></div>
- </div>
- <div class="divgrid hidden" id="gridDiv">
- <div class="">
- <div class="clear m-t-sm">
- <div class="clear m-t-sm">
- <div class="customerList">
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
-
- </section>
-
- <div class="modal fade" id="divTotalCusomers" tabindex="-1" role="dialog" aria-labelledby="divTotalCusomersLabel" style="display: none;" aria-hidden="true" data-backdrop="false">
- <div class="modal-dialog" role="document">
- <div class="modal-content">
- <div class="modal-body1">
- <div class="form-group m-t h4">
- <div class="clear">
- <div class="col-xs-5"><strong class="block">Company Name</strong></div>
- <div class="col-xs-4"><strong class="block">Contact Person</strong></div>
- <div class="col-xs-3"><strong class="block">Phone No</strong></div>
- </div>
- </div>
- <div id="divTotalCustomerlist" class="routeCustomer-item">
- </div>
- </div>
- <div class="modal-footer">
- <button type="button" id="btn_Close" class="btn btn-default pull-right" data-dismiss="modal">
- Close
- </button>
- </div>
- </div>
- </div>
- </div>
-
- <div class="modal fade" id="divTotalDueAmount" tabindex="-1" role="dialog" aria-labelledby="divTotalDueAmountLabel" style="display: none;" aria-hidden="true" data-backdrop="false">
- <div class="modal-dialog" role="document">
- <div class="modal-content">
- <div class="modal-body1">
- <div class="form-group m-t h4">
- <div class="clear">
- <div class="col-xs-5"><strong class="block">Contact Name</strong></div>
- <div class="col-xs-5"><span class="">Invoice No</span></div>
- <div class="col-xs-2"><span class="">Due Amount</span></div>
- </div>
- </div>
- <div id="divDueAmountlist" class="routeDueAmt-item">
- </div>
- </div>
- <div class="modal-footer">
- <button type="button" id="btn_Close" class="btn btn-default pull-right" data-dismiss="modal">
- Close
- </button>
- </div>
- </div>
- </div>
- </div>
-
- <div class="modal fade" id="divCusomerDetails" tabindex="-1" role="dialog" aria-labelledby="divCusomerDetailsLabel" style="display: none;" aria-hidden="true" data-backdrop="false">
- <div class="modal-dialog" role="document">
- <div class="modal-content">
- <input type="hidden" id="hfRouteScheduleItemId" />
- <div class="modal-header">
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">
- ×
- </button>
- <h4 class="modal-title">
- CustomerDetails
- </h4>
- </div>
- <div class="modal-body">
- <div id="divRoutesCustomerlist" class="panel-group m-b divRoutesCustomerlist ">
- </div>
- </div>
- <div class="modal-footer">
- <button type="button" id="btn_Close" class="btn btn-default pull-right" data-dismiss="modal">
- Close
- </button>
- </div>
- </div>
- </div>
- </div>`;
- return html;
- }
- init(containerid) {
- var instance = this;
- instance.fileCacheHelper.loadJsFiles(["apps/crm/employees/components/w_employeeroute.js", "apps/crm/employees/managers/gpslocationmanager.js"], function () {
- instance.navigationHelper.loadSection(0, containerid, Bizgaze.Apps.Crm.Employees.Components.EmployeeRoute.Instance(), null, null);
- });
- }
- load(id, containerid, callback) {
- let instance = this;
- instance.loadRoutes();
- $("#cmbRoutes").change(function () {
- $('#hfSeletedRouteId').val($("#cmbRoutes").val());
- instance.loadRouteMap($("#cmbRoutes").val());
- });
- $("#btnMap").click(function () {
- $(".divgrid").addClass('hidden');
- $(".divmap").removeClass('hidden');
- });
- $("#btnGrid").click(function () {
- $(".divgrid").removeClass('hidden');
- $(".divmap").addClass('hidden');
- });
- $("#btnNewTrip").click(function () {
- instance.createTrip($("#hfTripGroupId").val());
- });
- $('#btnCreateLead').click(function () {
- });
- $("#btnStartTrip").click(function () {
- var callback = instance.callbacks;
- Bizgaze.Apps.Crm.Employees.Components.MeterReading.Instance().loadPop(1, $("#hfMeterReadingId").val(), instance._meterTripIdId, callback);
- });
- $("#btnStopTrip").click(function () {
- var callback = instance.callbacks;
- Bizgaze.Apps.Crm.Employees.Components.MeterReading.Instance().loadPop(0, $("#hfMeterReadingId").val(), instance._meterTripIdId, callback);
- });
- $("#bizTotalCustomers").click(function () {
- $('#divTotalCusomers').modal();
- var val = $("#cmbRoutes").val();
- if (val == "")
- val = $("#hfSeletedRouteId").val();
- instance.getCustomerDetailsByRouteId(val);
- });
- $("#btnAddMeeting").click(function () {
- });
- $("#bizDueAmount").click(function () {
- $('#divTotalDueAmount').modal();
- });
- }
- callbacks(tripId) {
- let instance = this;
- instance._meterTripIdId = tripId;
- }
- getMeterReading() {
- let instance = this;
- Bizgaze.Apps.Crm.Employees.Managers.GpsLocationmanager.Instance().GetMyMeterReading().then(function (response) {
- debugger;
- if (response.result != null && response.result.meterReadingId != 0) {
- $(".btnStopTrip").removeClass('hidden');
- $(".btnStartTrip").addClass('hidden');
- $("#hfMeterReadingId").val(response.result.meterReadingId);
- instance._meterTripIdId = response.result.tripId;
- }
- else {
- $(".btnStopTrip").addClass('hidden');
- $(".btnStartTrip").removeClass('hidden');
- }
- });
- }
- getCustomerDetailsByRouteId(routeId) {
- $(".customer-additem").each(function () {
- $(this).remove();
- });
- Number(routeId);
- Bizgaze.Apps.Crm.Employees.Managers.GpsLocationmanager.Instance().GetCustomerDetailsByRouteId(routeId).then(function (response) {
- if (response.result != null) {
- for (var i = 0; i < response.result.length; i++) {
- var data = response.result[i];
- var spocNumber = "--";
- if (data.PhoneNumber != null) {
- spocNumber = data.PhoneNumber;
- }
- let html = '<li class="list-group-item routeCustomer-item customer-additem">' +
- '<span class="clear">' +
- '<div class="col-xs-5"><span class="">' + data.OrganizationName + '</span></div>' +
- '<div class="col-xs-4 mute"><small>' + data.OrgContactName + ' Months recuring</small></div>' +
- '<div class="col-xs-3 Text-right"><a class="" href="javascript:;">' + spocNumber + '</a></div>' +
- '</span>' +
- '</li>';
- $(".routeCustomer-item:last").after(html);
- }
- }
- });
- }
- getDutAmount() {
- }
- saveTrip(toAddressId, routeVersionGuid, status, routeStatus, MeterId, tripId) {
- var instance = this;
- if (routeStatus == 1) {
- $(".divbtnTripStart_" + toAddressId).addClass('hidden');
- $(".divbtnTripCancel_" + toAddressId).removeClass('hidden');
- $(".btnTripTrackStatus_Arrived").removeClass("hidden");
- $(".btnCustomerTripStart").addClass('hidden');
- }
- if (status == "Started") {
- status = 1;
- }
- else if (status == "Canceled") {
- status = 2;
- }
- else if (status == "Completed") {
- status = 3;
- }
- var postData = {
- TripId: tripId,
- ToAddressId: toAddressId,
- RefGuid: routeVersionGuid,
- TripStatus: status,
- TripGroupId: Number($("#hfTripGroupId").val())
- };
- Bizgaze.Apps.Crm.Employees.Managers.GpsLocationmanager.Instance().SaveTrip(postData).then(function (response) {
- var id = response.result.tripId;
- var status = response.result.tripStatusId;
- var AddressId = response.result.toAddressId;
- instance._bizgazegps_AddressId = AddressId;
- instance._bizgazegps_TripId = id;
- if (status == 1) {
- $(".btnCustomerTripStart").addClass('hidden');
- instance._tripTrackStatusIds = 1;
- instance.saveTripTrack('Started', id);
- }
- else if (status == 2) {
- instance._bizgazegps_AddressId = 0;
- instance.saveTripTrack('Stepout', id);
- instance._bizgazegps_TripId = 0;
- }
- else if (status == 3) {
- instance._tripTrackStatusIds = 0;
- $(".btnCustomerTripComplete").addClass('hidden');
- instance.saveTripTrack('Completed', id);
- }
- instance.loadRouteMap($("#cmbRoutes").val());
- }, function (response) {
- MessageHelper.Instance().showError(response, 'bizgaze_CreateErrorMessages');
- });
- }
- saveTripTrack(status, tripId) {
- let instance = this;
- if (status == "Started") {
- status = 1;
- }
- else if (status == "Stepout") {
- status = 3;
- }
- else if (status == "Completed") {
- status = 2;
- }
- var postData = {
- TripId: tripId,
- TripTrackStatus: status,
- };
- Bizgaze.Apps.Crm.Employees.Managers.GpsLocationmanager.Instance().SaveTripTrack(postData).then(function (response) {
- var statusId = response.result.tripTrackStatusId;
- var AddressId = response.result.toAddressId;
- instance._bizgazegps_AddressId = AddressId;
- if (status == "Arrived") {
- $(".btnTripTrackStatus_Arrived").addClass('hidden');
- $(".btnTripTrack_Completed").removeClass('hidden');
- }
- if (statusId == 1) {
- instance._tripTrackStatusId = 1;
- instance._bizgazegps_btnText = "Arrived";
- instance.tripTrackStatus = "Arrived";
- }
- else if (statusId == 2) {
- instance._tripTrackStatusId = 2;
- $(".btnTripTrack_Completed").removeClass("hidden");
- }
- else if (statusId == 3) {
- instance._bizgazegps_TripId = 0;
- $(".divbtnTripStart_" + AddressId).addClass('hidden');
- instance._bizgazegps_AddressId = 0;
- instance._tripTrackStatusIds = 0;
- instance.loadRouteMap($("#hfSeletedRouteId").val());
- }
- }, function (response) {
- bootbox.alert("Co-ordinate mismatched...");
- });
- }
- editMeeting(addressId) {
- }
- loadRouteMap(routeId) {
- let instance = this;
- Bizgaze.Apps.Crm.Employees.Managers.GpsLocationmanager.Instance().GetRouteById(routeId).then(function (response) {
- var routeDistance = 0;
- var routeDuration = 0;
- var markerdata = [];
- var distance = [];
- var Currentlat = instance._bizgaze_latd;
- var Currentlgt = instance._bizgaze_lgtd;
- var distance = [];
- var lat1 = "";
- var lgt1 = "";
- var lat2 = "";
- var lgt2 = "";
- var myLatlng = new google.maps.LatLng(Currentlat, Currentlgt);
- var mapOptions = {
- center: myLatlng,
- zoom: 6,
- mapTypeId: google.maps.MapTypeId.ROADMAP
- };
- var map = new google.maps.Map(document.getElementById("NavigateEmployeeMap"), mapOptions);
- var infoWindow = new google.maps.InfoWindow();
- var lat_lng = new Array();
- var latlngbounds = new google.maps.LatLngBounds();
- var distance1 = 0;
- var coordinates = [];
- if (response.result == null || response.result.length <= 0) {
- $('#NavigateEmployeeMap').html("<span style='color:white;background-color:red;font-size: xx-large;position: relative;top: 40%;left: 30%;padding:2%;'>NO RECORD FOUND</span>");
- }
- else {
- $("#tblMap").empty();
- }
- var unknownAddresstableView = "";
- var MissingCoordinatesName = "";
- $(".customerList").html('<div class="routeUser-item hidden"></div>');
- for (var i = 0; i < response.result.length; i++) {
- var model = response.result[i];
- if (!model.CoordinatesNotFound) {
- MissingCoordinatesName += model.contactName + ",";
- var MissingContactName = MissingCoordinatesName.substring(0, MissingCoordinatesName.length - 1);
- $(".lbMissingCustomersName").text(MissingContactName);
- unknownAddresstableView = "<tr bgcolor='C70039' class='text-white' id=row" + i + ">";
- unknownAddresstableView = unknownAddresstableView + "<td>" + model.contactName + "</td>";
- unknownAddresstableView = unknownAddresstableView + "<td id=rows" + i + ">" + model.addressName + ',' + model.addressLine1 + '' + model.cityName + ',' + model.districtName + ',' + model.stateName + ' ' + model.zipCode + ' - ' + model.countryName + "</td>";
- }
- let p1;
- let p2;
- let lat = parseFloat($("#hflat").val().toString());
- let lng = parseFloat($("#hflag").val().toString());
- if (i == 0) {
- }
- else {
- p1 = new google.maps.LatLng(lat, lng);
- p2 = new google.maps.LatLng(model.latId, model.lngId);
- }
- $("#hflat").val(model.latId);
- $("#hflag").val(model.lngId);
- if (model.tripStatus == "Started") {
- instance._tripTrackStatusIds = model.activetripTrackStatus;
- }
- $("#hfBizgaze_GpsTripGroupName").val(model.routeName + '-' + model.scheduleDate);
- if (model.tripGroupStatus == "Started") {
- $(".divcmdroutes").addClass('hidden');
- $(".divRouteName").removeClass('hidden');
- var routeName = $("#cmbRoutes option:selected").text();
- $("#lbRouteName").html(routeName);
- }
- else {
- if (model.tripGroupStatus != "" && model.tripGroupStatus != 0 && model.tripGroupStatus != null) {
- $(".divcmdroutes").removeClass('hidden');
- $(".divRouteName").addClass('hidden');
- }
- }
- if (model.tripGroupStatus != "" && model.tripGroupStatus != null) {
- $("#hfTripGroupStatus").val(model.tripGroupStatus);
- if (model.tripGroupStatus != 0) {
- $("#btnStartTrip").hide();
- $('#btnCancelTrip').removeClass('hidden');
- $('#btnStopTrip').removeClass('hidden');
- $("#btnCreateLead").removeClass('hidden');
- }
- }
- markerdata.push({
- lat: parseFloat(model.latId),
- lng: parseFloat(model.lngId),
- ContactAddressId: model.contactAddressId,
- contactId: model.contactId,
- distance: 0,
- point1: p1, point2: p2,
- contactName: model.contactName,
- routeVersionGuid: model.routeVersionGuid,
- tripStatus: model.tripStatus,
- tripId: model.tripId,
- activeTripAddressId: model.activeTripAddressId,
- IsActiveTrip: model.isActiveTrip,
- contactPhotoUrl: model.contactPhotoUrl,
- activetripTrackStatus: model.activetripTrackStatus,
- routeIndex: model.routeIndex
- });
- $(".lbCustomers").text(response.result.length - 1);
- if (model.tripGroupId != 0) {
- $("#hfTripGroupId").val(model.tripGroupId);
- $(".divNewTrip").removeClass('hidden');
- }
- }
- var markers = markerdata;
- var lan1 = "";
- var lat1 = "";
- for (var i = 0; i < markers.length; i++) {
- var data = markers[i];
- var myLatlng = new google.maps.LatLng(parseFloat(data.lat), parseFloat(data.lng));
- lat_lng.push(myLatlng);
- var icon = "";
- if (i == 0) {
- icon = "Views/Bizgaze_GpsTrack/Widgets/Mapicon/selasemain_02.png";
- }
- else {
- if (data.tripStatus == "Started") {
- icon = "Views/Bizgaze_GpsTrack/Widgets/Mapicon/Company.png?chst=d_map_pin_letter&chld=5|FF0000|";
- }
- else if (data.tripStatus == "Completed") {
- icon = "Views/Bizgaze_GpsTrack/Widgets/Mapicon/Success.png?chst=d_map_pin_letter&chld=5|FF0000|";
- }
- else if (data.tripStatus == "Canceled") {
- icon = "Views/Bizgaze_GpsTrack/Widgets/Mapicon/Cancel.png?chst=d_map_pin_letter&chld=5|FF0000|";
- }
- else {
- icon = "Views/Bizgaze_GpsTrack/Widgets/Mapicon/compant-location_02.png?chst=d_map_pin_letter&chld=5|FF0000";
- }
- }
- var image = {
- url: icon,
- origin: new google.maps.Point(0, 0),
- anchor: new google.maps.Point(25, 25),
- scaledSize: new google.maps.Size(50, 50)
- };
- var marker = new google.maps.Marker({
- position: myLatlng,
- map: map,
- draggable: false,
- animation: google.maps.Animation.DROP,
- icon: image,
- title: data.title
- });
- latlngbounds.extend(myLatlng);
- if (i == 0) {
- lan1 = markers[0].lng;
- lat1 = markers[0].lat;
- }
- var lan2 = data.lat;
- var latt2 = data.lng;
- var url = "https://www.google.co.in/maps/dir/" + parseFloat(lat1) + parseFloat(lan1) + parseFloat(lan2) + parseFloat(latt2);
- (function (marker, data) {
- google.maps.event.addListener(marker, "click", function (e) {
- if (data.distance == 0) {
- var isStarted1 = "";
- var isCompleted1 = "hidden";
- var isCanceled1 = "hidden";
- var isArrived1 = "hidden";
- if (data.tripStatus == "Started") {
- isStarted1 = 'hidden';
- isArrived1 = '';
- isCanceled1 = '';
- if (data.activetripTrackStatus == "2") {
- isArrived1 = 'hidden';
- isCompleted1 = '';
- }
- }
- if (data.tripStatus == "Completed") {
- isCompleted1 = 'hidden';
- isStarted1 = 'hidden';
- isCanceled1 = 'hidden';
- }
- if (data.tripStatus == "Canceled") {
- isCanceled1 = 'hidden';
- isArrived1 = 'hidden';
- isStarted1 = 'hidden';
- }
- if (instance._tripTrackStatusIds == 2 || instance._tripTrackStatusIds == 1)
- isStarted1 = 'hidden';
- if (instance._bizgazegps_AddressId == data.contactAddressId) {
- if (instance._tripTrackStatusId == 1)
- isArrived1 = "";
- else
- isCompleted1 = '';
- isCanceled1 = '';
- }
- instance._bizgazegps_TripId = data.tripId;
- instance.calcDistance(data.point1, data.point2, function (dist) {
- infoWindow.setContent('<div class="btnCustomerTripComplete">' +
- '<strong class="block">' + data.contactName + '</strong>' +
- '<span class="">Distance: ' + dist[0].distance + ' km <a class="btn btn-xs m-l-lg btn-default" onclick="javascript:return Bizgaze.Apps.Crm.Employees.Components.EmployeeRoute.Instance().showCustomerDetails(' + data.contactId + ',' + '\'' + data.contactName + '\')">View Details</a></span>' +
- '<div class=""><span>Duration: ' + dist[0].duration + ' minutes </span>' +
- '</div>' +
- '<span class="m-t"><div class="text-center ' + isStarted1 + ' btnCustomerTripStart divbtnTripStart_' + data.ContactAddressId + '"><a class="btn btn-primary btn-sm" onclick="Bizgaze.Apps.Crm.Employees.Components.EmployeeRoute.Instance().saveTrip(' + data.ContactAddressId + ',\'' + data.routeVersionGuid + '\',\'Started\',1,0,' + data.tripId + ')">Start</a></div>' +
- '<div class="text-center ' + isCanceled1 + ' divbtnTripCancel_' + data.contactAddressId + '"><a class="btn btn-warning btn-sm" onclick="Bizgaze.Apps.Crm.Employees.Components.EmployeeRoute.Instance().saveTrip(' + data.contactAddressId + ',\'' + data.routeVersionGuid + '\',\'Canceled\',1,0,' + data.tripId + ')">Cancel</a>' +
- '<a class="btn btn-info btn-sm ' + isArrived1 + ' btnTripTrackStatus btnTripTrackStatus_Arrived" onclick="Bizgaze.Apps.Crm.Employees.Components.EmployeeRoute.Instance().saveTrip(' + data.contactAddressId + ',\'' + data.routeVersionGuid + '\',\'Completed\',1,0,' + data.tripId + ')">Arrived</a>' +
- '<a class="btn btn-primary ' + isCompleted1 + ' divbtnTripCompleted_' + data.contactAddressId + ' btnTripTrack_Completed btn-sm" onclick="Bizgaze.Apps.Crm.Employees.Components.EmployeeRoute.Instance().saveTrip(' + data.contactAddressId + ',\'' + data.routeVersionGuid + '\',\'Completed\',1,0,' + data.tripId + ')">Done</a>' +
- '</span></div>' +
- '<p class="pull-right"><a href="javascript:;" class="btn btn-twitter1 btn-sm" onclick="Bizgaze.Apps.Crm.Employees.Components.EmployeeRoute.Instance().loadNavigate(\'' + data.lat + '\',\'' + data.lng + '\')"><span class=""> Navigate </span></a></p>' +
- '</div>');
- infoWindow.open(map, marker);
- });
- }
- else {
- infoWindow.open(map, marker);
- }
- });
- })(marker, data);
- map.setCenter(latlngbounds.getCenter());
- map.fitBounds(latlngbounds);
- if (i != 0) {
- var count = i;
- var htm = "";
- if (markerdata[i].lat != 0 && markerdata[i].lng != 0) {
- instance.calcDistance(markerdata[i].point1, markerdata[i].point2, function (dist) {
- htm += '<span>' + dist[0].distance + ' KM Away.</span><br>' +
- '<span>' + dist[0].duration + ' Minutes to reach</span><hr>';
- });
- }
- var completed = "";
- if (data.tripStatus == "Completed")
- completed = '<span class="label bg-primary pull-right"><i class="fa fa-check"></i></span>';
- if (data.tripStatus == "Canceled")
- completed = '<span class="label bg-danger pull-right"><i class="fa fa-times"></i></span>';
- var html = '<div class="col-sm-2 routeUser-item addRoute-item">' +
- '<section class="panel panel-default">' +
- '<div class="text-center wrapper bg-light lt">' +
- '<span class="fa-stack pull-left m-l-xs">' +
- '<i class="fa fa-circle text-success fa-stack-2x"></i>' +
- '<span class="text-white fa-stack-1x">' + markerdata[count].routeIndex + '</span>' +
- '</span> ' +
- '<strong class="m-r-xs">' + markerdata[count].contactName + '</strong><br>' +
- '</div>' +
- '' + completed + '' +
- '<div class="text-center">';
- html = html + htm;
- html += '</div>';
- var isStarted = "";
- var isCompleted = "hidden";
- var isCanceled = "hidden";
- var isArrived = "hidden";
- var IsCreate = "hidden";
- var IsDetails = "hidden";
- if (data.tripStatus == "Started") {
- isStarted = 'hidden';
- isArrived = '';
- isCanceled = '';
- if (data.activetripTrackStatus == "2") {
- isArrived = 'hidden';
- isCompleted = '';
- }
- }
- if (data.tripStatus == "Completed") {
- isCompleted = 'hidden';
- isStarted = 'hidden';
- isCanceled = 'hidden';
- IsCreate = '';
- IsDetails = '';
- }
- if (data.tripStatus == "Canceled") {
- isCanceled = 'hidden';
- isArrived = 'hidden';
- isStarted = 'hidden';
- }
- if ((instance._tripTrackStatusIds == 2 || instance._tripTrackStatusIds == 1) && data.tripStatus != "Completed") {
- isStarted = 'hidden';
- isArrived = '';
- isCanceled = '';
- }
- if ($('#hfTripGroupStatus').val() == "Started" && data.tripStatus == "") {
- isStarted = 'hidden';
- isArrived = '';
- isCanceled = '';
- }
- html += '<div class="text-center m-b-xs">' +
- '<a title="Options" class="btn btn-sm btn-default ' + IsCreate + '" data-toggle="dropdown" data-target=".divbizgaze_createOption_' + markerdata[count].ContactAddressId + '">' +
- '<small class="text-sm block">Create</small>' +
- '</a>' +
- ' <a href="#" class="btn btn-sm btn-default ' + IsDetails + '" onclick=" Bizgaze.Apps.Crm.Employees.Components.EmployeeRoute.Instance().showCustomerDetails(' + markerdata[count].contactId + ',' + '\'' + markerdata[count].contactName + '\')">Details</a>';
- html += '<span class="btnCustomerTripComplete"><span class="' + isStarted + ' btnCustomerTripStart divbtnTripStart_' + data.ContactAddressId + '"><a class="btn btn-primary btn-sm" onclick="Bizgaze.Apps.Crm.Employees.Components.EmployeeRoute.Instance().saveTrip(' + markerdata[count].ContactAddressId + ',\'' + markerdata[count].routeVersionGuid + '\',\'Started\',1,0,' + data.tripId + ')">Start</a></span>' +
- '<span class="' + isCanceled + ' divbtnTripCancel_' + markerdata[count].ContactAddressId + '"><a class="btn btn-warning btn-sm" onclick="Bizgaze.Apps.Crm.Employees.Components.EmployeeRoute.Instance().saveTrip(' + markerdata[count].ContactAddressId + ',\'' + markerdata[count].routeVersionGuid + '\',\'Canceled\',1,0,' + data.tripId + ')">Cancel</a>' +
- '<a class="btn btn-info btn-sm ' + isArrived + ' btnTripTrackStatus btnTripTrackStatus_Arrived" onclick="Bizgaze.Apps.Crm.Employees.Components.EmployeeRoute.Instance().saveTrip(' + markerdata[count].ContactAddressId + ',\'' + markerdata[count].routeVersionGuid + '\',\'Completed\',1,0,' + data.tripId + ')">' + instance._bizgazegps_btnText + '</a>' +
- '<a class="btn btn-primary ' + isCompleted + ' divbtnTripCompleted_' + markerdata[count].ContactAddressId + ' btnTripTrack_Completed btn-sm" onclick="Bizgaze.Apps.Crm.Employees.Components.EmployeeRoute.Instance().saveTrip(' + markerdata[count].ContactAddressId + ',\'' + markerdata[count].routeVersionGuid + '\',\'Completed\',1,0,' + data.tripId + ')">Done</a>' +
- '</span>' +
- '<div id="divbizgaze_createOption" class="dropup divbizgaze_createOption_' + markerdata[count].ContactAddressId + '">' +
- '<section class="dropdown-menu pull-right col-sm-5 col-xs-12 m-l-n">' +
- '<div class="text-center">' +
- '<div class="text-center nav-item-body">' +
- '<div class="col-xs-4 no-padder">' +
- ' <div class="text-center nav-item-body">' +
- '<a href="javascript:;" onclick="Bizgaze.Apps.Crm.Employees.Components.EmployeeRoute.Instance().creates(2,' + markerdata[count].contactId + ')">' +
- '<div class="text-center"><div class="thumb-sm avatar b-3x m-t-sm rounded-cornor "> ' +
- '<img src="/Tenants/_default/icons/Salesorder.png"> </div>' +
- '<div style="height:36px; overflow:hidden;">Order</div></div></a></div></div>' +
- '<div class="col-xs-4 no-padder">' +
- ' <div class="text-center nav-item-body">' +
- '<a href="javascript:;" onclick="Bizgaze.Apps.Crm.Employees.Components.EmployeeRoute.Instance().creates(3,' + markerdata[count].contactId + ')">' +
- '<div class="text-center"><div class="thumb-sm avatar b-3x m-t-sm rounded-cornor "> ' +
- '<img src="/wwwroot\_files\appicons\receipts.png"> </div>' +
- '<div style="height:36px; overflow:hidden;">Receipt</div></div></a></div></div>' +
- '</div>' +
- '</section>' +
- '</div>' +
- '</div>' +
- '</section></div>';
- $(".routeUser-item:last").after(html);
- }
- let _numberHelper = Unibase.Core.Helpers.NumberHelper.Instance();
- var totalDistance = 0;
- var totalDuration = 0;
- if (data.distance == 0) {
- instance.calcDistance(data.point1, data.point2, function (dist) {
- totalDistance += parseFloat(dist[0].distance);
- totalDuration += parseFloat(dist[0].duration);
- $("#bizTotalKm").text(_numberHelper.roundNumber(totalDistance, 1));
- $(".lbDuration").text(totalDuration);
- });
- }
- }
- var iconsetngs = {
- path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW
- };
- var polylineoptns = {
- strokeOpacity: 0.8,
- strokeWeight: 3,
- map: map,
- strokeColor: "#008000",
- icons: [{
- repeat: '70px',
- icon: iconsetngs,
- offset: '100%',
- }]
- };
- let polyline = new google.maps.Polyline(polylineoptns);
- var z = 0;
- var path = [];
- path[z] = polyline.getPath();
- for (var i = 0; i < markers.length; i++) {
- var pos = markers[i];
- var marker = new google.maps.Marker({
- position: pos,
- map: map,
- });
- path[z].push(marker.getPosition());
- }
- });
- }
- createTrip(tripGroupId) {
- }
- creates(status, contactId) {
- let instance = this;
- ;
- Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getOrganizationById(contactId).then(function (response) {
- var spocId = contactId;
- var OrgGroupId = 0;
- if (response.result != null) {
- spocId = response.result.DefaultOrgContactId;
- OrgGroupId = response.result.OrganizationGroupId;
- }
- var url = '';
- if (status == "1") {
- if (response.result != null)
- url = '/bizgazeapp/organization/CreateOrganization?RefGuid=&Id=' + OrgGroupId;
- else {
- url = '/bizgazeapp/spoc/Createspoc';
- }
- }
- else if (status == "2")
- url = '/bizgazetransact/Orders/CreateSalesOrderByOrg?OrgId=' + contactId;
- else if (status == "3") {
- if (response.result != null)
- url = '/bizgazetransact/Payments/CreateReceiptByOrgGuid?OrgGuid=' + response.result.VersionGuid;
- else
- url = '/bizgazetransact/Payments/CreateReceipt?paymentType=Receipt&contactId=' + contactId;
- }
- });
- }
- loadRoutes() {
- let instance = this;
- instance.getMeterReading();
- Bizgaze.Apps.Routes.Managers.RouteManager.Instance().getMyRoutes().then(function (response) {
- var startedRoute = 0;
- var cmbRoutes = document.getElementById('cmbRoutes');
- $('#cmbRoutes').empty();
- var defaultOpt = document.createElement("option");
- defaultOpt.text = "--Select Route--";
- defaultOpt.value = "";
- cmbRoutes.append(defaultOpt);
- for (var i = 0; i < response.result.length; i++) {
- var opt = document.createElement("option");
- opt.text = response.result[i].RouteName;
- opt.value = response.result[i].RouteDefinitionId;
- cmbRoutes.append(opt);
- }
- if (response.result.length == 1) {
- for (var j = 0; j < response.result.length; j++) {
- var routeName = response.result[j].RouteName;
- var routeId = response.result[j].RouteDefinitionId;
- $("#lbRouteName").text(routeName);
- $("#lbRouteAssignedEmployee").text(response.result[j].RouteAssignedEmployee);
- instance.loadRouteMap(routeId);
- $('#hfSeletedRouteId').val(routeId);
- }
- $(".divcmdroutes").addClass('hidden');
- $(".divRouteName").removeClass('hidden');
- }
- else {
- $(".divcmdroutes").removeClass('hidden');
- $(".divRouteName").addClass('hidden');
- if (startedRoute != 0)
- instance.loadRouteMap(startedRoute);
- }
- });
- }
- showCustomerDetails(contactId, orgname) {
- let instance = this;
- instance.loadInvoiceDetails(contactId, orgname);
- instance.loadOrderDetails(contactId);
- $('#divCusomerDetails').modal();
- }
- loadInvoiceDetails(customerId, orgname) {
- let instance = this;
- $(".Bizgaze_Crm_Route_customer_addedrow").each(function () {
- $(this).remove();
- });
- Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getPendingSalesInvoicesByContactId(Number(customerId), false).then(function (response) {
- if (response.result.length > 0) {
- var html = '<div class="Bizgaze_Crm_Route_customer_addedrow">' +
- '<label>Invoice Details</label>' +
- '<table class="table table-bordered text-sm " >' +
- ' <thead> ' +
- '<tr><th class="col-sm-2">Invoice No</th>' +
- '<th class="col-sm-4">Invoice Date</th>' +
- '<th class="col-sm-2">Total Amount</th>' +
- '<th class="col-sm-4">Balance Amount</th>' +
- '</tr>' +
- '</thead>' +
- '<tr class="bizgazecrm_customer_invoice_row_' + customerId + '"></tr>' +
- '</table>' +
- '<label>Order Details</label>' +
- '<table class="table table-bordered text-sm">' +
- '<tr><th class="col-sm-6">Last Order No</th>' +
- '<th class="col-sm-6">Date</th>' +
- '</tr>' +
- '<tr class="bizgazecrm_customer_Order_row_' + customerId + '"></tr>' +
- '</table>' +
- '<div class="btn-group col-sm-2 form-group pull-right" id="btn-onOff">' +
- '</div>' +
- '</div>';
- $(".divRoutesCustomerlist:last").after(html);
- var data = [];
- if (response.result.length == 0) {
- $(".invoiceNotFount").removeClass('hidden');
- var html = '<tr class="divRoutesCustomerlist-addeditem divRoutesCustomerlist invoiceNotFount">' +
- '<td class="col-sm-12" colspan="5" align="center">' + 'No invoices Found!' + '</td>' + '</tr>';
- $(".bizgazecrm_customer_invoice_row_" + customerId + ":last").after(html);
- }
- for (var i = 0; i < response.result.length; i++) {
- data = response.result[i];
- instance.addInvoiceRow(data, customerId);
- }
- $(".invoiceNotFount").addClass('hidden');
- }
- else {
- $(".divRoutesCustomerlist").html('');
- var html = '<tr class="divRoutesCustomerlist-addeditem divRoutesCustomerlist">' +
- '<td class="col-sm-12" colspan="5" align="center">' + 'No invoices Found!' + '</td>' + '</tr>';
- $(".divRoutesCustomerlist:last").after(html);
- }
- });
- }
- addInvoiceRow(data, customerId) {
- let _dateTimeHelper = Unibase.Platform.Helpers.DateTimeHelper.Instance();
- let _numberHelper = Unibase.Core.Helpers.NumberHelper.Instance();
- var html = '';
- var balAmount = data.TotalAmount - data.PaidAmount;
- if (balAmount != 0) {
- html = '<tr class="bizgazecrm_customer_invoice_row bizgazecrm_customer_invoice_addedrow">' +
- '<td class="col-sm-2">' + data.InvoiceNo + '</td>' +
- '<td class="col-sm-4">' + _dateTimeHelper.formatLocalDate1(data.InvoiceDate, '') + '</td>' +
- '<td class="col-sm-2 text-right">' + _numberHelper.roundNumber(data.TotalAmount, 2) + '</td>' +
- '<td class="col-sm-4 text-right">' + _numberHelper.roundNumber(balAmount, 2) + '</td>' +
- '</tr>';
- }
- else {
- html = '<tr class="bizgazecrm_customer_invoice_row bizgazecrm_customer_invoice_addedrow">' +
- '<td class="col-sm-12" colspan="5" align="center">' + 'Data Not Found!' + '</td>' + '</tr>';
- }
- $(".bizgazecrm_customer_invoice_row_" + customerId + ":last").after(html);
- }
- loadOrderDetails(customerId) {
- let instance = this;
- $(".bizgazecrm_customer_Order_addedrow").each(function () {
- $(this).remove();
- });
- Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getLastOrder(customerId).then(function (response) {
- if (response.result != null) {
- instance.addOrderRow(response.result, customerId);
- }
- if (response.result.OrderNo == 0) {
- var html = '<tr class="divRoutesCustomerlist-addeditem divRoutesCustomerlist">' +
- '<td class="col-sm-12" colspan="5" align="center">' + 'No orders Found!' + '</td>' + '</tr>';
- $(".bizgazecrm_customer_Order_row_" + customerId + ":last").after(html);
- }
- });
- }
- addOrderRow(data, customerId) {
- let _dateTimeHelper = Unibase.Platform.Helpers.DateTimeHelper.Instance();
- var html = '';
- if (data.OrderNo != null) {
- html = '<tr class="bizgazecrm_customer_Order_row bizgazecrm_customer_Order_addedrow">' +
- '<td class="col-sm-6">' + data.OrderNo + '</td>' +
- '<td class="col-sm-6">' + _dateTimeHelper.formatLocalDate(data.OrderDate) + '</td>' +
- '</tr>';
- }
- else {
- html = '<tr class="bizgazecrm_customer_Order_row bizgazecrm_customer_Order_addedrow">' +
- '<td class="col-sm-12" colspan="2" align="center">' + 'Data Not Found!' + '</td>' + '</tr>';
- }
- $(".bizgazecrm_customer_Order_row_" + customerId + ":last").after(html);
- }
- CheckGpsStatus() {
- }
- calcDistance(p1, p2, callback) {
- var distanceArrary = [];
- var service = new google.maps.DistanceMatrixService();
- service.getDistanceMatrix({
- origins: [p1],
- destinations: [p2],
- travelMode: google.maps.TravelMode.DRIVING,
- unitSystem: google.maps.UnitSystem.METRIC,
- avoidHighways: false,
- avoidTolls: false
- }, function (response, status) {
- if (status == google.maps.DistanceMatrixStatus.OK && response.rows[0].elements[0].status != "ZERO_RESULTS") {
- var distance = response.rows[0].elements[0].distance.text;
- var duration = response.rows[0].elements[0].duration.text;
- var dis = distance.split(' ');
- var dur = duration.split(' ');
- distanceArrary.push({ distance: dis[0], duration: dur[0] });
- callback(distanceArrary);
- }
- });
- }
- loadData() {
- let instance = this;
- Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getCustomerLocations().then(function (response) {
- var markerdata = [];
- var lat = instance._bizgaze_latd;
- var lgt = instance._bizgaze_lgtd;
- var distance = [];
- var mapOptions = {
- center: new google.maps.LatLng(lat, lgt),
- zoom: 6,
- mapTypeId: google.maps.MapTypeId.ROADMAP
- };
- var map = new google.maps.Map(document.getElementById("NavigateMap"), mapOptions);
- var infoWindow = new google.maps.InfoWindow();
- var lat_lng = new Array();
- var latlngbounds = new google.maps.LatLngBounds();
- for (var i = 0; i < response.result.length; i++) {
- var model = response.result[i];
- var p1 = new google.maps.LatLng(lat, lgt);
- var p2 = new google.maps.LatLng(model.Latitude, model.Longitude);
- markerdata.push({ lat: model.Latitude, lng: model.Longitude, userName: model.UserName, distance: 0, point1: p1, point2: p2 });
- }
- var markers = markerdata;
- var lan1 = "";
- var lat1 = "";
- for (var i = 0; i < markers.length; i++) {
- var data = markers[i];
- var myLatlng = new google.maps.LatLng(data.lat, data.lng);
- lat_lng.push(myLatlng);
- var icon = "";
- if (i == 0) {
- icon = "yellow";
- }
- else {
- icon = "green";
- }
- icon = "http://maps.google.com/mapfiles/ms/icons/" + icon + ".png";
- var image = {
- url: icon,
- origin: new google.maps.Point(0, 0),
- anchor: new google.maps.Point(25, 25),
- scaledSize: new google.maps.Size(50, 50)
- };
- var marker = new google.maps.Marker({
- position: myLatlng,
- map: map,
- draggable: true,
- animation: google.maps.Animation.DROP,
- icon: image,
- title: data.title
- });
- latlngbounds.extend(myLatlng);
- if (i == 0) {
- lan1 = markers[0].lng + "/";
- lat1 = markers[0].lat + "+";
- }
- var lan2 = data.lat + "+";
- var lat2 = data.lng + "/";
- var url = "https://www.google.co.in/maps/dir/" + lat1 + lan1 + lan2 + lat2;
- (function (marker, data) {
- google.maps.event.addListener(marker, "click", function (e) {
- if (data.distance == 0) {
- instance.calcDistance(data.point1, data.point2, function (dist) {
- data.distance = dist[0].distance;
- infoWindow.setContent('<strong class="block">' + data.userName + '</strong>' + '<span class="">Distance: ' + dist[0].distance + '</span>' +
- '<div class="">Duration: ' + dist[0].duration + '</div>' +
- '<p><a href="#" class="btn" onclick="gpsTrackNavigateDirection.loadNavigate(\'' + url + '\')">Click here</a></p>');
- infoWindow.open(map, marker);
- });
- }
- else {
- infoWindow.open(map, marker);
- }
- });
- })(marker, data);
- map.setCenter(latlngbounds.getCenter());
- map.fitBounds(latlngbounds);
- }
- });
- }
- loadNavigate(lat, lang) {
- var map = new google.maps.Map(document.getElementById('map'), {
- zoom: 4,
- center: { lat: lat, lng: lang }
- });
- var pathname = (window.location.pathname);
- window.open(map, '', 'width=800,height=450,resizable=yes,dependent,screenx=80,screeny=80,left=80,top=20,scrollbars=no');
- }
- getAddresss(id, lat, lng) {
- let instance = this;
- var url = "https://maps.googleapis.com/maps/api/geocode/json?latlng=" + lat + "," + lng;
- var xhr = instance.createCORSRequest('Get', url);
- if (!xhr) {
- bootbox.alert('CORS not supported');
- return;
- }
- xhr.onload = function () {
- var text = xhr.responseText;
- var json = JSON.parse(text);
- $("#pac-inputs").val(json.results[0].formatted_address);
- document.getElementById(id).innerHTML = json.results[0].formatted_address;
- };
- xhr.onerror = function () {
- bootbox.alert('Woops, there was an error making the request.');
- };
- xhr.send();
- }
- createCORSRequest(method, url) {
- let XDomainRequest;
- var xhr = new XMLHttpRequest();
- if ("withCredentials" in xhr) {
- xhr.open(method, url, true);
- }
- else if (typeof XDomainRequest != "undefined") {
- xhr = new XDomainRequest();
- xhr.open(method, url);
- }
- else {
- xhr = null;
- }
- return xhr;
- }
- static Instance() {
- if (this.instance === undefined) {
- this.instance = new EmployeeRoute();
- }
- return this.instance;
- }
- }
- Components.EmployeeRoute = EmployeeRoute;
- })(Components = Employees.Components || (Employees.Components = {}));
- })(Employees = Crm.Employees || (Crm.Employees = {}));
- })(Crm = Apps.Crm || (Apps.Crm = {}));
- })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
- })(Bizgaze || (Bizgaze = {}));
|