From 12e19e0b8bc5e728169dad54c132e7ccd41973a4 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 월, 14 3월 2022 12:55:35 +0900 Subject: [PATCH] Merge branch 'master' of http://192.168.0.28:9001/r/owl-kisa --- src/main/webapp/views/issue/issueDetail.html | 216 +++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 167 insertions(+), 49 deletions(-) diff --git a/src/main/webapp/views/issue/issueDetail.html b/src/main/webapp/views/issue/issueDetail.html index aa6501a..2da0768 100644 --- a/src/main/webapp/views/issue/issueDetail.html +++ b/src/main/webapp/views/issue/issueDetail.html @@ -87,7 +87,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' : '#353535', 'border-color' : vm.viewer.issueStatusVo.color, 'color' : '#FFFFFF' }"> - <span class="cursor" ng-click="fn.issueBack()">�긽�쐞 �씠�뒋:{{vm.viewer.parentIssueVo.title}}</span> + <span class="cursor" ng-click="fn.goParentIssue()">�긽�쐞 �씠�뒋:{{vm.viewer.parentIssueVo.title}}</span> </span> <div class=""> @@ -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,17 @@ <div class="col-sm-2"> <div class="form-group"> <div class=""> + <span translate="companyField.ipRange">IP ���뿭��</span>: + <span ng-if="vm.viewer.issueCompanyVos[0].ipStart != null && vm.viewer.issueCompanyVos[0].ipStart != ''"> + {{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 +568,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 +591,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 +629,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 +642,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 +664,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 +693,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 +740,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> @@ -827,22 +848,22 @@ ng-click="fn.updateActiveHistory()"><span translate="common.fullView">�쟾泥대낫湲�</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> - </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_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 == 'REPLY_DOWN' }" - ng-click="vm.activeTab = 'REPLY_DOWN'"><span translate="common.downComments">�븯�쐞�씠�뒋 �뙎湲�</span></a> - </li>--> </ul> </div> @@ -983,6 +1004,60 @@ </div> </div> </div> + + <!-- �쟾泥�(�긽�쐞+�븯�쐞) 硫붿씪+�뙎湲� 蹂닿린 --> + <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 row" ng-repeat="issueHistory in vm.viewer.activeAllMailAndReplyHistory"> + <!-- 硫붿씪�씤 寃쎌슦 --> + <div class="aei-content" ng-if="$root.isDefined(issueHistory.issueHistoryType)"> + <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> + <!-- �븯�쐞�씠�뒋 湲곕줉 蹂닿린 --> <div ng-if="vm.activeTab == 'RECODE_DOWN'"> <div class="no-cont2" ng-if="!$root.isDefined(vm.viewer.activeDownAllHistory) || vm.viewer.activeDownAllHistory.length < 1" translate="common.noRecord"> @@ -1027,28 +1102,71 @@ </div> </div> + <!-- �븯�쐞�씠�뒋 硫붿씪+�뙎湲� 蹂닿린 --> + <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 row" ng-repeat="issueHistory in vm.viewer.activeDownMailAndReplyHistory"> + <div class="aei-content" ng-if="$root.isDefined(issueHistory.issueHistoryType)"> + <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> + <!-- �븯�쐞�씠�뒋 �뙎湲� 蹂닿린 --> <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 class="aei-content pb-3" ng-repeat="comment in vm.viewer.downComment"> + <div class='dot mt-10 mb-10'> + *�븯�쐞�씠�뒋: {{::comment.title}} </div> - <div class="aei-image"> + <div class="aei-image" style="position: absolute; top: 30%"> <div class="user-avatar-w"> - <img alt="image" ng-src="{{::comment.profile}}"> + <img style="margin-top: 15px" alt="image" ng-src="{{::comment.profile}}"> </div> </div> <div class="aei-content"> - <h6 class="aei-title"> + <h6 class="aei-title mt-1 ml-3per"> {{::comment.registerName}} </h6> - <div class="date-break"> + <div class="date-break mt-2" style="margin-left: 3.3%"> <span>{{::comment.registerDate}}</span> </div> <div class="aei-delete" @@ -1057,7 +1175,7 @@ <i class="os-icon os-icon-close"></i> </div> <div class="chat-messages"> - <div class="message"> + <div class="message" style="margin-left: 3.3%"> <div class="message-content"> <span class="issue-detail-word-break">{{::comment.description}}</span> </div> -- Gitblit v1.8.0