|
|
@@ -9,18 +9,6 @@ define(['app/app'], function(app) {
|
|
|
$scope.logistics = {};
|
|
|
$scope.jsonSdAddress = {};
|
|
|
$scope.selfDeliveryPerson = {};
|
|
|
- // 获取已有物流配送商列表
|
|
|
- $scope.initData = function () {
|
|
|
- Distributor.findAllSelected({},function (data) {
|
|
|
- if (data){
|
|
|
- $scope.data_list = data;
|
|
|
- }
|
|
|
- angular.forEach($scope.data_list, function (data) {
|
|
|
- data.isOpen = false;
|
|
|
- })
|
|
|
- })
|
|
|
- };
|
|
|
- $scope.initData();
|
|
|
// 获取快递鸟快递公司列表
|
|
|
$scope.selectedName = ""; // 选中的物流公司名称
|
|
|
var getKdnLogistics = function () {
|
|
|
@@ -32,12 +20,40 @@ define(['app/app'], function(app) {
|
|
|
}, function () {
|
|
|
toaster.pop("error", "错误", "获取快递公司列表失败");
|
|
|
});
|
|
|
- }
|
|
|
+ };
|
|
|
+
|
|
|
+ $scope.initData = function () {
|
|
|
+ Distributor.findAllSelected({},function (data) {
|
|
|
+ if (data){
|
|
|
+ $scope.data_list = data;
|
|
|
+ }
|
|
|
+ angular.forEach($scope.data_list, function (data) {
|
|
|
+ data.isOpen = false;
|
|
|
+ })
|
|
|
+ })
|
|
|
+ };
|
|
|
+ $scope.initData();
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 初始化所有的快递鸟列表
|
|
|
+ */
|
|
|
+ $scope.findAllKdnList = function () {
|
|
|
+ KdnLogistics.getCompanyName({}, function (data) {
|
|
|
+ if (data){
|
|
|
+ $scope.allKdnList = data;
|
|
|
+ }
|
|
|
+ angular.forEach($scope.allKdnList, function (data) {
|
|
|
+ data.isChoosed = false;
|
|
|
+ });
|
|
|
+ }, function (error) {
|
|
|
+
|
|
|
+ })
|
|
|
+ };
|
|
|
+ $scope.findAllKdnList();
|
|
|
|
|
|
$scope.showText = function (data) {
|
|
|
- document.getElementById("addr").value = data;
|
|
|
- $scope.logistics.companyName = data;
|
|
|
- $scope.containsAttr(data);
|
|
|
+ $scope.logistics.companyName = data.companyName;
|
|
|
+ $scope.companyObject = data;
|
|
|
$scope.showCompanyName = false;
|
|
|
// console.log($scope.logistics.companyName);
|
|
|
};
|
|
|
@@ -110,6 +126,7 @@ define(['app/app'], function(app) {
|
|
|
// $scope.checkinvoice.orderId = result.data;
|
|
|
// });
|
|
|
$scope.checkinvoice.jsonSpAddress = angular.fromJson($scope.checkinvoice.jsonSpAddress);
|
|
|
+ $scope.checkinvoice.jsonSpAddress.area = $scope.checkinvoice.jsonSpAddress.area.replace(/,/g,' ');
|
|
|
$scope.checkinvoice.show = false;
|
|
|
//现在默认物公司
|
|
|
$scope.checkinvoice.deliveryType = 'logistics';
|
|
|
@@ -149,6 +166,12 @@ define(['app/app'], function(app) {
|
|
|
}
|
|
|
};
|
|
|
|
|
|
+ //配送方式类型
|
|
|
+ $scope.deliveryMethod = {
|
|
|
+ 1301: '第三方配送',
|
|
|
+ 1302: '卖家配送',
|
|
|
+ 1303: '上门自提'
|
|
|
+ };
|
|
|
|
|
|
$scope.setAddrShow = function(invoice) {
|
|
|
invoice.deliveryShow = "hide";
|
|
|
@@ -191,7 +214,7 @@ define(['app/app'], function(app) {
|
|
|
$scope.isnotCheck = true;
|
|
|
$modal.open({
|
|
|
templateUrl : 'static/view/common/modal/edit_address_modal.html',
|
|
|
- controller : 'editAddrCtrl',
|
|
|
+ controller : 'editAddrDeCtrl',
|
|
|
size : 'lg',
|
|
|
resolve : {
|
|
|
addr : function(){
|
|
|
@@ -204,9 +227,11 @@ define(['app/app'], function(app) {
|
|
|
}else if(!addr){//新增地址
|
|
|
$scope.addresss.push(address);
|
|
|
$scope.jsonSdAddress = address;
|
|
|
+ $scope.jsonSdAddress.area = $scope.jsonSdAddress.area.replace(/,/g,' ');
|
|
|
}else {//只是修改了地址的信息,则做替换的动作就可以了
|
|
|
$scope.addresss[address.num-1] = address;
|
|
|
$scope.jsonSdAddress = address;
|
|
|
+ $scope.jsonSdAddress.area = $scope.jsonSdAddress.area.replace(/,/g,' ');
|
|
|
}
|
|
|
}, function(){
|
|
|
toaster.pop('info', '提示 ' + '您已取消收货地址的编辑');
|
|
|
@@ -217,9 +242,11 @@ define(['app/app'], function(app) {
|
|
|
var loadAddrs = function() {
|
|
|
ShippingAddress.getListEnterprise({ship : false}, function(data) {
|
|
|
$scope.addresss = data;
|
|
|
+ $scope.total = $scope.addresss.length;
|
|
|
$scope.jsonSdAddress = {};
|
|
|
if($scope.addresss.length > 0) {
|
|
|
$scope.jsonSdAddress = $scope.addresss[0];
|
|
|
+ $scope.jsonSdAddress.area = $scope.jsonSdAddress.area.replace(/,/g,' ');
|
|
|
}
|
|
|
}, function(res) {
|
|
|
toaster.pop('error', '错误', res.data);
|
|
|
@@ -273,7 +300,7 @@ define(['app/app'], function(app) {
|
|
|
$scope.onKeyup = function () {
|
|
|
var dom = document.getElementById("ulContent");
|
|
|
// console.log(dom.scrollTop);
|
|
|
- if ($scope.showCompanyName && $scope.matchData){
|
|
|
+ if ($scope.showCompanyName){
|
|
|
if(event.keyCode == 40) { //监听到按下键
|
|
|
$scope.selectIndex ++;
|
|
|
if ($scope.downIndex == 10){
|
|
|
@@ -282,13 +309,13 @@ define(['app/app'], function(app) {
|
|
|
if ($scope.downIndex <= 9){
|
|
|
$scope.downIndex++;
|
|
|
}
|
|
|
- if($scope.selectIndex >= $scope.resultList.length){
|
|
|
+ if($scope.selectIndex >= $scope.data_list.length){
|
|
|
$scope.selectIndex = 0;
|
|
|
dom.scrollTop = 0;
|
|
|
$scope.downIndex = 1;
|
|
|
}
|
|
|
- $scope.logistics.companyName = $scope.resultList[$scope.selectIndex];
|
|
|
- $scope.containsAttr($scope.logistics.companyName);
|
|
|
+ $scope.logistics.companyName = $scope.data_list[$scope.selectIndex].companyName;
|
|
|
+ // $scope.containsAttr($scope.logistics.companyName);
|
|
|
} else if(event.keyCode == 38) { //监听到按上键
|
|
|
$scope.selectIndex --;
|
|
|
if ($scope.downIndex == 1){
|
|
|
@@ -298,12 +325,12 @@ define(['app/app'], function(app) {
|
|
|
$scope.downIndex--;
|
|
|
}
|
|
|
if($scope.selectIndex < 0){
|
|
|
- $scope.selectIndex = $scope.resultList.length - 1;
|
|
|
+ $scope.selectIndex = $scope.data_list.length - 1;
|
|
|
dom.scrollTop = 2400;
|
|
|
$scope.downIndex = 10;
|
|
|
}
|
|
|
- $scope.logistics.companyName = $scope.resultList[$scope.selectIndex];
|
|
|
- $scope.containsAttr($scope.logistics.companyName);
|
|
|
+ $scope.logistics.companyName = $scope.data_list[$scope.selectIndex].companyName;
|
|
|
+ // $scope.containsAttr($scope.logistics.companyName);
|
|
|
} else if(event.keyCode == 13) { //确定键
|
|
|
$scope.showCompanyName = false;
|
|
|
}
|
|
|
@@ -345,16 +372,18 @@ define(['app/app'], function(app) {
|
|
|
// delete $stateParams.ids;
|
|
|
// });
|
|
|
|
|
|
+ // var
|
|
|
+
|
|
|
var isValid = validDeliveryInfo($scope.checkinvoice.deliveryType);
|
|
|
if(!isValid) {
|
|
|
return ;
|
|
|
}
|
|
|
- if ($scope.showTip){
|
|
|
- //验证通过后保存卖家输入额外的快递公司名称
|
|
|
- KdnLogistics.saveSellerLogistics({companyName :$scope.logistics.companyName}, {}, function (data) {
|
|
|
- console.log(data);
|
|
|
- });
|
|
|
- }
|
|
|
+ // if ($scope.showTip){
|
|
|
+ // //验证通过后保存卖家输入额外的快递公司名称
|
|
|
+ // KdnLogistics.saveSellerLogistics({companyName :$scope.logistics.companyName}, {}, function (data) {
|
|
|
+ // console.log(data);
|
|
|
+ // });
|
|
|
+ // }
|
|
|
var sendInfo = {};
|
|
|
if($scope.checkinvoice.deliveryType == 'logistics') {
|
|
|
sendInfo.deliveryType = 'logistics';
|
|
|
@@ -428,6 +457,19 @@ define(['app/app'], function(app) {
|
|
|
invoice.show = false;
|
|
|
invoice.deliveryType = inputType;
|
|
|
};
|
|
|
+
|
|
|
+ var validLogisticsInfo = function (sendType) {
|
|
|
+ if (sendType == 1301){
|
|
|
+ if (!$scope.logistics.companyName){
|
|
|
+ toaster.pop('error', '注意', '请选择物流公司');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (!$scope.logistics.number){
|
|
|
+ toaster.pop('error', '注意', '请填写物流单号');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
|
|
|
var validDeliveryInfo = function(inputType) {
|
|
|
if(angular.equals(inputType, 'logistics')) {
|
|
|
@@ -591,11 +633,11 @@ define(['app/app'], function(app) {
|
|
|
$scope.addDistributor = function () {
|
|
|
$modal.open({
|
|
|
templateUrl : $rootScope.rootPath + '/static/view/vendor/modal/vendor_distributor_manage.html',
|
|
|
- controller : 'vendorDistributorManageCtrl',
|
|
|
+ controller : 'vendorDistributorModalCtrl',
|
|
|
size : 'lg',
|
|
|
resolve : {
|
|
|
allKdnList : function () {
|
|
|
- return $scope.kdnList;
|
|
|
+ return $scope.allKdnList;
|
|
|
},
|
|
|
selectedList : function () {
|
|
|
return $scope.data_list;
|
|
|
@@ -612,64 +654,100 @@ define(['app/app'], function(app) {
|
|
|
}]);
|
|
|
|
|
|
//地址编辑模态框
|
|
|
- app.register.controller('editAddrCtrl', ['$scope', 'addr', '$modalInstance', 'toaster', '$http', 'ShippingAddress', function($scope, addr, $modalInstance, toaster, $http, ShippingAddress){
|
|
|
- $scope.isSetTop = false;
|
|
|
+ app.register.controller('editAddrDeCtrl', ['$scope', 'addr', '$modalInstance', 'toaster', '$http', 'ShippingAddress', function($scope, addr, $modalInstance, toaster, $http, ShippingAddress){
|
|
|
+ if (addr){
|
|
|
+ $scope.isSetTop = addr.num == 1;
|
|
|
+ $scope.isModify = true;
|
|
|
+ }else {
|
|
|
+ $scope.isSetTop = false;
|
|
|
+ $scope.isModify = false;
|
|
|
+ }
|
|
|
|
|
|
$scope.isSendType = true;
|
|
|
//验证数据
|
|
|
$scope.checkeds = {};
|
|
|
- //验证数据
|
|
|
- $scope.checkForm = function(name, num) {
|
|
|
- var size;
|
|
|
- if(num == 1) {
|
|
|
- size = document.getElementById("userName").value.length;
|
|
|
- console.log(size);
|
|
|
- if (size > 10) {
|
|
|
- $scope.userError = true;
|
|
|
- return;
|
|
|
- }
|
|
|
- $scope.userError = false;
|
|
|
- } else if(num == 2) {
|
|
|
- size = document.getElementById("tel").value.length;
|
|
|
- console.log(size);
|
|
|
- if (size > 11) {
|
|
|
- $scope.telError = true;
|
|
|
- return;
|
|
|
- }
|
|
|
- $scope.telError = false;
|
|
|
- } else if(num == 3) {
|
|
|
- // size = document.getElementById("addr").value.length;
|
|
|
- size = $scope.address.detailAddress.length;
|
|
|
- console.log(size);
|
|
|
- if (size > 30){
|
|
|
- $scope.addrError = true;
|
|
|
- return;
|
|
|
- }
|
|
|
- $scope.addrError = false;
|
|
|
- }
|
|
|
- };
|
|
|
+
|
|
|
$http.get('static/js/prod/data/city.json').success(function(data) {
|
|
|
$scope.division = data;
|
|
|
if(addr){
|
|
|
$scope.address = addr;
|
|
|
//拼装下拉选择框
|
|
|
- var arr = addr.area.split(',');
|
|
|
+ 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(e) {
|
|
|
+ }).error(function() {
|
|
|
toaster.pop('error', '系统错误 ' + '加载城市信息失败');
|
|
|
});
|
|
|
|
|
|
+ $scope.checkForm = function(num) {
|
|
|
+ var size;
|
|
|
+ if(num == 1) {
|
|
|
+ if ($scope.address.name){
|
|
|
+ size = $scope.address.name.replace(/[^x00-xFF]/g,'**').length;
|
|
|
+ if (size > 20) {
|
|
|
+ $scope.userError = true;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ $scope.userError = false;
|
|
|
+ }
|
|
|
+ } else if(num == 2) {
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if(num == 3) {
|
|
|
+ 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.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 ;
|
|
|
+ }
|
|
|
+
|
|
|
//拼装地区
|
|
|
- /**
|
|
|
- * TODO 这里没做校验
|
|
|
- */
|
|
|
var strAres = address.province + ',' + address.city + ',' + address.district;
|
|
|
address.area = strAres;
|
|
|
|
|
|
@@ -688,9 +766,10 @@ define(['app/app'], function(app) {
|
|
|
};
|
|
|
}]);
|
|
|
|
|
|
- app.register.controller('vendorDistributorManageCtrl', ['$scope','$rootScope','$modal','toaster','KdnLogistics','Distributor','BaseService','ngTableParams','allKdnList','selectedList','$modalInstance', function ($scope, $rootScope, $modal, toaster, KdnLogistics, Distributor, BaseService, ngTableParams, allKdnList, selectedList, $modalInstance) {
|
|
|
+ app.register.controller('vendorDistributorModalCtrl', ['$scope','$rootScope','$modal','toaster','KdnLogistics','Distributor','BaseService','ngTableParams','$modalInstance','$q','selectedList','allKdnList', function ($scope, $rootScope, $modal, toaster, KdnLogistics, Distributor, BaseService, ngTableParams, $modalInstance, $q, selectedList, allKdnList) {
|
|
|
//获取快递鸟信息
|
|
|
$scope.$$kdnData = {};
|
|
|
+ $scope.selectedList = selectedList;
|
|
|
$scope.allKdnList = allKdnList;
|
|
|
$scope.chooseList = [];
|
|
|
$scope.selectFlag = [];
|
|
|
@@ -911,6 +990,13 @@ define(['app/app'], function(app) {
|
|
|
$scope.keyword = "";
|
|
|
};
|
|
|
|
|
|
+ $scope.removeDistributor = function (data, index) {
|
|
|
+ $scope.chooseList.splice(index, 1);
|
|
|
+ if (data.code){
|
|
|
+ $scope.selectFlag[data.code].isChoosed = !$scope.selectFlag[data.code].isChoosed;
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
$scope.ChooseDistributor = function (data) {
|
|
|
if ($scope.selectFlag[data.code].isChoosed){
|
|
|
if ($scope.chooseList){
|