OWL ITS + 탐지시스템(인터넷 진흥원)
src/main/webapp/views/companyField/companyFieldModify.html
@@ -21,196 +21,295 @@
                       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="100"
                       maxlength="100"
                       required>
                <small translate="companyField.enterSpecialCharacters">업체 이름에는 특수 문자를 입력 할수 없습니다.</small>
                <!--<small translate="companyField.enterSpecialCharacters">업체 이름에는 특수 문자를 입력 할수 없습니다.</small>-->
            </div>
            <div class="form-group">
                <label class="issue-label">
                    <span translate="ispField.select">ISP 선택</span>
                <label for="companyFieldModifyForm10" class="issue-label">
                    <span translate="companyField.url">url</span>
                </label>
                <js-autocomplete-single data-input-name="ispField"
                                        selected-model="vm.form.issueIspFields"
                                        ng-model="vm.form.ispName"
                                        search="vm.form.ispName"
                                        source="fn.getIssueIspFieldList(vm.ispName, vm.form.issueIspFields, vm.autoCompletePage.issueIspFields.page, fn.getIssueIspFieldListCallBack)"
                                        page="vm.autoCompletePage.ispField.page"
                                        total-page="vm.autoCompletePage.ispField.totalPage"
                                        input-disabled="false"
                                        translation-texts="{ empty : 'common.emptyIsp' }"
                                        broad-cast="ispFieldEvent"
                                        extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
                    type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
            </div>
            <div class="form-group">
                <label class="issue-label">
                    <span translate="hostingField.select">호스팅 선택</span>
                </label>
                <js-autocomplete-single data-input-name="hostingField"
                                        selected-model="vm.form.issueHostingFields"
                                        ng-model="vm.form.hostingName"
                                        search="vm.form.hostingName"
                                        source="fn.getIssueHostingFieldList(vm.hostingName, vm.form.issueHostingFields, vm.autoCompletePage.hostingField.page, fn.getIssueHostingFieldListCallBack)"
                                        page="vm.autoCompletePage.hostingField.page"
                                        total-page="vm.autoCompletePage.hostingField.totalPage"
                                        input-disabled="false"
                                        translation-texts="{ empty : 'common.emptyHosting' }"
                                        broad-cast="hostingFieldEvent"
                                        extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
                    type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
            </div>
            <div>
                <div class="form-group">
                    <label for="companyFieldAddForm10" class="issue-label">
                        <span translate="companyField.url">url</span>
                    </label>
                    <input id="companyFieldAddForm10"
                           name="url"
                           type="text"
                           class="form-control"
                           kr-input
                           autocomplete="off"
                           ng-model="vm.form.url"
                           ng-maxlength="200"
                           maxlength="200"
                    >
                <div class="help-block form-text text-danger fs-09">
                    <small translate="companyField.multiUrlWithComma">여러개의 url을 입력 할 수 있습니다. (구분: ',') ex: www.test.com, www.test2.com</small>
                </div>
                <input id="companyFieldModifyForm10"
                       name="url"
                       type="text"
                       class="form-control"
                       kr-input
                       autocomplete="off"
                       ng-model="vm.form.url"
                       ng-maxlength="200"
                       maxlength="200"
                >
                <!--<div ng-show="companyFieldModifyForm.url.$error.pattern" class="help-block form-text text-danger"
                     translate="common.invalidUrlFormat">url 형식이 맞지 않습니다.
                </div>-->
            </div>
            <!--<div class="row">
                <div class="col-md-3">
                    <div class="form-group mb10">
                        <label for="companyFieldModifyForm2" class="issue-label"> <span
                                translate="companyField.company">업체 분류</span>
            <div class="row">
                <div class="col-lg-6 mw-49">
                    <div class="form-group">
                        <label for="companyFieldModifyForm11" class="issue-label">
                            <span translate="companyField.ipRange">ip 대역대</span>
                        </label>
                        <select id="companyFieldModifyForm2"
                                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>
                        <input id="companyFieldModifyForm11"
                               name="ipStart"
                               type="text"
                               class="form-control"
                               kr-input
                               ng-pattern="/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/"
                               placeholder="IP 주소 형식만 입력 가능합니다."
                               autocomplete="off"
                               ng-model="vm.form.ipStart"
                        >
                        <div ng-if="companyFieldModifyForm.ipStart.$error.pattern" class="help-block form-text text-danger"
                             translate="common.invalidipAdressFormat">IP주소 형식이 맞지 않습니다.
                        </div>
                    </div>
                </div>
                <div class="col-md-3">
                    <div class="form-group mb10">
                        <label for="companyFieldModifyForm3" class="issue-label">
                            <span translate="companyField.profitYN">영리/비영리</span>
                <div class="mt-30">
                    <label class="issue-label">~</label>
                </div>
                <div class="col-lg-6 mw-49">
                    <div class="form-group">
                        <label for="companyFieldModifyForm12" class="issue-label">
                        </label>
                        <select id="companyFieldModifyForm3"
                                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>
                        <input id="companyFieldModifyForm12"
                               name="ipEnd"
                               type="text"
                               class="form-control"
                               kr-input
                               ng-pattern="/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/"
                               placeholder="IP 주소 형식만 입력 가능합니다."
                               autocomplete="off"
                               ng-model="vm.form.ipEnd"
                        >
                        <div ng-if="companyFieldModifyForm.ipEnd.$error.pattern" class="help-block form-text text-danger"
                             translate="common.invalidipAdressFormat">IP주소 형식이 맞지 않습니다.
                        </div>
                    </div>
                </div>
                <div class="col-md-6">
                    <div class="form-group mb10">
                        <label for="companyFieldModifyForm4" class="issue-label"> <span
                                translate="companyField.industry">산업 분류</span>
            </div>
            <div class="row">
                <div class="col-lg-6">
                    <div class="form-group">
                        <label class="issue-label">
                            <span translate="ispField.select">ISP 선택</span>
                        </label>
                        <input id="companyFieldModifyForm4"
                               name="industry"
                        <js-autocomplete-single data-input-name="ispField"
                                                selected-model="vm.form.issueIspFields"
                                                ng-model="vm.form.ispName"
                                                custom-input="true"
                                                search="vm.form.ispName"
                                                source="fn.getIssueIspFieldList(vm.form.ispName, vm.form.issueIspFields, vm.autoCompletePage.issueIspFields.page, fn.getIssueIspFieldListCallBack)"
                                                page="vm.autoCompletePage.ispField.page"
                                                total-page="vm.autoCompletePage.ispField.totalPage"
                                                input-disabled="false"
                                                translation-texts="{ empty : 'common.emptyIsp' }"
                                                broad-cast="ispFieldEvent"
                                                extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
                            type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
                    </div>
                </div>
                <div class="col-lg-6">
                    <div class="form-group">
                        <label class="issue-label">
                            <span translate="hostingField.select">호스팅 선택</span>
                        </label>
                        <js-autocomplete-single data-input-name="hostingField"
                                                selected-model="vm.form.issueHostingFields"
                                                ng-model="vm.form.hostingName"
                                                custom-input="true"
                                                search="vm.form.hostingName"
                                                source="fn.getIssueHostingFieldList(vm.form.hostingName, vm.form.issueHostingFields, vm.autoCompletePage.hostingField.page, fn.getIssueHostingFieldListCallBack)"
                                                page="vm.autoCompletePage.hostingField.page"
                                                total-page="vm.autoCompletePage.hostingField.totalPage"
                                                input-disabled="false"
                                                translation-texts="{ empty : 'common.emptyHosting' }"
                                                broad-cast="hostingFieldEvent"
                                                extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
                            type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
                    </div>
                </div>
            </div>
            <div class="row">
                <div class="col-lg-4">
                    <div class="form-group">
                        <label class="issue-label">
                            <span translate="companyField.tel">전화번호</span>
                        </label>
                        <div class="input-group" ng-repeat="tell in vm.form.inputTels">
                            <input type="text"
                                   name="tel"
                                   class="form-control mt-1"
                                   kr-input
                                   ng-model="vm.form.tels[$index]"
                                   input-regex="[^0-9]"
                                   autocomplete="off">
                            <span class="select3-selection__email__remove" ng-click="fn.removeTelInput($index)">×</span>
                        </div>
                        <!--<div ng-show="companyFieldModifyForm.tel.$error.minlength" class="help-block form-text text-danger"
                             translate="common.least9CharactersTel">전화번호 형식이 맞지 않습니다.(9자리 이상)
                        </div>-->
                    </div>
                </div>
                <div class="col-lg-2 mt-25" style="margin-left: -15px">
                    <div>
                        <button type="button" class="btn btn-secondary" ng-click="fn.addTel()">
                            <span translate="common.add">추가</span>
                        </button>
                    </div>
                </div>
                <div class="col-lg-5">
                    <div class="form-group">
                        <label class="issue-label">
                            <span translate="companyField.email">이메일</span>
                        </label>
                        <div class="input-group" ng-repeat="mail in vm.form.inputMails">
                            <input type="text"
                                   name="email"
                                   class="form-control mt-1"
                                   kr-input
                                   ng-model="vm.form.emails[$index]"
                                   ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/"
                                   autocomplete="off">
                            <span class="select3-selection__email__remove" ng-click="fn.removeMailInput($index)">×</span>
                        </div>
                        <div ng-show="companyFieldModifyForm.email.$error.pattern" class="help-block form-text text-danger"
                             translate="users.invalidEmailFormat">이메일 형식이 맞지 않습니다.
                        </div>
                    </div>
                </div>
                <div class="col-lg-2 mt-25" style="margin-left: -15px; margin-right: -16px;">
                    <div>
                        <button type="button" class="btn btn-secondary" ng-click="fn.addMail()">
                            <span translate="common.add">추가</span>
                        </button>
                    </div>
                </div>
            </div>
            <div class="row">
                <div class="col-lg-6">
                    <div class="form-group">
                        <label for="companyFieldModifyForm9" class="issue-label">
                            <span translate="companyField.manager">담당자</span>
                        </label>
                        <input id="companyFieldModifyForm9"
                               name="manager"
                               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"
                               >
                               ng-model="vm.form.manager"
                               ng-maxlength="100"
                               maxlength="100"
                        >
                    </div>
                </div>
            </div>
            <div class="form-group">
                <label for="companyFieldModifyForm5" class="issue-label">
                    <span translate="companyField.domain">도메인</span>
                </label>
                <input id="companyFieldModifyForm5"
                       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"
                       >
                &lt;!&ndash;<small translate="notice.enterSpecialCharacters">제목에는 특수 문자를 입력할 수 없습니다.</small>&ndash;&gt;
            </div>-->
            <div>
                <div class="form-group">
                    <label for="companyFieldModifyForm9" class="issue-label">
                        <span translate="companyField.manager">담당자</span>
                    </label>
                    <input id="companyFieldModifyForm9"
                           name="manager"
                           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.manager"
                           ng-maxlength="100"
                           maxlength="100"
                    >
                    <!--<small translate="notice.enterSpecialCharacters">제목에는 특수 문자를 입력할 수 없습니다.</small>-->
                </div>
            </div>
            <div>
                <div class="form-group">
                    <label for="companyFieldModifyForm7" class="issue-label">
                        <span translate="companyField.tel">전화번호</span>
                    </label>
                    <input id="companyFieldModifyForm7"
                           name="tel"
                           type="text"
                           class="form-control"
                           kr-input
                           input-regex="[^0-9]"
                           autocomplete="off"
                           ng-model="vm.form.tel"
                           maxlength="20"
                    >
                    <div ng-show="companyFieldModifyForm.tel.$error.pattern" class="help-block form-text text-danger"
                         translate="companyField.invalidTelFormat">전화번호 형식이 맞지 않습니다. xxx-xxx-xxxx 형식으로 입력하세요.
                <div class="col-lg-6">
                    <div class="form-group">
                        <label class="issue-label">
                            <span translate="companyField.companyType">기업구분</span>
                        </label>
                        <js-autocomplete-single data-input-name="companyType"
                                                selected-model="vm.form.companyTypes"
                                                ng-model="vm.form.companyType"
                                                custom-input="false"
                                                search="vm.form.companyType"
                                                source="fn.getCompanyTypeCategory(vm.typeCategory.companyType, vm.form.companyType, vm.form.companyTypes, vm.autoCompletePage.companyType.page, fn.getCompanyTypeListCallBack)"
                                                page="vm.autoCompletePage.companyType.page"
                                                total-page="vm.autoCompletePage.companyType.totalPage"
                                                input-disabled="false"
                                                translation-texts="{ empty : 'common.emptyCompanyType' }"
                                                broad-cast="companyTypeEvent"
                                                extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '',
                        type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
                    </div>
                </div>
            </div>
            <div>
                <div class="form-group">
                    <label for="companyFieldModifyForm6" class="issue-label">
                        <span translate="companyField.email">이메일</span>
                    <label class="issue-label">
                        <span translate="companyField.parentSector">업종(대분류)</span>
                    </label>
                    <input id="companyFieldModifyForm6"
                           name="email"
                           type="email"
                           class="form-control"
                           autocomplete="off"
                           maxLength="50"
                           ng-model="vm.form.email"
                           kr-input
                           ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/"
                    >
                    <div ng-show="companyFieldModifyForm.email.$error.pattern" class="help-block form-text text-danger"
                         translate="users.invalidEmailFormat">이메일 형식이 맞지 않습니다.
                    <js-autocomplete-single data-input-name="parentSector"
                                            selected-model="vm.form.parentSectors"
                                            ng-model="vm.form.parentSector"
                                            custom-input="false"
                                            search="vm.form.parentSector"
                                            source="fn.getCompanyTypeCategory(vm.typeCategory.parentSector, vm.form.parentSector, vm.form.parentSectors, vm.autoCompletePage.parentSector.page, fn.getParentSectorListCallBack)"
                                            page="vm.autoCompletePage.parentSector.page"
                                            total-page="vm.autoCompletePage.parentSector.totalPage"
                                            input-disabled="false"
                                            translation-texts="{ empty : 'common.emptyParentSector' }"
                                            broad-cast="parentSectorEvent"
                                            extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '',
                    type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
                </div>
            </div>
            <div>
                <div class="form-group">
                    <label class="issue-label">
                        <span translate="companyField.childSector">업종(중분류)</span>
                    </label>
                    <js-autocomplete-single data-input-name="childSector"
                                            selected-model="vm.form.childSectors"
                                            ng-model="vm.form.childSector"
                                            custom-input="false"
                                            search="vm.form.childSector"
                                            source="fn.getCompanyChildSector(vm.form.parentSectorId, vm.form.parentSectors[0].id, vm.typeCategory.childSector, vm.form.childSector, vm.form.childSectors, vm.autoCompletePage.childSector.page, fn.getChildSectorListCallBack)"
                                            page="vm.autoCompletePage.childSector.page"
                                            total-page="vm.autoCompletePage.childSector.totalPage"
                                            input-disabled="false"
                                            translation-texts="{ empty : 'common.emptyChildSector' }"
                                            broad-cast="childSectorEvent"
                                            extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '',
                    type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
                </div>
            </div>
            <div class="row">
                <div class="col-lg-6">
                    <div class="form-group">
                        <label class="issue-label">
                            <span translate="companyField.region">지역</span>
                        </label>
                        <js-autocomplete-single data-input-name="region"
                                                selected-model="vm.form.regions"
                                                ng-model="vm.form.region"
                                                custom-input="false"
                                                search="vm.form.region"
                                                source="fn.getCompanyTypeCategory(vm.typeCategory.region, vm.form.region, vm.form.regions, vm.autoCompletePage.region.page, fn.getRegionListCallBack)"
                                                page="vm.autoCompletePage.region.page"
                                                total-page="vm.autoCompletePage.region.totalPage"
                                                input-disabled="false"
                                                translation-texts="{ empty : 'common.emptyRegion' }"
                                                broad-cast="regionEvent"
                                                extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '',
                        type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
                    </div>
                </div>
                <div class="col-lg-6">
                    <div class="form-group">
                        <label class="issue-label">
                            <span translate="companyField.status">상태</span>
                        </label>
                        <js-autocomplete-single data-input-name="status"
                                                selected-model="vm.form.statuses"
                                                ng-model="vm.form.status"
                                                custom-input="false"
                                                search="vm.form.status"
                                                source="fn.getCompanyTypeCategory(vm.typeCategory.status, vm.form.status, vm.form.statuses, vm.autoCompletePage.status.page, fn.getStatusListCallBack)"
                                                page="vm.autoCompletePage.status.page"
                                                total-page="vm.autoCompletePage.status.totalPage"
                                                input-disabled="false"
                                                translation-texts="{ empty : 'common.emptyStatus' }"
                                                broad-cast="statusEvent"
                                                extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '',
                        type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
                    </div>
                </div>
            </div>