1. js部分 自動生成顯示的字段,添加
{field: 'status', title: __('黑名單操作'),operate: false, formatter: Controller.api.formatter.black, events: Controller.ladd.browser},
根據狀態顯示對應的按鈕 formatter: Controller.api.formatter.black,
api: {
bindevent: function () {
Form.api.bindevent($("form[role=form]"));
},
formatter: {
black: function (value, row, index) {
var num = row.status;
if(num == 0){
return'-';
}
if(num == 1){
return'<a href="javascript:;" class="btn btn-xs btn-danger btn-borrower" title="加入黑名單"><i class=""></i>加入黑名單</a>';
}
if(num == 2){
return'<a href="javascript:;" class="btn btn-xs btn-success btn-moveblack" title="移出黑名單"><i class=""></i>移出黑名單</a>';
}
},
}
},
按鈕對應的js方法 events: Controller.ladd.browser 彈框,調用控制器方法
ladd: {
browser: {
'click .btn-borrower': function (e, value, row, index) {
e.stopPropagation();
var that = this;
var top = $(that).offset().top - $(window).scrollTop();
var left = $(that).offset().left - $(window).scrollLeft() - 260;
if (top + 154 > $(window).height()) {
top = top - 154;
}
if ($(window).width() < 480) {
top = left = undefined;
}
var index = Layer.confirm(
__('確認拉黑該用戶?'),
{icon: 1, title: __('溫馨提示'), offset: [top, left], shadeClose: true},
function () {
var table = $(that).closest('table');
var options = table.bootstrapTable('getOptions');
Backend.api.ajax("circlenote/addblack/ids/"+row.id, function(data, ret){
window.location.reload();
});
Layer.close(index);
}
);
},
'click .btn-moveblack': function (e, value, row, index) {
e.stopPropagation();
var that = this;
var top = $(that).offset().top - $(window).scrollTop();
var left = $(that).offset().left - $(window).scrollLeft() - 260;
if (top + 154 > $(window).height()) {
top = top - 154;
}
if ($(window).width() < 480) {
top = left = undefined;
}
var index = Layer.confirm(
__('確認在黑名單中移除該用戶?'),
{icon: 1, title: __('溫馨提示'), offset: [top, left], shadeClose: true},
function () {
var table = $(that).closest('table');
var options = table.bootstrapTable('getOptions');
Backend.api.ajax("circlenote/moveblack/ids/"+row.id, function(data, ret){
// document.execCommand('Refresh');
window.location.reload();
});
Layer.close(index);
}
);
},
},
},
2.控制器部分
//拉黑 傳入要拉黑人帖子id 獲取發佈人id 將發佈人所有的帖子設置爲不顯示
public function addblack($ids = "")
{
if ($ids) {
$mDb = Db::connect('db_config_fwq');
//獲取發佈人id
$mid=$mDb->table('app_circle_note')->where('id',$ids)->value('mid');
//dump($mid);die;
//加入黑名單
$is_black=$mDb->table('app_circle_black')->where('mid',$mid)->find();
if(!$is_black)
{
$data = ['mid' => $mid];
$mDb->table('app_circle_black')->insert($data);
}
//將發佈人所有的帖子設置爲不顯示
$where['mid']=$mid;
$where['status']=array('neq',0);
$list = $this->model->where($where)->setField('status',2);
if ($list > 0) {
$this->success();
} else {
$this->error(__('No rows were deleted'));
}
}
$this->error(__('Parameter %s can not be empty', 'ids'));
}
//移出黑名單 傳入要拉黑人帖子id 獲取發佈人id 將發佈人所有的帖子設置狀態 2設置爲1 2是拉黑的, 1,是顯示 2是不顯示
public function moveblack($ids = "")
{
if ($ids) {
$mDb = Db::connect('db_config_fwq');
//獲取發佈人id
$mid=$mDb->table('app_circle_note')->where('id',$ids)->value('mid');
//dump($mid);die;
//加入黑名單
$is_black=$mDb->table('app_circle_black')->where('mid',$mid)->find();
if($is_black)
{
$mDb->table('app_circle_black')->where('mid',$mid)->delete();
}
//將發佈人所有的帖子設置爲不顯示
$where['mid']=$mid;
$where['status']=array('eq',2);
$list = $this->model->where($where)->setField('status',1);
if ($list > 0) {
$this->success();
} else {
$this->error(__('No rows were deleted'));
}
}
$this->error(__('Parameter %s can not be empty', 'ids'));
}