Built files from Bizgaze WebServer
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

meterreading.js 13KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. var Bizgaze;
  2. (function (Bizgaze) {
  3. let Apps;
  4. (function (Apps) {
  5. let Crm;
  6. (function (Crm) {
  7. let Employees;
  8. (function (Employees) {
  9. let Components;
  10. (function (Components) {
  11. class MeterReading extends Unibase.Platform.Core.BaseComponent {
  12. constructor() {
  13. super(...arguments);
  14. this._bizgazegps_widget_gpsverification_Index = 0;
  15. this._bizgazegps_widget_CallBack = 0;
  16. this._meterTripId = 0;
  17. }
  18. cssFiles() {
  19. return [];
  20. }
  21. jsFiles() {
  22. return ['apps/transact/managers/expenses/expensemanager.js', 'apps/crm/employees/managers/gpslocationmanager.js', 'apps/crm/employees/components/w_employeeroute.js'];
  23. }
  24. html(id, containerid) {
  25. var html = `<input type="hidden" value="0" id="hfMeterStatus" />
  26. <input type="hidden" id="hfMeterReadingId" value="0" />
  27. <input type="hidden" id="hfStartDate" value="0" />
  28. <input type="hidden" id="hfStartReading" value="0" /><input type="hidden" id="hfVehicleId" value="0" />
  29. <header class="header b-b bg-green-lt">
  30. <p class="h4">
  31. Meter Reading
  32. </p>
  33. <div class="pull-right btn-group">
  34. <a class="btn btn-sm mr-auto btn-close" href="javascript:;" title="close" id="BtnMeterClose"><i class="fa fa-times"></i></a>
  35. </div>
  36. </header>
  37. <section class="scrollable">
  38. <div class="wrapper clear">
  39. <div class="loadVehicleType hidden">
  40. <div class="row1">
  41. <div class="col-sm-12">
  42. <div class="form-group floating-label-form-group floating-label-form-group-with-value">
  43. <label for="cmdVehicleType">Vehicle Type<span class="text-danger"> *</span></label>
  44. <select id="cmdVehicleType" data-required="true" class="form-control"></select>
  45. </div>
  46. </div>
  47. </div>
  48. <div class="row1">
  49. <div class="col-sm-12">
  50. <div class="form-group floating-label-form-group">
  51. <label for="lblStartReading">Start Reading<span class="text-danger"> *</span></label>
  52. <input type="text" class="form-control required" id="txtStartReading" maxlength="50" placeholder="Start reading..." />
  53. </div>
  54. </div>
  55. </div>
  56. </div>
  57. <div class="loadCalim1 hidden">
  58. <div class="row1">
  59. <div class="col-sm-12">
  60. <div class="form-group floating-label-form-group floating-label-form-group-with-value">
  61. <label for="cmdCalimType">Expense Type<span class="text-danger"> *</span></label>
  62. <select id="cmdCalimType" data-required="true" class="form-control"></select>
  63. </div>
  64. </div>
  65. </div>
  66. <div class="row1">
  67. <div class="col-sm-12">
  68. <div class="form-group floating-label-form-group">
  69. <label for="lblEndReading">End Reading<span class="text-danger"> *</span></label>
  70. <input type="text" class="form-control required" id="txtEndReading" maxlength="50" placeholder="End reading..." />
  71. </div>
  72. </div>
  73. </div>
  74. </div>
  75. </div>
  76. </section>
  77. <footer class="footer">
  78. <a href="javascript:;" id="btnSaveMeterReading" class="btn btn-primary btn-lg btn-block"> Save Changes </a>
  79. </footer>`;
  80. return html;
  81. }
  82. load(id, containerid, callback) {
  83. var instance = this;
  84. $("#hfMeterStatus").val(instance.meterStatus);
  85. if ($("#hfMeterStatus").val() == "1") {
  86. $(".loadVehicleType").removeClass("hidden");
  87. instance.loadVehicleType();
  88. }
  89. else {
  90. $(".loadCalim1").removeClass("hidden");
  91. instance.loadCalim1();
  92. }
  93. $("#btnSaveMeterReading").click(function () {
  94. instance.saveTripMeterReading();
  95. });
  96. $("#BtnMeterClose").click(function () {
  97. $('#' + containerid).modal('hide');
  98. $('#' + containerid).remove();
  99. });
  100. }
  101. loadPop(meterStatus, meterReadingId, meterTripId, callback) {
  102. var instance = this;
  103. instance.navigationHelper.popup(0, '', Bizgaze.Apps.Crm.Employees.Components.MeterReading.Instance(), null, Unibase.Platform.Helpers.Size.DockLeft);
  104. instance._bizgazegps_widget_CallBack = callback;
  105. instance._meterTripId = meterTripId;
  106. instance.meterStatus = meterStatus;
  107. }
  108. GetMeterReading(meterReadingId) {
  109. Bizgaze.Apps.Crm.Employees.Managers.GpsLocationmanager.Instance().GetMeterReading(meterReadingId).then(function (response) {
  110. if (response.result != null) {
  111. var data = response.result;
  112. $("#hfMeterReadingId").val(data.meterReadingId);
  113. $("#hfStartDate").val(data.startDate);
  114. $("#hfStartReading").val(data.startReading);
  115. $("#hfVehicleId").val(data.vehicleId);
  116. }
  117. });
  118. }
  119. loadVehicleType() {
  120. Bizgaze.Apps.Transact.Managers.Expenses.ExpenseManager.Instance().getVehicleType().then(function (response) {
  121. var cmdVehicleTypes = document.getElementById('cmdVehicleType');
  122. $('#cmdVehicleType').empty();
  123. var defaultOpt = document.createElement("option");
  124. defaultOpt.text = "--Select--";
  125. defaultOpt.value = "";
  126. cmdVehicleTypes.append(defaultOpt);
  127. for (var i = 0; i < response.result.length; i++) {
  128. var opt = document.createElement("option");
  129. opt.text = response.result[i].vehiclename;
  130. opt.value = response.result[i].vehicleid;
  131. cmdVehicleTypes.append(opt);
  132. }
  133. });
  134. }
  135. loadCalim1() {
  136. Bizgaze.Apps.Transact.Managers.Expenses.ExpenseManager.Instance().getDraftExpenseByContact().then(function (response) {
  137. var cmdCalimType = document.getElementById('cmdCalimType');
  138. $('#cmdCalimType').empty();
  139. var defaultOpt = document.createElement("option");
  140. defaultOpt.text = "--Select--";
  141. defaultOpt.value = "";
  142. cmdCalimType.append(defaultOpt);
  143. for (var i = 0; i < response.result.length; i++) {
  144. var opt = document.createElement("option");
  145. opt.text = response.result[i].expensename;
  146. opt.value = response.result[i].expenseid;
  147. cmdCalimType.append(opt);
  148. }
  149. });
  150. }
  151. saveTripMeterReading() {
  152. let instance = this;
  153. let StartDate;
  154. var StartReading = $("#txtStartReading").val();
  155. var vehicleTypeId = Number($("#cmdVehicleType").val());
  156. if ($("#hfMeterReadingId").val() != 0) {
  157. StartReading = $("#hfStartReading").val();
  158. StartDate = $("#hfStartDate").val();
  159. vehicleTypeId = Number($("#hfVehicleId").val());
  160. }
  161. var tripGroupStatus = "";
  162. if ($("#hfMeterReadingId").val() == 0)
  163. tripGroupStatus = 'Started';
  164. else if ($("#hfTripGroupStatus").val() == "Started") {
  165. tripGroupStatus = 'Completed';
  166. }
  167. var tripStatus = 'Started';
  168. if (instance._meterTripId != 0)
  169. tripStatus = 'Completed';
  170. if ($('#hfSeletedRouteId').val() == 0) {
  171. MessageHelper.Instance().showError("RouteId is going to 0,please select one route", "");
  172. return null;
  173. }
  174. var postData = {
  175. RouteId: Number($('#hfSeletedRouteId').val()),
  176. TripGroupId: Number($("#hfTripGroupId").val()),
  177. TripGroupName: $("#hfBizgaze_GpsTripGroupName").val(),
  178. TripGroupStatus: 1,
  179. TripId: instance._meterTripId,
  180. ToAddressId: 0,
  181. RefGuid: null,
  182. TripStatus: 1,
  183. MeterReadingId: Number($("#hfMeterReadingId").val()),
  184. VehicleTypeId: vehicleTypeId,
  185. StartDate: (StartDate == undefined || StartDate == "0") ? new Date() : StartDate,
  186. EndDate: null,
  187. StartReading: parseFloat(StartReading.toString()),
  188. EndReading: $("#txtEndReading").val() == '' ? 0 : parseFloat($("#txtEndReading").val().toString()),
  189. };
  190. Bizgaze.Apps.Crm.Employees.Managers.GpsLocationmanager.Instance().saveTripMeterReading(postData).then(function (response) {
  191. var Id = response.result.MeterReadingId;
  192. var tripGroupId = response.result.TripGroupId;
  193. $("#hfTripGroupId").val(tripGroupId);
  194. var tripGroupStatus = response.result.TripGroupStatus;
  195. $("#hfTripGroupStatus").val(tripGroupStatus);
  196. $("#hfMeterReadingId").val(Id);
  197. var tripId = response.result.MeterTripId;
  198. instance._bizgazegps_widget_CallBack = tripId;
  199. if (instance._meterTripId == 0) {
  200. $(".btnStopTrip").removeClass('hidden');
  201. $(".btnStartTrip").addClass('hidden');
  202. Bizgaze.Apps.Crm.Employees.Components.EmployeeRoute.Instance().loadRouteMap($('#hfSeletedRouteId').val());
  203. }
  204. else {
  205. $(".btnStopTrip").addClass('hidden');
  206. $(".btnStartTrip").removeClass('hidden');
  207. }
  208. instance._meterTripId = tripId;
  209. $("#modal_divGpsMeterReading").modal('hide');
  210. });
  211. }
  212. static Instance() {
  213. if (this.instance === undefined) {
  214. this.instance = new MeterReading();
  215. }
  216. return this.instance;
  217. }
  218. }
  219. Components.MeterReading = MeterReading;
  220. })(Components = Employees.Components || (Employees.Components = {}));
  221. })(Employees = Crm.Employees || (Crm.Employees = {}));
  222. })(Crm = Apps.Crm || (Apps.Crm = {}));
  223. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  224. })(Bizgaze || (Bizgaze = {}));