From bdb1efdc604fce543e21152b4263a9362f64389f Mon Sep 17 00:00:00 2001 From: minhee <alsdldlfrl@gmail.com> Date: 목, 10 3월 2022 15:35:19 +0900 Subject: [PATCH] - api 이슈 추가 시 입력한 ip에 속해있는 업체정보를 가진 이슈의 하위로 입력되도록 수정 - issue_company 테이블에 ip 컬럼 추가 및 이슈 추가/수정 시 ip 대역대 항목 추가 --- src/main/webapp/views/issue/issueAddRelation.html | 223 ++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 184 insertions(+), 39 deletions(-) diff --git a/src/main/webapp/views/issue/issueAddRelation.html b/src/main/webapp/views/issue/issueAddRelation.html index c00d990..5bf1a34 100644 --- a/src/main/webapp/views/issue/issueAddRelation.html +++ b/src/main/webapp/views/issue/issueAddRelation.html @@ -48,6 +48,8 @@ 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" @@ -249,7 +251,6 @@ <input type="text" class="form-control input-sm" name="input" ng-model="issueCustomField.useValues" - maxlength="100" autocomplete="off" kr-input ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'"> @@ -393,6 +394,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" @@ -428,13 +430,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="issueAddRelationForm.companyTel.$error.pattern" class="help-block form-text text-danger" + ng-model="vm.companyTel"> + <!--<div ng-show="issueAddRelationForm.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"> @@ -442,19 +442,18 @@ <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="issueAddRelationForm.companyEmail.$error.pattern" class="help-block form-text text-danger" + > + <!--<div ng-show="issueAddRelationForm.companyEmail.$error.pattern" class="help-block form-text text-danger" translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎. - </div> + </div>--> </div> </div> - <div class="col-lg-4"> + <div class="col-lg-3-2"> <div class="form-group mgb5"> <label for="companyFieldUrlAddForm" class="issue-label"><span translate="companyField.url">url</span></label> <input id="companyFieldUrlAddForm" @@ -466,6 +465,48 @@ ng-maxlength="200" ng-model="vm.companyUrl" maxlength="200"> + <!--<div ng-show="issueAddRelationForm.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]?)$/" + placeholder="IP 二쇱냼 �삎�떇留� �엯�젰 媛��뒫�빀�땲�떎." + autocomplete="off" + ng-model="vm.ipStart" + > + <div ng-if="issueAddRelationForm.ipStart.$error.pattern" class="help-block form-text text-danger" + translate="common.invalidipAdressFormat">IP二쇱냼 �삎�떇�씠 留욎� �븡�뒿�땲�떎. + </div> + </div> + </div> + <div class="mt-30"> + <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]?)$/" + placeholder="IP 二쇱냼 �삎�떇留� �엯�젰 媛��뒫�빀�땲�떎." + autocomplete="off" + ng-model="vm.ipEnd" + > + <div ng-if="issueAddRelationForm.ipEnd.$error.pattern" class="help-block form-text text-danger" + translate="common.invalidipAdressFormat">IP二쇱냼 �삎�떇�씠 留욎� �븡�뒿�땲�떎. + </div> </div> </div> <div class="col-lg-4"> @@ -482,6 +523,106 @@ 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"> @@ -496,25 +637,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"> @@ -556,13 +698,12 @@ 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="issueAddRelationForm.ispTel.$error.pattern" class="help-block form-text text-danger" + > + <!--<div ng-show="issueAddRelationForm.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"> @@ -570,16 +711,15 @@ <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="issueAddRelationForm.ispEmail.$error.pattern" class="help-block form-text text-danger" + > + <!--<div ng-show="issueAddRelationForm.ispEmail.$error.pattern" class="help-block form-text text-danger" translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎. - </div> + </div>--> </div> </div> <div class="col-lg-4"> @@ -594,6 +734,9 @@ ng-maxlength="200" ng-model="vm.ispUrl" maxlength="200"> + <!--<div ng-show="issueAddRelationForm.ispUrl.$error.pattern" class="help-block form-text text-danger" + translate="common.invalidUrlFormat">url �삎�떇�씠 留욎� �븡�뒿�땲�떎. + </div>--> </div> </div> <div class="col-lg-4"> @@ -624,30 +767,31 @@ <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" 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 : '', - 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"> <div class="form-group mb10"> - <label for="hostingCodeManagerAdd" class="issue-label"><span translate="hostingField.code">�떞�떦�옄</span></label> + <label for="hostingCodeManagerAdd" class="issue-label"><span translate="hostingField.code">肄붾뱶</span></label> <input id="hostingCodeManagerAdd" name="hostingCode" type="text" @@ -684,13 +828,12 @@ 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="issueAddRelationForm.hostingTel.$error.pattern" class="help-block form-text text-danger" + > + <!--<div ng-show="issueAddRelationForm.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"> @@ -698,16 +841,15 @@ <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="issueAddRelationForm.hostingEmail.$error.pattern" class="help-block form-text text-danger" + > + <!--<div ng-show="issueAddRelationForm.hostingEmail.$error.pattern" class="help-block form-text text-danger" translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎. - </div> + </div>--> </div> </div> <div class="col-lg-4"> @@ -722,6 +864,9 @@ ng-maxlength="200" ng-model="vm.hostingUrl" maxlength="200"> + <!--<div ng-show="issueAddRelationForm.hostingUrl.$error.pattern" class="help-block form-text text-danger" + translate="common.invalidUrlFormat">url �삎�떇�씠 留욎� �븡�뒿�땲�떎. + </div>--> </div> </div> <div class="col-lg-4"> -- Gitblit v1.8.0