RDS系统中有很多内置的方法,可以实现很多的功能!

img.png

如果这些方法还是不能满足业务需求的需要,就需要进行二次开发。 推荐的方法:利用内置方法,进行修改定制。 优势:默认就可以纳入到权限管理中,在生成的代码基础上修改,比较简单 缺点:需要设置注释和配置代码生成开关,如果忘记则会丢失定制的代码

# 定制内置方法

定制内置方法非常简单:

  1. 选中内置方法,以创建新的方法
  2. 修改方法名称,英文名,图标,按钮颜色
  3. 点击生成代码
  4. 在控制器对应的方法添加代码保护标记:/start/ ... /end/
  5. 修改方法的“后端生成”选项为关闭状态

# 如何选择合适的内置方法

我们对方法进行了分类,大家可以根据这些分类的标准,对照自己的需求,合理选择内置方法

与行有无关系 是否有表单录入 是否有初始化数据 是否传参 方法名称
有关(一行) 默认有 修改/数值加/数值减
有关(一行或多行) 删除/设置指定值
无关 默认无 添加
无关 默认无 无关联按钮

# 案例

比如:我们对指定的学员的成绩进行统计分析: 这个操作我们希望是通过手工的方式启动,那么,我们就定制方法实现: 分析:

  1. 行的相关性:针对指定学生,那么学生可以选择一个或者多个,与行有关,传递指定学员的id
  2. 是否输入,执行数据统计,不需要输入信息,无表单,无初始化

可选的方法:删除和设置指定值,因为不需要设置,而是执行数据统计这个方法,则选“删除”这个类型

# 操作步骤

  1. 创建方法:方法名称为“执行统计”,方法英文名:doStatisical,其余默认

img_1.png 2. 生成代码

img_2.png

  1. 修改控制中的doStatisical方法,添加注释标记
 	/*start*/
	/*
 	* @Description  执行统计
 	*/
	function doStatisical(){
		$idx =  $this->request->post('learner_id', '', 'serach_in');
		if(!$idx) throw new ValidateException ('参数错误');
		LearnerModel::destroy(['learner_id'=>explode(',',$idx)],true);
		return json(['status'=>200,'msg'=>'操作成功']);
	}
    /*end*/
  1. 修改方法“后端生成”为关闭状态

img_3.png