| | |
| | | formCheck : formCheck, // 폼 체크 |
| | | getUserListCallBack : getUserListCallBack, // 담당자 autocomplete 페이징 |
| | | getProjectListCallBack : getProjectListCallBack, // 프로젝트 autocomplete 페이징 |
| | | getCompanyFieldListCallBack : getCompanyFieldListCallBack, // 업체정보 autocomplete 페이징 |
| | | getIssueDepartmentListCallBack : getIssueDepartmentListCallBack, // 담당자 -> 담당부서 autocomplete 페이징 |
| | | getIspFieldListCallBack : getIspFieldListCallBack, // ISP정보 autocomplete 페이징 |
| | | getHostingFieldListCallBack : getHostingFieldListCallBack, // 호스팅정보 autocomplete 페이징 |
| | | getOptionColor : getOptionColor, // 우선순위, 중요도 색상으로 Select 태그 적용 |
| | | onFileSelect : onFileSelect, // 파일 첨부 |
| | | imageUpload : imageUpload, // 섬머노트 이미지 업로드 |
| | |
| | | setFormByIssueTypeCustomFields : setFormByIssueTypeCustomFields, // 이슈 유형에 연결된 사용자 정의 필드 정보를 입력 폼에서 사용할 수 있게 가공한다. |
| | | setUseValueByIssueTypeCustomFields : setUseValueByIssueTypeCustomFields, // 이슈에서 사용자가 선택한 사용자 정의 필드 값을 입력 폼에 셋팅한다. |
| | | detail : detail, // 이슈 정보 조회 |
| | | removeManager : removeManager, // 담당자 삭제 |
| | | // removeManager : removeManager, // 담당자 삭제 |
| | | removeDepartment : removeDepartment, // 담당부서 삭제 |
| | | removeUploadFile : removeUploadFile, // 특정 파일을 삭제 |
| | | setIssueTypeTemplate : setIssueTypeTemplate, // 이슈 유형 템플릿 적용하기 |
| | | startExecute : startExecute // 최초 실행 |
| | |
| | | title : "", // 제목 |
| | | description : "", // 내용 |
| | | projects : [], // 프로젝트 |
| | | companyFields : [], // 업체정보 |
| | | ispFields : [], // ISP 정보 |
| | | hostingFields : [], // 호스팅정보 |
| | | issueTypeId : "", // 이슈 유형 아이디 |
| | | priorityId : "", // 우선순위 아이디 |
| | | severityId : "", // 중요도 아이디 |
| | | issueStatusId : "", // 이슈 상태 아이디 |
| | | users : [], // 담당자 |
| | | // users : [], // 담당자 |
| | | departments : [], // 담당부서 |
| | | files : [], // 업로드 파일 |
| | | attachedFiles : [], // 섬머노트로 파일 업로드를 할 경우 서버에서 pk를 따고 issue id와 연동 작업이 필요하다. |
| | | startCompleteDateRange : "", // 시작일 ~ 종료일 |
| | |
| | | }, |
| | | projectName : "", // 프로젝트 명 검색 |
| | | userName : "", // 사용자 검색 |
| | | departmentName : "", // 부서명 검색 |
| | | companyName : "", // 업체명 검색 |
| | | companyCode : "", // 업체 코드 |
| | | companyManager : "", // 업체 담당자 |
| | | companyTel : "", // 업체 전화번호 |
| | | companyEmail : "", // 업체 이메일 |
| | | companyMemo : "", // 업체 비고 |
| | | ispName : "", // ISP 명 |
| | | ispCode : "", // ISP 코드 |
| | | ispManager : "", // ISP 담당자 |
| | | ispTel : "", // ISP 전화번호 |
| | | ispEmail : "", // ISP 이메일 |
| | | ispMemo : "", // ISP 비고 |
| | | hostingName : "", // 호스팅명 검색 |
| | | hostingManager : "", // 호스팅 담당자 |
| | | hostingTel : "", // 호스팅 전화번호 |
| | | hostingEmail : "", // 호스팅 이메일 |
| | | hostingMemo : "", // 호스팅 비고 |
| | | autoCompletePage : { |
| | | user : { |
| | | // user : { |
| | | // page : 0, |
| | | // totalPage : 0 |
| | | // }, |
| | | project : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | }, |
| | | project : { |
| | | companyField : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | }, |
| | | department : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | }, |
| | | ispField : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | }, |
| | | hostingField : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | } |
| | |
| | | |
| | | angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); |
| | | |
| | | // 프로젝트가 변경되면 담당자 초기화 |
| | | // 프로젝트가 변경되면 담당부서 초기화 |
| | | $scope.$watch("vm.form.projects", function (newValue, oldValue) { |
| | | if (angular.isDefined(newValue)) { |
| | | if (newValue.length < 1) { |
| | | $scope.vm.form.users = []; |
| | | $scope.vm.form.departments = []; |
| | | $scope.vm.form.issueCustomFields = []; |
| | | } |
| | | else { |
| | |
| | | } |
| | | |
| | | // 담당자 삭제 |
| | | function removeManager(index) { |
| | | $scope.vm.form.users.splice(index, 1); |
| | | // function removeManager(index) { |
| | | // $scope.vm.form.users.splice(index, 1); |
| | | // } |
| | | |
| | | // 담당부서 삭제 |
| | | function removeDepartment(index) { |
| | | $scope.vm.form.departments.splice(index, 1); |
| | | } |
| | | |
| | | // 섬머노트 이미지 업로드 |
| | |
| | | $scope.vm.autoCompletePage.project.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | // 업체정보 autocomplete page 업데이트 |
| | | function getCompanyFieldListCallBack(result) { |
| | | $scope.vm.autoCompletePage.companyField.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | // 부서정보 autocomplete page 업데이트 |
| | | function getIssueDepartmentListCallBack(result) { |
| | | $scope.vm.autoCompletePage.department.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | // ISP정보 autocomplete page 업데이트 |
| | | function getIspFieldListCallBack(result) { |
| | | $scope.vm.autoCompletePage.ispField.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | // 호스팅정보 autocomplete page 업데이트 |
| | | function getHostingFieldListCallBack(result) { |
| | | $scope.vm.autoCompletePage.hostingField.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | |
| | | |
| | | return false; |
| | | } |
| | | |
| | | // 업체정보 결과 값 Event 처리(set) |
| | | $scope.$on("companyFieldEvent", function (event, result) { |
| | | $scope.vm.companyManager = result[0].manager; |
| | | $scope.vm.companyTel = result[0].tel; |
| | | $scope.vm.companyEmail = result[0].email; |
| | | $scope.vm.companyMemo = result[0].memo; |
| | | |
| | | }); |
| | | |
| | | // ISP정보 결과 값 Event 처리(set) |
| | | $scope.$on("ispFieldEvent", function (event, result) { |
| | | $scope.vm.ispCode = result[0].code; |
| | | $scope.vm.ispManager = result[0].manager; |
| | | $scope.vm.ispTel = result[0].tel; |
| | | $scope.vm.ispEmail = result[0].email; |
| | | $scope.vm.ispMemo = result[0].memo; |
| | | }); |
| | | |
| | | // 호스팅정보 결과 값 Event 처리(set) |
| | | $scope.$on("hostingFieldEvent", function (event, result) { |
| | | $scope.vm.hostingCode = result[0].code; |
| | | $scope.vm.hostingManager = result[0].manager; |
| | | $scope.vm.hostingTel = result[0].tel; |
| | | $scope.vm.hostingEmail = result[0].email; |
| | | $scope.vm.hostingMemo = result[0].memo; |
| | | }); |
| | | |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | |
| | | |
| | | return projectId; |
| | | })(), |
| | | companyId : (function () { // 프로젝트 아이디 |
| | | var companyId = ""; |
| | | |
| | | if ($scope.vm.form.companyFields.length > 0) { |
| | | companyId = $scope.vm.form.companyFields[0].id; |
| | | } |
| | | |
| | | return companyId; |
| | | })(), |
| | | |
| | | ispId : (function () { |
| | | var ispId = ""; |
| | | |
| | | if ($scope.vm.form.ispFields.length > 0) { |
| | | ispId = $scope.vm.form.ispFields[0].id; |
| | | } |
| | | |
| | | return ispId; |
| | | })(), |
| | | hostingId : (function () { |
| | | var hostingId = ""; |
| | | |
| | | if ($scope.vm.form.hostingFields.length > 0) { |
| | | hostingId = $scope.vm.form.hostingFields[0].id; |
| | | } |
| | | |
| | | return hostingId; |
| | | })(), |
| | | issueTypeId : $scope.vm.form.issueTypeId, // 이슈 유형 아이디 |
| | | priorityId : $scope.vm.form.priorityId, // 우선순위 아이디 |
| | | severityId : $scope.vm.form.severityId, // 중요도 아이디 |
| | | issueStatusId : $scope.vm.form.issueStatusId, // 이슈 상태 아이디 |
| | | |
| | | userIds : (function () { |
| | | var userIds = []; |
| | | |
| | |
| | | }); |
| | | |
| | | return userIds; |
| | | })(), |
| | | departmentIds : (function () { |
| | | var departmentIds = []; |
| | | |
| | | angular.forEach($scope.vm.form.departments, function (department) { |
| | | departmentIds.push(department.id); |
| | | }); |
| | | |
| | | return departmentIds; |
| | | })(), |
| | | removeFiles : $scope.vm.form.removeFiles, |
| | | attachedFileIds : (function () { |
| | |
| | | return attachedFileIds; |
| | | })(), |
| | | startCompleteDateRange : $scope.vm.form.startCompleteDateRange, |
| | | |
| | | companyFields : (function () { |
| | | var companyFields = []; |
| | | |
| | | angular.forEach($scope.vm.form.companyFields, function (companyField) { |
| | | var useValues = []; |
| | | |
| | | if (angular.isArray(companyField.useValues)) { |
| | | angular.forEach(companyField.useValues, function (useValue) { |
| | | useValues.push(useValue.value); |
| | | }); |
| | | } |
| | | else { |
| | | useValues.push(companyField.useValues); |
| | | } |
| | | |
| | | // useValues 를 배열로 변환한다. |
| | | var temp = angular.copy(companyField); |
| | | temp.useValues = useValues; |
| | | companyFields.push(temp); |
| | | }); |
| | | |
| | | return companyFields; |
| | | })(), |
| | | |
| | | ispFields : (function () { |
| | | var ispFields = []; |
| | | |
| | | angular.forEach($scope.vm.form.ispFields, function (ispField) { |
| | | var useValues = []; |
| | | |
| | | if (angular.isArray(ispField.useValues)) { |
| | | angular.forEach(ispField.useValues, function (useValue) { |
| | | useValues.push(useValue.value); |
| | | }); |
| | | } |
| | | else { |
| | | useValues.push(ispField.useValues); |
| | | } |
| | | |
| | | // useValues 를 배열로 변환한다. |
| | | var temp = angular.copy(ispField); |
| | | temp.useValues = useValues; |
| | | ispFields.push(temp); |
| | | }); |
| | | |
| | | return ispFields; |
| | | })(), |
| | | |
| | | hostingFields : (function () { |
| | | var hostingFields = []; |
| | | |
| | | angular.forEach($scope.vm.form.hostingFields, function (hostingField) { |
| | | var useValues = []; |
| | | |
| | | if (angular.isArray(hostingField.useValues)) { |
| | | angular.forEach(hostingField.useValues, function (useValue) { |
| | | useValues.push(useValue.value); |
| | | }); |
| | | } |
| | | else { |
| | | useValues.push(hostingField.useValues); |
| | | } |
| | | |
| | | // useValues 를 배열로 변환한다. |
| | | var temp = angular.copy(hostingField); |
| | | temp.useValues = useValues; |
| | | hostingFields.push(temp); |
| | | }); |
| | | |
| | | return hostingFields; |
| | | })(), |
| | | |
| | | issueCustomFields : (function () { // 이슈에서 사용되는 사용자 정의 필드 |
| | | var issueCustomFields = []; |
| | | |
| | |
| | | if (angular.isDefined(result.data.data)) { |
| | | $scope.vm.form.title = result.data.data.title; |
| | | $scope.vm.form.description = result.data.data.description; |
| | | |
| | | $scope.vm.form.projects.push(result.data.data.projectVo); |
| | | $scope.vm.projectName = result.data.data.projectVo.name; |
| | | |
| | | $scope.vm.form.issueTypeId = String(result.data.data.issueTypeVo.id); |
| | | $scope.vm.form.priorityId = String(result.data.data.priorityVo.id); |
| | | $scope.vm.form.severityId = String(result.data.data.severityVo.id); |
| | | $scope.vm.form.issueStatusId = String(result.data.data.issueStatusVo.id); |
| | | |
| | | $scope.vm.form.users = result.data.data.userVos; |
| | | $scope.vm.form.departments = result.data.data.departmentVos; |
| | | $scope.vm.form.files = result.data.data.attachedFileVos; |
| | | // |
| | | $scope.vm.form.companyFields.push(result.data.data.companyFieldVo); |
| | | $scope.vm.companyName = result.data.data.companyFieldVo.name; |
| | | $scope.vm.companyManager = result.data.data.companyFieldVo.manager; |
| | | $scope.vm.companyTel = result.data.data.companyFieldVo.tel; |
| | | $scope.vm.companyEmail = result.data.data.companyFieldVo.email; |
| | | $scope.vm.companyMemo = result.data.data.companyFieldVo.memo; |
| | | |
| | | $scope.vm.form.ispFields.push(result.data.data.ispFieldVo); |
| | | $scope.vm.ispName = result.data.data.ispFieldVo.name; |
| | | $scope.vm.ispCode = result.data.data.ispFieldVo.code; |
| | | $scope.vm.ispManager = result.data.data.ispFieldVo.manager; |
| | | $scope.vm.ispTel = result.data.data.ispFieldVo.tel; |
| | | $scope.vm.ispEmail = result.data.data.ispFieldVo.email; |
| | | $scope.vm.ispMemo = result.data.data.ispFieldVo.memo; |
| | | |
| | | $scope.vm.form.hostingFields.push(result.data.data.hostingFieldVo); |
| | | $scope.vm.hostingName = result.data.data.hostingFieldVo.name; |
| | | $scope.vm.hostingCode = result.data.data.hostingFieldVo.code; |
| | | $scope.vm.hostingManager = result.data.data.hostingFieldVo.manager; |
| | | $scope.vm.hostingTel = result.data.data.hostingFieldVo.tel; |
| | | $scope.vm.hostingEmail = result.data.data.hostingFieldVo.email; |
| | | $scope.vm.hostingMemo = result.data.data.hostingFieldVo.memo; |
| | | |
| | | if ($rootScope.isDefined(result.data.data.startDate)) { |
| | | $scope.vm.form.startCompleteDateRange = result.data.data.startDate + " ~ " + result.data.data.completeDate; |