commonModule.directive('atmsPermission', ['$compile', '$document', '$parse', 'userService', 'loginContext', 'vatSessionService', '$state', function ($compile, $document, $parse, userService, loginContext, vatSessionService, $state) { return { restrict: "A", link: function (scope, element, attr) { var permissionCode = attr['permissionCode']; var controlType = attr['permissionControlType']; console.log('controlType', controlType); var orgID = vatSessionService && vatSessionService.project ? vatSessionService.project.organizationID : null; var setUI = function (isshow) { if (isshow) { return; } if (!isshow) { element[0].disabled = true; element.addClass('no-permission'); } if (controlType && controlType.toLowerCase() === 'ngif') { element.css('display', 'none'); } else if (controlType && (controlType.toLowerCase() === 'ngshow' || controlType.toLowerCase() === 'nghide')) { element.css('visibility', 'hidden'); } else if (controlType && controlType.toLowerCase() === 'prohibit') { $state.go('noPermissionPage'); } }; userService.getUserPermissionNew(loginContext.userName, function (data) { var isshow = false; if (orgID) { isshow = window.PWC.isHaveOrganizationPermission(orgID, permissionCode, data); } else { isshow = window.PWC.isHavePermission(permissionCode, data); } setUI(isshow); }); } }; }]);