Browse Source

复制本周的课程表

lizhen_gitee 1 year ago
parent
commit
c8f8d6016c

+ 29 - 0
application/admin/controller/Lessonslot.php

@@ -171,4 +171,33 @@ class Lessonslot extends Backend
         return $this->view->fetch();
     }
 
+    /**
+     * 复制本周的课程表
+     */
+    public function copyweek(){
+        $starttime = strtotime('this week Monday'); // 获取本周一的时间戳
+        $endtime   = $starttime + 86400*7;
+
+        $list = Db::name('lesson_slot')->where('is_show',1)->where('starttime','BETWEEN',[$starttime,$endtime])->select();
+        if(empty($list)){
+            $this->error('本周还没有课程表');
+        }
+
+        foreach($list as $key => &$val){
+            unset($val['id']);
+            $val['starttime'] = $val['starttime'] + 86400*7;
+            $val['endtime']   = $val['endtime'] + 86400*7;
+            $val['status'] = 0;
+            $val['notice_status'] = 0;
+            $val['finishtime'] = 0;
+            $val['cancel_reason'] = '';
+            $val['cancel_time'] = 0;
+        }
+
+        Db::name('lesson_slot')->insertAll($list);
+
+        $this->success('已复制到下周');
+    }
+
+
 }

+ 1 - 1
application/admin/view/lessonslot/add.html

@@ -33,7 +33,7 @@
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Coach_ids')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-coach_ids" data-rule="required" data-source="coach/index" data-field="nickname" data-multiple="true" class="form-control selectpage" name="row[coach_ids]" type="text" value="">
+            <input id="c-coach_ids" data-rule="required" data-source="coach/index" data-field="nickname"  class="form-control selectpage" name="row[coach_ids]" type="text" value="">
         </div>
     </div>
     <div class="form-group">

+ 1 - 1
application/admin/view/lessonslot/edit.html

@@ -33,7 +33,7 @@
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Coach_ids')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-coach_ids" data-rule="required" data-source="coach/index" data-field="nickname" data-multiple="true" class="form-control selectpage" name="row[coach_ids]" type="text" value="{$row.coach_ids|htmlentities}">
+            <input id="c-coach_ids" data-rule="required" data-source="coach/index" data-field="nickname"  class="form-control selectpage" name="row[coach_ids]" type="text" value="{$row.coach_ids|htmlentities}">
         </div>
     </div>
     <div class="form-group">

+ 1 - 0
application/admin/view/lessonslot/index.html

@@ -17,6 +17,7 @@
                 <div class="widget-body no-padding">
                     <div id="toolbar" class="toolbar">
                         <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
+                        <a class="btn btn-info btn-copyweek" href="javascript:;"><i class="fa"></i> 复制本周的课程表</a>
                         <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>

+ 10 - 1
public/assets/js/backend/lessonslot.js

@@ -34,6 +34,8 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         {field: 'num_min', title: __('Num_min')},
                         {field: 'num_max', title: __('Num_max')},
                         {field: 'coach_ids', title: __('Coach_ids'), operate: 'LIKE'},
+                        {field: 'coach.nickname', title: __('Coach.nickname'), operate: 'LIKE'},
+
                         {field: 'lesson_id', title: __('Lesson_id')},
                         {field: 'lesson.name', title: __('Lesson.name'), operate: 'LIKE'},
                         {field: 'lesson.name_en', title: __('Lesson.name_en'), operate: 'LIKE'},
@@ -46,7 +48,6 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         {field: 'cancel_time', title: __('Cancel_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
                         {field: 'is_show', title: __('Is_show'), searchList: {"1":__('Is_show 1'),"0":__('Is_show 0')}, formatter: Table.api.formatter.normal},
 
-//                        {field: 'coach.nickname', title: __('Coach.nickname'), operate: 'LIKE'},
 
                         {field: 'operate', title: __('Operate'), table: table,
                             buttons:[
@@ -70,6 +71,11 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
 
             // 为表格绑定事件
             Table.api.bindevent(table);
+
+            // 复制本周的课程表
+            $(document).on("click", ".btn-copyweek", function () {
+                Fast.api.ajax('lessonslot/copyweek','复制本周的课程表');
+            });
         },
         add: function () {
             Controller.api.bindevent();
@@ -80,6 +86,9 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
         cancel: function () {
             Controller.api.bindevent();
         },
+        copyweek: function () {
+            Form.api.bindevent($("form[role=form]"));
+        },
         api: {
             bindevent: function () {
                 Form.api.bindevent($("form[role=form]"));