Сделал пользовательский фильтр, который в зависимости от того какое рабочее место открыто, отображает контрагентов в соответствующих статусах, но при этом не работает дефолтный фильтр. Как это починить?
Код
define("AccountSectionV2", [], function() { return { entitySchemaName: "Account", details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/, diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/, methods: { getFilters: function() { // var filters = this.callParent(arguments); var filterGroup = new this.Terrasoft.createFilterGroup(); // получаем текст названия рабочего места var span = document.getElementById("menu-workplace-button-textEl"); var workspacename = span.innerText; // var wsname = this.get("SysWorkplace.Name"); //alert(wsname); if (workspacename==="Compliance") { var category = "Compliance"; filterGroup.add("FilterCategory", this.Terrasoft.createColumnFilterWithParameter( this.Terrasoft.ComparisonType.EQUAL, "elcOnBoardingClientSts.Name", category)); return filterGroup; } else if (workspacename==="Board") { var categoryBoard = "Board"; filterGroup.add("FilterCategory", this.Terrasoft.createColumnFilterWithParameter( this.Terrasoft.ComparisonType.EQUAL, "elcOnBoardingClientSts.Name", categoryBoard)); return filterGroup; } else if (workspacename==="Compliance Officer") { var categoryComplianceOfficer = "Compliance"; // filterGroup.logicalOperation = Terrasoft.LogicalOperatorType.and; filterGroup.add("FilterStatus", this.Terrasoft.createColumnFilterWithParameter( this.Terrasoft.ComparisonType.EQUAL, "elcOnBoardingClientSts.Name", categoryComplianceOfficer)); filterGroup.add("FilterOfacRate", this.Terrasoft.createColumnFilterWithParameter( this.Terrasoft.ComparisonType.NOT_EQUAL, "elcOfacRate", "0")); return filterGroup; } else if (workspacename==="Lawyers") { var categoryLawyers = "Compliance"; var TermsAndCond = "0"; // filterGroup.logicalOperation = Terrasoft.LogicalOperatorType.and; filterGroup.add("FilterStatus", this.Terrasoft.createColumnFilterWithParameter( this.Terrasoft.ComparisonType.EQUAL, "elcOnBoardingClientSts.Name", categoryLawyers)); filterGroup.add("FilterConfirm", this.Terrasoft.createColumnFilterWithParameter( this.Terrasoft.ComparisonType.EQUAL, "elcLawyersConfirmTermsAndCond", TermsAndCond)); return filterGroup; } /* else { var categoryCreated = "Created"; filterGroup.remove("FilterCategory", this.Terrasoft.createColumnFilterWithParameter( this.Terrasoft.ComparisonType.EQUAL, "elcOnBoardingClientSts.Name", categoryCreated)); return filterGroup; } return; */ } } }; });
Нравится
4 комментария
Лучший ответ
22 ноября 2019 11:55
А как он может работать если вы возвращаете filterGroup а filters у вас улетает в никуда по логике вы должны добавить в filters вашу filterGroup и вернуть filters
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать