dyjh 6 년 전
부모
커밋
b861acf8a0
2개의 변경된 파일99개의 추가작업 그리고 20개의 파일을 삭제
  1. 26 5
      app/Http/Controllers/Admin/Album/ProductController.php
  2. 73 15
      resources/views/admin/album/product/edit.blade.php

+ 26 - 5
app/Http/Controllers/Admin/Album/ProductController.php

xqd
@@ -51,18 +51,39 @@ class ProductController extends Controller
         return view('admin.album.product.index',compact('list'));
     }
 
-
-    function check(Request $request) {
+    /**
+     * @param Request $request
+     * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
+     */
+    function check(Request $request)
+    {
         $request = $request->all();
         $search['keyword'] = $request->input('keyword');
         $orderby = array();
-        if(isset($request['sort_field']) && $request['sort_field'] && isset($request['sort_field_by'])) {
+        if (isset($request['sort_field']) && $request['sort_field'] && isset($request['sort_field_by'])) {
             $orderby[$request['sort_field']] = $request['sort_field_by'];
         }
-        $list = $this->repository->search($search,$orderby);
-        return view('admin.album.product.check',compact('list'));
+        $list = $this->repository->search($search, $orderby);
+        return view('admin.album.product.check', compact('list'));
     }
 
+    public function getSecondCategory(Request $request)
+    {
+        $cat_id = $request->input('cat_id');
+        if (!$cat_id) {
+            return response()->json(['message' => '参数不合法'], 400);
+        }
+        $cat = AlbumCatModel::where([
+            ['parent_id',$cat_id],['store_id',$this->getStoreId()]
+        ])->orderByDesc('sort')->get();
+        if (empty($cat)) {
+            $cat[] = [
+                'name' => '请先添加二级分类!',
+                'id'   => 0
+            ];
+        }
+        return response()->json($cat);
+    }
 
     /**
      * 添加

+ 73 - 15
resources/views/admin/album/product/edit.blade.php

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -48,8 +48,8 @@
                                     
                  <label class="control-label col-sm-3">分类</label>
                                     
-                   <div class="col-sm-9">
-                       <select name="data[cat_id]" id="data_cat_id" class="form-control"  required="" aria-required="true">
+                   <div class="col-sm-3">
+                       <select id="data_parent_id" class="form-control" onchange="getLevelSecondCategory()">
                            @if(isset($cat))
                                @foreach($cat as $key=>$val)
                                        <option value="{{$val->id}}"  @if($val['id'] == (isset($data['cat_id'])? $data['cat_id']:''))selected @endif>{{$val->name}}</option>
@@ -57,7 +57,11 @@
                            @endif
                        </select>
                    </div>
-
+                    <div class="col-sm-3" id="app">
+                        <select name="data[cat_id]" id="data_cat_id" class="form-control"  required="" aria-required="true">
+                            <option v-for="item in list.data" :value="item.id">@{{ item.name }}</option>
+                        </select>
+                    </div>
                 </div>
                                 <div class="form-group">
 
@@ -84,7 +88,7 @@
                                     </div>
                                 </div>
                                 <div class="form-group">
-                                    
+
                  <label class="control-label col-sm-3">尺寸图片(1920*1080)</label>
                     <div class="col-sm-9">
                         {{--{!!  widget('Tools.ImgUpload')->single2('/upload/attr','attr',"attr",  isset($data['attr'])? $data['attr'] : '',array("sizex"=>1920,"sizey"=>1080)) !!}--}}
@@ -100,7 +104,7 @@
                     </div>
                 </div>
                 <div class="form-group">
-                                    
+
                  <label class="control-label col-sm-3">风格</label>
                     <div class="col-sm-9">
                         <select name="data[style]" id="data_style" class="form-control"  required="" aria-required="true">
@@ -111,16 +115,16 @@
                             @endif
                         </select>
                     </div>
-                </div>    
+                </div>
                 <div class="form-group">
-                                    
+
                  <label class="control-label col-sm-3">排序</label>
-                                    
+
                    <div class="col-sm-9">
-                     <input id="data_sort" name="data[sort]" class="form-control" value="{{ $data['sort'] or ''}}" required="" aria-required="true"  placeholder=""> 
+                     <input id="data_sort" name="data[sort]" class="form-control" value="{{ $data['sort'] or ''}}" required="" aria-required="true"  placeholder="">
                     </div>
-                                
-                </div>    
+
+                </div>
                 <div class="form-group">
                     <label class="control-label col-sm-3">封面图片(480*270)</label>
                     <div class="col-sm-9">
@@ -143,7 +147,7 @@
                 </div>
                 <div class="form-group">
                  <label class="control-label col-sm-3">是否促销新品</label>
-                                    
+
                    <div class="col-sm-9">
                        @if(dict()->get('album','new') != null)
                            @foreach(dict()->get('album','new') as $key=>$val)
@@ -157,7 +161,7 @@
                            </label>
                        @endif
                     </div>
-                                
+
                 </div>
                 <div class="form-group">
                  <label class="control-label col-sm-3">产品详情</label>
@@ -166,7 +170,7 @@
                        {!!  widget('Tools.ImgUpload')->multi2('/upload/detail','detail',"data[detail]",  isset($data['detail'])? $data['detail'] : '') !!}
                     </div>
                 </div>
-                                
+
                                 <div class="form-group">
                                     <label class="control-label col-sm-3">&nbsp;</label>
                                     <div class="col-sm-9">
@@ -176,7 +180,7 @@
                                         <input type="reset" class="btn btn-default" >
                                     </div>
                                 </div>
-        
+
                             </form>
                         </div>
                         <!-- /.col-lg-10 -->
@@ -187,6 +191,60 @@
 		</div>
 	</div>
 </div>
+<script src="/base/js/vue.js"></script>
+<link href="/base/css/plugins/toastr/toastr.min.css" rel="stylesheet">
+<script src="/base/js/plugins/toastr/toastr.min.js"></script>
+<script>
+    toastr.options.positionClass = 'toast-bottom-center';
+    toastr.options.timeOut = '4000';
+    var id = "{{ $info['id'] }}";
+
+    var level = new Vue({
+        el:"#app",
+        data:{
+            list:{
+                data:[
+                    {'id':0,'name':'请先选择一级类目'},
+                ],
+            },
+            //      num:0
+        },
+        methods:{
+            changeData:function (e) {
+                Vue.set(this.list,'data',e)
+            }
+        }
+    });
+
+    function getLevelSecondCategory(){
+        var first = $('#data_parent_id').val();
+        $.ajax({
+            url: "{{ U('User/Product/getSecondCategory') }}",
+            method: 'POST',
+            data: {
+                'cat_id':first,
+                '_token':"{{ csrf_token() }}"
+            },
+            dataType:'json',
+
+            success: function(data) {
+                console.log(data)
+                //level.changeData(data.data);
+
+            }
+        });
+    }
+
+    function checkLevel(){
+        var second = $('#secondLevel').val();
+        if (second == 0) {
+            $('#secondGroup').addClass('has-error');
+            toastr.error('请选择二级分类!');
+            return false;
+        }
+        return true;
+    }
+</script>
 <script>
     function check(){
         //alert($('#data_cat_id').val());