| | |
| | | ], |
| | | function (app) { |
| | | app.controller('issueModifyStatusController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'SweetAlert', '$timeout', '$stateParams', 'parameter', |
| | | 'Issue', 'IssueStatus', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, SweetAlert, $timeout, $stateParams, parameter, Issue, IssueStatus, $filter) { |
| | | 'Issue', 'IssueStatus', '$filter', '$injector', '$controller', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, SweetAlert, $timeout, $stateParams, parameter, Issue, IssueStatus, $filter, $injector, $controller) { |
| | | |
| | | // 함수 모음 |
| | | $scope.fn = { |
| | | cancel: cancel, // 팝업 창 닫기 |
| | | formSubmit: formSubmit, // 폼 전송 |
| | | formCheck: formCheck, // 폼 체크 |
| | | findNextMultiIssueStatus: findNextMultiIssueStatus // 이동 가능한 이슈 상태를 찾는다. |
| | | findNextMultiIssueStatus: findNextMultiIssueStatus, // 이동 가능한 이슈 상태를 찾는다. |
| | | removeDepartment : removeDepartment, // 담당부서 삭제 |
| | | }; |
| | | |
| | | // 변수 모음 |
| | | $scope.vm = { |
| | | issueStatusList: [], // 변경 가능한 상태 목록 |
| | | form: { |
| | | issueStatusId: "", |
| | | departments: [], // 담당 부서 선택 목록 |
| | | issueStatusId: undefined, |
| | | comment: "" |
| | | } |
| | | }, |
| | | departmentName : "" |
| | | }; |
| | | |
| | | angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); |
| | | |
| | | // 담당부서 삭제 |
| | | function removeDepartment(index) { |
| | | $scope.vm.form.departments.splice(index, 1); |
| | | } |
| | | |
| | | $scope.$watch("vm.form.issueStatusId", function (newValue) { |
| | | // 이슈 상태별 담당부서 표시 |
| | | let selectIssueStatusId = $scope.vm.form.issueStatusId; |
| | | let issueStatusList = $scope.vm.issueStatusList; |
| | | $scope.vm.form.departments = []; |
| | | |
| | | if (issueStatusList != null && $scope.vm.issueStatusList.length > 0 && selectIssueStatusId !== "") { |
| | | for (let i = 0; i < issueStatusList.length; i++) { |
| | | if (issueStatusList[i].id.toString() === selectIssueStatusId) { |
| | | let workflowDepartments = issueStatusList[i].workflowDepartmentVos; |
| | | |
| | | workflowDepartments.forEach(function (workflowDepartment) { |
| | | $scope.vm.form.departments.push(workflowDepartment.departmentVo); |
| | | }); |
| | | break; |
| | | } |
| | | } |
| | | $scope.vm.issueStatusList.forEach(function (issueStatus) { |
| | | if (issueStatus.id === $scope.vm.form.issueStatusId) { |
| | | |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | // 이동 가능한 이슈 상태를 찾는다. |
| | | function findNextMultiIssueStatus() { |
| | |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.issueStatusList = result.data.data; |
| | | |
| | | } else { |
| | | SweetAlert.swal($filter("translate")("issue.failedIssueStatusCheck"), result.data.message.message, "error"); // 이동 가능한 이슈 상태 조회 실패 |
| | | } |
| | |
| | | var content = { |
| | | ids: parameter.issueIds, |
| | | issueStatusId: $scope.vm.form.issueStatusId, |
| | | comment: $scope.vm.form.comment |
| | | comment: $scope.vm.form.comment, |
| | | projectId : parameter.projectId, |
| | | departmentIds : (function () { |
| | | var departmentIds = []; |
| | | |
| | | angular.forEach($scope.vm.form.departments, function (department) { |
| | | departmentIds.push(department.id); |
| | | }); |
| | | |
| | | return departmentIds; |
| | | })(), |
| | | }; |
| | | |
| | | Issue.modifyMultiIssueStatus($resourceProvider.getContent(content, |