佛山房地产网站建设,互联网官网入口,wordpress游戏充值,丰台区建设网站功能描述
请根据图片上的数字索引查看对应功能说明。
1.菜单名称和描述 默认生成的CRUD是没有菜单名称和描述显示的#xff0c;如果需要显示则可以修改权限管理-菜单规则#xff0c;给对应菜单的添加上备注信息后即可显示#xff0c;支持HTML
2.TAB过滤选项卡 在一键…
功能描述
请根据图片上的数字索引查看对应功能说明。
1.菜单名称和描述 默认生成的CRUD是没有菜单名称和描述显示的如果需要显示则可以修改权限管理-菜单规则给对应菜单的添加上备注信息后即可显示支持HTML
2.TAB过滤选项卡 在一键生成CRUD时如果表中存在status字段且为ENUM类型则会生成相应的TAB过滤选项卡如果需要生成其它字段的过滤选项卡则可以在使用php think crud时使用--headingfilterfield你的字段名称来指定字段
3.通用搜索 通用搜索的的内容是根据bootstrap-table配置的字段columns决定的渲染的内容及格式由FastAdmin自动进行渲染如果需要禁用或删除某一选项可以在JS中配置operate:false来删除通用搜索中的选项。例如通常情况下我们的在JS中进行字段的配置如下
{field: createtime, title: __(Create Time)},复制这里默认是启用的通用搜索针对通用搜索有以下几个常用的配置
operate: //用于查询时的操作符默认为为false表示禁用此字段的通用搜索支持!、LIKE、NOT LIKE、、、、FIND_IN_SET、IN、NOT IN、BETWEEN、NOT BETWEEN、RANGE、NOT RANGE、NULL、NOT NULL、false
searchList: //用于渲染列表的数据支持的格式有JSON Array、JSON Object、$.getJSON、Function
addclass: //用于给input或select添加额外的class属性
type: //用于定义input文本框的类型,默认为text
data: //用于给input或select添加额外的属性
renderDefault: //是否根据URL中的参数填充默认值默认为true支持的值有false/true复制常用配置示例如下
//时间区间搜索
{field: createtime, title: __(Createtime), operate: RANGE, addclass: datetimerange, formatter: Table.api.formatter.datetime},
//金额区间搜索
{field: money, title: __(Money), operate: RANGE},
//下拉列表搜索
{field: flag, title: __(Flag), searchList: {hot: __(Flag hot), index: __(Flag index), recommend: __(Flag recommend)}, operate: FIND_IN_SET, formatter: Table.api.formatter.label},
//动态下拉列表搜索
{field: type, title: __(Type), searchList: $.getJSON(ajax/dynamicselect)},
//禁用通用搜索
{field: keywords, title: __(Keywords), operate: false},复制如果我们需要完全自定义我们的通用搜索栏我们可以在配置bootstrap-table时定义searchFormTemplate选项来完全重写我们的通用搜索栏具体请参考开发示例插件中的自定义搜索示例 如果希望默认显示通用搜索可以使用searchFormVisible: true来强制显示通用搜索。
4.工具栏按钮 FastAdmin在一键CRUD时会自动生成添加、编辑、删除、导入、更多按钮的HTML这些按钮会根据用户所拥有的权限控制基是否显示或隐藏。我们可以在控制器对应的index.html视图文件中任意修改或删除对应的按钮。请特别注意这几个自动生成的按钮都通过基拥有的class属性来绑定相关的事件例如添加按钮拥有btn-add这个class、框架所已经占用的class如下
btn-add: 添加按钮使用
btn-edit: 编辑按钮使用
btn-del: 删除按钮使用
btn-import: 导入按钮使用
btn-more: 更多按钮使用
btn-multi: 指操作使用
btn-disabled: 添加此class后则只有在列表有选中数据时按钮才会变为可使用复制如果我们想点击添加按钮后默认全屏则可以给添加按钮加上data-area[100%,100%]即可默认全屏 如果我们想自定义按钮并添加事件我们需要在视图中添加相应的HTML代码然后在对应的JS文件中添加按钮的执行事件切记不可在视图中直接编写JS或jQuery代码来绑定事件
5.动态渲染统计信息 很多时候我们需要在页面额外显示服务端传回的动态数据此时我们只需要在index.html视图中添加
a hrefjavascript:; classbtn btn-default stylefont-size:14px;color:dodgerblue;i classfa fa-dollar/ispan classextend金额span idmoney0/span单价span idprice0/span/span
/a复制然后在控制器对应的JS中的index方法中添加以下的JS
//当表格数据加载完成时
table.on(load-success.bs.table, function (e, data) {//这里可以获取从服务端获取的JSON数据console.log(data);//这里我们手动设置底部的值$(#money).text(data.extend.money);$(#price).text(data.extend.price);
});复制注意务必将这段代码添加在var table $(#table);之后 其中data.extend.money和data.extend.price就是我们在服务端动态返回的数据如下
$result array(total $total, rows $list, extend [money 1024, price 888]);
return json($result);复制通过以上配置即可动态显示服务端返回的额外数据
6.快速搜索 快速搜索在键入关键词时将实时从服务端搜索数据如果你的数据表数据较大建议关闭此功能关闭的方法是使用search:false其次快速搜索默认只会搜索主键id这个字段如果你需要搜索其它字段则需要在服务端你的控制器中定义$searchFields这个值如下
protected $searchFields id,name,title;复制这样在快速搜索时将会搜索id,name,title这三个字段。 如果需要修改默认文本框的placeholder可以在表格初始化前定义
$.fn.bootstrapTable.locales[Table.defaults.locale][formatSearch] function(){return 自定义placeholder文本;};复制7.浏览模式、显示隐藏列、导出、通用搜索 浏览模式可以切换卡片视图和表格视图两种模式如果不需要此功能可以设置showToggle: false 显示隐藏列可以快速切换字段列的显示和隐藏如果不需要此功能可以设置showColumns: false如果想要表格中的字段列默认隐藏可以设置字段属性visible: false即可默认隐藏 导出按钮默认将导出整个表的所有行如果需要仅导出当前分页的数据需要设置exportDataType: basic如果想导出选中的行则可以设置为exportDataType: selected如果不需要此功能可以设置showExport: false 通用搜索指表格上方的搜索通用搜索的表单默认是隐藏的如果需要默认显示需要设置searchFormVisible: true如果不需要通用搜索功能可以设置commonSearch: false。如果想要控制字段列不参考搜索则可以设置字段列属性为operate: false即可。
8.字段配置 默认字段的控制是根据控制器对应的JS来配置的因此字段配置是通过JS而在我们的视图index.html中是没有任何字段配置的通常我们的配置如下
columns: [[{checkbox: true},{field: id, title: __(Id)},{field: admin_id, title: __(Admin_id)},{field: category.name, title: __(分类名称), formatter:Table.api.formatter.search},{field: category_id, title: __(Category_id), visible: false},{field: flag, title: __(Flag), searchList: {hot: __(Flag hot), index: __(Flag index), recommend: __(Flag recommend)}, operate: FIND_IN_SET, formatter: Table.api.formatter.label},{field: genderdata, title: __(Genderdata), searchList: {male: __(Genderdata male), female: __(Genderdata female)}, formatter: Table.api.formatter.normal},{field: title, title: __(Title)},{field: image, title: __(Image), formatter: Table.api.formatter.image},{field: images, title: __(Images), formatter: Table.api.formatter.images},{field: createtime, title: __(Createtime), operate: RANGE, addclass: datetimerange, formatter: Table.api.formatter.datetime},{field: updatetime, title: __(Updatetime), operate: RANGE, addclass: datetimerange, formatter: Table.api.formatter.datetime, visible: false},{field: weigh, title: __(Weigh), operate: false, visible: false},{field: switch, title: __(Switch), searchList: {1: __(Yes), 0: __(No)}, formatter: Table.api.formatter.toggle},{field: status, title: __(Status), searchList: {normal: __(Normal), hidden: __(Hidden)}, formatter: Table.api.formatter.status},]
]字段配置的参数有
checkbox:true, //是否为首列复选框
field:name //字段名称,如果启用了关联查询这里可以使用别名,比如:category.name,请注意服务端返回的字段一一对应如果使用了一个不存在的字段将不会渲染任何数据
title:名称 //字段标题,显示于头部的标题
operate: //通用搜索的操作符,详见上方通用搜索介绍
visible:false //字段是否可见为false时将默认不可见
formatter:Table.api.formatter.search //格式化显示的内容,FastAdmin内部定义了许多通用的格式化方法
events: //定义元素响应的事件
searchList: //定义通用搜索下拉列表的数据
addclass: //通用搜索文本框或下拉列表的额外class
type: //通用搜索文本框的类型
data: //通用搜索文本框或下拉列表的额外属性
buttons: //配置的按钮组复制FastAdmin封装了许多常用的formatter方法我们可以快速的调用即可。 Table.api.formatter.icon 快速将字段渲染成一个按钮仅支持Fontawesome按钮Table.api.formatter.image 快速将字段渲染成图片展示的形式Table.api.formatter.images 快速将字段渲染成多图片展示的形式,字段数据请以,进行分隔Table.api.formatter.status 快速将字段渲染成状态默认normal/hidden/deleted/locked这四个状态Table.api.formatter.url 快速将字段渲染成URL框Table.api.formatter.search 快速将字段渲染成可搜索的链接点击后将执行搜索Table.api.formatter.addtabs 快速将字段渲染成可添加到选项卡的链接点击后将把链接添加到选项卡Table.api.formatter.flag 快速将字段渲染成标志仅支持index/hot/recommend/new这四种标志Table.api.formatter.label 快速将字段渲染Label标签Table.api.formatter.datetime 快速时间戳数据渲染成日期时间数据Table.api.formatter.operate 操作栏固定按钮Table.api.formatter.buttons 快速生成多个按钮Table.api.formatter.toggle 快速生成切换按钮复制如果我们需要固定表头可以在初始化表格时给表格添加一个固定的高度即可例如
height:300复制9.复选框 如果我们需要不需要复选框则移除{checkbox: true}即可 从FastAdmin1.2.0版本开始已经支持跨页选择功能如果需要启用跨页选择功能可以在表格初始化时添加以下参数来启用
//启用跨页选择
maintainSelected: true,复制10.分类名称(关联搜索出分类表的名称) 这里显示的分类名称是根据分类表关联查询出来的结果如果我们启用关联查询我们必须在当前控制器中设置属性protected $relationSearch true;同时我们的index方法也需要重写请参考下方的完整代码中PHP部分。如果我们启用了关联查询当两个表中的字段有冲突时我们必须在字段中加上别名。请参考下方的完整代码中JS部分。
11.标志 我们可以使用formatter:Table.api.formatter.flag来渲染标志字段默认会将数据库的值渲染以下几种颜色
{index: success, hot: warning, recommend: danger, new: info}复制如果我们需要扩展额外的颜色则可以使用
custom:{aaa: info, bbb:danger}复制这样当值为aaa时会显示为蓝色bbb时显示为红色
12.图片和图片组 我们可以使用
formatter:Table.api.formatter.image
formatter:Table.api.formatter.images复制以上两种方式来渲染图片或图片组 请注意如果是图片组的情况下,数据值应该是以,进行分隔的
13.开关 我们可以使用formatter:Table.api.formatter.toggle来生成开关组件 默认情况下是根据数据库值1和0来表示开和关 我们可以通过额外的配置和定义开和关比如
yes: open, no: close复制则此时会根据数据库值是open还是close来展示开关 开关在点击的时候默认是只允许修改数据库的status字段的如果我们开关不是status字段我们需要在服务端对应的控制器中定义protected $multiFieldsid,name,swith;多个字段以,进行分隔
14.状态渲染 我们可以使用formatter:Table.api.formatter.status来渲染状态 默认根据以下值进行状态的颜色渲染
{normal: success, hidden: gray, deleted: danger, locked: info}复制如果我们状态有额外的值我们可以使用custom来进行扩展显示的颜色如下
custom: {rejected:danger, agreed:success}复制状态渲染显示的文本是根据searchList配置的值进行渲染的
15.自定义按钮 按钮组的功能是根据第8项中的Table.api.formatter.buttons进行生成的代码如下 {field: buttons,width: 120px,title: __(按钮组),table: table,events: Table.api.events.operate,buttons: [{name: detail,text: __(弹出窗口打开),title: __(弹出窗口打开),classname: btn btn-xs btn-primary btn-dialog,icon: fa fa-list,url: example/bootstraptable/detail,callback: function (data) {Layer.alert(接收到回传数据 JSON.stringify(data), {title: 回传数据});},visible: function (row) {//返回true时按钮显示,返回false隐藏return true;}},{name: ajax,text: __(发送Ajax),title: __(发送Ajax),classname: btn btn-xs btn-success btn-magic btn-ajax,icon: fa fa-magic,url: example/bootstraptable/detail,confirm: 确认发送,success: function (data, ret) {Layer.alert(ret.msg ,返回数据 JSON.stringify(data));//如果需要阻止成功提示则必须使用return false;//return false;},error: function (data, ret) {console.log(data, ret);Layer.alert(ret.msg);return false;}},{name: addtabs,text: __(新选项卡中打开),title: __(新选项卡中打开),classname: btn btn-xs btn-warning btn-addtabs,icon: fa fa-folder-o,url: example/bootstraptable/detail}],formatter: Table.api.formatter.buttons
}复制按钮配置支持的参数有 name 按钮唯一标识,其中add/edit/del/dragsort已经被占用,如果使用将覆盖相应的按钮配置。如果需要按钮按钮显示我们可以在HTML视图文件的table添加data-buttons-标识来根据权限控制显示 text 按钮的文本内容,如果不需要显示文本可忽略,支持function和string类型 title 鼠标移上去的标题或弹窗/选项显示的标题,支持function和string类型 icon 按钮的图标,请使用font-awesome图标库,比如 fa fa-home classname 按钮的class, 其中classname中的btn-dialog、btn-ajax、btn-addtabs、btn-clickFastAdmin已经为这几个固定的Class注册了事件所以可以直接使用如果想要实现其它功能需要自己手动编写代码绑定事件才可使用。 url 按钮的链接/Ajax事件请求的URL/弹窗链接/选项卡链接直接function和string类型,此链接会自动在链接后添加ids/{ids},{ids}为当行主键ID如果需要传递其它字段值请在URL中使用{字段名}占位即可 refresh 自动刷新,只针对btn-ajax事件且不存在success回调 confirm 确认框提示文字,配置后会在确认操作再执行对应的事件只针对btn-ajax/btn-dialog/btn-addtabs事件 success 事件成功的回调,只针对btn-ajax事件 error 事件失败的回调,只针对btn-ajax事件 callback 弹窗回传的回调,只针对btn-dialog事件,需要在对应打开的页面中使用Fast.api.close(data);进行回传数据 hidden 是否隐藏按钮,按钮默认显示,支持function和bool类型 visible 是否显示按钮,按钮默认显示,支持function和bool类型 disable 是否禁用按钮,按钮默认不禁用,支持function和bool类型 click 当classname包含btn-click时的点击回调事件 extend 按钮扩展信息,可以任意定制按钮的参数,比如我们想在新窗口中打开链接则配置extend: target_blank即可 dropdown 下拉列表分组的名称,当多个按钮需要显示为一级时,该值为显示的文字 16.操作 操作区域默认是排序、编辑、删除这三个按钮此功能也是根据第8项中Table.api.formatter.operate来实现的。排序按钮只在表中存在weigh字段时才会出现编辑按钮和删除按钮会根据管理员所拥有的权限进行按需显示。如果我们需要重写编辑(排序、删除)按钮的相关属性则可以使用buttons来定义编辑(排序、删除)的相关属性。其次Table.api.formatter.operate也支持buttons属性来配置多个其它按钮如示例图中的详情按钮配置参数请参考第15.自定义按钮。请参考下方完整代码中JS部分。 如果希望禁用编辑、删除按钮可以通过修改视图中表格的属性置为空即可。
table idtable classtable table-striped table-bordered table-hover table-nowrapdata-operate-edit data-operate-del width100%
/table复制从FastAdmin 1.2.0版本开发已经支持固定列功能我们可以将右侧最后一定固定住当出现横向滚动条时让最后一列始终固定在可视窗口中如果需要开启此功能请在初始化表格时添加以下两个参数即可。
//启用固定列
fixedColumns: true,
//固定右侧列数
fixedRightNumber: 1,复制17.分页信息 分页信息显示的文字可以通过在表格初始化前定义
$.fn.bootstrapTable.locales[Table.defaults.locale][formatShowingRows] function (pageFrom, pageTo, totalRows) {return 显示第 pageFrom 到第 pageTo 条记录总共 totalRows 条记录;
};复制分页大小或分页大小选项可以在表格初始化时传入以下参数进行配置
pageSize: 10,
pageList: [10, 25, 50, All],复制18.翻页信息 翻页信息会根据服务端返回的数据行数自动进行渲染如果返回的行数不满足分页条件时此项是不会显示的
完整代码
PHP代码
?php
namespace app\admin\controller;
use app\common\controller\Backend;
/*** 测试管理** icon fa fa-circle-o* remark 此列表是通过php think crud -t test一键生成的针对数据表的查看、添加、编辑、删除、批量修改等功能只需在设计表时符合FastAdmin相关字段名称、备注要求即可生成相关的表单组件*/
class Test extends Backend
{protected $model null;protected $relationSearch true;public function _initialize(){parent::_initialize();$this-model model(Test);}/*** 查看*/public function index(){if ($this-request-isAjax()){list($where, $sort, $order, $offset, $limit) $this-buildparams();$total $this-model-with(category)-where($where)-order($sort, $order)-count();$list $this-model-with(category)-where($where)-order($sort, $order)-limit($offset, $limit)-select();$result array(total $total, rows $list, extend [money 1024, price 888]);return json($result);}return $this-view-fetch();}
}复制JS代码
define([jquery, bootstrap, backend, table, form], function ($, undefined, Backend, Table, Form) {var Controller {index: function () {// 初始化表格参数配置Table.api.init({extend: {index_url: test/index,add_url: test/add,edit_url: test/edit,del_url: test/del,multi_url: test/multi,table: test,}});var table $(#table);//当表格数据加载完成时table.on(load-success.bs.table, function (e, data) {//这里可以获取从服务端获取的JSON数据console.log(data);//这里我们手动设置底部的值$(#money).text(data.extend.money);$(#price).text(data.extend.price);});// 初始化表格table.bootstrapTable({url: $.fn.bootstrapTable.defaults.extend.index_url,pk: id,sortName: weigh,columns: [[{checkbox: true},{field: id, title: __(Id)},{field: admin_id, title: __(Admin_id)},{field: category.name, title: __(分类名称), formatter:Table.api.formatter.search},{field: category_id, title: __(Category_id), visible: false},{field: flag, title: __(Flag), searchList: {hot: __(Flag hot), index: __(Flag index), recommend: __(Flag recommend)}, operate: FIND_IN_SET, formatter: Table.api.formatter.label},{field: genderdata, title: __(Genderdata), searchList: {male: __(Genderdata male), female: __(Genderdata female)}, formatter: Table.api.formatter.normal},{field: title, title: __(Title)},{field: image, title: __(Image), formatter: Table.api.formatter.image},{field: images, title: __(Images), formatter: Table.api.formatter.images},{field: createtime, title: __(Createtime), operate: RANGE, addclass: datetimerange, formatter: Table.api.formatter.datetime},{field: updatetime, title: __(Updatetime), operate: RANGE, addclass: datetimerange, formatter: Table.api.formatter.datetime, visible: false},{field: weigh, title: __(Weigh), operate: false, visible: false},{field: switch, title: __(Switch), searchList: {1: __(Yes), 0: __(No)}, formatter: Table.api.formatter.toggle},{field: status, title: __(Status), searchList: {normal: __(Normal), hidden: __(Hidden)}, formatter: Table.api.formatter.status},{field: buttons,width: 120px,title: __(按钮组),table: table,events: Table.api.events.operate,buttons: [{name: detail,text: __(弹出窗口打开),title: __(弹出窗口打开),classname: btn btn-xs btn-primary btn-dialog,icon: fa fa-list,url: example/bootstraptable/detail,callback: function (data) {Layer.alert(接收到回传数据 JSON.stringify(data), {title: 回传数据});},visible: function (row) {//返回true时按钮显示,返回false隐藏return true;}},{name: ajax,text: __(发送Ajax),title: __(发送Ajax),classname: btn btn-xs btn-success btn-magic btn-ajax,icon: fa fa-magic,url: example/bootstraptable/detail,confirm: 确认发送,success: function (data, ret) {Layer.alert(ret.msg ,返回数据 JSON.stringify(data));//如果需要阻止成功提示则必须使用return false;//return false;},error: function (data, ret) {console.log(data, ret);Layer.alert(ret.msg);return false;}},{name: addtabs,text: __(新选项卡中打开),title: __(新选项卡中打开),classname: btn btn-xs btn-warning btn-addtabs,icon: fa fa-folder-o,url: example/bootstraptable/detail}],formatter: Table.api.formatter.buttons},{field: operate, title: __(Operate), table: table, events: Table.api.events.operate,buttons: [{name: detail,title: __(详情),classname: btn btn-xs btn-primary btn-dialog,icon: fa fa-list,url: test/detail,callback: function (data) {Layer.alert(接收到回传数据 JSON.stringify(data), {title: 回传数据});}}],formatter: Table.api.formatter.operate}]]});// 绑定TAB事件$(.panel-heading a[data-toggletab]).on(shown.bs.tab, function (e) {var field $(this).closest(ul).data(field);var value $(this).data(value);var options table.bootstrapTable(getOptions);options.pageNumber 1;options.queryParams function (params) {var filter {};if (value ! ) {filter[field] value;}params.filter JSON.stringify(filter);return params;};table.bootstrapTable(refresh, {});return false;});// 为表格绑定事件Table.api.bindevent(table);},add: function () {Controller.api.bindevent();},edit: function () {Controller.api.bindevent();},api: {bindevent: function () {Form.api.bindevent($(form[roleform]));}}};return Controller;
});复制HTML代码
div classpanel panel-default panel-introdiv classpanel-heading{:build_heading(null,FALSE)}ul classnav nav-tabs data-fieldstatusli classactivea href#t-all data-value data-toggletab{:__(All)}/a/li{foreach namestatusList itemvo}lia href#t-{$key} data-value{$key} data-toggletab{$vo}/a/li{/foreach}/ul/divdiv classpanel-bodydiv idmyTabContent classtab-contentdiv classtab-pane fade active in idonediv classwidget-body no-paddingdiv idtoolbar classtoolbara hrefjavascript:; classbtn btn-primary btn-refresh title{:__(Refresh)} i classfa fa-refresh/i /aa hrefjavascript:; classbtn btn-success btn-add {:$auth-check(test/add)?:hide} title{:__(Add)} i classfa fa-plus/i {:__(Add)}/aa hrefjavascript:; classbtn btn-success btn-edit btn-disabled disabled {:$auth-check(test/edit)?:hide} title{:__(Edit)} i classfa fa-pencil/i {:__(Edit)}/aa hrefjavascript:; classbtn btn-danger btn-del btn-disabled disabled {:$auth-check(test/del)?:hide} title{:__(Delete)} i classfa fa-trash/i {:__(Delete)}/aa hrefjavascript:; classbtn btn-danger btn-import {:$auth-check(test/import)?:hide} title{:__(Import)} idbtn-import-file data-urlajax/upload data-mimetypecsv,xls,xlsx data-multiplefalsei classfa fa-upload/i {:__(Import)}/adiv classdropdown btn-group {:$auth-check(test/multi)?:hide}a classbtn btn-primary btn-more dropdown-toggle btn-disabled disabled data-toggledropdowni classfa fa-cog/i {:__(More)}/aul classdropdown-menu text-left rolemenulia classbtn btn-link btn-multi btn-disabled disabled hrefjavascript:; data-paramsstatusnormali classfa fa-eye/i {:__(Set to normal)}/a/lilia classbtn btn-link btn-multi btn-disabled disabled hrefjavascript:; data-paramsstatushiddeni classfa fa-eye-slash/i {:__(Set to hidden)}/a/li/ul/diva classbtn btn-info btn-disabled disabled btn-selected hrefjavascript:;i classfa fa-leaf/i 获取选中项/aa classbtn btn-success btn-singlesearch hrefjavascript:;i classfa fa-user/i 自定义搜索/aa classbtn btn-success btn-change btn-start data-paramsactionstart data-urlexample/bootstraptable/start hrefjavascript:;i classfa fa-play/i 启动/aa classbtn btn-danger btn-change btn-pause data-paramsactionpause data-urlexample/bootstraptable/pause hrefjavascript:;i classfa fa-pause/i 暂停/aa hrefjavascript:; classbtn btn-default stylefont-size:14px;color:dodgerblue;i classfa fa-dollar/ispan classextend金额span idmoney0/span单价span idprice0/span/span/a/divtable idtable classtable table-striped table-bordered table-hover table-nowrapdata-operate-edit{:$auth-check(test/edit)} data-operate-del{:$auth-check(test/del)} width100%/table/div/div/div/div
/div复制参考
https://ask.fastadmin.net/article/323.html