OWL ITS + 탐지시스템(인터넷 진흥원)
wyu
2022-01-07 911e65ca7d4f47ec18212375b4eb479c1c40acbe
src/main/webapp/scripts/app/companyField/companyFieldAdd.controller.js
@@ -7,29 +7,55 @@
        'app'
    ],
    function (app) {
        app.controller('companyFieldAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'SweetAlert', '$uibModal', '$uibModalInstance', '$state', 'CompanyField', '$filter',
            function ($scope, $rootScope, $log, $resourceProvider, SweetAlert, $uibModal, $uibModalInstance, $state, CompanyField, $filter) {
        app.controller('companyFieldAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'SweetAlert', '$uibModal', '$uibModalInstance', '$state', 'CompanyField', '$filter', '$injector','$controller',
            function ($scope, $rootScope, $log, $resourceProvider, SweetAlert, $uibModal, $uibModalInstance, $state, CompanyField, $filter, $injector, $controller) {
                $scope.fn = {
                    cancel : cancel,    //  팝업 창 닫기
                    formSubmit : formSubmit,    //  폼 전송
                    formCheck : formCheck,   //  폼 체크
                    getIssueIspFieldListCallBack : getIssueIspFieldListCallBack,
                    getIssueHostingFieldListCallBack : getIssueHostingFieldListCallBack,
                    autoHyphenPhone : autoHyphenPhone // 연락처 입력시 하이픈 자동 입력
                };
                $scope.vm = {
                    form : {
                        name : "",  //업체명
                        //companyType : "", //업체분류
                        //profitYN : "",  //영리/비영리
                        //industry : "",  //산업분류
                        //domain : "",  //도메인
                        ispId : "",
                        ispName : "",
                        hostingName : "",
                        hostingId : "",
                        manager : "",   //담당자
                        tel : "",  //전화번호
                        email : "",  //이메일
                        url : "", // url
                        memo : ""  //비고
                    },
                    autoCompletePage : {
                        ispField : {
                            page : 0,
                            totalPage : 0
                        },
                        hostingField : {
                            page : 0,
                            totalPage : 0
                        }
                    }
                };
                angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector}));
                // ISP정보 autocomplete page 업데이트
                function getIssueIspFieldListCallBack(result) {
                    $scope.vm.autoCompletePage.ispField.totalPage = result.data.page.totalPage;
                }
                // 호스팅정보 autocomplete page 업데이트
                function getIssueHostingFieldListCallBack(result) {
                    $scope.vm.autoCompletePage.hostingField.totalPage = result.data.page.totalPage;
                }
                //  폼 체크
                function formCheck(formInvalid) {
@@ -39,16 +65,85 @@
                    return false;
                }
                $scope.$on("ispFieldEvent", function (event, result) {
                    $scope.vm.form.ispId = result[0].id;
                });
                $scope.$on("hostingFieldEvent", function (event, result) {
                    $scope.vm.form.hostingId = result[0].id;
                });
                //  연락처 입력시 하이픈 자동 입력
                function autoHyphenPhone() {
                    let phone = $scope.vm.form.tel
                    let seoul = $scope.vm.form.tel
                    // 핸드폰 및 지방 지역번호 조건
                    phone.replace(/^[0-9]/g, '');
                    // 서울 지역번호 조건
                    seoul.replace(/^[0-9]/g, '');
                    var tmp = '';
                    if (phone.length < 4) {
                        return phone;
                    } else if (phone.length < 7) {
                        tmp += phone.substr(0, 3);
                        tmp += '-';
                        tmp += phone.substr(3);
                        $scope.vm.form.tel = tmp;
                    } else if (seoul.substring(0, 2) == "02" && seoul.length == 9) {    // 서울 지역번호 조건
                        tmp += seoul.substring(0, 2);
                        tmp += '-';
                        tmp += seoul.substring(2, 5);
                        tmp += '-';
                        tmp += seoul.substr(5);
                        $scope.vm.form.tel = tmp;
                    } else if (seoul.substring(0, 2) == "02" && seoul.length == 10) {   // 서울 지역번호 조건
                        tmp += seoul.substring(0, 2);
                        tmp += '-';
                        tmp += seoul.substring(2, 6);
                        tmp += '-';
                        tmp += seoul.substr(6);
                        $scope.vm.form.tel = tmp;
                    } else if (phone.length < 11) {     // 핸드폰 및 지방 지역번호 조건
                        tmp += phone.substr(0, 3);
                        tmp += '-';
                        tmp += phone.substr(3, 3);
                        tmp += '-';
                        tmp += phone.substr(6);
                        $scope.vm.form.tel = tmp;
                    } else {                           // 핸드폰 및 지방 지역번호 조건
                        tmp += phone.substr(0, 3);
                        tmp += '-';
                        tmp += phone.substr(3, 4);
                        tmp += '-';
                        tmp += phone.substr(7);
                        $scope.vm.form.tel = tmp;
                    }
                    return phone;
                }
                //  폼 전송
                function formSubmit(condition) {
                    $rootScope.spinner = true;
                    $scope.vm.form.tel = $scope.vm.form.tel.replace(/\-/g,'');  // 전화번호를 보낼땐 하이픈을 제거해서 DB에 저장
                    var content = {
                        name : $rootScope.preventXss($scope.vm.form.name),    //  업체명
                        //companyType : $scope.vm.form.companyType, //업체분류
                        //profitYN : $scope.vm.form.profitYN,  //영리/비영리
                        //industry : $scope.vm.form.industry,  //산업분류
                        //domain : $scope.vm.form.domain,  //도메인
                        ispId : (function () {  // ISP 아이디
                            var ispId = -1;
                            if ($scope.vm.form.issueIspFields != null) {
                                ispId = $scope.vm.form.ispId;
                            }
                            return ispId;
                        })(),
                        hostingId : (function () {  // Hosting 아이디
                            var hostingId = -1;
                            if ($scope.vm.form.issueHostingFields != null) {
                                hostingId = $scope.vm.form.hostingId;
                            }
                            return hostingId;
                        })(),
                        manager : $scope.vm.form.manager,   //담당자
                        tel : $scope.vm.form.tel,  //전화번호
                        email : $scope.vm.form.email,  //이메일
@@ -79,9 +174,7 @@
                    $uibModalInstance.dismiss('cancel');
                    $(document).unbind("keydown");  //  단축키 이벤트 제거
                }
            }
        ]);
    }
);