OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-12-27 bd0cc703f0a21cc04c359a96dfb11873e38148d5
src/main/webapp/scripts/app/issue/issueAddTableConfig.controller.js
@@ -8,14 +8,15 @@
        'angular'
    ],
    function (app, angular) {
        app.controller('issueAddTableConfigController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'SweetAlert', '$timeout', 'IssueTableConfig', 'IssueTypeCustomField', '$q', '$filter', 'parameter',
            function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, SweetAlert, $timeout, IssueTableConfig, IssueTypeCustomField, $q, $filter, parameter) {
        app.controller('issueAddTableConfigController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'SweetAlert', '$timeout', 'IssueTableConfig', 'Issue', 'IssueTypeCustomField', '$q', '$filter', 'parameter',
            function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, SweetAlert, $timeout, IssueTableConfig, Issue, IssueTypeCustomField, $q, $filter, parameter) {
                //  함수 모음
                $scope.fn = {
                    cancel : cancel,    //  팝업 창 닫기
                    formSubmit : formSubmit,    //  폼 전송
                    formCheck : formCheck,  //  폼 체크
                    getUsePartner : getUsePartner,
                    getCustomFields : getCustomFields,   //  사용자 정의 필드 목록을 가져온다.
                    getIssueAddTableConfigs : getIssueAddTableConfigs //  이슈 목록 테이블 설정 정보를 가져온다.
                };
@@ -85,7 +86,6 @@
                        position : 8,
                        display : false,
                        checkboxShow : true
                    }, {
                    }]
                };
@@ -135,6 +135,24 @@
                    $(document).unbind("keydown");  //  단축키 이벤트 제거
                }
                //  이슈유형 별 파트너 목록
                function getUsePartner() {
                    var deferred = $q.defer();
                    $scope.vm.partners = [];
                    Issue.findPartners($resourceProvider.getContent({issueTypeId : $rootScope.getCurrentIssueTypeId()},
                        $resourceProvider.getPageContent(0, 1))).then(function (result) {
                        if (result.data.message.status === "success") {
                            $scope.vm.partnerVos = result.data.data;
                        }
                        else {
                            SweetAlert.swal($filter("translate")("issue.failedToPartnerListLookup"), result.data.message.message, "error"); // 파트너 목록 조회 실패
                        }
                        deferred.resolve(result.data.data);
                    });
                    return deferred.promise;
                }
                //  사용자 정의 필드 목록을 가져온다.
                function getCustomFields() {
                    var deferred = $q.defer();
@@ -152,7 +170,7 @@
                }
                var content = {
                    delValue : $scope.vm.issueTableConfigs.splice(9,1),
                    //delValue : $scope.vm.issueTableConfigs.splice(12,1),
                    issueTableConfigs : JSON.stringify($scope.vm.issueTableConfigs),
                    issueTypeId : $rootScope.getCurrentIssueTypeId()
                };
@@ -179,9 +197,32 @@
                    return deferred.promise;
                }
                //  파트너를 조회한 후 표시할 이슈 테이블 컬럼을 준비한다.
                $scope.fn.getUsePartner().then(function (result) {
                    var count = 9;
                    angular.forEach(result, function (partner) {
                        $scope.vm.issueTableConfigs.push({
                            name : partner.name,
                            key : (function () {
                                var key = "";
                                if (partner.name === "업체") {
                                    key = "COMPANY";
                                } else if(partner.name === "ISP") {
                                    key = "ISP";
                                } else {
                                    key = "HOSTING";
                                }
                                return key;
                            })(),
                            width : "width-100-p",
                            display : false,
                            checkboxShow : true,
                            position : count
                        });
                        count++;
                    });
                //  사용자 정의 필드를 조회한 후 표시할 이슈 테이블 컬럼을 준비한다.
                $scope.fn.getCustomFields().then(function (result) {
                    var count = 8;
                    angular.forEach(result, function (customField) {
                        $scope.vm.issueTableConfigs.push({
                            name : customField.name,
@@ -191,7 +232,6 @@
                            checkboxShow : true,
                            position : count
                        });
                        count++;
                    });
@@ -219,6 +259,7 @@
                            $rootScope.spinner = false;
                        }
                    });
                    })
                });
            }]);