From 9cefc77815ab070cbd6cb410da30307f1df31e34 Mon Sep 17 00:00:00 2001 From: wyu <kknd09321@nate.com> Date: 월, 03 1월 2022 10:21:21 +0900 Subject: [PATCH] 검색에서 검색된 이슈를 클릭시 상세화면으로 가는데 x누르면 이전 목록이 보이도록 수정 --- src/main/webapp/scripts/app/issue/issueList.controller.js | 173 ++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 138 insertions(+), 35 deletions(-) diff --git a/src/main/webapp/scripts/app/issue/issueList.controller.js b/src/main/webapp/scripts/app/issue/issueList.controller.js index 8d51e5a..8f38e3d 100644 --- a/src/main/webapp/scripts/app/issue/issueList.controller.js +++ b/src/main/webapp/scripts/app/issue/issueList.controller.js @@ -24,6 +24,7 @@ add : add, // �씠�뒋 �깮�꽦 modify : modify, // �씠�뒋 �닔�젙 addRelationIssueForm : addRelationIssueForm, // �뿰愿� �씠�뒋 異붽� + addDownIssueForm : addDownIssueForm, // �븯�쐞 �씠�뒋 異붽� modifyMultiIssueStatus : modifyMultiIssueStatus, // �씠�뒋 �떎以� �긽�깭 蹂�寃� removes : removes, // �씠�뒋 �궘�젣 addIssueTableConfig : addIssueTableConfig, // �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 @@ -47,13 +48,15 @@ // 蹂��닔 $scope.vm = { + projectId : "", issueTypeId : "", partnerVos : "", search : { - keyWord : "", // �쟾泥� 寃��깋 + keyWord : "", // 寃��깋 title : "", // �젣紐� description : "", // �궡�슜 combinationIssueNumber : "", // �씠�뒋 踰덊샇 + issueNumber : "", projectType : "BTS_PROJECT", // �봽濡쒖젥�듃 �쑀�삎 registerDateRange : "", // �벑濡앹씪 湲곌컙 寃��깋 startDateRange : "", // �떆�옉�씪 湲곌컙 寃��깋 @@ -69,6 +72,7 @@ selectedPage : 0, selectedPageRowCount : String(10) }, + tableConfigs : [], // �뀒�씠釉� �뀑�똿 �젙蹂� treeConfigs : [], // �듃由� �뀑�똿 �젙蹂� responseData : { @@ -102,10 +106,20 @@ angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); + // �씠�뒋紐⑸줉 �깉濡쒓퀬移� 紐⑸줉 媛깆떊 + $scope.$on("findIssueListOK", function (event, args) { + if (args != null) { + $scope.fn.startExecute(); + } + }); + // �씠�뒋 紐⑸줉 �뜲�씠�꽣 媛깆떊 $scope.$on("getIssueList", function () { $scope.fn.getPageList($scope.vm.page.selectedPage - 1); }); + + // �씠�뒋 紐⑸줉 �깉濡쒓퀬移� + $rootScope.$on("getIssueList", function (event, args) {}) // �씠�뒋 �뀒�씠釉� �꽕�젙 �젙蹂� 媛깆떊 $scope.$on("getIssueTableConfigs", function () { @@ -113,14 +127,9 @@ }); $scope.$on("changedIssueListMenu", function (event, args) { - $scope.fn.getPageList($scope.vm.page.selectedPage - 1); - }); - - // �긽�떒 寃��깋�떆 - $scope.$on("searchIssueList", function (event, args) { - $scope.vm.search.keyWord = args.keyWord; - $scope.fn.getPageList(0); + $scope.vm.search.keyWord = ""; $rootScope.isMainSearch = false; + //$scope.fn.getPageList($scope.vm.page.selectedPage - 1); }); // 寃��깋 議곌굔�쓣 湲곗뼲�븳�떎. - �쟻�슜 蹂대쪟 @@ -150,7 +159,7 @@ } // �꽌踰꾩뿉 ���옣�븳 �씠�뒋 寃��깋 議곌굔�쓣 媛��졇�삩�떎. - function getVmSearchObject() { + function getVmSearchObject(keyWord = null) { IssueSearch.detail($resourceProvider.getContent({}, $resourceProvider.getPageContent(0, 0))).then(function (result) { @@ -164,9 +173,9 @@ // $scope.vm.projects = issueListSearchObject.projects; // $scope.vm.registers = issueListSearchObject.registers; - $scope.fn.getPageList(0, true); + $scope.fn.getPageList(0, true, keyWord); } else { - $scope.fn.getPageList(0); + $scope.fn.getPageList(0, false, keyWord); } } else { @@ -174,9 +183,10 @@ } }); } + $scope.vm.issueIds = []; // �긽�꽭 �솕硫댁쑝濡� 蹂�寃쏀븳�떎. - function changeDetailView(id) { + function changeDetailView(id, isBack = false) { $scope.vm.tableConfigs = []; $scope.vm.detailView = true; @@ -187,6 +197,10 @@ // �뀒�씠釉붿쓣 �떎�떆 洹몃┫�닔 �엳寃� �뜲�씠�꽣 諛붿씤�뵫�쓣 �떎�떆�븳�떎. var temp = angular.copy($scope.vm.responseData.data); $scope.vm.responseData.data = angular.copy(temp); + + if (!isBack) { + $scope.vm.issueIds.push(id); + } // �쁽�옱 �긽�꽭�솕硫댁쑝濡� 蹂대젮怨좏븯�뒗 �씠�뒋 id瑜� 湲곗뼲�븳�떎. $rootScope.currentDetailIssueId = id; // �씠�뒋 �긽�꽭 �솕硫� �슂泥� @@ -198,6 +212,7 @@ // 紐⑸줉 �솕硫댁쑝濡� 蹂�寃쏀븳�떎. function listView() { + $scope.vm.issueIds = []; $scope.vm.detailView = false; // �씠�뒋 �뀒�씠釉� �꽕�젙 $scope.fn.makeTableConfigs(); @@ -321,6 +336,7 @@ case "ISSUE_TITLE" : // �씠�뒋 �젣紐� $scope.vm.tableConfigs.push($tableProvider.config() .setHName("issue.issueTitle") + .setDName("issueNumber") /* todo �씠嫄� ���씠��濡� 蹂�寃쏀빐�빞�븯�뒗�뜲*/ .setDType("renderer") .setHWidth("bold " + issueTableConfig.width) .setDAlign("text-center") @@ -330,7 +346,7 @@ case "PRIORITY" : // �슦�꽑�닚�쐞 $scope.vm.tableConfigs.push($tableProvider.config() .setHName("common.priority") - .setDName("priorityName") + .setDName("priorityId") .setDType("renderer") .setHWidth("bold " + issueTableConfig.width) .setDAlign("text-center") @@ -339,22 +355,25 @@ case "SEVERITY" : // 以묒슂�룄 $scope.vm.tableConfigs.push($tableProvider.config() .setHName("common.importance") - .setDName("severityName") + .setDName("severityId") .setDType("renderer") .setHWidth("bold " + issueTableConfig.width) .setDAlign("text-center") .setDRenderer("COMMON_SEVERITY")); break; - case "ISSUE_TYPE" : // �씠�뒋 ���엯 + case "ISSUE_TYPE" : // �씠�뒋 �쑀�삎 $scope.vm.tableConfigs.push($tableProvider.config() .setHName("issue.issueType") + .setDName("issueTypeId") + .setDType("renderer") .setHWidth("bold " + issueTableConfig.width) .setDAlign("text-center") - .setDName("issueTypeName")); + .setDRenderer("COMMON_ISSUE_TYPE")); break; case "ASSIGNEE_TEAM" : // �떞�떦遺��꽌 $scope.vm.tableConfigs.push($tableProvider.config() .setHName("common.assigneeTeam") + .setDName("departmentName") /* todo 泥댄겕*/ .setDType("renderer") .setHWidth("bold " + issueTableConfig.width) .setDAlign("text-center") @@ -363,6 +382,7 @@ case "REGISTER" : // �벑濡앹옄 $scope.vm.tableConfigs.push($tableProvider.config() .setHName("common.register") + .setDName("registerId") .setDType("renderer") .setHWidth("bold " + issueTableConfig.width) .setDAlign("text-center") @@ -371,6 +391,7 @@ case "PERIOD" : // 湲곌컙 $scope.vm.tableConfigs.push($tableProvider.config() .setHName("common.period") + .setDName("startDate") .setDType("renderer") .setHWidth("bold " + issueTableConfig.width) .setDAlign("text-center") @@ -386,10 +407,39 @@ case "COUNT_DOWN_ISSUE" : // �븯�쐞 �씠�뒋 媛쒖닔 $scope.vm.tableConfigs.push($tableProvider.config() .setHName("common.countDownIssue") + .setDName("downIssueCount") .setDType("renderer") .setHWidth("bold " + issueTableConfig.width) .setDAlign("text-center") + .setColumnTooltip("誘몄셿猷� �븯�쐞�씠�뒋/�쟾泥� �븯�쐞�씠�뒋") .setDRenderer("DOWN_ISSUE_COUNT")); + break; + case "COMPANY" : // �뾽泥� + $scope.vm.tableConfigs.push($tableProvider.config() + .setHName("common.company") + .setDName("companyName") + .setDType("renderer") + .setHWidth("bold " + issueTableConfig.width) + .setDAlign("text-center") + .setDRenderer("USE_COMPANY")); + break; + case "ISP" : // ISP + $scope.vm.tableConfigs.push($tableProvider.config() + .setHName("common.isp") + .setDName("ispName") + .setDType("renderer") + .setHWidth("bold " + issueTableConfig.width) + .setDAlign("text-center") + .setDRenderer("USE_ISP")); + break; + case "HOSTING" : // HOSTING + $scope.vm.tableConfigs.push($tableProvider.config() + .setHName("common.hosting") + .setDName("hostingName") + .setDType("renderer") + .setHWidth("bold " + issueTableConfig.width) + .setDAlign("text-center") + .setDRenderer("USE_HOSTING")); break; } @@ -403,6 +453,7 @@ $scope.vm.tableConfigs.push($tableProvider.config() .setHName(customField.name) .setDType("renderer") + .setDName("useValue" + [count]) /* todo 泥댄겕*/ .setHWidth("bold " + issueTableConfig.width) .setDAlign("text-center") .setColumnHint(customField) @@ -434,6 +485,7 @@ keyWord : $scope.vm.search.keyWord, title : $scope.vm.search.title, description : $scope.vm.search.description, + issueNumber : $scope.vm.search.issueNumber, projectType : $scope.vm.search.projectType, combinationIssueNumber : $scope.vm.search.combinationIssueNumber.trim(), beginRegisterDate : "", @@ -563,6 +615,7 @@ } return conditions; + } function getTreeList() { @@ -570,10 +623,17 @@ } // �씠�뒋 紐⑸줉�쓣 議고쉶�븳�떎. - function getPageList(selectedPage, detail = false) { + function getPageList(selectedPage, detail = false, keyWord = null) { $rootScope.spinner = true; // �봽濡쒓렇�옒�뒪 諛� if (selectedPage < 0) { selectedPage = 0; + } + + if (keyWord != null) { + $scope.vm.search.keyWord = keyWord; + $rootScope.isMainSearch = true; + + $rootScope.$broadcast("getPageListKeyWord", {keyWord: $scope.vm.search.keyWord}); } if ($scope.vm.hideCompleteIssue) { @@ -594,15 +654,13 @@ currentPage = selectedPage; } - - // 寃��깋 湲곕낯媛� �꽭�똿 $scope.vm.search.issueTypeIds = []; $scope.vm.projects = []; - if (!$rootScope.isMainSearch) { + if (keyWord == null || keyWord === '') { // 硫붾돱�뿉�꽌 �꽑�깮�맂 �씠�뒋 �쑀�삎�쓣 湲곕낯�쑝濡� 異붽� if ($rootScope.issueTypeMenu != null) { - // $scope.vm.pageTitle = $rootScope.issueTypeMenu.name; + //$scope.vm.pageTitle = $rootScope.issueTypeMenu.name; $scope.vm.search.issueTypeIds.push({ fieldKey: $rootScope.issueTypeMenu.id, @@ -620,10 +678,14 @@ $scope.vm.projects.push($rootScope.workProject); } } + //$scope.vm.searchAll.keyWord = ""; } // �씠�뒋 寃��깋 議곌굔�쓣 留뚮뱺�떎. var conditions = $scope.fn.makeSearchConditions(); + + if ($rootScope.previousGetParams != null) + $rootScope.previousGetParams = null; Issue.find($resourceProvider.getContent(conditions, $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) { @@ -656,9 +718,10 @@ changeDetailView(result.data.data[0].id); } } else { - $scope.vm.responseData = result.data; + // 媛믪씠 �뾾�쓣�븣 媛믪쓣 �꽔�뼱二쇰젮怨� �븯�뒗 �쓽�룄 + // $scope.vm.responseData = result.data; + result.data = $scope.vm.responseData; } - } else { SweetAlert.error($filter("translate")("issue.failedIssueLookup"), result.data.message.message); // �씠�뒋 議고쉶 �떎�뙣 @@ -743,6 +806,7 @@ angular.forEach($scope.vm.responseData.data, function (data) { if (data.checked) { issueIds.push(data.id); + $scope.vm.projectId = data.projectId; } }); @@ -759,7 +823,8 @@ resolve : { parameter : function () { return { - issueIds : issueIds + issueIds : issueIds, + projectId : $scope.vm.projectId }; } } @@ -788,6 +853,22 @@ templateUrl : 'views/issue/issueAddRelation.html', size : "lg", controller : 'issueAddRelationController', + backdrop : 'static', + resolve : { + parameter : function () { + return { + id : id, + }; + } + } + }); + } + + function addDownIssueForm(id) { + $uibModal.open({ + templateUrl : 'views/issue/issueAddDown.html', + size : "lg", + controller : 'issueAddDownController', backdrop : 'static', resolve : { parameter : function () { @@ -1034,13 +1115,16 @@ var deferred = $q.defer(); $scope.vm.partners = []; - Issue.findPartners($resourceProvider.getContent({}, + Issue.findPartners($resourceProvider.getContent({issueTypeId : $rootScope.getCurrentIssueTypeId()}, $resourceProvider.getPageContent(0, 1))).then(function (result) { if (result.data.message.status === "success") { - $scope.vm.partnerVos = result.data.content; + angular.forEach(result.data.data, function (partner) { + $scope.vm.partners.push(partner); + }); + //$scope.vm.partnerVos = result.data.data; } else { - SweetAlert.swal($filter("translate")("issue.failedToPriorityListLookup"), result.data.message.message, "error"); // �슦�꽑�닚�쐞 紐⑸줉 議고쉶 �떎�뙣 + SweetAlert.swal($filter("translate")("issue.failedToPartnerListLookup"), result.data.message.message, "error"); // �뙆�듃�꼫 紐⑸줉 議고쉶 �떎�뙣 } deferred.resolve(result.data.data); @@ -1126,7 +1210,6 @@ break; } - $scope.vm.customFields.push(customField); }); } @@ -1147,8 +1230,8 @@ if ($rootScope.issueTypeMenu != null){ var content = { - issueTypeId : $rootScope.issueTypeMenu.id - } + issueTypeId : $rootScope.getCurrentIssueTypeId() + } IssueTableConfig.detail($resourceProvider.getContent(content, $resourceProvider.getPageContent(0, 1000))).then(function (result) { @@ -1213,14 +1296,28 @@ // 理쒖큹 �떎�뻾 function startExecute() { + // �씠�뒋 �긽�꽭�솕硫� �씠�뒋 �씠�룞 �궡�뿭 ���옣 + $scope.vm.issueIds = []; + // 荑좏궎 �씫湲� + var paramKeyWord = null; + + var keyWord = $rootScope.getCookie("searchKeyword"); + if (keyWord != null && keyWord !== '') { + paramKeyWord = keyWord; + $rootScope.deleteCookie("searchKeyword"); + } + // �뙆�씪誘명꽣 �씫湲� var params = $rootScope.previousGetParams; if ($rootScope.isDefined(params)) { // $rootScope.$broadcast("makeIssueSearch", { projectKey : params.projectKey, issueNumber : params.issueNumber }); - getDetailList(params.projectKey, params.issueNumber); - $rootScope.previousGetParams = null; + if (params.keyWord != null) { + paramKeyWord = params.keyWord; + }else { + getDetailList(params.projectKey, params.issueNumber); + return; + } // $rootScope.issueTypeId = $rootScope.issueTypeMenu.id; - return; } var promises = { @@ -1228,7 +1325,7 @@ getPriorities : $scope.fn.getPriorities(), getSeverities : $scope.fn.getSeverities(), getIssueStatuses : $scope.fn.getIssueStatuses(), - getCustomFields : $scope.fn.getCustomFields() + getCustomFields : $scope.fn.getCustomFields(), }; $q.all(promises).then(function (results){ @@ -1253,11 +1350,17 @@ // �씠�뒋 �뀒�씠釉� �꽕�젙 $scope.fn.makeTableConfigs(); // �꽌踰꾩뿉 ���옣�븳 �씠�뒋 寃��깋 議곌굔�쓣 媛��졇���꽌 �씠�뒋 紐⑸줉 寃��깋�쓣 吏꾪뻾�븳�떎. - $scope.fn.getVmSearchObject(); + $scope.fn.getVmSearchObject(paramKeyWord); }); }); } + // this.router.navigate(['path/to']) + // .then(() => { + // window.location.reload(); + // }); + + $scope.fn.startExecute(); } -- Gitblit v1.8.0