|
|
@@ -91,7 +91,9 @@ define([ 'app/app' ], function(app) {
|
|
|
$scope.mapArray = [];
|
|
|
if ($scope.modifyRule.areas){
|
|
|
var data = angular.fromJson($scope.modifyRule.areas);
|
|
|
- $scope.mapArray = data;
|
|
|
+ $scope.tree = $scope.tree ? $scope.tree : new TreeData($scope.cityData);
|
|
|
+ $scope.tree.newInitData(data);
|
|
|
+ $scope.mapArray = $scope.tree.getChecked();
|
|
|
}
|
|
|
}else {
|
|
|
$scope.isModify = false;
|
|
|
@@ -107,12 +109,19 @@ define([ 'app/app' ], function(app) {
|
|
|
Enterprise.getCurrencyByRegisterAddress({}, {} ,function (data) {
|
|
|
if (data){
|
|
|
$scope.modifyRule.currencyName = data.data;
|
|
|
- $scope.currencySymbol = $scope.modifyRule.currencyName == "RMB" ? "¥" : "$";
|
|
|
}
|
|
|
}, function (error) {
|
|
|
toaster.pop('error', "获取企业币别信息失败");
|
|
|
});
|
|
|
|
|
|
+ /**
|
|
|
+ * 目前存在没有注册地址的公司,暂时设为RMB
|
|
|
+ */
|
|
|
+ if (!$scope.modifyRule.currencyName){
|
|
|
+ $scope.modifyRule.currencyName = 'RMB';
|
|
|
+ }
|
|
|
+ $scope.currencySymbol = $scope.modifyRule.currencyName == "RMB" ? "¥" : "$";
|
|
|
+
|
|
|
DistributionRule.findCountOfRule({}, {}, function (data) {
|
|
|
if (data){
|
|
|
var num = data.data;
|
|
|
@@ -197,7 +206,7 @@ define([ 'app/app' ], function(app) {
|
|
|
*/
|
|
|
$scope.addQtyFare = function (data) {
|
|
|
if (Number(data.start) == 1000000){
|
|
|
- toaster.pop('warning', '提示', '允许输入的最大金额为'+$scope.currencySymbol+'1,000,000,请修改后再新增');
|
|
|
+ toaster.pop('warning', '提示', '已达到最大值1,000,000,请修改后再新增');
|
|
|
return;
|
|
|
}
|
|
|
var index = $scope.fareArray.length-1;
|
|
|
@@ -219,10 +228,6 @@ define([ 'app/app' ], function(app) {
|
|
|
};
|
|
|
|
|
|
$scope.inputFare = function (data) {
|
|
|
- // if(!data.fare) {
|
|
|
- // data.fare = 0;
|
|
|
- // return false;
|
|
|
- // }
|
|
|
if(isNaN(data.fare)){
|
|
|
data.fare = "";
|
|
|
toaster.pop('warning', '提示', '运费必须是整数');
|
|
|
@@ -235,6 +240,7 @@ define([ 'app/app' ], function(app) {
|
|
|
}
|
|
|
if(Number(data.fare) > 100000){
|
|
|
data.fare = 100000;
|
|
|
+ toaster.pop('warning', '提示', '请勿超过100,100');
|
|
|
}
|
|
|
if(data.fare.length > 0){
|
|
|
data.fare = Number(data.fare);
|
|
|
@@ -272,19 +278,19 @@ define([ 'app/app' ], function(app) {
|
|
|
}
|
|
|
if(Number(data.end) > 1000000){
|
|
|
data.end = "";
|
|
|
- toaster.pop('warning', '提示', '允许输入的最大金额为'+$scope.currencySymbol+'1,000,000');
|
|
|
+ toaster.pop('warning', '提示', '请勿超过1,000,000');
|
|
|
return;
|
|
|
}
|
|
|
if(Number(data.end) <= Number(data.start)) {
|
|
|
data.end = "";
|
|
|
- toaster.pop('warning', '提示', '所输金额不能比该行初始金额小');
|
|
|
+ toaster.pop('warning', '提示', '输入值应大于该行起始金额');
|
|
|
return;
|
|
|
}
|
|
|
if ($scope.fareArray[index+1].end){
|
|
|
if($scope.fareArray[index+1].end.length != 0){
|
|
|
if (Number(data.end) >= Number($scope.fareArray[index+1].end)){
|
|
|
data.end = "";
|
|
|
- toaster.pop('warning', '提示', '所输金额不能比下一行结束金额大');
|
|
|
+ toaster.pop('warning', '提示', '输入值应小于下一行结束金额');
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
@@ -350,7 +356,23 @@ define([ 'app/app' ], function(app) {
|
|
|
return false;
|
|
|
}
|
|
|
if ($scope.mapArray.length > 0){
|
|
|
- $scope.modifyRule.qtyArea = angular.toJson($scope.mapArray);
|
|
|
+ var resultArray = angular.copy($scope.mapArray);
|
|
|
+ angular.forEach($scope.mapArray, function (item, index) {
|
|
|
+ if (item.mainland && !item.province){
|
|
|
+ resultArray.splice(index, 1);
|
|
|
+ angular.forEach($scope.tree.$data, function (v) {
|
|
|
+ if (v.label == item.mainland){
|
|
|
+ angular.forEach(v.items, function (p) {
|
|
|
+ var object = {
|
|
|
+ province : p.label
|
|
|
+ };
|
|
|
+ resultArray.push(object);
|
|
|
+ })
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ $scope.modifyRule.qtyArea = angular.toJson(resultArray);
|
|
|
}else {
|
|
|
toaster.pop('error', "您还没有选择任何地区");
|
|
|
return false;
|
|
|
@@ -453,7 +475,28 @@ define([ 'app/app' ], function(app) {
|
|
|
$scope.chooseBox = false;
|
|
|
$scope.cancel = function () {
|
|
|
$scope.resetData($scope.tree.$data);
|
|
|
- $scope.tree.initData($scope.mapArray);
|
|
|
+ if ($scope.mapArray.length > 0){
|
|
|
+ var resultArray = [];
|
|
|
+ angular.forEach($scope.mapArray, function (item) {
|
|
|
+ if (item.mainland && !item.province){
|
|
|
+ angular.forEach($scope.tree.$data, function (v) {
|
|
|
+ if (v.label == item.mainland){
|
|
|
+ angular.forEach(v.items, function (p) {
|
|
|
+ var object = {
|
|
|
+ province : p.label
|
|
|
+ };
|
|
|
+ resultArray.push(object);
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if (resultArray.length == 0){
|
|
|
+ $scope.tree.newInitData($scope.mapArray);
|
|
|
+ }else {
|
|
|
+ $scope.tree.newInitData(resultArray);
|
|
|
+ }
|
|
|
+ }
|
|
|
$scope.chooseBox = false;
|
|
|
};
|
|
|
|
|
|
@@ -484,7 +527,7 @@ define([ 'app/app' ], function(app) {
|
|
|
toaster.pop("info", "您还没有选择任何地区");
|
|
|
return;
|
|
|
}
|
|
|
- $scope.tree.initData($scope.mapArray);
|
|
|
+ $scope.tree.newInitData($scope.mapArray);
|
|
|
$scope.chooseBox = false;
|
|
|
};
|
|
|
|
|
|
@@ -564,8 +607,8 @@ define([ 'app/app' ], function(app) {
|
|
|
// 选择地区
|
|
|
$scope.chooseAddress = function () {
|
|
|
$scope.chooseBox = true;
|
|
|
- $scope.tree = new TreeData($scope.cityData);
|
|
|
- $scope.tree.initData($scope.mapArray);
|
|
|
+ $scope.tree = $scope.tree ? $scope.tree : new TreeData($scope.cityData);
|
|
|
+ $scope.tree.newInitData($scope.mapArray);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -574,8 +617,8 @@ define([ 'app/app' ], function(app) {
|
|
|
* @param isAdd
|
|
|
* @param active
|
|
|
*/
|
|
|
- $scope.changeActive = function (rule, isAdd, active) {
|
|
|
- DistributionRule.saveRule({isAdd:isAdd,isActive:active}, rule, function (data) {
|
|
|
+ $scope.changeActive = function (ruleId, active) {
|
|
|
+ DistributionRule.changeActive({id:ruleId, isActive:active}, {}, function (data) {
|
|
|
if (data){
|
|
|
$scope.ruleTableParams.reload();
|
|
|
}
|
|
|
@@ -622,69 +665,60 @@ define([ 'app/app' ], function(app) {
|
|
|
var me = this;
|
|
|
me.$data = tree;
|
|
|
|
|
|
- me.initData = function (initData) {
|
|
|
- console.log(initData);
|
|
|
+ /**
|
|
|
+ * 根据已选地区映射到树对象中
|
|
|
+ * @param initData
|
|
|
+ */
|
|
|
+ me.newInitData = function (initData) {
|
|
|
+ if (initData){
|
|
|
+ angular.forEach(me.$data, function (v) {
|
|
|
+ me.initData(v.items, initData);
|
|
|
+ })
|
|
|
+ }
|
|
|
+ me._updateParentsCheck(me.$data);
|
|
|
+ };
|
|
|
+
|
|
|
+ me.initData = function (data, initData) {
|
|
|
if(initData) {
|
|
|
angular.forEach(initData, function (v) {
|
|
|
var p = {};
|
|
|
- for(var i in me.$data) {
|
|
|
- var value = me.$data[i];
|
|
|
- if(value.label == v.mainland) {
|
|
|
+ for(var i in data) {
|
|
|
+ var value = data[i];//获取单个省
|
|
|
+ if(value.label == v.province) {
|
|
|
p = value; break;
|
|
|
}
|
|
|
}
|
|
|
p.checked = true;
|
|
|
- if(v.province) {
|
|
|
+ if(v.city) {
|
|
|
var c = {};
|
|
|
for(var i in p.items) {
|
|
|
- var value = p.items[i];
|
|
|
- if(value.label == v.province) {
|
|
|
+ var value = p.items[i];//获取单个市
|
|
|
+ if(value.label == v.city) {
|
|
|
c = value; break;
|
|
|
}
|
|
|
}
|
|
|
c.checked = true;
|
|
|
- if(v.city) {
|
|
|
- var a = {};
|
|
|
+ if(v.area) {
|
|
|
for(var i in c.items) {
|
|
|
- var value = c.items[i];
|
|
|
- if(value.label == v.city) {
|
|
|
- a = value; break;
|
|
|
- }
|
|
|
- }
|
|
|
- a.checked = true;
|
|
|
- if (v.area){
|
|
|
- for(var i in a.items){
|
|
|
- var m = a.items[i];
|
|
|
- if (m.label == v.area){
|
|
|
- m.checked = true;break;
|
|
|
- }
|
|
|
+ var a = c.items[i];//获取单个区
|
|
|
+ if(a.label == v.area) {
|
|
|
+ a.checked = true; break;
|
|
|
}
|
|
|
- }else {
|
|
|
- angular.forEach(a.items, function (area) {
|
|
|
- area.checked = true;
|
|
|
- })
|
|
|
}
|
|
|
- } else {
|
|
|
- angular.forEach(c.items, function (city) {
|
|
|
- city.checked = true;
|
|
|
- angular.forEach(city.items, function (area) {
|
|
|
- area.checked = true;
|
|
|
- })
|
|
|
+ }else {
|
|
|
+ angular.forEach(c.items, function (area) {
|
|
|
+ area.checked = true;
|
|
|
})
|
|
|
}
|
|
|
- } else {
|
|
|
- angular.forEach(p.items, function (province) {
|
|
|
- province.checked = true;
|
|
|
- angular.forEach(province.items, function (city) {
|
|
|
- city.checked = true;
|
|
|
- angular.forEach(city.items, function (area) {
|
|
|
- area.checked = true;
|
|
|
- })
|
|
|
+ }else {
|
|
|
+ angular.forEach(p.items, function (city) {
|
|
|
+ city.checked = true;
|
|
|
+ angular.forEach(city.items, function (area) {
|
|
|
+ area.checked = true;
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
- me._updateParentsCheck(me.$data);
|
|
|
}
|
|
|
};
|
|
|
|
|
|
@@ -857,7 +891,7 @@ define([ 'app/app' ], function(app) {
|
|
|
if (data.checked){
|
|
|
if(!data.semiChecked) {
|
|
|
var second = {
|
|
|
- mainland : v.label,
|
|
|
+ // mainland : v.label,
|
|
|
province : data.label
|
|
|
};
|
|
|
addressArray.push(second);
|
|
|
@@ -865,7 +899,7 @@ define([ 'app/app' ], function(app) {
|
|
|
angular.forEach(data.items, function (item) {
|
|
|
if(!item.semiChecked) {
|
|
|
var third = {
|
|
|
- mainland : v.label,
|
|
|
+ // mainland : v.label,
|
|
|
province : data.label,
|
|
|
city : item.label
|
|
|
};
|
|
|
@@ -874,7 +908,7 @@ define([ 'app/app' ], function(app) {
|
|
|
angular.forEach(item.items, function (m) {
|
|
|
if (m.checked){
|
|
|
var forth = {
|
|
|
- mainland : v.label,
|
|
|
+ // mainland : v.label,
|
|
|
province : data.label,
|
|
|
city : item.label,
|
|
|
area : m.label
|