Parcourir la source

fix:修改了商品规格必填

徐志豪 il y a 5 ans
Parent
commit
696ba204d6

+ 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({