From b69416fc721e8f0eb478536bf0d98ae3f6c4811e Mon Sep 17 00:00:00 2001 From: wyu <kknd09321@nate.com> Date: 수, 24 11월 2021 17:57:08 +0900 Subject: [PATCH] 이슈 상세 연관,하위 테이블 표시 설정 - [프론트] --- src/main/webapp/views/issue/issueDetail.html | 324 ++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 241 insertions(+), 83 deletions(-) diff --git a/src/main/webapp/views/issue/issueDetail.html b/src/main/webapp/views/issue/issueDetail.html index e1cd779..5b82040 100644 --- a/src/main/webapp/views/issue/issueDetail.html +++ b/src/main/webapp/views/issue/issueDetail.html @@ -86,36 +86,21 @@ <!-- �긽�꽭 �솕硫� --> <div class="support-ticket-content-w" ng-controller="issueDetailController"> <div class="support-ticket-content"> - <div class="support-ticket-content-header issue-detail-word-break"> - <h3 class="ticket-header"> + <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>�긽�쐞 �씠�뒋:{{vm.viewer.parentIssueVo.title}}</span> + </span> + + <div class=""> + <span class="h3-div">{{vm.viewer.title}}</span> + </div> + <div class="support-ticket-content-header issue-detail-word-break" style="height: 5vh"> + <span class="ticket-header"> <div class="tasks-header-w"> <span class="tags"> <span class="tag">{{vm.viewer.projectVo.projectKey}}-{{vm.viewer.issueNumber}} / {{vm.viewer.projectVo.name}}</span> </span> </div> - {{vm.viewer.title}} - </h3> - <div class="col-sm-2"> - <div class="form-group"> - <label class="issue-detail-label"><span translate="issue.issueType">�씠�뒋 ���엯</span> </label> - <span class="status-pill smaller" - ng-style="{'background-color': vm.viewer.issueTypeVo.color }"></span><span>{{vm.viewer.issueTypeVo.name}}</span> - </div> - </div> - <div class="col-sm-2"> - <div class="form-group"> - {{vm.viewer.registerDate}} - </div> - </div> - - <div class="form-group"> - <label class="issue-detail-label"><span translate="common.register">�벑濡앹옄</span></label> - <span class="select3-selection__choice"> - <span class="avatar-w"><img ng-src="{{vm.viewer.registerVo.profile}}"></span> - <span>{{vm.viewer.registerVo.byName}}</span> - </span> - </div> - + </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> @@ -127,10 +112,18 @@ <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> </div> - + <label class="issue-detail-label"><span translate="issue.issueType">�씠�뒋 �쑀�삎</span> </label> + <span class="status-pill smaller" + ng-style="{'background-color': vm.viewer.issueTypeVo.color }"></span><span>{{vm.viewer.issueTypeVo.name}}</span> + <span class="offset-1"> {{vm.viewer.registerDate}}</span> + <label class="issue-detail-label offset-1"><span translate="common.register">�벑濡앹옄</span></label> + <span class="select3-selection__choice"> + <span class="avatar-w"><img ng-src="{{vm.viewer.registerVo.profile}}"></span> + <span>{{vm.viewer.registerVo.byName}}</span> + </span> <div class="ticket-thread"> <div class="todo-content"> - <h6 class="todo-content-subheader mt-20" translate="common.detailInformation">�긽�꽭 �젙蹂�</h6> + <h6 class="todo-content-subheader" translate="issue.issueInfo">�씠�뒋 �젙蹂�</h6> <div class="row mt-20"> <div class="col-md-4"> <div class="form-group"> @@ -140,14 +133,13 @@ <label class="issue-detail-label"><span translate="common.assigneeTeam">�떞�떦遺��꽌</span> </label> <div class=""> <div class="select3-selection__choicediv"> - <span class="select3-selection__choice" ng-repeat="user in vm.viewer.userVos"> - <span class="avatar-w"><img ng-src="{{::user.profile}}"></span> - <span>{{::user.byName}}</span> + <span class="select3-selection__choice" ng-repeat="department in vm.viewer.departmentVos"> + <span>{{::department.byName}}</span> </span> - <span ng-if="vm.viewer.userVos.length < 1" translate="common.noAssignee">�떞�떦�옄媛� �뾾�뒿�땲�떎.</span> + <span ng-if="vm.viewer.departmentVos.length < 1" translate="common.noDepartment">�떞�떦遺��꽌媛� �뾾�뒿�땲�떎.</span> <i class="fa fa-edit fa-2x issue-status-edit cursor" - ng-click="fn.modifyIssueUser()" data-toggle="tooltip" data-placement="right" title="�떞�떦�옄 蹂�寃� �븯湲�"></i> + ng-click="fn.modifyIssueDepartment()" data-toggle="tooltip" data-placement="right" title="�떞�떦�옄 蹂�寃� �븯湲�"></i> </div> </div> @@ -192,82 +184,237 @@ </div> </div> </div> + <hr> <div class="row"> <div class="col-md-4"> <div class="form-group"> - <label class="issue-detail-label"><span translate="common.detectingInfo">�깘吏��젙蹂�</span> </label> - <div class=""> - <label class="issue-detail-label"><span translate="common.diffuserURL">�쑀�룷�옄URL</span> </label> - <label class="issue-detail-label offset-2"><span translate="common.country">援�媛�</span></label> - <div class=""> - <span>200.11.13.123</span> - <span class="country">US</span> - </div> -<!-- <span ng-if="vm.viewer.userVos.length < 1" translate="common.noAssignee">�떞�떦�옄媛� �뾾�뒿�땲�떎.</span>--> - </div> - </div> - - </div> - </div> - - <div class="row"> - <div class="col-md-4"> - <div class="form-group"> - <label class="issue-detail-label"><span translate="common.registrationDate">�벑濡앹씪</span> - </label> - <div class=""> - {{vm.viewer.registerDate}} - </div> - </div> - </div> - - <div class="col-md-4"> - <div class="form-group"> - <label class="issue-detail-label"><span translate="common.register">�벑濡앹옄</span></label> - <div class=""> - <div class="select3-selection__choicediv"> - <span class="select3-selection__choice"> - <span class="avatar-w"><img ng-src="{{vm.viewer.registerVo.profile}}"></span> - <span>{{vm.viewer.registerVo.byName}}</span> - </span> - </div> - </div> + <h6 class="info_font" translate="common.detectingInfo">�깘吏��젙蹂�</h6> </div> </div> </div> - - - + <!-- �궗�슜�옄 �젙�쓽 �븘�뱶 --> <div class="row"> - <div class="col-md-4" ng-repeat="issueCustomField in vm.viewer.issueCustomFields"> + <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" class="form-group"> + <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="SINGLE_SELECT" class="form-group"> + <div ng-switch-when="SINGLE_SELECT"> <span class="issue-detail-word-break">{{::issueCustomField.useValues}}</span> <span ng-if="!$root.isDefined(issueCustomField.useValues)">-</span> </div> <!-- 硫��떚 ���젆�듃 --> - <div ng-switch-when="MULTI_SELECT" class="form-group"> + <div ng-switch-when="MULTI_SELECT"> <span class="issue-detail-word-break" - ng-repeat="useValue in issueCustomField.useValues">{{::useValue.value}}, </span> + ng-repeat="useValue in issueCustomField.useValues">{{::useValue.value}}, </span> <span ng-if="!$root.isDefined(issueCustomField.useValues)">-</span> </div> </div> </div> </div> - <h6 class="todo-content-subheader mt-20" translate="issue.relationIssue">�뿰愿� �씪媛�</h6> - <!-- �뀒�씠釉� --> + <!-- <div class=""> + <label class="issue-detail-label"><span>{{vm.viewer.issueCustomFieldValueVos[0].useValue}}</span> </label> + <div class=""> + <span>{{vm.viewer.issueCustomFieldValueVos[0].customFieldVo.name}}</span> + </div> + <span ng-if="vm.viewer.userVos.length < 1" translate="common.noAssignee">�떞�떦�옄媛� �뾾�뒿�땲�떎.</span> + </div>--> + <hr> +<!-- <span class="tag">{{vm.viewer.projectVo.projectKey}}-{{vm.viewer.issueNumber}} / {{vm.viewer.projectVo.name}}</span>--> + <div class="row"> + <div class="col-sm-2"> + <div class="form-group"> + <h6 class="info_font" translate="companyField.info">�뾽泥댁젙蹂�</h6> + </div> + </div> + </div> + + <div class="row"> + <div class="col-sm-2"> + <div class="form-group"> + <span translate="companyField.companyName">�뾽泥대챸</span>: + <span>{{vm.viewer.issueCompanyVos[0].name}}</span> + </div> + </div> + + <div class="col-sm-2"> + <div class="form-group"> + <div class=""> + <span translate="companyField.manager">�떞�떦�옄</span>: + <span>{{vm.viewer.issueCompanyVos[0].manager}}</span> + </div> + </div> + </div> + + <div class="col-sm-2"> + <div class="form-group"> + <div class=""> + <span translate="companyField.tel">�쟾�솕踰덊샇</span>: + <span>{{vm.viewer.issueCompanyVos[0].tel}}</span> + </div> + </div> + </div> + + <div class="col-sm-2"> + <div class="form-group"> + <div class=""> + <span translate="companyField.email">�씠硫붿씪</span>: + <span class="email_color">{{vm.viewer.issueCompanyVos[0].email}}</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> + </div> + </div> + </div> + + <div class="row"> + <div class="col-sm-2"> + <div class="form-group"> + <h6 class="info_font" translate="ispField.info">ISP�젙蹂�</h6> + </div> + </div> + </div> + + <div class="row"> + <div class="col-sm-2"> + <div class="form-group"> + <span translate="ispField.ispName">ISP紐�</span>: + <span>{{vm.viewer.issueIspVos[0].name}}</span> + </div> + </div> + + <div class="col-sm-2"> + <div class="form-group"> + <span translate="ispField.code">肄붾뱶</span>: + <span>{{vm.viewer.issueIspVos[0].code}}</span> + </div> + </div> + + <div class="col-sm-2"> + <div class="form-group"> + <div class=""> + <span translate="ispField.manager">�떞�떦�옄</span>: + <span>{{vm.viewer.issueIspVos[0].manager}}</span> + </div> + </div> + </div> + + <div class="col-sm-2"> + <div class="form-group"> + <div class=""> + <span translate="ispField.tel">�쟾�솕踰덊샇</span>: + <span>{{vm.viewer.issueIspVos[0].tel}}</span> + </div> + </div> + </div> + + <div class="col-sm-2"> + <div class="form-group"> + <div class=""> + <span translate="ispField.email">�씠硫붿씪</span>: + <span class="email_color">{{vm.viewer.issueIspVos[0].email}}</span> + </div> + </div> + </div> + + <div class="col-sm-2"> + <div class="form-group"> + <div class=""> + <span translate="ispField.memo">鍮꾧퀬</span>: + <span>{{vm.viewer.issueIspVos[0].memo}}</span> + </div> + </div> + </div> + </div> + + <div class="row"> + <div class="col-sm-2"> + <div class="form-group"> + <h6 class="info_font" translate="hostingField.info">�샇�뒪�똿�젙蹂�</h6> + </div> + </div> + </div> + + <div class="row"> + <div class="col-sm-2"> + <div class="form-group"> + <span translate="hostingField.hostingName">�샇�뒪�똿紐�</span>: + <span>{{vm.viewer.issueHostingVos[0].name}}</span> + </div> + </div> + + <div class="col-sm-2"> + <div class="form-group"> + <span translate="hostingField.code">肄붾뱶</span>: + <span>{{vm.viewer.issueHostingVos[0].code}}</span> + </div> + </div> + + <div class="col-sm-2"> + <div class="form-group"> + <div class=""> + <span translate="hostingField.manager">�떞�떦�옄</span>: + <span>{{vm.viewer.issueHostingVos[0].manager}}</span> + </div> + </div> + </div> + + <div class="col-sm-2"> + <div class="form-group"> + <div class=""> + <span translate="hostingField.tel">�쟾�솕踰덊샇</span>: + <span>{{vm.viewer.issueHostingVos[0].tel}}</span> + </div> + </div> + </div> + + <div class="col-sm-2"> + <div class="form-group"> + <div class=""> + <span translate="hostingField.email">�씠硫붿씪</span>: + <span class="email_color">{{vm.viewer.issueHostingVos[0].email}}</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> + </div> + </div> + </div> + + + + <div class="row mt-30"> + <div class="col-md-10"> + <span class="info_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> + </div> + </div> + + <!-- �뿰愿� �씠�뒋 �뀒�씠釉� --> <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> @@ -299,14 +446,22 @@ <div class="col-auto vertical-middle"> <button type="button" class="btn btn-primary form-control input-sm" ng-click="fn.addRelationIssue()" - translate="issue.addRelationIssue">異붽�</button> + translate="issue.addRelationIssue">�뿰愿� �씠�뒋 異붽�</button> </div> </div> </div> - <h6 class="todo-content-subheader mt-20" translate="issue.downIssue">�븯�쐞 �씪媛�</h6> - <!-- �뀒�씠釉� --> + <div class="row mt-30"> + <div class="col-md-10"> + <span class="info_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> + </div> + </div> + + <!-- �븯�쐞 �씠�뒋 �뀒�씠釉� --> <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> @@ -333,7 +488,7 @@ </div> </div> - <h6 class="todo-content-subheader mt-20" translate="common.content">�궡�슜</h6> + <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> <span class="fc-grey" ng-if="!$root.isDefined(vm.viewer.description)" translate="common.noContent"> @@ -525,6 +680,9 @@ translate="common.noRecord"> 湲곕줉�씠 �뾾�뒿�땲�떎. </div> + <div> + {{vm.viewer.issueHistoryVos}} + </div> <div class="activity-item" ng-repeat="issueHistory in vm.viewer.issueHistoryVos"> -- Gitblit v1.8.0