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.

eventtemplate.js 16KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. var Unibase;
  2. (function (Unibase) {
  3. let Platform;
  4. (function (Platform) {
  5. let Automation;
  6. (function (Automation) {
  7. let Components;
  8. (function (Components) {
  9. class EventTemplate extends Platform.Core.BaseComponent {
  10. jsFiles() {
  11. return ["platform/automation/managers/rulemanager.js"];
  12. }
  13. cssFiles() {
  14. return [];
  15. }
  16. html(id, containerid) {
  17. let html = `<form id="frmUnibase_EventTemplate" data-validate="parsley" data-isdynamic="false">
  18. <div class="card bg-light">
  19. <div class="b-b bg-white card-header header">
  20. <strong class="text-dark title" id="">Create EventTemplate</strong>
  21. </div>
  22. <div class="card-body scrollable" style="overflow-y: scroll;">
  23. <div class="bg-white card" id="EventTemplates">
  24. <div id="unibase_ValidationSummary" class="clear"></div>
  25. <div class="card-body">
  26. <div class="row">
  27. <div class="col-sm-6">
  28. DocType<span class="text-danger">*</span>
  29. <select id="Doctype_AutoComplete" class="required form-control value-control" data-isdynamic="true">
  30. <option value="0">Select</option>
  31. <option value="1">OrderEntity</option>
  32. </select>
  33. <input type="hidden" id="hf_DocType" />
  34. </div>
  35. <div class="col-sm-6">
  36. DocType Columns<span class="text-danger">*</span>
  37. <select id="DocTypeColumns_AutoComplete" class="required form-control value-control" data-isdynamic="true">
  38. </select>
  39. <input type="hidden" id="hf_DocTypeColumns" />
  40. </div>
  41. </div>
  42. </div>
  43. </div>
  44. <div class="bg-white card" id="TemplateKeys">
  45. <div class="card-header">Event Template</div>
  46. <div class="card-body">
  47. <div class="row">
  48. <div class="col-sm-10"><input type="text" id="Template" class="form-control required value-control floating-label-control" data-isdynamic="false" /></div>
  49. <div class="col-sm-2" id="AddKey">
  50. <span class="pull-right">
  51. <a id="" title="Create" onclick="Unibase.Platform.Automation.Components.EventTemplate.Instance().AddKey();">
  52. <i class="fa fa-plus"></i>
  53. </a>
  54. </span>
  55. </div>
  56. </div>
  57. <hr />
  58. <div class="row mt-10" id="AddKeys">
  59. </div>
  60. </div>
  61. </div>
  62. </div>
  63. <div class="bg-white card-footer footer" id="CreateEventTemplateFooter">
  64. <button id="btnCloseEventTemplate" class="btn btn-secondary btn-sm mr-auto">Close</button>
  65. <button id="btnSaveEventTemplate" class="btn btn-primary btn-sm pull-right">Save</button>
  66. </div>
  67. </div>
  68. </form>`;
  69. return html;
  70. }
  71. load(id, containerid, callback) {
  72. $("#btnCloseEventTemplate").click(function () {
  73. $('#' + containerid).modal('hide');
  74. $('#' + containerid).remove();
  75. });
  76. $("#btnSaveEventTemplate").click(function () {
  77. EventTemplate.Instance().SaveEventTemplate();
  78. $('#' + containerid).modal('hide');
  79. $('#' + containerid).remove();
  80. });
  81. $("#Doctype_AutoComplete").change(function () {
  82. if ($("#Doctype_AutoComplete option:selected").text() == "OrderEntity") {
  83. let cmbEventColomns = document.getElementById('DocTypeColumns_AutoComplete');
  84. $('#DocTypeColumns_AutoComplete').empty();
  85. var defaultOpt = document.createElement("option");
  86. defaultOpt.text = "Select";
  87. defaultOpt.value = "0";
  88. cmbEventColomns.appendChild(defaultOpt);
  89. for (let i = 0; i <= Unibase.Platform.Automation.Components.EventTemplate.doctypecolumnArray.length - 1; i++) {
  90. var opt = document.createElement("option");
  91. opt.text = Unibase.Platform.Automation.Components.EventTemplate.doctypecolumnArray[i];
  92. opt.value = "" + i + 1 + "";
  93. cmbEventColomns.appendChild(opt);
  94. }
  95. }
  96. });
  97. $("#DocTypeColumns_AutoComplete").change(function () {
  98. $("#Template").text("");
  99. if ($("#DocTypeColumns_AutoComplete option:selected").text() == "OrgContactId") {
  100. $("#Template").val("Order ContactName Changed From {{Key1}} To {{Key2}}");
  101. }
  102. else if ($("#DocTypeColumns_AutoComplete option:selected").text() == "BillingAddressId") {
  103. $("#Template").val("Order BillingAddressName Changed From {{Key1}} To {{Key2}}");
  104. }
  105. else if ($("#DocTypeColumns_AutoComplete option:selected").text() == "ShippingAddressId") {
  106. $("#Template").val("Order ShippingAddressName Changed From {{Key1}} To {{Key2}}");
  107. }
  108. });
  109. }
  110. AddKey() {
  111. Unibase.Platform.Automation.Components.EventTemplate.keysflag = 0;
  112. let html = "";
  113. if (!Unibase.Platform.Automation.Components.EventTemplate.keyscount) {
  114. Unibase.Platform.Automation.Components.EventTemplate.keyslen = Unibase.Platform.Automation.Components.EventTemplate.keyslen + 1;
  115. }
  116. else {
  117. Unibase.Platform.Automation.Components.EventTemplate.keyslen = Unibase.Platform.Automation.Components.EventTemplate.keyscount;
  118. }
  119. html += '<div class="EventKeys row col-sm-12" id="row_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '">' +
  120. '<div class="col-sm-2"><input type="text" id="txt_KeyName_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '" class="form-control required value-control floating-label-control" data-isdynamic="false" /></div>' +
  121. '<div class="col-sm-3 hidden" id="Report_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '"><input type="text" id="txt_Report_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '" class="form-control required value-control floating-label-control" data-isdynamic="false" /></div>' +
  122. '<div class="col-sm-3 hidden" id="ReportColumn_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '"><input type="text" id="txt_ReportColumn_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '" class="form-control required value-control floating-label-control" data-isdynamic="false" /></div>' +
  123. '<div class="col-sm-3"><input type="text" id="txt_Key_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '" class="form-control required value-control floating-label-control" data-isdynamic="false" /></div>' +
  124. '<div class="col-sm-1"><div class="custom-control custom-checkbox checkbox-primary"><input type="checkbox" name="Keys" onclick="Unibase.Platform.Automation.Components.EventTemplate.Instance().Cheked(' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + ');" class="custom-control-input" id="chk_Key_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '"><label class="custom-control-label" id="lblcontact" for="chk_Key_' + Unibase.Platform.Automation.Components.EventTemplate.keyslen + '"></label></div></div>' +
  125. '<div>';
  126. if (Unibase.Platform.Automation.Components.EventTemplate.keysflag == 0) {
  127. $("#AddKeys").append(html);
  128. $("#txt_KeyName_" + Unibase.Platform.Automation.Components.EventTemplate.keyslen + "").val("Key" + Unibase.Platform.Automation.Components.EventTemplate.keyslen + "");
  129. Unibase.Platform.Automation.Components.EventTemplate.keyscount = 0;
  130. Unibase.Platform.Automation.Components.EventTemplate.keysflag = 0;
  131. }
  132. else {
  133. Unibase.Platform.Automation.Components.EventTemplate.keyslen = Unibase.Platform.Automation.Components.EventTemplate.keyslen - 1;
  134. }
  135. }
  136. Cheked(KeyNum) {
  137. if ($("#chk_Key_" + KeyNum + "").prop("checked") == true) {
  138. $("#Report_" + KeyNum + "").removeClass("hidden");
  139. $("#ReportColumn_" + KeyNum + "").removeClass("hidden");
  140. }
  141. else {
  142. $("#Report_" + KeyNum + "").addClass("hidden");
  143. $("#ReportColumn_" + KeyNum + "").addClass("hidden");
  144. }
  145. }
  146. AddKeysData() {
  147. let myarray = [];
  148. $(".EventKeys").each(function () {
  149. let templatekeys = {};
  150. let id = $(this).find(".EventKeys");
  151. let len = (id.prevObject[0].id).split('_');
  152. len = len[1];
  153. templatekeys.TemplateKeyId = 0;
  154. templatekeys.TemplateId = 0;
  155. templatekeys.KeyName = "Key_' + len +'";
  156. templatekeys.ReportId = 0;
  157. templatekeys.ResultColumnId = 0;
  158. templatekeys.ReportColumnId = 0;
  159. templatekeys.DocpropertyId = 0;
  160. myarray.push(templatekeys);
  161. });
  162. return myarray;
  163. }
  164. SaveEventTemplate() {
  165. let tempkey = [];
  166. let keydata = EventTemplate.Instance().AddKeysData();
  167. for (let i = 0; i < keydata.length; i++) {
  168. tempkey.push({
  169. TemplateKeyId: keydata[i].TemplateKeyId,
  170. TemplateId: keydata[i].TemplateId,
  171. KeyName: keydata[i].KeyName,
  172. ReportId: keydata[i].ReportId,
  173. ReportColumnId: keydata[i].ReportColumnId,
  174. ResultColumnId: keydata[i].ResultColumnId,
  175. DocpropertyId: keydata[i].DocpropertyId,
  176. });
  177. }
  178. let tempnote = [];
  179. tempnote.push({
  180. TemplateNoteId: 0,
  181. TemplateId: 0,
  182. NotesText: $("#Template").val().toString(),
  183. LanguageId: 1,
  184. IsSystemGenerated: false
  185. });
  186. var post = {
  187. TemplateId: 0,
  188. EventId: 0,
  189. EventTempKeys: tempkey,
  190. EventTempNotes: tempnote,
  191. EventAliasName: null
  192. };
  193. Automation.Managers.RuleManager.Instance().saveEventTemplate(post).then(function (response) {
  194. var tableData = response;
  195. });
  196. }
  197. static Instance() {
  198. if (this.instance === undefined) {
  199. this.instance = new EventTemplate();
  200. }
  201. return this.instance;
  202. }
  203. }
  204. EventTemplate.doctypecolumnArray = ["OrderId", "OrderNo", "RefNo", "Notes", "OrderDate", "OrderTypeId", "VersionGuid", "DueDate", "OrgContactId", "BillingAddressId", "OrderStatusId", "SalesPersonId", "TotalAmount", "SystemNotes", "ShippingAddressId", "BranchId", "LobId", "OrderName", "SuccessProbability", "CloseDate", "RefDate", "OrderModeId", "RefId", "PriceCodeId", "InvoicedDate", "InvoicedBy", "DecidedDate", "DecidedBy", "PriorityOrder", "RecurTenure", "RecurTenureTypeId", "RecurIterations", "Description", "RefOrderId", "ApplicationTypeId", "Volume", "ProformaInvoiceId", "DiscountAmount", "TaxAmount", "AdvanceOrder", "FutureOrder", "TemplateId", "ProposedDeliveryDate", "ExpectedDeliveryDate", "PaymentTermId", "IsTaxInclusive", "InvoiceScheduleId", "ConsultantId", "RefGuid", "CFormNoRequired", "IsExciseSeperate", "FutureOrderDate", "AdvanceOrderDate", "PaymentMethodId", "InventoryApplyType", "ProposedDelivery", "ProposedDeliveryType", "ScrapDiscountAmount", "DiscountPercent", "DiscountValue", "PriceListId", "StatusId", "CreatedDate", "CreatedBy", "LastUpdatedDate", "LastUpdatedBy", "LatId", "LngId", "SourceId", "OwnerId", "RemoteId", "StageId", "StageUpdatedDate", "ReasonId", "TenantId", "IsStockJournal", "Negotiation", "Terms", "HideBomItems", "DeliveryMethodId", "RecurringOpportunity", "IpAddress", "ExpiryDate", "ShipFromAddressId", "SeriesId", "RefOpportunityId", "RefEstimateId", "InstalledAppId", "DeviceId", "OrganizationId"];
  205. EventTemplate.keyslen = 0;
  206. EventTemplate.keysflag = 0;
  207. Components.EventTemplate = EventTemplate;
  208. })(Components = Automation.Components || (Automation.Components = {}));
  209. })(Automation = Platform.Automation || (Platform.Automation = {}));
  210. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  211. })(Unibase || (Unibase = {}));