功能:选择行,点击批量审批按钮,触发弹窗,输入审批意见,选择通过或退回,提交。如下图展示:

主要分三部分: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 批量操作/批量审批功能(弹窗)实现相关推荐

  1. 宜搭功能更新:子表全面升级,高级流程可以批量审批

    简介:在本次的版本更新中,宜搭主要新增了四大领域能力:子表能力.高级流程.审批功能以及针对服务商应用分发的优化. 5月12日,宜搭进行了版本更新.本次更新主要新增和优化了一下功能点: 高级流程支持连续 ...

  2. laravel-admin / Dcat admin 上传Excel并导入数据到数据库

    准备工作 安装maatwebsite/excel composer require maatwebsite/excel laravel-admin 效果图 创建按钮 $grid->tools(f ...

  3. 交换标签批量打印功能

    首先.cnm! cnm! cnm!(重要的事情说三遍) 交换包标签批量打印,现在的标签打印只能一行一行打. 结果你吗了八字的有9千多张标签?想tm累死老子.添加批量打印功能. 添加弹窗 <a-d ...

  4. Laravel + Dcat admin 开发一个健壮的 erp 项目

    原文地址 : Laravel + Dcat admin 开发一个健壮的 erp 项目 背景 4个月前我写过一篇文章 dcat-admin 开源框架在 erp 项目中的应用 在几个月前我只是用其完成一些 ...

  5. SAP MM ME55 不能批量审批部分多个PR?

    SAP MM ME55 不能批量审批部分多个PR? 我们知道ME55事务代码可以进行批量审批采购申请单.执行了ME55事务代码后,审批者可以输入自己的release code,以及所在的Release ...

  6. oracle导入excel字段超过4000字符数据_产品思考:B端产品中,为什么批量导入功能很重要?...

    B端产品的重要价值是提高企业的办公效率,在企业的日常工作中批量录入数据的场景很多,所以批量导入是b端设计中很重要的一个功能.本文作者结合案例,分享了自己关于B端产品批量导入功能的思考. 在做b端产品的 ...

  7. Dcat admin 使用数据仓库实现复杂表格数据

    框架文档地址:https://learnku.com/docs/dcat-admin/2.x/basic-use/8123#352645 1.创建 TestRepository 类继承 Dcat\Ad ...

  8. yii 全选 php,Yii2.0实现的批量更新及批量插入功能示例

    本文实例讲述了Yii2.0实现的批量更新及批量插入功能.分享给大家供大家参考,具体如下: 批量更新 方法1 /** * 批量更新循环周期 * @param array $condition * $co ...

  9. 批量修改栏目名_必收APP-效率高不含糊,批量管理功能上线了!

    随着我们使用必收的时间越来越长,必收已经渗透到我们生活当中的一举一动了.看到好吃的餐厅?收藏!看到好玩的景点?收藏!看到重要的新闻,一首好听的歌,甚至一个简单的菜谱,我们都把它收藏到必收当中. 但是收 ...

最新文章

  1. mysql 锁测试_mysql行级锁测试 - echowu007的个人空间 - OSCHINA - 中文开源技术交流社区...
  2. vector简单实现
  3. for,foreach,iterator的用法和区别
  4. Python爬虫自学之第(④)篇——强大的正则表达式,re模块
  5. 线程属性 pthread_attr_t
  6. SpringBoot默认包扫描机制及@ComponentScan指定扫描路径详解
  7. pyqt5中控件缩放功能_python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例...
  8. TechDay实录|摘取皇冠上的明珠,中文NLP的不二选择——PaddlePaddle
  9. lz0-007 读书笔记03
  10. Android:自定义滚动边缘(EdgeEffect)效果
  11. webpack+Vue2.0项目基础工程文件配置
  12. springboot整合curator实现分布式锁
  13. 关于GPS信息在谷歌地图上实时更新位置信息的问题
  14. 如何免费下载知网论文
  15. win10系统IIS服务器配置详细教程,win10系统配置iis的操作方法
  16. Kali--社会工程学工具-social engineering toolkit(SET)
  17. ZStack-ZCCE-网络实验-VPC网络创建
  18. Win10问题篇:解决电脑连不上网的问题。
  19. VSCode操作小技巧
  20. 招商银行信用卡中心信息技术部实习总结

热门文章

  1. NOI:2722 和数
  2. 为什么delegate属性使用assigne而不是retain?
  3. 不止是刷题——leetcode笑死人的评论合集,独乐乐不如众乐乐~~
  4. 美国访问学者申请|签证需要哪些材料?
  5. 如何批量替换文件内容(文本格式)
  6. 均线粘合突破选股指标公式:寻找启动点,并进行信号过滤
  7. SDN系统方法 | 8. 网络虚拟化
  8. windbg输出SXS.DLL的调试信息
  9. 年度重点家族盘点—PC僵尸网络家族
  10. JS实现购物车的基本功能