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 |   89 +++++++++++++++++++++++++++++++++-----------
 1 files changed, 66 insertions(+), 23 deletions(-)

diff --git a/src/main/webapp/views/issue/issueAdd.html b/src/main/webapp/views/issue/issueAdd.html
index 718ee0f..fcd17cc 100644
--- a/src/main/webapp/views/issue/issueAdd.html
+++ b/src/main/webapp/views/issue/issueAdd.html
@@ -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="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>
@@ -60,7 +61,7 @@
                                         ng-change="fn.getIssueTypeCustomFields()"
                                         ng-style="{ 'color' : fn.getOptionColor(vm.issueTypes, vm.form.issueTypeId) }"
                                         required
-                                        disabled>
+                                        >
                                     <option value="" translate="common.selectTarget" ng-style="{ 'color' : '#353535' }"><span
                                             translate="common.selectTarget">���긽 �꽑�깮</span>
                                     </option>
@@ -83,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}}"
@@ -105,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}}"
@@ -238,7 +239,6 @@
                                     <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'">
@@ -495,10 +495,48 @@
                                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"
+                        <!--<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>
@@ -530,6 +568,7 @@
                                                 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>
@@ -549,6 +588,7 @@
                                                 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>
@@ -568,6 +608,7 @@
                                                 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>
@@ -587,6 +628,7 @@
                                                 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>
@@ -606,6 +648,7 @@
                                                 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>
@@ -625,25 +668,26 @@
                 <div class="col-lg-4">
                     <div class="form-group mb10">
                         <label class="issue-label"> <span translate="ispField.name">ISP �씠由�</span> </label>
-                        <input name="ispName"
+                        <!--<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"
+                               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"
+                                                custom-input="true"
                                                 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>-->
+                                                type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
                     </div>
                 </div>
                 <div class="col-lg-4">
@@ -718,11 +762,10 @@
                                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"
+                        <!--<div ng-show="issueAddForm.ispUrl.$error.pattern" class="help-block form-text text-danger"
                              translate="common.invalidUrlFormat">url �삎�떇�씠 留욎� �븡�뒿�땲�떎.
-                        </div>
+                        </div>-->
                     </div>
                 </div>
                 <div class="col-lg-4">
@@ -753,15 +796,15 @@
                 <div class="col-lg-4">
                     <div class="form-group mb10">
                         <label class="issue-label"> <span translate="hostingField.name">�샇�뒪�똿 �씠由�</span> </label>
-                        <input name="hostingName"
+                        <!--<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"
+                               maxlength="100">-->
+                        <js-autocomplete-single data-input-name="hostingField"
                                                 selected-model="vm.form.issueHostingFields"
                                                 ng-model="vm.hostingName"
                                                 search="vm.hostingName"
@@ -769,10 +812,11 @@
                                                 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 : '',
-                                                type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>-->
+                                                type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
                     </div>
                 </div>
                 <div class="col-lg-4">
@@ -847,11 +891,10 @@
                                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"
+                        <!--<div ng-show="issueAddForm.hostingUrl.$error.pattern" class="help-block form-text text-danger"
                              translate="common.invalidUrlFormat">url �삎�떇�씠 留욎� �븡�뒿�땲�떎.
-                        </div>
+                        </div>-->
                     </div>
                 </div>
                 <div class="col-lg-4">

--
Gitblit v1.8.0