lizhen_gitee 1 year ago
parent
commit
22ed746c20

+ 1 - 1
application/admin/controller/Lesson.php

@@ -22,7 +22,7 @@ class Lesson extends Backend
     {
         parent::_initialize();
         $this->model = new \app\admin\model\Lesson;
-
+        $this->view->assign("isShowList", $this->model->getIsShowList());
     }
 
 

+ 6 - 0
application/admin/lang/zh-cn/lesson.php

@@ -3,10 +3,16 @@
 return [
     'Id'            => 'id',
     'Name'          => '标题',
+    'Name_en'       => '标题',
     'Image'         => '主图',
     'Price'         => '价格',
     'Oldprice'      => '原价格',
     'Content'       => '信息内容',
+    'Content_en'    => '信息内容',
     'Lessoncate_id' => '课程分类id',
+    'Is_show'       => '是否显示',
+    'Is_show 1'     => '上架',
+    'Is_show 0'     => '下架',
+    'Weigh'         => '排序',
     'Cate.name'     => '课程分类'
 ];

+ 20 - 3
application/admin/model/Lesson.php

@@ -25,20 +25,37 @@ class Lesson extends Model
 
     // 追加属性
     protected $append = [
-
+        'is_show_text'
     ];
     
 
-    
+    protected static function init()
+    {
+        self::afterInsert(function ($row) {
+            $pk = $row->getPk();
+            $row->getQuery()->where($pk, $row[$pk])->update(['weigh' => $row[$pk]]);
+        });
+    }
 
+    
+    public function getIsShowList()
+    {
+        return ['1' => __('Is_show 1'), '0' => __('Is_show 0')];
+    }
 
 
+    public function getIsShowTextAttr($value, $data)
+    {
+        $value = $value ? $value : (isset($data['is_show']) ? $data['is_show'] : '');
+        $list = $this->getIsShowList();
+        return isset($list[$value]) ? $list[$value] : '';
+    }
 
 
 
 
     public function cate()
     {
-        return $this->belongsTo('app\admin\model\lesson\Cate', 'lessoncate_id', 'id', [], 'LEFT')->setEagerlyType(0);
+        return $this->belongsTo('app\admin\model\Lessoncate', 'lessoncate_id', 'id', [], 'LEFT')->setEagerlyType(0);
     }
 }

+ 30 - 0
application/admin/view/lesson/add.html

@@ -7,6 +7,12 @@
         </div>
     </div>
     <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name_en')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name_en" data-rule="required" class="form-control" name="row[name_en]" type="text" value="">
+        </div>
+    </div>
+    <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
         <div class="col-xs-12 col-sm-8">
             <div class="input-group">
@@ -39,11 +45,35 @@
         </div>
     </div>
     <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Content_en')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <textarea id="c-content_en" class="form-control editor" rows="5" name="row[content_en]" cols="50"></textarea>
+        </div>
+    </div>
+    <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Lessoncate_id')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input id="c-lessoncate_id" data-rule="required" data-source="lessoncate/index" class="form-control selectpage" name="row[lessoncate_id]" type="text" value="">
         </div>
     </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Is_show')}:</label>
+        <div class="col-xs-12 col-sm-8">
+                        
+            <select  id="c-is_show" data-rule="required" class="form-control selectpicker" name="row[is_show]">
+                {foreach name="isShowList" item="vo"}
+                    <option value="{$key}" {in name="key" value="1"}selected{/in}>{$vo}</option>
+                {/foreach}
+            </select>
+
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Weigh')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-weigh" class="form-control" name="row[weigh]" type="number" value="0">
+        </div>
+    </div>
     <div class="form-group layer-footer">
         <label class="control-label col-xs-12 col-sm-2"></label>
         <div class="col-xs-12 col-sm-8">

+ 30 - 0
application/admin/view/lesson/edit.html

@@ -7,6 +7,12 @@
         </div>
     </div>
     <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name_en')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name_en" data-rule="required" class="form-control" name="row[name_en]" type="text" value="{$row.name_en|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
         <div class="col-xs-12 col-sm-8">
             <div class="input-group">
@@ -39,11 +45,35 @@
         </div>
     </div>
     <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Content_en')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <textarea id="c-content_en" class="form-control editor" rows="5" name="row[content_en]" cols="50">{$row.content_en|htmlentities}</textarea>
+        </div>
+    </div>
+    <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Lessoncate_id')}:</label>
         <div class="col-xs-12 col-sm-8">
             <input id="c-lessoncate_id" data-rule="required" data-source="lessoncate/index" class="form-control selectpage" name="row[lessoncate_id]" type="text" value="{$row.lessoncate_id|htmlentities}">
         </div>
     </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Is_show')}:</label>
+        <div class="col-xs-12 col-sm-8">
+                        
+            <select  id="c-is_show" data-rule="required" class="form-control selectpicker" name="row[is_show]">
+                {foreach name="isShowList" item="vo"}
+                    <option value="{$key}" {in name="key" value="$row.is_show"}selected{/in}>{$vo}</option>
+                {/foreach}
+            </select>
+
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Weigh')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-weigh" class="form-control" name="row[weigh]" type="number" value="{$row.weigh|htmlentities}">
+        </div>
+    </div>
     <div class="form-group layer-footer">
         <label class="control-label col-xs-12 col-sm-2"></label>
         <div class="col-xs-12 col-sm-8">

+ 8 - 2
public/assets/js/backend/lesson.js

@@ -21,17 +21,23 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
             table.bootstrapTable({
                 url: $.fn.bootstrapTable.defaults.extend.index_url,
                 pk: 'id',
-                sortName: 'id',
+                sortName: 'weigh',
+                fixedColumns: true,
+                fixedRightNumber: 1,
                 columns: [
                     [
                         {checkbox: true},
                         {field: 'id', title: __('Id')},
                         {field: 'name', title: __('Name'), operate: 'LIKE'},
+                        {field: 'name_en', title: __('Name_en'), operate: 'LIKE'},
                         {field: 'image', title: __('Image'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
                         {field: 'price', title: __('Price'), operate:'BETWEEN'},
                         {field: 'oldprice', title: __('Oldprice'), operate:'BETWEEN'},
-                        {field: 'content', title: __('Content')},
+//                        {field: 'content', title: __('Content')},
+//                        {field: 'content_en', title: __('Content_en')},
                         {field: 'lessoncate_id', title: __('Lessoncate_id')},
+                        {field: 'is_show', title: __('Is_show'), searchList: {"1":__('Is_show 1'),"0":__('Is_show 0')}, formatter: Table.api.formatter.normal},
+                        {field: 'weigh', title: __('Weigh'), operate: false},
                         {field: 'cate.name', title: __('Cate.name'), operate: 'LIKE'},
                         {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                     ]