Built files from Bizgaze WebServer
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

employeesalarydetails.component.js 29KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373
  1. var Bizgaze;
  2. (function (Bizgaze) {
  3. let Apps;
  4. (function (Apps) {
  5. let Hrms;
  6. (function (Hrms) {
  7. let Payroll;
  8. (function (Payroll) {
  9. let Controls;
  10. (function (Controls) {
  11. let EmployeeSalary;
  12. (function (EmployeeSalary) {
  13. class EmployeeSalaryDetails extends Unibase.Platform.Core.BaseComponent {
  14. constructor() {
  15. super(...arguments);
  16. this.ctc_Array = [];
  17. this.VisibleContainerId = "";
  18. this.salarycomponenttypeid = 1;
  19. }
  20. init(formpropertyid, prop, callback) {
  21. var container = "control-container-" + formpropertyid;
  22. var instance = this;
  23. instance.local_container = container;
  24. instance.editEarning = false;
  25. instance.findtxtcrRdr = 2;
  26. instance.rowindexid = parseInt('00001', 8);
  27. instance.flag = 0;
  28. instance.fileCacheHelper.loadJsFiles(['platform/core/helpers/numberhelper/numberhelper.js', 'apps/hrms/enums/componenttypes.js', 'apps/hrms/enums/earningtypes.js', 'apps/hrms/controls/salarytemplate.component.js', 'apps/hrms/payroll/controls/ctccalculation.js', 'apps/hrms/enums/calculationtype.js'], function () {
  29. instance.changeAnnualctcdata();
  30. });
  31. }
  32. loadControlSettings(controlsettingjson, formpropertyid) { }
  33. loadPropertySettings(propertysettings, formpropertyid, DocPropertyName) { }
  34. bindEditFormDetails(formpropertyid, propval, DocPropertyName) { }
  35. loadControl(container, prop) {
  36. var instance = this;
  37. instance.rowindexid = prop.FormPropertyId;
  38. var html = "";
  39. instance.VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  40. instance.fileCacheHelper.loadJsFiles(["apps/hrms/payroll/managers/payrollmanager.js", 'apps/hrms/payroll/controls/ctccalculation.js'], function () {
  41. var ctcInstance = new Bizgaze.Apps.Hrms.Payroll.CtcCalculation();
  42. html = ctcInstance.getcomponentHtml();
  43. $("#" + container).html(html);
  44. $('#refreshsystemcalculations').attr("onclick", "Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().refreshsystemcalculations()");
  45. Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().edit();
  46. });
  47. $(".txtAutoComplete_salarytemplateid").change(function () {
  48. Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().employeesalarydetails();
  49. });
  50. }
  51. salarycomponentObj() {
  52. return Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().ctc_Array;
  53. }
  54. employeesalarydetails() {
  55. var instance = this;
  56. var salarytemplateid = Number($(".txtAutoComplete_salarytemplateid").val());
  57. instance.fileCacheHelper.loadJsFiles(["apps/hrms/payroll/managers/payrollmanager.js", 'apps/hrms/enums/componenttypes.js', 'apps/hrms/enums/earningtypes.js', 'apps/hrms/controls/salarytemplate.component.js'], function () {
  58. Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().getSalaryTemplateById(salarytemplateid).then(function (response) {
  59. Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().ctc_Array = [];
  60. $('#btnAddNew').addClass('hidden');
  61. $('#hdn_salarycomponentcontrol').val("Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().salarycomponentObj();");
  62. if (response.result != null) {
  63. $("#salaryearningdetails_table").html('');
  64. $("#salarydeductiondetails_table").html('');
  65. $("#salaryreimbursementdetails_table").html('');
  66. $(".txt_annualctc").val(response.result[0].AnnualCTC);
  67. Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().binddata(response.result);
  68. }
  69. });
  70. });
  71. }
  72. getemployeesalarydetails(isrevise) {
  73. $("#btnDynamicSave").attr("disabled", "true");
  74. Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().revisecalculation();
  75. Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().edit();
  76. }
  77. refreshsystemcalculations() {
  78. var instance = this;
  79. let AnnualCTC = $(".txt_annualctc").val();
  80. let basic = 0;
  81. var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  82. var Employeeid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_recordid").Value);
  83. let obj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().ctc_Array.find(x => x.componenttypeid == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Earnings && x.earningtypeid == Bizgaze.Apps.Hrms.Enums.EarningTypes.Basic);
  84. if (obj != undefined) {
  85. basic = obj.monthlyamount;
  86. }
  87. instance.fileCacheHelper.loadJsFile("apps/hrms/payroll/managers/payrollmanager.js", function () {
  88. Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().getEmployeeTaxDetailsByEmployeeId(Employeeid, AnnualCTC, basic).then(function (response) {
  89. for (var i = 0; i < response.result.length; i++) {
  90. let data = response.result[i];
  91. if (data != null) {
  92. let salarycomponentid = data.SalaryComponentId;
  93. let obj = instance.ctc_Array.find(x => x.salarycomponentid == salarycomponentid);
  94. if (obj != undefined) {
  95. obj.amount = data.Amount;
  96. obj.monthlyamount = data.Amount;
  97. }
  98. }
  99. else {
  100. obj.amount = 0;
  101. obj.monthlyamount = 0;
  102. }
  103. }
  104. instance.ctc_calculation();
  105. });
  106. });
  107. }
  108. binddata(response) {
  109. let employeesalartdetailid = Number($(".hdn_employeesalarydetailid").val());
  110. for (var i = 0; i < response.length; i++) {
  111. var data = response[i];
  112. if (data.employeesalartdetailid == 0) {
  113. data.employeesalartdetailid = employeesalartdetailid;
  114. }
  115. var item = {
  116. payslipname: data.PaySlipName,
  117. calculationtypeid: data.CalculationTypeId,
  118. calculationtypename: data.CalculationTypeName,
  119. salarycomponentid: data.SalaryComponentId,
  120. earningtypeid: data.EarningTypeId,
  121. amount: data.Amount,
  122. rowindexid: data.ComponentTypeId == Bizgaze.Apps.Hrms.Enums.ComponentTypes.Earnings ? data.EarningTypeId : data.SalaryComponentId,
  123. salarycomponenttypeid: data.ComponentTypeId,
  124. componenttypeid: data.ComponentTypeId,
  125. maxamount: data.MaxAmount,
  126. templateid: data.TemplateId,
  127. templateitemid: data.TemplateItemId,
  128. monthlyamount: data.AmountMonthly,
  129. annualamount: data.AmountAnnually,
  130. employeesalartdetailid: data.employeesalartdetailid,
  131. issystemgenerated: data.IsSystemGenerated
  132. };
  133. Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().ctc_Array.push(item);
  134. Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().bindcomponenthtml(item);
  135. }
  136. }
  137. bindcomponenthtml(data) {
  138. var ctcInstance = new Bizgaze.Apps.Hrms.Payroll.CtcCalculation();
  139. ctcInstance.bindcomponenthtml(data, Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().ctc_Array, false);
  140. $('.removeComponent').attr("onclick", "").addClass('hidden');
  141. }
  142. revisecalculation() {
  143. var $radios = $('input:radio[name=revisecalculationtype]');
  144. $radios.filter('[id=rdb_revisecalculationtype_2]').prop('checked', true);
  145. $(".txt_revisepercentage").addClass("hidden");
  146. $(".txt_revisepercentage").blur(function () {
  147. var annualctc = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().AnnualCTC;
  148. var revisepercentage = Number($(".txt_revisepercentage").val());
  149. var revisedctc = Number(annualctc * (revisepercentage / 100)) + (annualctc);
  150. $(".txt_annualctc").val(revisedctc);
  151. $("#btnDynamicSave").prop("disabled", false);
  152. Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().ctc_calculation();
  153. });
  154. $(".rdb_revisecalculationtype_1").click(function () {
  155. if ($(".rdb_revisecalculationtype_1").prop("checked") == true) {
  156. $(".txt_revisepercentage").removeClass("hidden");
  157. $(".div_revisepercentage ").removeClass("hidden");
  158. $(".txt_annualctc").prop("disabled", true);
  159. $(".txt_annualctc").css("color", "#495057");
  160. $(".txt_revisepercentage").val(0);
  161. $("#btnDynamicSave").prop("disabled", false);
  162. }
  163. $(".txt_annualctc").val(Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().AnnualCTC);
  164. });
  165. $(".rdb_revisecalculationtype_2").click(function () {
  166. if ($(".rdb_revisecalculationtype_2").prop("checked") == true) {
  167. $(".txt_revisepercentage").addClass("hidden");
  168. $(".div_revisepercentage ").addClass("hidden");
  169. $(".txt_annualctc").prop("disabled", false);
  170. $(".txt_revisepercentage").val(0);
  171. $("#btnDynamicSave").prop("disabled", true);
  172. }
  173. $(".txt_annualctc").val(Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().AnnualCTC);
  174. Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().ctc_calculation();
  175. });
  176. }
  177. edit() {
  178. var instance = this;
  179. instance.fileCacheHelper.loadJsFile("apps/hrms/payroll/managers/payrollmanager.js", function () {
  180. var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  181. if (installedAppId != 0) {
  182. var employeeid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_recordid").Value);
  183. Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().getSalaryDetailsByEmployeeId(employeeid).then(function (response) {
  184. Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().ctc_Array = [];
  185. $('#btnAddNew').addClass('hidden');
  186. $('#hdn_salarycomponentcontrol').val("Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().salarycomponentObj();");
  187. if (response.result != null) {
  188. var reportColumnText = new Option(response.result[0].TemplateName, response.result[0].SalaryTemplateId, true);
  189. $("#salaryearningdetails_table").html('');
  190. $("#salarydeductiondetails_table").html('');
  191. $("#salaryreimbursementdetails_table").html('');
  192. $(".txt_annualctc").val(response.result[0].AnnualCTC);
  193. Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().AnnualCTC = response.result[0].AnnualCTC;
  194. $(".txtAutoComplete_salarytemplateid").html(reportColumnText);
  195. $(".hdn_employeesalarydetailid").val(response.result[0].EmployeeSalaryDetailId);
  196. if (response.result[0].ReviseCalculationType == 1) {
  197. $("#rdb_revisecalculationtype_" + response.result[0].ReviseCalculationType).prop("checked", true);
  198. $("#hdnRdb_revisecalculationtype").val(response.result[0].ReviseCalculationType);
  199. $(".txt_revisepercentage").removeClass("hidden");
  200. }
  201. else if (response.result[0].ReviseCalculationType == 2) {
  202. $("#rdb_revisecalculationtype_" + response.result[0].ReviseCalculationType).prop("checked", true);
  203. $("#hdnRdb_revisecalculationtype").val(response.result[0].ReviseCalculationType);
  204. $(".txt_revisepercentage").addClass("hidden");
  205. }
  206. $(".txt_revisepercentage").val(response.result[0].RevisePercentage);
  207. var date = moment(response.result[0].ReviseSalaryEffectiveFrom).format("DD/MM/YYYY");
  208. var effectivedate = $(".date_revisesalaryeffectivefrom").val();
  209. if (date == effectivedate) {
  210. $(".date_revisesalaryeffectivefrom").val("");
  211. }
  212. else {
  213. $(".date_revisesalaryeffectivefrom").val(date);
  214. $(".hfdate_revisesalaryeffectivefrom").val(date);
  215. }
  216. var paydate = moment(response.result[0].PayoutMonth).format("DD/MM/YYYY");
  217. $(".date_payoutmonth").val(paydate);
  218. $(".hfdate_payoutmonth").val(paydate);
  219. Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().binddata(response.result.reverse());
  220. }
  221. });
  222. }
  223. });
  224. }
  225. changecalculationtype(id, rowindexid) {
  226. if (id == 1) {
  227. $('#txt_CalculationAmount_' + rowindexid).addClass('hidden');
  228. }
  229. else {
  230. $('#txt_CalculationAmount_' + rowindexid).removeClass('hidden');
  231. }
  232. var ctcInstance = new Bizgaze.Apps.Hrms.Payroll.CtcCalculation();
  233. let obj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().ctc_Array;
  234. ctcInstance.salaryitem_Calculation(rowindexid, obj);
  235. }
  236. getsalarycomponentbyid(salarycomponentid) {
  237. var instance = this;
  238. if (salarycomponentid != 0) {
  239. instance.fileCacheHelper.loadJsFile("apps/hrms/payroll/managers/payrollmanager.js", function () {
  240. Bizgaze.Apps.Hrms.Payroll.Managers.PayRollManager.Instance().getsalarycomponentbyid(salarycomponentid).then(function (response) {
  241. if (response.result != null) {
  242. var data = response.result;
  243. let rowindexid = data.EarningTypeId;
  244. let obj = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().ctc_Array.find(x => x.rowindexid == rowindexid);
  245. if (obj != undefined) {
  246. obj.payslipname = data.PaySlipName;
  247. obj.calculationtypeid = data.CalculationTypeId;
  248. obj.calculationtypename = data.CalculationTypeName;
  249. obj.salarycomponentid = data.SalaryComponentId;
  250. obj.earningtypeid = data.EarningTypeId;
  251. obj.amount = data.Amount;
  252. Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().ctc_calculation();
  253. var ctcInstance = new Bizgaze.Apps.Hrms.Payroll.CtcCalculation();
  254. ctcInstance.bindctcdata(obj);
  255. }
  256. }
  257. });
  258. });
  259. }
  260. }
  261. ctc_calculation() {
  262. var ctcInstance = new Bizgaze.Apps.Hrms.Payroll.CtcCalculation();
  263. ctcInstance.ctc_calculation(Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().ctc_Array);
  264. }
  265. changeAnnualctcdata() {
  266. $(".txt_annualctc").keyup(function () {
  267. var annualCTC = Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().AnnualCTC;
  268. var reviseAnnualCTC = $(".txt_annualctc").val();
  269. if (annualCTC == reviseAnnualCTC) {
  270. $("#btnDynamicSave").prop("disabled", true);
  271. }
  272. else {
  273. $("#btnDynamicSave").prop("disabled", false);
  274. }
  275. Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().ctc_calculation();
  276. });
  277. }
  278. PreDeductionClick() {
  279. var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  280. $(".DetailSetting_" + installedAppId + "_PreDeduction").attr("data-trnsactid", 2);
  281. $(".DetailSetting_" + installedAppId + "_PreDeduction").click(function () {
  282. Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().loadPreDeduction();
  283. });
  284. }
  285. loadPreDeduction() {
  286. let instance = this;
  287. var uniqueid = 'Bizgaze_Extension_HRMs_SalaryComponents_App_SalaryComponents_CreateSalaryComponents';
  288. Unibase.Platform.Forms.Managers.FormManager.Instance().getFormbyUniqueId(uniqueid).then(function (response) {
  289. var successCallBack = {
  290. CallBack: function (id) {
  291. },
  292. Parameters: null,
  293. };
  294. var hdn_deductionTypeId = ".dropdown_componenttypeid";
  295. var cObj = {
  296. hiddenFieldControlId: hdn_deductionTypeId,
  297. };
  298. var loadObj = {
  299. CallBack: function (cObj) {
  300. $(cObj.hiddenFieldControlId).val(2);
  301. $(".dropdown_componenttypeid").trigger("change");
  302. $(".dropdown_componenttypeid").attr("disabled", "true");
  303. },
  304. Parameters: cObj,
  305. };
  306. let formviewerObj = {
  307. FormId: response.result.FormId,
  308. AppConfigurationId: 0,
  309. Pk_Value: 0,
  310. PortletWidgetId: 0,
  311. OnSuccess: successCallBack,
  312. OnFail: null,
  313. OnLoad: loadObj
  314. };
  315. Unibase.Platform.Forms.Components.FormViewer.Instance().init(formviewerObj);
  316. instance.navigationHelper.hideLoading();
  317. });
  318. }
  319. PostDeductionClick() {
  320. var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  321. $(".DetailSetting_" + installedAppId + "_PostDeduction").attr("data-trnsactid", 3);
  322. $(".DetailSetting_" + installedAppId + "_PostDeduction").click(function () {
  323. Bizgaze.Apps.Hrms.Payroll.Controls.EmployeeSalary.EmployeeSalaryDetails.Instance().loadPostDeduction();
  324. });
  325. }
  326. loadPostDeduction() {
  327. let instance = this;
  328. var uniqueid = 'Bizgaze_Extension_HRMs_SalaryComponents_App_SalaryComponents_CreateSalaryComponents';
  329. Unibase.Platform.Forms.Managers.FormManager.Instance().getFormbyUniqueId(uniqueid).then(function (response) {
  330. var successCallBack = {
  331. CallBack: function (id) {
  332. },
  333. Parameters: null,
  334. };
  335. var hdn_deductionTypeId = ".dropdown_componenttypeid";
  336. var cObj = {
  337. hiddenFieldControlId: hdn_deductionTypeId,
  338. };
  339. var loadObj = {
  340. CallBack: function (cObj) {
  341. $(cObj.hiddenFieldControlId).val(3);
  342. $(".dropdown_componenttypeid").trigger("change");
  343. $(".dropdown_componenttypeid").attr("disabled", "true");
  344. },
  345. Parameters: cObj,
  346. };
  347. let formviewerObj = {
  348. FormId: response.result.FormId,
  349. AppConfigurationId: 0,
  350. Pk_Value: 0,
  351. PortletWidgetId: 0,
  352. OnSuccess: successCallBack,
  353. OnFail: null,
  354. OnLoad: loadObj
  355. };
  356. Unibase.Platform.Forms.Components.FormViewer.Instance().init(formviewerObj);
  357. instance.navigationHelper.hideLoading();
  358. });
  359. }
  360. static Instance() {
  361. if (this.instance === undefined) {
  362. this.instance = new EmployeeSalaryDetails();
  363. }
  364. return this.instance;
  365. }
  366. }
  367. EmployeeSalary.EmployeeSalaryDetails = EmployeeSalaryDetails;
  368. })(EmployeeSalary = Controls.EmployeeSalary || (Controls.EmployeeSalary = {}));
  369. })(Controls = Payroll.Controls || (Payroll.Controls = {}));
  370. })(Payroll = Hrms.Payroll || (Hrms.Payroll = {}));
  371. })(Hrms = Apps.Hrms || (Apps.Hrms = {}));
  372. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  373. })(Bizgaze || (Bizgaze = {}));