OWL ITS + 탐지시스템(인터넷 진흥원)
wyu
2021-12-06 a7dae7fa183e5183ef5363142791bfe6b35328f4
src/main/webapp/views/issue/issueDetail.html
@@ -86,7 +86,7 @@
<!--    상세 화면   -->
<div class="support-ticket-content-w" ng-controller="issueDetailController">
    <div class="support-ticket-content">
        <span ng-if="vm.viewer.parentIssueVo != null" class="badge" ng-style="{'background-color' : vm.viewer.issueStatusVo.color, 'border-color' : vm.viewer.issueStatusVo.color, 'color' : '#FFFFFF' }">
        <span ng-if="vm.viewer.parentIssueVo != null" class="badge" ng-style="{'background-color' : '#353535', 'border-color' : vm.viewer.issueStatusVo.color, 'color' : '#FFFFFF' }">
            <span>상위 이슈:{{vm.viewer.parentIssueVo.title}}</span>
        </span>
@@ -103,7 +103,7 @@
            </span>
            <a class="show-ticket-info cursor">
                <i class="os-icon os-icon-email-forward mr-20" ng-click="fn.sendMail(vm.viewer.id, vm.viewer.projectVo.id)" data-toggle="tooltip" data-placement="right" title="다른 사용자에게 이슈 보내기"></i>
                <i class="os-icon os-icon-email-forward mr-20" ng-click="fn.sendMailAll()" data-toggle="tooltip" data-placement="right" title="다른 사용자에게 이슈 보내기"></i>
                <i class="os-icon os-icon-airplay mr-20" ng-click="fn.versionView(vm.viewer.id)" data-toggle="tooltip" data-placement="right" title="이슈 변경 이력 상세 보기"></i>
                <i class="os-icon os-icon-calendar-time mr-20" ng-if="vm.viewer.modifyPermissionCheck"
                   ng-click="fn.reservation(vm.viewer.id)" data-toggle="tooltip" data-placement="right" title="이슈 발생 예약 하기"></i>
@@ -165,8 +165,8 @@
                    <div class="col-md-4">
                        <div class="form-group">
                            <label class="issue-detail-label"><span translate="common.importance">중요도</span></label>
                            <label class="issue-detail-label offset-1"><span translate="common.priority">우선 순위</span></label>
                            <label class="issue-detail-label offset-1"><span translate="issue.issueStatus">이슈 상태</span></label>
                            <label class="issue-detail-label offset-detail-1"><span translate="common.priority">우선 순위</span></label>
                            <label class="issue-detail-label offset-detail-2"><span translate="issue.issueStatus">이슈 상태</span></label>
                            <div class="">
                                <span class="badge" ng-style="{'background-color' : vm.viewer.severityVo.color, 'border-color' : vm.viewer.severityVo.color, 'color' : '#FFFFFF' }" translate="{{vm.viewer.severityVo.name}}"></span>
@@ -188,7 +188,7 @@
                <div class="row">
                    <div class="col-md-4">
                        <div class="form-group">
                            <h6 class="info_font" translate="common.detectingInfo">탐지정보</h6>
                            <h6 class="info_detail_font" translate="common.detectingInfo">탐지정보</h6>
                            <span class="issue-detail-label" style="position: relative; top: 1rem" ng-show="vm.viewer.issueCustomFields == ''">사용자 정의 필드값이 없습니다.</span>
                        </div>
                    </div>
@@ -205,6 +205,43 @@
                                <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">
                                <span class="issue-detail-word-break">{{::issueCustomField.useValues}}</span>
@@ -217,15 +254,18 @@
                                ng-repeat="useValue in issueCustomField.useValues">{{::useValue.value}}, </span>
                                <span ng-if="!$root.isDefined(issueCustomField.useValues)">-</span>
                            </div>
                        </div>
                    </div>
                    <div class="pdt0" style="position: relative; bottom: 1rem">
                    <!--이미지 미리보기-->
                    <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">
                        <span></span>
                    </div>
                </div>
                           <!-- <div class="">
                                <label class="issue-detail-label"><span>{{vm.viewer.issueCustomFieldValueVos[0].useValue}}</span> </label>
@@ -236,16 +276,16 @@
                            </div>-->
                <hr>
<!--                <span class="tag">{{vm.viewer.projectVo.projectKey}}-{{vm.viewer.issueNumber}} &nbsp; / &nbsp; {{vm.viewer.projectVo.name}}</span>-->
                <div ng-show="vm.viewer.useCompanyVo[0].name == '업체'" class="row">
            <div class="issue-detail-label">
                <div ng-show="fn.containsPartner('업체')" class="row">
                    <div class="col-sm-2">
                        <div class="form-group">
                            <h6 class="info_font" translate="companyField.info">업체정보</h6>
                            <h6 class="info_detail_font" translate="companyField.info">업체정보</h6>
                        </div>
                    </div>
                </div>
                <div ng-show="vm.viewer.useCompanyVo[0].name == '업체'" class="row">
                <div ng-show="fn.containsPartner('업체')" class="row">
                    <div class="col-sm-2">
                        <div class="form-group">
                            <span translate="companyField.companyName">업체명</span>:
@@ -275,7 +315,7 @@
                        <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.sendMailVo(vm.viewer.issueCompanyVos)">{{vm.viewer.issueCompanyVos[0].email}}</span>
                            </div>
                        </div>
                    </div>
@@ -289,16 +329,17 @@
                        </div>
                    </div>
                </div>
                <div ng-show="vm.viewer.useCompanyVo[0].name == 'ISP' || vm.viewer.useCompanyVo[1].name == 'ISP'" class="row">
            </div>
            <div class="issue-detail-label">
                <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>
                            <h6 class="info_detail_font" translate="ispField.info">ISP정보</h6>
                        </div>
                    </div>
                </div>
                <div ng-show="vm.viewer.useCompanyVo[0].name == 'ISP' || vm.viewer.useCompanyVo[1].name == 'ISP'" 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>:
@@ -335,7 +376,7 @@
                        <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.sendMailVo(vm.viewer.issueIspVos)">{{vm.viewer.issueIspVos[0].email}}</span>
                            </div>
                        </div>
                    </div>
@@ -349,16 +390,17 @@
                        </div>
                    </div>
                </div>
                <div ng-show="vm.viewer.useCompanyVo[0].name == '호스팅' || vm.viewer.useCompanyVo[1].name == '호스팅' || vm.viewer.useCompanyVo[2].name == '호스팅'" class="row">
            </div>
            <div class="issue-detail-label">
                <div ng-show="fn.containsPartner('호스팅');" class="row">
                    <div class="col-sm-2">
                        <div class="form-group">
                            <h6 class="info_font" translate="hostingField.info">호스팅정보</h6>
                            <h6 class="info_detail_font" translate="hostingField.info">호스팅정보</h6>
                        </div>
                    </div>
                </div>
                <div ng-show="vm.viewer.useCompanyVo[0].name == '호스팅' || vm.viewer.useCompanyVo[1].name == '호스팅' || vm.viewer.useCompanyVo[2].name == '호스팅'" class="row">
                <div ng-show="fn.containsPartner('호스팅');" class="row">
                    <div class="col-sm-2">
                        <div class="form-group">
@@ -396,7 +438,7 @@
                        <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.sendMailVo(vm.viewer.issueHostingVos)">{{vm.viewer.issueHostingVos[0].email}}</span>
                            </div>
                        </div>
                    </div>
@@ -410,12 +452,11 @@
                        </div>
                    </div>
                </div>
            </div>
                <div class="row mt-30">
                    <div class="col-md-10">
                        <span class="info_font h3" translate="issue.relationIssue">연관 이슈</span>
                        <span class="info_detail_font h3" translate="issue.relationIssue">연관 이슈</span>
                    </div>
                    <div class="col-md-1">
                        <button class="btn btn-darkgrey offset-12" ng-click="fn.addRelationIssueTableConfig()" type="button"><span translate="issue.settingTableDisplay">테이블 표시 설정</span></button>
@@ -443,7 +484,7 @@
                            <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"
@@ -451,10 +492,13 @@
                                                    extra-settings="{ displayProp : 'title' , idProp : 'id', imageable : false, imagePathProp : '',
                                            type : '', maxlength : 200, autoResize : true, stopRemoveBodyEvent : true }"></js-autocomplete-single>
                        </div>
                        <div class="col-auto vertical-middle">
                        <div class="col-auto vertical-middle" style="display: flex">
                            <button type="button" class="btn btn-primary form-control input-sm"
                                    ng-click="fn.addRelationIssue()"
                                    translate="issue.addRelationIssue">연관 이슈 추가</button>
                            <button  type="button" class="btn btn-sm btn-primary btn-roundRel  offset-1">
                                <i class="os-icon os-icon-plus" ng-click="fn.AddRelation(vm.viewer.id)"><span></span></i>
                            </button>
                        </div>
                    </div>
@@ -462,7 +506,7 @@
                <div class="row mt-30">
                    <div class="col-md-10">
                        <span class="info_font h3" translate="issue.downIssue">하위 이슈</span>
                        <span class="info_detail_font h3" translate="issue.downIssue">하위 이슈</span>
                    </div>
                    <div class="col-md-1">
                        <button class="btn btn-darkgrey offset-12"  ng-click="fn.addDownIssueTableConfig()" type="button"><span translate="issue.settingTableDisplay">테이블 표시 설정</span></button>
@@ -475,11 +519,12 @@
                              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"
@@ -487,7 +532,7 @@
                                                    extra-settings="{ displayProp : 'title' , idProp : 'id', imageable : false, imagePathProp : '',
                                            type : '', maxlength : 200, autoResize : true, stopRemoveBodyEvent : true }"></js-autocomplete-single>
                        </div>
                        <div class="col-auto vertical-middle">
                        <div class="col-auto vertical-middle" style="display: flex">
                            <button type="button" class="btn btn-primary form-control input-sm"
                                    ng-click="fn.addDownIssue()"
                                    translate="issue.addDownIssue">추가</button>
@@ -498,7 +543,7 @@
                <h6 class="todo-content-subheader mt-30" translate="common.content">내용</h6>
                <div class="box mt-10 issue-detail-word-break width-100" >
                    <div ng-bind-html="$root.$sce.trustAsHtml(vm.viewer.description)"></div>
                    <div class="issue-detail-tab" ng-bind-html="$root.$sce.trustAsHtml(vm.viewer.description)"></div>
                    <span class="fc-grey" ng-if="!$root.isDefined(vm.viewer.description)" translate="common.noContent">
                        내용이 없습니다.
                    </span>