码迷,mamicode.com
首页 > Web开发 > 详细

较完整的angularjs+bootstrap应用程序接口controller

时间:2016-06-15 01:43:34      阅读:406      评论:0      收藏:0      [点我收藏+]

标签:

define(["app"],function(app){

return app.controller("transactionsFundController", function($scope,$compile,$location) {
$scope.transactionsFund={};//定义对象
$scope.transactionsFundList=[];//定义对象数组

$scope.pages = 1; //默认查询总页数
$scope.size = 0; //默认每页显示条数
$scope.total = 0;


//清空模态框
$(".modal").on("hidden.bs.modal",function(){
$(this).removeData("bs.modal");
});
$(‘#myModal‘).on(‘shown.bs.modal‘, function () {

$("#myModal").html($compile($("#myModal").html())($scope));
});
$(‘#myModalModify‘).on(‘shown.bs.modal‘, function () {
$("#myModalModify").html($compile($("#myModalModify").html())($scope));
});

/************加载执行方法*******************/
$scope.load = function() {

$scope.queryList();

};
/************查询列表*******************/
$scope.queryList=function (){

$scope.transactionsFund.page=1;
$scope.transactionsFund.size=20;
DataCenter.find("TransactionsFund", $scope.transactionsFund);
}
/************列表返回*******************/
DataCenter.addEventListener("TransactionsFundList", function(e){
console.log("XXXXXXXXXXXXXXXXXXX"+e.data);
$scope.transactionsFundList = e.data.list;
$scope.pages = e.data.pages;
$scope.page = e.data.pageNum;
$scope.size= e.data.size;
$scope.total= e.data.total;
$scope.$apply();
});
DataCenter.addEventListener("TranFundList", function(){
$scope.transactionsFund.page=1;
$scope.transactionsFund.size=20;
DataCenter.find("TransactionsFund", $scope.transactionsFund);
});

//==================modify=======================

$scope.modifys = function (id) {
$location.search(‘FUND_ID_MDF‘, id);
}

//=====================删除==============================

//删除
$scope.del = function (id) {
$location.search(‘FUND_ID_MDF‘, id);
console.log("##################",id);


if(confirm(‘确认删除?‘)){
DataCenter.modify("TransactionsFund/del", {ID: id, STT: 99}, id);
}

};
DataCenter.addEventListener("delFund",function(e){

DataCenter.find("TransactionsFund", $scope.transactionsFund);
DataCenter.addEventListener("delFund",function(e){
alert(‘删除成功!‘);

});
});

//--------------页数选择--------------
$scope.selectPage = function(page){
if(page!=null&&page>0&&page<=$scope.pages){
$scope.transactionsProcesss.page=page;
$scope.transactionsProcesss.size=5;

DataCenter.find("TransactionsProcess", $scope.transactionsProcesss);
}else if(page>$scope.pages){
$("#errInfo").html("输入页数不能大于总页数!");
$(‘#errModal‘).modal(‘show‘);
}else if(page==0){
$("#errInfo").html("没有记录!");
$(‘#errModal‘).modal(‘show‘);
}else{
$("#errInfo").html("页数不能为空!");
$(‘#errModal‘).modal(‘show‘);
}
};

}).directive(‘pagination‘, function(){//动态分页显示
return {
restrict: ‘E‘,
scope: {
numPages: ‘=‘,
currPage: ‘=‘,
onSelectPage: ‘&‘
},

template: ‘<ul class="pagination">‘
+‘<li ng-class="{disabled: noPreviousPage()}">‘
+‘<a ng-click="selectHomePage()" href="">首页</a>‘
+‘</li>‘

+‘<li ng-class="{disabled: noPreviousPage()}">‘
+‘<a ng-click="selectPreviousPage()" href="">上一页</a>‘
+‘</li>‘

+‘<li ng-repeat="page in pages" ng-class="{active: isActivePage(page)}">‘
+‘<a ng-click="selectPage(page)" href="">{{page}}</a>‘
+‘</li>‘

+‘<li ng-class="{disabled: noNextPage()}">‘
+‘<a ng-click="selectNextPage()" href="">下一页</a>‘
+‘</li>‘

+‘<li ng-class="{disabled: noNextPage()}">‘
+‘<a ng-click="selectBackPage()" href="">尾页</a>‘
+‘</li>‘
+‘</ul>‘,

replace: true,
link: function(s){
/***************currPage监听事件*********************/
s.$watch(‘currPage‘, function(value){
s.pages = []; //定义一个数组供ng-repeat使用
if(s.numPages>=10){ //当总页数大于10的时候 (以10为分界线是因为每次显示的页面进制为10)

if(s.currPage>=Math.floor((s.numPages)/10)*10){ //当前页大于Math.floor((最后一页)/10)*10) 。将与最后一页十位相同的所有页数遍历出来

if(s.numPages%10!=0){
for(var i=-1;i<=s.numPages%10;i++){
s.pages.push(Math.floor(s.numPages/10)*10+i);
}
}else{
for(var i=-10;i<=0;i++){
s.pages.push(Math.floor(s.numPages/10)*10+i);
}
}

}else if(s.currPage<Math.floor(s.numPages/10)*10){ //当前页小于Math.floor((最后一页)/10)*10) 。将与当前页十位相同的所有页数遍历出来

for(var i=-1;i<=10;i++){
if(Math.floor(s.currPage/10)*10+i>0){
s.pages.push(Math.floor(s.currPage/10)*10+i);
}
};
//最后一页显示出来 提示总页数
}

}else if(s.numPages<10){ //当总页数小于10的时候 把所有页数都显示出来

for(var i=1;i<=s.numPages;i++){
s.pages.push(i);
}

}

if(s.currPage > value){
s.selectPage(value);
}
});

/***************numPages监听事件*********************/
s.$watch(‘numPages‘, function(value){
s.pages = []; //定义一个数组供ng-repeat使用
if(s.numPages>=10){ //当总页数大于10的时候 (以10为分界线是因为每次显示的页面进制为10)

if(s.currPage>=Math.floor((s.numPages)/10)*10){ //当前页大于Math.floor((最后一页)/10)*10) 。将与最后一页十位相同的所有页数遍历出来

if(s.numPages%10!=0){
for(var i=-1;i<=s.numPages%10;i++){
s.pages.push(Math.floor(s.numPages/10)*10+i);
}
}else{
for(var i=-10;i<=0;i++){
s.pages.push(Math.floor(s.numPages/10)*10+i);
}
}

}else if(s.currPage<Math.floor(s.numPages/10)*10){ //当前页小于Math.floor((最后一页)/10)*10) 。将与当前页十位相同的所有页数遍历出来

for(var i=-1;i<=10;i++){
if(Math.floor(s.currPage/10)*10+i>0){
s.pages.push(Math.floor(s.currPage/10)*10+i);
}
};
//最后一页显示出来 提示总页数
}

}else if(s.numPages<10){ //当总页数小于10的时候 把所有页数都显示出来

for(var i=1;i<=s.numPages;i++){
s.pages.push(i);
}

}

if(s.currPage > value){
s.selectPage(value);
}
});


//判断是否有上一页
s.noPreviousPage = function(){
return s.currPage === 1;
};

//判断是否有下一页
s.noNextPage = function(){
return s.currPage === s.numPages;
};

//判断当前页是否被选中
s.isActivePage = function(page){
return s.currPage===page;
};

//选择页数
s.selectPage = function(page){
if(!s.isActivePage(page)){
s.currPage = page;
s.onSelectPage({ page:page });
}
};

//选择下一页
s.selectNextPage = function(){
if(!s.noNextPage()){
s.selectPage(s.currPage+1);
}
};

//选择上一页
s.selectPreviousPage = function(){
if(!s.noPreviousPage()){
s.selectPage(s.currPage-1);
}
};
//选择首页
s.selectHomePage = function(){
s.selectPage(1);
};
//选择尾页
s.selectBackPage = function(){
s.selectPage(s.numPages);
};
}
};
});//end page

});;

较完整的angularjs+bootstrap应用程序接口controller

标签:

原文地址:http://www.cnblogs.com/shunzdd/p/5586005.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!