若依RuoYi框架中,同一功能模块下几种类型数据共用一张表(有共用字段也有不共同字段),需分开在页面进行展示,如何共用该表生成的同一套页面?

1.需求功能分析和解决思路阐述,页面效果图如下:

若依RuoYi框架中,同一功能模块下几种类型数据共用一张表(有共用字段也有不共同字段),需分开在页面进行展示,如何共用该表生成的同一套页面?_第1张图片

    A.需求功能分析:约谈、投递、收藏是同属于约藏投功能模块下,不同的分类,但现在的问题是这几种类型数据是存于一张表内,它们既有共用字段也有不共用字段,这样对于使用同一套页面就产生了困难,因为不同的模块点击进去,页面上显示的只是该模块所拥有的字段信息,其他的类型字段就得隐藏起来了。

    B.解决问题的思路方法:操作页面上初点击不同的类型模块访问列表页时,即带上判断类型的字段编码,这样不管是列表页还是增加和修改页面,根据拿到的类型编码进行判断,来显示需要的信息和隐藏不该显现的信息。现在问题的难点即定位在如何在列表页、增加也、修改页拿到类型编码。

2.解决问题,数据库中sys_menu系统菜单表、后台以及前台需要修改的地方如下:

     A. sys_menu系统菜单表, 改动的地方如下图所示(其中oprationTypeCode为对应的类型字段):

    若依RuoYi框架中,同一功能模块下几种类型数据共用一张表(有共用字段也有不共同字段),需分开在页面进行展示,如何共用该表生成的同一套页面?_第2张图片

    B. 列表页前台和后台修改的地方如下:

    后台(controller类中进行修改):

@RequiresPermissions("idc:idc:view")
@GetMapping()
public String idc(ModelMap mmap,HttpServletRequest request){
    //拿到oprationTypeCode
    String opCpde = request.getParameter("oprationTypeCode");
    //把拿到的类型字段opCpde传到列表页
    mmap.put("oprationTypeCode", opCpde);
    switch (opCpde) {
	case "1":
        mmap.put("oprationTypeName", "约谈");
        break;
    case "2":
        mmap.put("oprationTypeName", "投递");
        break;
    case "3":
        mmap.put("oprationTypeName", "收藏");
        break;
	default:
        break;
	}
    return prefix + "/idc";
}

    前台接受类型字段和类型名称 (类型名称是用于搜索使用) :  


  •     C.增加页面前台和后台需要改动的地方:

        前台(列表页和增加页面):

    若依RuoYi框架中,同一功能模块下几种类型数据共用一张表(有共用字段也有不共同字段),需分开在页面进行展示,如何共用该表生成的同一套页面?_第3张图片

    
    
    

        后台(controller类的新增方法):

    /**
     * 新增约谈投递收藏功能
     */
    @GetMapping("/add")
    public String add(HttpServletRequest request, ModelMap mmap){ 
      //列表页面点击增加按钮,传进来的类型编码
      String opCpde = request.getParameter("oprationTypeCode");
      //保存并准备传到增加页面去
      mmap.put("oprationTypeCode", opCpde);
      switch (opCpde) {
      case "1":
    	mmap.put("oprationTypeName", "约谈");
    	break;
      case "2":
    	mmap.put("oprationTypeName", "投递");
    	break;
      case "3":
    	mmap.put("oprationTypeName", "收藏");
    	break;
      default:
    	break;
      }
      return prefix + "/add";
    }

        D.修改页面前台和后台需要改动的地方:

        前台(修改页面,同于增加页面):

        后台(controller类的修改方法):

    /**
     * 修改约谈投递收藏功能
     */
    @GetMapping("/edit/{id}")
    public String edit(@PathVariable("id") Long id, ModelMap mmap){
       InterviewDeliverCollect interviewDeliverCollect = 
       interviewDeliverCollectService.selectInterviewDeliverCollectById(id);
       mmap.put("interviewDeliverCollect", interviewDeliverCollect);
       //获取查询出来的对象的类型编码,并传到修改页面
       mmap.put("oprationTypeCode", interviewDeliverCollect.getOprationTypeCode().toString());
       return prefix + "/edit";
    }
    

    3.欢迎指正!!!

    你可能感兴趣的:(RuoYi框架)