Built files from Bizgaze WebServer
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

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 = {}));