From d3d9848c0833a0835eb2fac8345c0e406e066535 Mon Sep 17 00:00:00 2001
From: 박지현 <jhpark@maprex.co.kr>
Date: 금, 11 3월 2022 15:50:43 +0900
Subject: [PATCH] 이슈 상세페이지 - 하위이슈: 완료이슈 숨기기 기능 추가

---
 src/main/webapp/views/issue/issueDetail.html |  191 ++++++++++++++++++++++++++++++++++-------------
 1 files changed, 137 insertions(+), 54 deletions(-)

diff --git a/src/main/webapp/views/issue/issueDetail.html b/src/main/webapp/views/issue/issueDetail.html
index a24b54f..746d8be 100644
--- a/src/main/webapp/views/issue/issueDetail.html
+++ b/src/main/webapp/views/issue/issueDetail.html
@@ -107,10 +107,10 @@
                 <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>-->
-                <i class="os-icon os-icon-edit-1 mr-20" ng-click="fn.modify(vm.viewer.id)"
+                <i class="os-icon os-icon-edit-1 mr-20" ng-click="fn.modify(vm.viewer.id, vm.viewer.downTotalCount)"
                    ng-if="vm.viewer.modifyPermissionCheck" data-toggle="tooltip" data-placement="left" title="�씠�뒋 �닔�젙 �븯湲�"></i>
                 <!-- �긽�쐞 �씠�뒋媛� �엳�쓣�븣 �뮘濡쒓�湲� 踰꾪듉 �깮�꽦 -->
-                <span ng-if="vm.issueIds.length != 0 && vm.issueIds.length != 1" class="issue-close mr-10" ng-click="fn.issueBack()"><i class="os-icon os-icon-arrow-left7" data-toggle="tooltip" data-placement="left" title="�씠�뒋 �뮘濡� �씠�룞"></i></span>
+                <span ng-if="vm.issueIds[0] != vm.viewer.id && vm.issueIds.length != 0 && vm.issueIds.length != 1" class="issue-close mr-10" ng-click="fn.issueBack()"><i class="os-icon os-icon-arrow-left7" data-toggle="tooltip" data-placement="left" title="�씠�뒋 �뮘濡� �씠�룞"></i></span>
                 <!-- �긽�쐞 �씠�뒋媛� �엳�쓣�븣 �긽�꽭�솕硫� �떕湲곕쾭�듉 �쐞移� 議곗젙 -->
                 <span class="issue-close" ng-click="fn.listView()"><i class="os-icon os-icon-close" data-toggle="tooltip" data-placement="left" title="�긽�꽭 �솕硫� �떕湲�"></i></span>
             </a>
@@ -345,6 +345,15 @@
                     <div class="col-sm-2">
                         <div class="form-group">
                             <div class="">
+                                <span translate="companyField.ipRange">IP ���뿭��</span>:
+                                <span>{{vm.viewer.issueCompanyVos[0].ipStart}} ~ {{vm.viewer.issueCompanyVos[0].ipEnd}}</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>
@@ -557,7 +566,7 @@
                 </div>
             </div>
 
-                <div class="row mt-30">
+                <div class="row mt-30 align-items-end" style="justify-content: space-between;">
                     <div class="col-md-10">
                         <span class="info_detail_font h3" translate="issue.relationIssue">�뿰愿� �씠�뒋</span>
                     </div>
@@ -580,17 +589,19 @@
                             </label>
                         </div>
                     </div>
-                    <div class="btn-group" style="left: 975px; padding: 5px">
-                        <button aria-expanded="false" aria-haspopup="true"
-                                tabindex="-1"
-                                class="btn btn-secondary dropdown-toggle"
-                                data-toggle="dropdown" type="button"><span translate="common.addFunction">異붽�湲곕뒫</span>
-                        </button>
-                        <div aria-labelledby="dropdownMenuButton2" class="dropdown-menu left-menu"
-                             x-placement="bottom-start" >
-                            <!--<a class="dropdown-item cursor" form-submit="issueListForm" make-search-conditions="fn.makeSearchConditions()"> <span translate="common.allDownloadExcel">�뿊�� �떎�슫濡쒕뱶</span></a>-->
-                            <a class="dropdown-item cursor" ng-click="fn.addRelationIssueTableConfig()"> <span translate="issue.settingTableDisplay">�뀒�씠釉� �몴�떆 �꽕�젙</span></a>
-                            <a class="dropdown-item cursor" ng-click="fn.removeRelationIssue()"> <span translate="common.selectDelete">�궘�젣</span></a>
+                    <div class="col-5" style="display: flex; justify-content: flex-end; align-items: center">
+                        <div class="btn-group" style="padding: 5px">
+                            <button aria-expanded="false" aria-haspopup="true"
+                                    tabindex="-1"
+                                    class="btn btn-secondary dropdown-toggle"
+                                    data-toggle="dropdown" type="button"><span translate="common.addFunction">異붽�湲곕뒫</span>
+                            </button>
+                            <div aria-labelledby="dropdownMenuButton2" class="dropdown-menu left-menu"
+                                 x-placement="bottom-start" >
+                                <!--<a class="dropdown-item cursor" form-submit="issueListForm" make-search-conditions="fn.makeSearchConditions()"> <span translate="common.allDownloadExcel">�뿊�� �떎�슫濡쒕뱶</span></a>-->
+                                <a class="dropdown-item cursor" ng-click="fn.addRelationIssueTableConfig()"> <span translate="issue.settingTableDisplay">�뀒�씠釉� �몴�떆 �꽕�젙</span></a>
+                                <a class="dropdown-item cursor" ng-click="fn.removeRelationIssue()"> <span translate="common.selectDelete">�궘�젣</span></a>
+                            </div>
                         </div>
                     </div>
                 </div>
@@ -616,7 +627,7 @@
                             <js-autocomplete-single data-input-name="issue"
                                                     selected-model="vm.form.issues"
                                                     search="vm.issueName"
-                                                    source="fn.getRelIssueList(vm.issueName, vm.issueTypeId, vm.form.issues, vm.autoCompletePage.issue.page, fn.getIssueListCallBack)"
+                                                    source="fn.getRelIssueList(false, null, 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"
@@ -629,7 +640,7 @@
                                     ng-click="fn.addRelationIssue()"
                                     translate="issue.addRelationIssue">�뿰愿� �씠�뒋 異붽�</button>
                             <button type="button" class="btn btn-sm btn-primary btn-roundRel  offset-1"
-                                    ng-click="fn.addRelationIssueForm(vm.viewer.id, vm.viewer.issueTypeVo.id)">
+                                    ng-click="fn.addRelationIssueForm(vm.viewer.id, vm.viewer.projectVo, vm.viewer.issueTypeVo.id)">
                                 <i class="os-icon os-icon-plus"><span></span></i>
                             </button>
                         </div>
@@ -651,7 +662,7 @@
                     </div>
                 </div>
 
-                <div class="row mt-30">
+                <div class="row mt-30 align-items-end" style="justify-content: space-between;">
                     <div class="col-md-8">
                         <span class="info_detail_font h3" translate="issue.downIssue">�븯�쐞 �씠�뒋</span>
                     </div>
@@ -680,18 +691,26 @@
                             </label>
                         </div>
                     </div>
-                    <div class="btn-group" style="left: 730px; padding: 5px">
-                        <button aria-expanded="false" aria-haspopup="true"
-                                tabindex="-1"
-                                class="btn btn-secondary dropdown-toggle"
-                                data-toggle="dropdown" type="button"><span translate="common.addFunction">異붽�湲곕뒫</span>
-                        </button>
-                        <div aria-labelledby="dropdownMenuButton2" class="dropdown-menu left-menu"
-                             x-placement="bottom-start" >
-                            <!--<a class="dropdown-item cursor" form-submit="issueListForm" make-search-conditions="fn.makeSearchConditions()"> <span translate="common.allDownloadExcel">�뿊�� �떎�슫濡쒕뱶</span></a>-->
-                            <a class="dropdown-item cursor" ng-if="vm.viewer.modifyPermissionCheck" ng-click="fn.modifyDownIssueStatus()"> <span translate="common.updateDownIssueStatus">�븯�쐞�씠�뒋 �긽�깭 蹂�寃�</span></a>
-                            <a class="dropdown-item cursor" ng-click="fn.addDownIssueTableConfig()"> <span translate="issue.settingTableDisplay">�뀒�씠釉� �몴�떆 �꽕�젙</span></a>
-                            <a class="dropdown-item cursor" ng-click="fn.removeDownIssue()"> <span translate="common.selectDelete">�궘�젣</span></a>
+                    <div class="col-5" style="display: flex; justify-content: flex-end; align-items: center">
+                        <div style="display: flex; align-items: center; margin-right: 10px;">
+                            <span class="issue-detail-label" style="margin-right: 4px;padding-top: 6px;"><span style="color: #0a7cf8">�뾾</span> �셿猷� �씠�뒋 �닲湲곌린</span>
+                            <label class='switch'><input type='checkbox' ng-model='vm.hideCompleteIssue' ng-click="fn.getIssueDetail(0,0)">
+                                <span class='slider round'></span>
+                            </label>
+                        </div>
+                        <div class="btn-group" style="padding: 5px">
+                            <button aria-expanded="false" aria-haspopup="true"
+                                    tabindex="-1"
+                                    class="btn btn-secondary dropdown-toggle"
+                                    data-toggle="dropdown" type="button"><span translate="common.addFunction">異붽�湲곕뒫</span>
+                            </button>
+                            <div aria-labelledby="dropdownMenuButton2" class="dropdown-menu left-menu"
+                                 x-placement="bottom-start" >
+                                <!--<a class="dropdown-item cursor" form-submit="issueListForm" make-search-conditions="fn.makeSearchConditions()"> <span translate="common.allDownloadExcel">�뿊�� �떎�슫濡쒕뱶</span></a>-->
+                                <a class="dropdown-item cursor" ng-if="vm.viewer.modifyPermissionCheck" ng-click="fn.modifyDownIssueStatus()"> <span translate="common.updateDownIssueStatus">�븯�쐞�씠�뒋 �긽�깭 蹂�寃�</span></a>
+                                <a class="dropdown-item cursor" ng-click="fn.addDownIssueTableConfig()"> <span translate="issue.settingTableDisplay">�뀒�씠釉� �몴�떆 �꽕�젙</span></a>
+                                <a class="dropdown-item cursor" ng-click="fn.removeDownIssue()"> <span translate="common.selectDelete">�궘�젣</span></a>
+                            </div>
                         </div>
                     </div>
                 </div>
@@ -719,7 +738,7 @@
                                     ng-click="fn.addDownIssue()"
                                     translate="issue.addDownIssue">異붽�</button>
                             <button type="button" class="btn btn-sm btn-primary btn-roundRel  offset-1"
-                                    ng-click="fn.addDownIssueForm(vm.viewer.id, vm.viewer.issueTypeVo.id)">
+                                    ng-click="fn.addDownIssueForm(vm.viewer.id, vm.viewer.projectVo, vm.viewer.issueTypeVo.id)">
                                 <i class="os-icon os-icon-plus"><span></span></i>
                             </button>
                         </div>
@@ -828,28 +847,20 @@
                                                 translate="common.fullView">�쟾泥대낫湲�</span></a>
                                     </li>
                                     <li class="nav-item cursor">
+                                        <a class="nav-link" ng-class="{ 'active' : vm.activeTab == 'MAIL_AND_REPLY' }"
+                                           ng-click="vm.activeTab = 'MAIL_AND_REPLY'"><span translate="common.fullMailsAndComments">�쟾泥대낫湲�(硫붿씪+�뙎湲�)</span></a>
+                                    </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 == 'MAIL' }"
-                                           ng-click="vm.activeTab = 'MAIL'"><span translate="common.mails">硫붿씪</span></a>
-                                    </li>
-                                    <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>
+                                        <a class="nav-link" ng-class="{ 'active' : vm.activeTab == 'MAIL_AND_REPLY_DOWN' }"
+                                           ng-click="vm.activeTab = 'MAIL_AND_REPLY_DOWN'"><span translate="common.downMailsAndComments">�븯�쐞�씠�뒋(硫붿씪+�뙎湲�)</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 == 'MAIL_DOWN' }"
-                                           ng-click="vm.activeTab = 'MAIL_DOWN'"><span translate="common.downMails">�븯�쐞�씠�뒋 硫붿씪</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>
@@ -992,15 +1003,55 @@
                                     </div>
                                 </div>
 
-                                <!--    硫붿씪 蹂닿린    -->
-                                <div ng-if="vm.activeTab == 'MAIL'">
-                                    <div class="no-cont2" ng-if="vm.viewer.activeParentMailHistory.length < 1" translate="common.noRecord">
+                                <!--    �쟾泥�(�긽�쐞+�븯�쐞) 硫붿씪+�뙎湲� 蹂닿린    -->
+                                <div ng-if="vm.activeTab == 'MAIL_AND_REPLY'">
+                                    <div class="no-cont2" ng-if="vm.viewer.activeAllMailAndReplyHistory.length < 1" translate="common.noRecord">
                                         湲곕줉�씠 �뾾�뒿�땲�떎.
                                     </div>
 
-                                    <div class="ae-item" ng-repeat="issueHistory in vm.viewer.activeParentMailHistory">
+                                    <div class="ae-item row" ng-repeat="issueHistory in vm.viewer.activeAllMailAndReplyHistory">
+                                        <!-- 硫붿씪�씤 寃쎌슦 -->
                                         <div class="aei-content" ng-if="$root.isDefined(issueHistory.issueHistoryType)">
-                                            <div dom-append dom="issueHistory.description"></div>
+                                            <div ng-if="!$root.isDefined(issueHistory.desc)" dom-append dom="issueHistory.description"></div>
+                                            <div ng-if="$root.isDefined(issueHistory.desc)" dom-append dom="issueHistory.desc"></div>
+                                        </div>
+
+                                        <!--    �뙎湲��씤 寃쎌슦  -->
+                                        <div ng-if="!$root.isDefined(issueHistory.issueHistoryType)"
+                                             ng-show="vm.viewer.title !== issueHistory.title">
+                                            <span class="dot">
+                                                *�븯�쐞�씠�뒋 : {{::issueHistory.title}}
+                                            </span>
+                                        </div>
+                                        <div class="aei-image" style="position: absolute; top: 30%" ng-if="!$root.isDefined(issueHistory.issueHistoryType)">
+                                            <div class="user-avatar-w">
+                                                <img ng-show="vm.viewer.title !== issueHistory.title"
+                                                     style="margin-top: 15px" alt="image" ng-src="{{::issueHistory.profile}}">
+                                                <img ng-show="vm.viewer.title === issueHistory.title"
+                                                     alt="image" ng-src="{{::issueHistory.profile}}">
+                                            </div>
+                                        </div>
+
+                                        <div class="aei-content"
+                                             ng-if="!$root.isDefined(issueHistory.issueHistoryType)">
+                                            <h6 class="aei-title mt-1 ml-3per">
+                                                {{::issueHistory.registerName}}
+                                            </h6>
+                                            <div class="date-break mt-2 ml-3per">
+                                                <span>{{::issueHistory.registerDate}}</span>
+                                            </div>
+                                            <div class="aei-delete"
+                                                 ng-click="fn.removeComment(issueHistory)"
+                                                 ng-show="vm.viewer.modifyPermissionCheck || $root.user.id == issueHistory.registerId">
+                                                <i class="os-icon os-icon-close"></i>
+                                            </div>
+                                            <div class="chat-messages">
+                                                <div class="message" style="margin-left: 3.3%">
+                                                    <div class="message-content">
+                                                        <span class="issue-detail-word-break">{{::issueHistory.description}}</span>
+                                                    </div>
+                                                </div>
+                                            </div>
                                         </div>
                                     </div>
                                 </div>
@@ -1049,15 +1100,47 @@
                                     </div>
                                 </div>
 
-                                <!--    �븯�쐞�씠�뒋 硫붿씪 蹂닿린    -->
-                                <div ng-if="vm.activeTab == 'MAIL_DOWN'">
-                                    <div class="no-cont2" ng-if="vm.viewer.activeDownMailHistory.length < 1" translate="common.noRecord">
+                                <!--    �븯�쐞�씠�뒋 硫붿씪+�뙎湲� 蹂닿린    -->
+                                <div ng-if="vm.activeTab == 'MAIL_AND_REPLY_DOWN'">
+                                    <div class="no-cont2" ng-if="vm.viewer.activeDownMailAndReplyHistory.length < 1" translate="common.noRecord">
                                         湲곕줉�씠 �뾾�뒿�땲�떎.
                                     </div>
 
-                                    <div class="ae-item" ng-repeat="issueHistory in vm.viewer.activeDownMailHistory">
+                                    <div class="ae-item row" ng-repeat="issueHistory in vm.viewer.activeDownMailAndReplyHistory">
                                         <div class="aei-content" ng-if="$root.isDefined(issueHistory.issueHistoryType)">
-                                            <div dom-append dom="issueHistory.description"></div>
+                                            <div dom-append dom="issueHistory.desc"></div>
+                                        </div>
+
+                                        <!--    �뙎湲��씤 寃쎌슦  -->
+                                        <div class="aei-content pb-3" ng-if="!$root.isDefined(issueHistory.issueHistoryType)">
+                                            <div class="dot">
+                                                *�븯�쐞�씠�뒋 : {{::issueHistory.title}}
+                                            </div>
+                                        </div>
+                                        <div class="aei-image" style="position: absolute; top: 30%" ng-if="!$root.isDefined(issueHistory.issueHistoryType)">
+                                            <div class="user-avatar-w ">
+                                                <img style="margin-top: 15px" alt="image" ng-src="{{::issueHistory.profile}}">
+                                            </div>
+                                        </div>
+                                        <div class="aei-content" ng-if="!$root.isDefined(issueHistory.issueHistoryType)">
+                                            <h6 class="aei-title mt-1 ml-3per">
+                                                {{::issueHistory.registerName}}
+                                            </h6>
+                                            <div class="date-break mt-2" style="margin-left: 3.3%">
+                                                <span>{{::issueHistory.registerDate}}</span>
+                                            </div>
+                                            <div class="aei-delete"
+                                                 ng-click="fn.removeComment(issueHistory)"
+                                                 ng-show="vm.viewer.modifyPermissionCheck || $root.user.id == issueHistory.registerId">
+                                                <i class="os-icon os-icon-close"></i>
+                                            </div>
+                                            <div class="chat-messages">
+                                                <div class="message" style="margin-left: 3.3%">
+                                                    <div class="message-content">
+                                                        <span class="issue-detail-word-break">{{::issueHistory.description}}</span>
+                                                    </div>
+                                                </div>
+                                            </div>
                                         </div>
                                     </div>
                                 </div>

--
Gitblit v1.8.0