OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-12-17 145928e42a8ae18129fcbc720824a9e4f78999bd
src/main/webapp/views/issue/issueDetail.html
@@ -166,12 +166,12 @@
                    <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-detail-1"><span translate="common.priority">우선 순위</span></label>
                            <label class="issue-detail-label offset-detail-2"><span translate="issue.issueStatus">이슈 상태</span></label>
                            <label class="issue-detail-label offset-detail-2"><span translate="common.priority">우선 순위</span></label>
                            <label class="issue-detail-label offset-detail-1"><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>
                                <span class="badge offset-1" ng-style="{'background-color' : vm.viewer.priorityVo.color, 'border-color' : vm.viewer.priorityVo.color, 'color' : '#FFFFFF' }" translate="{{vm.viewer.priorityVo.name}}"></span>
                                <span class="badge offset-detail-4" ng-style="{'background-color' : vm.viewer.priorityVo.color, 'border-color' : vm.viewer.priorityVo.color, 'color' : '#FFFFFF' }" translate="{{vm.viewer.priorityVo.name}}"></span>
                                <!--    권한을 갖고 있을 때 -->
                                <span ng-if="vm.viewer.modifyPermissionCheck">
@@ -324,6 +324,15 @@
                    <div class="col-sm-2">
                        <div class="form-group">
                            <div class="">
                                <span translate="companyField.url">url</span>:
                                <span>{{vm.viewer.issueCompanyVos[0].url}}</span>
                            </div>
                        </div>
                    </div>
                    <div class="col-sm-2">
                        <div class="form-group">
                            <div class="">
                                <span translate="companyField.memo">비고</span>:
                                <span>{{vm.viewer.issueCompanyVos[0].memo}}</span>
                            </div>
@@ -378,6 +387,15 @@
                            <div class="">
                                <span translate="ispField.email">이메일</span>:
                                <span class="email_color cursor" ng-click="fn.sendMailVo(vm.viewer.issueIspVos)">{{vm.viewer.issueIspVos[0].email}}</span>
                            </div>
                        </div>
                    </div>
                    <div class="col-sm-2">
                        <div class="form-group">
                            <div class="">
                                <span translate="companyField.url">url</span>:
                                <span>{{vm.viewer.issueIspVos[0].url}}</span>
                            </div>
                        </div>
                    </div>
@@ -447,6 +465,15 @@
                    <div class="col-sm-2">
                        <div class="form-group">
                            <div class="">
                                <span translate="companyField.url">url</span>:
                                <span>{{vm.viewer.issueHostingVos[0].url}}</span>
                            </div>
                        </div>
                    </div>
                    <div class="col-sm-2">
                        <div class="form-group">
                            <div class="">
                                <span translate="hostingField.memo">비고</span>:
                                <span>{{vm.viewer.issueHostingVos[0].memo}}</span>
                            </div>
@@ -467,7 +494,7 @@
                <!--  연관 이슈 테이블 -->
                <div class="mt-10 issue-detail-word-break width-100">
                    <js-table data="vm.viewer.issueRelationVos" table-configs="vm.relTableConfigs"
                              event="relTableEvent" detail-view="true" hide-header="false" use-sort="false"></js-table>
                              event="relTableEvent" detail-view="true" hide-header="false" use-sort="true"></js-table>
                    <div class="row">
                        <div class="col-sm-4">
@@ -526,7 +553,7 @@
                <!-- 하위 이슈 테이블 -->
                <div class="mt-10 issue-detail-word-break width-100">
                    <js-table data="vm.viewer.issueDownVos" table-configs="vm.downTableConfigs"
                              event="downTableEvent" detail-view="true" hide-header="false" use-sort="false"></js-table>
                              event="downTableEvent" detail-view="true" hide-header="false" use-sort="true"></js-table>
                    <div class="row">
@@ -547,6 +574,11 @@
                                    ng-if="vm.viewer.modifyPermissionCheck"
                                    ng-click="fn.addDownIssue()"
                                    translate="issue.addDownIssue">추가</button>
                            <button type="button" class="btn btn-sm btn-primary btn-roundRel  offset-1"
                                    ng-if="vm.viewer.modifyPermissionCheck"
                                    ng-click="fn.addDownIssueForm(vm.viewer.id)">
                                <i class="os-icon os-icon-plus"><span></span></i>
                            </button>
                        </div>
                    </div>
@@ -599,6 +631,32 @@
                        <span translate="common.noAttachedFile">첨부된 파일이 없습니다.</span>
                    </div>
                </div>
                <div class="row">
                    <div class="col-sm-12">
                        <h6 class="todo-content-subheader mt-20" translate="common.writeComment">댓글 쓰기</h6>
                        <form name="commentForm" ng-enter="fn.addComment()">
                            <div class="form-group row ">
                                <div class="col-sm-12">
                                    <div class="input-group">
                                        <input class="form-control"
                                               kr-input
                                               maxlength="300"
                                               placeholder="{{'common.pleaseEnterComments' | translate}}"
                                               ng-model="vm.viewer.comment"
                                               type="text">
                                        <div class="input-group-prepend">
                                            <div class="input-group-text2"
                                                 ng-class="{ 'disable' : !$root.isDefined(vm.viewer.comment) }"
                                                 ng-click="fn.addComment()">
                                                <i class="os-icon os-icon-mail-18"></i>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </form>
                    </div>
                </div>
                <!--    활동 내역   -->
                <div class="row">
@@ -612,14 +670,22 @@
                                           ng-click="fn.updateActiveHistory()"><span
                                                translate="common.fullView">전체보기</span></a>
                                    </li>
                                    <li class="nav-item cursor">
                                    <!--<li class="nav-item cursor">
                                        <a class="nav-link" ng-class="{ 'active' : vm.activeTab == 'REPLY' }"
                                           ng-click="vm.activeTab = 'REPLY'"><span translate="common.comments">댓글</span></a>
                                    </li>
                                    </li>-->
                                    <li class="nav-item cursor">
                                        <a class="nav-link" ng-class="{ 'active' : vm.activeTab == 'RECODE' }"
                                           ng-click="vm.activeTab = 'RECODE'"><span translate="common.record">기록</span></a>
                                    </li>
                                    <li class="nav-item cursor">
                                        <a class="nav-link" ng-class="{ 'active' : vm.activeTab == 'RECODE_DOWN' }"
                                           ng-click="vm.activeTab = 'RECODE_DOWN'"><span translate="common.recordDown">하위이슈 기록</span></a>
                                    </li>
                                    <!--<li class="nav-item cursor">
                                        <a class="nav-link" ng-class="{ 'active' : vm.activeTab == 'REPLY_DOWN' }"
                                           ng-click="vm.activeTab = 'REPLY_DOWN'"><span translate="common.downComments">하위이슈 댓글</span></a>
                                    </li>-->
                                </ul>
                            </div>
@@ -630,12 +696,18 @@
                                        <!--    기록인 경우  -->
                                        <div class="aei-content"
                                             ng-if="$root.isDefined(activeHistory.issueHistoryType)">
                                            <h6 ng-if="activeHistory.issueHistoryType == 'TOTAL'"
                                            <!--<h6 ng-if="activeHistory.issueHistoryType == 'TOTAL'"
                                                translate="issue.summaryIssueActivity">이슈 활동 내역 요약 <i
                                                    class="os-icon os-icon-arrow-down"></i></h6>
                                                    class="os-icon os-icon-arrow-down"></i></h6>-->
                                            <div dom-append dom="activeHistory.description"></div>
                                        </div>
                                        <!--    댓글인 경우  -->
                                        <div ng-if="!$root.isDefined(activeHistory.issueHistoryType)"
                                             ng-show="vm.viewer.title !== activeHistory.title">
                                            <div>
                                                하위이슈 : {{::activeHistory.title}}
                                            </div>
                                        </div>
                                        <div class="aei-image" ng-if="!$root.isDefined(activeHistory.issueHistoryType)">
                                            <div class="user-avatar-w">
                                                <img alt="image" ng-src="{{::activeHistory.profile}}">
@@ -696,53 +768,135 @@
                                                        <span class="issue-detail-word-break">{{::comment.description}}</span>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                    <form name="commentForm" ng-enter="fn.addComment()">
                                        <div class="form-group row ">
                                            <div class="col-sm-12">
                                                <div class="input-group">
                                                    <input class="form-control"
                                                           kr-input
                                                           maxlength="300"
                                                           placeholder="{{'common.pleaseEnterComments' | translate}}"
                                                           ng-model="vm.viewer.comment"
                                                           type="text">
                                                    <div class="input-group-prepend">
                                                        <div class="input-group-text2"
                                                             ng-class="{ 'disable' : !$root.isDefined(vm.viewer.comment) }"
                                                             ng-click="fn.addComment()">
                                                            <i class="os-icon os-icon-mail-18"></i>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </form>
                                </div>
                                <!--    기록 보기    -->
                                <div ng-if="vm.activeTab == 'RECODE'">
                                    <div class="no-cont2"
                                         ng-if="vm.viewer.issueHistoryVos.length < 1"
                                         translate="common.noRecord">
                                    <div class="no-cont2" ng-if="vm.viewer.activeParentHistory.length < 1" translate="common.noRecord">
                                        기록이 없습니다.
                                    </div>
                                    <div>
                                        {{vm.viewer.issueHistoryVos}}
                                    </div>
                                    <div class="activity-item"
                                         ng-repeat="issueHistory in vm.viewer.issueHistoryVos">
                                        <h6 ng-if="issueHistory.issueHistoryType == 'TOTAL'"
                                    <div class="activity-item" ng-repeat="issueHistory in vm.viewer.activeParentHistory">
                                        <!--<h6 ng-if="issueHistory.issueHistoryType == 'TOTAL'"
                                            translate="issue.summaryIssueActivity">이슈 활동 내역 요약
                                            <i class="os-icon os-icon-arrow-down"></i>
                                        </h6>
                                        <div class="activity-content">
                                        </h6>-->
                                        <div class="activity-content" ng-if="$root.isDefined(issueHistory.issueHistoryType)">
                                            <div dom-append dom="issueHistory.description"></div>
                                        </div>
                                        <!--    댓글인 경우  -->
                                        <div class="aei-image" ng-if="!$root.isDefined(issueHistory.issueHistoryType)">
                                            <div class="user-avatar-w">
                                                <img alt="image" ng-src="{{::issueHistory.profile}}">
                                            </div>
                                        </div>
                                        <div class="aei-content"
                                             ng-if="!$root.isDefined(issueHistory.issueHistoryType)">
                                            <h6 class="aei-title">
                                                {{::issueHistory.registerName}}
                                            </h6>
                                            <div class="date-break">
                                                <span>{{::issueHistory.registerDate}}</span>
                                            </div>
                                            <div class="aei-delete"
                                                 ng-click="fn.removeComment(comment)"
                                                 ng-show="$root.user.id == comment.registerId">
                                                <i class="os-icon os-icon-close"></i>
                                            </div>
                                            <div class="chat-messages">
                                                <div class="message">
                                                    <div class="message-content">
                                                        <span class="issue-detail-word-break">{{::issueHistory.description}}</span>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <!--    하위이슈 기록 보기    -->
                                <div ng-if="vm.activeTab == 'RECODE_DOWN'">
                                    <div class="no-cont2" ng-if="vm.viewer.activeDownAllHistory.length < 1" translate="common.noRecord">
                                        기록이 없습니다.
                                    </div>
                                    <div class="activity-item" ng-repeat="issueDownHistory in vm.viewer.activeDownAllHistory">
                                        <!--    기록인 경우  -->
                                        <div class="activity-content" ng-if="$root.isDefined(issueDownHistory.issueHistoryType)">
                                            <div dom-append dom="issueDownHistory.description"></div>
                                        </div>
                                        <!--    댓글인 경우  -->
                                        <div class="aei-content" ng-if="!$root.isDefined(issueDownHistory.issueHistoryType)">
                                            <div class="aei-title">
                                                하위이슈 : {{::issueDownHistory.title}}
                                            </div>
                                        </div>
                                        <div class="aei-image" ng-if="!$root.isDefined(issueDownHistory.issueHistoryType)">
                                            <div class="user-avatar-w">
                                                <img alt="image" ng-src="{{::issueDownHistory.profile}}">
                                            </div>
                                        </div>
                                        <div class="aei-content" ng-if="!$root.isDefined(issueDownHistory.issueHistoryType)">
                                            <h6 class="aei-title">
                                                {{::issueDownHistory.registerName}}
                                            </h6>
                                            <div class="date-break">
                                                <span>{{::issueDownHistory.registerDate}}</span>
                                            </div>
                                            <div class="aei-delete"
                                                 ng-click="fn.removeComment(comment)"
                                                 ng-show="$root.user.id == comment.registerId">
                                                <i class="os-icon os-icon-close"></i>
                                            </div>
                                            <div class="chat-messages">
                                                <div class="message">
                                                    <div class="message-content">
                                                        <span class="issue-detail-word-break">{{::issueDownHistory.description}}</span>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <!--    하위이슈 댓글 보기    -->
                                <div ng-if="vm.activeTab == 'REPLY_DOWN'">
                                    <div class="no-cont2" ng-if="$scope.vm.viewer.downComment.length < 1"
                                         translate="common.noComments">
                                        댓글이 없습니다.
                                    </div>
                                    <div class="ae-item" ng-repeat="comment in vm.viewer.downComment">
                                        <div class="re-title">
                                            <div class='dot'>
                                                하위이슈: {{::comment.title}}
                                            </div>
                                        </div>
                                        <div class="aei-image">
                                            <div class="user-avatar-w">
                                                <img alt="image" ng-src="{{::comment.profile}}">
                                            </div>
                                        </div>
                                        <div class="aei-content">
                                            <h6 class="aei-title">
                                                {{::comment.registerName}}
                                            </h6>
                                            <div class="date-break">
                                                <span>{{::comment.registerDate}}</span>
                                            </div>
                                            <div class="aei-delete"
                                                 ng-click="fn.removeComment(comment)"
                                                 ng-show="$root.user.id == comment.registerId">
                                                <i class="os-icon os-icon-close"></i>
                                            </div>
                                            <div class="chat-messages">
                                                <div class="message">
                                                    <div class="message-content">
                                                        <span class="issue-detail-word-break">{{::comment.description}}</span>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>