tp5 fastadmin 拉黑功能實現

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'));
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章