Browse Source

自定义三个按钮

lizhen_gitee 4 months ago
parent
commit
0eb461965a

+ 35 - 3
application/admin/controller/Lessonslot.php

@@ -54,11 +54,21 @@ class Lessonslot extends Backend
             }
             list($where, $sort, $order, $offset, $limit) = $this->buildparams();
 
+            //按周翻页
+            $week_current = input('week_current','');
+            if($week_current !== ''){
+                $starttime = strtotime('this week Monday') + (86400*7*$week_current);
+                $endtime   = $starttime + (86400*7);
+                $where = ['lessonslot.starttime'=>['between',[$starttime,$endtime]]];
+                $limit = 9999;
+            }
+
             $list = $this->model
                     ->with(['coach','lesson','danceroom'])
                     ->where($where)
 //                    ->order($sort, $order)
                     ->order('lessonslot.starttime desc,lessonslot.id desc')
+//                    ->select(false);echo $list;exit;
                     ->paginate($limit);
 
             foreach ($list as $row) {
@@ -68,7 +78,26 @@ class Lessonslot extends Backend
 				$row->getRelation('danceroom')->visible(['name','name_en']);
             }
 
-            $result = array("total" => $list->total(), "rows" => $list->items());
+            $items = $list->items();
+            foreach($items as $key => $val){
+                $items[$key]['week'] = date('l',$val['starttime']);
+            }
+
+            //上-周,本周,下-周
+            if(empty($week_current)){$week_current = 0;}
+            $this_week = 'lessonslot/index/week_current/0';
+
+            $last_week = 'lessonslot/index/week_current/'.($week_current-1);
+
+            $next_week = 'lessonslot/index/week_current/'.($week_current+1);
+
+            $extend = [
+                'this_week'=>$this_week,
+                'last_week'=>$last_week,
+                'next_week'=>$next_week,
+            ];
+
+            $result = array("total" => $list->total(), "rows" => $items,'extend'=>$extend);
 
             return json($result);
         }
@@ -589,9 +618,12 @@ class Lessonslot extends Backend
     //课程新增
     public function slot_add(){
         $field = ['starttime','hours','num_min','num_max','waitnum_max','coach_ids','lesson_id','danceroom_id','address','remark','address_en','remark_en','is_show'];
-        $require = ['starttime','hours','num_min','num_max','waitnum_max','coach_ids','lesson_id','danceroom_id','is_show'];
-        $data = request_post_hub($field,$require);
+//        $require = ['starttime','hours','num_min','num_max','waitnum_max','coach_ids','lesson_id','danceroom_id','is_show'];
+        $data = request_post_hub($field/*,$require*/);
 
+        if(empty($data['starttime'])){
+            $data['starttime'] = time();
+        }
         $data['endtime'] = $data['starttime'] + ($data['hours'] * 3600);
 
         $id = Db::name('lesson_slot')->insertGetId($data);

+ 1 - 0
application/admin/lang/zh-cn/lessonslot.php

@@ -3,6 +3,7 @@
 return [
     'Id'                     => 'id',
     'Starttime'              => '开始时间',
+    'Week'                   => '星期',
     'Hours'                  => '小时数',
     'Endtime'                => '结束时间',
     'Num_min'                => '最少人数(取消)',

+ 14 - 5
application/admin/view/lessonslot/index.html

@@ -21,17 +21,26 @@
                         <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('lessonslot/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
                         <!--<a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('lessonslot/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
                         <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('lessonslot/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
-                        
+   -->
 
                         <div class="dropdown btn-group {:$auth->check('lessonslot/multi')?'':'hide'}">
                             <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>
                             <ul class="dropdown-menu text-left" role="menu">
-                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li>
-                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li>
+                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="is_show=1"><i class="fa fa-eye"></i> {:__('Is_show 1')}</a></li>
+                                <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="is_show=0"><i class="fa fa-eye-slash"></i> {:__('Is_show 0')}</a></li>
                             </ul>
                         </div>
--->
-                        
+
+                        <div class="dropdown btn-group" style="margin-left: 200px;">
+                            <a href="javascript:;" class="btn btn-success btn-ajax" data-url="" id="last_week" title="<-" > <- </a>
+                        </div>
+                        <div class="dropdown btn-group">
+                            <a href="javascript:;" class="btn btn-danger btn-ajax" data-url="" id="this_week" title="This Week" >This Week</a>
+                        </div>
+                        <div class="dropdown btn-group">
+                            <a href="javascript:;" class="btn btn-success btn-ajax" data-url="" id="next_week" title="->" > -> </a>
+                        </div>
+
                     </div>
                     <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
                            data-operate-edit="{:$auth->check('lessonslot/edit')}"

+ 8 - 0
public/assets/js/backend/lessonslot.js

@@ -17,6 +17,13 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
 
             var table = $("#table");
 
+            table.on('load-success.bs.table',function(e, data){
+                console.log(data);
+                $("#last_week").data('url',data.extend.last_week);
+                $("#this_week").data('url',data.extend.this_week);
+                $("#next_week").data('url',data.extend.next_week);
+            });
+
             // 初始化表格
             table.bootstrapTable({
                 url: $.fn.bootstrapTable.defaults.extend.index_url,
@@ -29,6 +36,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         {checkbox: true},
                         {field: 'id', title: __('Id')},
                         {field: 'starttime', title: __('Starttime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+                        {field: 'week', title: __('Week'), operate:false},
                         {field: 'hours', title: __('Hours')},
                         {field: 'endtime', title: __('Endtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
                         {field: 'num_min', title: __('Num_min')},