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.

mileagesetting.js 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. var Bizgaze;
  2. (function (Bizgaze) {
  3. let Apps;
  4. (function (Apps) {
  5. let Transact;
  6. (function (Transact) {
  7. let Controles;
  8. (function (Controles) {
  9. let ItemDetails;
  10. (function (ItemDetails) {
  11. class Mileagesetting extends Unibase.Platform.Core.BaseComponent {
  12. cssFiles() {
  13. throw new Error("Method not implemented.");
  14. }
  15. jsFiles() {
  16. return ['apps/transact/managers/inventory/itemmanager.js'];
  17. }
  18. html(id, containerid) {
  19. throw new Error("Method not implemented.");
  20. }
  21. load(id, containerid, callback) {
  22. throw new Error("Method not implemented.");
  23. }
  24. init(containerid) {
  25. var instance = this;
  26. if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length > 0) {
  27. for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) {
  28. if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_itemid") {
  29. if (obj.Value != null)
  30. instance.itemid = Number(obj.Value);
  31. }
  32. }
  33. }
  34. this.render(containerid);
  35. $("#txtMilage_Recommended_Number").keypress(function (e) {
  36. if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
  37. return false;
  38. }
  39. });
  40. $("#txtMilage_Duration_Number").keypress(function (e) {
  41. if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
  42. return false;
  43. }
  44. });
  45. $("#btnMileageSettings").click(function () {
  46. if ($('#btnMileageSettings').prop('checked') == true) {
  47. $(".div_mileage").removeClass("hidden");
  48. }
  49. else {
  50. $(".div_mileage").addClass("hidden");
  51. $("#txtMilage_Recommended_Number").val(0);
  52. $("#cmbMileage_Duration_Tenure").val(0);
  53. $("#txtMilage_Duration_Number").val(0);
  54. instance.saveMileage();
  55. }
  56. });
  57. $("#btnMileageSettingsSave").click(function () {
  58. instance.saveMileage();
  59. });
  60. this.loadMileage();
  61. }
  62. render(containerid) {
  63. var instance = this;
  64. $("." + containerid).empty();
  65. var html = `<div class="card"><div class="bg-white card-header">
  66. <div class="pull-right">
  67. <label class="switch pull-right"><input class="WarrantySettings" type="checkbox" id="btnMileageSettings"><span></span></label>
  68. </div>
  69. <strong class="biz-highlight-bg-color">Mileage Settings</strong>
  70. </div>
  71. <div class="card-body div_mileage"><div class="row">
  72. <div class="col-sm-5">
  73. <div class="form-group floating-label-form-group floating-label-form-group-with-value">
  74. <label> milage as per the manufacturer</label>
  75. <input id="txtMilage_Recommended_Number" value="0" placeholder="milage as per the manufacturer" class="form-control required input-lg" type="text">
  76. </div>
  77. </div>
  78. <div class="col-sm-1 m-t">
  79. <h3 class="text-center">
  80. OR
  81. </h3>
  82. </div>
  83. <div class="col-sm-3">
  84. <div class="form-group floating-label-form-group floating-label-form-group-with-value">
  85. <label> Max Duration </label>
  86. <input id="txtMilage_Duration_Number" value="0" placeholder="Max Duration" class="form-control required input-lg" type="text">
  87. </div>
  88. </div>
  89. <div class="col-sm-3">
  90. <div class="form-group m-t-lg ">
  91. <label class="control-label">
  92. Tenure
  93. </label>
  94. <select id="cmbMileage_Duration_Tenure" class="form-control inline" style="width: 100px;">
  95. <option value="1">Days</option>
  96. <option value="2">Month</option>
  97. <option value="3">Year</option>
  98. </select>
  99. </div>
  100. </div></div>
  101. <div class="text-right">
  102. <button id="btnMileageSettingsSave" class="btn btn-info">
  103. Save settings
  104. </button>
  105. </div>
  106. </div>`;
  107. $("." + containerid).append(html);
  108. }
  109. loadMileage() {
  110. var instance = this;
  111. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile('apps/transact/managers/inventory/itemmanager.js', function () {
  112. Bizgaze.Apps.Transact.Managers.ItemManager.Instance().getItemWarranty(instance.itemid).then(function (response) {
  113. for (let i = 0; i < response.result.length; i++) {
  114. if (response.result[i].SettingName == "BizgazeTransact_Items_Milage_HasMilage") {
  115. if (response.result[i].SettingValue == "False") {
  116. $("#btnMileageSettings").prop("checked", false);
  117. }
  118. else {
  119. $("#btnMileageSettings").prop("checked", true);
  120. }
  121. }
  122. if (response.result[i].SettingName == "BizgazeTransact_Items_Milage_Recommended_Number") {
  123. $("#txtMilage_Recommended_Number").val(response.result[i].SettingValue);
  124. }
  125. if (response.result[i].SettingName == "BizgazeTransact_Items_Milage_Duration_Number") {
  126. $("#txtMilage_Duration_Number").val(response.result[i].SettingValue);
  127. }
  128. if (response.result[i].SettingName == "BizgazeTransact_Items_Milage_Duration_Tenure") {
  129. $("#cmbMileage_Duration_Tenure").val(response.result[i].SettingValue);
  130. }
  131. }
  132. if ($('#btnMileageSettings').prop('checked') == false) {
  133. $(".div_mileage").addClass("hidden");
  134. }
  135. else {
  136. $(".div_mileage").removeClass("hidden");
  137. }
  138. });
  139. });
  140. }
  141. saveMileage() {
  142. var instance = this;
  143. var itemId = instance.itemid;
  144. var hasMilage = $('#btnMileageSettings').prop('checked');
  145. var mileageRecommendNumber = $("#txtMilage_Recommended_Number").val();
  146. var mileageDuration = $("#txtMilage_Duration_Number").val();
  147. var mileageDurationTenure = $("#cmbMileage_Duration_Tenure").val();
  148. var postData = {
  149. ItemId: itemId,
  150. Milage_HasMilage: hasMilage,
  151. Milage_Recommended_Number: mileageRecommendNumber,
  152. Milage_Duration_Number: mileageDuration,
  153. Milage_Duration_Tenure: mileageDurationTenure
  154. };
  155. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile('apps/transact/managers/inventory/itemmanager.js', function () {
  156. Bizgaze.Apps.Transact.Managers.ItemManager.Instance().saveMileage(postData).then(function (response) {
  157. var detail_instance = Unibase.Themes.Compact.Components.Details.Instance();
  158. var containerid = $("._bizgaze_detail_container:visible").attr("id");
  159. var _installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  160. var portletid = detail_instance.unibase_core_activeportletid;
  161. detail_instance.loadWidgets(_installedAppId, portletid, "#" + containerid + "");
  162. MessageHelper.Instance().showSuccess(response.message, '');
  163. });
  164. });
  165. }
  166. static Instance() {
  167. if (this._instance === undefined)
  168. this._instance = new Mileagesetting();
  169. return this._instance;
  170. }
  171. }
  172. ItemDetails.Mileagesetting = Mileagesetting;
  173. })(ItemDetails = Controles.ItemDetails || (Controles.ItemDetails = {}));
  174. })(Controles = Transact.Controles || (Transact.Controles = {}));
  175. })(Transact = Apps.Transact || (Apps.Transact = {}));
  176. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  177. })(Bizgaze || (Bizgaze = {}));