| | |
| | | removeManager : removeManager, // 담당자 삭제 |
| | | removeDepartment : removeDepartment, // 담당부서 삭제 |
| | | setIssueTypeTemplate : setIssueTypeTemplate, // 이슈 유형 템플릿 적용하기 |
| | | startExecute : startExecute // 컨트롤 로딩시 처음으로 시작되는 함수 |
| | | startExecute : startExecute, // 컨트롤 로딩시 처음으로 시작되는 함수 |
| | | containsPartner : containsPartner, |
| | | getPartners : getPartners |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | partnerVos : "", |
| | | form : { |
| | | title : "", // 제목 |
| | | description : "", // 내용 |
| | |
| | | fileTableConfigs : [], // 파일 업로드 정보 테이블 |
| | | }; |
| | | |
| | | // 연관 일감 관련 |
| | | $scope.vm.relationIssueTypes = |
| | | [ |
| | | { id: 0, name: $filter("translate")("issue.relationIssueType1") }, |
| | | { id: 1, name: $filter("translate")("issue.relationIssueType2") }, |
| | | { id: 2, name: $filter("translate")("issue.relationIssueType3") }, |
| | | { id: 3, name: $filter("translate")("issue.relationIssueType4") }, |
| | | { id: 4, name: $filter("translate")("issue.relationIssueType5") }, |
| | | { id: 5, name: $filter("translate")("issue.relationIssueType6") } |
| | | ]; |
| | | $scope.vm.relationIssueType = $scope.vm.relationIssueTypes[0]; |
| | | |
| | | angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); |
| | | |
| | | function getStartProjectListCallback(result){ |
| | |
| | | |
| | | // 프로젝트가 변경되면 담당자 초기화 |
| | | $scope.$watch("vm.form.projects", function (newValue, oldValue) { |
| | | |
| | | |
| | | if (angular.isDefined(newValue)) { |
| | | if (newValue.length < 1) { |
| | | $scope.vm.form.users = []; |
| | | } else { |
| | | // 이슈 유형에 연결된 사용자 정의 필드 가져오기 |
| | | $scope.fn.getIssueTypeCustomFields(); |
| | | } |
| | | |
| | | // 이슈 유형에 연결된 사용자 정의 필드 가져오기 |
| | | $scope.fn.getIssueTypeCustomFields(); |
| | | } |
| | | }); |
| | | |
| | | $scope.$watch("vm.form.issueTypeId", function (newValue, oldValue) { |
| | | $scope.vm.partnerVos = $scope.fn.getPartners(); |
| | | }); |
| | | |
| | | // 섬머노트 이미지 업로드 |
| | |
| | | }); |
| | | } |
| | | |
| | | // 업체/ISP/호스팅 이름이 포함 여부 확인 |
| | | function containsPartner(name) { |
| | | var result = false; |
| | | |
| | | if ($scope.vm.partnerVos != null) { |
| | | $scope.vm.partnerVos.forEach(function (partnerVo) { |
| | | if (name === partnerVo.name) { |
| | | result = true; |
| | | } |
| | | }); |
| | | } |
| | | return result; |
| | | |
| | | } |
| | | |
| | | // 담당자 autocomplete page 업데이트트 |
| | | function getUserListCallBack(result) { |
| | | $scope.vm.autoCompletePage.user.totalPage = result.data.page.totalPage; |
| | |
| | | // 업체정보 결과 값 Event 처리(set) |
| | | $scope.$on("companyFieldEvent", function (event, result) { |
| | | $scope.vm.companyId = result[0].id; |
| | | $scope.vm.companyName = result[0].id; |
| | | $scope.vm.companyName = result[0].name; |
| | | $scope.vm.companyManager = result[0].manager; |
| | | $scope.vm.companyTel = result[0].tel; |
| | | $scope.vm.companyEmail = result[0].email; |
| | |
| | | }, |
| | | fileFormDataName : "file" |
| | | }).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | // 연속 등록 체크시 이동하지 않음. |
| | | if ($scope.vm.infiniteAdd) { |
| | | $scope.fn.infiniteAddForm(); |
| | | } |
| | | else { |
| | | $scope.fn.cancel(); |
| | | |
| | | if ($state.current.name !== "issues.list" || $state.current.name === "issues.list") { |
| | | $state.go("issues.list"); |
| | | } |
| | | } |
| | | |
| | | $rootScope.$broadcast("getIssueList", {}); |
| | | if (result.data.message.status === "success") { |
| | | // 연속 등록 체크시 이동하지 않음. |
| | | if ($scope.vm.infiniteAdd) { |
| | | $scope.fn.infiniteAddForm(); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.failedIssueRegistration"), result.data.message.message); // 이슈 등록 실패 |
| | | $scope.fn.cancel(); |
| | | |
| | | if ($state.current.name !== "issues.list" || $state.current.name === "issues.list") { |
| | | $state.go("issues.list"); |
| | | } |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | $rootScope.$broadcast("getIssueList", {}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.failedIssueRegistration"), result.data.message.message); // 이슈 등록 실패 |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | // 팝업 창 닫기 |
| | |
| | | |
| | | if (result.data.message.status === "success") { |
| | | |
| | | $scope.vm.form.issueCustomFields = []; |
| | | angular.forEach(result.data.data, function (issueTypeCustomField) { |
| | | switch (issueTypeCustomField.customFieldVo.customFieldType) { |
| | | case "INPUT" : |
| | | case "NUMBER" : |
| | | case "DATETIME" : |
| | | case "IP_ADDRESS" : |
| | | case "EMAIL" : |
| | | case "SITE" : |
| | | case "TEL" : |
| | | issueTypeCustomField.useValues = issueTypeCustomField.customFieldVo.defaultValue; |
| | | break; |
| | | case "SINGLE_SELECT" : |
| | |
| | | } |
| | | } |
| | | |
| | | function getPartners() { |
| | | if($scope.vm.form.issueTypeId === ""){ |
| | | $scope.vm.form.issueTypeId = $rootScope.issueTypeMenu.id |
| | | } |
| | | var content = { |
| | | issueTypeId : $scope.vm.form.issueTypeId, |
| | | }; |
| | | Issue.findPartners($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 1))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.partnerVos = result.data.data; |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | // 최초 실행 |
| | | function startExecute() { |
| | | |
| | | var promises = { |
| | | getIssueTypes : $scope.fn.getIssueTypes(), |
| | | getPriorities : $scope.fn.getPriorities(), |
| | | getSeverities : $scope.fn.getSeverities() |
| | | getSeverities : $scope.fn.getSeverities(), |
| | | getPartners : $scope.fn.getPartners() |
| | | }; |
| | | $q.all(promises).then(function (results) { |
| | | // 현재 프로젝트 설정 |
| | | if ($rootScope.workProject != null && $rootScope.workProject.id > -1) { |
| | | $scope.vm.projectName = $rootScope.workProject.name; |
| | | $scope.fn.projects = []; |
| | | $scope.fn.projects.push($rootScope.workProject); |
| | | $scope.fn.getProjectList($scope.vm.projectName, $scope.vm.form.projects, $scope.vm.autoCompletePage.project.page, getStartProjectListCallback); |
| | | $scope.vm.form.projects = []; |
| | | $scope.vm.form.projects.push($rootScope.workProject); |
| | | } |
| | | |
| | | // 현재 이슈타입 유형 설정 |
| | | var id = $rootScope.getCurrentIssueTypeId(); |
| | | if (id != null) { |
| | | $scope.vm.form.issueTypeId = id.toString(); |
| | | } |
| | | $log.debug("promises 결과 ", results); |
| | | }); |
| | | } |
| | | |
| | | $scope.fn.startExecute(); |
| | | }]); |
| | | }); |
| | | }); |