systemConfigurationModule.controller('fixedAssetsRuleEngineeController', ['$scope', '$translate', '$log', 'ruleEngineService', 'KeyValueConfigService', 'orgService', 'templateGroupService', 'assetGroupService', 'ruleEngineOp', 'ruleEngineComparer','SweetAlert','$timeout', function ($scope, $translate, $log, ruleEngineService, KeyValueConfigService, orgService, templateGroupService, assetGroupService, ruleEngineOp, ruleEngineComparer, SweetAlert, $timeout) { $scope.mappingData = []; $scope.fixedAssetData = []; $scope.assetGroupType = '1'; //初始化固定资产的ack-pagination $scope.fixedAssetPagingOptions = { pageIndex: 1, //当前页码 totalItems: 0, //总数据 totalPages: 10,//总页数 maxSize: 5, //分页数字的限制。 pageSize: constant.page.pageSizeArrary[0], //每页多少条数据 pageSizeString: constant.page.pageSizeArrary[1].toString(), firstPage: '<<', //$translate.instant('PagingFirstPage'), previousPage: '<', //$translate.instant('PagingPreviousPage'), nextPage:'>',// $translate.instant('PagingNextPage'), lastPage: '>>', //$translate.instant('PagingLastPage'), }; //初始化长期待摊的ack-pagination $scope.longTermPendingPagingOptions = { pageIndex: 1, //当前页码 totalItems: 0, //总数据 totalPages: 10,//总页数 maxSize: 5, //分页数字的限制。 pageSize: constant.page.pageSizeArrary[0], //每页多少条数据 pageSizeString: constant.page.pageSizeArrary[1].toString(), firstPage: '<<', //$translate.instant('PagingFirstPage'), previousPage: '<', //$translate.instant('PagingPreviousPage'), nextPage:'>',// $translate.instant('PagingNextPage'), lastPage: '>>', //$translate.instant('PagingLastPage'), }; //初始化无形资产的ack-pagination $scope.intangibleAssetsPagingOptions = { pageIndex: 1, //当前页码 totalItems: 0, //总数据 totalPages: 10,//总页数 maxSize: 5, //分页数字的限制。 pageSize: constant.page.pageSizeArrary[0], //每页多少条数据 pageSizeString: constant.page.pageSizeArrary[1].toString(), firstPage: '<<', //$translate.instant('PagingFirstPage'), previousPage: '<', //$translate.instant('PagingPreviousPage'), nextPage:'>',// $translate.instant('PagingNextPage'), lastPage: '>>', //$translate.instant('PagingLastPage'), }; //赋值 $scope.fixedAssetPagingOptions = $scope.fixedAssetPagingOptions; $scope.longTermPendingPagingOptions = $scope.longTermPendingPagingOptions; $scope.intangibleAssetsPagingOptions = $scope.intangibleAssetsPagingOptions; $scope.hideSelector = $scope.hidePageSizeSelector ? true : false; //获取固定资产二级分类的数据 var getAllFixedAssetDetailGroup = function(assetGroupType){ var pageIndex = 1; var pageSize = 10; if(assetGroupType == '1'){ pageIndex = $scope.fixedAssetPagingOptions.pageIndex; pageSize = $scope.fixedAssetPagingOptions.pageSize; }else if(assetGroupType == '2'){ pageIndex = $scope.longTermPendingPagingOptions.pageIndex; pageSize = $scope.longTermPendingPagingOptions.pageSize; }else{ pageIndex = $scope.intangibleAssetsPagingOptions.pageIndex; pageSize = $scope.intangibleAssetsPagingOptions.pageSize; } assetGroupService.getAllFixedAssetDetailGroup(assetGroupType,pageIndex,pageSize).success(function(fixedAssetData){ if(assetGroupType == '1'){ $scope.fixedAssetData = fixedAssetData.data['detailGroup'].list; initFixedAssetPagingControl(fixedAssetData.data['totalItem']); }else if(assetGroupType == '2'){ $scope.longTermPendingData = fixedAssetData.data['detailGroup'].list; initLongTermPagingControl(fixedAssetData.data['totalItem']); }else{ $scope.intangibleAssetsData = fixedAssetData.data['detailGroup'].list; initIntangibleAssetsPagingControl(fixedAssetData.data['totalItem']); } }).error(function(){ SweetAlert.error("获取类型为"+assetGroupType+"的资产数据出错"); }); }; //获取资产二级分类的数据 var getAllAssetDetailGroup = function(){ assetGroupService.getAllAssetDetailGroup().success(function(resultData){ $scope.fixedAssetData = resultData.data['1'];//1代表固定资产,获取返回数据map的key $scope.longTermPendingData = resultData.data['2'];//2代表固定资产,获取返回数据map的key $scope.intangibleAssetsData = resultData.data['3'];//3代表固定资产,获取返回数据map的key }).error(function(){ SweetAlert.error("获取资产数据出错"); }); }; $scope.pagingService = { refreshFixedAssetDataGrid: function (assetGroupType) { $log.debug("refreshFixedAssetGrid"); getAllFixedAssetDetailGroup(assetGroupType); } }; var initFixedAssetPagingControl = function (totalItemsCount) { $scope.fixedAssetPagingOptions.totalItems = totalItemsCount; }; var initLongTermPagingControl = function (totalItemsCount) { $scope.longTermPendingPagingOptions.totalItems = totalItemsCount; }; var initIntangibleAssetsPagingControl = function (totalItemsCount) { $scope.intangibleAssetsPagingOptions.totalItems = totalItemsCount; }; var editModalSelector = ".fixed-assets-rule-enginee #edit-modal"; var mappingModalSelector = ".fixed-assets-rule-enginee #map-modal"; //清空 $scope.resetFixedAssetsObject = function () { $scope.fixedAssetsObject = { detailGroupType: "", detailGroupName: "", groupYear: "" }; }; //创建--固定资产 $scope.createNewData = function (type) { $scope.isEdit = false; $scope.assetGroupType = type; $scope.resetFixedAssetsObject(); //根据当前资产的一级分类判断当前modal需要显示的标签 if (type == "1"){ $scope.assetAdd = "StandardFixedAssetsAdd"; $scope.assetEdit = "StandardFixedAssetsEdit"; $scope.assetCode = "FixedAssetsCode"; $scope.assetName = "FixedAssetsName"; $scope.assetAgeLimit = "FixedAssetsAgeLimit"; } else if(type == "2") { $scope.assetAdd = "LongTermPendingAdd"; $scope.assetEdit = "LongTermPendingEdit"; $scope.assetCode = "LongTermPendingCode"; $scope.assetName = "LongTermPendingName"; $scope.assetAgeLimit = "LongTermPendingAgeLimit"; } else if(type == "3") { $scope.assetAdd = "IntangibleAssetsAdd"; $scope.assetEdit = "IntangibleAssetsEdit"; $scope.assetCode = "IntangibleAssetsCode"; $scope.assetName = "IntangibleAssetsName"; $scope.assetAgeLimit = "IntangibleAssetsAgeLimit"; } $(editModalSelector).modal('show'); }; //保存当前正在编辑数据行,经过界面初步校验后才会进入本功能 $scope.saveEditRow = function () { //给fixedAssetsObject实体赋予属性assetGroupType并赋值 $scope.fixedAssetsObject.assetGroupType = $scope.assetGroupType; if($scope.isEdit){ assetGroupService.updateAssetDetailGroup($scope.fixedAssetsObject).success(function () { $(editModalSelector).modal('hide'); getAllFixedAssetDetailGroup($scope.assetGroupType); // getAllAssetDetailGroup(); }); }else{ assetGroupService.addAssetDetailGroup($scope.fixedAssetsObject).success(function () { if ($scope.fixedAssetsObject.groupYear) $scope.fixedAssetsObject.groupYear = $scope.fixedAssetsObject.groupYear + "年"; // $scope.fixedAssetData.push($scope.fixedAssetsObject); $(editModalSelector).modal('hide'); getAllFixedAssetDetailGroup($scope.assetGroupType); // getAllAssetDetailGroup(); }); } }; //取消保存当前编辑行 $scope.cancelEditOS = function () { $(editModalSelector).modal('hide'); }; //删除 $scope.delete = function (data) { assetGroupService.deleteAssetDetailGroup(data.id).success(function(){ getAllFixedAssetDetailGroup(data.assetGroupType); // var index = $scope.fixedAssetData.indexOf(data); // if (index !== -1) { // $scope.fixedAssetData.splice(index, 1); // } }).error(function () { SweetAlert.error("删除失败!") }); }; $scope.editRow = function (data,type) { $scope.assetGroupType = type; $scope.isEdit = true; $scope.fixedAssetsObject = angular.copy(data) if (data.year) { var m = data.year.substring(0, data.year.length - 1); $scope.fixedAssetsObject.year = m; } //根据当前资产的一级分类判断当前modal需要显示的标签 if (type == "1"){ $scope.assetAdd = "StandardFixedAssetsAdd"; $scope.assetEdit = "StandardFixedAssetsEdit"; $scope.assetCode = "FixedAssetsCode"; $scope.assetName = "FixedAssetsName"; $scope.assetAgeLimit = "FixedAssetsAgeLimit"; } else if(type == "2") { $scope.assetAdd = "LongTermPendingAdd"; $scope.assetEdit = "LongTermPendingEdit"; $scope.assetCode = "LongTermPendingCode"; $scope.assetName = "LongTermPendingName"; $scope.assetAgeLimit = "LongTermPendingAgeLimit"; } else if(type == "3") { $scope.assetAdd = "IntangibleAssetsAdd"; $scope.assetEdit = "IntangibleAssetsEdit"; $scope.assetCode = "IntangibleAssetsCode"; $scope.assetName = "IntangibleAssetsName"; $scope.assetAgeLimit = "IntangibleAssetsAgeLimit"; } $(editModalSelector).modal('show'); }; $scope.editMapping = function (data) { $scope.mappingData = data.mapData; $(mappingModalSelector).modal('show'); $timeout(function () { loadDetailMap(); }, 100); }; $scope.deleteMap = function (data) { var index = $scope.mappingData.indexOf(data); if (index !== -1) { $scope.mappingData.splice(index, 1); } }; $scope.saveMapRow = function () { $(mappingModalSelector).modal('hide'); }; //初始化invoice datagrid 树,固定资产grid var InitInvoiceFixedAssetsGrid = function () { var allowFilter = false; $scope.fixedAssetsGridOptions = { bindingOptions: { dataSource: 'fixedAssetData', }, hoverStateEnabled: true, headerFilter: { visible: true, height: 300, }, selection: { mode: "single" }, paging: { enabled: false, }, allowColumnResizing: true, columnAutoWidth: true, showRowLines: true, showColumnLines: true, //rowAlternationEnabled: true, showBorders: true, noDataText: $translate.instant('NoDataText'), selectAllText: $translate.instant('SelectAll'), onContentReady: function (e) { $scope.invoiceGridInstance = e.component; }, columns: [ { dataField: 'detailGroupType', caption: $translate.instant('FixedAssetsCode'), allowHeaderFiltering: allowFilter, alignment: 'left', width: 150 }, { dataField: 'detailGroupName', caption: $translate.instant('FixedAssetsName'), allowHeaderFiltering: allowFilter, width: 450 }, { dataField: 'groupYear', caption: $translate.instant('FixedAssetsAgeLimit'), width: 100, allowHeaderFiltering: allowFilter }, { dataField: 'id', caption: $translate.instant('Operation'), allowHeaderFiltering: allowFilter, alignment: 'center', cellTemplate: function (container, options) { try { var data = options.data; $("<span class='span-btn' />") .text($translate.instant('Edit')) .on('click', function () { $scope.editRow(data,'1'); }) .appendTo(container); $("<span class='span-btn' />") .text($translate.instant('Delete')) .on('click', function () { $scope.delete(data); }) .appendTo(container); // $("<span class='span-btn' />") // .text($translate.instant('CorrespondenceMaintain')) // .on('click', function () { // $scope.editMapping(data); // }) // .appendTo(container); } catch (e) { $log.error(e); } } }, ], }; }; //初始化invoice datagrid 树,长期待摊grid var InitInvoiceLongTermPendingGrid = function () { var allowFilter = false; $scope.longTermPendingGridOptions = { bindingOptions: { dataSource: 'longTermPendingData', }, hoverStateEnabled: true, headerFilter: { visible: true, height: 300, }, selection: { mode: "single" }, paging: { enabled: false, }, allowColumnResizing: true, columnAutoWidth: true, showRowLines: true, showColumnLines: true, //rowAlternationEnabled: true, showBorders: true, noDataText: $translate.instant('NoDataText'), selectAllText: $translate.instant('SelectAll'), onContentReady: function (e) { $scope.invoiceGridInstance = e.component; }, columns: [ { dataField: 'detailGroupType', caption: $translate.instant('LongTermPendingCode'), allowHeaderFiltering: allowFilter, alignment: 'left', width: 150 }, { dataField: 'detailGroupName', caption: $translate.instant('LongTermPendingName'), allowHeaderFiltering: allowFilter, width: 450 }, { dataField: 'groupYear', caption: $translate.instant('LongTermPendingAgeLimit'), width: 100, allowHeaderFiltering: allowFilter }, { dataField: 'id', caption: $translate.instant('Operation'), allowHeaderFiltering: allowFilter, alignment: 'center', cellTemplate: function (container, options) { try { var data = options.data; $("<span class='span-btn' />") .text($translate.instant('Edit')) .on('click', function () { $scope.editRow(data,'2'); }) .appendTo(container); $("<span class='span-btn' />") .text($translate.instant('Delete')) .on('click', function () { $scope.delete(data); }) .appendTo(container); // $("<span class='span-btn' />") // .text($translate.instant('CorrespondenceMaintain')) // .on('click', function () { // $scope.editMapping(data); // }) // .appendTo(container); } catch (e) { $log.error(e); } } }, ], }; }; //初始化invoice datagrid 树,无形资产grid var InitInvoiceIntangibleAssetsGrid = function () { var allowFilter = false; $scope.intangibleAssetsGridOptions = { bindingOptions: { dataSource: 'intangibleAssetsData', }, hoverStateEnabled: true, headerFilter: { visible: true, height: 300, }, selection: { mode: "single" }, paging: { enabled: false, }, allowColumnResizing: true, columnAutoWidth: true, showRowLines: true, showColumnLines: true, //rowAlternationEnabled: true, showBorders: true, noDataText: $translate.instant('NoDataText'), selectAllText: $translate.instant('SelectAll'), onContentReady: function (e) { $scope.invoiceGridInstance = e.component; }, columns: [ { dataField: 'detailGroupType', caption: $translate.instant('IntangibleAssetsCode'), allowHeaderFiltering: allowFilter, alignment: 'left', width: 150 }, { dataField: 'detailGroupName', caption: $translate.instant('IntangibleAssetsName'), allowHeaderFiltering: allowFilter, width: 450 }, { dataField: 'groupYear', caption: $translate.instant('IntangibleAssetsAgeLimit'), width: 100, allowHeaderFiltering: allowFilter }, { dataField: 'id', caption: $translate.instant('Operation'), allowHeaderFiltering: allowFilter, alignment: 'center', cellTemplate: function (container, options) { try { var data = options.data; $("<span class='span-btn' />") .text($translate.instant('Edit')) .on('click', function () { $scope.editRow(data,'3'); }) .appendTo(container); $("<span class='span-btn' />") .text($translate.instant('Delete')) .on('click', function () { $scope.delete(data); }) .appendTo(container); // $("<span class='span-btn' />") // .text($translate.instant('CorrespondenceMaintain')) // .on('click', function () { // $scope.editMapping(data); // }) // .appendTo(container); } catch (e) { $log.error(e); } } }, ], }; }; var loadDetailMap = function () { var allowFilter = false; $scope.fixedAssetsMapGridOptions = { bindingOptions: { dataSource: 'mappingData', }, //dataSource:$scope.mappingData, hoverStateEnabled: true, headerFilter: { visible: true, height: 300, }, selection: { mode: "single" }, paging: { enabled: false, }, allowColumnResizing: true, columnAutoWidth: true, showRowLines: true, showColumnLines: true, //rowAlternationEnabled: true, showBorders: true, noDataText: $translate.instant('NoDataText'), selectAllText: $translate.instant('SelectAll'), onContentReady: function (e) { $scope.invoiceGridInstance = e.component; }, columns: [ { dataField: 'name', caption: $translate.instant('FixedAssetsClassify'), allowHeaderFiltering: allowFilter, alignment: 'left', width: 300 }, { dataField: 'keyValue', caption: $translate.instant('CompanyFixedAssetKeyValue'), allowHeaderFiltering: allowFilter, width: 300 }, { dataField: 'id', caption: $translate.instant('Operation'), allowHeaderFiltering: allowFilter, alignment: 'center', cellTemplate: function (container, options) { try { var data = options.data; $("<span class='span-btn' />") .text($translate.instant('Delete')) .on('click', function () { $scope.deleteMap(data); }) .appendTo(container); } catch (e) { $log.error(e); } } }, ], }; }; //-----------custom table---end-------------------------- (function initalization() { InitInvoiceFixedAssetsGrid(); InitInvoiceLongTermPendingGrid(); InitInvoiceIntangibleAssetsGrid(); loadDetailMap(); getAllFixedAssetDetailGroup(1); getAllFixedAssetDetailGroup(2); getAllFixedAssetDetailGroup(3); // getAllAssetDetailGroup(); })(); }]);