Merge remote-tracking branch 'origin/master'
| | |
| | | |
| | | Long findBydepartmentId(Long Id); |
| | | |
| | | Long countInDepartment(Long Id); |
| | | |
| | | List<Map<String, Object>> findByDepartmentIds(UserCondition condition); |
| | | |
| | | List<Map<String, Object>> findProjectDepartment(DepartmentCondition departmentCondition); |
| | |
| | | |
| | | import kr.wisestone.owl.domain.Department; |
| | | import org.springframework.data.jpa.repository.JpaRepository; |
| | | import org.springframework.data.repository.query.Param; |
| | | |
| | | public interface DepartmentRepository extends JpaRepository<Department, Long> { |
| | | |
| | | Long countById(@Param("id")Long id); |
| | | } |
| | |
| | | import kr.wisestone.owl.web.form.UserDepartmentForm; |
| | | import org.springframework.data.jpa.repository.JpaRepository; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | public interface UserDepartmentService extends AbstractService<UserDepartment, Long, JpaRepository<UserDepartment, Long>> { |
| | |
| | | void userDepartmentDetail(Map<String, Object> resJsonData, UserCondition make); |
| | | |
| | | void userDepartmentModify(UserDepartmentForm userDepartmentForm); |
| | | |
| | | List<UserDepartment> findByDepartmentId(Long id); |
| | | } |
| | |
| | | for (Map<String, Object> result : results) { |
| | | CompanyFieldVo companyFieldVo = ConvertUtil.convertMapToClass(result, CompanyFieldVo.class); |
| | | if(companyFieldVo.getIspId() != null && companyFieldVo.getIspId() != -1){ |
| | | //IspField ispField = this.ispFieldRepository.getOne(companyFieldVo.getIspId()); |
| | | IspField ispField = this.ispFieldService.getIsp(companyFieldVo.getIspId()); |
| | | if(ispField != null){ |
| | | IspFieldVo ispFieldVo = ConvertUtil.copyProperties(ispField, IspFieldVo.class); |
| | | companyFieldVo.setIspFieldVo(ispFieldVo); |
| | | } |
| | | } |
| | | if(companyFieldVo.getHostingId() != null && companyFieldVo.getIspId() != -1){ |
| | | //HostingField hostingField = this.hostingFieldRepository.getOne(companyFieldVo.getHostingId()); |
| | | if(companyFieldVo.getHostingId() != null && companyFieldVo.getHostingId() != -1){ |
| | | HostingField hostingField = this.hostingFieldService.getHosting(companyFieldVo.getHostingId()); |
| | | if(hostingField != null){ |
| | | HostingFieldVo hostingFieldVo = ConvertUtil.copyProperties(hostingField, HostingFieldVo.class); |
| | |
| | | |
| | | import kr.wisestone.owl.domain.*; |
| | | import kr.wisestone.owl.mapper.DepartmentMapper; |
| | | import kr.wisestone.owl.repository.UserDepartmentRepository; |
| | | import kr.wisestone.owl.service.*; |
| | | import kr.wisestone.owl.web.condition.DepartmentCondition; |
| | | import kr.wisestone.owl.web.condition.UserCondition; |
| | |
| | | |
| | | @Autowired |
| | | private DepartmentRepository departmentRepository; |
| | | |
| | | @Autowired |
| | | private UserDepartmentService userDepartmentService; |
| | | |
| | | @Autowired |
| | | private DepartmentMapper departmentMapper; |
| | |
| | | |
| | | @Override |
| | | public boolean countInDepartment(Long id) { |
| | | return this.departmentMapper.countInDepartment(id) > 0; |
| | | boolean result = false; |
| | | List<UserDepartment> usingDepartments = this.userDepartmentService.findByDepartmentId(id); |
| | | if(usingDepartments != null && usingDepartments.size() > 0){ |
| | | result = true; |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | // DepartmentVos 데이터를 엑셀에서 표시할 수 있는 데이터로 변경한다. |
| | |
| | | import kr.wisestone.owl.domain.enumType.IssueHistoryType; |
| | | import kr.wisestone.owl.domain.enumType.IssueStatusType; |
| | | import kr.wisestone.owl.exception.OwlRuntimeException; |
| | | import kr.wisestone.owl.mapper.DepartmentMapper; |
| | | import kr.wisestone.owl.mapper.IssueMapper; |
| | | import kr.wisestone.owl.mapper.ProjectMapper; |
| | | import kr.wisestone.owl.repository.IssueRelationRepository; |
| | |
| | | |
| | | @Autowired |
| | | private UserDepartmentRepository userDepartmentRepository; |
| | | |
| | | @Autowired |
| | | private DepartmentMapper departmentMapper; |
| | | |
| | | @Autowired |
| | | private WorkflowDepartmentRepository workflowDepartmentRepository; |
| | |
| | | for(UserDepartment myDepartment : myDepartments){ |
| | | myDepartmentIds.add(myDepartment.getDepartmentId()); |
| | | } |
| | | } else { |
| | | myDepartmentIds.add(-1L); |
| | | } |
| | | issueCondition.setMyDepartmentIds(myDepartmentIds); |
| | | } |
| | | |
| | | void SetAllDepartmentId(IssueCondition issueCondition){ |
| | | List<Long> departmentIds = Lists.newArrayList(); |
| | | List<Map<String, Object>> departmentList = this.departmentMapper.find(null); |
| | | |
| | | if(departmentList != null && departmentList.size() > 0){ |
| | | for(Map<String, Object> department : departmentList){ |
| | | departmentIds.add((Long) department.get("id")); |
| | | } |
| | | } |
| | | issueCondition.setMyDepartmentIds(departmentIds); |
| | | } |
| | | |
| | | void SetWorkflowDepartment(List<IssueVo> issueVos){ |
| | |
| | | Long totalCount = 0L; |
| | | UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId()); |
| | | |
| | | // if (this.userWorkspaceService.checkWorkspaceManager(user) |
| | | // || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE_PROJECT_ALL)) { |
| | | results = this.issueMapper.find(issueCondition); |
| | | totalCount = this.issueMapper.count(issueCondition); |
| | | // } |
| | | // } else{ |
| | | // this.SetMyDepartmentId(issueCondition); |
| | | // results = this.issueMapper.findByDepartment(issueCondition); |
| | | // totalCount = this.issueMapper.countByDepartment(issueCondition); |
| | | // } |
| | | if (this.userWorkspaceService.checkWorkspaceManager(user) |
| | | || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_ISSUE_PROJECT_ALL)) { |
| | | this.SetAllDepartmentId(issueCondition); |
| | | } else{ |
| | | this.SetMyDepartmentId(issueCondition); |
| | | /*results = this.issueMapper.findByDepartment(issueCondition); |
| | | totalCount = this.issueMapper.countByDepartment(issueCondition);*/ |
| | | } |
| | | results = this.issueMapper.find(issueCondition); |
| | | totalCount = this.issueMapper.count(issueCondition); |
| | | |
| | | |
| | | // 튜닝 전 - 0.8, 0.9, 0.9, 0.9, 0.9 |
| | |
| | | this.userDepartmentRepository.saveAll(list); |
| | | } |
| | | |
| | | @Override |
| | | public List<UserDepartment> findByDepartmentId(Long id) { |
| | | return this.userDepartmentRepository.findByDepartmentId(id); |
| | | } |
| | | |
| | | |
| | | // 사용자 부서 ID로 조회한다. |
| | | // @Override |
| | |
| | | private String modifyByName; // 변경자 정보 - 이슈 변경 정보 상세 확인에서 사용 |
| | | private WorkflowStatusVo workflowStatusVo; |
| | | private IssueVo parentIssueVo; |
| | | private Long parentIssueId; |
| | | private int downIssueCount; |
| | | private int downIssueAllCount; |
| | | private List<Long> workflowDepartmentIds; // 워크플로우에 설정한 담당부서 ID |
| | |
| | | this.issueTableConfigVos.add(issueTableConfigVo); |
| | | } |
| | | } |
| | | |
| | | public Long getParentIssueId() { |
| | | return parentIssueId; |
| | | } |
| | | |
| | | public void setParentIssueId(Long parentIssueId) { |
| | | this.parentIssueId = parentIssueId; |
| | | } |
| | | } |
| | |
| | | LEFT OUTER JOIN issue_custom_field_value issue_custom FORCE INDEX(issueIdIndex) ON issue.id = issue_custom.issue_id |
| | | LEFT OUTER JOIN issue_department isd FORCE INDEX(issueIdIndex) ON issue.id = isd.issue_id |
| | | LEFT OUTER JOIN issue_user issue_user FORCE INDEX(issueIdIndex) ON issue.id = issue_user.issue_id |
| | | LEFT OUTER JOIN user_department ud ON ud.department_id = isd.department_id |
| | | LEFT OUTER JOIN (SELECT issue_id, COUNT(id) as attachedFileCount FROM attached_file GROUP BY issue_id) |
| | | temp_attached_file on (temp_attached_file.issue_id = issue.id) |
| | | LEFT OUTER JOIN (SELECT issue_id, COUNT(id) as issueCommentCount FROM issue_comment GROUP BY issue_id) |
| | |
| | | </choose> |
| | | |
| | | <choose> |
| | | <when test="departmentIds.size != 0 and myDepartmentIds != null and myDepartmentIds.size != 0"> |
| | | AND isd.department_id IN |
| | | <foreach collection="myDepartmentIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | |
| | | <choose> |
| | | <when test="registerIds.size != 0"> |
| | | AND issue.register_id IN |
| | | <foreach collection="registerIds" item="item" index="index" separator="," open="(" close=")"> |
| | |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="findByDepartment" resultType="java.util.HashMap" parameterType="kr.wisestone.owl.web.condition.IssueCondition"> |
| | | <!--<select id="findByDepartment" resultType="java.util.HashMap" parameterType="kr.wisestone.owl.web.condition.IssueCondition"> |
| | | SELECT |
| | | DISTINCT issue.id as id, |
| | | issue.register_id as registerId, |
| | |
| | | <if test="page != null and !page.equals('')"> |
| | | limit #{pageSize} offset #{page}; |
| | | </if> |
| | | </select> |
| | | </select>--> |
| | | |
| | | <!--<select id="count" resultType="java.lang.Long" parameterType="kr.wisestone.owl.web.condition.IssueCondition"> |
| | | SELECT |
| | |
| | | FROM issue issue |
| | | LEFT OUTER JOIN issue_department isd ON issue.id = isd.issue_id |
| | | LEFT OUTER JOIN issue_status iss ON iss.id = issue.issue_status_id |
| | | LEFT OUTER JOIN user_department ud ON ud.department_id = isd.department_id |
| | | WHERE 1=1 |
| | | AND issue.parent_issue_id IS NULL |
| | | <if test="title != null and !title.equals('') "> |
| | |
| | | </choose> |
| | | |
| | | <choose> |
| | | <when test="departmentIds.size != 0 and myDepartmentIds != null and myDepartmentIds.size != 0"> |
| | | AND isd.department_id IN |
| | | <foreach collection="myDepartmentIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | |
| | | <choose> |
| | | <when test="registerIds.size != 0"> |
| | | AND issue.register_id IN |
| | | <foreach collection="registerIds" item="item" index="index" separator="," open="(" close=")"> |
| | |
| | | name : $rootScope.preventXss($scope.vm.form.name), |
| | | ispId : (function () { // ISP 아이디 |
| | | var ispId = -1; |
| | | if ($scope.vm.form.issueIspFields.length > 0) { |
| | | if ($scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0) { |
| | | ispId = $scope.vm.form.ispId; |
| | | } |
| | | return ispId; |
| | | })(), |
| | | hostingId : (function () { // Hosting 아이디 |
| | | var hostingId = -1; |
| | | if ($scope.vm.form.issueHostingFields.length > 0) { |
| | | if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0) { |
| | | hostingId = $scope.vm.form.hostingId; |
| | | } |
| | | return hostingId; |
| | |
| | | |
| | | companyId : (function () { // 업체 아이디 |
| | | var companyId = -1; |
| | | if ($scope.vm.form.issueCompanyFields.length > 0) { |
| | | if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0) { |
| | | companyId = $scope.vm.form.issueCompanyFields[0].id; |
| | | } |
| | | return companyId; |
| | |
| | | |
| | | ispId : (function () { // ISP 아이디 |
| | | var ispId = -1; |
| | | if ($scope.vm.form.issueIspFields.length > 0) { |
| | | if ($scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0) { |
| | | ispId = $scope.vm.form.issueIspFields[0].id; |
| | | } |
| | | return ispId; |
| | |
| | | |
| | | hostingId : (function () { // Hosting 아이디 |
| | | var hostingId = -1; |
| | | if ($scope.vm.form.issueHostingFields.length > 0) { |
| | | if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0) { |
| | | hostingId = $scope.vm.form.issueHostingFields[0].id; |
| | | } |
| | | return hostingId; |
| | |
| | | |
| | | // 업체정보 결과 값 Event 처리(set) |
| | | $scope.$on("companyFieldEvent", function (event, result) { |
| | | var ispFieldVo = result[0].ispFieldVo; |
| | | var hostingFieldVo = result[0].hostingFieldVo; |
| | | |
| | | $scope.vm.companyId = result[0].id; |
| | | $scope.vm.companyName = result[0].name; |
| | | $scope.vm.companyManager = result[0].manager; |
| | |
| | | $scope.vm.companyUrl = result[0].url; |
| | | $scope.vm.companyMemo = result[0].memo; |
| | | |
| | | $scope.vm.ispName = ispFieldVo.name; |
| | | $scope.vm.ispCode = ispFieldVo.code; |
| | | $scope.vm.ispManager = ispFieldVo.manager; |
| | | $scope.vm.ispTel = ispFieldVo.tel; |
| | | $scope.vm.ispEmail = ispFieldVo.email; |
| | | $scope.vm.ispUrl = ispFieldVo.url; |
| | | $scope.vm.ispMemo = ispFieldVo.memo; |
| | | |
| | | $scope.vm.hostingName = hostingFieldVo.name; |
| | | $scope.vm.hostingCode = hostingFieldVo.code; |
| | | $scope.vm.hostingManager = hostingFieldVo.manager; |
| | | $scope.vm.hostingTel = hostingFieldVo.tel; |
| | | $scope.vm.hostingEmail = hostingFieldVo.email; |
| | | $scope.vm.hostingUrl = hostingFieldVo.url; |
| | | $scope.vm.hostingMemo = hostingFieldVo.memo; |
| | | }); |
| | | |
| | | // ISP정보 결과 값 Event 처리(set) |
| | |
| | | hostingId : (function () { |
| | | var hostingId = -1; |
| | | |
| | | if ($scope.vm.form.issueHostingFields.length > 0) { |
| | | if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0) { |
| | | hostingId = $scope.vm.form.issueHostingFields[0].id; |
| | | } |
| | | |
| | |
| | | |
| | | if (result.data.message.status === "success") { |
| | | if (result.data.data != null && result.data.data.length > 0) { |
| | | //var resultSize = result.data.data.length; |
| | | for (var i = 0; i < result.data.data.length; i++) { |
| | | if (result.data.data[i].parentIssueId != null) { |
| | | result.data.data.splice(i, 1); |
| | | i--; |
| | | }else if ($scope.vm.search.issueTypeIds !== null && $scope.vm.search.issueTypeIds.length > 0 |
| | | && result.data.data[i].issueTypeId !== $scope.vm.search.issueTypeIds[0].fieldKey) { |
| | | result.data.data.splice(i, 1); |
| | | i--; |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (result.data.data != null && result.data.data.length > 0) { |
| | | $scope.vm.issueTypeId = result.data.data[0].issueTypeId; |
| | | $scope.vm.projectKey = result.data.data[0].projectKey; |
| | | $scope.vm.issueNumber = result.data.data[0].issueNumber; |
| | |
| | | |
| | | // 업체정보 결과 값 Event 처리(set) |
| | | $scope.$on("companyFieldEvent", function (event, result) { |
| | | var ispFieldVo = result[0].ispFieldVo; |
| | | var hostingFieldVo = result[0].hostingFieldVo; |
| | | |
| | | $scope.vm.companyId = result[0].id; |
| | | $scope.vm.companyName = result[0].name; |
| | | $scope.vm.companyManager = result[0].manager; |
| | |
| | | $scope.vm.companyEmail = result[0].email; |
| | | $scope.vm.companyUrl = result[0].url; |
| | | $scope.vm.companyMemo = result[0].memo; |
| | | |
| | | $scope.vm.ispName = ispFieldVo.name; |
| | | $scope.vm.ispCode = ispFieldVo.code; |
| | | $scope.vm.ispManager = ispFieldVo.manager; |
| | | $scope.vm.ispTel = ispFieldVo.tel; |
| | | $scope.vm.ispEmail = ispFieldVo.email; |
| | | $scope.vm.ispUrl = ispFieldVo.url; |
| | | $scope.vm.ispMemo = ispFieldVo.memo; |
| | | |
| | | $scope.vm.hostingName = hostingFieldVo.name; |
| | | $scope.vm.hostingCode = hostingFieldVo.code; |
| | | $scope.vm.hostingManager = hostingFieldVo.manager; |
| | | $scope.vm.hostingTel = hostingFieldVo.tel; |
| | | $scope.vm.hostingEmail = hostingFieldVo.email; |
| | | $scope.vm.hostingUrl = hostingFieldVo.url; |
| | | $scope.vm.hostingMemo = hostingFieldVo.memo; |
| | | |
| | | }); |
| | | |
| | |
| | | hostingId : (function () { |
| | | var hostingId = -1; |
| | | |
| | | if ($scope.vm.form.issueHostingFields.length > 0) { |
| | | if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0) { |
| | | hostingId = $scope.vm.form.issueHostingFields[0].id; |
| | | } |
| | | |
| | |
| | | ispVos : parameter.ispVos, |
| | | hostingVos : parameter.hostingVos, |
| | | partners : parameter.partnersAll.slice(), |
| | | html : "issueSendMailPartners.html", |
| | | html : "", |
| | | form : { |
| | | id : parameter.issueId, // 이슈 번호 |
| | | projects : [{ id : parameter.projectId}], // 프로젝트 |
| | |
| | | }) |
| | | } |
| | | |
| | | |
| | | // 사용자 삭제 |
| | | function removeMailTarget(index) { |
| | | $scope.vm.form.mailUsers.splice(index, 1); |
| | |
| | | function getIssueList(query, issueTypeId, excludeList, page, callBack) { |
| | | var conditions = { |
| | | name : query, |
| | | issueTypeIds : (function () { |
| | | /*issueTypeIds : (function () { |
| | | var ids = []; |
| | | |
| | | ids.push(issueTypeId); |
| | | |
| | | return ids; |
| | | })(), |
| | | })(),*/ |
| | | excludeIds : (function () { |
| | | var excludeIds = []; |
| | | |
| | |
| | | function getDownIssueList(query, issueTypeId, excludeList, page, callBack) { |
| | | var conditions = { |
| | | name : query, |
| | | // issueTypeIds : (function () { |
| | | // var ids = []; |
| | | // |
| | | // ids.push(issueTypeId); |
| | | // |
| | | // return ids; |
| | | // })(), |
| | | issueTypeIds : (function () { |
| | | var ids = []; |
| | | |
| | | ids.push(issueTypeId); |
| | | |
| | | return ids; |
| | | })(), |
| | | excludeIds : (function () { |
| | | var excludeIds = []; |
| | | |
| | |
| | | page="vm.autoCompletePage.ispField.page" |
| | | total-page="vm.autoCompletePage.ispField.totalPage" |
| | | input-disabled="false" |
| | | translation-texts="{ empty : 'common.emptyHosting' }" |
| | | 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> |
| | |
| | | page="vm.autoCompletePage.ispField.page" |
| | | total-page="vm.autoCompletePage.ispField.totalPage" |
| | | input-disabled="false" |
| | | translation-texts="{ empty : 'common.emptyHosting' }" |
| | | 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 ng-show="fn.containsPartner('업체')" class="row"> |
| | | <div class="col-lg-8 fontcolor_green"> |
| | | <label class="issue-label"><span class="fontcolor_green" translate="companyField.info">업체정보</span> |
| | | <span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code> 업체 이름 클릭시 선택된 이름의 업체 정보가 조회됩니다.</span> |
| | | <span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code> |
| | | 업체 이름 클릭시 선택된 이름의 업체 정보가 조회되며, 업체정보에서 추가한 ISP, 호스팅 정보를 불러옵니다.</span> |
| | | </label> |
| | | </div> |
| | | </div> |
| | |
| | | <div ng-show="fn.containsPartner('ISP')" class="row"> |
| | | <div class="col-lg-8 fontcolor_green"> |
| | | <label class="issue-label"><span class="fontcolor_green" translate="ispField.info">ISP 정보</span> |
| | | <span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code> ISP 이름 클릭시 선택된 이름의 ISP 정보가 조회됩니다.</span> |
| | | <!--<span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code> ISP 이름 클릭시 선택된 이름의 ISP 정보가 조회됩니다.</span>--> |
| | | </label> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="col-lg-4"> |
| | | <div class="form-group mb10"> |
| | | <label class="issue-label"> <span translate="ispField.name">ISP 이름</span> </label> |
| | | <js-autocomplete-single data-input-name="ispField" |
| | | <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" |
| | | selected-model="vm.form.issueIspFields" |
| | | search="vm.ispName" |
| | | source="fn.getIssueIspFieldList(vm.ispName, vm.form.issueIspFields, vm.autoCompletePage.ispField.page, fn.getIssueIspFieldListCallBack)" |
| | |
| | | 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"> |
| | |
| | | <div ng-show="fn.containsPartner('호스팅')" class="row"> |
| | | <div class="col-lg-8 fontcolor_green"> |
| | | <label class="issue-label"><span class="fontcolor_green" translate="hostingField.info">호스팅 정보</span> |
| | | <span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code> 호스팅 이름 클릭시 선택된 이름의 호스팅 정보가 조회됩니다.</span> |
| | | <!--<span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code> 호스팅 이름 클릭시 선택된 이름의 호스팅 정보가 조회됩니다.</span>--> |
| | | </label> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="col-lg-4"> |
| | | <div class="form-group mb10"> |
| | | <label class="issue-label"> <span translate="hostingField.name">호스팅 이름</span> </label> |
| | | <js-autocomplete-single data-input-name="hostingField" |
| | | <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" |
| | | selected-model="vm.form.issueHostingFields" |
| | | search="vm.hostingName" |
| | | source="fn.getIssueHostingFieldList(vm.hostingName, vm.form.issueHostingFields, vm.autoCompletePage.hostingField.page, fn.getIssueHostingFieldListCallBack)" |
| | |
| | | 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="col-5" > |
| | | <span class="issue-detail-label" style="position: relative; left: 18.8rem; bottom: 5px"><span style="color: #0a7cf8">◆</span> 완료 이슈 숨기기</span> |
| | | <label class='switch' style="left: 19.3rem"><input type='checkbox' ng-model='vm.hideIssue' ng-click='fn.getPageList(0)'> |
| | | <span class="issue-detail-label" style="position: relative; left: 16.8rem; bottom: 5px"><span style="color: #0a7cf8">◆</span> 완료 이슈 숨기기</span> |
| | | <label class='switch' style="left: 17.3rem"><input type='checkbox' ng-model='vm.hideIssue' ng-click='fn.getPageList(0)'> |
| | | <span class='slider round'></span> |
| | | </label> |
| | | <form class="form-inline justify-content-sm-end pull-right" method="post" action="/issue/downloadExcel" name="issueListForm" > |
| | |
| | | <div ng-show="fn.containsPartner('업체')" class="row"> |
| | | <div class="col-lg-8 fontcolor_green"> |
| | | <label class="issue-label"><span class="fontcolor_green" translate="companyField.info">업체정보</span> |
| | | <span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code> 업체 이름 클릭시 선택된 이름의 업체 정보가 조회됩니다.</span> |
| | | <span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code> |
| | | 업체 이름 클릭시 선택된 이름의 업체 정보가 조회되며, 업체정보에서 추가한 ISP, 호스팅 정보를 불러옵니다.</span> |
| | | </label> |
| | | </div> |
| | | </div> |
| | |
| | | <div ng-show="fn.containsPartner('ISP')" class="row"> |
| | | <div class="col-lg-8 fontcolor_green"> |
| | | <label class="issue-label"><span class="fontcolor_green" translate="ispField.info">ISP 정보</span> |
| | | <span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code> ISP 이름 클릭시 선택된 이름의 ISP 정보가 조회됩니다.</span> |
| | | <!-- <span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code> ISP 이름 클릭시 선택된 이름의 ISP 정보가 조회됩니다.</span>--> |
| | | </label> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="col-lg-4"> |
| | | <div class="form-group mb10"> |
| | | <label class="issue-label"> <span translate="ispField.name">ISP 이름</span> </label> |
| | | <js-autocomplete-single data-input-name="ispField" |
| | | <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" |
| | | selected-model="vm.form.issueIspFields" |
| | | search="vm.ispName" |
| | | source="fn.getIssueIspFieldList(vm.ispName, vm.form.issueIspFields, vm.autoCompletePage.ispField.page, fn.getIssueIspFieldListCallBack)" |
| | |
| | | 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"> |
| | |
| | | <div ng-show="fn.containsPartner('호스팅')" class="row"> |
| | | <div class="col-lg-8 fontcolor_green"> |
| | | <label class="issue-label"><span class="fontcolor_green" translate="hostingField.info">호스팅 정보</span> |
| | | <span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code> 호스팅 이름 클릭시 선택된 이름의 호스팅 정보가 조회됩니다.</span> |
| | | <!--<span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code> 호스팅 이름 클릭시 선택된 이름의 호스팅 정보가 조회됩니다.</span>--> |
| | | </label> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="col-lg-4"> |
| | | <div class="form-group mb10"> |
| | | <label class="issue-label"> <span translate="hostingField.name">호스팅 이름</span> </label> |
| | | <js-autocomplete-single data-input-name="hostingField" |
| | | <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" |
| | | selected-model="vm.form.issueHostingFields" |
| | | ng-model="vm.hostingName" |
| | | search="vm.hostingName" |
| | | source="fn.getIssueHostingFieldList(vm.hostingName, vm.form.issueHostingFields, vm.autoCompletePage.hostingField.page, fn.getIssueHostingFieldListCallBack)" |
| | | page="vm.autoCompletePage.hostingField.page" |
| | |
| | | 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"> |