后台管理页面搜索细节调整

pull/41/head
devlike 2018-02-08 18:44:11 +08:00
parent 91f5dcf7f6
commit 34cdae7a3c
12 changed files with 149 additions and 89 deletions

View File

@ -50,34 +50,36 @@ class Archives extends Backend
/** /**
* 读取栏目列表 * 读取栏目列表
*/ */
private function initForm() private function initForm($siteId=null)
{ {
//从总后台进入 $where=$first_siteid='';
if ($this->auth->isSuperAdmin()){ if ($this->auth->isSuperAdmin()) {
$sitelist = model('Sites')->all(); $sitelist = model('Sites')->all();
$this->view->assign('siteList', $sitelist); $this->view->assign('siteList', $sitelist);
$first_siteid = $sitelist?$sitelist[0]['id']:null;
//记住下拉列表中第一个网站的ID添加文章时只读取对应的栏目等信息
if ($sitelist && $this->request->action()=='add') {
$first_siteid = $sitelist[0]['id'];
$where = ['site_id' => $first_siteid];
}
} }
//从站点后台进入
else { else {
$this->view->assign('siteList', null); $this->view->assign('siteList', null);
$first_siteid = Session::get('user_site_id'); $first_siteid = Session::get('user_site_id');
} }
if (!is_null($siteId)) $first_siteid=$siteId;
$tree = Tree::instance(); $tree = Tree::instance();
$tree->init(model('channel')->with('sites')->order('site_id asc,weigh desc,id desc')->select(), 'pid'); $tree->init(model('channel')->with('sites')->where($where)->order('site_id asc,weigh desc,id desc')->select(), 'pid');
$this->channellist = $tree->getTreeList($tree->getTreeArray(0), 'name'); $this->channellist = $tree->getTreeList($tree->getTreeArray(0), 'name');
$channeldata = []; //0 => ['mode' => 'default','site_id'=>0, 'name' => __('None')]]; $channeldata = []; //0 => ['mode' => 'default','site_id'=>0, 'name' => __('None')]];
foreach ($this->channellist as $k => $v) foreach ($this->channellist as $k => $v)
{ {
if(isset($first_siteid) && !is_null($first_siteid) && $v['site_id']!=$first_siteid) { $channeldata[$v['id']] = $v;
//do nothing $channeldata[$v['id']]['disabled'] = 0;
}else { $channeldata[$v['id']]['sitename'] = $v['sites']['name'] == '' ? __('Main site') : $v['sites']['name'];
$channeldata[$v['id']] = $v; if ($v['type'] != 'list') {
$channeldata[$v['id']]['disabled'] = 0; $channeldata[$v['id']]['disabled'] = 1;
$channeldata[$v['id']]['sitename'] = $v['sites']['name'] == '' ? __('Main site') : $v['sites']['name'];
if ($v['type'] != 'list') {
$channeldata[$v['id']]['disabled'] = 1;
}
} }
} }
$this->view->assign("channelList", $channeldata); $this->view->assign("channelList", $channeldata);
@ -113,7 +115,7 @@ class Archives extends Backend
->where($where) ->where($where)
//->where('site_id', Session::get('admin.siteid')) //->where('site_id', Session::get('admin.siteid'))
->where('isDelete',0) ->where('isDelete',0)
->with('channel') ->with('sites,channel')
->field('subtitle,content',true, $tablename) ->field('subtitle,content',true, $tablename)
->order($sort, $order) ->order($sort, $order)
->limit($offset, $limit) ->limit($offset, $limit)
@ -124,6 +126,7 @@ class Archives extends Backend
return json($result); return json($result);
} }
$this->initForm(); $this->initForm();
$this->assignconfig('show_sitename', $this->auth->isSuperAdmin());
return $this->view->fetch(); return $this->view->fetch();
} }
@ -266,7 +269,7 @@ class Archives extends Backend
} }
$this->error(__('Parameter %s can not be empty', '')); $this->error(__('Parameter %s can not be empty', ''));
} }
$this->initForm(); $this->initForm($row->site_id);
$channeldata = []; //0 => ['mode' => 'default','site_id'=>0, 'name' => __('None')]]; $channeldata = []; //0 => ['mode' => 'default','site_id'=>0, 'name' => __('None')]];
foreach ($this->channellist as $k => $v) foreach ($this->channellist as $k => $v)
{ {

View File

@ -19,7 +19,6 @@ class Channel extends Backend
{ {
protected $model = null; protected $model = null;
protected $channellist = [];
protected $noNeedRight = ['check_element_available','getlist']; protected $noNeedRight = ['check_element_available','getlist'];
@ -29,29 +28,33 @@ class Channel extends Backend
$this->request->filter(['strip_tags']); $this->request->filter(['strip_tags']);
$this->model = model('Channel'); $this->model = model('Channel');
$tree = Tree::instance();
$tree->init($this->model->order('weigh desc,id desc')->with('Sites')->with('archives')->select(), 'pid');
$this->channellist = $tree->getTreeList($tree->getTreeArray(0), 'name');
} }
private function initForm(){ private function initForm($siteId=null)
//从总后台进入 {
$first_siteid=null;
if ($this->auth->isSuperAdmin()){ if ($this->auth->isSuperAdmin()){
$sitelist = Sites::all(); $sitelist = Sites::all();
$this->view->assign('siteList', $sitelist); $this->view->assign('siteList', $sitelist);
$first_siteid = $sitelist?$sitelist[0]['id']:null; if ($sitelist && $this->request->action()=='add') {
$first_siteid = $sitelist[0]['id'] ;
}
} }
//从站点后台进入
else { else {
$this->view->assign('siteList', null); $this->view->assign('siteList', null);
$first_siteid = Session::get('user_site_id');
} }
if (!is_null($siteId)) $first_siteid=$siteId;
$where = ['site_id'=>$first_siteid];
$tree = Tree::instance();
$tree->init($this->model->order('weigh desc,id desc')->where($where)->with('Sites,archives')->select(), 'pid');
$channellist = $tree->getTreeList($tree->getTreeArray(0), 'name');
$channeldata = [0 => ['site_id'=>0, 'name' => __('None')]]; $channeldata = [0 => ['site_id'=>0, 'name' => __('None')]];
foreach ($this->channellist as $k => $v) foreach ($channellist as $k => $v)
{ {
if(isset($first_siteid) && !is_null($first_siteid) && $v['site_id']!=$first_siteid) { //添加&编辑页面, 排除非首选网站的栏目
if(!is_null($first_siteid) && $v['site_id']!=$first_siteid) {
//do nothing //do nothing
}else { }else {
$channeldata[$v['id']] = $v; $channeldata[$v['id']] = $v;
@ -76,7 +79,7 @@ class Channel extends Backend
$this->view->assign("typeList", $this->model->getTypeList()); $this->view->assign("typeList", $this->model->getTypeList());
$this->view->assign("modelList", model('PostsModelx')->all()); $this->view->assign("modelList", model('PostsModelx')->all());
$ml = Seven::build_langs('row[lang]',null,['siteid'=>Session::get("admin.siteid")]); $ml = Seven::build_langs('row[lang]',null,['siteid'=>$first_siteid]);
$this->view->assign('multilanguage',$ml); $this->view->assign('multilanguage',$ml);
} }
@ -90,10 +93,18 @@ class Channel extends Backend
{ {
$search = $this->request->request("search"); $search = $this->request->request("search");
//构造父类select列表选项数据 //构造父类select列表选项数据
list($where, $sort, $order, $offset, $limit) = $this->buildparams(false, true);
$tree = Tree::instance();
$tree->init($this->model->order('weigh desc,id desc')->where($where)->with('Sites,archives')->select(), 'pid');
$channellist = $tree->getTreeList($tree->getTreeArray(0), 'name');
$list = []; $list = [];
if ($search) if ($search)
{ {
foreach ($this->channellist as $k => $v) foreach ($channellist as $k => $v)
{ {
if (stripos($v['name'], $search) !== false || stripos($v['nickname'], $search) !== false) if (stripos($v['name'], $search) !== false || stripos($v['nickname'], $search) !== false)
{ {
@ -103,13 +114,18 @@ class Channel extends Backend
} }
else else
{ {
$list = $this->channellist; $list = $channellist;
} }
$total = count($list); $total = count($list);
$result = array("total" => $total, "rows" => $list); $result = array("total" => $total, "rows" => $list);
return json($result); return json($result);
} }
if ($this->auth->isSuperAdmin()){
$sitelist = Sites::all();
$this->view->assign('siteList', $sitelist);
}
$this->assignconfig('show_sitename', $this->auth->isSuperAdmin());
return $this->view->fetch(); return $this->view->fetch();
} }
@ -177,7 +193,7 @@ class Channel extends Backend
} }
$this->error(__('Parameter %s can not be empty', '')); $this->error(__('Parameter %s can not be empty', ''));
} }
$this->initForm(); $this->initForm($row->site_id);
$this->view->assign('multilanguage', Seven::build_langs('row[lang]',$row['lang'],['siteid'=>$row->site_id])); $this->view->assign('multilanguage', Seven::build_langs('row[lang]',$row['lang'],['siteid'=>$row->site_id]));
$this->view->assign("row", $row); $this->view->assign("row", $row);
return $this->view->fetch(); return $this->view->fetch();
@ -186,12 +202,15 @@ class Channel extends Backend
/** /**
* 返回栏目列表,Ajax调用 * 返回栏目列表,文章列表搜索框Ajax调用
*/ */
public function getlist() public function getlist()
{ {
if($this->request->isAjax()){ if($this->request->isAjax()){
foreach ($this->channellist as $k => $v){ $tree = Tree::instance();
$channellist=$tree->init($this->model->order('weigh desc,id desc')->with('Sites,archives')->select(), 'pid');
$channellist = $tree->getTreeList($tree->getTreeArray(0), 'name');
foreach ($channellist as $k => $v){
$list[$v['id']]=$v['name']; $list[$v['id']]=$v['name'];
} }
return json($list); return json($list);

View File

@ -59,6 +59,7 @@ class Page extends Backend
return json($result); return json($result);
} }
$this->assignconfig('show_sitename', $this->auth->isSuperAdmin());
return $this->view->fetch(); return $this->view->fetch();
} }
@ -68,13 +69,12 @@ class Page extends Backend
*/ */
private function initForm() private function initForm()
{ {
//从总后台进入 $first_siteid=null;
if ($this->auth->isSuperAdmin()){ if ($this->auth->isSuperAdmin()){
$sitelist = Sites::all(); $sitelist = Sites::all();
$this->view->assign('siteList', $sitelist); $this->view->assign('siteList', $sitelist);
$first_siteid = $sitelist?$sitelist[0]['id']:null; $first_siteid=$sitelist?$sitelist[0]['id']:$first_siteid;
} }
//从站点后台进入
else { else {
$this->view->assign('siteList', null); $this->view->assign('siteList', null);
$first_siteid = \think\Session::get('user_site_id'); $first_siteid = \think\Session::get('user_site_id');
@ -149,7 +149,7 @@ class Page extends Backend
} }
$this->view->assign("row", $row); $this->view->assign("row", $row);
$this->initForm(); $this->initForm();
$this->view->assign('multilanguage', Seven::build_langs('row[lang]',$row['lang'])); $this->view->assign('multilanguage', Seven::build_langs('row[lang]',$row['lang'],['siteid'=>$row->site_id]));
return $this->view->fetch(); return $this->view->fetch();
} }

View File

@ -11,8 +11,8 @@
<div class="dropdown btn-group {:$auth->check('posts/archives/multi')?'':'hide'}"> <div class="dropdown btn-group {:$auth->check('posts/archives/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> <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"> <ul class="dropdown-menu text-left" role="menu">
<li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="post_status=pass"><i class="fa fa-check-circle"></i> {:__('Set Passed')}</a></li> <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="post_status=fail"><i class="fa fa-times-circle"></i> {:__('Set Unpassed')}</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>
</ul> </ul>
</div> </div>
<a href="{:url('posts/archives/recyclebin')}" class="btn btn-danger btn-draft btn-dialog" title="{:__('Recyclebin')}"><i class="fa fa-recycle"></i> {:__('Recyclebin')}</a> <a href="{:url('posts/archives/recyclebin')}" class="btn btn-danger btn-draft btn-dialog" title="{:__('Recyclebin')}"><i class="fa fa-recycle"></i> {:__('Recyclebin')}</a>

View File

@ -57,7 +57,7 @@
<div class="form-group"> <div class="form-group">
<label for="c-pid" class="control-label col-xs-12 col-sm-2">{:__('Pid')}:</label> <label for="c-pid" class="control-label col-xs-12 col-sm-2">{:__('Pid')}:</label>
<div class="col-xs-12 col-sm-8"> <div class="col-xs-12 col-sm-8">
<select id="c-pid" data-rule="required" class="form-control selectpicker" data-live-search="true" name="row[pid]"> <select id="c-pid" data-rule="required" class="form-control selectpicker" name="row[pid]">
{foreach name="parentList" item="vo"} {foreach name="parentList" item="vo"}
<option data-siteid="{$vo.site_id}" value="{$key}" {in name="key" value=""}selected{/in}>{$vo.name}</option> <option data-siteid="{$vo.site_id}" value="{$key}" {in name="key" value=""}selected{/in}>{$vo.name}</option>
{/foreach} {/foreach}

View File

@ -36,7 +36,7 @@
<div class="control-radio col-xs-12 col-sm-8"> <div class="control-radio col-xs-12 col-sm-8">
<div class="radio"> <div class="radio">
{foreach name="modelList" item="vo"} {foreach name="modelList" item="vo"}
<label for="c-model_{$vo['name']}"><input type="radio" name="row[model]" id="c-model_{$vo['name']}" value="{$vo['name']}" {in name="$vo['name']" value="$row.model"}checked{/in}>{$vo['title']}</label> <label for="c-model_{$vo['name']}"><input type="radio" name="row[model]" id="c-model_{$vo['name']}" value="{$vo['name']}" {eq name="$vo['name']" value="$row['model']"}checked{/eq}>{$vo['title']}</label>
<span></span> <span></span>
{/foreach} {/foreach}
</div> </div>
@ -48,7 +48,7 @@
<div class="col-xs-12 col-sm-8"> <div class="col-xs-12 col-sm-8">
<select id="c-site_id" data-rule="required" class="form-control selectpicker" name="row[site_id]"> <select id="c-site_id" data-rule="required" class="form-control selectpicker" name="row[site_id]">
{foreach name="siteList" item="vo"} {foreach name="siteList" item="vo"}
<option value="{$vo.id}" {in name="key" value="{$vo['id']}"}selected{/eq}>{$vo.name} ({$vo.domain})</option> <option value="{$vo.id}" {eq name="$vo.id" value="$row['site_id']"}selected{/eq}>{$vo.name} ({$vo.domain})</option>
{/foreach} {/foreach}
</select> </select>
</div> </div>
@ -58,9 +58,9 @@
<label for="c-pid" class="control-label col-xs-12 col-sm-2">{:__('Pid')}:</label> <label for="c-pid" class="control-label col-xs-12 col-sm-2">{:__('Pid')}:</label>
<div class="col-xs-12 col-sm-8"> <div class="col-xs-12 col-sm-8">
<select id="c-pid" data-rule="required" class="form-control selectpicker" data-live-search="true" name="row[pid]"> <select id="c-pid" data-rule="required" class="form-control selectpicker" name="row[pid]">
{foreach name="parentList" item="vo"} {foreach name="parentList" item="vo"}
<option data-siteid="{$vo.site_id}" class="{:$vo.site_id==$row.site_id?'':'hide'}" value="{$key}" {in name="key" value="$row.pid"}selected{/in}>{$vo.name}</option> <option data-siteid="{$vo.site_id}" value="{$key}" {eq name="$key" value="$row['pid']"}selected{/eq}>{$vo.name}</option>
{/foreach} {/foreach}
</select> </select>

View File

@ -14,6 +14,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> <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>
</ul> </ul>
</div> </div>
{notempty name="siteList"}
<div class="btn-group" id="formg">
<select id="c-site_id" class="selectpicker" data-live-search="true" name="site_id">
<option value="0">{:__('Filter by site')}</option>
{foreach name="siteList" item="vo"}
<option value="{$vo.id}">{$vo.name} ({$vo.domain})</option>
{/foreach}
</select>
</div>
{/notempty}
</div> </div>
<table id="table" class="table table-striped table-bordered table-hover" <table id="table" class="table table-striped table-bordered table-hover"
data-operate-edit="{:$auth->check('posts/channel/edit')}" data-operate-edit="{:$auth->check('posts/channel/edit')}"

View File

@ -1,17 +1,4 @@
<form id="edit-form" class="form-horizontal form-ajax" role="form" data-toggle="validator" method="POST" action=""> <form id="edit-form" class="form-horizontal form-ajax" role="form" data-toggle="validator" method="POST" action="">
{notempty name="siteList"}
<div class="form-group">
<label for="c-site_id" class="control-label col-xs-12 col-sm-2">{:__('Site_id')}:</label>
<div class="col-xs-12 col-sm-8">
<select id="c-site_id" class="form-control selectpicker" name="row[site_id]">
{foreach name="siteList" item="vo"}
<option data-lang="{$vo.lang}" value="{$vo.id}">{$vo.name} ({$vo.domain})</option>
{/foreach}
</select>
</div>
</div>
{/notempty}
<div class="form-group"> <div class="form-group">
<label for="c-title" class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label> <label for="c-title" class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
<div class="col-xs-12 col-sm-8"> <div class="col-xs-12 col-sm-8">

View File

@ -38,19 +38,24 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template'], function
[ [
{checkbox: true}, {checkbox: true},
{field: 'id', title: __('id'), operate: false}, {field: 'id', title: __('id'), operate: false},
{field: 'channel_id', title: __('Channel_id'),formatter: function (value, row, index) { {field: 'site_id', title: __('Site_id'), visible:Config.show_sitename,
formatter: function (value, row, index) {
return row.sites==null?'':'<a href="javascript:;" class="searchit" data-field="site_id" data-value="' + row.site_id + '">' + row.sites.name + '</a>';
}
},
{field: 'channel_id', title: __('Channel_id'),searchList: $.getJSON('posts/channel/getlist'),
formatter: function (value, row, index) {
return row.channel==null?'':'<a href="javascript:;" class="searchit" data-field="channel_id" data-value="' + value + '">' + row.channel.name + '</a>'; return row.channel==null?'':'<a href="javascript:;" class="searchit" data-field="channel_id" data-value="' + value + '">' + row.channel.name + '</a>';
}, }
searchList: $.getJSON('posts/channel/getlist')
}, },
{field: 'type', title: __('type'), formatter: function (value,row,index){ {field: 'type', title: __('type'), formatter: function (value,row,index){
return '<span class="label label-info">'+value+'</span>'; return '<span class="label label-info">'+value+'</span>';
}, operate:false }, }, operate:false },
{field: 'title', align:'left', title: __('title'), operate: 'LIKE %...%', {field: 'title', align:'left', title: __('title'), operate: 'LIKE %...%',placeholder: '关键字,模糊搜索',
formatter: function(value,row, index){ formatter: function(value,row, index){
return value + (row.cover==''?'' : ' <span><i class="fa fa-file-image-o text-danger"></i></span>'); return value + (row.cover==''?'' : ' <span><i class="fa fa-file-image-o text-danger"></i></span>');
}}, }},
{field: 'status', title: __('status'), searchList: {new: __('New'), normal: __('Normal'), hidden: __('Hidden')}, formatter: Table.api.formatter.status}, {field: 'status', title: __('status'), searchList: {normal: __('Normal'), hidden: __('Hidden')}, formatter: Table.api.formatter.status},
{field: 'updatetime', title: __('updatetime'),operate: 'RANGE', addclass: 'datetimerange', formatter: Table.api.formatter.datetime}, {field: 'updatetime', title: __('updatetime'),operate: 'RANGE', addclass: 'datetimerange', formatter: Table.api.formatter.datetime},
{field: 'views', title: __('Views'), operate:false}, {field: 'views', title: __('Views'), operate:false},
{field: 'weigh', title: __('Weigh'), operate:false}, {field: 'weigh', title: __('Weigh'), operate:false},

View File

@ -24,29 +24,59 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
sortName: 'weigh', sortName: 'weigh',
pagination: false, pagination: false,
escape: false, escape: false,
commonSearch: false, commonSearch: true,
search: false, search: false,
columns: [ columns: [
[ [
{checkbox: true}, {checkbox: true},
{field: 'id', title: __('Id')}, {field: 'id', title: __('Id'),operate:false},
{field: 'sites.name', title: __('Site_id')}, {field: 'site_id', title: __('Site_id'), visible:Config.show_sitename,
{field: 'type', title: __('Type'), custom: {channel: 'info', list: 'success', redirect: 'primary'}, formatter: Table.api.formatter.flag}, formatter: function (value, row, index) {
{field: 'name', title: __('Name'), align: 'left', formatter: Controller.api.formatter.catename}, return row.sites==null?'':'<a href="javascript:;" class="searchit" data-field="site_id" data-value="' + row.site_id + '">' + row.sites.name + '</a>';
{field: 'diyname', title: __('Redirect'), formatter:function(value,row,index){ }
return value==''? '' : '<a href="' + value + '" title="'+value+'" target="_blank" class="btn btn-default btn-sm"><i class="fa fa-link"></i></a>'; },
}}, {field: 'type', title: __('Type'), searchList: {channel: __('Channel'), list: __('list'), redirect: __('Redirect')},custom: {channel: 'info', list: 'success', redirect: 'primary'}, formatter: Table.api.formatter.flag},
{field: 'name', title: __('Name'), align: 'left', operate: 'LIKE %...%',placeholder: '关键字,模糊搜索', formatter: Controller.api.formatter.catename},
{field: 'diyname', title: __('Redirect'), operate:false,
formatter:function(value,row,index){
diyname = row['type']=='redirect' ? row['redirect'] : value==''? '': '/list/'+value+'.html';
return diyname==''? '' : '<a href="' + diyname + '" title="'+diyname+'" target="_blank" class="btn btn-default btn-sm"><i class="fa fa-link"></i></a>';
}
},
{field: 'flag', title: __('Flag'), operate: false, formatter: Table.api.formatter.flag}, {field: 'flag', title: __('Flag'), operate: false, formatter: Table.api.formatter.flag},
{field: 'weigh', title: __('Weigh'), visible:true}, {field: 'weigh', title: __('Weigh'), visible:true,operate:false},
{field: 'archives.items', title: __('Items'), formatter:function(value,row,index){return (typeof value === 'number') ? value : 0;}}, {field: 'archives.items', title: __('Items'),operate:false,
{field: 'status', title: __('Status'), operate: false, formatter: Table.api.formatter.status}, formatter:function(value,row,index){
return (typeof value === 'number') ? '<span class="label label-info">'+ value +'</span>' : 0;
}},
{field: 'status', title: __('Status'), searchList: {normal: __('Normal'), hidden: __('Hidden')}, formatter: Table.api.formatter.status},
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate} {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
] ]
] ]
}); });
$(document).on('change','#c-site_id', function(){
var self = this;
if($(self).val()==0) return false;
var options = table.bootstrapTable('getOptions');
options.pageNumber = 1;
options.queryParams = function (params) {
return {
sort: params.sort,
order: params.order,
filter: JSON.stringify({site_id: $(self).val()}),
op: JSON.stringify({site_id: '='}),
offset: params.offset,
limit: params.limit,
};
};
//Toastr.info("数据加载中,请稍候...");
table.bootstrapTable('refresh');
});
// 为表格绑定事件 // 为表格绑定事件
Table.api.bindevent(table); Table.api.bindevent(table);
Form.api.bindevent($("#formg"));
}, },
add: function () { add: function () {
Controller.api.bindevent(); Controller.api.bindevent();

View File

@ -24,15 +24,21 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
[ [
{field: 'state', checkbox: true}, {field: 'state', checkbox: true},
{field: 'id', title: __('Id'), operate: false}, {field: 'id', title: __('Id'), operate: false},
{field: 'site_id', title: __('Site_id'), operate: false, formatter:function(value,row,index){ {field: 'site_id', title: __('Site_id'),
return value==0? '-': row.sites.name; formatter: function (value, row, index) {
}}, return row.sites==null?'':'<a href="javascript:;" class="searchit" data-field="site_id" data-value="' + row.site_id + '">' + row.sites.name + '</a>';
},visible:Config.show_sitename},
{field: 'title', title: __('Title'), align:'left', operate: 'LIKE %...%', placeholder: '关键字,模糊搜索', {field: 'title', title: __('Title'), align:'left', operate: 'LIKE %...%', placeholder: '关键字,模糊搜索',
formatter: function(value,row,index){ formatter: function(value,row,index){
return value + (row.image==''?'' : '<img src="'+Fast.api.cdnurl('/assets/img/img.gif')+'">'); return value + (row.image==''?'' : ' <span><i class="fa fa-file-image-o text-danger"></i></span>');
}}, }
},
{field: 'flag', title: __('Flag'), formatter: Table.api.formatter.flag, operate: false}, {field: 'flag', title: __('Flag'), formatter: Table.api.formatter.flag, operate: false},
{field: 'lang', title: __('lang'), formatter: Table.api.formatter.langs, operate: false}, {field: 'lang', title: __('lang'), operate: false,
formatter: function(value,row,index){
return __(value);
}
},
{field: 'views', title: __('Views'), operate: false}, {field: 'views', title: __('Views'), operate: false},
//{field: 'comments', title: __('Comments'), operate: false}, //{field: 'comments', title: __('Comments'), operate: false},
{field: 'weigh', title: __('Weigh'), operate: false}, {field: 'weigh', title: __('Weigh'), operate: false},
@ -59,7 +65,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
bindevent: function () { bindevent: function () {
$(document).on("change", "#c-site_id", function () { $(document).on("change", "#c-site_id", function () {
that=this; that=this;
Fast.api.ajax({url: 'posts/sites/get_site_langs', data: {"lang": $(that).val()}}, function (data) { Fast.api.ajax({url: 'posts/sites/get_site_langs', data: {"lang": $(that).val()}}, function (r,data) {
$("#language_choose").html(data.html); $("#language_choose").html(data.html);
Form.api.bindevent($("#language_choose")); Form.api.bindevent($("#language_choose"));
return false; return false;

View File

@ -25,12 +25,12 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template'], function
[ [
{checkbox: true}, {checkbox: true},
{field: 'id', title: __('Id')}, {field: 'id', title: __('Id')},
{field: 'username', title: __('User_id')}, {field: 'username', title: __('User_id'), operate:false},
{field: 'name', title: __('name')}, {field: 'name', title: __('name'),operate: 'LIKE %...%',placeholder: '关键字,模糊搜索',},
{field: 'domain', title: __('Domain')}, {field: 'domain', title: __('Domain'),operate: 'LIKE %...%',placeholder: '关键字,模糊搜索',},
{field: 'lang', title: __('Lang')}, {field: 'lang', title: __('Lang'), operate:false},
{field: 'status', title: __('Status'), formatter: Table.api.formatter.status}, {field: 'status', title: __('Status'),searchList: {normal: __('Normal'), hidden: __('Hidden')}, formatter: Table.api.formatter.status},
{field: 'createtime', title: __('Createtime'), formatter: Table.api.formatter.datetime}, {field: 'createtime', title: __('Createtime'), operate: 'BETWEEN', type: 'datetime', addclass: 'datetimepicker', data: 'data-date-format="YYYY-MM-DD"', formatter: Table.api.formatter.datetime},
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate} {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
] ]
] ]