|
|
@@ -11,7 +11,7 @@ define(["app/app", 'jquery-summernote'], function(app) {
|
|
|
* */
|
|
|
var enIdFilter = $filter('EncryptionFilter');
|
|
|
$scope.cartExist = true;
|
|
|
- $scope.isLoading = false;
|
|
|
+ $scope.isDataLoading = false;
|
|
|
$scope.errors = null;
|
|
|
$scope.goodsInfo = [];
|
|
|
$scope.carts = [];
|
|
|
@@ -37,60 +37,53 @@ define(["app/app", 'jquery-summernote'], function(app) {
|
|
|
$scope.cartIsEmpty = true;
|
|
|
$scope.countByPage = 0;
|
|
|
$scope.cartMap = [];
|
|
|
+ /**
|
|
|
+ * 全选状态信息
|
|
|
+ */
|
|
|
+ $scope.isChooseAll = false;
|
|
|
|
|
|
$scope.loadData = function (){
|
|
|
- if(!$scope.isLoading) {
|
|
|
- $scope.isLoading = true;
|
|
|
- Cart.getPageInfo($scope.pageInfo, function(data) {
|
|
|
- $scope.isLoading = false;
|
|
|
- $scope.total = data.totalElements;
|
|
|
- $scope.pageNum = data.totalPages;
|
|
|
-
|
|
|
- angular.forEach(data.content, function (cart) {
|
|
|
- if(cart.currencyName.indexOf("RMB") > -1) {
|
|
|
- cart.buyCurrency = "RMB";
|
|
|
- }else {
|
|
|
- cart.buyCurrency = "USD";
|
|
|
- }
|
|
|
- cart.isSelect = false;
|
|
|
- //计算分段和统计一下价格
|
|
|
- $scope.getPrice(cart);
|
|
|
-
|
|
|
- //便于后期循环
|
|
|
- $scope.carts.push(cart);
|
|
|
- $scope.disabledAddAndSub(cart);
|
|
|
- $scope.countByPage += 1;
|
|
|
- var isContain = false;
|
|
|
- for (var i = 0; i < $scope.cartMap.length; i++) {
|
|
|
- if(angular.equals($scope.cartMap[i].name, cart.storeName)) {
|
|
|
- $scope.cartMap[i].arr.push(cart);
|
|
|
- isContain = true;
|
|
|
- }
|
|
|
- }
|
|
|
- if(!isContain) {
|
|
|
- var obj = {};
|
|
|
- obj.name = cart.storeName;
|
|
|
- obj.arr = [];
|
|
|
- obj.arr.push(cart);
|
|
|
- $scope.cartMap.push(obj);
|
|
|
+ Cart.getPageInfo($scope.pageInfo, function(data) {
|
|
|
+ $scope.isDataLoading = false;
|
|
|
+ $scope.total = data.totalElements;
|
|
|
+ $scope.pageNum = data.totalPages;
|
|
|
+
|
|
|
+ angular.forEach(data.content, function (cart) {
|
|
|
+ cart.buyCurrency = cart.currencyName.indexOf("RMB") > -1 ? "RMB" : "USD";
|
|
|
+ cart.isSelect = false;
|
|
|
+ //计算分段和统计一下价格
|
|
|
+ $scope.getPrice(cart);
|
|
|
+
|
|
|
+ //便于后期循环
|
|
|
+ $scope.carts.push(cart);
|
|
|
+ $scope.disabledAddAndSub(cart);
|
|
|
+ $scope.countByPage += 1;
|
|
|
+ var isContain = false;
|
|
|
+ for (var i = 0; i < $scope.cartMap.length; i++) {
|
|
|
+ if(angular.equals($scope.cartMap[i].name, cart.storeName)) {
|
|
|
+ $scope.cartMap[i].arr.push(cart);
|
|
|
+ isContain = true;
|
|
|
}
|
|
|
- });
|
|
|
- if(!$scope.carts.length) {
|
|
|
- $scope.cartIsEmpty = true;
|
|
|
- }else {
|
|
|
- $scope.cartIsEmpty = false;
|
|
|
}
|
|
|
- //设置全选的复选框
|
|
|
- $scope.isChooseAll = $scope.isAllSelect($scope.carts);
|
|
|
+ if(!isContain) {
|
|
|
+ var obj = {};
|
|
|
+ obj.name = cart.storeName;
|
|
|
+ obj.arr = [];
|
|
|
+ obj.arr.push(cart);
|
|
|
+ $scope.cartMap.push(obj);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ $scope.cartIsEmpty = !$scope.carts.length ? true : false;
|
|
|
+ //设置全选的复选框
|
|
|
+ $scope.isChooseAll = $scope.isAllSelect($scope.carts);
|
|
|
|
|
|
- //设置店铺复选框的状态
|
|
|
- angular.forEach($scope.cartMap, function (store) {
|
|
|
- $scope.selectedStore[store.name] = $scope.isAllSelect(store.arr);
|
|
|
- });
|
|
|
- },function() {
|
|
|
- toaster.pop('error', "提示", "获取购物车信息失败,请刷新页面");
|
|
|
+ //设置店铺复选框的状态
|
|
|
+ angular.forEach($scope.cartMap, function (store) {
|
|
|
+ $scope.selectedStore[store.name] = $scope.isAllSelect(store.arr);
|
|
|
});
|
|
|
- }
|
|
|
+ },function() {
|
|
|
+ toaster.pop('error', "提示", "获取购物车信息失败,请刷新页面");
|
|
|
+ });
|
|
|
};
|
|
|
|
|
|
$scope.loadData();
|
|
|
@@ -100,8 +93,11 @@ define(["app/app", 'jquery-summernote'], function(app) {
|
|
|
*/
|
|
|
$scope.scrollLoadData = function () {
|
|
|
if($scope.pageInfo.page < $scope.pageNum) {
|
|
|
- $scope.pageInfo.page++;
|
|
|
- $scope.loadData();
|
|
|
+ if(!$scope.isDataLoading) {
|
|
|
+ $scope.isDataLoading = true;
|
|
|
+ $scope.pageInfo.page++;
|
|
|
+ $scope.loadData();
|
|
|
+ }
|
|
|
}
|
|
|
};
|
|
|
|
|
|
@@ -232,12 +228,15 @@ define(["app/app", 'jquery-summernote'], function(app) {
|
|
|
if (c.number < c.goods.minBuyQty || !c.number) {
|
|
|
toaster.pop("info", "提示", "该商品最少购买" + c.goods.minBuyQty + "件");
|
|
|
c.number = c.goods.minBuyQty;
|
|
|
- }else if(c.number > c.goods.reserve){
|
|
|
+ }else if(c.number <= c.goods.reserve){
|
|
|
+ c.number = Number(NumberService.sub(Number(c.number), c.number % c.goods.minPackQty));
|
|
|
+ }else{
|
|
|
toaster.pop("info", "提示", "库存不足");
|
|
|
if(c.number > c.goods.reserve) {
|
|
|
c.number = Number(NumberService.sub(c.goods.reserve, c.goods.reserve % c.goods.minPackQty));
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
$scope.disabledAddAndSub(c);
|
|
|
$scope.getPrice(c);
|
|
|
//计算总金额,统计购买器件数
|
|
|
@@ -572,11 +571,6 @@ define(["app/app", 'jquery-summernote'], function(app) {
|
|
|
* 选中操作
|
|
|
**********************************************************************/
|
|
|
|
|
|
- /**
|
|
|
- * 全选状态信息
|
|
|
- */
|
|
|
- $scope.isChooseAll = false;
|
|
|
-
|
|
|
/**
|
|
|
* 全选操作
|
|
|
*/
|
|
|
@@ -613,13 +607,18 @@ define(["app/app", 'jquery-summernote'], function(app) {
|
|
|
|
|
|
//检查是否所有的状态都已经选中或者取消了。
|
|
|
$scope.isAllSelect = function (carts) {
|
|
|
- var isAllChecked = true;//假定都选中,
|
|
|
- angular.forEach(carts, function(cart) {
|
|
|
- if(cart.status != 1 && !cart.isSelect) {
|
|
|
- isAllChecked = false;
|
|
|
+ var isAllChecked = true;//假定都选中
|
|
|
+ var isAlldisabled = true;
|
|
|
+ for(var i = 0; i < carts.length; i++) {
|
|
|
+ var cart = carts[i];
|
|
|
+ if(cart.status != 1) {
|
|
|
+ isAlldisabled = false;
|
|
|
+ if(!cart.isSelect) {
|
|
|
+ isAllChecked = false;
|
|
|
+ }
|
|
|
}
|
|
|
- });
|
|
|
- return isAllChecked;
|
|
|
+ }
|
|
|
+ return !isAlldisabled&&isAllChecked;
|
|
|
};
|
|
|
/**
|
|
|
* 店铺选中状态信息
|
|
|
@@ -926,7 +925,9 @@ define(["app/app", 'jquery-summernote'], function(app) {
|
|
|
uuid: commodity.uuid,
|
|
|
batchCode: commodity.batchCode,
|
|
|
number: number ? number : commodity.minBuyQty,
|
|
|
- currencyName: currency ? currency == 'RMB-USD' ? 'RMB' : currency : ''
|
|
|
+ currencyName: currency ? currency == 'RMB-USD' ? 'RMB' : currency : '',
|
|
|
+ minPackQty : commodity.minPackQty,
|
|
|
+ storeUuid : commodity.storeid
|
|
|
};
|
|
|
var goodsList = [];
|
|
|
goodsList.push(cart);
|