OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-11-08 bb2b0e1189680110bc9c418c26d9bb1aef6dfc37
업체 관리 프론트
4개 파일 추가됨
6개 파일 변경됨
745 ■■■■■ 파일 변경됨
src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js 15 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/i18n/ko/global.json 6 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/app/companyField/companyField.js 1 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/app/companyField/companyFieldAdd.controller.js 83 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/app/companyField/companyFieldList.controller.js 152 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js 110 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/components/companyField/companyField.service.js 24 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/main.js 2 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/views/companyField/companyFieldAdd.html 176 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/views/companyField/companyFieldModify.html 176 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js
@@ -346,14 +346,15 @@
                                            }
                                            break;
                                        case "DEPARTMENT_OPTION" :
                                            //if (scope.data.departmentId != null){
                                        case "DEPARTMENT_OPTION":
                                            makeTag +="<select class='form-control input-sm' ng-model='data.departmentId' ng-change='event.modifyUserWorkspace(data)'><option ng-repeat='department in data.departments' ng-value='department.fieldKey'>{{::department.fieldValue}}</option></select>";
                                            /*if (scope.data.departmentId != null){
                                                makeTag +="<select class='form-control input-sm' ng-model='data.departmentId' ng-change='event.modifyUserWorkspace(data)'><option ng-repeat='department in data.departments' ng-value='department.fieldKey'>{{::department.fieldValue}}</option></select>";
                                            //}
                                            //else{
                                            //    makeTag +="<select class='form-control input-sm' ng-model='data.departmentId' ng-change='event.modifyUserWorkspace(data)'><option>부서를 선택 하세요.</option>"
                                            //    makeTag +="<option ng-repeat='department in data.departments' ng-value='department.fieldKey'>{{::department.fieldValue}}</option></select>";
                                            //}
                                            }
                                            else{
                                                makeTag +="<select class='form-control input-sm' ng-model='data.departmentId' ng-change='event.modifyUserWorkspace(data)'><option>부서를 선택 하세요.</option>"
                                                makeTag +="<option ng-repeat='department in data.departments' ng-value='department.fieldKey'>{{::department.fieldValue}}</option></select>";
                                            }*/
                                            break;
                                        case "LEVEL_OPTION" :
src/main/webapp/i18n/ko/global.json
@@ -789,7 +789,11 @@
    },
    "companyField" : {
        "add" : "업체 생성",
        "name" : "업체 이름",
        "name" : "업체명",
        "company" : "업체 분류",
        "profitYN" : "영리/비영리",
        "industry" : "산업 분류",
        "domain" : "도메인",
        "manager" : "담당자",
        "tel" : "전화번호",
        "email" : "이메일",
src/main/webapp/scripts/app/companyField/companyField.js
@@ -33,6 +33,7 @@
                        loadController : ["$q", function ($q) {
                            var deferred = $q.defer();
                            require(["companyFieldListController", 'jsTable', 'tableColumnGenerator', 'companyFieldService', 'modalFormAutoScroll'
                                , 'companyFieldAddController', 'companyFieldModifyController'
                                , 'formSubmit', 'jsShortCut', 'inputRegex'], function () {
                                deferred.resolve();
                            });
src/main/webapp/scripts/app/companyField/companyFieldAdd.controller.js
New file
@@ -0,0 +1,83 @@
/**
 * Created by wisestone on 2018-02-19.
 */
'use strict';
define([
        '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) {
                $scope.fn = {
                    cancel : cancel,    //  팝업 창 닫기
                    formSubmit : formSubmit,    //  폼 전송
                    formCheck : formCheck,   //  폼 체크
                };
                $scope.vm = {
                    form : {
                        name : "",  //업체명
                        companyType : "", //업체분류
                        profitYN : "",  //영리/비영리
                        industry : "",  //산업분류
                        domain : "",  //도메인
                        email : "",  //이메일
                        tel : "",  //전화번호
                        desc : ""  //메모(비고)
                    }
                };
                //  폼 체크
                function formCheck(formInvalid) {
                    if (formInvalid) {
                        return true;
                    }
                    return false;
                }
                //  폼 전송
                function formSubmit(condition) {
                    $rootScope.spinner = true;
                    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,  //도메인
                        email : $scope.vm.form.email,  //이메일
                        tel : $scope.vm.form.tel,  //전화번호
                        desc : $scope.vm.form.desc  //메모(비고)
                    };
                    CompanyField.add($resourceProvider.getContent(content,
                        $resourceProvider.getPageContent(0, 10))).then(function (result) {
                        if (result.data.message.status === "success") {
                            $scope.fn.cancel();
                            //  목록 화면 갱신
                            $rootScope.$broadcast("getDepartmentList", {});
                        }
                        else {
                            SweetAlert.error($filter("translate")("managementWorkspace.failedLevelRegistration"), result.data.message.message);
                        }
                        $rootScope.spinner = false;
                    });
                }
                //  팝업 창 닫기
                function cancel() {
                    $rootScope.$broadcast("closeLayer");    //  팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정
                    $uibModalInstance.dismiss('cancel');
                    $(document).unbind("keydown");  //  단축키 이벤트 제거
                }
            }
        ]);
    }
);
src/main/webapp/scripts/app/companyField/companyFieldList.controller.js
@@ -13,7 +13,11 @@
                //  함수
                $scope.fn = {
                    getPageList : getPageList, // 업체 관리 리스트
                    makeTableConfigs : makeTableConfigs, //  테이블 설정
                    initSearch : initSearch, //검색 조건 초기화
                    add : add, //업체 생성
                    removes : removes //업체 삭제
                };
                //  변수
@@ -21,9 +25,28 @@
                    tableConfigs : [],
                };
                $scope.tableEvent = {
                    modify : modify //업체 정보 변경
                };
                $scope.vm.search = {
                    name : "",  //  업체명
                };
                $scope.vm.responseData = {
                    data : []
                };
                //  업체 관리 리스트 불러오기
                $scope.$on("getPageList", function () {
                    $scope.fn.getPageList(0);
                });
                //  검색 조건 초기화
                function initSearch() {
                    $scope.vm.search.name = "";
                    $scope.fn.getPageList(0);
                }
                //  사용자 정의 필드 목록 테이블 설정
                function makeTableConfigs() {
@@ -70,7 +93,136 @@
                        .setDRenderer("COMMON_MODIFY"));
                }
                //  업체 관리 목록 조회
                function getPageList(selectedPage) {
                    if (selectedPage < 0) {
                        selectedPage = 0;
                    }
                    //  현재 페이지 정보
                    var currentPage = 0;
                    //  쿠키에 선택한 페이지 정보가 없으면 기본 페이지 정보 0 을 저장
                    if (angular.isUndefined(selectedPage) || selectedPage === "") {
                        currentPage = $scope.vm.page.selectedPage;
                    }
                    else {
                        currentPage = selectedPage;
                    }
                    var conditions = {
                        name : $scope.vm.search.name //업체명
                    };
                    //테이블 리스트 데이터 컨트롤러 요청
                    CompanyField.find($resourceProvider.getContent(conditions,
                        $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) {
                        if (result.data.message.status === "success") {
                            $scope.vm.page.selectedPage = currentPage + 1;
                            $scope.vm.responseData = result.data;
                        }
                        else {
                            SweetAlert.error($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullDepartmentList"), result.data.message.message); // 부서 목록 조회 실패
                        }
                    });
                }
                //  업체 생성
                function add() {
                    $uibModal.open({
                        templateUrl : 'views/companyField/companyFieldAdd.html',
                        size : "md",
                        controller : 'companyFieldModifyController',
                        backdrop : 'static',
                        resolve : {
                            parameter : function () {
                                return {
                                };
                            }
                        }
                    });
                }
                //  업체 수정
                function modify(id) {
                    $uibModal.open({
                        templateUrl : 'views/companyField/companyFieldModify.html',
                        size : "md",
                        controller : 'companyFieldModifyController',
                        backdrop : 'static',
                        resolve : {
                            parameter : function () {
                                return {
                                    id : id
                                };
                            }
                        }
                    });
                }
                //  업체 삭제
                function removes() {
                    var removeIds = [];
                    angular.forEach($scope.vm.responseData.data, function (data) {
                        if (data.checked) {
                            removeIds.push(data.id);
                        }
                    });
                    if (removeIds.length < 1) {
                        SweetAlert.swal({
                            title : $filter("translate")("common.checkPurgingTargets"), // 삭제 대상 확인
                            text : $filter("translate")("common.selectDestinationDeletion"), // 삭제 대상을 선택하세요.
                            type : "warning"
                        });
                        return;
                    }
                    //  삭제 알림
                    SweetAlert.swal({
                            title : $filter("translate")("managementWorkspace.deleteDepartment"), // "업체 삭제"
                            text : $filter("translate")("customField.wantToDeleteSelectDepartment"), // "선택한 부서를 삭제하겠습니까? 삭제된 부서는 복구할 수 없습니다."
                            type : "warning",
                            showCancelButton : true,
                            confirmButtonColor : "#DD6B55",
                            confirmButtonText : $filter("translate")("common.delete"), // 삭제
                            cancelButtonText : $filter("translate")("common.cancel"), // 취소
                            closeOnConfirm : false,
                            closeOnCancel : true
                        },
                        function (isConfirm) {
                            SweetAlert.close();
                            if (isConfirm) {
                                $rootScope.spinner = true;
                                CompanyField.removes($resourceProvider.getContent(
                                    { removeIds : removeIds },
                                    $resourceProvider.getPageContent(0, 0))).then(function (result) {
                                    if (result.data.message.status === "success") {
                                        $timeout(function () {
                                            SweetAlert.success($filter("translate")("common.deleteSucceeded"), result.data.message.message); // 삭제 성공
                                        }, 100);
                                        $scope.fn.getPageList(0);
                                    }
                                    else {
                                        $timeout(function () {
                                            SweetAlert.error($filter("translate")("common.deleteFailed"), result.data.message.message); // 삭제 실패
                                        }, 100);
                                    }
                                    $rootScope.spinner = false;
                                });
                            }
                        });
                }
                $scope.fn.makeTableConfigs();
                //$scope.fn.getPageList();
            }
        ]);
    }
src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js
New file
@@ -0,0 +1,110 @@
/**
 * Created by wisestone on 2018-05-08.
 */
'use strict';
define([
        'app',
        'angular'
    ],
    function (app, angular) {
        app.controller('companyFieldModifyController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'CompanyField', 'parameter', 'SweetAlert', '$filter',
            function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, CompanyField, parameter, SweetAlert, $filter) {
                $scope.fn = {
                    detail : detail,  //  상세 조회
                    cancel : cancel,    //  팝업 창 닫기
                    formSubmit : formSubmit,    //  폼 전송
                    formCheck : formCheck,  //  폼 체크
                };
                $scope.vm = {
                    id : parameter.id,
                    form : {
                        name : "",  //업체명
                        companyType : "", //업체분류
                        profitYN : "",  //영리/비영리
                        industry : "",  //산업분류
                        domain : "",  //도메인
                        email : "",  //이메일
                        tel : "",  //전화번호
                        desc : ""  //메모(비고)
                    }
                };
                //  상세 정보
                function detail() {
                    var conditions = {
                        id : parameter.id
                    }
                    CompanyField.detail($resourceProvider.getContent(
                        conditions,
                        $resourceProvider.getPageContent(0, 1))).then(function (result) {
                        if (result.data.message.status === "success") {
                            if (angular.isDefined(result.data.data)) {
                                $scope.vm.form.name = result.data.data.name;
                                $scope.vm.form.companyType = result.data.data.companyType;
                                $scope.vm.form.profitYN = result.data.data.profitYN;
                                $scope.vm.form.industry = result.data.data.industry;
                                $scope.vm.form.domain = result.data.data.domain;
                                $scope.vm.form.email = result.data.data.email;
                                $scope.vm.form.tel = result.data.data.tel;
                                $scope.vm.form.desc = result.data.data.desc;
                            }
                        }
                        else {
                            SweetAlert.swal($filter("translate")("customField.failedToDetailUserDefinedFields"), result.data.message.message, "error"); // "사용자 정의 필드 상세 정보 조회 실패"
                        }
                    });
                }
                function formCheck(formInvalid) {
                    if (formInvalid) {
                        return true;
                    }
                    return false;
                }
                //  폼 전송
                function formSubmit() {
                    $rootScope.spinner = true;
                    var content = {
                        id : parameter.id,
                        departmentName : $rootScope.preventXss($scope.vm.form.departmentName),
                        departmentDescription : $rootScope.preventXss($scope.vm.form.departmentDescription)
                    };
                    UserWorkspace.departmentModify($resourceProvider.getContent(
                        content,
                        $resourceProvider.getPageContent(0, 0))).then(function (result) {
                        if (result.data.message.status === "success") {
                            $scope.fn.cancel();
                            //  목록 화면 갱신
                            $rootScope.$broadcast("getDepartmentList", {});
                        }
                        else {
                            SweetAlert.error($filter("translate")("managementWorkspace.failedDepartmentRegistration"), result.data.message.message);
                        }
                        $rootScope.spinner = false;
                    });
                }
                //  팝업 창 닫기
                function cancel() {
                    $rootScope.$broadcast("closeLayer");    //  팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정
                    $uibModalInstance.dismiss('cancel');
                    $(document).unbind("keydown");  //  단축키 이벤트 제거
                }
                $scope.fn.detail();
            }]);
    });
src/main/webapp/scripts/components/companyField/companyField.service.js
@@ -13,6 +13,30 @@
                    $log.debug("업체 필드 목록 데이터 : ", response);
                    return response;
                });
            },
            add : function (conditions) {
                return $http.post("companyField/add", conditions).then(function (response) {
                    $log.debug("업체 생성 결과 : ", response);
                    return response;
                });
            },
            modify : function (conditions) {
                return $http.post("companyField/modify", conditions).then(function (response) {
                    $log.debug("업체 수정 결과 : ", response);
                    return response;
                });
            },
            detail : function (conditions) {
                return $http.post("companyField/detail", conditions).then(function (response) {
                    $log.debug("업체 상세 : ", response);
                    return response;
                });
            },
            remove : function (conditions) {
                return $http.post("companyField/remove", conditions).then(function (response) {
                    $log.debug("업체 삭제 결과 : ", response);
                    return response;
                });
            }
        }
    }
src/main/webapp/scripts/main.js
@@ -332,6 +332,8 @@
        'companyFieldRoute' : 'app/companyField/companyField',   // 업체 route 정보
        'companyFieldService' : 'components/companyField/companyField.service',  // 업체 관련된 통신 담당
        'companyFieldListController' : 'app/companyField/companyFieldList.controller', // 업체 목록 컨트롤러
        'companyFieldAddController' : 'app/companyField/companyFieldAdd.controller', // 업체 생성 컨트롤러
        'companyFieldModifyController' : 'app/companyField/companyFieldModify.controller', // 업체 수정 컨트롤러
        /* ISP */
        'ispFieldRoute' : 'app/ispField/ispField',   // ISP route 정보
src/main/webapp/views/companyField/companyFieldAdd.html
New file
@@ -0,0 +1,176 @@
<div class="formModal">
    <div class="modal-header faded smaller">
        <div class="modal-title">
            <strong>업체 등록</strong>
        </div>
        <button aria-label="Close" class="close" type="button" ng-click="fn.cancel()">
            <span aria-hidden="true"> &times;</span>
        </button>
    </div>
    <div class="modal-body">
        <form role="form" name="companyFieldAddForm">
            <div class="form-group">
                <label for="companyFieldAddForm1">
                    <span translate="companyField.name">업체명</span>
                    <code class="highlighter-rouge">*</code>
                </label>
                <input id="companyFieldAddForm1"
                       name="name"
                       type="text"
                       class="form-control"
                       autofocus
                       kr-input
                       input-regex="[^a-zA-Z0-9 가-힣ㄱ-ㅎㅏ-ㅣ\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
                       autocomplete="off"
                       ng-model="vm.form.name"
                       ng-maxlength="200"
                       maxlength="200"
                       required>
                <!--<small translate="notice.enterSpecialCharacters">제목에는 특수 문자를 입력할 수 없습니다.</small>-->
            </div>
            <div class="row">
                <div class="col-md-3">
                    <div class="form-group mb10">
                        <label for="companyFieldAddForm2" class="issue-label"> <span
                                translate="companyField.company">업체 분류</span>
                        </label>
                        <select id="companyFieldAddForm2"
                                name="companyType"
                                class="form-control input-sm issue-select-label"
                                ng-model="vm.form.companyType"
                                >
                            <option value="" translate="common.selectTarget" ng-style="{ 'color' : '#353535' }"><span
                                    translate="common.selectTarget">대상 선택</span>
                            </option>
                            <option value="personal">개인</option>
                            <option value="business">기업</option>
                        </select>
                    </div>
                </div>
                <div class="col-md-3">
                    <div class="form-group mb10">
                        <label for="companyFieldAddForm3" class="issue-label">
                            <span translate="companyField.profitYN">영리/비영리</span>
                        </label>
                        <select id="companyFieldAddForm3"
                                name="profitYN"
                                class="form-control input-sm issue-select-label"
                                ng-model="vm.form.profitYN"
                                >
                            <option value="" translate="common.selectTarget" ng-style="{ 'color' : '#353535' }">
                                <span translate="common.selectTarget">대상 선택</span>
                            </option>
                            <option value="profit">영리</option>
                            <option value="nonProfit">비영리</option>
                        </select>
                    </div>
                </div>
                <div class="col-md-6">
                    <div class="form-group mb10">
                        <label for="companyFieldAddForm4" class="issue-label"> <span
                                translate="companyField.industry">산업 분류</span>
                        </label>
                        <input id="companyFieldAddForm4"
                               name="industry"
                               type="text"
                               class="form-control"
                               kr-input
                               input-regex="[^a-zA-Z0-9 가-힣ㄱ-ㅎㅏ-ㅣ\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
                               autocomplete="off"
                               ng-model="vm.form.industry"
                               ng-maxlength="200"
                               maxlength="200"
                               >
                    </div>
                </div>
            </div>
            <div class="form-group">
                <label for="companyFieldAddForm5" class="issue-label">
                    <span translate="companyField.domain">도메인</span>
                </label>
                <input id="companyFieldAddForm5"
                       name="domain"
                       type="text"
                       class="form-control"
                       kr-input
                       input-regex="[^a-zA-Z0-9 가-힣ㄱ-ㅎㅏ-ㅣ\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
                       autocomplete="off"
                       ng-model="vm.form.domain"
                       ng-maxlength="200"
                       maxlength="200"
                       >
                <!--<small translate="notice.enterSpecialCharacters">제목에는 특수 문자를 입력할 수 없습니다.</small>-->
            </div>
            <div class="form-group">
                <label for="companyFieldAddForm6" class="issue-label">
                    <span translate="companyField.email">메일주소</span>
                </label>
                <input id="companyFieldAddForm6"
                       name="email"
                       type="text"
                       class="form-control"
                       kr-input
                       input-regex="[^a-zA-Z0-9 가-힣ㄱ-ㅎㅏ-ㅣ\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
                       autocomplete="off"
                       ng-model="vm.form.email"
                       ng-maxlength="200"
                       maxlength="200"
                       >
                <!--<small translate="notice.enterSpecialCharacters">제목에는 특수 문자를 입력할 수 없습니다.</small>-->
            </div>
            <div class="row">
                <div class="col-md-5">
                    <div class="form-group">
                        <label for="companyFieldAddForm7" class="issue-label">
                            <span translate="companyField.tel">연락처</span>
                        </label>
                        <input id="companyFieldAddForm7"
                               name="tel"
                               type="text"
                               class="form-control"
                               autofocus
                               kr-input
                               input-regex="[^a-zA-Z0-9 가-힣ㄱ-ㅎㅏ-ㅣ\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
                               autocomplete="off"
                               ng-model="vm.form.tel"
                               ng-maxlength="200"
                               maxlength="200"
                        >
                        <!--<small translate="notice.enterSpecialCharacters">제목에는 특수 문자를 입력할 수 없습니다.</small>-->
                    </div>
                </div>
                <div class="col-md-7">
                    <div class="form-group">
                        <label for="companyFieldAddForm8" class="issue-label">
                            <span translate="companyField.desc">메모</span>
                        </label>
                        <input id="companyFieldAddForm8"
                               name="desc"
                               type="text"
                               class="form-control"
                               autofocus
                               kr-input
                               input-regex="[^a-zA-Z0-9 가-힣ㄱ-ㅎㅏ-ㅣ\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
                               autocomplete="off"
                               ng-model="vm.form.desc"
                               ng-maxlength="200"
                               maxlength="200"
                        >
                    </div>
                </div>
            </div>
        </form>
    </div>
    <div class="modal-footer buttons-on-right">
        <button type="button" class="btn btn-md btn-grey" ng-click="fn.cancel()"><span translate="common.cancel">취소</span></button>
        <button type="button" class="btn btn-md btn-primary bold"
                js-short-cut
                js-short-cut-action="(fn.formCheck(companyFieldAddForm.$invalid) || $root.spinner) ? null : fn.formSubmit()"
                ng-disabled="fn.formCheck(companyFieldAddForm.$invalid)"
                ng-click="fn.formSubmit()"><span translate="common.save">저장</span>
        </button>
    </div>
</div>
src/main/webapp/views/companyField/companyFieldModify.html
New file
@@ -0,0 +1,176 @@
<div class="formModal">
    <div class="modal-header faded smaller">
        <div class="modal-title">
            <strong>업체 수정</strong>
        </div>
        <button aria-label="Close" class="close" type="button" ng-click="fn.cancel()">
            <span aria-hidden="true"> &times;</span>
        </button>
    </div>
    <div class="modal-body">
        <form role="form" name="companyFieldAddForm">
            <div class="form-group">
                <label for="companyFieldAddForm1">
                    <span translate="companyField.name">업체명</span>
                    <code class="highlighter-rouge">*</code>
                </label>
                <input id="companyFieldAddForm1"
                       name="name"
                       type="text"
                       class="form-control"
                       autofocus
                       kr-input
                       input-regex="[^a-zA-Z0-9 가-힣ㄱ-ㅎㅏ-ㅣ\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
                       autocomplete="off"
                       ng-model="vm.form.name"
                       ng-maxlength="200"
                       maxlength="200"
                       required>
                <!--<small translate="notice.enterSpecialCharacters">제목에는 특수 문자를 입력할 수 없습니다.</small>-->
            </div>
            <div class="row">
                <div class="col-md-3">
                    <div class="form-group mb10">
                        <label for="companyFieldAddForm2" class="issue-label"> <span
                                translate="companyField.company">업체 분류</span>
                        </label>
                        <select id="companyFieldAddForm2"
                                name="companyType"
                                class="form-control input-sm issue-select-label"
                                ng-model="vm.form.companyType"
                                >
                            <option value="" translate="common.selectTarget" ng-style="{ 'color' : '#353535' }"><span
                                    translate="common.selectTarget">대상 선택</span>
                            </option>
                            <option value="personal">개인</option>
                            <option value="business">기업</option>
                        </select>
                    </div>
                </div>
                <div class="col-md-3">
                    <div class="form-group mb10">
                        <label for="companyFieldAddForm3" class="issue-label">
                            <span translate="companyField.profitYN">영리/비영리</span>
                        </label>
                        <select id="companyFieldAddForm3"
                                name="profitYN"
                                class="form-control input-sm issue-select-label"
                                ng-model="vm.form.profitYN"
                                >
                            <option value="" translate="common.selectTarget" ng-style="{ 'color' : '#353535' }">
                                <span translate="common.selectTarget">대상 선택</span>
                            </option>
                            <option value="profit">영리</option>
                            <option value="nonProfit">비영리</option>
                        </select>
                    </div>
                </div>
                <div class="col-md-6">
                    <div class="form-group mb10">
                        <label for="companyFieldAddForm4" class="issue-label"> <span
                                translate="companyField.industry">산업 분류</span>
                        </label>
                        <input id="companyFieldAddForm4"
                               name="industry"
                               type="text"
                               class="form-control"
                               kr-input
                               input-regex="[^a-zA-Z0-9 가-힣ㄱ-ㅎㅏ-ㅣ\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
                               autocomplete="off"
                               ng-model="vm.form.industry"
                               ng-maxlength="200"
                               maxlength="200"
                               >
                    </div>
                </div>
            </div>
            <div class="form-group">
                <label for="companyFieldAddForm5" class="issue-label">
                    <span translate="companyField.domain">도메인</span>
                </label>
                <input id="companyFieldAddForm5"
                       name="domain"
                       type="text"
                       class="form-control"
                       kr-input
                       input-regex="[^a-zA-Z0-9 가-힣ㄱ-ㅎㅏ-ㅣ\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
                       autocomplete="off"
                       ng-model="vm.form.domain"
                       ng-maxlength="200"
                       maxlength="200"
                       >
                <!--<small translate="notice.enterSpecialCharacters">제목에는 특수 문자를 입력할 수 없습니다.</small>-->
            </div>
            <div class="form-group">
                <label for="companyFieldAddForm6" class="issue-label">
                    <span translate="companyField.email">메일주소</span>
                </label>
                <input id="companyFieldAddForm6"
                       name="email"
                       type="text"
                       class="form-control"
                       kr-input
                       input-regex="[^a-zA-Z0-9 가-힣ㄱ-ㅎㅏ-ㅣ\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
                       autocomplete="off"
                       ng-model="vm.form.email"
                       ng-maxlength="200"
                       maxlength="200"
                       >
                <!--<small translate="notice.enterSpecialCharacters">제목에는 특수 문자를 입력할 수 없습니다.</small>-->
            </div>
            <div class="row">
                <div class="col-md-5">
                    <div class="form-group">
                        <label for="companyFieldAddForm7" class="issue-label">
                            <span translate="companyField.tel">연락처</span>
                        </label>
                        <input id="companyFieldAddForm7"
                               name="tel"
                               type="text"
                               class="form-control"
                               autofocus
                               kr-input
                               input-regex="[^a-zA-Z0-9 가-힣ㄱ-ㅎㅏ-ㅣ\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
                               autocomplete="off"
                               ng-model="vm.form.tel"
                               ng-maxlength="200"
                               maxlength="200"
                        >
                        <!--<small translate="notice.enterSpecialCharacters">제목에는 특수 문자를 입력할 수 없습니다.</small>-->
                    </div>
                </div>
                <div class="col-md-7">
                    <div class="form-group">
                        <label for="companyFieldAddForm8" class="issue-label">
                            <span translate="companyField.desc">메모</span>
                        </label>
                        <input id="companyFieldAddForm8"
                               name="desc"
                               type="text"
                               class="form-control"
                               autofocus
                               kr-input
                               input-regex="[^a-zA-Z0-9 가-힣ㄱ-ㅎㅏ-ㅣ\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
                               autocomplete="off"
                               ng-model="vm.form.desc"
                               ng-maxlength="200"
                               maxlength="200"
                        >
                    </div>
                </div>
            </div>
        </form>
    </div>
    <div class="modal-footer buttons-on-right">
        <button type="button" class="btn btn-md btn-grey" ng-click="fn.cancel()"><span translate="common.cancel">취소</span></button>
        <button type="button" class="btn btn-md btn-primary bold"
                js-short-cut
                js-short-cut-action="(fn.formCheck(companyFieldAddForm.$invalid) || $root.spinner) ? null : fn.formSubmit()"
                ng-disabled="fn.formCheck(companyFieldAddForm.$invalid)"
                ng-click="fn.formSubmit()"><span translate="common.save">저장</span>
        </button>
    </div>
</div>