From c5ce099b314be4b296137415a146c610095ae92e Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 금, 11 3월 2022 13:54:09 +0900
Subject: [PATCH] - api로 이슈 추가 시 하위이슈기준이 2개 일 경우 코드 수정 - 업체 추가/수정 시 ip대역대 중복 체크 - 이슈 추가/수정 시 ip대역대 수정불가

---
 src/main/webapp/views/issue/issueAdd.html |  421 ++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 354 insertions(+), 67 deletions(-)

diff --git a/src/main/webapp/views/issue/issueAdd.html b/src/main/webapp/views/issue/issueAdd.html
index a6b1a34..fcd17cc 100644
--- a/src/main/webapp/views/issue/issueAdd.html
+++ b/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>
@@ -35,11 +35,12 @@
                                 class="highlighter-rouge">*</code></label>
                         <js-autocomplete-single data-input-name="project"
                                                 selected-model="vm.form.projects"
+                                                ng-model="vm.form.projects"
+                                                ng-change="fn.getIssueTypeOfProject()"
                                                 search="vm.projectName"
                                                 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"
                                                 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 +60,8 @@
                                         ng-model="vm.form.issueTypeId"
                                         ng-change="fn.getIssueTypeCustomFields()"
                                         ng-style="{ 'color' : fn.getOptionColor(vm.issueTypes, vm.form.issueTypeId) }"
-                                        required>
+                                        required
+                                        >
                                     <option value="" translate="common.selectTarget" ng-style="{ 'color' : '#353535' }"><span
                                             translate="common.selectTarget">���긽 �꽑�깮</span>
                                     </option>
@@ -82,9 +84,9 @@
                                         ng-model="vm.form.priorityId"
                                         ng-style="{ 'color' : fn.getOptionColor(vm.priorities, vm.form.priorityId) }"
                                         required>
-                                    <option value="" translate="common.selectTarget" ng-style="{ 'color' : '#353535' }">
+                                    <!--<option value="" translate="common.selectTarget" ng-style="{ 'color' : '#353535' }">
                                         <span translate="common.selectTarget">���긽 �꽑�깮</span>
-                                    </option>
+                                    </option>-->
                                     <option ng-repeat="priority in vm.priorities"
                                             ng-style="{ 'color' : priority.color, 'font-weight': 600 }"
                                             value="{{priority.id}}"
@@ -104,9 +106,9 @@
                                         ng-model="vm.form.severityId"
                                         ng-style="{ 'color' : fn.getOptionColor(vm.severities, vm.form.severityId) }"
                                         required>
-                                    <option value="" translate="common.selectTarget" ng-style="{ color : '#353535' }">
+                                    <!--<option value="" translate="common.selectTarget" ng-style="{ color : '#353535' }">
                                         <span translate="common.selectTarget">���긽 �꽑�깮</span>
-                                    </option>
+                                    </option>-->
                                     <option ng-repeat="severity in vm.severities"
                                             ng-style="{ color : severity.color, 'font-weight': 600 }"
                                             value="{{severity.id}}"
@@ -123,10 +125,10 @@
                 <div class="col-lg-4">
                     <div class="form-group mb10">
                         <label class="issue-label"> <span translate="common.assigneeTeam">�떞�떦遺��꽌</span> </label>
-                        <js-autocomplete-multi data-input-name="department"
+                        <js-autocomplete-multi data-input-name="departments"
                                                selected-model="vm.form.departments"
                                                search="vm.departmentName"
-                                               source="fn.getIssueDepartmentList(vm.departmentName, vm.form.departments)"
+                                               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>
@@ -210,6 +212,7 @@
                     </div>
                 </div>
             </div>
+
             <hr>
             <div class="row">
                 <div class="col-lg-4 fontcolor_green">
@@ -217,88 +220,156 @@
                 </div>
             </div>
 
-            <div class="col-lg-8">
+            <div class="col-lg-12">
                 <div class="row">
                     <div class="col-md-12">
-                        <div class="form-group mgb5" ng-show="vm.form.issueCustomFields.length < 1">
+                        <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="col-md-4" ng-repeat="issueCustomField in vm.form.issueCustomFields">
                         <div class="form-group mgb5">
-                            <label class="issue-label">{{issueCustomField.customFieldVo.name}}</label>
+                            <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"
+                                           name="item_{{$index}}"
                                            ng-model="issueCustomField.useValues"
-                                           maxlength="100"
                                            autocomplete="off"
                                            kr-input
-                                           ng-required="issueCustomField.fieldOption == '01'">
+                                           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-required="issueCustomField.fieldOption == '01'">
+                                           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="DATETIME">
-                                    <input type="text" class="form-control input-sm"
+                                    <input class="form-control input-sm input-readonly"
+                                           name="item_{{$index}}"
                                            ng-model="issueCustomField.useValues"
-                                           maxlength="100"
-                                           autocomplete="off"
+                                           placeholder="{{'issue.clickToSelectDate' | translate}}"
+                                           modal-form-auto-scroll
+                                           range-type="singleDate"
+                                           date-range-picker
                                            kr-input
-                                           ng-required="issueCustomField.fieldOption == '01'">
+                                           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="IP_ADDRESS">
                                     <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'">
+                                           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="text" class="form-control input-sm"
+                                    <input type="email" class="form-control input-sm"
+                                           name="item_{{$index}}"
+                                           maxlength="30"
                                            ng-model="issueCustomField.useValues"
-                                           maxlength="100"
-                                           autocomplete="off"
                                            kr-input
-                                           ng-required="issueCustomField.fieldOption == '01'">
+                                           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-required="issueCustomField.fieldOption == '01'">
+                                           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="100"
+                                           maxlength="30"
                                            autocomplete="off"
                                            kr-input
-                                           ng-required="issueCustomField.fieldOption == '01'">
+                                           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"
-                                            ng-required="issueCustomField.fieldOption == '01'"
+                                            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"
@@ -307,6 +378,11 @@
                                             {{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>
 
                                 <!-- 硫��떚 ���젆�듃 -->
@@ -317,17 +393,28 @@
                                                              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;�뾽泥� �씠由� �겢由��떆 �꽑�깮�맂 �씠由꾩쓽 �뾽泥� �젙蹂닿� 議고쉶�맗�땲�떎.</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>
@@ -339,6 +426,7 @@
                         <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"
@@ -374,13 +462,11 @@
                                type="text"
                                class="form-control"
                                kr-input
-                               ng-pattern="/^\d{2,3}-\d{3,4}-\d{4}$/"
                                autocomplete="off"
-                               ng-model="vm.companyTel"
-                               maxlength="20">
-                        <div ng-show="issueAddForm.companyTel.$error.pattern" class="help-block form-text text-danger"
+                               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>
                 <div class="col-lg-4">
@@ -388,15 +474,69 @@
                         <label for="companyFieldEmailAddForm" class="issue-label"><span translate="companyField.email">�씠硫붿씪</span></label>
                         <input id="companyFieldEmailAddForm"
                                name="companyEmail"
-                               type="email"
+                               type="text"
                                class="form-control"
                                autocomplete="off"
-                               maxLength="50"
                                ng-model="vm.companyEmail"
-                               kr-input
-                               ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/">
-                        <div ng-show="issueAddForm.companyEmail.$error.pattern" class="help-block form-text text-danger"
+                               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"
+                               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-2">
+                    <div class="form-group mgb5">
+                        <label for="companyFieldIpStartAddForm" class="issue-label"><span translate="companyField.ipRange">ip ���뿭��</span></label>
+                        <input id="companyFieldIpStartAddForm"
+                               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]?)$/"
+                               autocomplete="off"
+                               ng-model="vm.ipStart"
+                               disabled
+                        >
+                        <div ng-if="issueAddForm.ipStart.$error.pattern" class="help-block form-text text-danger"
+                             translate="common.invalidipAdressFormat">IP二쇱냼 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                        </div>
+                    </div>
+                </div>
+                <div class="mt-30 ml--4 mr--4">
+                    <label class="issue-label">~</label>
+                </div>
+                <div class="col-lg-2 mt-1">
+                    <div class="form-group mgb5">
+                        <label for="companyFieldIpEndAddForm"></label>
+                        <input id="companyFieldIpEndAddForm"
+                               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]?)$/"
+                               autocomplete="off"
+                               ng-model="vm.ipEnd"
+                               disabled
+                        >
+                        <div ng-if="issueAddForm.ipEnd.$error.pattern" class="help-block form-text text-danger"
+                             translate="common.invalidipAdressFormat">IP二쇱냼 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
                         </div>
                     </div>
                 </div>
@@ -414,20 +554,128 @@
                                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"
+                                                broad-cast="companyTypeEvent"
+                                                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"
+                                                broad-cast="parentSectorEvent"
+                                                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"
+                                                broad-cast="childSectorEvent"
+                                                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"
+                                                broad-cast="regionEvent"
+                                                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"
+                                                broad-cast="statusEvent"
+                                                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>
+                        &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 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"
@@ -435,6 +683,7 @@
                                                 page="vm.autoCompletePage.ispField.page"
                                                 total-page="vm.autoCompletePage.ispField.totalPage"
                                                 input-disabled="false"
+                                                custom-input="true"
                                                 translation-texts="{ empty : 'common.emptyIsp' }"
                                                 broad-cast="ispFieldEvent"
                                                 extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
@@ -480,13 +729,11 @@
                                type="text"
                                class="form-control"
                                kr-input
-                               ng-pattern="/^\d{2,3}-\d{3,4}-\d{4}$/"
                                autocomplete="off"
-                               ng-model="vm.ispTel"
-                               maxlength="20">
-                        <div ng-show="issueAddForm.ispTel.$error.pattern" class="help-block form-text text-danger"
+                               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>
                 <div class="col-lg-4">
@@ -494,16 +741,31 @@
                         <label for="ispFieldEmailAddForm" class="issue-label"><span translate="ispField.email">�씠硫붿씪</span></label>
                         <input id="ispFieldEmailAddForm"
                                name="ispEmail"
-                               type="email"
+                               type="text"
                                class="form-control"
                                autocomplete="off"
-                               maxLength="50"
                                ng-model="vm.ispEmail"
-                               kr-input
-                               ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/">
-                        <div ng-show="issueAddForm.ispEmail.$error.pattern" class="help-block form-text text-danger"
+                               kr-input>
+                        <!--<div ng-show="issueAddForm.ispEmail.$error.pattern" class="help-block form-text text-danger"
                              translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
-                        </div>
+                        </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"
+                               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">
@@ -525,7 +787,7 @@
             <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>
+                        &nbsp;&nbsp;<!--<span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code>&nbsp;&nbsp;�샇�뒪�똿 �씠由� �겢由��떆 �꽑�깮�맂 �씠由꾩쓽 �샇�뒪�똿 �젙蹂닿� 議고쉶�맗�땲�떎.</span>-->
                     </label>
                 </div>
             </div>
@@ -534,13 +796,23 @@
                 <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"
+                                                custom-input="true"
                                                 translation-texts="{ empty : 'common.emptyHosting' }"
                                                 broad-cast="hostingFieldEvent"
                                                 extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
@@ -586,13 +858,11 @@
                                type="text"
                                class="form-control"
                                kr-input
-                               ng-pattern="/^\d{2,3}-\d{3,4}-\d{4}$/"
                                autocomplete="off"
-                               ng-model="vm.hostingTel"
-                               maxlength="20">
-                        <div ng-show="issueAddForm.hostingTel.$error.pattern" class="help-block form-text text-danger"
+                               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>
                 <div class="col-lg-4">
@@ -600,16 +870,31 @@
                         <label for="hostingFieldEmailAdd" class="issue-label"><span translate="hostingField.email">�씠硫붿씪</span></label>
                         <input id="hostingFieldEmailAdd"
                                name="hostingEmail"
-                               type="email"
+                               type="text"
                                class="form-control"
                                autocomplete="off"
-                               maxLength="50"
                                ng-model="vm.hostingEmail"
-                               kr-input
-                               ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/">
-                        <div ng-show="issueAddForm.hostingEmail.$error.pattern" class="help-block form-text text-danger"
+                               kr-input>
+                        <!--<div ng-show="issueAddForm.hostingEmail.$error.pattern" class="help-block form-text text-danger"
                              translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
-                        </div>
+                        </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"
+                               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">
@@ -661,4 +946,6 @@
             ng-disabled="fn.formCheck(issueAddForm.$invalid)"
             ng-click="fn.formSubmit()"><span translate="common.save">���옣</span>
     </button>
-</div>
\ No newline at end of file
+</div>
+
+

--
Gitblit v1.8.0