Browse Source

投标验证修改。

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@7682 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
dongbw 9 years ago
parent
commit
21b75d9655

+ 22 - 29
src/main/webapp/resources/js/index/app.js

@@ -10560,12 +10560,12 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
             });
         };
 
-        // var taxrateYes = false;
-        // var cycleYes = false;
-        // var priceYes = false;
-        // var emNumYes = false;
-        // $scope.canSave = false;
-        /*$scope.validateThis = function(value, type) {
+        var taxrateYes = false;
+        var cycleYes = false;
+        var priceYes = false;
+        var emNumYes = false;
+        $scope.canSave = false;
+        $scope.validateThis = function(value, type) {
             switch(type) {
                 case 'taxrate':
                     var regex = /^\+?[0-9][0-9]{0,1}$/;
@@ -10576,7 +10576,7 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
                     }
                     break;
                 case 'cycle':
-                    var regex = /^\+?[1-9][0-9]*$/;
+                    regex = /^\+?[1-9][0-9]*$/;
                     if (regex.test(value)) {
                         cycleYes = true;
                     } else {
@@ -10584,26 +10584,17 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
                     }
                     break;
                 case 'price':
-                    var regex = /^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/;
+                    regex = /^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/;
                     if (regex.test(value) && value !== 0) {
                         priceYes = true;
                     } else {
-                        // toaster.pop('warning', '警告', '单价不合法,请重新填写');
-                    }
-                    break;
-                case 'emNum':
-                    var regex = /^\+?[1-9][0-9]*$/;
-                    if (regex.test(value) && value !== 0) {
-                        emNumYes = true;
-                    } else {
-                        toaster.pop('warning', '警告', '员工人数不合法,请重新填写');
+                        if (!(value instanceof Number)) {
+                            toaster.pop('warning', '警告', '单价不合法,请重新填写');
+                        }
                     }
                     break;
             }
-            if (taxrateYes && cycleYes && priceYes && emNumYes) {
-                $scope.canSave = true;
-            }
-        };*/
+        };
 
         $scope.emNumYes = true;
 
@@ -10615,16 +10606,14 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
             }
         };
 
-        $scope.validateThis = function(tenderProds) {
+        $scope.validateProds = function(tenderProds) {
             $scope.canSave = true;
             angular.forEach(tenderProds, function (tenderProd) {
                 var cycleRegex = /^\+?[1-9][0-9]*$/;
                 var taxrateRegex = /^\+?[0-9][0-9]{0,1}$/;
-                var priceRegex = /^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/;
-                if (!cycleRegex.test(tenderProd.currentItem.cycle) || !taxrateRegex.test(tenderProd.currentItem.taxrate) || !priceRegex.test(tenderProd.currentItem.price)) {
-                    if ((tenderProd.currentItem.cycle !== null && !cycleRegex.test(tenderProd.currentItem.cycle)) || (tenderProd.currentItem.taxrate !== null && !cycleRegex.test(tenderProd.currentItem.taxrate)) || (tenderProd.currentItem.price !== null && !cycleRegex.test(tenderProd.currentItem.price)) ) {
-                        toaster.pop('warning', '警告', '填写内容不合法,请重新填写');
-                    }
+                var priceRegex = /^(([0-9]+\.[0-9]{1,6})|([0-9]*[1-9][0-9]*\.[0-9]{1,6})|([0-9]*[1-9][0-9]*))$/; // 非零最多六位小数正实数
+                // /^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/;
+                if (!cycleRegex.test(tenderProd.currentItem.cycle) || !taxrateRegex.test(tenderProd.currentItem.taxrate) || (!priceRegex.test(tenderProd.currentItem.price) && tenderProd.currentItem.price !== 0)) {
                     $scope.canSave = false;
                 }
             });
@@ -10638,7 +10627,7 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
             }
             var saleTenderItems = [];
             angular.forEach(tender.purchaseTenderProds, function(tenderProd) {
-                tenderProd.currentItem.
+                tenderProd.currentItem.saleTender = {};
                 saleTenderItems.push(tenderProd.currentItem);
             });
             console.log(saleTenderItems);
@@ -10646,7 +10635,11 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'service/Purc', 'ser
                 $scope.loading = false;
                 toaster.pop('info', '成功', '投标成功');
                 // $window.location.reload();
-                window.location.hash = '#/sale/tender';
+                if (tender.ifOpen) { // 根据是否公开,选择跳转
+                    window.location.hash = '#/sale/opentender';
+                } else {
+                    window.location.hash = '#/sale/tender';
+                }
             }, function(response){
                 $scope.loading = false;
                 toaster.pop('error', '投标失败', '出现异常,投标失败');

+ 3 - 3
src/main/webapp/resources/tpl/index/sale/tender.html

@@ -317,9 +317,9 @@
                                     <!--<span><input type="text" class="editAble" ng-model="prod.currentItem.cycle" ng-pattern="/^\+?[1-9][0-9]*$/" ng-change="validateThis(prod.currentItem.cycle, 'cycle')" placeholder="点击填写周期"/></span>
                                     <span><input type="text" class="editAble" ng-model="prod.currentItem.taxrate" ng-pattern="/^\+?[0-9][0-9]{0,1}$/" ng-change="validateThis(prod.currentItem.taxrate, 'taxrate')" placeholder="点击填写税率"/></span>
                                     <span><input type="text" class="editAble" ng-model="prod.currentItem.price" ng-pattern="/^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/" ng-change="validateThis(prod.currentItem.price, 'price')" ng-focus="validPrice(prod.currentItem.price)" ng-blur="validPrice(prod.currentItem.price)" placeholder="点击填写单价"/></span>-->
-                                    <span><input type="text" class="editAble" ng-model="prod.currentItem.cycle" ng-pattern="/^\+?[1-9][0-9]*$/" ng-change="validateThis(bid.purchaseTenderProds)" placeholder="点击填写周期"/></span>
-                                    <span><input type="text" class="editAble" ng-model="prod.currentItem.taxrate" ng-pattern="/^\+?[0-9][0-9]{0,1}$/" ng-change="validateThis(bid.purchaseTenderProds)" placeholder="点击填写税率"/></span>
-                                    <span><input type="text" class="editAble" ng-model="prod.currentItem.price" ng-pattern="/^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/" ng-change="validateThis(bid.purchaseTenderProds)" placeholder="点击填写单价"/></span>
+                                    <span><input type="text" class="editAble" ng-model="prod.currentItem.cycle" ng-pattern="/^\+?[1-9][0-9]*$/" ng-change="validateProds(bid.purchaseTenderProds);validateThis(prod.currentItem.cycle, 'cycle')" placeholder="点击填写周期"/></span>
+                                    <span><input type="text" class="editAble" ng-model="prod.currentItem.taxrate" ng-pattern="/^\+?[0-9][0-9]{0,1}$/" ng-change="validateProds(bid.purchaseTenderProds);validateThis(prod.currentItem.taxrate, 'taxrate')" placeholder="点击填写税率"/></span>
+                                    <span><input type="text" class="editAble" ng-model="prod.currentItem.price" ng-pattern="/^(0|[0-9][0-9]{0,9})(\.[0-9]{1,6})?$/" ng-change="validateProds(bid.purchaseTenderProds);validateThis(prod.currentItem.price, 'price')" placeholder="点击填写单价"/></span>
                                     <span ng-bind="prod.currentItem.price * prod.qty || ''"></span>
                                 </dd>
                             </dl>