Built files from Bizgaze WebServer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

w_adjustorderquantity.js 13KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. var Bizgaze;
  2. (function (Bizgaze) {
  3. let Apps;
  4. (function (Apps) {
  5. let Transact;
  6. (function (Transact) {
  7. let Components;
  8. (function (Components) {
  9. class AdjustOrderQuantity extends Unibase.Platform.Core.BaseComponent {
  10. constructor() {
  11. super();
  12. this.orderid = 0;
  13. }
  14. cssFiles() {
  15. return [];
  16. }
  17. jsFiles() {
  18. return ['apps/transact/managers/orders/ordermanager.js'];
  19. }
  20. html(id, containerid) {
  21. let html = `<div class="card" id="Form_AdjustOrderQuantity">
  22. <div class="card-header">
  23. <span class="biz-highlight-bg-color" id="WidgetTitle">Adjust Order Quantity</span>
  24. </div>
  25. <div id="bizgaze_SpiltErrorMessages" class="clear"></div>
  26. <div class="card-body">
  27. <form id="frmTransact_AdjustorderQty" class="hidden">
  28. <textarea id="txtAdjustorderQty" class="form-control" required rows="2" placeholder="Type some comments...."></textarea>
  29. </form>
  30. <div class="row d-flex align-items-center">
  31. <div class="col-8 ">
  32. <div id="divitemwiseQty_checkbox"> </div>
  33. </div>
  34. <div class="col-4" >
  35. <div class="d-none d-sm-block">
  36. <a href="javascript:;" id="btnAdjustorderQty" class="btn btn-primary pull-right m-r ">Adjust Order</a>
  37. </div>
  38. <div class="d-block d-sm-none">
  39. <a href="javascript:;" id="btnAdjustorderQty-mobile" class="btn btn-primary pull-right btn-xs rounded-4 m-r ">Adjust Order</a>
  40. </div>
  41. </div>
  42. </div>
  43. <div class="hidden" id="divAdjustItemwiseQty">
  44. <div class="d-none d-sm-block">
  45. <div class="row biz-widget-list-header">
  46. <div class="col-sm-4">Item Name</div>
  47. <div class="col-sm-3 p-0">Order Qty</div>
  48. <div class="col-sm-3">DC Qty</div>
  49. </div>
  50. </div>
  51. <div id="div_adjustorderitems" class= "mt-10">
  52. </div>
  53. </div>
  54. </div>
  55. </div>`;
  56. $("." + containerid).html(html);
  57. return "";
  58. }
  59. init(containerid) {
  60. var instance = this;
  61. var id = 0;
  62. var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  63. for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) {
  64. if (obj.Key === "hf_" + InstalledAppId + "_recordid") {
  65. id = Number(obj.Value.toString());
  66. }
  67. }
  68. instance.load(id, containerid, null);
  69. }
  70. load(id, containerid, callback) {
  71. var instance = this;
  72. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  73. instance._orderManager = Bizgaze.Apps.Transact.Managers.OrderManager.Instance();
  74. instance.html(id, containerid);
  75. instance.orderid = Number(id);
  76. instance.LoadtOrderItems();
  77. $("#divitemwiseQty_checkbox").html('<input type="checkbox" id="itemwiseQty_checkbox"> <label for="itemwiseQty_checkbox"> Show Item wise</label>');
  78. $("#itemwiseQty_checkbox").change(function () {
  79. if ($(this).is(":checked")) {
  80. $("#divAdjustItemwiseQty").removeClass('hidden');
  81. $("#btnAdjustorderQty").addClass('hidden');
  82. $("#btnAdjustorderQty-mobile").addClass('hidden');
  83. }
  84. else {
  85. $("#divAdjustItemwiseQty").addClass('hidden');
  86. $("#btnAdjustorderQty").removeClass('hidden');
  87. $("#btnAdjustorderQty-mobile").removeClass('hidden');
  88. }
  89. });
  90. $("#btnAdjustorderQty, #btnAdjustorderQty-mobile").click(function () {
  91. instance.AdjustOrderQty(instance.orderid);
  92. });
  93. });
  94. }
  95. LoadtOrderItems() {
  96. var instance = this;
  97. instance._orderManager.getOrderItems(instance.orderid, 0).then(function (response) {
  98. var data = response.result;
  99. var html = '<div class="row hidden add-orderitem"><br></div>';
  100. $("#div_adjustorderitems").html(html);
  101. for (var i = 0; i < data.length; i++) {
  102. var item = data[i];
  103. if (item.Quantity != item.DcQty) {
  104. html = "";
  105. html += '<div class="row align-items-center orderitem_' + item.OrderItemId + ' m-t ">' +
  106. '<div class="col-sm-4 d-flex align-items-center"> <span class="widget-list-item-main-title">' + item.ItemName + '</span></div>';
  107. html += '<div class="col-sm-3 p-0 orderitemQty d-flex align-items-center"><span class="d-block d-sm-none w-30">Order Qty</span><span class="d-block d-sm-none px-1">:</span> ' + item.Quantity + '</div>';
  108. html += '<div class="col-sm-2 orderitemDcQty d-flex align-items-center"><div class="w-60 d-flex"><span class="d-block d-sm-none w-50">DC Qty</span><span class="d-block d-sm-none px-1">:</span> ' + item.DcQty + '</div><div class="pull-right d-lg-none d-md-none" > <a class="btn btn-primary btn-xs rounded-4" href = "javascript:;" onclick = "Bizgaze.Apps.Transact.Components.AdjustOrderQuantity.Instance().AdjustOrderItemQty(' + item.OrderItemId + ');"> Adjust </a></div > </div>';
  109. html += '<div class="col-sm-3 d-none d-sm-block d-md-block d-lg-block"><a class="btn btn-primary btn-xs" href="javascript:;" onclick="Bizgaze.Apps.Transact.Components.AdjustOrderQuantity.Instance().AdjustOrderItemQty(' + item.OrderItemId + ');">Adjust</a></div>' +
  110. '</div><br>';
  111. $('.add-orderitem').after(html);
  112. }
  113. }
  114. });
  115. }
  116. AdjustOrderItemQty(orderItemid) {
  117. var instance = this;
  118. bootbox.confirm({
  119. message: "Adjusting Order Quantity to DC Quantity. Are You Sure ?",
  120. closeButton: false,
  121. buttons: {
  122. confirm: {
  123. label: 'Yes',
  124. className: 'btn-success'
  125. },
  126. cancel: {
  127. label: 'No',
  128. className: 'btn-danger'
  129. }
  130. },
  131. callback: function (result) {
  132. if (result) {
  133. instance._orderManager.adjustOrderItemQuantityByItem(orderItemid).then(function (response) {
  134. if (response.errors == null) {
  135. MessageHelper.Instance().showSuccess(response.message, 'div_message');
  136. instance.LoadtOrderItems();
  137. var detailInstance = Unibase.Themes.Compact.Components.Details.Instance();
  138. var panel = "#" + detailInstance._containerId;
  139. var obj = Unibase.Themes.Compact.Components.Details.Instance();
  140. obj._recordId = Unibase.Themes.Providers.DetailHelper.recordId;
  141. obj._installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  142. detailInstance.loadAppDefaultWidget(obj, panel, detailInstance._containerId, function () {
  143. detailInstance.loadDefaultWidgets(obj._installedAppId, panel);
  144. detailInstance.LoadApprovals(obj._recordId, obj._installedAppId);
  145. });
  146. }
  147. else {
  148. MessageHelper.Instance().showError(response.message, 'div_message');
  149. }
  150. });
  151. }
  152. }
  153. });
  154. }
  155. AdjustOrderQty(orderid) {
  156. var instance = this;
  157. bootbox.confirm({
  158. message: "Adjusting Order Quantity to DC Quantity of All Items. Are You Sure ?",
  159. closeButton: false,
  160. buttons: {
  161. confirm: {
  162. label: 'Yes',
  163. className: 'btn-success'
  164. },
  165. cancel: {
  166. label: 'No',
  167. className: 'btn-danger'
  168. }
  169. },
  170. callback: function (result) {
  171. if (result) {
  172. instance._orderManager.adjustOrderItemQuantityByOrder(orderid).then(function (response) {
  173. if (response.errors == null) {
  174. MessageHelper.Instance().showSuccess(response.message, 'div_message');
  175. instance.LoadtOrderItems();
  176. var detailInstance = Unibase.Themes.Compact.Components.Details.Instance();
  177. var panel = "#" + detailInstance._containerId;
  178. var obj = Unibase.Themes.Compact.Components.Details.Instance();
  179. obj._recordId = Unibase.Themes.Providers.DetailHelper.recordId;
  180. obj._installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  181. detailInstance.loadAppDefaultWidget(obj, panel, detailInstance._containerId, function () {
  182. detailInstance.loadDefaultWidgets(obj._installedAppId, panel);
  183. detailInstance.LoadApprovals(obj._recordId, obj._installedAppId);
  184. });
  185. }
  186. else {
  187. MessageHelper.Instance().showError(response.message, 'div_message');
  188. }
  189. });
  190. }
  191. }
  192. });
  193. }
  194. static Instance() {
  195. if (this._instance === undefined)
  196. this._instance = new AdjustOrderQuantity();
  197. return this._instance;
  198. }
  199. }
  200. Components.AdjustOrderQuantity = AdjustOrderQuantity;
  201. })(Components = Transact.Components || (Transact.Components = {}));
  202. })(Transact = Apps.Transact || (Apps.Transact = {}));
  203. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  204. })(Bizgaze || (Bizgaze = {}));