Browse Source

培训管理

lizhen_gitee 8 months ago
parent
commit
dc3347bd06

+ 36 - 0
application/admin/controller/Trainactive.php

@@ -35,4 +35,40 @@ class Trainactive extends Backend
      */
 
 
+    /**
+     * 查看
+     */
+    public function index()
+    {
+        //当前是否为关联查询
+        $this->relationSearch = true;
+        //设置过滤方法
+        $this->request->filter(['strip_tags', 'trim']);
+        if ($this->request->isAjax()) {
+            //如果发送的来源是Selectpage,则转发到Selectpage
+            if ($this->request->request('keyField')) {
+                return $this->selectpage();
+            }
+            list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+
+            $list = $this->model
+                    ->with(['cate','level','type'])
+                    ->where($where)
+                    ->order($sort, $order)
+                    ->paginate($limit);
+
+            foreach ($list as $row) {
+                
+                $row->getRelation('cate')->visible(['name']);
+				$row->getRelation('level')->visible(['name']);
+				$row->getRelation('type')->visible(['name']);
+            }
+
+            $result = array("total" => $list->total(), "rows" => $list->items());
+
+            return json($result);
+        }
+        return $this->view->fetch();
+    }
+
 }

+ 6 - 2
application/admin/lang/zh-cn/trainactive.php

@@ -3,7 +3,7 @@
 return [
     'Id'                => 'ID',
     'Logo_image'        => '左上角LOGO',
-    'Title'             => '左上角标题',
+    'Title'             => '标题',
     'Number'            => '文件编码',
     'Version'           => '版本号',
     'Bianzhiren'        => '编制人',
@@ -40,5 +40,9 @@ return [
     'Usercount'         => '应签到人数',
     'Userauth_status'   => '是否允许非实名人员',
     'Userauth_status 0' => '否',
-    'Userauth_status 1' => '是'
+    'Userauth_status 1' => '是',
+    'Deletetime'        => '删除时间',
+    'Cate.name'         => '培训级别',
+    'Level.name'        => '培训级别',
+    'Type.name'         => '培训级别'
 ];

+ 19 - 3
application/admin/model/Trainactive.php

@@ -3,12 +3,12 @@
 namespace app\admin\model;
 
 use think\Model;
-
+use traits\model\SoftDelete;
 
 class Trainactive extends Model
 {
 
-    
+    use SoftDelete;
 
     
 
@@ -21,7 +21,7 @@ class Trainactive extends Model
     // 定义时间戳字段名
     protected $createTime = 'createtime';
     protected $updateTime = false;
-    protected $deleteTime = false;
+    protected $deleteTime = 'deletetime';
 
     // 追加属性
     protected $append = [
@@ -123,4 +123,20 @@ class Trainactive extends Model
     }
 
 
+    public function cate()
+    {
+        return $this->belongsTo('app\admin\model\Traincate', 'cate_id', 'id', [], 'LEFT')->setEagerlyType(0);
+    }
+
+
+    public function level()
+    {
+        return $this->belongsTo('app\admin\model\Trainlevel', 'level_id', 'id', [], 'LEFT')->setEagerlyType(0);
+    }
+
+
+    public function type()
+    {
+        return $this->belongsTo('app\admin\model\Traintype', 'type_id', 'id', [], 'LEFT')->setEagerlyType(0);
+    }
 }

+ 3 - 3
application/admin/view/trainactive/add.html

@@ -77,13 +77,13 @@
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Cate_id')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-cate_id" data-rule="required" data-source="traincate/index" class="form-control selectpage" name="row[cate_id]" type="text" value="">
+            <input id="c-cate_id" data-rule="required" data-source="train/cate/index" class="form-control selectpage" name="row[cate_id]" type="text" value="">
         </div>
     </div>
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Level_id')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-level_id" data-rule="required" data-source="level/index" class="form-control selectpage" name="row[level_id]" type="text" value="">
+            <input id="c-level_id" data-rule="required" data-source="train/level/index" class="form-control selectpage" name="row[level_id]" type="text" value="">
         </div>
     </div>
     <div class="form-group">
@@ -125,7 +125,7 @@
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Type_id')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-type_id" data-rule="required" data-source="type/index" class="form-control selectpage" name="row[type_id]" type="text" value="">
+            <input id="c-type_id" data-rule="required" data-source="train/type/index" class="form-control selectpage" name="row[type_id]" type="text" value="">
         </div>
     </div>
     <div class="form-group">

+ 3 - 3
application/admin/view/trainactive/edit.html

@@ -77,13 +77,13 @@
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Cate_id')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-cate_id" data-rule="required" data-source="cate/index" class="form-control selectpage" name="row[cate_id]" type="text" value="{$row.cate_id|htmlentities}">
+            <input id="c-cate_id" data-rule="required" data-source="train/cate/index" class="form-control selectpage" name="row[cate_id]" type="text" value="{$row.cate_id|htmlentities}">
         </div>
     </div>
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Level_id')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-level_id" data-rule="required" data-source="level/index" class="form-control selectpage" name="row[level_id]" type="text" value="{$row.level_id|htmlentities}">
+            <input id="c-level_id" data-rule="required" data-source="train/level/index" class="form-control selectpage" name="row[level_id]" type="text" value="{$row.level_id|htmlentities}">
         </div>
     </div>
     <div class="form-group">
@@ -125,7 +125,7 @@
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Type_id')}:</label>
         <div class="col-xs-12 col-sm-8">
-            <input id="c-type_id" data-rule="required" data-source="type/index" class="form-control selectpage" name="row[type_id]" type="text" value="{$row.type_id|htmlentities}">
+            <input id="c-type_id" data-rule="required" data-source="train/type/index" class="form-control selectpage" name="row[type_id]" type="text" value="{$row.type_id|htmlentities}">
         </div>
     </div>
     <div class="form-group">

+ 1 - 1
application/admin/view/trainactive/index.html

@@ -31,7 +31,7 @@
                             </ul>
                         </div>
 
-                        
+                        <a class="btn btn-success btn-recyclebin btn-dialog {:$auth->check('trainactive/recyclebin')?'':'hide'}" href="trainactive/recyclebin" title="{:__('Recycle bin')}"><i class="fa fa-recycle"></i> {:__('Recycle bin')}</a>
                     </div>
                     <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
                            data-operate-edit="{:$auth->check('trainactive/edit')}"

+ 25 - 0
application/admin/view/trainactive/recyclebin.html

@@ -0,0 +1,25 @@
+<div class="panel panel-default panel-intro">
+    {:build_heading()}
+
+    <div class="panel-body">
+        <div id="myTabContent" class="tab-content">
+            <div class="tab-pane fade active in" id="one">
+                <div class="widget-body no-padding">
+                    <div id="toolbar" class="toolbar">
+                        {:build_toolbar('refresh')}
+                        <a class="btn btn-info btn-multi btn-disabled disabled {:$auth->check('trainactive/restore')?'':'hide'}" href="javascript:;" data-url="trainactive/restore" data-action="restore"><i class="fa fa-rotate-left"></i> {:__('Restore')}</a>
+                        <a class="btn btn-danger btn-multi btn-disabled disabled {:$auth->check('trainactive/destroy')?'':'hide'}" href="javascript:;" data-url="trainactive/destroy" data-action="destroy"><i class="fa fa-times"></i> {:__('Destroy')}</a>
+                        <a class="btn btn-success btn-restoreall {:$auth->check('trainactive/restore')?'':'hide'}" href="javascript:;" data-url="trainactive/restore" title="{:__('Restore all')}"><i class="fa fa-rotate-left"></i> {:__('Restore all')}</a>
+                        <a class="btn btn-danger btn-destroyall {:$auth->check('trainactive/destroy')?'':'hide'}" href="javascript:;" data-url="trainactive/destroy" title="{:__('Destroy all')}"><i class="fa fa-times"></i> {:__('Destroy all')}</a>
+                    </div>
+                    <table id="table" class="table table-striped table-bordered table-hover"
+                           data-operate-restore="{:$auth->check('trainactive/restore')}"
+                           data-operate-destroy="{:$auth->check('trainactive/destroy')}"
+                           width="100%">
+                    </table>
+                </div>
+            </div>
+
+        </div>
+    </div>
+</div>

+ 64 - 0
public/assets/js/backend/trainactive.js

@@ -58,6 +58,9 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         {field: 'status', title: __('Status'), searchList: {"1":__('Status 1'),"0":__('Status 0')}, formatter: Table.api.formatter.status},
                         {field: 'usercount', title: __('Usercount')},
                         {field: 'userauth_status', title: __('Userauth_status'), searchList: {"0":__('Userauth_status 0'),"1":__('Userauth_status 1')}, formatter: Table.api.formatter.status},
+                        {field: 'cate.name', title: __('Cate.name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+                        {field: 'level.name', title: __('Level.name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+                        {field: 'type.name', title: __('Type.name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
                         {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                     ]
                 ]
@@ -66,6 +69,67 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
             // 为表格绑定事件
             Table.api.bindevent(table);
         },
+        recyclebin: function () {
+            // 初始化表格参数配置
+            Table.api.init({
+                extend: {
+                    'dragsort_url': ''
+                }
+            });
+
+            var table = $("#table");
+
+            // 初始化表格
+            table.bootstrapTable({
+                url: 'trainactive/recyclebin' + location.search,
+                pk: 'id',
+                sortName: 'id',
+                columns: [
+                    [
+                        {checkbox: true},
+                        {field: 'id', title: __('Id')},
+                        {field: 'title', title: __('Title'), align: 'left'},
+                        {
+                            field: 'deletetime',
+                            title: __('Deletetime'),
+                            operate: 'RANGE',
+                            addclass: 'datetimerange',
+                            formatter: Table.api.formatter.datetime
+                        },
+                        {
+                            field: 'operate',
+                            width: '140px',
+                            title: __('Operate'),
+                            table: table,
+                            events: Table.api.events.operate,
+                            buttons: [
+                                {
+                                    name: 'Restore',
+                                    text: __('Restore'),
+                                    classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
+                                    icon: 'fa fa-rotate-left',
+                                    url: 'trainactive/restore',
+                                    refresh: true
+                                },
+                                {
+                                    name: 'Destroy',
+                                    text: __('Destroy'),
+                                    classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
+                                    icon: 'fa fa-times',
+                                    url: 'trainactive/destroy',
+                                    refresh: true
+                                }
+                            ],
+                            formatter: Table.api.formatter.operate
+                        }
+                    ]
+                ]
+            });
+
+            // 为表格绑定事件
+            Table.api.bindevent(table);
+        },
+
         add: function () {
             Controller.api.bindevent();
         },