Browse Source

产品详情页购买输入错误提示(按钮可点击)

hangb 8 years ago
parent
commit
a64103f35d
1 changed files with 33 additions and 25 deletions
  1. 33 25
      components/store/CommodityInfo.vue

+ 33 - 25
components/store/CommodityInfo.vue

@@ -251,10 +251,18 @@
             this.$message.error('最小起订量为' + buy)
             this.fragment.num = buy
             this.fragment.canSub = false
+            this.fragment.canAdd = true
           } else if (newNum > reserve) {
             this.$message.error('库存不足')
             this.fragment.num = reserve
             this.fragment.canAdd = false
+            this.fragment.canSub = true
+          } else {
+            this.fragment.canSub = true
+            this.fragment.canAdd = true
+            this.fragment.num = newNum
+            newNum === buy && (this.fragment.canSub = false)
+            newNum === reserve && (this.fragment.canAdd = false)
           }
         } else {
           if (newNum < buy) {
@@ -266,43 +274,43 @@
               this.fragment.num = reserve - (reserve % pack)
               this.fragment.canAdd = false
             }
+          } else if (newNum > reserve) {
+            this.fragment.canSub = true
+            this.fragment.canAdd = false
+            this.$message.error('库存不足')
+            this.fragment.num = reserve - (reserve % pack)
           } else {
-            if (newNum - buy - pack < 0) {
-              this.fragment.canSub = false
+            this.fragment.canSub = true
+            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
             } else {
-              this.fragment.canSub = true
-            }
-            if (newNum > reserve) {
-              this.$message.error('库存不足')
-              this.fragment.num = reserve - (reserve % pack)
-              this.fragment.canAdd = false
-            } else {
-              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
-                }
-              }
+              this.fragment.num = newNum
             }
+            newNum === buy && (this.fragment.canSub = false)
+            newNum === reserve && (this.fragment.canAdd = false)
           }
         }
       },
       subNum () {
         let pack = this.commodity.perQty || this.commodity.minPackQty
-        let newNum = this.fragment.num - pack
+        let newNum = 0
+        if (this.commodity.breakUp) {
+          newNum = this.fragment.num - 1
+        } else {
+          newNum = this.fragment.num - pack
+        }
         this.changeNum(newNum)
         getFragment(this.commodity, this.fragment)
       },
       addNum () {
-        let pack = this.commodity.perQty || this.commodity.minPackQty
-        let newNum = this.fragment.num + pack
+//        let pack = this.commodity.perQty || this.commodity.minPackQty
+        let newNum = this.fragment.num + 1
         this.changeNum(newNum)
         getFragment(this.commodity, this.fragment)
       },