OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2022-01-12 3b019e5599dfb5d368f4e8fd50fb557f4679a645
src/main/webapp/scripts/app/ispField/ispFieldModify.controller.js
@@ -15,7 +15,11 @@
                    detail : detail,  //  상세 조회
                    cancel : cancel,    //  팝업 창 닫기
                    formSubmit : formSubmit,    //  폼 전송
                    formCheck : formCheck  //  폼 체크
                    formCheck : formCheck,  //  폼 체크
                    addTel : addTel,
                    addMail : addMail,
                    removeTelInput : removeTelInput,
                    removeMailInput : removeMailInput
                };
                $scope.vm = {
@@ -27,7 +31,11 @@
                        code : "",
                        email : "",  //이메일
                        url : "", // url
                        memo : ""  //메모(비고)
                        memo : "",  //메모(비고)
                        inputTels : [0],
                        tels : {},
                        inputMails : [0],
                        emails : {}
                    }
                };
@@ -48,8 +56,40 @@
                        code : $rootScope.preventXss($scope.vm.form.code),
                        name : $rootScope.preventXss($scope.vm.form.name),
                        manager : $rootScope.preventXss($scope.vm.form.manager),
                        tel : $rootScope.preventXss($scope.vm.form.tel),
                        email : $rootScope.preventXss($scope.vm.form.email),
                        tels : (function () {
                            var telList = [];
                            if ($scope.vm.form.tels != null) {
                                angular.forEach($scope.vm.form.tels, function (tel) {
                                    telList.push(tel);
                                });
                                telList  = telList.filter(function(item) { //쓰레기 데이터 필터링
                                    return item !== null && item !== undefined && item !== '';
                                });
                                telList  = telList.filter(function(item, idx){
                                    return telList.findIndex(function(item2, idx2){
                                        return item === item2
                                    }) == idx;
                                });
                            }
                            return telList;
                        })(),
                        emails : (function () {
                            var emailList = [];
                            if ($scope.vm.form.emails != null) {
                                angular.forEach($scope.vm.form.emails, function (email) {
                                    emailList.push(email);
                                });
                                emailList  = emailList.filter(function(item) { //쓰레기 데이터 필터링
                                    return item !== null && item !== undefined && item !== '';
                                });
                                emailList  = emailList.filter(function(item, idx){
                                    return emailList.findIndex(function(item2, idx2){
                                        return item === item2
                                    }) == idx;
                                });
                            }
                            return emailList;
                        })(),
                        url : $rootScope.preventXss($scope.vm.form.url), // url
                        memo : $rootScope.preventXss($scope.vm.form.memo)
                    };
@@ -73,6 +113,54 @@
                }
                // 메일 주소 input 창 추가 버튼
                function addTel() {
                    var arrayFull = true;      // 배열이 가득 차 있는지 여부
                    var index = 0;
                    $scope.vm.form.inputTels.forEach(function (tel) {
                        if (!$rootScope.isDefined($scope.vm.form.tels[index])) {
                            arrayFull = false;
                        }
                        index++;
                    });
                    if (arrayFull) {
                        $scope.vm.form.inputTels.push(index);
                        $scope.vm.form.tels[index] = "";
                    } else {
                        SweetAlert.warning($filter("translate")("companyField.writeCompanyTel"), $filter("translate")("companyField.writeTel")); // 추가버튼 경고
                    }
                }
                // 메일 주소 input 창 추가 버튼
                function addMail() {
                    var arrayFull = true;      // 배열이 가득 차 있는지 여부
                    var index = 0;
                    $scope.vm.form.inputMails.forEach(function (email) {
                        if (!$rootScope.isDefined($scope.vm.form.emails[index])) {
                            arrayFull = false;
                        }
                        index++;
                    });
                    if (arrayFull) {
                        $scope.vm.form.inputMails.push(index);
                        $scope.vm.form.emails[index] = ""
                    } else {
                        SweetAlert.warning($filter("translate")("issue.writeIssueMail"), $filter("translate")("issue.writeMail")); // 추가버튼 경고
                    }
                }
                // 연락처 input 삭제
                function removeTelInput(index) {
                    $scope.vm.form.inputTels.splice(index, 1);
                }
                // 이메일 주소 input 삭제
                function removeMailInput(index) {
                    $scope.vm.form.inputMails.splice(index, 1);
                }
                //  팝업 창 닫기
                function cancel() {
                    $rootScope.$broadcast("closeLayer");    //  팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정
@@ -93,12 +181,45 @@
                        $resourceProvider.getPageContent(0, 1))).then(function (result) {
                        if (result.data.message.status === "success") {
                            if (angular.isDefined(result.data.content)) {
                            if (result.data.content != null) {
                                $scope.vm.form.code = result.data.content.code;
                                $scope.vm.form.name = result.data.content.name;
                                $scope.vm.form.manager = result.data.content.manager;
                                $scope.vm.form.email = result.data.content.email;
                                $scope.vm.form.tel = result.data.content.tel;
                                if (result.data.content.tel != null) {
                                    var inputTels = $scope.vm.form.inputTels;
                                    var tels = result.data.content.tel.substr(1, result.data.content.tel.indexOf("]")-1);
                                    var telArr = tels.split(", ");
                                    angular.forEach(telArr, function (tel) {
                                        inputTels.push(tel);
                                    });
                                    inputTels  = inputTels.filter(function(item) {
                                        return item !== null && item !== undefined && item !== '';
                                    });
                                    if (inputTels[0] === 0 || inputTels[0] === "") {
                                        inputTels.shift();
                                    }
                                    inputTels.push("");
                                    $scope.vm.form.tels = angular.copy(inputTels);
                                }
                                if (result.data.content.email != null) {
                                    var inputMails = $scope.vm.form.inputMails;
                                    var emails = result.data.content.email.substr(1, result.data.content.email.indexOf("]")-1);
                                    var emailArr = emails.split(", ");
                                    angular.forEach(emailArr, function (email) {
                                        inputMails.push(email);
                                    });
                                    inputMails  = inputMails.filter(function(item) {
                                        return item !== null && item !== undefined && item !== '';
                                    });
                                    if(inputMails[0] === 0 || inputMails[0] === "") { // 첫번째 배열은 공백으로
                                        inputMails.shift();
                                    }
                                    inputMails.push("");
                                    $scope.vm.form.emails = angular.copy(inputMails);
                                }
                                $scope.vm.form.url = result.data.content.url;
                                $scope.vm.form.memo = result.data.content.memo;
                            }