OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2022-01-13 4545664bbece1b1b185945376b344b1660669a53
src/main/webapp/views/issue/issueAdd.html
@@ -1,7 +1,7 @@
<div class="formModal">
    <div class="modal-header faded smaller">
        <div class="modal-title">
            <strong translate="issue.createIssue">이슈 만들기</strong>
            <strong translate="issue.createIssue">이슈 수정</strong>
        </div>
        <button aria-label="Close" class="close" type="button" ng-click="fn.cancel()">
            <span aria-hidden="true"> &times;</span>
@@ -39,7 +39,7 @@
                                                source="fn.getProjectList(vm.projectName, vm.form.projects, vm.autoCompletePage.project.page, fn.getProjectListCallBack)"
                                                page="vm.autoCompletePage.project.page"
                                                total-page="vm.autoCompletePage.project.totalPage"
                                                input-disabled="false"
                                                input-disabled="vm.form.projects != null ? vm.form.projects.length > 0 : false"
                                                translation-texts="{ empty : 'common.emptyProject' }"
                                                extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
                                                type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
@@ -59,7 +59,8 @@
                                        ng-model="vm.form.issueTypeId"
                                        ng-change="fn.getIssueTypeCustomFields()"
                                        ng-style="{ 'color' : fn.getOptionColor(vm.issueTypes, vm.form.issueTypeId) }"
                                        required>
                                        required
                                        disabled>
                                    <option value="" translate="common.selectTarget" ng-style="{ 'color' : '#353535' }"><span
                                            translate="common.selectTarget">대상 선택</span>
                                    </option>
@@ -117,51 +118,32 @@
                        </div>
                    </div>
                </div>
            </div>
            <div class="form-group mb10">
                <label class="issue-label"><span translate="common.content">내용</span></label>
                <summernote
                        class="summernote"
                        lang="ko-KR"
                        summer-note-auto-focus
                        ng-model="vm.form.description"
                        data-editor="vm.summerNote.editor"
                        data-editable="vm.summerNote.editable"
                        on-image-upload="fn.imageUpload(files)"
                        target=".note-editable"></summernote>
            </div>
            <hr>
            <div class="row">
                <div class="col-lg-4">
                    <div class="form-group mb10">
                        <label class="issue-label"> <span translate="common.assignee">담당자</span> </label>
                        <js-input-autocomplete data-input-name="users"
                                               selected-model="vm.form.users"
                                               search="vm.userName"
                                               page="vm.autoCompletePage.user.page"
                                               total-page="vm.autoCompletePage.user.totalPage"
                                               source="fn.getUserList(vm.userName, vm.form.users, vm.autoCompletePage.user.page, fn.getUserListCallBack)"
                                               input-disabled="vm.form.projects.length == 0"
                                               translation-texts="{ empty : 'common.emptyUser'}"
                                               extra-settings="{ displayProp : 'byName' , idProp : 'id', imageable : true, imagePathProp : 'profile',
                                               type : 'user', maxlength : 100, autoResize : true, stopRemoveBodyEvent : true }"></js-input-autocomplete>
                        <label class="issue-label"> <span translate="common.assigneeTeam">담당부서</span> </label>
                        <js-autocomplete-multi data-input-name="departments"
                                               selected-model="vm.form.departments"
                                               search="vm.departmentName"
                                               source="fn.getIssueDepartmentList(vm.form.issueTypeId, vm.departmentName, vm.form.departments)"
                                               input-disabled="false"
                                               translation-texts="{ count : 'common.userNum', empty : 'common.emptyProjectDepartment'}"
                                               extra-settings="{ displayProp : 'byName' , idProp : 'id', imageable : false, maxlength : 100, autoResize : true}"></js-autocomplete-multi>
                        <small translate="issue.setUpUsersParticipatingInProject">프로젝트에 참여하는 사용자를 설정합니다.</small>
                        <div class="select3-selection__choicediv">
                            <span class="select3-selection__choice" ng-repeat="user in vm.form.users">
                                <span class="avatar-w"><img ng-src="{{user.profile}}"></span>
                                <span>{{user.name}}({{user.account}})</span>
                                <span class="select3-selection__choice__remove"
                                      ng-click="fn.removeManager($index)">×</span>
                        <div class="select3-selection__choicediv mt-10">
                            <span class="select3-selection__choice" ng-repeat="department in vm.form.departments">
                                <span>{{department.byName}}</span>
                                <span class="select3-selection__choice__remove" ng-click="fn.removeDepartment($index)">×</span>
                            </span>
                        </div>
                    </div>
                </div>
                <div class="col-lg-4">
                    <div class="form-group mb10">
                        <label for="issueAddForm5" class="issue-label"> <span translate="common.period">기간</span>
                        </label>
                        <label for="issueAddForm5" class="issue-label"> <span translate="common.period">기간</span></label>
                        <input id="issueAddForm5"
                               tabindex="-1"
                               type="text"
@@ -179,7 +161,8 @@
                            </div>
                        </div>
                    </div>
                </div>
                <div class="col-lg-4">
                    <div class="form-group mgb5">
                        <label class="issue-label"><span translate="common.attachFiles">파일 첨부</span></label>
                        <div class="filebox input-group">
@@ -196,9 +179,6 @@
                                   multiple
                                   ng-file-select="fn.onFileSelect($files)">
                        </div>
                        <small translate="issue.attachOnlyFiles">hwp, jpg, png, txt, pptx, ppt, pdf, xlsx, xls, docx,
                            zip, gif, jpeg, doc, tif, bmp, wmv, avi, mp4, mkv, mov 파일만 첨부할 수 있습니다.
                        </small>
                        <div class="select2-selection__choicediv">
                            <div class="select2-selection__choice2" ng-repeat="file in vm.form.files">
@@ -230,63 +210,682 @@
                        </div>
                    </div>
                </div>
            </div>
                <div class="col-lg-8 bdl1">
                    <div class="row">
                        <div class="col-md-12">
                            <div class="form-group mgb5" ng-show="vm.form.issueCustomFields.length < 1">
                                <label class="issue-label" translate="issue.notIssueTypeCustomFields">이슈 타입에 연결된 사용자 정의
                                    필드가 없습니다.</label>
                            </div>
            <hr>
            <div class="row">
                <div class="col-lg-4 fontcolor_green">
                    <label class="issue-label"><span class="fontcolor_green" translate="common.detectingInfo">탐지정보</span></label>
                </div>
            </div>
            <div class="col-lg-12">
                <div class="row">
                    <div class="col-md-12">
                        <div class="form-group mgb5" ng-if="vm.form.issueCustomFields.length < 1">
                            <label class="issue-label" translate="issue.notIssueTypeCustomFields">이슈 타입에 연결된 사용자 정의
                                필드가 없습니다.</label>
                        </div>
                    </div>
                        <div class="col-md-6" ng-repeat="issueCustomField in vm.form.issueCustomFields">
                            <div class="form-group mgb5">
                                <label class="issue-label">{{issueCustomField.customFieldVo.name}}</label>
                    <div class="col-md-4" ng-repeat="issueCustomField in vm.form.issueCustomFields">
                        <div class="form-group mgb5">
                            <label class="issue-label">{{issueCustomField.customFieldVo.name}}&nbsp;<code ng-if="issueCustomField.customFieldVo.requiredData == 'Y'" class="highlighter-rouge">*</code>&nbsp;&nbsp;</label>
                                <div ng-switch on="issueCustomField.customFieldVo.customFieldType">
                                    <!-- 기본 입력 -->
                                    <div ng-switch-when="INPUT">
                                        <input type="text" class="form-control input-sm"
                                               ng-model="issueCustomField.useValues"
                                               maxlength="100"
                                               autocomplete="off"
                                               kr-input
                                               ng-required="issueCustomField.fieldOption == '01'">
                            <div ng-switch on="issueCustomField.customFieldVo.customFieldType">
                                <!-- 기본 입력 -->
                                <div ng-switch-when="INPUT">
                                    <input type="text" class="form-control input-sm"
                                           name="item_{{$index}}"
                                           ng-model="issueCustomField.useValues"
                                           maxlength="100"
                                           autocomplete="off"
                                           kr-input
                                           ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'">
<!--                                    <small class="help-block form-text text-danger"-->
<!--                                           ng-show="issueCustomField.customFieldVo.requiredData == 'Y'"-->
<!--                                           ng-if="issueAddForm.inputValue.$error.required"-->
<!--                                           translate="issue.pleaseEnterIssueTypeCustomFields">해당 사용자정의필드는 필수 입력 값 입니다.-->
<!--                                    </small>-->
                                </div>
                                <div ng-switch-when="NUMBER">
                                    <input type="text" class="form-control input-sm"
                                           name="item_{{$index}}"
                                           ng-model="issueCustomField.useValues"
                                           maxlength="100"
                                           autocomplete="off"
                                           kr-input
                                           ng-pattern="/^[0-9]*$/"
                                           placeholder="숫자만 입력 가능합니다."
                                           ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'">
<!--                                    <small class="help-block form-text text-danger"-->
<!--                                           ng-show="issueCustomField.customFieldVo.requiredData == 'Y'"-->
<!--                                           ng-if="issueAddForm.numberType.$error.required"-->
<!--                                           translate="issue.pleaseEnterIssueTypeCustomFields">해당 사용자 정의 필드는 필수 입력 값 입니다.-->
<!--                                    </small>-->
                                    <div ng-if="issueAddForm['item_' + $index].$error.pattern" class="help-block form-text text-danger"
                                         translate="common.invalidNumberFormat">숫자만 입력 가능합니다.
                                    </div>
                                </div>
                                    <!-- 단일 셀렉트 -->
                                    <div ng-switch-when="SINGLE_SELECT">
                                        <select class="form-control input-sm issue-select-label"
                                                ng-required="issueCustomField.fieldOption == '01'"
                                                ng-model="issueCustomField.useValues">
                                            <option value="" value="" translate="common.choose">선택하세요.</option>
                                            <option ng-repeat="customFieldValueVo in issueCustomField.customFieldVo.customFieldValueVos"
                                                    value="{{customFieldValueVo.value}}"
                                                    ng-selected="$root.selectOption(issueCustomField.useValues, customFieldValueVo.value)">
                                                {{customFieldValueVo.value}}
                                            </option>
                                        </select>
                                    </div>
                                <div ng-switch-when="DATETIME">
                                    <input class="form-control input-sm input-readonly"
                                           name="item_{{$index}}"
                                           ng-model="issueCustomField.useValues"
                                           placeholder="{{'issue.clickToSelectDate' | translate}}"
                                           modal-form-auto-scroll
                                           range-type="singleDate"
                                           date-range-picker
                                           kr-input
                                           autocomplete="off"
                                           ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'">
<!--                                    <small class="help-block form-text text-danger"-->
<!--                                           ng-show="issueCustomField.customFieldVo.requiredData == 'Y'"-->
<!--                                           ng-if="issueAddForm.dateTime.$error.required"-->
<!--                                           translate="issue.pleaseEnterIssueTypeCustomFields">해당 사용자 정의 필드는 필수 입력 값 입니다.-->
<!--                                    </small>-->
                                </div>
                                    <!-- 멀티 셀렉트 -->
                                    <div ng-switch-when="MULTI_SELECT">
                                        <ng-dropdown-multiselect class="multiSelect cursor"
                                                                 data-input-name=""
                                                                 modal-form-auto-scroll
                                                                 selected-model="issueCustomField.useValues"
                                                                 extra-settings="{ 'idProp' : 'value', 'externalIdProp' : 'value', 'displayProp' : 'value', 'stringTypeOption' : 'true', stopRemoveBodyEvent : true }"
                                                                 options="issueCustomField.customFieldVo.customFieldValueVos"></ng-dropdown-multiselect>
                                <div ng-switch-when="IP_ADDRESS">
                                    <input type="text" class="form-control input-sm"
                                           name="item_{{$index}}"
                                           ng-model="issueCustomField.useValues"
                                           autocomplete="off"
                                           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 주소 형식만 입력 가능합니다."
                                           ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'">
<!--                                    <small class="help-block form-text text-danger"-->
<!--                                           ng-show="issueCustomField.customFieldVo.requiredData == 'Y'"-->
<!--                                           ng-if="issueAddForm.ipAddress.$error.required"-->
<!--                                           translate="issue.pleaseEnterIssueTypeCustomFields">해당 사용자 정의 필드는 필수 입력 값 입니다.-->
<!--                                    </small>-->
                                    <div ng-if="issueAddForm['item_' + $index].$error.pattern" class="help-block form-text text-danger"
                                         translate="common.invalidipAdressFormat">IP주소 형식이 맞지 않습니다.
                                    </div>
                                </div>
                                <div ng-switch-when="EMAIL">
                                    <input type="email" class="form-control input-sm"
                                           name="item_{{$index}}"
                                           maxlength="30"
                                           ng-model="issueCustomField.useValues"
                                           kr-input
                                           ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/"
                                           placeholder="이메일 형식만 입력 가능합니다."
                                           ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'">
<!--                                    <small class="help-block form-text text-danger"-->
<!--                                           ng-show="issueCustomField.customFieldVo.requiredData == 'Y'"-->
<!--                                           ng-if="issueAddForm.ipAddress.$error.required"-->
<!--                                           translate="issue.pleaseEnterIssueTypeCustomFields">해당 사용자 정의 필드는 필수 입력 값 입니다.-->
<!--                                    </small>-->
                                    <div ng-if="issueAddForm['item_' + $index].$error.pattern" class="help-block form-text text-danger"
                                         translate="common.invalidEmailFormat">이메일 형식이 맞지 않습니다.
                                    </div>
                                </div>
                                <div ng-switch-when="SITE">
                                    <input type="text" class="form-control input-sm"
                                           name="item_{{$index}}"
                                           ng-model="issueCustomField.useValues"
                                           maxlength="100"
                                           autocomplete="off"
                                           kr-input
                                           ng-pattern="/(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/"
                                           placeholder="홈페이지 주소 형식만 입력 가능합니다."
                                           ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'">
<!--                                    <small class="help-block form-text text-danger"-->
<!--                                           ng-show="issueCustomField.customFieldVo.requiredData == 'Y'"-->
<!--                                           ng-if="issueAddForm.site.$error.required"-->
<!--                                           translate="issue.pleaseEnterIssueTypeCustomFields">해당 사용자 정의 필드는 필수 입력 값 입니다.-->
<!--                                    </small>-->
                                    <div ng-if="issueAddForm['item_' + $index].$error.pattern" class="help-block form-text text-danger"
                                         translate="common.invalidSiteFormat">홈페이지 주소 형식이 맞지 않습니다.(http:// 또는 www 로 시작하셔야합니다)
                                    </div>
                                </div>
                                <div ng-switch-when="TEL">
                                    <input type="text" class="form-control input-sm"
                                           name="item_{{$index}}"
                                           ng-model="issueCustomField.useValues"
                                           maxlength="30"
                                           autocomplete="off"
                                           kr-input
                                           ng-pattern="/^\d{2,3}-\d{3,4}-\d{4}$/"
                                           placeholder="연락처 형식만 입력 가능합니다."
                                           ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'">
<!--                                    <small class="help-block form-text text-danger"-->
<!--                                           ng-show="issueCustomField.customFieldVo.requiredData == 'Y'"-->
<!--                                           ng-if="issueAddForm.tel.$error.required"-->
<!--                                           translate="issue.pleaseEnterIssueTypeCustomFields">해당 사용자 정의 필드는 필수 입력 값 입니다.-->
<!--                                    </small>-->
                                    <div ng-if="issueAddForm['item_' + $index].$error.pattern" class="help-block form-text text-danger"
                                         translate="common.invalidTelFormat">전화번호 형식이 맞지 않습니다.
                                    </div>
                                </div>
                                <!-- 단일 셀렉트 -->
                                <div ng-switch-when="SINGLE_SELECT">
                                    <select class="form-control input-sm issue-select-label"
                                            name="item_{{$index}}"
                                            ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'"
                                            ng-model="issueCustomField.useValues">
                                        <option value="" value="" translate="common.choose">선택하세요.</option>
                                        <option ng-repeat="customFieldValueVo in issueCustomField.customFieldVo.customFieldValueVos"
                                                value="{{customFieldValueVo.value}}"
                                                ng-selected="$root.selectOption(issueCustomField.useValues, customFieldValueVo.value)">
                                            {{customFieldValueVo.value}}
                                        </option>
                                    </select>
<!--                                    <small class="help-block form-text text-danger"-->
<!--                                           ng-show="issueCustomField.customFieldVo.requiredData == 'Y'"-->
<!--                                           ng-if="issueAddForm.singleSelect.$error.required"-->
<!--                                           translate="issue.pleaseEnterIssueTypeCustomFields">해당 사용자 정의 필드는 필수 입력 값 입니다.-->
<!--                                    </small>-->
                                </div>
                                <!-- 멀티 셀렉트 -->
                                <div ng-switch-when="MULTI_SELECT">
                                    <ng-dropdown-multiselect class="multiSelect cursor"
                                                             data-input-name=""
                                                             modal-form-auto-scroll
                                                             selected-model="issueCustomField.useValues"
                                                             extra-settings="{ 'idProp' : 'value', 'externalIdProp' : 'value', 'displayProp' : 'value', 'stringTypeOption' : 'true', stopRemoveBodyEvent : true }"
                                                             options="issueCustomField.customFieldVo.customFieldValueVos"></ng-dropdown-multiselect>
                                    <input class="form-control input-sm issue-select-label"
                                           type="hidden" name="multiSelect" ng-model="issueCustomField.useValues[0]"
                                           ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'">
<!--                                    <small class="help-block form-text text-danger"-->
<!--                                           ng-show="issueCustomField.customFieldVo.requiredData == 'Y'"-->
<!--                                           ng-if="issueAddForm.multiSelect.$error.required"-->
<!--                                           translate="issue.pleaseEnterIssueTypeCustomFields">해당 사용자 정의 필드는 필수 입력 값 입니다.-->
<!--                                    </small>-->
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <hr>
            <div ng-show="fn.containsPartner('업체')" class="row">
                <div class="col-lg-8 fontcolor_green">
                    <label class="issue-label"><span class="fontcolor_green" translate="companyField.info">업체정보</span>
                        &nbsp;&nbsp;<span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code>&nbsp;
                            &nbsp;업체 이름 클릭시 선택된 이름의 업체 정보가 조회되며, 업체정보에서 추가한 ISP, 호스팅 정보를 불러옵니다.</span>
                    </label>
                </div>
            </div>
            <div ng-show="fn.containsPartner('업체')" class="row">
                <div class="col-lg-4">
                    <div class="form-group mb10">
                        <label class="issue-label"> <span translate="companyField.name">업체이름</span> </label>
                        <js-autocomplete-single data-input-name="issueCompanyField"
                                                selected-model="vm.form.issueCompanyFields"
                                                search="vm.companyName"
                                                custom-input="true"
                                                source="fn.getIssueCompanyFieldList(vm.companyName, vm.form.issueCompanyFields, vm.autoCompletePage.companyField.page, fn.getIssueCompanyFieldListCallBack)"
                                                page="vm.autoCompletePage.companyField.page"
                                                total-page="vm.autoCompletePage.companyField.totalPage"
                                                input-disabled="false"
                                                translation-texts="{ empty : 'common.emptyCompany' }"
                                                broad-cast="companyFieldEvent"
                                                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-4">
                    <div class="form-group mb10">
                        <label for="companyFieldManagerAddForm" class="issue-label"><span translate="companyField.manager">담당자</span></label>
                        <input id="companyFieldManagerAddForm"
                               name="companyManager"
                               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.companyManager"
                               ng-maxlength="100"
                               maxlength="100"
                        >
                    </div>
                </div>
                <div class="col-lg-4">
                    <div class="form-group mgb5">
                        <label for="companyFieldTelAddForm" class="issue-label"><span translate="companyField.tel">전화번호</span></label>
                        <input id="companyFieldTelAddForm"
                               name="companyTel"
                               type="text"
                               class="form-control"
                               kr-input
                               autocomplete="off"
                               ng-model="vm.companyTel">
                        <!--<div ng-show="issueAddForm.companyTel.$error.pattern" class="help-block form-text text-danger"
                             translate="companyField.invalidTelFormat">전화번호 형식이 맞지 않습니다. xxx-xxx-xxxx 형식으로 입력하세요.
                        </div>-->
                    </div>
                </div>
                <div class="col-lg-4">
                    <div class="form-group mgb5">
                        <label for="companyFieldEmailAddForm" class="issue-label"><span translate="companyField.email">이메일</span></label>
                        <input id="companyFieldEmailAddForm"
                               name="companyEmail"
                               type="text"
                               class="form-control"
                               autocomplete="off"
                               ng-model="vm.companyEmail"
                               kr-input>
                        <!--<div ng-show="issueAddForm.companyEmail.$error.pattern" class="help-block form-text text-danger"
                             translate="users.invalidEmailFormat">이메일 형식이 맞지 않습니다.
                        </div>-->
                    </div>
                </div>
                <div class="col-lg-4">
                    <div class="form-group mgb5">
                        <label for="companyFieldUrlAddForm" class="issue-label"><span translate="companyField.url">url</span></label>
                        <input id="companyFieldUrlAddForm"
                               name="companyUrl"
                               type="text"
                               class="form-control"
                               kr-input
                               autocomplete="off"
                               ng-maxlength="200"
                               ng-model="vm.companyUrl"
                               ng-pattern="/(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/"
                               maxlength="200">
                        <div ng-show="issueAddForm.companyUrl.$error.pattern" class="help-block form-text text-danger"
                             translate="common.invalidUrlFormat">url 형식이 맞지 않습니다.
                        </div>
                    </div>
                </div>
                <div class="col-lg-4">
                    <div class="form-group mgb5">
                        <label for="companyFieldDescAddForm" class="issue-label"><span translate="companyField.memo">비고</span></label>
                        <input id="companyFieldDescAddForm"
                               name="companyMemo"
                               type="text"
                               class="form-control"
                               kr-input
                               autocomplete="off"
                               ng-maxlength="200"
                               ng-model="vm.companyMemo"
                               maxlength="200">
                    </div>
                </div>
                <div class="col-lg-4">
                    <div class="form-group mgb5">
                        <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' }"
                                                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-4">
                    <div class="form-group mgb5">
                        <label class="issue-label">
                            <span translate="companyField.parentSector">업종(대분류)</span>
                        </label>
                        <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' }"
                                                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-4">
                    <div class="form-group mgb5">
                        <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' }"
                                                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-4">
                    <div class="form-group mgb5">
                        <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' }"
                                                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-4">
                    <div class="form-group mgb5">
                        <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' }"
                                                extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '',
                    type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
                    </div>
                </div>
            </div>
            <p></p>
            <div ng-show="fn.containsPartner('ISP')" class="row">
                <div class="col-lg-8 fontcolor_green">
                    <label class="issue-label"><span class="fontcolor_green" translate="ispField.info">ISP 정보</span>
                        &nbsp;&nbsp;<!--<span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code>&nbsp;&nbsp;ISP 이름 클릭시 선택된 이름의 ISP 정보가 조회됩니다.</span>-->
                    </label>
                </div>
            </div>
            <div ng-show="fn.containsPartner('ISP')"  class="row">
                <div class="col-lg-4">
                    <div class="form-group mb10">
                        <label class="issue-label"> <span translate="ispField.name">ISP 이름</span> </label>
                        <input name="ispName"
                               type="text"
                               class="form-control"
                               kr-input
                               autocomplete="off"
                               ng-model="vm.ispName"
                               ng-maxlength="100"
                               maxlength="100">
                        <!--<js-autocomplete-single data-input-name="ispField"
                                                selected-model="vm.form.issueIspFields"
                                                search="vm.ispName"
                                                source="fn.getIssueIspFieldList(vm.ispName, vm.form.issueIspFields, vm.autoCompletePage.ispField.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-4">
                    <div class="form-group mb10">
                        <label for="ispFieldCodeAddForm" class="issue-label"><span translate="ispField.code">코드</span></label>
                        <input id="ispFieldCodeAddForm"
                               name="ispCode"
                               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.ispCode"
                               ng-maxlength="100"
                               maxlength="100">
                    </div>
                </div>
                <div class="col-lg-4">
                    <div class="form-group mb10">
                        <label for="ispFieldManagerAddForm" class="issue-label"><span translate="ispField.manager">담당자</span></label>
                        <input id="ispFieldManagerAddForm"
                               name="ispManager"
                               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.ispManager"
                               ng-maxlength="100"
                               maxlength="100">
                    </div>
                </div>
                <div class="col-lg-4">
                    <div class="form-group mgb5">
                        <label for="ispFieldTelAddForm" class="issue-label"><span translate="ispField.tel">전화번호</span></label>
                        <input id="ispFieldTelAddForm"
                               name="ispTel"
                               type="text"
                               class="form-control"
                               kr-input
                               autocomplete="off"
                               ng-model="vm.ispTel">
                        <!--<div ng-show="issueAddForm.ispTel.$error.pattern" class="help-block form-text text-danger"
                             translate="companyField.invalidTelFormat">전화번호 형식이 맞지 않습니다. xxx-xxx-xxxx 형식으로 입력하세요.
                        </div>-->
                    </div>
                </div>
                <div class="col-lg-4">
                    <div class="form-group mgb5">
                        <label for="ispFieldEmailAddForm" class="issue-label"><span translate="ispField.email">이메일</span></label>
                        <input id="ispFieldEmailAddForm"
                               name="ispEmail"
                               type="text"
                               class="form-control"
                               autocomplete="off"
                               ng-model="vm.ispEmail"
                               kr-input>
                        <!--<div ng-show="issueAddForm.ispEmail.$error.pattern" class="help-block form-text text-danger"
                             translate="users.invalidEmailFormat">이메일 형식이 맞지 않습니다.
                        </div>-->
                    </div>
                </div>
                <div class="col-lg-4">
                    <div class="form-group mgb5">
                        <label for="ispFieldUrlAddForm" class="issue-label"><span translate="companyField.url">url</span></label>
                        <input id="ispFieldUrlAddForm"
                               name="ispUrl"
                               type="text"
                               class="form-control"
                               kr-input
                               autocomplete="off"
                               ng-maxlength="200"
                               ng-model="vm.ispUrl"
                               ng-pattern="/(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/"
                               maxlength="200">
                        <div ng-show="issueAddForm.ispUrl.$error.pattern" class="help-block form-text text-danger"
                             translate="common.invalidUrlFormat">url 형식이 맞지 않습니다.
                        </div>
                    </div>
                </div>
                <div class="col-lg-4">
                    <div class="form-group mgb5">
                        <label for="ispFieldDescAddForm" class="issue-label"><span translate="ispField.memo">비고</span></label>
                        <input id="ispFieldDescAddForm"
                               name="ispMemo"
                               type="text"
                               class="form-control"
                               kr-input
                               autocomplete="off"
                               ng-model="vm.ispMemo"
                               ng-maxlength="200"
                               maxlength="200">
                    </div>
                </div>
            </div>
            <p></p>
            <div ng-show="fn.containsPartner('호스팅')" class="row">
                <div class="col-lg-8 fontcolor_green">
                    <label class="issue-label"><span class="fontcolor_green" translate="hostingField.info">호스팅 정보</span>
                        &nbsp;&nbsp;<!--<span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code>&nbsp;&nbsp;호스팅 이름 클릭시 선택된 이름의 호스팅 정보가 조회됩니다.</span>-->
                    </label>
                </div>
            </div>
            <div ng-show="fn.containsPartner('호스팅')" class="row">
                <div class="col-lg-4">
                    <div class="form-group mb10">
                        <label class="issue-label"> <span translate="hostingField.name">호스팅 이름</span> </label>
                        <input name="hostingName"
                               type="text"
                               class="form-control"
                               kr-input
                               autocomplete="off"
                               ng-model="vm.hostingName"
                               ng-maxlength="100"
                               maxlength="100">
                        <!--<js-autocomplete-single data-input-name="hostingField"
                                                selected-model="vm.form.issueHostingFields"
                                                ng-model="vm.hostingName"
                                                search="vm.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="col-lg-4">
                    <div class="form-group mb10">
                        <label for="hostingCodeManagerAdd" class="issue-label"><span translate="hostingField.code">담당자</span></label>
                        <input id="hostingCodeManagerAdd"
                               name="hostingCode"
                               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.hostingCode"
                               ng-maxlength="100"
                               maxlength="100">
                    </div>
                </div>
                <div class="col-lg-4">
                    <div class="form-group mb10">
                        <label for="hostingFieldManagerAdd" class="issue-label"><span translate="hostingField.manager">담당자</span></label>
                        <input id="hostingFieldManagerAdd"
                               name="hostingManager"
                               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.hostingManager"
                               ng-maxlength="100"
                               maxlength="100">
                    </div>
                </div>
                <div class="col-lg-4">
                    <div class="form-group mgb5">
                        <label for="hostingFieldTelAdd" class="issue-label"><span translate="hostingField.tel">전화번호</span></label>
                        <input id="hostingFieldTelAdd"
                               name="hostingTel"
                               type="text"
                               class="form-control"
                               kr-input
                               autocomplete="off"
                               ng-model="vm.hostingTel">
                        <!--<div ng-show="issueAddForm.hostingTel.$error.pattern" class="help-block form-text text-danger"
                             translate="companyField.invalidTelFormat">전화번호 형식이 맞지 않습니다. xxx-xxx-xxxx 형식으로 입력하세요.
                        </div>-->
                    </div>
                </div>
                <div class="col-lg-4">
                    <div class="form-group mgb5">
                        <label for="hostingFieldEmailAdd" class="issue-label"><span translate="hostingField.email">이메일</span></label>
                        <input id="hostingFieldEmailAdd"
                               name="hostingEmail"
                               type="text"
                               class="form-control"
                               autocomplete="off"
                               ng-model="vm.hostingEmail"
                               kr-input>
                        <!--<div ng-show="issueAddForm.hostingEmail.$error.pattern" class="help-block form-text text-danger"
                             translate="users.invalidEmailFormat">이메일 형식이 맞지 않습니다.
                        </div>-->
                    </div>
                </div>
                <div class="col-lg-4">
                    <div class="form-group mgb5">
                        <label for="hostingFieldUrlAddForm" class="issue-label"><span translate="companyField.url">url</span></label>
                        <input id="hostingFieldUrlAddForm"
                               name="hostingUrl"
                               type="text"
                               class="form-control"
                               kr-input
                               autocomplete="off"
                               ng-maxlength="200"
                               ng-model="vm.hostingUrl"
                               ng-pattern="/(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/"
                               maxlength="200">
                        <div ng-show="issueAddForm.hostingUrl.$error.pattern" class="help-block form-text text-danger"
                             translate="common.invalidUrlFormat">url 형식이 맞지 않습니다.
                        </div>
                    </div>
                </div>
                <div class="col-lg-4">
                    <div class="form-group mgb5">
                        <label for="hostingFieldDescAdd" class="issue-label"><span translate="hostingField.memo">비고</span></label>
                        <input id="hostingFieldDescAdd"
                               name="hostingMemo"
                               type="text"
                               class="form-control"
                               kr-input
                               autocomplete="off"
                               ng-model="vm.hostingMemo"
                               ng-maxlength="200"
                               maxlength="200">
                    </div>
                </div>
            </div>
        </form>
        <hr>
        <div class="form-group mb10">
            <label class="issue-label"><span translate="common.content">내용</span></label>
            <summernote
                    class="summernote"
                    lang="ko-KR"
                    summer-note-auto-focus
                    ng-model="vm.form.description"
                    data-editor="vm.summerNote.editor"
                    data-editable="vm.summerNote.editable"
                    on-image-upload="fn.imageUpload(files)"
                    target=".note-editable"></summernote>
        </div>
    </div>
</div>
<div class="modal-footer buttons-on-right">
    <div class="pull-left">
@@ -305,3 +904,5 @@
            ng-click="fn.formSubmit()"><span translate="common.save">저장</span>
    </button>
</div>