/**
|
* Created by wisestone on 2018-01-17.
|
*/
|
'use strict';
|
|
define([
|
'app',
|
'angular'
|
],
|
function (app, angular) {
|
app.controller('taskExcelImportController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', '$injector', '$controller', '$tableProvider', 'Task', 'User',
|
function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, $injector, $controller, $tableProvider, Task, User) {
|
|
$scope.fn = {
|
cancel : cancel,
|
formSubmit : formSubmit,
|
formCheck : formCheck,
|
excelTemplateDownload : excelTemplateDownload,
|
getUserListCallBack : getUserListCallBack,
|
makeUserTableConfigs : makeUserTableConfigs,
|
onFileSelect : onFileSelect,
|
broadCastTasks : broadCastTasks
|
};
|
|
$scope.vm = {
|
form : {
|
users : [],
|
file : ""
|
},
|
userName : "",
|
autoCompletePage : {
|
user : {
|
page : 0,
|
totalPage : 0
|
}
|
|
},
|
videoView : false,
|
userTableConfigs : []
|
};
|
|
$scope.userTableEvent = {
|
remove : remove
|
};
|
|
angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector}));
|
|
function excelTemplateDownload() {
|
$("form[name='excelTemplateDownload']").submit();
|
}
|
|
function onFileSelect($files) {
|
$scope.vm.form.file = $files;
|
}
|
|
function remove(id) {
|
var users = [];
|
|
angular.forEach($scope.vm.form.users, function (user) {
|
if (user.id != id) {
|
users.push(user);
|
}
|
});
|
|
$scope.vm.form.users = angular.copy(users);
|
}
|
|
function getUserListCallBack(result) {
|
$scope.vm.autoCompletePage.user.totalPage = result.data.page.totalPage;
|
}
|
|
function makeUserTableConfigs() {
|
$scope.vm.userTableConfigs = [];
|
|
$scope.vm.userTableConfigs.push($tableProvider.config()
|
.setHName("이름")
|
.setDType("renderer")
|
.setDAlign("text-center")
|
.setDRenderer("PROJECT_USER_NAME"));
|
$scope.vm.userTableConfigs.push($tableProvider.config()
|
.setHName("이메일")
|
.setHWidth("width-180-p")
|
.setDVisible("hidden-xs")
|
.setDAlign("text-center")
|
.setDName("email"));
|
$scope.vm.userTableConfigs.push($tableProvider.config()
|
.setHName("연락처")
|
.setDVisible("hidden-xs")
|
.setHWidth("width-180-p")
|
.setDName("phone")
|
.setDAlign("text-center"));
|
$scope.vm.userTableConfigs.push($tableProvider.config()
|
.setHName("설정")
|
.setDType("renderer")
|
.setHWidth("width-60-p")
|
.setDAlign("text-center")
|
.setDRenderer("TARGET_REMOVE"));
|
}
|
|
function formCheck(formInvalid) {
|
if (formInvalid) {
|
return true;
|
}
|
|
return false;
|
}
|
|
function formSubmit() {
|
$rootScope.spinner = true;
|
|
Task.excelImport({
|
method : "POST",
|
file : $scope.vm.form.file,
|
// data 속성으로 별도의 데이터 전송
|
fields : {
|
content : {}
|
},
|
fileFormDataName : "file"
|
})
|
.then(function (result) {
|
// TODO - 웹 소켓으로 결과 표시
|
|
if (result.data.message.status == "success") {
|
$scope.fn.cancel();
|
// 목록 화면 갱신
|
$scope.fn.broadCastTasks();
|
$rootScope.$broadcast("getTaskList");
|
}
|
|
$rootScope.spinner = false;
|
});
|
}
|
|
function cancel() {
|
$uibModalInstance.dismiss('cancel');
|
}
|
|
function broadCastTasks() {
|
User.requestTaskReloadUser($resourceProvider.getContent({projectId : ""},
|
$resourceProvider.getPageContent(0, 0))).then(function (result) {
|
|
if (result.data.message.status == "success") {
|
|
}
|
else {
|
// TODO - 웹 소켓으로 경고창 표시
|
}
|
});
|
}
|
|
$scope.fn.makeUserTableConfigs();
|
}]);
|
});
|