| | |
| | | $scope.fn.getChangeIssueStatusList = getChangeIssueStatusList; // 이슈의 현재 상태에서 변경 가능한 이슈 샅태 목록 가져오기 |
| | | $scope.fn.modifyIssueStatus = modifyIssueStatus; // 이슈 상태 변경 |
| | | $scope.fn.modifyIssueUser = modifyIssueUser; // 이슈 담당자 변경 |
| | | $scope.fn.modifyIssueDepartment = modifyIssueDepartment; // 이슈 담당부서 변경 |
| | | $scope.fn.initReload = initReload; // 초기화 해야할 할목을 지정하여 다른 이슈를 클릭할 때 초기화해준다. |
| | | $scope.fn.sendMail = sendMail; // 특정 사용자에게 이슈 정보를 메일로 발송 |
| | | $scope.fn.versionView = versionView; // 버전 정보를 표시한다. |
| | | $scope.fn.reservation = reservation; // 예약 정보를 확인 및 변경 한다. |
| | | $scope.fn.getIssueListCallBack = getIssueListCallBack; |
| | | $scope.fn.addRelationIssue = addRelationIssue; // 연관 이슈 추가 |
| | | $scope.fn.addDownIssue = addDownIssue; // 하위 이슈 추가 |
| | | |
| | | |
| | | // 이슈 목록 컨트롤러 vm, fn 상속 중 |
| | |
| | | $scope.vm.relationIssueType = $scope.vm.relationIssueTypes[0]; |
| | | |
| | | $scope.vm.form = { |
| | | issues : [] |
| | | issues : [], //연관 일감 |
| | | issuesDown : [] // 하위 일감 |
| | | }; |
| | | |
| | | $scope.vm.issueName = ""; |
| | | |
| | | $scope.vm.issueNameDown = ""; // 선택된 하위 일감 이름 |
| | | $scope.vm.autoCompletePageDown = { |
| | | issue : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | }, |
| | | }; |
| | | |
| | | $scope.vm.issueName = ""; // 선택된 연관 일감 이름 |
| | | $scope.vm.autoCompletePage = { |
| | | issue : { |
| | | page : 0, |
| | |
| | | changeDetailView : changeDetailView |
| | | }; |
| | | |
| | | $scope.vm.downResponseData = []; |
| | | $scope.vm.downTableConfigs = []; |
| | | // 테이블 이벤트 |
| | | $scope.downTableEvent = { |
| | | removeDownIssue : removeDownIssue, // 연관 일감 삭제 |
| | | changeDetailView : changeDetailView |
| | | }; |
| | | |
| | | function changeDetailView(issue) { |
| | | // 이슈 번호를 저장한 후 이슈 목록으로 이동한다. |
| | | // $rootScope.$broadcast("makeIssueSearch", issue); |
| | | $scope.$parent.tableEvent.changeDetailView(issue.id); |
| | | } |
| | | |
| | | // 하위 일감 삭제 |
| | | function removeDownIssue(id) { |
| | | // 삭제 알림 |
| | | SweetAlert.swal({ |
| | | title : $filter("translate")("issue.downIssueRemove"), // 연관 일감 삭제 |
| | | text : $filter("translate")("issue.wantToDeleteSelectIssue"), |
| | | type : "warning", |
| | | showCancelButton : true, |
| | | confirmButtonColor : "#DD6B55", |
| | | confirmButtonText : $filter("translate")("common.delete"), // 삭제 |
| | | cancelButtonText : $filter("translate")("common.cancel"), // 취소 |
| | | closeOnConfirm : false, |
| | | closeOnCancel : true |
| | | }, |
| | | function (isConfirm) { |
| | | SweetAlert.close(); |
| | | |
| | | if (isConfirm) { |
| | | $rootScope.spinner = true; |
| | | |
| | | var contents = { |
| | | id : id |
| | | }; |
| | | |
| | | Issue.modifyParentIssue($resourceProvider.getContent( |
| | | contents, |
| | | $resourceProvider.getPageContent(0, 10))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.getIssueDetail(); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.failedToIssueDeleteIssueDown"), result.data.message.message); // "연관일감 삭제 실패" |
| | | } |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | |
| | | } |
| | | |
| | | // 연관 일감 삭제 |
| | |
| | | $scope.vm.autoCompletePage.issue.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | // 이슈 테이블 설정 |
| | | // 하위 이슈 테이블 설정 |
| | | function makeTableConfigsDown() { |
| | | $scope.vm.downTableConfigs = []; |
| | | $scope.vm.downTableConfigs.push($tableProvider.config() |
| | | .setHName("issue.downIssueTitle") |
| | | .setDType("renderer") |
| | | .setHWidth("width-60 bold") |
| | | .setHSort(false) |
| | | .setDRenderer("ISSUE_DOWN_MOVE")) |
| | | $scope.vm.downTableConfigs.push($tableProvider.config() |
| | | .setHName("issue.relationIssueDelete") |
| | | .setDType("renderer") |
| | | .setHWidth("width-10 bold") |
| | | .setDRenderer("ISSUE_DOWN_DELETE") |
| | | .setHSort(false) |
| | | .setDAlign("text-center")) |
| | | } |
| | | |
| | | // 연관 이슈 테이블 설정 |
| | | function makeTableConfigs() { |
| | | $scope.vm.relTableConfigs = []; |
| | | $scope.vm.relTableConfigs.push($tableProvider.config() |
| | |
| | | // } |
| | | // }); |
| | | // } |
| | | |
| | | // 하위 이슈 추가 |
| | | function addDownIssue() { |
| | | if ($scope.vm.issueNameDown.length == 0 || $scope.vm.form.issuesDown.length == 0 |
| | | || $scope.vm.issueNameDown != $scope.vm.form.issuesDown[0].title) { |
| | | SweetAlert.error($filter("translate")("issue.errorSelectDownIssue"), ""); |
| | | return; |
| | | } |
| | | |
| | | var contents = { |
| | | id : $scope.vm.form.issuesDown[0].id, |
| | | parentIssueId : $rootScope.currentDetailIssueId |
| | | }; |
| | | |
| | | Issue.modifyParentIssue($resourceProvider.getContent( |
| | | contents, |
| | | $resourceProvider.getPageContent(0, 10))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.getIssueDetail(); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.failedToIssueAddIssueDown"), result.data.message.message); // "연관일감 생성 실패" |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | // 연관 이슈 추가 |
| | |
| | | }); |
| | | } |
| | | |
| | | // 담당부서 변경 |
| | | function modifyIssueDepartment() { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/issue/issueModifyDepartment.html', |
| | | size : "md", |
| | | controller : 'issueModifyDepartmentController', |
| | | backdrop : 'static', |
| | | 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] |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 변경 가능한 이슈 상태 목록을 조회하고 수정 모드로 화면을 변경한다. |
| | | function getChangeIssueStatusList(checkPermission) { |
| | | // 수정 권한이 없으면 이슈 상태 변경 불가 |
| | |
| | | $scope.vm.issueName = ""; |
| | | $scope.vm.form.issues = []; |
| | | $scope.vm.form.issues.push(result.data.data); |
| | | $scope.vm.form.issuesDown = []; |
| | | $scope.vm.form.issuesDown.push(result.data.data); |
| | | |
| | | makeTableConfigs(); |
| | | angular.forEach(result.data.data.issueRelationVos, function (issueRelationVo){ |
| | |
| | | $scope.vm.form.issues.push(issueRelationVo.issueRelation); |
| | | }); |
| | | |
| | | makeTableConfigsDown(); |
| | | angular.forEach(result.data.data.issueDownVos, function (issueDownVo){ |
| | | $scope.vm.form.issuesDown.push(issueDownVo.issue); |
| | | }); |
| | | |
| | | $scope.vm.viewer.issueRelationVos = result.data.data.issueRelationVos; |
| | | $scope.vm.viewer.issueDownVos = result.data.data.issueDownVos; |
| | | } |
| | | } |
| | | else { |