|
|
@@ -47,7 +47,10 @@ define(['app/app'], function(app) {
|
|
|
});
|
|
|
|
|
|
// 搜索
|
|
|
- $scope.onSearch = function(){
|
|
|
+ $scope.onSearch = function(searchStatus){
|
|
|
+ if (searchStatus) {
|
|
|
+ $scope.searchStatus = searchStatus;
|
|
|
+ }
|
|
|
$scope.seekPurchaseTableParams.reload();
|
|
|
}
|
|
|
|
|
|
@@ -64,6 +67,7 @@ define(['app/app'], function(app) {
|
|
|
} else if (status == 1) {
|
|
|
seekPurchase.getMallGoodsList({spId: seek.spId}, function(data) {
|
|
|
$scope.goods = data;
|
|
|
+ initFragments();
|
|
|
});
|
|
|
}
|
|
|
seek.$status = status;
|
|
|
@@ -74,7 +78,7 @@ define(['app/app'], function(app) {
|
|
|
// 获取报价列表 getSeekPurchaseOfferPageInfo 参数:分页参数,spId
|
|
|
|
|
|
|
|
|
- $scope.condition = {endDateOpen:false, startDateOpen: false};
|
|
|
+ $scope.condition = {endDateOpen:false, startDateOpen: false, deadlineOpen: false};
|
|
|
// 打开日期选择框
|
|
|
$scope.openDatePicker = function ($event, item, openParam,status) {
|
|
|
if (status != null) {
|
|
|
@@ -147,5 +151,170 @@ define(['app/app'], function(app) {
|
|
|
$scope.getHours = function (timeStamp) {
|
|
|
return Math.floor((timeStamp / (1000 * 60 * 60)) % 24);
|
|
|
}
|
|
|
+
|
|
|
+ /*
|
|
|
+ * input 校验
|
|
|
+ * */
|
|
|
+ $scope.fragments = [];
|
|
|
+ function initFragment (commodity) {
|
|
|
+ if (!commodity) {
|
|
|
+ return {};
|
|
|
+ }
|
|
|
+ var fragment = {};
|
|
|
+ var prices = commodity.prices[0];
|
|
|
+ fragment.num = commodity.minBuyQty;
|
|
|
+ fragment.prices = prices;
|
|
|
+
|
|
|
+ if (commodity.currencyName !== 'USD') {
|
|
|
+ fragment.currency = 'RMB';
|
|
|
+ } else {
|
|
|
+ fragment.currency = 'USD';
|
|
|
+ }
|
|
|
+
|
|
|
+ if (fragment.currency !== 'USD') {
|
|
|
+ fragment.price = prices.rMBPrice;
|
|
|
+ } else {
|
|
|
+ fragment.price = prices.uSDPrice;
|
|
|
+ }
|
|
|
+ fragment.canAdd = true;
|
|
|
+ fragment.canSub = false;
|
|
|
+ return fragment;
|
|
|
+ }
|
|
|
+ function initFragments() {
|
|
|
+ angular.forEach($scope.goods, function (item) {
|
|
|
+ $scope.fragments.push(initFragment(item));
|
|
|
+ })
|
|
|
+ }
|
|
|
+ function getFragment (commodity, fragment) {
|
|
|
+ // 判断是否小于第一分段的起订量
|
|
|
+ if (commodity.prices[0].start > fragment.num) {
|
|
|
+ fragment.num = commodity.prices[0].start;
|
|
|
+ }
|
|
|
+ // 获取分段的信息
|
|
|
+ var prices = commodity.prices;
|
|
|
+ for (var i = 0; i < prices.length; i++) {
|
|
|
+ if (fragment.num <= prices[i].end) {
|
|
|
+ fragment.prices = prices[i];
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $scope.onInput = function (index) {
|
|
|
+ var prices = $scope.goods[index].prices;
|
|
|
+ if (prices && prices.length) {
|
|
|
+ for (var i = 0; i < prices.length; i++) {
|
|
|
+ if ($scope.fragments[index].num >= prices[i].start && $scope.fragments[index].num <= prices[i].end) {
|
|
|
+ $scope.fragments[index].price = $scope.fragments[index].currency === 'RMB' ? prices[i].rMBPrice : prices[i].uSDPrice;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $scope.changeNum = function (newNum, index) {
|
|
|
+ var pack = $scope.goods[index].perQty || $scope.goods[index].minPackQty;
|
|
|
+ var buy = $scope.goods[index].minBuyQty;
|
|
|
+ var reserve = $scope.goods[index].reserve;
|
|
|
+ var breakUp = $scope.goods[index].breakUp;
|
|
|
+ if (!newNum) {
|
|
|
+ $scope.fragments[index].num = buy;
|
|
|
+ } else {
|
|
|
+ newNum = parseInt(newNum);
|
|
|
+ if (breakUp) {
|
|
|
+ if (newNum < buy) {
|
|
|
+ // $scope.$message.error('最小起订量为' + buy)
|
|
|
+ $scope.fragments[index].num = buy;
|
|
|
+ $scope.fragments[index].canSub = false;
|
|
|
+ $scope.fragments[index].canAdd = true;
|
|
|
+ } else if (newNum > reserve) {
|
|
|
+ // $scope.$message.error('库存不足')
|
|
|
+ $scope.fragments[index].num = reserve;
|
|
|
+ $scope.fragments[index].canAdd = false;
|
|
|
+ $scope.fragments[index].canSub = true;
|
|
|
+ } else {
|
|
|
+ $scope.fragments[index].canSub = true;
|
|
|
+ $scope.fragments[index].canAdd = true;
|
|
|
+ $scope.fragments[index].num = newNum;
|
|
|
+ newNum === buy && ($scope.fragments[index].canSub = false);
|
|
|
+ newNum === reserve && ($scope.fragments[index].canAdd = false);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (newNum < buy) {
|
|
|
+ // $scope.$message.error('最小起订量为' + buy)
|
|
|
+ $scope.fragments[index].num = buy;
|
|
|
+ $scope.fragments[index].canSub = false;
|
|
|
+ if (newNum > reserve) {
|
|
|
+ // $scope.$message.error('库存不足')
|
|
|
+ $scope.fragments[index].num = reserve - (reserve % pack);
|
|
|
+ $scope.fragments[index].canAdd = false;
|
|
|
+ }
|
|
|
+ } else if (newNum > reserve) {
|
|
|
+ $scope.fragments[index].canSub = true;
|
|
|
+ $scope.fragments[index].canAdd = false;
|
|
|
+ // $scope.$message.error('库存不足')
|
|
|
+ $scope.fragments[index].num = reserve - (reserve % pack);
|
|
|
+ } else {
|
|
|
+ $scope.fragments[index].canSub = true;
|
|
|
+ $scope.fragments[index].canAdd = true;
|
|
|
+ var remainder = newNum % pack;
|
|
|
+ if (remainder !== 0) {
|
|
|
+ // $scope.$message.error('不支持拆包且包装量为' + pack)
|
|
|
+ // 这个直接赋值的,应该给这个值进行判断(Math.floor(newNum / pack) + 1) * pack
|
|
|
+ var res = (Math.floor(newNum / pack) + 1) * pack;
|
|
|
+ $scope.fragments[index].num = res > reserve ? Math.floor(newNum / pack) * pack : res;
|
|
|
+ } else {
|
|
|
+ $scope.fragments[index].num = newNum;
|
|
|
+ }
|
|
|
+ newNum === buy && ($scope.fragments[index].canSub = false);
|
|
|
+ newNum === reserve && ($scope.fragments[index].canAdd = false);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $scope.subNum = function (index) {
|
|
|
+ if ($scope.fragments[index].canSub) {
|
|
|
+ var pack = $scope.goods[index].perQty || $scope.goods[index].minPackQty;
|
|
|
+ var newNum = 0;
|
|
|
+ if ($scope.goods[index].breakUp) {
|
|
|
+ newNum = $scope.fragments[index].num - 1;
|
|
|
+ } else {
|
|
|
+ newNum = $scope.fragments[index].num - pack;
|
|
|
+ }
|
|
|
+ $scope.changeNum(newNum, index)
|
|
|
+ getFragment($scope.goods[index], $scope.fragments[index]);
|
|
|
+ $scope.onInput(index);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $scope.addNum = function (index) {
|
|
|
+ if ($scope.fragments[index].canAdd) {
|
|
|
+ var pack = $scope.goods[index].perQty || $scope.goods[index].minPackQty;
|
|
|
+ var newNum = 0;
|
|
|
+ if ($scope.goods[index].breakUp) {
|
|
|
+ newNum = $scope.fragments[index].num + 1;
|
|
|
+ } else {
|
|
|
+ newNum = $scope.fragments[index].num + pack;
|
|
|
+ }
|
|
|
+ $scope.changeNum(newNum, index)
|
|
|
+ getFragment($scope.goods[index], $scope.fragments[index]);
|
|
|
+ $scope.onInput(index);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $scope.inputNum = function (index) {
|
|
|
+ if ((/^[\d]*$/).test($scope.fragments[index].num)) {
|
|
|
+ $scope.changeNum($scope.fragments[index].num, index);
|
|
|
+ getFragment($scope.goods[index], $scope.fragments[index]);
|
|
|
+ } else {
|
|
|
+ // $scope.$message.error('请输入整数')
|
|
|
+ $scope.fragments[index].num = $scope.goods[index].minBuyQty;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $scope.showUseFlag = false;
|
|
|
+ $scope.setShowUseFlag = function (flag, of) {
|
|
|
+ if (flag) {
|
|
|
+ $scope.currentOffer = of;
|
|
|
+ }
|
|
|
+ $scope.showUseFlag = flag;
|
|
|
+ }
|
|
|
+
|
|
|
}]);
|
|
|
});
|