소스 검색

fix:修改了商品规格必填

徐志豪 5 년 전
부모
커밋
696ba204d6
3개의 변경된 파일93개의 추가작업 그리고 15개의 파일을 삭제
  1. 31 5
      admins/fd-mall-backstage/js/shop/goods.js
  2. 31 5
      admins/zl-mall-backstage/js/shop/goods.js
  3. 31 5
      js/shop/goods.js

+ 31 - 5
admins/fd-mall-backstage/js/shop/goods.js

@@ -296,9 +296,25 @@ var vm = new Vue({
             //     ]
             // }]
         },
-        showArr:function () {
+        validateGuigeArr: function () {
+            var pass = true
             if (this.guigeArr.length <= 0) {
                 layer.alert("请先添加规格项目", {icon: 5});
+                pass = false
+                return pass
+            }
+            this.guigeArr.forEach(function(item) {
+                item.val && item.val.forEach(i => {
+                    if (!i.name) {
+                        layer.alert("规格值请填写完整", {icon: 5});
+                        pass = false
+                    }
+                })
+            })
+            return pass
+        },
+        showArr:function () {
+            if (!this.validateGuigeArr()) {
                 return
             }
             let tmp = []
@@ -770,16 +786,26 @@ var vm = new Vue({
         validateData: function (name, cb) {
             handleSubmitValidate(vm, name, function () {
                 var pass = true
-                vm.guigeArr.forEach(function(item) {
+                var item = vm.guigeArr.find(function(item) {
                     if (!item.name) {
                         pass = false
                         alert('商品规格请填写完整')
-                        return
                     }
+                    return !item.name
+                })
+                if (item) {
+                    return pass && cb()
+                }
+                vm.guigeArr.forEach(function (item) {
+                    item.val.forEach(function(i) {
+                        if (!i.name) {
+                            pass = false
+                            alert('商品规格请填写完整')
+                        }
+                    })
                 })
                 pass && cb()
-            });
-            
+            });  
         },
         handleFormatError: function (file) {
             this.$Notice.warning({

+ 31 - 5
admins/zl-mall-backstage/js/shop/goods.js

@@ -296,9 +296,25 @@ var vm = new Vue({
             //     ]
             // }]
         },
-        showArr:function () {
+        validateGuigeArr: function () {
+            var pass = true
             if (this.guigeArr.length <= 0) {
                 layer.alert("请先添加规格项目", {icon: 5});
+                pass = false
+                return pass
+            }
+            this.guigeArr.forEach(function(item) {
+                item.val && item.val.forEach(i => {
+                    if (!i.name) {
+                        layer.alert("规格值请填写完整", {icon: 5});
+                        pass = false
+                    }
+                })
+            })
+            return pass
+        },
+        showArr:function () {
+            if (!this.validateGuigeArr()) {
                 return
             }
             let tmp = []
@@ -770,16 +786,26 @@ var vm = new Vue({
         validateData: function (name, cb) {
             handleSubmitValidate(vm, name, function () {
                 var pass = true
-                vm.guigeArr.forEach(function(item) {
+                var item = vm.guigeArr.find(function(item) {
                     if (!item.name) {
                         pass = false
                         alert('商品规格请填写完整')
-                        return
                     }
+                    return !item.name
+                })
+                if (item) {
+                    return pass && cb()
+                }
+                vm.guigeArr.forEach(function (item) {
+                    item.val.forEach(function(i) {
+                        if (!i.name) {
+                            pass = false
+                            alert('商品规格请填写完整')
+                        }
+                    })
                 })
                 pass && cb()
-            });
-            
+            });  
         },
         handleFormatError: function (file) {
             this.$Notice.warning({

+ 31 - 5
js/shop/goods.js

@@ -296,9 +296,25 @@ var vm = new Vue({
             //     ]
             // }]
         },
-        showArr:function () {
+        validateGuigeArr: function () {
+            var pass = true
             if (this.guigeArr.length <= 0) {
                 layer.alert("请先添加规格项目", {icon: 5});
+                pass = false
+                return pass
+            }
+            this.guigeArr.forEach(function(item) {
+                item.val && item.val.forEach(i => {
+                    if (!i.name) {
+                        layer.alert("规格值请填写完整", {icon: 5});
+                        pass = false
+                    }
+                })
+            })
+            return pass
+        },
+        showArr:function () {
+            if (!this.validateGuigeArr()) {
                 return
             }
             let tmp = []
@@ -770,16 +786,26 @@ var vm = new Vue({
         validateData: function (name, cb) {
             handleSubmitValidate(vm, name, function () {
                 var pass = true
-                vm.guigeArr.forEach(function(item) {
+                var item = vm.guigeArr.find(function(item) {
                     if (!item.name) {
                         pass = false
                         alert('商品规格请填写完整')
-                        return
                     }
+                    return !item.name
+                })
+                if (item) {
+                    return pass && cb()
+                }
+                vm.guigeArr.forEach(function (item) {
+                    item.val.forEach(function(i) {
+                        if (!i.name) {
+                            pass = false
+                            alert('商品规格请填写完整')
+                        }
+                    })
                 })
                 pass && cb()
-            });
-            
+            });  
         },
         handleFormatError: function (file) {
             this.$Notice.warning({