|
|
@@ -278,7 +278,11 @@ define(['app/app'], function(app) {
|
|
|
return false;
|
|
|
},
|
|
|
isModify : function () {
|
|
|
- return true;
|
|
|
+ if (address){
|
|
|
+ return true;
|
|
|
+ }else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}).result.then(function(address){
|
|
|
@@ -286,133 +290,76 @@ define(['app/app'], function(app) {
|
|
|
$scope.loadAddresses();
|
|
|
}
|
|
|
}, function(){
|
|
|
- toaster.pop('info', '提示 ' + '您已取消发货地址的编辑');
|
|
|
+ // toaster.pop('info', '提示 ' + '您已取消发货地址的编辑');
|
|
|
});
|
|
|
};
|
|
|
|
|
|
- $scope.addAddress = function () {
|
|
|
- $modal.open({
|
|
|
- templateUrl : $rootScope.rootPath + '/static/view/common/modal/edit_address_modal.html',
|
|
|
- controller : 'addAddrCtrl',
|
|
|
- size : 'lg',
|
|
|
- resolve : {
|
|
|
- isSendType : function () {
|
|
|
- return false;
|
|
|
- },
|
|
|
- isModify : function () {
|
|
|
- return false;
|
|
|
- }
|
|
|
- }
|
|
|
- }).result.then(function(address){
|
|
|
- if (address) {
|
|
|
- $scope.loadAddresses();
|
|
|
- }
|
|
|
- }, function(){
|
|
|
- toaster.pop('info', '提示 ' + '您已取消发货地址的编辑');
|
|
|
- });
|
|
|
- };
|
|
|
-
|
|
|
- //地址新增模态框
|
|
|
- app.register.controller('addAddrCtrl', ['$scope', '$modalInstance', 'toaster', '$http', 'ShippingAddress', 'isSendType', 'isModify', function($scope, $modalInstance, toaster, $http, ShippingAddress, isSendType, isModify){
|
|
|
- $scope.isSendType = isSendType;
|
|
|
- $scope.isSetTop = false;
|
|
|
- $scope.isModify = isModify;
|
|
|
- $http.get('static/js/prod/data/city.json').success(function(data) {
|
|
|
- $scope.division = data;
|
|
|
- }).error(function() {
|
|
|
- toaster.pop('error', '系统错误 ' + '加载城市信息失败');
|
|
|
- });
|
|
|
-
|
|
|
- $scope.checkForm = function(name, num) {
|
|
|
- var size;
|
|
|
- if(num == 1) {
|
|
|
- size = document.getElementById("userName").value.length;
|
|
|
- if (size > 10) {
|
|
|
- $scope.userError = true;
|
|
|
- return;
|
|
|
- }
|
|
|
- $scope.userError = false;
|
|
|
- } else if(num == 2) {
|
|
|
- size = document.getElementById("tel").value.length;
|
|
|
- if (size > 11) {
|
|
|
- $scope.telError = true;
|
|
|
- return;
|
|
|
- }
|
|
|
- $scope.telError = false;
|
|
|
- } else if(num == 3) {
|
|
|
- size = document.getElementById("addr").value.length;
|
|
|
- if (size > 30) {
|
|
|
- $scope.addrError = true;
|
|
|
- return;
|
|
|
- }
|
|
|
- $scope.addrError = false;
|
|
|
- }
|
|
|
- };
|
|
|
-
|
|
|
- $scope.save = function () {
|
|
|
- var address = $scope.address;
|
|
|
-
|
|
|
- //拼装地区
|
|
|
- address.area = address.province + ',' + address.city + ',' + address.district;
|
|
|
-
|
|
|
-
|
|
|
- // send属性 控制本地址是否是发货地址
|
|
|
- ShippingAddress.save({isSetTop: $scope.isSetTop, send: $scope.isSendType, isPersonal: !$scope.isSendType}, address, function(data){
|
|
|
- toaster.pop('success', '成功 ', '保存收货地址成功');
|
|
|
- $modalInstance.close(data);
|
|
|
- }, function(){
|
|
|
- toaster.pop('error', '系统错误 ', '保存收货地址失败');
|
|
|
- });
|
|
|
- };
|
|
|
-
|
|
|
- $scope.cancel = function() {
|
|
|
- $modalInstance.dismiss();
|
|
|
- };
|
|
|
- }]);
|
|
|
-
|
|
|
//地址编辑模态框
|
|
|
app.register.controller('editAddrCtrl', ['$scope', 'addr', '$modalInstance', 'toaster', '$http', 'ShippingAddress', 'isSendType', 'isModify', function($scope, addr, $modalInstance, toaster, $http, ShippingAddress, isSendType, isModify){
|
|
|
- $scope.isSetTop = addr.num == 1;
|
|
|
+ if (addr){
|
|
|
+ $scope.isSetTop = addr.num == 1;
|
|
|
+ }else {
|
|
|
+ $scope.isSetTop = false;
|
|
|
+ }
|
|
|
$scope.isSendType = isSendType;
|
|
|
$scope.isModify = isModify;
|
|
|
|
|
|
- $scope.checkForm = function(name, num) {
|
|
|
+ $scope.checkForm = function(num) {
|
|
|
var size;
|
|
|
if(num == 1) {
|
|
|
- size = document.getElementById("userName").value.length;
|
|
|
- if (size > 10) {
|
|
|
- $scope.userError = true;
|
|
|
- return;
|
|
|
+ if ($scope.address.name){
|
|
|
+ size = $scope.address.name.replace(/[^x00-xFF]/g,'**').length;
|
|
|
+ if (size > 20) {
|
|
|
+ console.log(size);
|
|
|
+ $scope.userError = true;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ $scope.userError = false;
|
|
|
}
|
|
|
- $scope.userError = false;
|
|
|
} else if(num == 2) {
|
|
|
- size = document.getElementById("tel").value.length;
|
|
|
- if (size > 11) {
|
|
|
- $scope.telError = true;
|
|
|
- return;
|
|
|
+ if ($scope.address.tel){
|
|
|
+ size = $scope.address.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.address.tel)){
|
|
|
+ $scope.telPatternError = false;
|
|
|
+ }else {
|
|
|
+ $scope.telPatternError = true;
|
|
|
+ }
|
|
|
}
|
|
|
- $scope.telError = false;
|
|
|
} else if(num == 3) {
|
|
|
- size = document.getElementById("addr").value.length;
|
|
|
- if (size > 30) {
|
|
|
- $scope.addrError = true;
|
|
|
- return;
|
|
|
+ if ($scope.address.detailAddress){
|
|
|
+ size = $scope.address.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.address.email.length > 0 && !emailPatt.test($scope.address.email)){
|
|
|
+ $scope.emailPatternError = true;
|
|
|
+ }else {
|
|
|
+ $scope.emailPatternError = false;
|
|
|
}
|
|
|
- $scope.addrError = false;
|
|
|
}
|
|
|
};
|
|
|
|
|
|
$http.get('static/js/prod/data/city.json').success(function(data) {
|
|
|
$scope.division = data;
|
|
|
if(addr && addr.area){
|
|
|
- $scope.address = addr;
|
|
|
+ // $scope.address = addr;
|
|
|
//拼装下拉选择框
|
|
|
var arr = addr.area.split(',');
|
|
|
addr.province = arr[0];
|
|
|
addr.city = arr[1];
|
|
|
addr.district = arr[2];
|
|
|
$scope.address = addr;
|
|
|
- $scope.addr = true;
|
|
|
}
|
|
|
}).error(function() {
|
|
|
toaster.pop('error', '系统错误 ' + '加载城市信息失败');
|
|
|
@@ -421,6 +368,21 @@ define(['app/app'], function(app) {
|
|
|
$scope.save = function () {
|
|
|
var address = $scope.address;
|
|
|
|
|
|
+ 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;
|
|
|
|