Browse Source

Merge remote-tracking branch 'origin/dev' into brandDetaiVendorList-1128

hangb 8 years ago
parent
commit
65a605e401
1 changed files with 39 additions and 29 deletions
  1. 39 29
      components/store/CommodityInfo.vue

+ 39 - 29
components/store/CommodityInfo.vue

@@ -217,42 +217,51 @@ export default {
       let pack = this.commodity.minPackQty
       let buy = this.commodity.minBuyQty
       let reserve = this.commodity.reserve
-      if (newNum < buy) {
-        this.$message.error('该商品最少购买' + buy + '件')
-        this.fragment.num = buy
-        this.fragment.canSub = false
-        if (this.fragment.num > reserve) {
+      let breakUp = this.commodity.breakUp
+      if (breakUp) {
+        if (newNum < buy) {
+          this.$message.error('最小起订量为' + buy)
+          this.fragment.num = buy
+          this.fragment.canSub = false
+        } else if (newNum > reserve) {
           this.$message.error('库存不足')
-          this.fragment.num = reserve - (reserve % pack)
+          this.fragment.num = reserve
           this.fragment.canAdd = false
-        } else {
-          if (reserve - this.fragment.num - pack < 0) {
-            this.fragment.canAdd = false
-          } else {
-            this.fragment.canAdd = true
-          }
         }
       } else {
-        if (newNum - buy - pack < 0) {
+        if (newNum < buy) {
+          this.$message.error('最小起订量为' + buy)
+          this.fragment.num = buy
           this.fragment.canSub = false
+          if (newNum > reserve) {
+            this.$message.error('库存不足')
+            this.fragment.num = reserve - (reserve % pack)
+            this.fragment.canAdd = false
+          }
         } else {
-          this.fragment.canSub = true
-        }
-    //    console.log(newNum) 2222
-        if (newNum % pack === 0) {
-          this.fragment.num = newNum
-        } else {
-          this.fragment.num = (Math.floor(newNum / pack) + 1) * pack
-        }
-        if (this.fragment.num > reserve) {
-          this.$message.error('库存不足')
-          this.fragment.num = reserve - (reserve % pack)
-          this.fragment.canAdd = false
-        } else {
-          if (reserve - this.fragment.num - pack < 0) {
+          if (newNum - buy - pack < 0) {
+            this.fragment.canSub = false
+          } else {
+            this.fragment.canSub = true
+          }
+          if (newNum > reserve) {
+            this.$message.error('库存不足')
+            this.fragment.num = reserve - (reserve % pack)
             this.fragment.canAdd = false
           } else {
-            this.fragment.canAdd = true
+            let remainder = newNum % pack
+            if (remainder !== 0) {
+              console.log(this.fragment.num)
+              this.$message.error('不支持拆包且包装量为' + pack)
+              // 这个直接赋值的,应该给这个值进行判断(Math.floor(newNum / pack) + 1) * pack
+              let res = (Math.floor(newNum / pack) + 1) * pack
+              this.fragment.num = res > reserve ? Math.floor(newNum / pack) * pack : res
+              if (reserve - this.fragment.num - pack < 0) {
+                this.fragment.canAdd = false
+              } else {
+                this.fragment.canAdd = true
+              }
+            }
           }
         }
       }
@@ -269,7 +278,8 @@ export default {
     },
     inputNum () {
       if ((/^[\d]*$/).test(this.fragment.num)) {
-        this.changeNum(this.fragment.num)
+        let num = Math.floor(this.fragment.num)
+        this.changeNum(num)
         getFragment(this.commodity, this.fragment)
       } else {
         this.$message.error('请输入数字')