<div class="formModal">
|
<div class="modal-header faded smaller">
|
<div class="modal-title">
|
<strong translate="project.modifyProject">프로젝트 수정</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="projectModifyForm">
|
<div class="form-group">
|
<label for="projectModifyForm1"><span translate="common.projectName">프로젝트명</span> <code class="highlighter-rouge">*</code></label>
|
<input id="projectModifyForm1"
|
name="name"
|
type="text"
|
class="form-control"
|
autofocus
|
autocomplete="off"
|
ng-model="vm.form.name"
|
ng-maxlength="50"
|
input-regex="[^a-zA-Z0-9 가-힣ㄱ-ㅎㅏ-ㅣ\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
|
maxlength="50"
|
kr-input
|
required>
|
<small ng-show="projectModifyForm.name.$error.maxlength" class="help-block form-text text-danger" translate="common.upTo50Characters">
|
최대 50글자까지 입력할 수 있습니다.
|
</small>
|
<small translate="project.limitNameToSpecialCharacters">프로젝트 명은 특수 문자를 입력할 수 없습니다.</small>
|
</div>
|
|
<div class="row">
|
<div class="col-lg-6">
|
<div class="form-group">
|
<label for="projectModifyForm2"><span translate="common.period">기간</span> <code class="highlighter-rouge">*</code></label>
|
<input id="projectModifyForm2"
|
type="text"
|
class="form-control input-readonly"
|
ng-model="vm.form.startEndDateRange"
|
modal-form-auto-scroll
|
parent-el="'#createdWidget'"
|
range-type="date"
|
onfocus="this.blur()"
|
date-range-picker>
|
<div class="row">
|
<div class="col-xs-12">
|
<div id="createdWidget" class="bootstrap-datepicker"></div>
|
</div>
|
</div>
|
</div>
|
</div>
|
<div class="col-lg-6">
|
<div class="form-group mb10">
|
<label> <span translate="common.parentProject">상위 프로젝트</span></label>
|
<js-autocomplete-single data-input-name="project"
|
selected-model="vm.form.parentProjects"
|
search="vm.projectName"
|
source="fn.getProjectList(vm.projectName, vm.form.parentProjects, 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>
|
</div>
|
</div>
|
</div>
|
<div class="form-group">
|
<label><span translate="project.projectStatus">프로젝트 상태</span> <code class="highlighter-rouge">*</code></label>
|
<ul class="nav nav-pills smaller d-lg-flex">
|
<li class="nav-item">
|
<a class="nav-link cursor" ng-class="{active : vm.form.status == '01'}" data-toggle="tab"
|
ng-click="vm.form.status = '01'"> <span translate="common.wait">대기</span></a>
|
</li>
|
<li class="nav-item">
|
<a class="nav-link cursor" ng-class="{active : vm.form.status == '02'}" data-toggle="tab"
|
ng-click="vm.form.status = '02'"> <span translate="common.progress">진행</span></a>
|
</li>
|
<li class="nav-item">
|
<a class="nav-link cursor" ng-class="{active : vm.form.status == '03'}" data-toggle="tab"
|
ng-click="vm.form.status = '03'"> <span translate="common.end">종료</span></a>
|
</li>
|
</ul>
|
</div>
|
|
<div class="form-group">
|
<label><span translate="project.projectAdmin">프로젝트 관리자</span> <code class="highlighter-rouge">*</code></label>
|
<js-autocomplete-single data-input-name="managers"
|
selected-model="vm.form.managers"
|
search="vm.managerName"
|
source="fn.getUserList(vm.managerName, vm.form.managers.concat(vm.form.users), vm.autoCompletePage.manager.page, fn.getManagerListCallBack)"
|
page="vm.autoCompletePage.manager.page"
|
total-page="vm.autoCompletePage.manager.totalPage"
|
input-disabled="false"
|
extra-settings="{ displayProp : 'byName' , idProp : 'id', imageable : true, imagePathProp : 'profile', type : 'user', maxlength : 100 }"></js-autocomplete-single>
|
|
<div class="select3-selection__choicediv mt-10">
|
<span class="select3-selection__choice" ng-repeat="user in vm.form.managers">
|
<span class="avatar-w"><img ng-src="{{user.profile}}"></span>
|
<span>{{user.name}}({{user.account}})</span>
|
<span class="select3-selection__choice__remove" ng-click="fn.removeManager($index)">×</span>
|
</span>
|
</div>
|
</div>
|
|
<div class="form-group">
|
<label><span translate="project.projectTeam">프로젝트 팀원</span> </label>
|
<js-autocomplete-multi data-input-name="users"
|
selected-model="vm.form.users"
|
search="vm.userName"
|
source="fn.getUserList(vm.userName, vm.form.users.concat(vm.form.managers))"
|
input-disabled="false"
|
translation-texts="{ count : 'common.userNum', empty : 'common.emptyUser' }"
|
extra-settings="{ displayProp : 'byName' , idProp : 'id', imageable : true, imagePathProp : 'profile', type : 'user', maxlength : 100, autoResize : true }"></js-autocomplete-multi>
|
|
<div class="select3-selection__choicediv mt-10">
|
<span class="select3-selection__choice" ng-repeat="user in vm.form.users">
|
<span class="avatar-w"><img ng-src="{{user.profile}}"></span>
|
<span>{{user.name}}({{user.account}})</span>
|
<span class="select3-selection__choice__remove" ng-click="fn.removeUsr($index)">×</span>
|
</span>
|
</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(projectModifyForm.$invalid) || $root.spinner) ? null : fn.formSubmit()"
|
ng-disabled="fn.formCheck(projectModifyForm.$invalid)"
|
ng-click="fn.formSubmit()"><span translate="common.save">저장</span>
|
</button>
|
</div>
|
</div>
|