|
|
@@ -4,7 +4,7 @@
|
|
|
*/
|
|
|
define(['app/app'], function (app) {
|
|
|
"use strict";
|
|
|
- app.register.controller('staffManagementCtrl', ['$scope', '$rootScope', 'Enterprise', 'User', 'toaster', '$modal', 'BaseService', 'ngTableParams', '$http', 'AuthenticationService', '$stateParams','AccountResource','AccountRole', 'Authority', function ($scope, $rootScope, Enterprise, User, toaster, $modal, BaseService, ngTableParams, $http, AuthenticationService, $stateParams, AccountResource, AccountRole, Authority) {
|
|
|
+ app.register.controller('staffManagementCtrl', ['$scope', '$rootScope', 'Enterprise', 'User', 'toaster', '$modal', 'BaseService', 'ngTableParams', '$http', 'AuthenticationService', '$stateParams','AccountResource','AccountRole', 'Authority', 'B2bUser', 'B2bCurrentRole', function ($scope, $rootScope, Enterprise, User, toaster, $modal, BaseService, ngTableParams, $http, AuthenticationService, $stateParams, AccountResource, AccountRole, Authority, B2bUser, B2bCurrentRole) {
|
|
|
$rootScope.active = 'sso_management';
|
|
|
document.title = '员工管理-帐户中心';
|
|
|
$scope.tab = 'auth';
|
|
|
@@ -142,6 +142,18 @@ define(['app/app'], function (app) {
|
|
|
$defer.resolve(page.content);
|
|
|
$scope.users = page.content;
|
|
|
$scope.reloadUserCheck(false);
|
|
|
+ var arr = [];
|
|
|
+ angular.forEach($scope.users, function (item) {
|
|
|
+ arr.push(item.userUU);
|
|
|
+ })
|
|
|
+ B2bUser.getUsersByUU({userUUJson: JSON.stringify(arr)}, function (data) {
|
|
|
+ angular.forEach($scope.users, function (item, index) {
|
|
|
+ item.b2bRoles = data[index].roles;
|
|
|
+ })
|
|
|
+ console.log($scope.users);
|
|
|
+ }, function () {
|
|
|
+ toaster.pop('获取b2b角色信息失败');
|
|
|
+ })
|
|
|
}
|
|
|
},function (error) {
|
|
|
toaster.pop('error', '获取企业人员信息失败',error.data);
|
|
|
@@ -464,6 +476,41 @@ define(['app/app'], function (app) {
|
|
|
});
|
|
|
};
|
|
|
|
|
|
+ // b2b客户分配
|
|
|
+ $scope.addVendor = function (user) {
|
|
|
+ B2bCurrentRole.roles({}, function(data) {
|
|
|
+ var roles = data.count || $scope.userInfo.sys;
|
|
|
+ if (!roles) {
|
|
|
+ toaster.pop('error', '提示', '你不是管理员或销售经理,无权限分配!请立即联系管理员');
|
|
|
+ } else {
|
|
|
+ for (var i = 0; i < user.b2bRoles.length; i++) {
|
|
|
+ if (user.b2bRoles[i].issys == 1 || user.b2bRoles[i].name == 'ROLE_SALEMANAGER') {
|
|
|
+ toaster.pop('error', '提示', '管理员和销售经理无需分配客户');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var modalInstance = $modal.open({
|
|
|
+ animation: true,
|
|
|
+ templateUrl: 'static/view/sso/b2b/modal/add_vendor.html',
|
|
|
+ controller: 'AddVendorCtrl',
|
|
|
+ resolve: {
|
|
|
+ user: function () {
|
|
|
+ return user;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ // modalInstance.result.then(function (changed, checked) {
|
|
|
+ // if (changed) {
|
|
|
+ // if (checked)
|
|
|
+ // $scope.newUser.roles = checked;
|
|
|
+ // else
|
|
|
+ // loadUsers();
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ };
|
|
|
+
|
|
|
$scope.inSelect = false;
|
|
|
$scope.setInSelect = function (status) {
|
|
|
$scope.inSelect = status;
|
|
|
@@ -568,7 +615,10 @@ define(['app/app'], function (app) {
|
|
|
}]);
|
|
|
}]);
|
|
|
|
|
|
- app.register.controller('UserRoleEditCtrl', ['$scope', '$modalInstance', '$timeout', 'AccountResource', 'toaster', 'user', 'BaseService', 'AccountRole', 'User', function ($scope, $modalInstance, $timeout, AccountResource, toaster, user, BaseService, AccountRole, User) {
|
|
|
+ app.register.controller('UserRoleEditCtrl', ['$scope', '$modalInstance', '$timeout', 'AccountResource', 'toaster', 'user', 'BaseService', 'AccountRole', 'User', 'B2bAccountRole', 'B2bAccountUser', function ($scope, $modalInstance, $timeout, AccountResource, toaster, user, BaseService, AccountRole, User, B2bAccountRole, B2bAccountUser) {
|
|
|
+
|
|
|
+ // 分b2b和b2c
|
|
|
+ $scope.tab = 'b2c';
|
|
|
|
|
|
$scope.pages = [];
|
|
|
|
|
|
@@ -585,16 +635,27 @@ define(['app/app'], function (app) {
|
|
|
$scope.currentRoles = $scope.rolesData.slice(start, end);
|
|
|
};
|
|
|
|
|
|
+ $scope.queryObj = {};
|
|
|
+ var initQueryObj = function () {
|
|
|
+ $scope.queryObj = $scope.tab == 'b2b' ? {
|
|
|
+ AccountRole: B2bAccountRole,
|
|
|
+ User: B2bAccountUser
|
|
|
+ } : {
|
|
|
+ AccountRole: AccountRole,
|
|
|
+ User: User
|
|
|
+ };
|
|
|
+ }
|
|
|
+ initQueryObj();
|
|
|
var init = function () {
|
|
|
$scope.user = angular.copy(user);
|
|
|
- AccountRole.query({}, function (data) {
|
|
|
+ $scope.queryObj.AccountRole.query({}, function (data) {
|
|
|
$scope.rolesData = data;
|
|
|
loadCurrentRoles();
|
|
|
$scope.params.totalPage = Math.ceil($scope.rolesData.length / 6);
|
|
|
$scope.acculatePages(1, $scope.params.totalPage);
|
|
|
angular.forEach($scope.rolesData, function (item) {
|
|
|
item.checked = false;
|
|
|
- angular.forEach($scope.user.roles, function (userItem) {
|
|
|
+ angular.forEach($scope.user[$scope.tab == 'b2b' ? 'b2bRoles' : 'roles'], function (userItem) {
|
|
|
if (item.id === userItem.id) {
|
|
|
item.checked = true;
|
|
|
}
|
|
|
@@ -604,6 +665,12 @@ define(['app/app'], function (app) {
|
|
|
}
|
|
|
init();
|
|
|
|
|
|
+ $scope.switchTab = function (tab) {
|
|
|
+ $scope.tab = tab;
|
|
|
+ initQueryObj();
|
|
|
+ init();
|
|
|
+ }
|
|
|
+
|
|
|
$scope.checked = [];
|
|
|
//勾选角色
|
|
|
$scope.checkRole = function (role) {
|
|
|
@@ -623,9 +690,9 @@ define(['app/app'], function (app) {
|
|
|
}
|
|
|
});
|
|
|
$scope.user.roles = $scope.checked;
|
|
|
- User.update({}, $scope.user, function () {
|
|
|
+ $scope.queryObj.User[$scope.tab == 'b2b' ? 'updateRole' : 'update']({}, $scope.user, function () {
|
|
|
toaster.pop('success', '提示', '保存成功');
|
|
|
- user.roles = $scope.checked
|
|
|
+ user[$scope.tab == 'b2b' ? 'b2bRoles' : 'roles'] = $scope.checked;
|
|
|
$modalInstance.close(true);
|
|
|
}, function (response) {
|
|
|
toaster.pop('error', '保存失败', response.data);
|
|
|
@@ -824,4 +891,61 @@ define(['app/app'], function (app) {
|
|
|
$scope.acculatePages($scope.params.page, $scope.params.totalPage);
|
|
|
};
|
|
|
}]);
|
|
|
+
|
|
|
+ app.register.controller('AddVendorCtrl', ['$scope', '$modalInstance', 'user', 'B2bAccountUser', 'toaster', function ($scope, $modalInstance, user, AccountUser, toaster) {
|
|
|
+ $scope.checkboxes = {
|
|
|
+ checked: false
|
|
|
+ };
|
|
|
+ $scope.loading = true;
|
|
|
+ AccountUser.findVendor({uu: user.userUU}, function (data) {
|
|
|
+ $scope.enters = data;
|
|
|
+ $scope.loading = false;
|
|
|
+ })
|
|
|
+ // 点击勾选全部的复选框
|
|
|
+ $scope.checkAll = function () {
|
|
|
+ angular.forEach($scope.enters, function (item) {
|
|
|
+ item.distribute = $scope.checkboxes.checked;
|
|
|
+ });
|
|
|
+ };
|
|
|
+ // 点击其中一个明细的复选框
|
|
|
+ $scope.checkOne = function (vendor) {
|
|
|
+ var result = true;
|
|
|
+ angular.forEach($scope.enters, function (item) {
|
|
|
+ if (item.distribute != true) {
|
|
|
+ result = false;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ $scope.checkboxes.checked = result;
|
|
|
+ };
|
|
|
+ $scope.close = function (save) {
|
|
|
+ var chooseResult = [];
|
|
|
+ if (save) {
|
|
|
+ if (user.userUU) {
|
|
|
+ angular.forEach($scope.enters, function (item, i) {
|
|
|
+ chooseResult.push(item);
|
|
|
+ });
|
|
|
+ if (chooseResult.length > 0) {
|
|
|
+ $scope.loading = true;
|
|
|
+ AccountUser.addVendor({uu: user.userUU}, chooseResult, function (data) {
|
|
|
+ $scope.loading = false;
|
|
|
+ toaster.pop('success', '提示', '保存成功');
|
|
|
+ $modalInstance.close(false);
|
|
|
+ }, function (response) {
|
|
|
+ $scope.loading = false;
|
|
|
+ toaster.pop('error', '保存失败', response.data);
|
|
|
+ $modalInstance.close(false);
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ toaster.pop('error', '保存失败', "您未勾选任何记录");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ $modalInstance.close(true, $scope.checkboxes.checked);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ $modalInstance.close(false);
|
|
|
+ }
|
|
|
+ };
|
|
|
+ }]);
|
|
|
+
|
|
|
});
|