fastadmin后台页面的工具栏添加批量操作按钮详细教程

发布时间 2023-03-22 21:14:02作者: 斯斯20222

fastadmin后台页面的工具栏添加批量操作按钮详细教程

LordForce

 版权声明:本文为CSDN博主「LordForce」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/LordForce/article/details/126126231

 

已于 2022-11-04 14:43:24 修改

1375
收藏 3
分类专栏: fastadmin5 文章标签: javascript 前端 php
版权

fastadmin5
专栏收录该内容
8 篇文章0 订阅
订阅专栏


1、在要添加的批量操作的页面(index.html),添加如下代码生成按钮:

自定义类:btn-multi-pop
<a href="javascript:;" class="btn btn-primary btn-multi-pop btn-disabled disabled {:$auth->check('user/user/multipop')?'':'hide'}" title="{:__('Multi pop')}" ><i class="fa fa-plus"></i> {:__('Multi pop')}</a>


2、 控制器中新建批量操作的方法:

/**
* 批量操作方法
*/
public function multipop($ids = "")
{
if ($this->request->isPost()) {
$this->token();
$params = $this->request->param();
$userIds = $params['ids'];
$money = $params['row']['amount'];
$money = str_replace(',', '', $money);

$userIds = explode(',', $userIds);
$nowTime = time();
Db::startTrans();
try {
foreach ($userIds as $uId) {
// 业务逻辑
}
Db::commit();
} catch (Exception $e) {
Db::rollback();
$this->error($e->getMessage());
}
$this->success();
}
return $this->view->fetch();
}
3、新建multipop.html文件:

<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
{:token()}

<div class="form-group">
<label for="c-numbers" class="control-label col-xs-12 col-sm-2">{:__('Numbers')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-numbers" data-rule="required" class="form-control" name="row[numbers]" type="text" min="0" value="">
</div>
</div>

<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Please select pop info')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-user_id" data-rule="required" data-source="popup/index" data-field="remarks" data-params='{"custom[status]":"1"}' class="form-control selectpage" name="row[popup_id]" type="text" value="">
</div>
</div>

<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
<div class="col-xs-12 col-sm-8">
{:build_radios('row[status]', ['1'=>__('Yes'), '0'=>__('No')])}
</div>
</div>

<div class="form-group layer-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button type="submit" class="btn btn-primary btn-embossed">{:__('OK')}</button>
<button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
</div>
</div>
</form>
4、在对应的JS文件中:

multi_pop_url: 'user/user/multipop',


在index中添加:

/**
* 批量弹窗
*/
$(document).on("click", ".btn-multi-pop", function (e) {
// 获取选中的列表ID
var ids = Table.api.selectedids(table);
Fast.api.open($.fn.bootstrapTable.defaults.extend.multi_pop_url + "?ids=" + ids, '批量生成弹窗')
});
添加此方法的事件绑定:

multipop: function () {
Controller.api.bindevent();
},
5、在对应的lang文件中添加翻译

6、在数据库节点表添加此方法的节点

7、在后台角色组中,给对应的组添加此操作方法的权限(否则子账号将看不到此按钮)
————————————————
版权声明:本文为CSDN博主「LordForce」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/LordForce/article/details/126126231