/** * Created by wisestone on 2018-05-08. */ 'use strict'; define([ 'app', 'angular' ], function (app, angular) { app.controller('workspaceDepartmentModifyController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'UserWorkspace', 'parameter', 'SweetAlert', '$filter', '$injector', '$controller', function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, UserWorkspace, parameter, SweetAlert, $filter, $injector, $controller) { $scope.fn = { cancel : cancel, // 팝업 창 닫기 formSubmit : formSubmit, // 폼 전송 formCheck : formCheck, // 폼 체크 detail : detail, // 상세 정보 조회 removeDepartments : removeDepartments, // 추가한 부서 제거 }; $scope.vm = { id : parameter.id, form : { id : parameter.id, departmentList : [], // 현재 부서 목록 departments : [] // 부서 }, departmentName : "", //부서명 검색 /*autoCompletePage : { project : { page : 0, totalPage : 0 } },*/ }; angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); // 선택 한 부서 제거 function removeDepartments(index) { $scope.vm.form.departments.splice(index, 1); } function formCheck(formInvalid) { if (formInvalid) { return true; } return false; } // 폼 전송 function formSubmit() { $rootScope.spinner = true; var content = { id : $scope.vm.form.id, departmentName : (function () { var departmentIds = []; angular.forEach($scope.vm.form.departments, function (department) { departmentIds.push(department.id); }); return departmentIds; })() }; //user_department INSERT 요청 UserWorkspace.userDepartmentModify($resourceProvider.getContent( content, $resourceProvider.getPageContent(0, 0))).then(function (result) { if (result.data.message.status === "success") { $scope.fn.cancel(); // 목록 화면 갱신 $rootScope.$broadcast("getUserWorkspaceList", {}); } else { SweetAlert.error($filter("translate")("managementWorkspace.failedDepartmentRegistration"), result.data.message.message); } $rootScope.spinner = false; }); } // 팝업 창 닫기 function cancel() { $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 $uibModalInstance.dismiss('cancel'); $(document).unbind("keydown"); // 단축키 이벤트 제거 } function detail() { var contents = { id : parameter.id } UserWorkspace.userDepartmentDetail($resourceProvider.getContent( contents, $resourceProvider.getPageContent(0, 1))).then(function (result) { if (result.data.message.status === "success") { if (angular.isDefined(result.data.data)) { $scope.vm.form.departmentList = result.data.data; //체크 필요 } } else { SweetAlert.error($filter("translate")("managementWorkspace.failedToDepartmentsOfUserDetails"), result.data.message.message); //"사용자의 부서 상세 정보 조회 실패" } }); } $scope.fn.detail(); }]); });