| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227 |
- define([ 'angular', 'ui-bootstrap', 'ngResource' ], function(angular) {
- 'use strict';
- angular.module('common.query.enterprise', ['ui.bootstrap','ngResource']).factory('EnterpriseService', ['$modal', function($modal){
- return {
- open: function(filter) {
- var modalInstance = $modal.open({
- templateUrl : 'static/view/common/query/enterprise.html',
- controller : 'EnterpriseQueryCtrl',
- backdrop : "static",
- resolve : {
- filter : function() {
- return filter;
- }
- },
- windowClass : 'modal-large'
- });
- return modalInstance;
- }
- };
- }]).controller('EnterpriseQueryCtrl', ['$scope', '$modalInstance', '$http', 'ngTableParams', '$resource', function($scope, $modalInstance, $http, ngTableParams, $resource){
- var Enterprises = $resource('user/enterprises');
-
- var isNumber = function(n) {
- return !isNaN(parseFloat(n)) && isFinite(n);
- };
- var parseParams = function(requestParams) {
- // parse url params
- for (var key in requestParams) {
- if (key.indexOf('[') >= 0) {
- var params = key.split(/\[(.*)\]/), value = requestParams[key], lastKey = '';
- angular.forEach(params.reverse(), function(name) {
- if (name != '') {
- var v = value;
- value = {};
- value[lastKey = name] = isNumber(v) ? parseFloat(v) : v;
- }
- });
- requestParams[lastKey] = angular.extend(requestParams[lastKey] || {}, value[lastKey]);
- delete requestParams[key];
- } else {
- requestParams[key] = isNumber(requestParams[key]) ? parseFloat(requestParams[key]) : requestParams[key];
- }
- }
- return requestParams;
- };
- $scope.tableParams = new ngTableParams({
- page : 1, // show first page
- count : 10, // count per page
- sorting: {
- 'enName': 'asc'
- },
- filter: {
- enabled: 1
- }
- }, {
- total : 0,
- getData : function($defer, params) {
- var param = parseParams(params.url());
- Enterprises.get(param, function(page){
- if(page) {
- params.total(page.totalElements);
- $defer.resolve(page.content);
- }
- });
- }
- });
-
- $scope.checkboxes = {
- 'checked' : false,
- items : {},
- data: [],
- length : 0
- };
- var select = function(item) {
- var checked = false;
- angular.forEach($scope.checkboxes.data, function(d, i){
- if(d.uu == item.uu) {
- checked = true;return;
- }
- });
- !checked && $scope.checkboxes.data.push(angular.copy(item));
- };
- var deselect = function(item) {
- angular.forEach($scope.checkboxes.data, function(d, i) {
- if(d.uu == item.uu) {
- $scope.checkboxes.data.splice(i, 1);
- return;
- }
- });
- };
- var toggleSelection = function(item, values) {
- var checked = values[item.uu];
- if (checked) {
- select(item);
- } else {
- deselect(item);
- }
- };
- // watch for check all checkbox
- $scope.$watch('checkboxes.checked', function(value) {
- var i = 0;
- angular.forEach($scope.tableParams.data, function(item) {
- if (angular.isDefined(item.uu)) {
- $scope.checkboxes.items[item.uu] = value;
- i++;
- }
- });
- $scope.checkboxes.length = i;
- });
- // watch for data checkboxes
- $scope.$watch('checkboxes.items', function(values) {
- if (!$scope.tableParams.data) {
- return;
- }
- var checked = 0, unchecked = 0, total = $scope.tableParams.data.length;
- angular.forEach($scope.tableParams.data, function(item) {
- checked += ($scope.checkboxes.items[item.uu]) || 0;
- unchecked += (!$scope.checkboxes.items[item.uu]) || 0;
- toggleSelection(item, values);
- });
- if (total > 0 && (unchecked == 0 || checked == 0)) {
- $scope.checkboxes.checked = (checked == total);
- }
- $scope.checkboxes.length = checked;
- // grayed checkbox
- angular.element(document.getElementById("select_all_enterprise")).prop("indeterminate",
- (checked != 0 && unchecked != 0));
- }, true);
- // 关闭模态窗
- $scope.close = function() {
- $modalInstance.close();
- };
- // 移除已选择的企业
- $scope.deselect = function(index) {
- var item = $scope.checkboxes.data[index];
- if(item) {
- $scope.checkboxes.data.splice(index, 1);
- $scope.checkboxes.items[item.uu] = false;
- }
- };
- // 下一步
- $scope.next = function() {
- $modalInstance.close($scope.checkboxes.data);
- };
- }]).factory('Enterprise', ['$resource', function($resource){
- return $resource('basic/enterprise', {}, {
- getEnterpriseInfo : {
- url : 'basic/enterprise/:enuu/info',
- method : 'GET'
- },
- getEnterpriseDetailInfo : {
- url : 'basic/enterprise/:enuu/detailInfo',
- method : 'GET'
- },
- getEnterpriseAdminInfo : {
- url : 'basic/enterprise/:enuu/admin',
- method : 'GET'
- },
- getEnterPriseTelOrAdminTel: {
- url : 'basic/enterprise/:enuu/tels',
- method : 'GET'
- },
- getAllUsersByEnuu : {
- url : 'basic/user/enterprise/info',
- method : 'GET'
- },
- findUsersByKeyword : {
- url : 'basic/user/enterprise/keywordinfo',
- method : 'GET'
- },
- findUserByUserNameLikeAndEnUU: {
- url: 'basic/user/enterprise/username',
- method: 'GET'
- },
- saveUser : {
- url : 'basic/user',
- method : 'POST'
- },
- removeUser : {
- url : 'basic/user/:uu',
- method : 'DELETE'
- },
- updateUser : {
- url : 'basic/user/:uu',
- method : 'PUT'
- },
- updateEnterpriseInfo : {
- url : 'basic/enterprise/:enuu/updateInfo',
- method : 'POST'
- },
- //绑定界面的用户搜索
- searchUser: {
- url: 'basic/user/searchUser',
- method: 'GET'
- },
- //绑定用户到企业
- bindUserToMyEnterprise: {
- url: 'basic/user/bindUser',
- method: 'GET'
- },
- findApplyToMall: {
- url: 'basic/enterprise/findApplyToMall',
- method: 'GET'
- },
- auditApply: {
- url: 'basic/enterprise/auditApply',
- method: 'GET'
- },
- /**
- * 根据注册地址返回币别信息
- */
- getCurrencyByRegisterAddress : {
- url : 'basic/enterprise/currency',
- method : 'GET'
- },
- /**
- * 获取企业的店铺信息
- * @return
- */
- getStoreInfo : {
- url : 'basic/enterprise/store',
- method : 'GET'
- }
- });
- }]);
- });
|