<div class="formModal">
|
<div class="modal-header faded smaller">
|
<div class="modal-title">
|
<strong>업체 등록</strong>
|
</div>
|
<button aria-label="Close" class="close" type="button" ng-click="fn.cancel()">
|
<span aria-hidden="true"> ×</span>
|
</button>
|
</div>
|
|
<div class="modal-body">
|
<form role="form" name="companyFieldAddForm">
|
<div class="form-group">
|
<label for="companyFieldAddForm1">
|
<span translate="companyField.name">업체명</span>
|
<code class="highlighter-rouge">*</code>
|
</label>
|
<input id="companyFieldAddForm1"
|
name="name"
|
type="text"
|
class="form-control"
|
autofocus
|
kr-input
|
input-regex="/[^?a-zA-Z0-9/]/"
|
autocomplete="off"
|
ng-model="vm.form.name"
|
ng-maxlength="100"
|
maxlength="100"
|
required>
|
<!--<small translate="companyField.enterSpecialCharacters">업체 이름에는 특수 문자를 입력 할수 없습니다.</small>-->
|
</div>
|
|
<div class="form-group">
|
<label for="companyFieldAddForm10" class="issue-label">
|
<span translate="companyField.url">url</span>
|
</label>
|
<div class="help-block form-text text-danger fs-09">
|
<small translate="companyField.multiUrlWithComma">여러개의 url을 입력 할 수 있습니다. (구분: ',') ex: www.test.com, www.test2.com</small>
|
</div>
|
<input id="companyFieldAddForm10"
|
name="url"
|
type="text"
|
class="form-control"
|
kr-input
|
autocomplete="off"
|
ng-model="vm.form.url"
|
ng-maxlength="200"
|
maxlength="200"
|
>
|
<!--<div ng-show="companyFieldAddForm.url.$error.pattern" class="help-block form-text text-danger"
|
translate="common.invalidUrlFormat">url 형식이 맞지 않습니다.
|
</div>-->
|
</div>
|
|
<div class="row">
|
<div class="col-lg-5 mw-49">
|
<div class="form-group">
|
<label for="companyFieldAddForm11" class="issue-label">
|
<span translate="companyField.ipRange">ip 대역대</span>
|
</label>
|
<div ng-repeat="s in vm.form.inputIpStarts" style="display: flex">
|
<input id="companyFieldAddForm11"
|
name="ipStart"
|
type="text"
|
class="form-control mt-1"
|
kr-input
|
ng-model="vm.form.ipStarts[$index]"
|
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"
|
style="width: 189px;"
|
>
|
<div class="issue-label select3-selection__ipRange__tilde">~</div>
|
</div>
|
<div ng-if="companyFieldAddForm.ipStart.$error.pattern" class="help-block form-text text-danger"
|
translate="common.invalidipAdressFormat">IP주소 형식이 맞지 않습니다.
|
</div>
|
</div>
|
</div>
|
<div class="col-lg-5 mw-49" style="margin-top: 4px;">
|
<div class="form-group">
|
<label for="companyFieldAddForm12" class="issue-label"></label>
|
<div ng-repeat="e in vm.form.inputIpEnds" style="display: flex">
|
<input id="companyFieldAddForm12"
|
name="ipEnd"
|
type="text"
|
class="form-control mt-1"
|
kr-input
|
ng-model="vm.form.ipEnds[$index]"
|
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"
|
style="width: 189px;"
|
>
|
<div class="select3-selection__ipRange__remove"
|
ng-click="fn.removeIpRangeInput($index)">×</div>
|
</div>
|
<div ng-if="companyFieldAddForm.ipEnd.$error.pattern" class="help-block form-text text-danger"
|
translate="common.invalidipAdressFormat">IP주소 형식이 맞지 않습니다.
|
</div>
|
</div>
|
</div>
|
<div class="col-lg-2 mt-25" style="margin-left: -15px">
|
<div>
|
<button type="button" class="btn btn-secondary" ng-click="fn.addIpRange()">
|
<span translate="common.add">추가</span>
|
</button>
|
</div>
|
</div>
|
</div>
|
|
<div class="row">
|
<div class="col-lg-6">
|
<div class="form-group">
|
<label class="issue-label">
|
<span translate="ispField.select">ISP 선택</span>
|
</label>
|
<js-autocomplete-single data-input-name="ispField"
|
selected-model="vm.form.issueIspFields"
|
ng-model="vm.form.ispName"
|
custom-input="true"
|
search="vm.form.ispName"
|
source="fn.getIssueIspFieldList(vm.form.ispName, vm.form.issueIspFields, vm.autoCompletePage.issueIspFields.page, fn.getIssueIspFieldListCallBack)"
|
page="vm.autoCompletePage.ispField.page"
|
total-page="vm.autoCompletePage.ispField.totalPage"
|
input-disabled="false"
|
translation-texts="{ empty : 'common.emptyIsp' }"
|
broad-cast="ispFieldEvent"
|
extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
|
type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
|
</div>
|
</div>
|
<div class="col-lg-6">
|
<div class="form-group">
|
<label class="issue-label">
|
<span translate="hostingField.select">호스팅 선택</span>
|
</label>
|
<js-autocomplete-single data-input-name="hostingField"
|
selected-model="vm.form.issueHostingFields"
|
ng-model="vm.form.hostingName"
|
custom-input="true"
|
search="vm.form.hostingName"
|
source="fn.getIssueHostingFieldList(vm.form.hostingName, vm.form.issueHostingFields, vm.autoCompletePage.hostingField.page, fn.getIssueHostingFieldListCallBack)"
|
page="vm.autoCompletePage.hostingField.page"
|
total-page="vm.autoCompletePage.hostingField.totalPage"
|
input-disabled="false"
|
translation-texts="{ empty : 'common.emptyHosting' }"
|
broad-cast="hostingFieldEvent"
|
extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
|
type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
|
</div>
|
</div>
|
</div>
|
|
<div class="row">
|
<div class="col-lg-4">
|
<div class="form-group">
|
<label class="issue-label"><span translate="companyField.tel">전화번호</span></label>
|
<div class="input-group" ng-repeat="tell in vm.form.inputTels">
|
<input type="text"
|
name="tel"
|
class="form-control mt-1"
|
kr-input
|
ng-model="vm.form.tels[$index]"
|
input-regex="[^0-9]"
|
autocomplete="off">
|
<span class="select3-selection__email__remove" ng-click="fn.removeTelInput($index)">×</span>
|
</div>
|
<!--<div ng-show="companyFieldAddForm.tel.$error.minlength" class="help-block form-text text-danger"
|
translate="common.least9CharactersTel">전화번호 형식이 맞지 않습니다.(9자리 이상)
|
</div>-->
|
</div>
|
</div>
|
<div class="col-lg-2" style="margin-left: -19px; margin-top: 28px;">
|
<div>
|
<button type="button" class="btn btn-secondary" ng-click="fn.addTel()">
|
<span translate="common.add">추가</span>
|
</button>
|
</div>
|
</div>
|
<div class="col-lg-5 ml--12">
|
<div class="form-group">
|
<label class="issue-label">
|
<span translate="companyField.email">이메일</span>
|
</label>
|
<div class="input-group" ng-repeat="mail in vm.form.inputMails">
|
<input type="text"
|
name="email"
|
class="form-control mt-1"
|
kr-input
|
ng-model="vm.form.emails[$index]"
|
ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/"
|
autocomplete="off">
|
<span class="select3-selection__email__remove" ng-click="fn.removeMailInput($index)">×</span>
|
</div>
|
<div ng-show="companyFieldAddForm.email.$error.pattern" class="help-block form-text text-danger"
|
translate="users.invalidEmailFormat">이메일 형식이 맞지 않습니다.
|
</div>
|
</div>
|
</div>
|
<div class="col-lg-2" style="margin-left: -19px; margin-right: -16px; margin-top: 28px;">
|
<div>
|
<button type="button" class="btn btn-secondary" ng-click="fn.addMail()">
|
<span translate="common.add">추가</span>
|
</button>
|
</div>
|
</div>
|
</div>
|
|
<div class="row">
|
<div class="col-lg-6">
|
<div class="form-group">
|
<label for="companyFieldAddForm9" class="issue-label">
|
<span translate="companyField.manager">담당자</span>
|
</label>
|
<input id="companyFieldAddForm9"
|
name="manager"
|
type="text"
|
class="form-control"
|
kr-input
|
input-regex="[^a-zA-Z0-9 가-힣ㄱ-ㅎㅏ-ㅣ\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
|
autocomplete="off"
|
ng-model="vm.form.manager"
|
ng-maxlength="100"
|
maxlength="100"
|
>
|
</div>
|
</div>
|
<div class="col-lg-6">
|
<div class="form-group">
|
<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>
|
|
<div class="form-group">
|
<label class="issue-label">
|
<span translate="companyField.parentSector">업종(대분류)</span>
|
</label>
|
<js-autocomplete-single data-input-name="parentSector"
|
selected-model="vm.form.parentSectors"
|
ng-model="vm.form.parentSector"
|
custom-input="false"
|
search="vm.form.parentSector"
|
source="fn.getCompanyTypeCategory(vm.typeCategory.parentSector, vm.form.parentSector, vm.form.parentSectors, vm.autoCompletePage.parentSector.page, fn.getParentSectorListCallBack)"
|
page="vm.autoCompletePage.parentSector.page"
|
total-page="vm.autoCompletePage.parentSector.totalPage"
|
input-disabled="false"
|
translation-texts="{ empty : 'common.emptyParentSector' }"
|
broad-cast="parentSectorEvent"
|
extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '',
|
type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
|
</div>
|
<div class="form-group">
|
<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"
|
ng-value="vm.form.childSector"
|
custom-input="false"
|
search="vm.form.childSector"
|
source="fn.getCompanyChildSector(vm.form.parentSectorId, vm.form.parentSectors[0].id, vm.typeCategory.childSector, vm.form.childSector, vm.form.childSectors, vm.autoCompletePage.childSector.page, fn.getChildSectorListCallBack)"
|
page="vm.autoCompletePage.childSector.page"
|
total-page="vm.autoCompletePage.childSector.totalPage"
|
input-disabled="false"
|
translation-texts="{ empty : 'common.emptyChildSector' }"
|
broad-cast="childSectorEvent"
|
extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '',
|
type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
|
</div>
|
|
<div class="row">
|
<div class="col-lg-6">
|
<div class="form-group">
|
<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-6">
|
<div class="form-group">
|
<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>
|
|
<div>
|
<div class="form-group">
|
<label for="companyFieldAddForm8" class="issue-label">
|
<span translate="companyField.memo">비고</span>
|
</label>
|
<input id="companyFieldAddForm8"
|
name="memo"
|
type="text"
|
class="form-control"
|
kr-input
|
autocomplete="off"
|
ng-model="vm.form.memo"
|
ng-maxlength="200"
|
maxlength="200"
|
>
|
</div>
|
</div>
|
</form>
|
</div>
|
|
<div class="modal-footer buttons-on-right">
|
<button type="button" class="btn btn-md btn-grey" ng-click="fn.cancel()"><span translate="common.cancel">취소</span></button>
|
<button type="button" class="btn btn-md btn-primary bold"
|
js-short-cut
|
js-short-cut-action="(fn.formCheck(companyFieldAddForm.$invalid) || $root.spinner) ? null : fn.formSubmit()"
|
ng-disabled="fn.formCheck(companyFieldAddForm.$invalid)"
|
ng-click="fn.formSubmit()"><span translate="common.save">저장</span>
|
</button>
|
</div>
|
</div>
|