From 4d692a614bba9d8954cbbdad2d79424afaab0298 Mon Sep 17 00:00:00 2001 From: jhjang <jhjang@maprex.co.kr> Date: 월, 03 1월 2022 17:50:00 +0900 Subject: [PATCH] Merge branch 'master' of http://192.168.0.25:9001/r/owl-kisa --- src/main/webapp/scripts/app/issue/issueDetail.controller.js | 718 +++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 493 insertions(+), 225 deletions(-) diff --git a/src/main/webapp/scripts/app/issue/issueDetail.controller.js b/src/main/webapp/scripts/app/issue/issueDetail.controller.js index 8eb6e19..57f8369 100644 --- a/src/main/webapp/scripts/app/issue/issueDetail.controller.js +++ b/src/main/webapp/scripts/app/issue/issueDetail.controller.js @@ -28,25 +28,36 @@ $scope.fn.updateActiveHistory = updateActiveHistory; // �솢�룞 �궡�뿭�뿉�꽌 �쟾泥� 蹂닿린 �꺆�쓣 �닃���쓣 �븣 �뙎湲�, 湲곕줉 �젙蹂대�� �뾽�뜲�씠�듃 �븳�떎. $scope.fn.getChangeIssueStatusList = getChangeIssueStatusList; // �씠�뒋�쓽 �쁽�옱 �긽�깭�뿉�꽌 蹂�寃� 媛��뒫�븳 �씠�뒋 �깄�깭 紐⑸줉 媛��졇�삤湲� $scope.fn.modifyIssueStatus = modifyIssueStatus; // �씠�뒋 �긽�깭 蹂�寃� + $scope.fn.modifyDownIssueStatus = modifyDownIssueStatus; //�븯�쐞 �씠�뒋 �긽�깭 蹂�寃� $scope.fn.modifyIssueUser = modifyIssueUser; // �씠�뒋 �떞�떦�옄 蹂�寃� $scope.fn.modifyIssueDepartment = modifyIssueDepartment; // �씠�뒋 �떞�떦遺��꽌 蹂�寃� $scope.fn.initReload = initReload; // 珥덇린�솕 �빐�빞�븷 �븷紐⑹쓣 吏��젙�븯�뿬 �떎瑜� �씠�뒋瑜� �겢由��븷 �븣 珥덇린�솕�빐以��떎. - $scope.fn.sendMail = sendMail; // �듅�젙 �궗�슜�옄�뿉寃� �씠�뒋 �젙蹂대�� 硫붿씪濡� 諛쒖넚 + $scope.fn.sendMail = sendMail; + $scope.fn.sendMailAll = sendMailAll; + $scope.fn.sendMailVo = sendMailVo; + $scope.fn.getParameters = getParameters; + $scope.fn.getParametersAll = getParametersAll; + // �듅�젙 �궗�슜�옄�뿉寃� �씠�뒋 �젙蹂대�� 硫붿씪濡� 諛쒖넚 $scope.fn.versionView = versionView; // 踰꾩쟾 �젙蹂대�� �몴�떆�븳�떎. $scope.fn.reservation = reservation; // �삁�빟 �젙蹂대�� �솗�씤 諛� 蹂�寃� �븳�떎. $scope.fn.getIssueListCallBack = getIssueListCallBack; + $scope.fn.getDownIssueListCallBack = getDownIssueListCallBack; $scope.fn.addRelationIssue = addRelationIssue; // �뿰愿� �씠�뒋 異붽� $scope.fn.addDownIssue = addDownIssue; // �븯�쐞 �씠�뒋 異붽� $scope.fn.addRelationIssueTableConfig = addRelationIssueTableConfig; // �뿰愿� �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 $scope.fn.addDownIssueTableConfig = addDownIssueTableConfig; // �븯�쐞 �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 - $scope.fn.getRelTableConfigs = getRelTableConfigs; - $scope.fn.getDownTableConfigs = getDownTableConfigs; + $scope.fn.setRelTableConfigs = setRelTableConfigs; + $scope.fn.setDownTableConfigs = setDownTableConfigs; $scope.fn.containsPartner = containsPartner; + $scope.fn.onActivate = onActivate; + $scope.fn.issueBack = issueBack; + $scope.fn.removeRelationIssue = removeRelationIssue; + $scope.fn.removeDownIssue = removeDownIssue; // �씠�뒋 紐⑸줉 而⑦듃濡ㅻ윭 vm, fn �긽�냽 以� - $scope.vm.viewer = {}; + $scope.vm.viewer = {}; // �쁽�옱 �씠�뒋 $scope.vm.images = []; // 泥⑤��맂 �뙆�씪 以� �씠誘몄� �뙆�씪 - $scope.vm.activeTab = "ALL"; // �솢�룞 �궡�뿭 �꺆 + $scope.vm.activeTab = "RECODE"; // �솢�룞 �궡�뿭 �꺆 // �씠�뒋 �긽�깭 蹂�寃� �몴�떆 �뿬遺� $scope.vm.editor = { issueStatus : false @@ -71,7 +82,11 @@ $scope.vm.form = { issues : [], //�뿰愿� �씪媛� - issuesDown : [] // �븯�쐞 �씪媛� + issuesDown : [], // �븯�쐞 �씪媛� + issuesDownStatus : [], //�븯�쐞 �씠�뒋 �긽�깭 + issueCompanyVos : [], + issueIspVos : [], + issueHostingVos : [] }; @@ -85,6 +100,7 @@ $scope.vm.issueName = ""; // �꽑�깮�맂 �뿰愿� �씪媛� �씠由� $scope.vm.issueId = ""; // + $scope.vm.issueTypeId = ""; $scope.vm.autoCompletePage = { issue : { page : 0, @@ -96,7 +112,7 @@ $scope.vm.relTableConfigs = []; // �뀒�씠釉� �씠踰ㅽ듃 $scope.relTableEvent = { - removeRelationIssue : removeRelationIssue, // �뿰愿� �씪媛� �궘�젣 + //removeRelationIssue : removeRelationIssue, // �뿰愿� �씪媛� �궘�젣 changeDetailView : changeDetailView }; @@ -104,24 +120,76 @@ $scope.vm.downTableConfigs = []; // �뀒�씠釉� �씠踰ㅽ듃 $scope.downTableEvent = { - removeDownIssue : removeDownIssue, // �뿰愿� �씪媛� �궘�젣 + //removeDownIssue : removeDownIssue, // �뿰愿� �씪媛� �궘�젣 changeDetailView : changeDetailView }; function changeDetailView(issue) { // �씠�뒋 踰덊샇瑜� ���옣�븳 �썑 �씠�뒋 紐⑸줉�쑝濡� �씠�룞�븳�떎. - // $rootScope.$broadcast("makeIssueSearch", issue); + //$rootScope.$broadcast("makeIssueSearch",issue); $scope.$parent.tableEvent.changeDetailView(issue.id); + + $scope.fn.onActivate(); + } + + // �긽�쐞 �씠�뒋 �겢由��떆 �긽�쐞 �씠�뒋濡� �씠�룞 + function issueBack() { + var index = $scope.$parent.vm.issueIds.length -2; + if (index > -1) { + var preIssueId = $scope.$parent.vm.issueIds[index]; + $scope.$parent.vm.issueIds.splice(index + 1, 1); + $scope.$parent.tableEvent.changeDetailView(preIssueId, true); + } + } + + function onActivate() { + window.scroll(0,240); } angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); + // �씠�뒋 紐⑸줉 �뜲�씠�꽣 媛깆떊 + $scope.$on("getIssueList", function () { + $scope.fn.getIssueDetail(); + }); + // �븯�쐞 �씠�뒋 �궘�젣 - function removeDownIssue(id) { + function removeDownIssue() { + var removeIds = []; + var removePermission = true; + + angular.forEach($scope.vm.viewer.issueDownVos, function (data) { + if (data.checked && data.modifyPermissionCheck) { + removeIds.push(data.id); + } + + if (data.checked && !data.modifyPermissionCheck) { + removePermission = false; + } + }); + + if (!removePermission) { + SweetAlert.swal({ + html : true, + title : $filter("translate")("common.deleteFailed"), // �궘�젣 �떎�뙣 + text : $filter("translate")("project.notHaveDeletePermissionExistsProject"), // "�궘�젣 沅뚰븳�씠 �뾾�뒗 �봽濡쒖젥�듃媛� 議댁옱�빀�땲�떎." + type : "error" + }); + return; + } + + if (removeIds.length < 1) { + SweetAlert.swal({ + title : $filter("translate")("common.checkPurgingTargets"), // �궘�젣 ���긽 �솗�씤 + text : $filter("translate")("common.selectDestinationDeletion"), // �궘�젣 ���긽�쓣 �꽑�깮�븯�꽭�슂. + type : "warning" + }); + return; + } // �궘�젣 �븣由� SweetAlert.swal({ title : $filter("translate")("issue.downIssueRemove"), // �븯�쐞 �씠�뒋 �궘�젣 - text : $filter("translate")("issue.wantToDeleteSelectIssue"), + text : $filter("translate")("issue.wantToDeleteSelectDownIssueInList"), type : "warning", showCancelButton : true, confirmButtonColor : "#DD6B55", @@ -137,7 +205,7 @@ $rootScope.spinner = true; var contents = { - id : id + ids : removeIds }; Issue.modifyParentIssue($resourceProvider.getContent( @@ -159,7 +227,38 @@ } // �뿰愿� �씠�뒋 �궘�젣 - function removeRelationIssue(id) { + function removeRelationIssue() { + var removeIds = []; + var removePermission = true; + + angular.forEach($scope.vm.viewer.issueRelationVos, function (data) { + if (data.checked && data.modifyPermissionCheck) { + removeIds.push(data.id); + } + + if (data.checked && !data.modifyPermissionCheck) { + removePermission = false; + } + }); + + if (!removePermission) { + SweetAlert.swal({ + html : true, + title : $filter("translate")("common.deleteFailed"), // �궘�젣 �떎�뙣 + text : $filter("translate")("issue.notHaveDeletePermissionExistsAnIssue"), // �궘�젣 沅뚰븳�씠 �뾾�뒗 �씠�뒋媛� 議댁옱�빀�땲�떎. + type : "error" + }); + return; + } + + if (removeIds.length < 1) { + SweetAlert.swal({ + title : $filter("translate")("common.checkPurgingTargets"), // �궘�젣 ���긽 �솗�씤 + text : $filter("translate")("common.selectDestinationDeletion"), // �궘�젣 ���긽�쓣 �꽑�깮�븯�꽭�슂. + type : "warning" + }); + return; + } // �궘�젣 �븣由� SweetAlert.swal({ title : $filter("translate")("issue.relationIssueRemove"), // �뿰愿� �씠�뒋 �궘�젣 @@ -179,7 +278,7 @@ $rootScope.spinner = true; var contents = { - id : id + removeIds : removeIds }; IssueRelation.delete($resourceProvider.getContent( @@ -205,49 +304,52 @@ $scope.vm.autoCompletePage.issue.totalPage = result.data.page.totalPage; } + function getDownIssueListCallBack(result) { + $scope.vm.autoCompletePageDown.issue.totalPage = result.data.page.totalPage; + } + // �뀒�씠釉붿쓽 �뿰愿� �씠�뒋 而щ읆�쓣 留뚮뱾�뼱以��떎. function setRelTableColumn(Rel_issueTableConfig) { // �뿰愿� �씠�뒋 而щ읆 switch(Rel_issueTableConfig.key) { - - // �뿰愿� �씠�뒋 援щ텇 - case "RELATION_ISSUE_TYPE" : + case "RELATION_ISSUE_TYPE" : // �뿰愿� �씠�뒋 援щ텇 $scope.vm.relTableConfigs.push($tableProvider.config() .setHName("issue.relationIssueType") .setDType("renderer") - .setHWidth("width-30 bold") - .setHSort(false) + .setDAlign("text-center") + .setHWidth("bold " + Rel_issueTableConfig.width) .setDRenderer("ISSUE_RELATION_TYPE")) + /*.setHWidth("width-30 bold")*/ + /*.setHSort(false)*/ break; - // �뿰愿� �씠�뒋 �젣紐� - case "RELATION_ISSUE_TITLE" : + case "RELATION_ISSUE_TITLE" : // �뿰愿� �씠�뒋 �젣紐� $scope.vm.relTableConfigs.push($tableProvider.config() .setHName("issue.relationIssueTitle") .setDType("renderer") - .setHWidth("width-60 bold") - .setHSort(false) + .setDAlign("text-center") + .setHWidth("bold " + Rel_issueTableConfig.width) .setDRenderer("ISSUE_RELATION_MOVE")) + /*.setHWidth("width-60 bold")*/ + /*.setHSort(true)*/ break; - case "PRIORITY" : // �뿰愿� �씠�뒋 �슦�꽑�닚�쐞 + case "RELATION_PRIORITY" : // �뿰愿� �씠�뒋 �슦�꽑�닚�쐞 $scope.vm.relTableConfigs.push($tableProvider.config() .setHName("common.priority") - .setDName("priorityName") .setDType("renderer") .setHWidth("bold " + Rel_issueTableConfig.width) .setDAlign("text-center") .setDRenderer("REL_COMMON_PRIORITY")); break; - case "SEVERITY" : // �뿰愿� �씠�뒋 以묒슂�룄 + case "RELATION_SEVERITY" : // �뿰愿� �씠�뒋 以묒슂�룄 $scope.vm.relTableConfigs.push($tableProvider.config() .setHName("common.importance") - .setDName("severityName") .setDType("renderer") .setHWidth("bold " + Rel_issueTableConfig.width) .setDAlign("text-center") .setDRenderer("REL_COMMON_SEVERITY")); break; - case "ASSIGNEE_TEAM" : // �뿰愿� �씠�뒋 �떞�떦遺��꽌 + case "RELATION_ASSIGNEE_TEAM" : // �뿰愿� �씠�뒋 �떞�떦遺��꽌 $scope.vm.relTableConfigs.push($tableProvider.config() .setHName("common.assigneeTeam") .setDType("renderer") @@ -256,7 +358,7 @@ .setDRenderer("REL_ISSUE_DEPARTMENT")); break; - case "REGISTER" : // �뿰愿� �씠�뒋 �벑濡앹옄 + case "RELATION_REGISTER" : // �뿰愿� �씠�뒋 �벑濡앹옄 $scope.vm.relTableConfigs.push($tableProvider.config() .setHName("common.register") .setDType("renderer") @@ -264,7 +366,7 @@ .setDAlign("text-center") .setDRenderer("REL_REGISTER")); break; - case "PERIOD" : // �뿰愿� �씠�뒋 湲곌컙 + case "RELATION_PERIOD" : // �뿰愿� �씠�뒋 湲곌컙 $scope.vm.relTableConfigs.push($tableProvider.config() .setHName("common.period") .setDType("renderer") @@ -272,21 +374,12 @@ .setDAlign("text-center") .setDRenderer("REL_ISSUE_DUE_DATE")); break; - case "MODIFY_DATE" : // �뿰愿� �씠�뒋 理쒓렐 蹂�寃쎌씪 + case "RELATION_MODIFY_DATE" : // �뿰愿� �씠�뒋 理쒓렐 蹂�寃쎌씪 $scope.vm.relTableConfigs.push($tableProvider.config() .setHName("common.lastChangeDate") .setHWidth("bold " + Rel_issueTableConfig.width) - .setDAlign("text-center") - .setDName("modifyDate")); + .setDAlign("text-center")); break; - // default :"ISSUE_RELATION_DELETE" // �뿰愿� �궘�젣 - // $scope.vm.relTableConfigs.push($tableProvider.config() - // .setHName("issue.downIssueTitle") - // .setDType("renderer") - // .setHWidth("bold" + issueTableConfig.width) - // .setHSort(false) - // .setDRenderer("ISSUE_RELATION_DELETE")); - // break; } // �궗�슜�옄 �젙�쓽 �븘�뱶 而щ읆 @@ -316,8 +409,7 @@ // �븯�쐞 �씠�뒋 而щ읆 switch(Down_issueTableConfig.key) { - // �븯�쐞 �씠�뒋 �젣紐� - case "DOWN_ISSUE_TITLE" : + case "DOWN_ISSUE_TITLE" : // �븯�쐞 �씠�뒋 �젣紐� $scope.vm.downTableConfigs.push($tableProvider.config() .setHName("issue.downIssueTitle") .setDType("renderer") @@ -325,25 +417,33 @@ .setDAlign("text-center") .setDRenderer("ISSUE_DOWN_MOVE")); break; - case "PRIORITY" : // �븯�쐞 �씠�뒋 �슦�꽑�닚�쐞 + + case "ISSUE_DOWN_STATUS_TYPE" : // �씠�뒋 �긽�깭 + $scope.vm.downTableConfigs.push($tableProvider.config() + .setHName("issue.issueStatus") + .setDType("renderer") + .setHWidth("bold " + Down_issueTableConfig.width) + .setDAlign("text-center") + .setDRenderer("ISSUE_DOWN_STATUS_TYPE")); + break; + + case "DOWN_PRIORITY" : // �븯�쐞 �씠�뒋 �슦�꽑�닚�쐞 $scope.vm.downTableConfigs.push($tableProvider.config() .setHName("common.priority") - .setDName("priorityName") .setDType("renderer") .setHWidth("bold " + Down_issueTableConfig.width) .setDAlign("text-center") .setDRenderer("DOWN_COMMON_PRIORITY")); break; - case "SEVERITY" : // 以묒슂�룄 + case "DOWN_SEVERITY" : // 以묒슂�룄 $scope.vm.downTableConfigs.push($tableProvider.config() .setHName("common.importance") - .setDName("severityName") .setDType("renderer") .setHWidth("bold " + Down_issueTableConfig.width) .setDAlign("text-center") .setDRenderer("DOWN_COMMON_SEVERITY")); break; - case "ASSIGNEE_TEAM" : // �떞�떦遺��꽌 + case "DOWN_ASSIGNEE_TEAM" : // �떞�떦遺��꽌 $scope.vm.downTableConfigs.push($tableProvider.config() .setHName("common.assigneeTeam") .setDType("renderer") @@ -351,7 +451,7 @@ .setDAlign("text-center") .setDRenderer("DOWN_ISSUE_DEPARTMENT")); break; - case "REGISTER" : // �벑濡앹옄 + case "DOWN_REGISTER" : // �벑濡앹옄 $scope.vm.downTableConfigs.push($tableProvider.config() .setHName("common.register") .setDType("renderer") @@ -359,7 +459,7 @@ .setDAlign("text-center") .setDRenderer("DOWN_REGISTER")); break; - case "PERIOD" : // 湲곌컙 + case "DOWN_PERIOD" : // 湲곌컙 $scope.vm.downTableConfigs.push($tableProvider.config() .setHName("common.period") .setDType("renderer") @@ -367,12 +467,11 @@ .setDAlign("text-center") .setDRenderer("DOWN_ISSUE_DUE_DATE")); break; - case "MODIFY_DATE" : // 理쒓렐 蹂�寃쎌씪 + case "DOWN_MODIFY_DATE" : // 理쒓렐 蹂�寃쎌씪 $scope.vm.downTableConfigs.push($tableProvider.config() .setHName("common.lastChangeDate") .setHWidth("bold " + Down_issueTableConfig.width) - .setDAlign("text-center") - .setDName("modifyDate")); + .setDAlign("text-center")); break; } @@ -401,10 +500,14 @@ function makeRelTableConfigs() { $scope.vm.relTableConfigs = []; $scope.vm.relTableConfigs.push($tableProvider.config() + .setDType("checkbox") + .setHWidth("width-20-p") + .setDAlign("text-center")) + $scope.vm.relTableConfigs.push($tableProvider.config() .setHName("issue.relationIssueType") .setDType("renderer") .setDAlign("text-center") - .setHWidth("width-30-p bold") + .setHWidth("width-60-p bold") .setHSort(false) .setDRenderer("ISSUE_RELATION_TYPE")) $scope.vm.relTableConfigs.push($tableProvider.config() @@ -414,15 +517,16 @@ .setHWidth("width-60-p bold") .setHSort(false) .setDRenderer("ISSUE_RELATION_MOVE")) - $scope.vm.relTableConfigs.push($tableProvider.config() - .setHName("issue.relationIssueDelete") - .setDType("renderer") - .setDAlign("text-center") - .setHWidth("width-20-p bold") - .setDRenderer("ISSUE_RELATION_DELETE") - .setHSort(false) - .setDAlign("text-center")) - + /*if($scope.vm.viewer.modifyPermissionCheck) { + $scope.vm.relTableConfigs.push($tableProvider.config() + .setHName("issue.relationIssueDelete") + .setDType("renderer") + .setDAlign("text-center") + .setHWidth("width-40-p bold") + .setDRenderer("ISSUE_RELATION_DELETE") + .setHSort(false) + .setDAlign("text-center")) + }*/ angular.forEach($scope.vm.relTableConfigs, function (Rel_issueTableConfig) { // �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎. if (Rel_issueTableConfig.display) { @@ -436,20 +540,26 @@ function makeDownTableConfigs() { $scope.vm.downTableConfigs = []; $scope.vm.downTableConfigs.push($tableProvider.config() + .setDType("checkbox") + .setHWidth("width-20-p") + .setDAlign("text-center")) + $scope.vm.downTableConfigs.push($tableProvider.config() .setHName("issue.downIssueTitle") .setDType("renderer") .setDAlign("text-center") .setHWidth("width-60-p bold") .setHSort(false) .setDRenderer("ISSUE_DOWN_MOVE")) - $scope.vm.downTableConfigs.push($tableProvider.config() - .setHName("issue.relationIssueDelete") - .setDType("renderer") - .setDAlign("text-center") - .setHWidth("width-20-p bold") - .setDRenderer("ISSUE_DOWN_DELETE") - .setHSort(false) - .setDAlign("text-center")) + /*if($scope.vm.viewer.modifyPermissionCheck){ + $scope.vm.downTableConfigs.push($tableProvider.config() + .setHName("issue.relationIssueDelete") + .setDType("renderer") + .setDAlign("text-center") + .setHWidth("width-40-p bold") + .setDRenderer("ISSUE_DOWN_DELETE") + .setHSort(false) + .setDAlign("text-center")) + }*/ angular.forEach($scope.vm.downTableConfigs, function (Down_issueTableConfig) { // �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎. @@ -460,129 +570,111 @@ }); } - // �뿰愿� �씠�뒋 �긽�꽭 議고쉶 - function getRelTableConfigs() { - var content = { - issueId : $scope.vm.viewer.id, - issueTypeId : $rootScope.getCurrentIssueTypeId() - }; + // �뿰愿� �씠�뒋 �뀒�씠釉� �꽕�젙 + function setRelTableConfigs(issueTableConfigVo) { + if (issueTableConfigVo == null) { + makeRelTableConfigs(); + return; + } + var issueTableConfigs = issueTableConfigVo.issueTableConfigs; - IssueTableConfig.relationDetail($resourceProvider.getContent( - content, - $resourceProvider.getPageContent(0, 0))).then(function (result) { + // �뿰愿� �뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 媛믪쓣 媛��졇���꽌 �쟻�슜�븳�떎. + if ($rootScope.isDefined(issueTableConfigs)) { + // �씠�뒋 �뀒�씠釉� �꽕�젙 �젙蹂대�� ���옣 �븳�떎. - if (result.data.message.status === "success") { - var issueTableConfigs = result.data.data; + $scope.vm.issueRelTableConfigs = []; + $scope.vm.issueRelTableConfigs = JSON.parse(issueTableConfigs); + $scope.vm.issueRelTableConfigs.sort(function (a, b) { + return a.position < b.position ? -1 : a.position > b.position ? 1 : 0; + }); - // �뿰愿� �뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 媛믪쓣 媛��졇���꽌 �쟻�슜�븳�떎. - if ($rootScope.isDefined(issueTableConfigs)) { - // �씠�뒋 �뀒�씠釉� �꽕�젙 �젙蹂대�� ���옣 �븳�떎. + $scope.vm.relTableConfigs = []; + /* $scope.vm.relTableConfigs.push($tableProvider.config() + .setHName("issue.relationIssueType") + .setDType("renderer") + .setDAlign("text-center") + .setHWidth("width-30-p bold") + .setHSort(false) + .setDRenderer("ISSUE_RELATION_TYPE")) + $scope.vm.relTableConfigs.push($tableProvider.config() + .setHName("issue.relationIssueTitle") + .setDType("renderer") + .setDAlign("text-center") + .setHWidth("width-60-p bold") + .setHSort(false) + .setDRenderer("ISSUE_RELATION_MOVE"))*/ + $scope.vm.relTableConfigs.push($tableProvider.config() + .setDType("checkbox") + .setHWidth("width-20-p") + .setDAlign("text-center")) + angular.forEach($scope.vm.issueRelTableConfigs, function (Rel_issueTableConfig) { + // �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎. + if (Rel_issueTableConfig.display) { + // �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎. + $scope.fn.setRelTableColumn(Rel_issueTableConfig); - $scope.vm.issueRelTableConfigs = []; - $scope.vm.issueRelTableConfigs = JSON.parse(issueTableConfigs); - $scope.vm.issueRelTableConfigs.sort(function (a, b) { - return a.position < b.position ? -1 : a.position > b.position ? 1 : 0; - }); - - $scope.vm.relTableConfigs = []; - $scope.vm.relTableConfigs.push($tableProvider.config() - .setHName("issue.relationIssueType") - .setDType("renderer") - .setDAlign("text-center") - .setHWidth("width-30-p bold") - .setHSort(false) - .setDRenderer("ISSUE_RELATION_TYPE")) - $scope.vm.relTableConfigs.push($tableProvider.config() - .setHName("issue.relationIssueTitle") - .setDType("renderer") - .setDAlign("text-center") - .setHWidth("width-60-p bold") - .setHSort(false) - .setDRenderer("ISSUE_RELATION_MOVE")) - angular.forEach($scope.vm.issueRelTableConfigs, function (Rel_issueTableConfig) { - // �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎. - if (Rel_issueTableConfig.display) { - // �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎. - $scope.fn.setRelTableColumn(Rel_issueTableConfig); - - } - }); - $scope.vm.relTableConfigs.push($tableProvider.config() - .setHName("issue.relationIssueDelete") - .setDType("renderer") - .setHWidth("width-20-p bold") - .setDRenderer("ISSUE_RELATION_DELETE") - .setHSort(false) - .setDAlign("text-center")) - - } else { - makeRelTableConfigs(); } + }); + /*if($scope.vm.viewer.modifyPermissionCheck) { + $scope.vm.relTableConfigs.push($tableProvider.config() + .setHName("issue.relationIssueDelete") + .setDType("renderer") + .setHWidth("width-40-p bold") + .setDRenderer("ISSUE_RELATION_DELETE") + .setHSort(false) + .setDAlign("text-center")) + }*/ + } else { + makeRelTableConfigs(); + } - } else { - SweetAlert.swal($filter("translate")("issue.errorRemovableIssueStatusList"), result.data.message.message, "error"); // "�씠�룞 媛��뒫�븳 �씠�뒋 �긽�깭 紐⑸줉 議고쉶 �삤瑜�" - } - }); } - // �븯�쐞 �씠�뒋 �긽�꽭 議고쉶 - function getDownTableConfigs() { - var content = { - issueId : $scope.vm.viewer.id, - issueTypeId : $rootScope.getCurrentIssueTypeId() - }; + // �븯�쐞 �씠�뒋 �긽�꽭 議고쉶 寃곌낵 �꽕�젙 + function setDownTableConfigs(issueTableConfigVo) { + if (issueTableConfigVo == null) return; + var issueTableConfigs = issueTableConfigVo.issueTableConfigs; - IssueTableConfig.downDetail($resourceProvider.getContent( - content, - $resourceProvider.getPageContent(0, 0))).then(function (result) { - - if (result.data.message.status === "success") { - var issueTableConfigs = result.data.data; - - // �뿰愿� �뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 媛믪쓣 媛��졇���꽌 �쟻�슜�븳�떎. - if ($rootScope.isDefined(issueTableConfigs)) { - // �씠�뒋 �뀒�씠釉� �꽕�젙 �젙蹂대�� ���옣 �븳�떎. - $scope.vm.issueDownTableConfigs = []; - $scope.vm.issueDownTableConfigs = JSON.parse(issueTableConfigs); - $scope.vm.issueDownTableConfigs.sort(function (a, b) { - return a.position < b.position ? -1 : a.position > b.position ? 1 : 0; - }); - $scope.vm.downTableConfigs = []; - $scope.vm.downTableConfigs.push($tableProvider.config() - .setHName("issue.downIssueTitle") - .setDType("renderer") - .setDAlign("text-center") - .setHWidth("width-60-p bold") - .setHSort(false) - .setDRenderer("ISSUE_DOWN_MOVE")) - angular.forEach($scope.vm.issueDownTableConfigs, function (Down_issueTableConfig) { - // �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎. - if (Down_issueTableConfig.display) { - // �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎. - $scope.fn.setDownTableColumn(Down_issueTableConfig); - } - }); - $scope.vm.downTableConfigs.push($tableProvider.config() - .setHName("issue.relationIssueDelete") - .setDType("renderer") - .setHWidth("width-20-p bold") - .setDRenderer("ISSUE_DOWN_DELETE") - .setHSort(false) - .setDAlign("text-center")) - - } else { - makeDownTableConfigs(); + // �뿰愿� �뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 媛믪쓣 媛��졇���꽌 �쟻�슜�븳�떎. + if ($rootScope.isDefined(issueTableConfigs)) { + // �씠�뒋 �뀒�씠釉� �꽕�젙 �젙蹂대�� ���옣 �븳�떎. + $scope.vm.issueDownTableConfigs = []; + $scope.vm.issueDownTableConfigs = JSON.parse(issueTableConfigs); + $scope.vm.issueDownTableConfigs.sort(function (a, b) { + return a.position < b.position ? -1 : a.position > b.position ? 1 : 0; + }); + $scope.vm.downTableConfigs = []; +/* $scope.vm.downTableConfigs.push($tableProvider.config() + .setHName("issue.downIssueTitle") + .setDType("renderer") + .setDAlign("text-center") + .setHWidth("width-60-p bold") + .setHSort(false) + .setDRenderer("ISSUE_DOWN_MOVE"))*/ + $scope.vm.downTableConfigs.push($tableProvider.config() + .setDType("checkbox") + .setHWidth("width-20-p") + .setDAlign("text-center")) + angular.forEach($scope.vm.issueDownTableConfigs, function (Down_issueTableConfig) { + // �몴�떆 ���긽�씤 而щ읆留� �솕硫댁뿉 洹몃젮以��떎. + if (Down_issueTableConfig.display) { + // �뀒�씠釉붿쓽 而щ읆�쓣 留뚮뱾�뼱以��떎. + $scope.fn.setDownTableColumn(Down_issueTableConfig); } - - } - else { - SweetAlert.swal($filter("translate")("issue.errorRemovableIssueStatusList"), result.data.message.message, "error"); // "�씠�룞 媛��뒫�븳 �씠�뒋 �긽�깭 紐⑸줉 議고쉶 �삤瑜�" - } - }); + }); + /*if($scope.vm.viewer.modifyPermissionCheck) { + $scope.vm.downTableConfigs.push($tableProvider.config() + .setHName("issue.relationIssueDelete") + .setDType("renderer") + .setHWidth("width-40-p bold") + .setDRenderer("ISSUE_DOWN_DELETE") + .setHSort(false) + .setDAlign("text-center")) + }*/ + } else { + makeDownTableConfigs(); + } } - - - // �뿰愿� �씠�뒋 異붽� function addRelationIssue() { @@ -620,9 +712,14 @@ return; } + var ids = []; + if ($scope.vm.form.issuesDown[0].id != null) { + ids.push($scope.vm.form.issuesDown[0].id); + } + var contents = { issueId : $rootScope.currentDetailIssueId, - id : $scope.vm.form.issuesDown[0].id, + ids : ids, parentIssueId : $rootScope.currentDetailIssueId }; @@ -639,26 +736,45 @@ }); } + // �씠�뒋紐낆쓣 �겢由��븯硫� �씠�뒋 �긽�꽭 �젙蹂대�� 議고쉶�븳�떎. + // $rootScope.$on("getIssueDetail", function (event, args) { + // $scope.vm.viewer.id = args["id"]; + // $scope.fn.getIssueDetail(); + // }); + // �씠�뒋紐낆쓣 �겢由��븯硫� �씠�뒋 �긽�꽭 �젙蹂대�� 議고쉶�븳�떎. - $rootScope.$on("getIssueDetail", function (event, args) { - $scope.vm.viewer.id = args["id"]; + // $scope.$on("getIssueDetail", function (event, args) { + // $scope.vm.viewer.id = args["id"]; + // $scope.fn.getIssueDetail(); + // }); + + // �씠硫붿씪 蹂대궦�썑 �긽�꽭�솕硫� 媛깆떊 + // $rootScope.$on("getIssueDetail", function (event, args) { + // $scope.fn.getIssueDetail(); + // }); + + $scope.$on("getIssueDetail", function (event, args) { $scope.fn.getIssueDetail(); }); - // �씠�뒋紐낆쓣 �겢由��븯硫� �씠�뒋 �긽�꽭 �젙蹂대�� 議고쉶�븳�떎. - $scope.$on("getIssueDetail", function (event, args) { - $scope.vm.viewer.id = args["id"]; - $scope.fn.getIssueDetail(); - }); + $scope.$watch(function() { + return $rootScope.currentDetailIssueId; + }, function() { + if ($rootScope.currentDetailIssueId != null) { + $scope.vm.viewer.id = $rootScope.currentDetailIssueId; + $scope.fn.getIssueDetail(); + } + }, true); // 珥덇린�솕 �빐�빞�븷 �븷紐⑹쓣 吏��젙�븯�뿬 �떎瑜� �씠�뒋瑜� �겢由��븷 �븣 珥덇린�솕�빐以��떎. function initReload() { $scope.vm.editor.issueStatus = false; $scope.vm.issueForm.issueStatusList = []; $scope.vm.issueForm.issueStatusId = ""; - /*if ($scope.$root.$$phase !== '$apply' && $scope.$root.$$phase !== '$digest') { - $scope.$apply(); - }*/ + $scope.vm.issueTypeId = $rootScope.getCurrentIssueTypeId(); + // if ($scope.$root.$$phase !== '$apply' && $scope.$root.$$phase !== '$digest') { + // $scope.$apply(); + // } } // �씠�뒋 �긽�깭 蹂�寃� @@ -672,6 +788,41 @@ parameter : function () { return { issueIds : [$scope.vm.viewer.id], + projectId : $scope.vm.viewer.projectVo.id, + downIssuesStatus : $scope.vm.form.issuesDownStatus + }; + } + } + }); + } + + function modifyDownIssueStatus() { + var issueIds = []; + + angular.forEach($scope.vm.viewer.issueDownVos, function (data) { + if (data.checked) { + issueIds.push(data.id); + //$scope.vm.projectId = data.projectId; + } + }); + + if (issueIds.length < 1) { + SweetAlert.warning($filter("translate")("issue.selectionCheck"), $filter("translate")("issue.selectIssueToChangeStatus")); // �꽑�깮 ���긽 �솗�씤, �긽�깭 蹂�寃쏀븷 �씠�뒋瑜� �꽑�깮�븯�꽭�슂. + return; + } + + $uibModal.open({ + templateUrl : 'views/issue/downIssueModifyStatus.html', + size : "md", + controller : 'downIssueModifyStatusController', + backdrop : 'static', + resolve : { + parameter : function () { + return { + issueTypeId : $scope.vm.viewer.issueTypeVo.id, + issueIds : [$scope.vm.viewer.id], + //downIssues : $scope.vm.viewer.issueDownVos, + downIssues : issueIds, projectId : $scope.vm.viewer.projectVo.id }; } @@ -709,10 +860,11 @@ resolve : { parameter : function () { return { - departmentVos : [$scope.vm.form.issues[0].departmentVos], - id : [$scope.vm.form.issues[0].id], - projectId : [$scope.vm.form.issues[0].projectVo.id], - project : [$scope.vm.form.issues[0].projectVo] + departmentVos : $scope.vm.form.issues[0].departmentVos, + id : $scope.vm.form.issues[0].id, + projectId : $scope.vm.form.issues[0].projectVo.id, + project : $scope.vm.form.issues[0].projectVo, + issueTypeId : $scope.vm.form.issues[0].issueTypeVo.id }; } } @@ -737,6 +889,7 @@ }); } + // �븯�쐞 �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 function addDownIssueTableConfig() { $uibModal.open({ @@ -749,6 +902,7 @@ return { issueTypeId : $scope.vm.viewer.issueTypeVo.id }; + } } }); @@ -799,18 +953,18 @@ // �씠�뒋 �긽�꽭 �젙蹂� 議고쉶 function getIssueDetail() { + $rootScope.spinner = true; // 珥덇린�솕 �빐�빞�븷 �븷紐⑹쓣 吏��젙�븯�뿬 �떎瑜� �씠�뒋瑜� �겢由��븷 �븣 珥덇린�솕�빐以��떎. $scope.fn.initReload(); - - $scope.fn.getRelTableConfigs(); - $scope.fn.getDownTableConfigs(); - - Issue.detail($resourceProvider.getContent( + // $scope.fn.getRelTableConfigs(); + // $scope.fn.getDownTableConfigs(); + Issue.detail($resourceProvider.getContent( {id : $scope.vm.viewer.id, deep : "02"}, $resourceProvider.getPageContent(0, 1))).then(function (result) { if (result.data.message.status === "success") { if (angular.isDefined(result.data.data)) { + $scope.vm.viewer = angular.copy(result.data.data); // �씠�뒋 �씠誘몄� 誘몃━ 蹂닿린 留뚮뱾湲� $scope.fn.makePreviewImages(result.data.data.attachedFileVos); @@ -830,30 +984,49 @@ $scope.vm.form.issues = []; $scope.vm.form.issues.push(result.data.data); $scope.vm.form.issuesDown = []; + $scope.vm.form.issuesDownStatus = [];// �븯�쐞�씠�뒋 �긽�깭 $scope.vm.form.issuesDown.push(result.data.data); + var issueTableConfigVos = result.data.data.issueTableConfigVos; + $scope.fn.setRelTableConfigs(issueTableConfigVos[0]); + $scope.fn.setDownTableConfigs(issueTableConfigVos[1]); + // �뿰愿� �씠�뒋 諛섎났臾� - angular.forEach(result.data.data.issueRelationVos, function (issueRelationVo){ - issueRelationVo.relationIssueTypeName = $scope.vm.relationIssueTypes[issueRelationVo.relationIssueType].name; - $scope.vm.form.issues.push(issueRelationVo.issueRelation); - }); + if (result.data.data.issueRelationVos !== null) { + angular.forEach(result.data.data.issueRelationVos, function (issueRelationVo){ + issueRelationVo.relationIssueTypeName = $scope.vm.relationIssueTypes[issueRelationVo.relationIssueType].name; + $scope.vm.form.issues.push(issueRelationVo.issueRelation); + }); + result.data.data.issueRelationVos.sort(function (a, b) { //理쒓렐蹂�寃쎌씪 �궡由쇱감�닚 + return a.modifyDate > b.modifyDate ? -1 : a.modifyDate < b.modifyDate ? 1 : 0; + }); + } // �븯�쐞 �씠�뒋 諛섎ぉ臾� - angular.forEach(result.data.data.issueDownVos, function (issueDownVo){ - $scope.vm.form.issuesDown.push(issueDownVo.issue); - }); - + if (result.data.data.issueDownVos !== null){ + angular.forEach(result.data.data.issueDownVos, function (issueDownVo){ + //$scope.vm.form.issuesDown.push(issueDownVo.issueDown); + $scope.vm.form.issuesDown.push(issueDownVo); + $scope.vm.form.issuesDownStatus.push(issueDownVo.issueStatusVo.issueStatusType); + }); + result.data.data.issueDownVos.sort(function (a, b) { //理쒓렐蹂�寃쎌씪 �궡由쇱감�닚 + return a.modifyDate > b.modifyDate ? -1 : a.modifyDate < b.modifyDate ? 1 : 0; + }); + } $scope.vm.viewer.issueRelationVos = result.data.data.issueRelationVos; $scope.vm.viewer.issueDownVos = result.data.data.issueDownVos; + + if ($rootScope.workProject.id > -1 && result.data.data.projectVo !== null) { + $rootScope.changeLastProject(result.data.data.projectVo.id); + } } } else { SweetAlert.swal($filter("translate")("issue.errorIssueDetails"), result.data.message.message, "error"); // �씠�뒋 �긽�꽭 �젙蹂� 議고쉶 �삤瑜� } + $rootScope.spinner = false; }); } - - // =================================================================================== // �씠�뒋 �씠誘몄� 誘몃━ 蹂닿린 留뚮뱾湲� function makePreviewImages(attachedFileVos) { @@ -881,6 +1054,12 @@ switch (issueTypeCustomField.customFieldVo.customFieldType) { case "INPUT" : case "SINGLE_SELECT" : + case "NUMBER" : + case "DATETIME" : + case "IP_ADDRESS" : + case "EMAIL" : + case "SITE" : + case "TEL" : issueTypeCustomField.useValues = ""; break; @@ -923,8 +1102,61 @@ // �솢�룞 �씠�젰 留뚮뱾湲� function makeActiveHistory() { - $scope.vm.viewer.activeHistory = $scope.vm.viewer.issueCommentVos.concat($scope.vm.viewer.issueHistoryVos); - $scope.vm.viewer.activeHistory.sort(function (a, b) { + $scope.vm.viewer.activeParentHistory = ""; + $scope.vm.viewer.activeHistory = ""; + if ($scope.vm.viewer.issueDownVos != null && $scope.vm.viewer.issueDownVos.length > 0) { + $scope.vm.viewer.activeDownHistory = ""; //�븯�쐞�씠�뒋 �엳�뒪�넗由щ쭔 + $scope.vm.viewer.downComment = ""; //�븯�쐞�씠�뒋 �뙎湲�留� + $scope.vm.viewer.activeDownAllHistory = ""; //�븯�쐞�씠�뒋 �엳�뒪�넗由�+�뙎湲� + var downTitle = ""; + var oriDownHistory = []; + var oriDownCommentHistory = []; + + // �븯�쐞�씠�뒋 �엳�뒪�넗由� + for (var i=0; i<$scope.vm.viewer.issueDownVos.length; i++){ + oriDownHistory.push($scope.vm.viewer.issueDownVos[i].issueHistoryVos); + oriDownCommentHistory.push($scope.vm.viewer.issueDownVos[i].issueCommentVos); + } + for (var i=0; i<oriDownHistory.length; i++){ + if ($scope.vm.viewer.activeDownHistory === "") { + $scope.vm.viewer.activeDownHistory = oriDownHistory[i]; + } else { + $scope.vm.viewer.activeDownHistory = $scope.vm.viewer.activeDownHistory.concat(oriDownHistory[i]); + } + } + + for (var i=0; i<$scope.vm.viewer.activeDownHistory.length; i++){ + downTitle = "<div class='dot' style='margin-bottom: -8px'>*�븯�쐞�씠�뒋 : "+$scope.vm.viewer.activeDownHistory[i].title+"</div>"; + $scope.vm.viewer.activeDownHistory[i].desc = downTitle + $scope.vm.viewer.activeDownHistory[i].description; + } + $scope.vm.viewer.activeDownHistory.sort(function (a, b) { //�궡由쇱감�닚 + return a.registerDate > b.registerDate ? -1 : a.registerDate < b.registerDate ? 1 : 0; + }); + + // �븯�쐞�씠�뒋 �뙎湲� �엳�뒪�넗由� + for (var i=0; i<oriDownCommentHistory.length; i++) { + if ($scope.vm.viewer.downComment === "") { + $scope.vm.viewer.downComment = oriDownCommentHistory[i]; + } else { + $scope.vm.viewer.downComment = $scope.vm.viewer.downComment.concat(oriDownCommentHistory[i]); + } + } + $scope.vm.viewer.issueDownVos.sort(function (a, b) { //�궡由쇱감�닚 + return a.registerDate > b.registerDate ? -1 : a.registerDate < b.registerDate ? 1 : 0; + }); + + $scope.vm.viewer.activeDownAllHistory = $scope.vm.viewer.downComment.concat($scope.vm.viewer.activeDownHistory); + $scope.vm.viewer.activeParentHistory = $scope.vm.viewer.issueCommentVos.concat($scope.vm.viewer.issueHistoryVos); + $scope.vm.viewer.activeHistory = $scope.vm.viewer.activeParentHistory.concat($scope.vm.viewer.activeDownAllHistory); + + }else { + $scope.vm.viewer.activeParentHistory = $scope.vm.viewer.issueCommentVos.concat($scope.vm.viewer.issueHistoryVos); + $scope.vm.viewer.activeHistory = $scope.vm.viewer.issueCommentVos.concat($scope.vm.viewer.issueHistoryVos); + } + $scope.vm.viewer.activeParentHistory.sort(function (a, b) { //�궡由쇱감�닚 + return a.registerDate > b.registerDate ? -1 : a.registerDate < b.registerDate ? 1 : 0; + }); + $scope.vm.viewer.activeHistory.sort(function (a, b) { //�궡由쇱감�닚 return a.registerDate > b.registerDate ? -1 : a.registerDate < b.registerDate ? 1 : 0; }); } @@ -978,7 +1210,6 @@ $timeout(function () { SweetAlert.success($filter("translate")("common.deleteSucceeded"), result.data.message.message); // �궘�젣 �꽦怨� }, 100); - $scope.fn.getCommentList(); } else { @@ -1001,6 +1232,7 @@ if (result.data.message.status === "success") { $scope.vm.viewer.issueCommentVos = result.data.data; + $scope.fn.updateActiveHistory(); } else { SweetAlert.swal({ @@ -1031,22 +1263,59 @@ }); } + function sendMailVo(partnerVos) { + $scope.fn.sendMail($scope.fn.getParametersAll(), $scope.fn.getParameters(null, partnerVos)); + } + + function sendMailAll() { + var param = $scope.fn.getParametersAll(); + $scope.fn.sendMail(param, param); + } + // �듅�젙 �궗�슜�옄�뿉寃� �씠�뒋瑜� 硫붿씪濡� 諛쒖넚 - function sendMail(issueId, projectId) { + function sendMail(partnersAll, partners) { $uibModal.open({ - templateUrl : 'views/issue/issueSendMail.html', + templateUrl : 'views/issue/issueSendMailPartners.html', size : "md", - controller : 'issueSendMailController', + controller : 'issueSendMailPartnersController', backdrop : 'static', resolve : { - parameter : function () { - return { - issueId : issueId, - projectId : projectId - }; + parameter : { + partnersAll : partnersAll, + partners : partners, + issueId : $scope.vm.viewer.id, + projectId : $scope.vm.viewer.projectVo.id, } } }); + } + + function getParametersAll() { + var params = $scope.fn.getParameters(null, $scope.vm.viewer.issueCompanyVos); + params = $scope.fn.getParameters(params, $scope.vm.viewer.issueIspVos); + params = $scope.fn.getParameters(params, $scope.vm.viewer.issueHostingVos); + + if (params != null && params.length > 0) { + for (let i = 0; i < params.length; i++) { + params[i].id = i; + } + } + return params; + } + + function getParameters(sourceArr, partnerVos) { + var excludeVos = sourceArr != null ? sourceArr.slice() : []; + + angular.forEach(partnerVos, function (vo) { + var account = { + account : vo.email + } + Object.assign(vo, account) + + excludeVos.push(vo); + }); + + return excludeVos; } // 蹂�寃� �젙蹂대�� �솗�씤�븳�떎. @@ -1082,7 +1351,6 @@ } }); } - } ]); } -- Gitblit v1.8.0