angular--$q.all()

前端之家收集整理的这篇文章主要介绍了angular--$q.all()前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
angular.module('design',[])
//服务引擎管理服务
.factory("designService",function ($http,$q,$log) {
    function post(uri,params) {
        return $http.post(uri,params)
        .error(function (error,status){
        	$log.log("status:"+status);
        	$log.log("error:"+error);//内部服务器错误
        })
        .then(function (resp) {
            if (resp.data && resp.data.success){
                return resp.data
            }else if (resp.data && resp.data.message) {
            	if(resp.data.message=="No login."){
            		window.location.href = "login.html";
            	}else{
            		return $q.reject(resp.data.message)
            	}
            }else {
                return $q.reject("操作失败")
            }
        },function (msg) {
			return $q.reject("网络超时,请检查网络!")
     	})
    }
    
	var api = {
		//查询结算单明细-收入
        getBusinessClearingIncomeDtail: function (obj) {
            return post("/query/clearing.queryClearing17",obj)
        },//查询结算单明细-支出
        getBusinessClearingExpendDetail: function (obj) {
            return post("/query/clearing.queryClearing18",obj)
        }
	}
    return api;
}

angular.module('businessClearing.detail',['design'])
	//模块管理控制器
	.controller('businessClearing.detail.Controller',function($scope,$filter,$rootScope,designService,$q) {

		$scope.formObj = {
			incomeMoneyTotle:0,expenditureMoneyTotle:0,accountsMoneyTotle:0,};
		
		function loadIncomeData(){
			/***
			 * 赋值企业基本信息
			 * */
			//查询结算单明细-收入
			return designService.getBusinessClearingIncomeDtail({settlementId:$scope.entity._id})
			.then(function(data) {
				$scope.gridOptions1.data = data.data;
				angular.forEach(data.data,function(node,index,arr){
					$scope.formObj.incomeMoneyTotle += parseInt(node.incomeMoney);
				})
			},function (msg) {
				alert(msg);
         	}) .then(function() {
				return $scope.formObj.incomeMoneyTotle;
		    });
		}
		
		function loadExpendData(){
			//查询结算单明细-支出
			return designService.getBusinessClearingExpendDetail({settlementId:$scope.entity._id})
			.then(function(data) {
				$scope.gridOptions2.data = data.data;
				angular.forEach(data.data,arr){
					$scope.formObj.expenditureMoneyTotle += parseInt(node.expenditureMoney);
				})
			},function (msg) {
				alert(msg);
         	}) .then(function() {
				return $scope.formObj.expenditureMoneyTotle;
		    });
		}
		
		$q.all([loadIncomeData(),loadExpendData()]).then(function(result){
	    	$scope.formObj.accountsMoneyTotle = $filter("currency")((result[0] + result[1])/100,"¥");
	    	$scope.formObj.expenditureMoneyTotle = $filter("currency")(result[1]/100,"¥");
	    	$scope.formObj.incomeMoneyTotle = $filter("currency")(result[0]/100,"¥");
		});
		
})

猜你在找的Angularjs相关文章