记录:fastadmin控制table操作栏按钮是否显示
1,通过当前行数据中的状态判断(自定义按钮)

2,通过config里的值判断(自定义按钮)

3,控制默认按钮显示

页面整个JS

define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {var Controller = {index: function () {// 初始化表格参数配置Table.api.init({extend: {index_url: 'litestore/manystore_goods/index' + location.search,add_url: 'litestore/manystore_goods/add',edit_url: 'litestore/manystore_goods/edit',del_url: 'litestore/manystore_goods/del',multi_url: 'litestore/manystore_goods/multi',import_url: 'litestore/manystore_goods/import',table: 'litestore_manystore_goods',}});var table = $("#table");//当表格数据加载完成时table.on('load-success.bs.table', function (e, data) {//这里可以获取从服务端获取的JSON数据// console.log(data);//这里我们手动设置底部的值$(".goods_all_number").text(data.extend.goods_all_number);$(".goods_shangjia_number").text(data.extend.goods_shangjia_number);$(".goods_xiajia_number").text(data.extend.goods_xiajia_number);$(".goods_waitcheck_number").text(data.extend.goods_waitcheck_number);$(".goods_checkesuccess_number").text(data.extend.goods_checkesuccess_number);$(".goods_checkefail_number").text(data.extend.goods_checkefail_number);$(".goods_deleted_number").text(data.extend.goods_deleted_number);});// 初始化表格table.bootstrapTable({url: $.fn.bootstrapTable.defaults.extend.index_url,pk: 'manystore_goods_id',sortName: 'manystore_goods_id',fixedColumns: true,fixedRightNumber: 1,columns: [[{checkbox: true},{field: 'manystore_goods_id', title: __('Manystore_goods_id')},{field: 'shop_id', title: __('Shop_id')},{field: 'shop.name', title: __('Shop.name'), operate: 'LIKE', formatter: Table.api.formatter.label},{field: 'goods_id', title: __('Goods_id')},{field: 'litestoregoods.goods_name', title: __('Litestoregoods.goods_name'), operate: 'LIKE',formatter : function(value, row, index, field){return "<span style='display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' title='" + value + "'>" + value + "</span>";},cellStyle : function(value, row, index, field){return {css: {"white-space": "nowrap","text-overflow": "ellipsis","overflow": "hidden","max-width":"300px"}};}},{field: 'litestoregoods.images', title: __('Litestoregoods.images'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images},{field: 'litestoregoods.spec_type', title: __('Litestoregoods.spec_type'), searchList: {"10":__('Litestoregoods.spec_type 10'),"20":__('Litestoregoods.spec_type 20')}, formatter: Table.api.formatter.normal},{field: 'flag', title: __('Flag'), searchList: {"hot":__('Hot'),"discount":__('Discount')}, operate:'FIND_IN_SET', formatter: Table.api.formatter.label},{field: 'sales_initial', title: __('Sales_initial')},{field: 'sales_actual', title: __('Sales_actual')},{field: 'goods_sort', title: __('Goods_sort')},{field: 'goods_status', title: __('Goods_status'), searchList: {"10":__('Goods_status 10'),"20":__('Goods_status 20'),"30":__('Goods_status 30')},custom: {10:'success', 20:'danger',30:'warning', 40:'info'}, formatter: Table.api.formatter.status},{field: 'check_status', title: __('Check_status'), searchList: {"10":__('Check_status 10'),"20":__('Check_status 20'),"30":__('Check_status 30')}, formatter: Table.api.formatter.status},{field: 'is_delete', title: __('Is_delete'), searchList: {"0":__('Is_delete 0'),"1":__('Is_delete 1')},custom: {0:'primary', 1:'danger'}, formatter: Table.api.formatter.normal},{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},{field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},// {field: 'litestoregoods.goods_nickname', title: __('Litestoregoods.goods_nickname'), operate: 'LIKE'},// {field: 'litestoregoods.category_id', title: __('Litestoregoods.category_id')},// {field: 'litestoregoods.sign', title: __('Litestoregoods.sign')},// {field: 'litestoregoods.flag', title: __('Litestoregoods.flag'), operate:'FIND_IN_SET', formatter: Table.api.formatter.label},// {field: 'litestoregoods.deduct_stock_type', title: __('Litestoregoods.deduct_stock_type')},// {field: 'litestoregoods.sales_initial', title: __('Litestoregoods.sales_initial')},// {field: 'litestoregoods.sales_actual', title: __('Litestoregoods.sales_actual')},// {field: 'litestoregoods.goods_sort', title: __('Litestoregoods.goods_sort')},// {field: 'litestoregoods.delivery_id', title: __('Litestoregoods.delivery_id')},// {field: 'litestoregoods.goods_status', title: __('Litestoregoods.goods_status'), formatter: Table.api.formatter.status},{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate,                            buttons: [  {name: 'forcexiajia',title: __('强制下架'),text: __('强制下架'),classname: 'btn btn-xs btn-info btn-magic btn-ajax',    // ajax请求icon: 'fa fa-download',confirm: '确认将此商品 强制下架 吗?',url: 'litestore/manystore_goods/forcexiajia',success: function (data, ret) {table.bootstrapTable('refresh');//如果需要阻止成功提示,则必须使用return false;// return false;},error: function (data, ret) {// console.log(data, ret);// Layer.alert(ret.msg);// return false;},hidden:function(row){if(row.check_status != 20 || row.goods_status != 10 || row.is_delete == 1){return true;}else{return false;}},}, {name: 'check',title: __('审核'),text: __('审核'),classname: 'btn btn-xs btn-warning btn-dialog', //弹出页面icon: 'fa fa-legal',url: 'litestore/manystore_goods/check',extend: 'data-area=["775px","400px"]',callback: function (data) {Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});},hidden:function(row){if(row.check_status != 10 || row.is_delete == 1){return true;}else{return false;}},},{name: '测试按钮',title: __('测试按钮'),text: __('测试按钮'),classname: 'btn btn-xs btn-danger btn-magic btn-ajax',icon: 'fa fa-times',url: 'ajax/moveAnswer?from='+Config.from+'&from_id=' + Config.from_id,success: function (data, ret) {table.bootstrapTable('refresh');parent.$("a.btn-refresh").trigger("click");//如果需要阻止成功提示,则必须使用return false;// return false;},error: function (data, ret) {console.log(data, ret);// Layer.alert(ret.msg);// return false;},hidden:function(){var from = Config.from;if(from == 1){return false;}else{return true;}},},], formatter: function(value, row, index) {var that = $.extend({}, this);var table = $(that.table).clone(true);if (row.is_delete == 1) {$(table).data("operate-edit", null);$(table).data("operate-del", null);}that.table = table;return Table.api.formatter.operate.call(that, value, row, index);}}]]});// 批量审核$(document).on("click", ".btn-batchcheck", function () {var ids = Table.api.selectedids(table);//获取选中列的idif(ids.length==0){layer.alert("请选择要操作的数据");return false;}//直接打开页面Fast.api.open("litestore/manystore_goods/check?ids="+ids, '审核',{area:['775px', '400px']});})// 批量强制下架$(document).on("click", ".btn-batchforcexiajia", function () {var ids = Table.api.selectedids(table);//获取选中列的idif(ids.length==0){layer.alert("请选择要操作的数据");return false;}Layer.confirm('确定要对选择数据进行 强制下架 吗?',{icon: 3, title: __('Warning'), offset: 0, shadeClose: true},function (index) {Fast.api.ajax({url: 'litestore/manystore_goods/forcexiajia',data: {ids:ids},}, function (data, ret) {table.bootstrapTable('refresh');});Layer.close(index);});})// 绑定TAB事件$('.panel-heading .nav-custom-condition a[data-toggle="tab"]', table.closest(".panel-intro")).on('shown.bs.tab', function (e) {var that = $(this);var options = table.bootstrapTable('getOptions');var queryParams = options.queryParams;options.pageNumber = 1;options.queryParams = function (params) {//这一行必须要存在,否则在点击下一页时会丢失搜索栏数据params = queryParams(params);//如果希望追加搜索条件,可使用var filter = params.filter ? JSON.parse(params.filter) : {};var op = params.op ? JSON.parse(params.op) : {};if(that.data("goods_status")){filter['goods_status'] = that.data("goods_status");op['goods_status'] = 'in';                        }else{delete filter['goods_status'];}if(that.data("check_status")){filter['check_status'] = that.data("check_status");op['check_status'] = '=';}else{delete filter['check_status'];}if(that.data("is_delete")){filter['is_delete'] = that.data("is_delete");op['is_delete'] = '=';}else{delete filter['is_delete'];}params.filter = JSON.stringify(filter);params.op = JSON.stringify(op);return params;};table.trigger("uncheckbox");table.bootstrapTable('refresh', {pageNumber: 1});return false;});// 为表格绑定事件Table.api.bindevent(table);},add: function () {Controller.api.bindevent();},edit: function () {Controller.api.bindevent();},check: function () {Controller.api.bindevent();},api: {bindevent: function () {Form.api.bindevent($("form[role=form]"));}}};return Controller;
});

页面html代码

<div class="panel panel-default panel-intro"><div class="panel-heading">{:build_heading()}<ul class="nav nav-tabs nav-custom-condition"><li class="active"><a href="#t-all" data-value="" data-toggle="tab">{:__('All')} (<span class="goods_all_number">{$goods_all_number}</span>)</a></li><li><a href="#t-shangjia" data-goods_status="10" data-toggle="tab">{:__('Goods_status 10')} (<span class="goods_shangjia_number">{$goods_shangjia_number}</span>)</a></li><li><a href="#t-xiajia" data-goods_status="20,30" data-toggle="tab">{:__('Goods_status 20')} (<span class="goods_xiajia_number">{$goods_xiajia_number}</span>)</a></li><li><a href="#t-waitcheck" data-check_status="10" data-toggle="tab">{:__('Check_status 10')} (<span class="goods_waitcheck_number">{$goods_waitcheck_number}</span>)</a></li><li><a href="#t-checkesuccess" data-check_status="20" data-toggle="tab">{:__('Check_status 20')} (<span class="goods_checkesuccess_number">{$goods_checkesuccess_number}</span>)</a></li><li><a href="#t-checkefail" data-check_status="30" data-toggle="tab">{:__('Check_status 30')} (<span class="goods_checkefail_number">{$goods_checkefail_number}</span>)</a></li><li><a href="#t-deleted" data-is_delete="1" data-toggle="tab">{:__('Is_delete 1')} (<span class="goods_deleted_number">{$goods_deleted_number}</span>)</a></li></ul></div><div class="panel-body"><div id="myTabContent" class="tab-content"><div class="tab-pane fade active in" id="one"><div class="widget-body no-padding"><div id="toolbar" class="toolbar"><a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a><!-- <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('litestore/manystore_goods/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a> --><!-- <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('litestore/manystore_goods/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a> --><a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('litestore/manystore_goods/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a><!-- <div class="dropdown btn-group {:$auth->check('litestore/manystore_goods/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><ul class="dropdown-menu text-left" role="menu"><li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="goods_status=10"><i class="fa fa-eye-slash"></i> {:__('批量上架')}</a></li><li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="goods_status=20"><i class="fa fa-eye-slash"></i> {:__('批量下架')}</a></li></ul></div> --><a href="javascript:;" class="btn btn-warning btn-batchcheck btn-disabled disabled {:$auth->check('litestore/manystore_goods/check')?'':'hide'}" title="{:__('批量审核')}" ><i class="fa fa-legal"></i> {:__('批量审核')}</a><a href="javascript:;" class="btn btn-info btn-batchforcexiajia btn-disabled disabled {:$auth->check('litestore/manystore_goods/forcexiajia')?'':'hide'}" title="{:__('批量强制下架')}" ><i class="fa fa-download"></i> {:__('批量强制下架')}</a></div><table id="table" class="table table-striped table-bordered table-hover table-nowrap"data-operate-edit="{:$auth->check('litestore/manystore_goods/edit')}"data-operate-del="{:$auth->check('litestore/manystore_goods/del')}"data-operate-forcexiajia="{:$auth->check('litestore/manystore_goods/forcexiajia')}"data-operate-check="{:$auth->check('litestore/manystore_goods/check')}"width="100%"></table></div></div></div></div>
</div>

php代码

    /*** 查看*/public function index(){//当前是否为关联查询$this->relationSearch = true;//设置过滤方法$this->request->filter(['strip_tags', 'trim']);if ($this->request->isAjax()) {//如果发送的来源是Selectpage,则转发到Selectpageif ($this->request->request('keyField')) {return $this->selectpage();}list($where, $sort, $order, $offset, $limit) = $this->buildparams();$list = $this->model->with(['litestoregoods','shop'])->where($where)->order($sort, $order)->paginate($limit);foreach ($list as $row) {$row->getRelation('litestoregoods')->visible(['goods_name','goods_nickname','category_id','images','sign','flag','spec_type','deduct_stock_type','sales_initial','sales_actual','goods_sort','delivery_id','goods_status','is_delete']);$row->getRelation('shop')->visible(['name']);}$goods_all_number = $this->model->with(['litestoregoods','shop'])->count();   //全部$goods_shangjia_number = $this->model->with(['litestoregoods','shop'])->where(['manystore_goods.goods_status'=>'10'])->count();   //上架$goods_xiajia_number = $this->model->with(['litestoregoods','shop'])->where(['manystore_goods.goods_status'=>['in',['20','30']]])->count();   //下架$goods_waitcheck_number = $this->model->with(['litestoregoods','shop'])->where(['manystore_goods.check_status'=>'10'])->count();  //待审核$goods_checkesuccess_number = $this->model->with(['litestoregoods','shop'])->where(['manystore_goods.check_status'=>'20'])->count();  //审核通过$goods_checkefail_number = $this->model->with(['litestoregoods','shop'])->where(['manystore_goods.check_status'=>'30'])->count(); //审核未通过$goods_deleted_number = $this->model->with(['litestoregoods','shop'])->where(['manystore_goods.is_delete'=>'1'])->count();    //已删除$extend = ['goods_all_number' => $goods_all_number, 'goods_shangjia_number' => $goods_shangjia_number, 'goods_xiajia_number' => $goods_xiajia_number, 'goods_waitcheck_number' => $goods_waitcheck_number, 'goods_checkesuccess_number' => $goods_checkesuccess_number, 'goods_checkefail_number' => $goods_checkefail_number, 'goods_deleted_number' => $goods_deleted_number];$result = array("total" => $list->total(), "rows" => $list->items(), 'extend' => $extend);return json($result);}$from = input('from',1);  // 1=专题,2=考试$from_id = input('from_id');//考试或题目id$this->assignconfig('from', $from);$this->assignconfig('from_id', $from_id);$this->assign('goods_all_number', $this->model->count());$this->assign('goods_shangjia_number', $this->model->where(['goods_status'=>'10'])->count());$this->assign('goods_xiajia_number', $this->model->where(['goods_status'=>['in',['20','30']]])->count());$this->assign('goods_waitcheck_number', $this->model->where(['check_status'=>'10'])->count());$this->assign('goods_checkesuccess_number', $this->model->where(['check_status'=>'20'])->count());$this->assign('goods_checkefail_number', $this->model->where(['check_status'=>'30'])->count());$this->assign('goods_deleted_number', $this->model->where(['is_delete'=>'1'])->count());return $this->view->fetch();}

页面效果:

fastadmin控制table操作栏按钮是否显示相关推荐

  1. fastadmin 自定义table顶部的按钮

    记录:fastadmin 自定义table顶部的按钮 HTML代码: <a href="javascript:;" class="btn btn-success b ...

  2. [ Windows 10 ] 任务栏按钮不显示正在打开的窗口了(打开任何程序任务栏图标按钮都不显示)

    文章目录 问题描述 原因分析 解决办法 问题描述 系统是Windows 10 professional版本,在一次突然开机后,发现点开程序后,在任务栏什么都不显示,任务栏按钮和图标状态均不显示了,但是 ...

  3. fastadmin 操作栏按钮打开其他控制页面

    示例 效果 代码 {name: 'detail',text: __('规则明细'),title: __('规则明细'),classname: 'btn btn-xs btn-success btn-d ...

  4. element UI中table操作栏更多按钮展示与折叠的实现

    1.然后给大家看下动态图 2.解决思路: ​ 一开始我的第一反应就是可以手写一个定位布局来点击弹出更多按钮弹框,后面看了下elementUI文档上有个组件可以利用,那就是Popover 弹出框 废话不 ...

  5. android如何在底部显示四个按钮,[Android系列—] 四. 添加操作栏(Action Bar)

    [Android系列-] 4. 添加操作栏(Action Bar) 前言 操作栏是最重要的设计元素之一,使用它来实现你的应用程序活动.通过提供多种用户界面功能, 使应用程序快速和其他的Andorid应 ...

  6. 电脑如何合并任务栏按钮

    1.未合并前任务栏按钮会显示信息,长度比较长: 2.鼠标移至任务栏区域,右键打开"任务栏设置": 3.在"合并任务栏按钮"处,选择"始终合并按钮&qu ...

  7. layui数据表格操作栏,根据条件改变显示操作的按钮

    本文内容参考网上多篇博客 环境和需求 在使用layui框架的数据表格的时候,需要的操作栏中添加修改,删除,保存等按钮.需求是点击保存按钮就不再显示修改删除两个按钮,二是显示已保存字样. 由于数据表格中 ...

  8. LayUI数据表格操作栏,根据数据条件改变显示的按钮。

    比如判断一个字段为空的时候就不能进行修改,将修改按钮去除. , cols: [[ //操作栏 { fixed: 'right', toolbar: '#toolBtn', title: '操作', w ...

  9. bootstrap-table:操作栏点击编辑按钮弹出模态框修改数据

    核心代码: columns: [{checkbox:true //第一列显示复选框 },...{field: 'fail_num',title: '失败数'},{field: 'operate',ti ...

最新文章

  1. spring根据名称获取bean_带你从零开始手写 spring ioc 框架,深入学习 spring 源码
  2. Mac Eclipse上Android SDK manager闪退的问题!!
  3. shell写的检测linux系统硬件信息的脚本
  4. WinDbg的cmdtree命令
  5. Ngnix笔记proxy_set_header设置X-Real-IP(Java获取客户端IP地址)
  6. RGB-D dataset
  7. 用python一行代码实现1—100之和,你会吗
  8. 乐视网被列入经营异常名录 因登记经营场所无法联系
  9. creator图片循环显示_Cocos creator 游戏背景循环滚动--Javascript编写
  10. JSP指令、动作和对象
  11. AD元器件英中名称对照【Ctrl + F 快速查找元器件英文名称】
  12. 红帽Linux多点触摸,Linux系统实现多点触摸
  13. 分布式 Git - 为项目做贡献
  14. 【固定定位和绝对定位】
  15. 武汉大学计算机学院附近澡堂,武汉大学附近美食攻略
  16. 数据仓库架构的技术选型
  17. 【MM小贴士】SAP采购订单创建参考采购申请的强控
  18. 播放失败246106异常代码_美的燃气热水器修理分享(附代码解释)
  19. python bokeh_使用 Bokeh 为你的 Python 绘图添加交互性
  20. 迎娶白富美,走上人生巅峰(python爬虫股票分析)

热门文章

  1. 精准营销!用机器学习完成客户分群!
  2. Vue中Css的scoped的原理
  3. 解决PowerBuilder错误:unable to load the requested database interface please
  4. 如何通过RGB值判断颜色深浅(转)
  5. ¥9.9拼5节scratch青少儿编程课程,还能领取少儿编程大礼包!快分享吧!
  6. QT使用串口与RS485设备通讯
  7. Alertmanager 报警规则
  8. 【算法】Bubble Sort(泡式排序)的编程实现思路及其复杂度分析==>冒泡排序
  9. 学生信息管理系统之ASCII问题汇总
  10. 前端web项目使用electron和electron-builder生成桌面应用