xieruidong 2 years ago
parent
commit
0a9ab48117
2 changed files with 45 additions and 2 deletions
  1. 6 2
      application/admin/view/goods/add.html
  2. 39 0
      public/assets/js/backend/goods.js

+ 6 - 2
application/admin/view/goods/add.html

@@ -8,6 +8,7 @@
     <script crossorigin="anonymous" integrity="sha512-PhuYrdDBtBeUjY7KTmjRYFFadw8uXXdTmzZyhCHZewYsqZJ0pxFCwU528jRoil42LXMW3ksegQT5zdjkfiR1IA==" src="https://lib.baomitu.com/vue/2.7.7/vue.min.js"></script>
     <script crossorigin="anonymous" integrity="sha512-hybks56be1W1sC5RgFWfH7pn+uUlfCi6bPD8AbNvNlc7b1k69wwIxwhF05wobYemsndUkdoNWomx/kBD94xpgA==" src="https://lib.baomitu.com/element-ui/2.15.10/index.min.js"></script>
     <link crossorigin="anonymous" integrity="sha512-2by4R3Ml3Olue9XwB86eM7YLPqZr1pOBFfdsSOFs/1SJ7NIOCz0QhK99lR7d4+B/aOYXOWnghUUV/gjaITrL1g==" href="https://lib.baomitu.com/element-ui/2.15.10/theme-chalk/index.min.css" rel="stylesheet">
+    <script src="/assets/libs/jquery/dist/jquery.min.js"></script>
     <style type="text/css">
         [v-cloak]{
             display: none;
@@ -63,8 +64,8 @@
     </style>
 </head>
 <body>
-    <div id="app">
-        <el-form :model="form" ref="form" size="mini" v-cloak label-width="120px">
+    <div id="app" v-cloak>
+        <el-form :model="form" ref="form" size="mini" label-width="120px" :rules="rules">
             <el-form-item label="商品名称" prop="name">
                 <el-input v-model="form.name" maxlength="30" show-word-limit></el-input>
             </el-form-item>
@@ -228,6 +229,9 @@
                 </div>
             </el-form-item>
         </el-form>
+        <div style="text-align: center">
+            <el-button type="primary" :loading="isLoad" @click="saveGoods">保存商品</el-button>
+        </div>
     </div>
 <script>
     let category={$category|json_encode};

+ 39 - 0
public/assets/js/backend/goods.js

@@ -239,6 +239,14 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         status:status,
                         logoLength:5,
                         idx:1,
+                        isLoad:false,
+                        rules:{
+                            name:[{required:true,message:'此项必须'}],
+                            category_id:[{required:true,message:'此项必须'}],
+                            brand:[{required:true,message:'此项必须'}],
+                            describe:[{required:true,message:'此项必须'}],
+                            logo:[{required:true,message:'此项必须'},{type:'array',min:1,message: '请上传'}],
+                        }
                     }
                 },
                 mounted(){
@@ -342,6 +350,37 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                     delService(idx){
                         this.form.service.splice(idx, 1)
                     },
+                    saveGoods(){
+                        let _this=this
+                        this.$refs.form.validate(v=>{
+                            if(!v){
+                                return
+                            }
+                            this.isLoad=true
+                            $.ajax('',{
+                                type:'post',
+                                data:JSON.stringify(this.form),
+                                dataType:"json",
+                                headers:{
+                                    'content-type':'application/json'
+                                },
+                                success({code,msg}){
+                                    if(code){
+                                        parent.document.getElementsByClassName('btn-refresh')[0].click()
+                                        Fast.api.close()
+                                    }else{
+                                        parent.layer.alert(msg)
+                                    }
+                                },
+                                error(){
+                                    layer.alert('服务器错误')
+                                },
+                                complete(){
+                                    _this.isLoad=false
+                                }
+                            })
+                        })
+                    }
                 }
             })
         },