message.js 2.95 KB
(function () {
    "use strict";
    angular.module('xn.page', [])

    /**
     *
     *消息列表控制器
     */
    .controller("MessageIndexCtrl", function ($scope, $http, FoundationService, $modal) {
        //获取id
        var vm = $scope.vm = {
            htmlSource: "",
            showErrorType: 2  ,//集中显示
            select:"全选"
        };
        //页面加载日志信息
        $scope.getMessageList = function() {
            FoundationService.getMessageList().success(function (data) {
                $scope.messages = data.messageList;
            });
        };
        $scope.getMessageList();

        //页面加载已读消息
        $scope.getReadedMessageList = function() {
            FoundationService.getReadedMessageList().success(function (data) {
                $scope.readedMessages = data.messageList;
            });
        };
        $scope.getReadedMessageList();
        //全选与非全选
        $scope.selectAll = function () {
            var app = $scope.select;
            angular.forEach($scope.messages, function (f) {
                f.selected = app;
            });
        };
        //点击子节全部选中时上级节点被选中
        $scope.selectItems = function () {
            // 如果有任何一个子节点被选中,则让上级节点也选中
            var i = 0;
            var j = 0;
            angular.forEach($scope.messages, function (f) {
                i++;
                if (true == f.selected) {
                    j++;
                }
            });
            if (i == j) {
                $scope.select = true;
            }
            else if (i > j) {
                $scope.select = false;
            }
        };
        // 标记已读
        $scope.doRead = function () {
            var messageIdList = [];
            angular.forEach($scope.messages, function (f) {
                if (f.selected) {
                    messageIdList.push(f.id);
                }
            });
            //页面加载已读消息
            FoundationService.doRead(messageIdList).success(function (data) {
                $scope.getMessageList();
                $scope.getReadedMessageList();
            });
        };

        var cardFunction = function(templateUrl){
            return function(id){
                $scope.messageDetailId = id;
                $modal.open({
                    controller:function ($scope,$modalInstance) {
                        $scope.cancel = function () {
                            $scope.getMessageList();
                            $scope.getReadedMessageList();
                            $modalInstance.dismiss("cancel");
                        };
                    },
                    scope:$scope,
                    templateUrl: templateUrl,
                    resolve: {data: function () {return {};}}
                });
            };
        };
        $scope.getMessageDetail = cardFunction("messageDetail.html");
    });
})();