Dcat Admin 批量操作/批量审批功能(弹窗)实现
功能:选择行,点击批量审批按钮,触发弹窗,输入审批意见,选择通过或退回,提交。如下图展示:
主要分三部分:1、添加批量审批按钮 2、弹窗及提交后的数据处理文件 3.动作文件
一、弹窗及提交后的数据处理文件
建立Batchspform.php文件,位置看命名空间
<?phpnamespace App\Admin\Forms;use Dcat\Admin\Traits\LazyWidget;
use Dcat\Admin\Widgets\Form;
use Dcat\Admin\Contracts\LazyRenderable;
use App\Models\HrOvertime;
use App\Models\HrUsersp;
use App\Models\Hrop;
class Batchspform extends Form implements LazyRenderable
{/*** Handle the form request.** @param array $input** @return mixed*/use LazyWidget;public function handle(array $input){//接收弹窗提交过来的数据,进行处理$id = explode(',', $input['id'] ?? null); //处理提交过来的批量选择的行的idif (!$id) {return $this->response()->error('参数错误');}$opinion = $input['opinion'] ?? null; //form提交过来的审批意见$flag = $input['flag'] ?? null; //form提交过来的通过还是退回//写你的处理逻辑foreach ($id as $key => $value) {XXXXX::update(['flag'=>$flag,'opinion'=>$opinion]);}return $this->response()->success('提交成功')->refresh(); }/*** Build a form here.*/public function form() {//弹窗界面$this->textarea('opinion','意见');$this->radio('flag','审批')->options(['1'=>'同意','0'=>'退回'])->required();//批量选择的行的值怎么传递看下面$this->hidden('id')->attribute('id', 'batchsp-id'); //批量选择的行的id通过隐藏元素 提交时一并传递过去}/*** The data of the form.** @return array*/public function default(){//设置默认值return ['opinion' =>'属实',];}
}
二、动作文件
建立 Batchsp.php 内容如下
<?phpnamespace App\Admin\Actions\Grid;use Dcat\Admin\Actions\Response;
use Dcat\Admin\Grid\BatchAction;
use Dcat\Admin\Traits\HasPermissions;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
use Dcat\Admin\Widgets\Modal;
use App\Admin\Forms\Batchspform as Batchspform; //引入弹窗文件class Batchsp extends BatchAction
{/*** @return string*/protected $title = '批量审批';/*** Handle the action request.** @param Request $request** @return Response*/public function render(){// 实例化表单类并传递自定义参数$form = Batchspform::make();return Modal::make()->lg()->title($this->title)->body($form)->onLoad($this->getModalScript())->button($this->title);}protected function getModalScript(){// 弹窗显示后往隐藏的id表单中写入批量选中的行IDreturn <<<JS
// 获取选中的ID数组
var key = {$this->getSelectedKeysScript()}
//batchsp-id 与 之前弹窗隐藏的绑定的id一致
$('#batchsp-id').val(key);
JS;}}
三、添加按钮
use App\Admin\Actions\Grid\Batchsp; //头部引入动作$grid->batchActions([new Batchsp()]); //表格中添加批量下拉按钮
Dcat Admin 批量操作/批量审批功能(弹窗)实现相关推荐
- 宜搭功能更新:子表全面升级,高级流程可以批量审批
简介:在本次的版本更新中,宜搭主要新增了四大领域能力:子表能力.高级流程.审批功能以及针对服务商应用分发的优化. 5月12日,宜搭进行了版本更新.本次更新主要新增和优化了一下功能点: 高级流程支持连续 ...
- laravel-admin / Dcat admin 上传Excel并导入数据到数据库
准备工作 安装maatwebsite/excel composer require maatwebsite/excel laravel-admin 效果图 创建按钮 $grid->tools(f ...
- 交换标签批量打印功能
首先.cnm! cnm! cnm!(重要的事情说三遍) 交换包标签批量打印,现在的标签打印只能一行一行打. 结果你吗了八字的有9千多张标签?想tm累死老子.添加批量打印功能. 添加弹窗 <a-d ...
- Laravel + Dcat admin 开发一个健壮的 erp 项目
原文地址 : Laravel + Dcat admin 开发一个健壮的 erp 项目 背景 4个月前我写过一篇文章 dcat-admin 开源框架在 erp 项目中的应用 在几个月前我只是用其完成一些 ...
- SAP MM ME55 不能批量审批部分多个PR?
SAP MM ME55 不能批量审批部分多个PR? 我们知道ME55事务代码可以进行批量审批采购申请单.执行了ME55事务代码后,审批者可以输入自己的release code,以及所在的Release ...
- oracle导入excel字段超过4000字符数据_产品思考:B端产品中,为什么批量导入功能很重要?...
B端产品的重要价值是提高企业的办公效率,在企业的日常工作中批量录入数据的场景很多,所以批量导入是b端设计中很重要的一个功能.本文作者结合案例,分享了自己关于B端产品批量导入功能的思考. 在做b端产品的 ...
- Dcat admin 使用数据仓库实现复杂表格数据
框架文档地址:https://learnku.com/docs/dcat-admin/2.x/basic-use/8123#352645 1.创建 TestRepository 类继承 Dcat\Ad ...
- yii 全选 php,Yii2.0实现的批量更新及批量插入功能示例
本文实例讲述了Yii2.0实现的批量更新及批量插入功能.分享给大家供大家参考,具体如下: 批量更新 方法1 /** * 批量更新循环周期 * @param array $condition * $co ...
- 批量修改栏目名_必收APP-效率高不含糊,批量管理功能上线了!
随着我们使用必收的时间越来越长,必收已经渗透到我们生活当中的一举一动了.看到好吃的餐厅?收藏!看到好玩的景点?收藏!看到重要的新闻,一首好听的歌,甚至一个简单的菜谱,我们都把它收藏到必收当中. 但是收 ...
最新文章
- mysql 锁测试_mysql行级锁测试 - echowu007的个人空间 - OSCHINA - 中文开源技术交流社区...
- vector简单实现
- for,foreach,iterator的用法和区别
- Python爬虫自学之第(④)篇——强大的正则表达式,re模块
- 线程属性 pthread_attr_t
- SpringBoot默认包扫描机制及@ComponentScan指定扫描路径详解
- pyqt5中控件缩放功能_python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例...
- TechDay实录|摘取皇冠上的明珠,中文NLP的不二选择——PaddlePaddle
- lz0-007 读书笔记03
- Android:自定义滚动边缘(EdgeEffect)效果
- webpack+Vue2.0项目基础工程文件配置
- springboot整合curator实现分布式锁
- 关于GPS信息在谷歌地图上实时更新位置信息的问题
- 如何免费下载知网论文
- win10系统IIS服务器配置详细教程,win10系统配置iis的操作方法
- Kali--社会工程学工具-social engineering toolkit(SET)
- ZStack-ZCCE-网络实验-VPC网络创建
- Win10问题篇:解决电脑连不上网的问题。
- VSCode操作小技巧
- 招商银行信用卡中心信息技术部实习总结