commonModule. controller('operateLogController', ['$scope', '$log', '$translate', 'uiGridConstants', '$location', '$timeout', '$interval', 'operationLogService', '$filter', 'loginContext', 'userService', function ($scope, $log, $translate, uiGridConstants, $location, $timeout, $interval, operationLogService, $filter, loginContext, userService) { var logTypeMap = { organization: { index: "organization", logTitle: "OperateOrganizationLog", type: constant.OperateLogType.OperationLogOrganization, moduleName: 'Organization' }, user: { index: "user", logTitle: "OperateUserLog", type: constant.OperateLogType.OperationLogUser, moduleName: 'User' }, userlist: { index: "user", logTitle: "OperateUserLog", type: constant.OperateLogType.OperationLogUser, moduleName: 'User' }, userDetail: { index: "user", logTitle: "OperateUserLog", type: constant.OperateLogType.OperationLogUser, moduleName: 'User' }, project: { index: "project", logTitle: "OperateProjectLog", type: constant.OperateLogType.OperationLogProject, moduleName: 'Project' }, role: { index: "role", logTitle: "OperateRoleLog", type: constant.OperateLogType.OperationLogRole, moduleName: 'Role' }, declarationFormConfiguration: { index: "declarationFormConfiguration", logTitle: "ReportConfigurationDescLogTitle", type: constant.OperateLogType.OperationLogReport, moduleName: 'ReportConfiguration' }, subjectCorresponding: { index: "subjectCorresponding", logTitle: "SubjectCorrespondingLogTitle", type: constant.OperateLogType.OperationLogSubjectCorres, moduleName: 'BasicDataEnterpriceAccount' }, orangizationStructureManage: { index: "orangizationStructureManage", logTitle: "OrangizationStructureManageLog", type: constant.OperateLogType.OperationLogBasicData, moduleName: 'BasicDataOrganizationStructure' }, businessUnit: { index: "businessUnit", logTitle: "BusinessUnitLog", type: constant.OperateLogType.OperationLogBasicData, moduleName: 'BasicDataBusinessUnit' }, regionManage: { index: "regionManage", logTitle: "RegionManageLog", type: constant.OperateLogType.OperationLogBasicData, moduleName: 'BasicDataArea' }, enterpriseAccountManage: { index: "enterpriseAccountManage", logTitle: "EnterpriseAccountManageLog", type: constant.OperateLogType.OperationLogEnterPrise, moduleName: 'BasicDataEnterpriceAccount' }, customerListManage: { index: "customerListManage", logTitle: "CustomerListManageLog", type: constant.OperateLogType.OperationLogBasicData, moduleName: 'BasicDataCustomer' }, keyCodeConfiguration: { index: "keyValueConfig", logTitle: "KeyValueConfigurationLogTitle", type: constant.OperateLogType.OperationKeyvalueConfiguration, moduleName: 'KeyValueConfig' }, modelconfiguration: { index: "modelConfiguration", logTitle: "ModelConfigurationLogLogTitle", type: constant.OperateLogType.OperationLogModelConfiguration, moduleName: 'ModelConfiguration' }, ruleEngineConfiguration: { index: "ruleEngineConfig", logTitle: "RuleSourceLogTitle", type: constant.OperateLogType.OperationRuleEngineConfiguration, moduleName: 'RuleEngineConfig' }, workFlowManage: { index: "workFlowManage", logTitle: "LogTitleWorkflow", type: constant.OperateLogType.OperationLogWorkflow, moduleName: 'Workflow' }, storeArchitectureView: { index: "storeArchitectureView", logTitle: "LogTitleStock", type: constant.OperateLogType.OperationLogStock, moduleName: 'Stock' }, }; var commonTitle = { logType: "OperationContent", logOperateObject: "LogOperateObject", logOriginalState: "LogOriginalState", logUpdateState: "LogUpdateState", logOperationDescription: "LogOperationDescription", logOperationUser: "LogOperationUser", logOperationTime: "LogOperationTime", logOperationOID: "LogOperationOID", logOperationIP: "LogOperationIP", logComments: 'LogComments' }; var actionMap = { 1: $translate.instant('New'), 2: $translate.instant('Update'), 3: $translate.instant('Delete'), 4: $translate.instant('Copy'), 5: $translate.instant('AutoMapping'), 6: $translate.instant('ManualMapping'), 7: $translate.instant('CancelMapping'), 8: $translate.instant('AddEnterpriseAccountSet'), 9: $translate.instant('UpdateEnterpriseAccountSet'), 10: $translate.instant('AddEnterpriseAccount'), 11: $translate.instant('UpdateEnterpriseAccount'), 12: $translate.instant('AddRelevantOrgAction'), 13: $translate.instant('UpdateRelevantOrg'), 14: $translate.instant('DeleteRelevantOrg'), 15: $translate.instant('AddNewUser'), 16: $translate.instant('DeleteUser'), 17: $translate.instant('AddNewPermission'), 18: $translate.instant('DeletePermission') }; var perationModuleMap = { 1: 'OrganizationStructureDesc', 2: 'RegionDesc', 3: 'StandardAccountDesc', 4: 'WordLibraryDesc', 5: 'KeyValueDesc', 6: 'ProjectDesc', 7: 'ProjectServiceTypeDesc', 8: 'UserDesc', 9: 'OrganizationDesc', 10: 'RoleDesc', 11: 'UserRoleDesc', 12: 'EnterpriceAccountDesc', 13: 'TemplateFormulaDesc', 14: 'TemplateDesc', 15: 'TemplateGroupDesc', 16: 'ReportConfigurationDesc', 17: 'AreaDesc', 18: 'CustomerDesc', 19: 'BusinessUnitDesc' }; //点击任意一页事件 var load_page = function (pageIndex) { getLogs(pageIndex); }; var getLogs = function (pageIndex) { // $scope.InitType(); $scope.curPage = pageIndex; $scope.paginInfo = { totalCount: $scope.queryResult.pageInfo.totalCount, pageIndex: pageIndex, pageSize: $scope.queryResult.pageInfo.pageSize }; var model = {}; model.pageInfo = $scope.paginInfo; model.logType = $scope.logObj.type; model.searchText = $scope.searchText; model.moduleName = $scope.logObj.moduleName; model.operationObject = $scope.logObj.operationObject; if ($scope.filterOperationObjectList) { model.filterOperationObjectList = $scope.filterOperationObjectList; } operationLogService.getOrgLogList(model).success(function (data) { if (data != '') { if (data && data.pageInfo && data.pageInfo.totalCount > 0) { var i = 1 + (pageIndex - 1) * $scope.queryResult.pageInfo.pageSize; data.list.forEach(function (row) { row.id = i; row.createTime = $filter('date')(row.createTime, 'yyyy-MM-dd HH:mm'); row.operationObject = $translate.instant(row.operationObject); row.comment = $translate.instant(row.comment); row.operationContent = $translate.instant(row.operationContent); row.action = actionMap[row.action]; row.originalState = $translate.instant(row.originalState); row.updateState = $translate.instant(row.updateState); i++; }); //$scope.operateLogGridOptions.data = data.list; $scope.operateGridDataSource = data.list; $scope.queryResult = data; computeTotalPage(); } else { //$scope.operateLogGridOptions.data = data.list; $scope.operateGridDataSource = data.list; $scope.queryResult = data; computeTotalPage(); } } }); }; var computeTotalPage = function () { if ($scope.queryResult.pageInfo && $scope.queryResult.pageInfo.totalCount > 0) { var totalPage = parseInt($scope.queryResult.pageInfo.totalCount / $scope.queryResult.pageInfo.pageSize); totalPage = $scope.queryResult.pageInfo.totalCount % $scope.queryResult.pageInfo.pageSize == 0 ? totalPage : totalPage + 1; $scope.queryResult.pageInfo.totalPage = totalPage; $scope.creatPage = $(".tcdPageCode").createPage({ pageCount: totalPage, current: $scope.curPage, backFn: function (p) { //单击回调方法,p是当前页码 getLogs(p); } }); $('.tcdPageCode').css('display', 'inline-block'); } else { $scope.creatPage = $(".tcdPageCode").createPage({ pageCount: 0, current: $scope.curPage, backFn: function (p) { //单击回调方法,p是当前页码 getLogs(p); } }); $('.tcdPageCode').css('display', 'inline-block'); } }; var prePage = function () { if ($scope.curPage > 1) { $scope.curPage--; } getLogs($scope.curPage); }; var nextPage = function () { if ($scope.curPage < $scope.queryResult.pageInfo.totalPage) { $scope.curPage++; } loadSAPDataByPageIndex($scope.curPage); }; var normalDataGridOptions = function () { var columnNameMap = $scope.logObj; $scope.operateGridDataSource = []; //var height = $(window).height(); //var gridHeight = Math.ceil(height * 0.8); $scope.operateLogGridOptions = { bindingOptions: { dataSource: 'operateGridDataSource' }, // keyExpr: "ID", selection: { mode: "single", }, paging: { enabled: false, }, allowColumnResizing: true, columnAutoWidth: true, showRowLines: true, showColumnLines: true, rowAlternationEnabled: true, showBorders: true, width: '1140px', height: 460, noDataText: $translate.instant('NoDataText'), onContentReady: function (e) { $scope.invoiceGridInstance = e.component; }, onSelectionChanged: function (data) { }, columns: [ { dataField: 'id', caption: $translate.instant('LogIndex') }, { dataField: 'createTime', caption: $translate.instant(commonTitle.logOperationTime) }, { dataField: 'operationObject', caption: $translate.instant(commonTitle.logOperateObject), width: 140 }, { dataField: 'action', caption: $translate.instant(commonTitle.logOperationDescription) }, { dataField: 'operationContent', caption: $translate.instant(commonTitle.logType) }, { dataField: 'originalState', caption: $translate.instant(commonTitle.logOriginalState) }, //税额合计小写 { dataField: 'updateState', caption: $translate.instant(commonTitle.logUpdateState) }, //税额 { dataField: 'operationUser', caption: $translate.instant(commonTitle.logOperationUser), width: 70 }, //开票日期 { dataField: 'comment', caption: $translate.instant(commonTitle.logComments) }, //开票日期 ] }; }; $scope.$watch('isShow', function (newValue, oldValue) { if (newValue) { $scope.searchText = ''; $scope.queryResult = { list: [], pageInfo: { totalCount: -1, pageIndex: 1, pageSize: 100, totalPage: 0, } }; $scope.InitType(); load_page(1); $('#showOperatePop').modal('show'); } }); // 获取用户机构权限 var thisPermission = { // 获取用户权限 getUserOrganzationPermission: function () { if ($scope.queryOrganizationCode) { userService.getUserPermission(loginContext.userName).success(function (userPermission) { var orgList = thisPermission.getHasPermissionOrgList($scope.queryOrganizationCode, userPermission); var orgNameList = _.pluck(orgList, 'name'); $scope.filterOperationObjectList = orgNameList; }); } else { } }, // filter机构列表 getHasPermissionOrgList: function (permissionCode, permission) { var orgList = []; if (permission.isAdmin) { permission.organizationPermissionList.forEach(function (row) { orgList.push({ id: row.id, name: row.name }); }); } else { permission.organizationPermissionList.forEach(function (row) { var find = _.find(row.permissionList, function (num) { return num.code.indexOf(permissionCode) > -1; }); if (find) { orgList.push({ id: row.id, name: row.name }); } }); } return orgList; } }; $scope.closeModal = function () { $scope.isShow = false; }; $scope.InitType = function () { var url = $location.absUrl(); //if ($scope.lastUrl === url) { // return; //} $scope.lastUrl = url; var array = url.substr(url.indexOf('#') + 2).split('/'); $scope.curRoute = array[array.length - 1]; // 根据logType映射过来的数据 var columnNameMap = logTypeMap[$scope.curRoute]; // 弄个默认的 if (!columnNameMap) { if (array.length > 1) { columnNameMap = logTypeMap[array[array.length - 2]]; } if (!columnNameMap) { columnNameMap = logTypeMap.organization; } } $scope.logObj = columnNameMap; $scope.logTitle = $translate.instant(columnNameMap.logTitle); $scope.searchText = ''; $scope.queryResult = { list: [], pageInfo: { totalCount: -1, pageIndex: 1, pageSize: 100, totalPage: 0, } } $scope.curPage = 1; thisPermission.getUserOrganzationPermission(); }; (function initialize() { $log.debug('operateLogController.ctor()...'); $scope.InitType(); normalDataGridOptions(); $scope.load_page = load_page; })(); } ]);