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