作者 开飞机的舒克

后台优化

@@ -22,7 +22,7 @@ class Banner extends Backend @@ -22,7 +22,7 @@ class Banner extends Backend
22 { 22 {
23 parent::_initialize(); 23 parent::_initialize();
24 $this->model = new \app\admin\model\Banner; 24 $this->model = new \app\admin\model\Banner;
25 - $this->view->assign("isUrlList", $this->model->getIsUrlList()); 25 +
26 } 26 }
27 27
28 28
@@ -51,12 +51,14 @@ class Banner extends Backend @@ -51,12 +51,14 @@ class Banner extends Backend
51 list($where, $sort, $order, $offset, $limit) = $this->buildparams(); 51 list($where, $sort, $order, $offset, $limit) = $this->buildparams();
52 52
53 $list = $this->model 53 $list = $this->model
  54 +
54 ->where($where) 55 ->where($where)
55 ->order($sort, $order) 56 ->order($sort, $order)
56 ->paginate($limit); 57 ->paginate($limit);
57 58
58 foreach ($list as $row) { 59 foreach ($list as $row) {
59 - $row->visible(['id','title','images','is_url','url','details','createtime']); 60 + $row->visible(['id','title','images','details','createtime']);
  61 +
60 } 62 }
61 63
62 $result = array("total" => $list->total(), "rows" => $list->items()); 64 $result = array("total" => $list->total(), "rows" => $list->items());
@@ -3,10 +3,6 @@ @@ -3,10 +3,6 @@
3 return [ 3 return [
4 'Title' => '轮播图名称', 4 'Title' => '轮播图名称',
5 'Images' => '轮播图', 5 'Images' => '轮播图',
6 - 'Is_url' => '是否为链接',  
7 - 'Is_url 0' => '否',  
8 - 'Is_url 1' => '是',  
9 - 'Url' => '跳转地址',  
10 'Details' => '轮播图内容', 6 'Details' => '轮播图内容',
11 'Createtime' => '创建时间', 7 'Createtime' => '创建时间',
12 'Updatetime' => '修改时间' 8 'Updatetime' => '修改时间'
@@ -8,6 +8,10 @@ use think\Model; @@ -8,6 +8,10 @@ use think\Model;
8 class Banner extends Model 8 class Banner extends Model
9 { 9 {
10 10
  11 +
  12 +
  13 +
  14 +
11 // 表名 15 // 表名
12 protected $name = 'banner'; 16 protected $name = 'banner';
13 17
@@ -21,21 +25,16 @@ class Banner extends Model @@ -21,21 +25,16 @@ class Banner extends Model
21 25
22 // 追加属性 26 // 追加属性
23 protected $append = [ 27 protected $append = [
24 - 'is_url_text' 28 +
25 ]; 29 ];
26 30
27 31
28 - public function getIsUrlList()  
29 - {  
30 - return ['0' => __('Is_url 0'), '1' => __('Is_url 1')];  
31 - }  
32 32
33 33
34 - public function getIsUrlTextAttr($value, $data)  
35 - {  
36 - $value = $value ? $value : (isset($data['is_url']) ? $data['is_url'] : '');  
37 - $list = $this->getIsUrlList();  
38 - return isset($list[$value]) ? $list[$value] : '';  
39 - } 34 +
  35 +
  36 +
  37 +
  38 +
40 39
41 } 40 }
@@ -21,36 +21,11 @@ @@ -21,36 +21,11 @@
21 </div> 21 </div>
22 </div> 22 </div>
23 <div class="form-group"> 23 <div class="form-group">
24 - <label class="control-label col-xs-12 col-sm-2">{:__('Is_url')}:</label>  
25 - <div class="col-xs-12 col-sm-8">  
26 -  
27 - <select id="c-is_url" class="form-control selectpicker" name="row[is_url]">  
28 - {foreach name="isUrlList" item="vo"}  
29 - <option value="{$key}" {in name="key" value=""}selected{/in}>{$vo}</option>  
30 - {/foreach}  
31 - </select>  
32 -  
33 - </div>  
34 - </div>  
35 - {switch name="isUrl"}  
36 - {case value="1"}  
37 - <div class="form-group">  
38 - <label class="control-label col-xs-12 col-sm-2">{:__('Url')}:</label>  
39 - <div class="col-xs-12 col-sm-8">  
40 - <input id="c-url" class="form-control" name="row[url]" type="text">  
41 - </div>  
42 - </div>  
43 - {/case}  
44 - {case value="0"}  
45 - <div class="form-group">  
46 <label class="control-label col-xs-12 col-sm-2">{:__('Details')}:</label> 24 <label class="control-label col-xs-12 col-sm-2">{:__('Details')}:</label>
47 <div class="col-xs-12 col-sm-8"> 25 <div class="col-xs-12 col-sm-8">
48 - <textarea id="c-details" class="form-control editor" rows="5" name="row[details]" cols="50"></textarea> 26 + <textarea id="c-details" class="form-control " rows="5" name="row[details]" cols="50"></textarea>
49 </div> 27 </div>
50 </div> 28 </div>
51 - {/case}  
52 - {/switch}  
53 -  
54 <div class="form-group layer-footer"> 29 <div class="form-group layer-footer">
55 <label class="control-label col-xs-12 col-sm-2"></label> 30 <label class="control-label col-xs-12 col-sm-2"></label>
56 <div class="col-xs-12 col-sm-8"> 31 <div class="col-xs-12 col-sm-8">
@@ -21,24 +21,6 @@ @@ -21,24 +21,6 @@
21 </div> 21 </div>
22 </div> 22 </div>
23 <div class="form-group"> 23 <div class="form-group">
24 - <label class="control-label col-xs-12 col-sm-2">{:__('Is_url')}:</label>  
25 - <div class="col-xs-12 col-sm-8">  
26 -  
27 - <select id="c-is_url" class="form-control selectpicker" name="row[is_url]">  
28 - {foreach name="isUrlList" item="vo"}  
29 - <option value="{$key}" {in name="key" value="$row.is_url"}selected{/in}>{$vo}</option>  
30 - {/foreach}  
31 - </select>  
32 -  
33 - </div>  
34 - </div>  
35 - <div class="form-group">  
36 - <label class="control-label col-xs-12 col-sm-2">{:__('Url')}:</label>  
37 - <div class="col-xs-12 col-sm-8">  
38 - <input id="c-url" class="form-control" name="row[url]" type="text" value="{$row.url|htmlentities}">  
39 - </div>  
40 - </div>  
41 - <div class="form-group">  
42 <label class="control-label col-xs-12 col-sm-2">{:__('Details')}:</label> 24 <label class="control-label col-xs-12 col-sm-2">{:__('Details')}:</label>
43 <div class="col-xs-12 col-sm-8"> 25 <div class="col-xs-12 col-sm-8">
44 <textarea id="c-details" class="form-control " rows="5" name="row[details]" cols="50">{$row.details|htmlentities}</textarea> 26 <textarea id="c-details" class="form-control " rows="5" name="row[details]" cols="50">{$row.details|htmlentities}</textarea>
@@ -8,9 +8,12 @@ @@ -8,9 +8,12 @@
8 <div id="toolbar" class="toolbar"> 8 <div id="toolbar" class="toolbar">
9 <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a> 9 <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
10 <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('banner/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a> 10 <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('banner/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
  11 + <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('banner/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
  12 + <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('banner/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
11 13
12 14
13 <div class="dropdown btn-group {:$auth->check('banner/multi')?'':'hide'}"> 15 <div class="dropdown btn-group {:$auth->check('banner/multi')?'':'hide'}">
  16 + <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>
14 <ul class="dropdown-menu text-left" role="menu"> 17 <ul class="dropdown-menu text-left" role="menu">
15 <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> 18 <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>
16 <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> 19 <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>
@@ -22,21 +22,26 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin @@ -22,21 +22,26 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
22 url: $.fn.bootstrapTable.defaults.extend.index_url, 22 url: $.fn.bootstrapTable.defaults.extend.index_url,
23 pk: 'id', 23 pk: 'id',
24 sortName: 'id', 24 sortName: 'id',
25 - showToggle: false,//浏览模式功能关闭  
26 - showColumns: false,//显示隐藏列功能关闭  
27 - //commonSearch: false, //关闭通用搜索按钮  
28 - showExport: false,//导出功能关闭  
29 - clickToSelect: false, //是否启用点击选中  
30 - dblClickToEdit: false, //是否启用双击编辑  
31 columns: [ 25 columns: [
32 [ 26 [
33 {checkbox: true}, 27 {checkbox: true},
34 {field: 'id', title: __('Id')}, 28 {field: 'id', title: __('Id')},
35 {field: 'title', title: __('Title'), operate: 'LIKE'}, 29 {field: 'title', title: __('Title'), operate: 'LIKE'},
36 {field: 'images', title: __('Images'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images}, 30 {field: 'images', title: __('Images'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images},
37 - {field: 'is_url_text', title: __('Is_url'), searchList: {"0":__('Is_url 0'),"1":__('Is_url 1')}},  
38 - {field: 'url', title: __('Url'), operate: 'LIKE', formatter: Table.api.formatter.url},  
39 - // {field: 'details',title: '详情'}, 31 + {field: 'details', title: __('Details'), operate: false,
  32 + formatter : function(value, row, index, field){
  33 + return "<span style='display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' title='" + row.details + "'>" + value + "</span>";
  34 + },
  35 + cellStyle : function(value, row, index, field) {
  36 + return {
  37 + css: {
  38 + "white-space": "nowrap",
  39 + "text-overflow": "ellipsis",
  40 + "overflow": "hidden",
  41 + "max-width": "150px"
  42 + }
  43 + };
  44 + }},
40 {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime}, 45 {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
41 {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate} 46 {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
42 ] 47 ]