|
|
@@ -1,19 +1,20 @@
|
|
|
/**
|
|
|
- * 账户管理控制器
|
|
|
+ * 账户管理控制器canAddTotal
|
|
|
*/
|
|
|
define(['app/app'], function (app) {
|
|
|
"use strict";
|
|
|
app.register.controller('ssoAddressCtrl',
|
|
|
['$scope', '$rootScope', 'ngTableParams', 'BaseService',
|
|
|
'ShippingAddress', '$modal', 'Enterprise', 'User', 'toaster', '$http',
|
|
|
- '$stateParams', 'AuthenticationService',
|
|
|
function ($scope, $rootScope, ngTableParams, BaseService,
|
|
|
- ShippingAddress, $modal, Enterprise, User, toaster, $http,
|
|
|
- $stateParams, AuthenticationService) {
|
|
|
+ ShippingAddress, $modal, Enterprise, User, toaster, $http) {
|
|
|
document.title = '收货地址-帐户中心';
|
|
|
$rootScope.active = 'sso_address';
|
|
|
$rootScope.userInfoBackup = angular.copy($rootScope.userInfo);
|
|
|
$scope.canAddTotal = 20;
|
|
|
+ $scope.isSendType = false;
|
|
|
+ $scope.newAddr = {};
|
|
|
+ $scope.isSetTop = false;
|
|
|
|
|
|
/**
|
|
|
* 设置默认收货地址
|
|
|
@@ -46,131 +47,6 @@ define(['app/app'], function (app) {
|
|
|
toaster.pop('error', '删除收货地址失败');
|
|
|
});
|
|
|
};
|
|
|
- $scope.telFlag = true;
|
|
|
- $scope.emailFlag = true;
|
|
|
- /**
|
|
|
- * 验证手机号是否可用
|
|
|
- */
|
|
|
- $scope.telValid = function (tel) {
|
|
|
- if (tel) {
|
|
|
- if (tel == $rootScope.userInfoBackup.userTel){
|
|
|
- $scope.telFlag = true;
|
|
|
- return;
|
|
|
- }
|
|
|
- $http.get('basic/user/telEnable', {
|
|
|
- params: {
|
|
|
- tel: tel
|
|
|
- }
|
|
|
- }).success(function (data) {
|
|
|
- data = eval(data);
|
|
|
- if (data == true) {
|
|
|
- $scope.telFlag = true;
|
|
|
- } else {
|
|
|
- if (tel.length == 11)
|
|
|
- toaster.pop('error', '错误', '手机号 ' + tel + ' 已被注册');
|
|
|
- $scope.telFlag = false;
|
|
|
- }
|
|
|
- }).error(function () {
|
|
|
- $scope.telFlag = false;
|
|
|
- });
|
|
|
- } else {
|
|
|
- $scope.telFlag = false;
|
|
|
- }
|
|
|
- };
|
|
|
-
|
|
|
- /**
|
|
|
- * 验证邮箱是否可用
|
|
|
- */
|
|
|
- $scope.emailValid = function (email) {
|
|
|
- if (email) {
|
|
|
- if (email == $rootScope.userInfoBackup.userEmail){
|
|
|
- $scope.emailFlag = true;
|
|
|
- return;
|
|
|
- }
|
|
|
- $http.get('basic/user/emailEnable', {
|
|
|
- params: {
|
|
|
- email: email
|
|
|
- }
|
|
|
- }).success(function (data) {
|
|
|
- data = eval(data);
|
|
|
- if (data == true) {
|
|
|
- $scope.emailFlag = true;
|
|
|
- } else {
|
|
|
- toaster.pop('error', '错误', '邮箱 ' + email + ' 已被注册');
|
|
|
- $scope.emailFlag = false;
|
|
|
- }
|
|
|
- }).error(function () {
|
|
|
- $scope.emailFlag = false;
|
|
|
- });
|
|
|
- } else {
|
|
|
- $scope.emailFlag = false;
|
|
|
- }
|
|
|
- };
|
|
|
- /**
|
|
|
- * 变更到更新状态
|
|
|
- */
|
|
|
- $scope.changeToUpdate = function(isUpdate) {
|
|
|
- $scope.updateState = isUpdate;
|
|
|
- if ($scope.updateState == false){
|
|
|
- $rootScope.userInfo = angular.copy($rootScope.userInfoBackup);
|
|
|
- }
|
|
|
- };
|
|
|
- /**
|
|
|
- * 验证用户信息
|
|
|
- */
|
|
|
- function validateUserInfo() {
|
|
|
- var props = ['userName', 'userEmail', 'userTel'];
|
|
|
-
|
|
|
- var flag = true;
|
|
|
- angular.forEach(props, function (prop) {
|
|
|
- if ($rootScope.userInfo.hasOwnProperty(prop)) {
|
|
|
- if (!$rootScope.userInfo[prop] || $rootScope.userInfo[prop] === '') {
|
|
|
- console.log(prop + '不能为空');
|
|
|
- // TODO 记录验证信息
|
|
|
- flag = false;
|
|
|
- }
|
|
|
- } else {
|
|
|
- console.log(prop + '不能为空');
|
|
|
- flag = false;
|
|
|
- }
|
|
|
- });
|
|
|
- return flag;
|
|
|
- }
|
|
|
- /**
|
|
|
- * 保存用户信息
|
|
|
- */
|
|
|
- $scope.saveUpdate = function () {
|
|
|
- // 先检查信息是否为空
|
|
|
- if (angular.equals($rootScope.userInfo,$rootScope.userInfoBackup)){
|
|
|
- toaster.pop('error', '未做任何修改');
|
|
|
- $scope.updateState = false;
|
|
|
- return ;
|
|
|
- }
|
|
|
- var userInfoFlag = validateUserInfo();
|
|
|
- if (!userInfoFlag) {
|
|
|
- toaster.pop('error', '请补充完信息后再次提交');
|
|
|
- return ;
|
|
|
- }
|
|
|
-
|
|
|
- if ($scope.telFlag && $scope.emailFlag) {
|
|
|
- Enterprise.updateUser({uu: $rootScope.userInfo.userUU}, $rootScope.userInfo, function () {
|
|
|
- $scope.loading = false;
|
|
|
- toaster.pop('success', '提示', '用户信息修改成功');
|
|
|
- $rootScope.userInfoBackup = angular.copy($rootScope.userInfo);
|
|
|
- $scope.updateState = false;
|
|
|
-
|
|
|
- }, function (response) {
|
|
|
- $scope.updateState = false;
|
|
|
- $rootScope.userInfo = angular.copy($rootScope.userInfoBackup);
|
|
|
- toaster.pop('error', '修改失败', response.data);
|
|
|
- });
|
|
|
- }
|
|
|
- else{
|
|
|
- toaster.pop('error', '提示', '修改失败!');
|
|
|
- $rootScope.userInfo = angular.copy($rootScope.userInfoBackup);
|
|
|
- $scope.updateState = false;
|
|
|
- }
|
|
|
- };
|
|
|
|
|
|
// 分页数据
|
|
|
$scope.addressList = [];
|
|
|
@@ -222,6 +98,99 @@ define(['app/app'], function (app) {
|
|
|
toaster.pop('error', '系统错误 ' + '加载城市信息失败');
|
|
|
});
|
|
|
|
|
|
+ $scope.checkForm = function (num) {
|
|
|
+ var size;
|
|
|
+ if (num == 1) {
|
|
|
+ if ($scope.newAddr.name) {
|
|
|
+ size = $scope.newAddr.name.replace(/[^\x00-\xff]/g,
|
|
|
+ '**').length;
|
|
|
+ if (size > 20) {
|
|
|
+ console.log(size);
|
|
|
+ $scope.userError = true;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ $scope.userError = false;
|
|
|
+ }
|
|
|
+ } else if (num == 2) {
|
|
|
+ if ($scope.newAddr.tel) {
|
|
|
+ size = $scope.newAddr.tel.replace(/[^\x00-\xff]/g,
|
|
|
+ '**').length;
|
|
|
+ if (size < 8 || size > 11) {
|
|
|
+ $scope.telError = true;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ $scope.telError = false;
|
|
|
+ var telPatt = new RegExp("^[0-9]+$");
|
|
|
+ if (telPatt.test($scope.newAddr.tel)) {
|
|
|
+ $scope.telPatternError = false;
|
|
|
+ } else {
|
|
|
+ $scope.telPatternError = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (num == 3) {
|
|
|
+ if ($scope.newAddr.detailAddress) {
|
|
|
+ size = $scope.newAddr.detailAddress.replace(
|
|
|
+ /[^\x00-\xff]/g, '**').length;
|
|
|
+ if (size > 60) {
|
|
|
+ $scope.addrError = true;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ $scope.addrError = false;
|
|
|
+ }
|
|
|
+ } else if (num == 4) {
|
|
|
+ var emailPatt = new RegExp(
|
|
|
+ "^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$");
|
|
|
+ if ($scope.newAddr.email.length > 0 && !emailPatt.test(
|
|
|
+ $scope.newAddr.email)) {
|
|
|
+ $scope.emailPatternError = true;
|
|
|
+ } else {
|
|
|
+ $scope.emailPatternError = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ $scope.reset = function(type) {
|
|
|
+ type.$setPristine();
|
|
|
+ type.$setUntouched();
|
|
|
+ angular.forEach($scope.newAddr, function(value, key) {
|
|
|
+ $scope.newAddr[key] = '';
|
|
|
+ })
|
|
|
+ };
|
|
|
+
|
|
|
+ $scope.save = function () {
|
|
|
+ var address = $scope.newAddr;
|
|
|
+
|
|
|
+ if (!address){
|
|
|
+ toaster.pop('error', '请补充未填写的信息');
|
|
|
+ return ;
|
|
|
+ }
|
|
|
+ if (!address.name || !address.province || !address.city || !address.district ||
|
|
|
+ !address.detailAddress || !address.tel){
|
|
|
+ toaster.pop('error', '请补充未填写的信息');
|
|
|
+ return ;
|
|
|
+ }
|
|
|
+ if ($scope.userError || $scope.telError || $scope.addrError || $scope.telPatternError ||
|
|
|
+ $scope.emailPatternError){
|
|
|
+ toaster.pop('error', '请修改红色框内的信息');
|
|
|
+ return ;
|
|
|
+ }
|
|
|
+
|
|
|
+ //拼装地区
|
|
|
+ address.area = address.province + ',' + address.city + ',' + address.district;
|
|
|
+
|
|
|
+ // send属性 控制本地址是否是发货地址
|
|
|
+ ShippingAddress.save({
|
|
|
+ isSetTop: $scope.isSetTop,
|
|
|
+ send: $scope.isSendType,
|
|
|
+ isPersonal: !$scope.isSendType
|
|
|
+ }, address, function () {
|
|
|
+ toaster.pop('success', '成功 ', '保存收货地址成功');
|
|
|
+ $scope.loadAddresses();
|
|
|
+ }, function (res) {
|
|
|
+ toaster.pop('error', '保存收货地址失败 ', res.data);
|
|
|
+ });
|
|
|
+ };
|
|
|
+
|
|
|
$scope.modifyAddress = function (address) {
|
|
|
$modal.open({
|
|
|
templateUrl : $rootScope.rootPath + '/static/view/common/modal/edit_address_modal.html',
|
|
|
@@ -365,41 +334,5 @@ define(['app/app'], function (app) {
|
|
|
$modalInstance.dismiss();
|
|
|
};
|
|
|
}]);
|
|
|
- //修改密码:
|
|
|
- $scope.updatePassword = function(){
|
|
|
- AuthenticationService.redirectPassword()
|
|
|
- };
|
|
|
- //修改邮箱或设置邮箱;
|
|
|
- $scope.updateUserEmail = function () {
|
|
|
- AuthenticationService.redirectEmail()
|
|
|
- };
|
|
|
- //修改电话号码;
|
|
|
- $scope.updateUserTel = function () {
|
|
|
- AuthenticationService.redirectPhone()
|
|
|
- };
|
|
|
-
|
|
|
-
|
|
|
- //修改密保问题;
|
|
|
- $scope.updateUserQuestion = function () {
|
|
|
- AuthenticationService.redirectSecQuestion()
|
|
|
- };
|
|
|
-
|
|
|
- $scope.updateUserPay = function () {
|
|
|
- var modalInstance = $modal.open({
|
|
|
- animation: true,
|
|
|
- templateUrl: $rootScope.rootPath
|
|
|
- + '/static/view/vendor/modal/updateUserPay.html',
|
|
|
- controller: 'UserPayCtrl',
|
|
|
- resolve: {
|
|
|
- user: function () {
|
|
|
- return angular.copy($rootScope.userInfo);
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- modalInstance.result.then(function () {
|
|
|
- }, function () {
|
|
|
- });
|
|
|
- };
|
|
|
}]);
|
|
|
});
|