소스 검색

产品详情页输入框输入错误提示

hangb 8 년 전
부모
커밋
3c61b68464
1개의 변경된 파일29개의 추가작업 그리고 12개의 파일을 삭제
  1. 29 12
      components/store/CommodityInfo.vue

+ 29 - 12
components/store/CommodityInfo.vue

@@ -217,11 +217,18 @@ export default {
       let pack = this.commodity.minPackQty
       let buy = this.commodity.minBuyQty
       let reserve = this.commodity.reserve
+      let breakUp = this.commodity.breakUp
       if (newNum < buy) {
-        this.$message.error('该商品最少购买' + buy + '件')
-        this.fragment.num = buy
-        this.fragment.canSub = false
-        if (this.fragment.num > reserve) {
+        if (breakUp) {
+          this.fragment.num = buy
+          this.fragment.canSub = false
+        } else {
+          this.$message.error('最小起订量为' + buy)
+          this.fragment.num = (Math.floor(buy / pack) + 1) * pack
+          console.log(this.fragment.num)
+          this.fragment.canSub = false
+        }
+        if (newNum > reserve) {
           this.$message.error('库存不足')
           this.fragment.num = reserve - (reserve % pack)
           this.fragment.canAdd = false
@@ -239,20 +246,29 @@ export default {
           this.fragment.canSub = true
         }
     //    console.log(newNum) 2222
-        if (newNum % pack === 0) {
+        if (this.fragment.num % 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 (breakUp) {
+            this.fragment.num = reserve
             this.fragment.canAdd = false
           } else {
-            this.fragment.canAdd = true
+            this.$message.error('库存不足')
+            this.fragment.num = reserve - (reserve % pack)
+            this.fragment.canAdd = false
+          }
+        } else {
+          if (!breakUp) {
+            this.$message.error('不支持拆包且最小包装量为' + pack)
+            this.fragment.num = (Math.floor(newNum / pack) + 1) * pack
+            if (reserve - this.fragment.num - pack < 0) {
+              this.fragment.canAdd = false
+            } else {
+              this.fragment.canAdd = true
+            }
           }
         }
       }
@@ -269,7 +285,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('请输入数字')