OWL ITS + 탐지시스템(인터넷 진흥원)
wyu
2021-12-20 813a0495502daa59e5c78ecffb66db48d4cf9720
src/main/webapp/scripts/app/issue/issueList.controller.js
@@ -24,6 +24,7 @@
                    add : add,   //  이슈 생성
                    modify : modify,    //  이슈 수정
                    addRelationIssueForm : addRelationIssueForm,    //  연관 이슈 추가
                    addDownIssueForm : addDownIssueForm,    //  하위 이슈 추가
                    modifyMultiIssueStatus : modifyMultiIssueStatus,    //  이슈 다중 상태 변경
                    removes : removes,  //  이슈 삭제
                    addIssueTableConfig : addIssueTableConfig,    //  이슈 목록 테이블 설정
@@ -47,6 +48,7 @@
                //  변수
                $scope.vm = {
                    projectId : "",
                    issueTypeId : "",
                    partnerVos : "",
                    search : {
@@ -90,7 +92,8 @@
                    issueTableConfigs : [],  //  이슈 테이블 설정
                    issueTreeConfigs : [],  //  이슈 테이블 설정
                    parentIssueId : "",
                    hideIssue : false,
                    hideCompleteIssue : false,
                    hideDownIssue : true,
                    listMode : 0, // 목록 모드 0:기본 리스트 1:트리구조 리스트
                };
@@ -101,10 +104,20 @@
                angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector}));
                // 이슈목록 새로고침 목록 갱신
                $scope.$on("findIssueListOK", function (event, args) {
                    if (args != null) {
                        $scope.fn.startExecute();
                    }
                });
                //  이슈 목록 데이터 갱신
                $scope.$on("getIssueList", function () {
                    $scope.fn.getPageList($scope.vm.page.selectedPage - 1);
                });
                // 이슈 목록 새로고침
                $rootScope.$on("getIssueList", function (event, args) {})
                //  이슈 테이블 설정 정보 갱신
                $scope.$on("getIssueTableConfigs", function () {
@@ -113,6 +126,12 @@
                $scope.$on("changedIssueListMenu", function (event, args) {
                    $scope.fn.getPageList($scope.vm.page.selectedPage - 1);
                });
                // 상단 검색시
                $scope.$on("searchIssueList", function (event, args) {
                    $scope.vm.search.keyWord = args.keyWord;
                    $scope.fn.getPageList(0);
                });
                //  검색 조건을 기억한다. - 적용 보류
@@ -434,7 +453,8 @@
                        endStartDate : "",
                        beginCompleteDate : "",
                        endCompleteDate : "",
                        hideIssue : $scope.vm.hideIssue,
                        hideCompleteIssue: $scope.vm.hideCompleteIssue,
                        hideDownIssue : $scope.vm.hideDownIssue,
                        isTree : $scope.vm.listMode === 1,
                        projectIds : (function () {
                            var projectIds = [];
@@ -567,8 +587,12 @@
                        selectedPage = 0;
                    }
                    if ($scope.vm.hideIssue) {
                        $scope.vm.hideIssue = true;
                    if ($scope.vm.hideCompleteIssue) {
                        $scope.vm.hideCompleteIssue = true;
                    }
                    if ($scope.vm.hideDownIssue) {
                        $scope.vm.hideDownIssue = true;
                    }
                    //  현재 페이지 정보
                    var currentPage = 0;
@@ -581,26 +605,29 @@
                        currentPage = selectedPage;
                    }
                    // 메뉴에서 선택된 이슈 유형을 기본으로 추가
                    if ($rootScope.issueTypeMenu != null) {
                        // $scope.vm.pageTitle = $rootScope.issueTypeMenu.name;
                        $scope.vm.search.issueTypeIds = [];
                        $scope.vm.search.issueTypeIds.push({
                            fieldKey : $rootScope.issueTypeMenu.id,
                            fieldValue : $rootScope.issueTypeMenu.name
                        });
                    }
                    // 검색 기본값 세팅
                    $scope.vm.search.issueTypeIds = [];
                    $scope.vm.projects = [];
                    if (!$rootScope.isMainSearch) {
                        // 메뉴에서 선택된 이슈 유형을 기본으로 추가
                        if ($rootScope.issueTypeMenu != null) {
                            //$scope.vm.pageTitle = $rootScope.issueTypeMenu.name;
                    //  검색 조건을 저장한다.
                    //$scope.fn.makeVmSearchObject();
                            $scope.vm.search.issueTypeIds.push({
                                fieldKey: $rootScope.issueTypeMenu.id,
                                fieldValue: $rootScope.issueTypeMenu.name
                            });
                        }
                        //  검색 조건을 저장한다.
                        //$scope.fn.makeVmSearchObject();
                    // 현재 선택된 프로젝트를 검색 기본으로 추가
                    if ($rootScope.workProject != null && $rootScope.workProject.id > -1) {
                        var find = findProjectSearch($rootScope.workProject.id);
                        if (!find) {
                            $scope.vm.projects = [];
                            $scope.vm.projects.push($rootScope.workProject);
                        // 현재 선택된 프로젝트를 검색 기본으로 추가
                        if ($rootScope.workProject != null && $rootScope.workProject.id > -1) {
                            var find = findProjectSearch($rootScope.workProject.id);
                            if (!find) {
                                $scope.vm.projects.push($rootScope.workProject);
                            }
                        }
                    }
@@ -611,6 +638,21 @@
                        $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) {
                        if (result.data.message.status === "success") {
                            if (result.data.data !=  null && result.data.data.length > 0) {
                                //var resultSize = result.data.data.length;
                                for (var i = 0; i < result.data.data.length; i++) {
                                    /*if (result.data.data[i].parentIssueId != null) {//하위이슈는 리스트에서 삭제
                                        result.data.data.splice(i, 1);
                                        i--;
                                    }else*/
                                    if ($scope.vm.search.issueTypeIds !== null && $scope.vm.search.issueTypeIds.length > 0
                                                && result.data.data[i].issueTypeId !== $scope.vm.search.issueTypeIds[0].fieldKey) { //이슈타입 체크
                                        result.data.data.splice(i, 1);
                                        i--;
                                    }
                                }
                            }
                            if (result.data.data !=  null && result.data.data.length > 0) {
                                $scope.vm.issueTypeId = result.data.data[0].issueTypeId;
                                $scope.vm.projectKey = result.data.data[0].projectKey;
@@ -710,6 +752,7 @@
                    angular.forEach($scope.vm.responseData.data, function (data) {
                        if (data.checked) {
                            issueIds.push(data.id);
                            $scope.vm.projectId = data.projectId;
                        }
                    });
@@ -726,7 +769,8 @@
                        resolve : {
                            parameter : function () {
                                return {
                                    issueIds : issueIds
                                    issueIds : issueIds,
                                    projectId : $scope.vm.projectId
                                };
                            }
                        }
@@ -755,6 +799,22 @@
                        templateUrl : 'views/issue/issueAddRelation.html',
                        size : "lg",
                        controller : 'issueAddRelationController',
                        backdrop : 'static',
                        resolve : {
                            parameter : function () {
                                return {
                                    id : id,
                                };
                            }
                        }
                    });
                }
                function addDownIssueForm(id) {
                    $uibModal.open({
                        templateUrl : 'views/issue/issueAddDown.html',
                        size : "lg",
                        controller : 'issueAddDownController',
                        backdrop : 'static',
                        resolve : {
                            parameter : function () {
@@ -1225,6 +1285,12 @@
                    });
                }
                // this.router.navigate(['path/to'])
                //     .then(() => {
                //         window.location.reload();
                //     });
                $scope.fn.startExecute();
            }