| | |
| | | <div class="col-md-4"> |
| | | <div class="form-group"> |
| | | <h6 class="info_font" translate="common.detectingInfo">탐지정보</h6> |
| | | <span class="issue-detail-label" style="position: relative; top: 1rem" ng-show="vm.viewer.issueCustomFields == ''">사용자 정의 필드값이 없습니다.</span> |
| | | </div> |
| | | </div> |
| | | <div class="col-md-2"> |
| | | <issue-detail-image-preview images="vm.images"></issue-detail-image-preview> |
| | | </div> |
| | | <div ng-show="vm.images.length < 1" class="detail-not-elements width-100"> |
| | | </div> |
| | | </div> |
| | | <!-- 사용자 정의 필드 --> |
| | | <div class="row"> |
| | | <div class="col-md-2" ng-repeat="issueCustomField in vm.viewer.issueCustomFields"> |
| | | <label class="issue-detail-label">{{::issueCustomField.customFieldVo.name}}</label> |
| | | |
| | | <div ng-switch on="issueCustomField.customFieldVo.customFieldType"> |
| | | <!-- 기본 입력 --> |
| | | <div ng-switch-when="INPUT"> |
| | |
| | | <span class="issue-detail-word-break">{{::issueCustomField.useValues}}</span> |
| | | <span ng-if="!$root.isDefined(issueCustomField.useValues)">-</span> |
| | | </div> |
| | | |
| | | <div ng-switch-when="NUMBER"> |
| | | <!-- 읽기 모드 --> |
| | | <span class="issue-detail-word-break">{{::issueCustomField.useValues}}</span> |
| | | <span ng-if="!$root.isDefined(issueCustomField.useValues)">-</span> |
| | | </div> |
| | | |
| | | <div ng-switch-when="DATETIME"> |
| | | <!-- 읽기 모드 --> |
| | | <span class="issue-detail-word-break">{{::issueCustomField.useValues}}</span> |
| | | <span ng-if="!$root.isDefined(issueCustomField.useValues)">-</span> |
| | | </div> |
| | | |
| | | <div ng-switch-when="IP_ADDRESS"> |
| | | <!-- 읽기 모드 --> |
| | | <span class="issue-detail-word-break">{{::issueCustomField.useValues}}</span> |
| | | <span ng-if="!$root.isDefined(issueCustomField.useValues)">-</span> |
| | | </div> |
| | | |
| | | <div ng-switch-when="EMAIL"> |
| | | <!-- 읽기 모드 --> |
| | | <span class="issue-detail-word-break">{{::issueCustomField.useValues}}</span> |
| | | <span ng-if="!$root.isDefined(issueCustomField.useValues)">-</span> |
| | | </div> |
| | | |
| | | <div ng-switch-when="SITE"> |
| | | <!-- 읽기 모드 --> |
| | | <span class="issue-detail-word-break">{{::issueCustomField.useValues}}</span> |
| | | <span ng-if="!$root.isDefined(issueCustomField.useValues)">-</span> |
| | | </div> |
| | | |
| | | <div ng-switch-when="TEL"> |
| | | <!-- 읽기 모드 --> |
| | | <span class="issue-detail-word-break">{{::issueCustomField.useValues}}</span> |
| | | <span ng-if="!$root.isDefined(issueCustomField.useValues)">-</span> |
| | | </div> |
| | | |
| | | |
| | | <!-- 단일 셀렉트 --> |
| | | <div ng-switch-when="SINGLE_SELECT"> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | |
| | | <!-- <div class=""> |
| | | <label class="issue-detail-label"><span>{{vm.viewer.issueCustomFieldValueVos[0].useValue}}</span> </label> |
| | |
| | | </div>--> |
| | | <hr> |
| | | <!-- <span class="tag">{{vm.viewer.projectVo.projectKey}}-{{vm.viewer.issueNumber}} / {{vm.viewer.projectVo.name}}</span>--> |
| | | <div class="row"> |
| | | |
| | | <div ng-show="fn.containsPartner('업체')" class="row"> |
| | | <div class="col-sm-2"> |
| | | <div class="form-group"> |
| | | <h6 class="info_font" translate="companyField.info">업체정보</h6> |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <div ng-show="fn.containsPartner('업체')" class="row"> |
| | | <div class="col-sm-2"> |
| | | <div class="form-group"> |
| | | <span translate="companyField.companyName">업체명</span>: |
| | |
| | | <div class="form-group"> |
| | | <div class=""> |
| | | <span translate="companyField.email">이메일</span>: |
| | | <span class="email_color">{{vm.viewer.issueCompanyVos[0].email}}</span> |
| | | <span class="email_color cursor" ng-click="fn.sendMail(vm.viewer.id, vm.viewer.projectVo.id)">{{vm.viewer.issueCompanyVos[0].email}}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <div ng-show="fn.containsPartner('ISP');" class="row"> |
| | | <div class="col-sm-2"> |
| | | <div class="form-group"> |
| | | <h6 class="info_font" translate="ispField.info">ISP정보</h6> |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <div ng-show="fn.containsPartner('ISP');" class="row"> |
| | | <div class="col-sm-2"> |
| | | <div class="form-group"> |
| | | <span translate="ispField.ispName">ISP명</span>: |
| | |
| | | <div class="form-group"> |
| | | <div class=""> |
| | | <span translate="ispField.email">이메일</span>: |
| | | <span class="email_color">{{vm.viewer.issueIspVos[0].email}}</span> |
| | | <span class="email_color cursor" ng-click="fn.sendMail(vm.viewer.id, vm.viewer.projectVo.id)">{{vm.viewer.issueIspVos[0].email}}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <div ng-show="fn.containsPartner('호스팅');" class="row"> |
| | | <div class="col-sm-2"> |
| | | <div class="form-group"> |
| | | <h6 class="info_font" translate="hostingField.info">호스팅정보</h6> |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <div ng-show="fn.containsPartner('호스팅');" class="row"> |
| | | |
| | | <div class="col-sm-2"> |
| | | <div class="form-group"> |
| | | <span translate="hostingField.hostingName">호스팅명</span>: |
| | |
| | | <div class="form-group"> |
| | | <div class=""> |
| | | <span translate="hostingField.email">이메일</span>: |
| | | <span class="email_color">{{vm.viewer.issueHostingVos[0].email}}</span> |
| | | <span class="email_color cursor" ng-click="fn.sendMail(vm.viewer.id, vm.viewer.projectVo.id)">{{vm.viewer.issueHostingVos[0].email}}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <js-autocomplete-single data-input-name="issue" |
| | | selected-model="vm.form.issues" |
| | | search="vm.issueName" |
| | | source="fn.getIssueList(vm.issueName, vm.form.issues, vm.autoCompletePage.issue.page, fn.getIssueListCallBack)" |
| | | source="fn.getIssueList(vm.issueName, vm.issueTypeId, vm.form.issues, vm.autoCompletePage.issue.page, fn.getIssueListCallBack)" |
| | | page="vm.autoCompletePage.issue.page" |
| | | total-page="vm.autoCompletePage.issue.totalPage" |
| | | input-disabled="false" |
| | |
| | | event="downTableEvent" detail-view="true" hide-header="false" use-sort="false"></js-table> |
| | | |
| | | <div class="row"> |
| | | |
| | | <div class="col-sm-6"> |
| | | <js-autocomplete-single data-input-name="issue" |
| | | selected-model="vm.form.issuesDown" |
| | | search="vm.issueNameDown" |
| | | source="fn.getIssueList(vm.issueNameDown, vm.form.issuesDown, vm.autoCompletePageDown.issue.page, fn.getIssueListCallBack)" |
| | | source="fn.getIssueList(vm.issueNameDown, vm.issueTypeId, vm.form.issuesDown, vm.autoCompletePageDown.issue.page, fn.getIssueListCallBack)" |
| | | page="vm.autoCompletePageDown.issue.page" |
| | | total-page="vm.autoCompletePageDown.issue.totalPage" |
| | | input-disabled="false" |
| | |
| | | <div ng-show="vm.viewer.attachedFileVos.length < 1" class="detail-not-elements"> |
| | | <span translate="common.noAttachedFile">첨부된 파일이 없습니다.</span> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <h6 class="todo-content-subheader mt-20"><span translate="issue.previewImage">이미지 미리 보기</span> |
| | | </h6> |
| | | <div class="pdt10"> |
| | | <issue-detail-image-preview images="vm.images"></issue-detail-image-preview> |
| | | </div> |
| | | </div> |
| | | <div ng-show="vm.images.length < 1" class="detail-not-elements width-100"> |
| | | <span translate="common.noImage">첨부된 이미지가 없습니다.</span> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | <!-- 활동 내역 --> |