精华内容
下载资源
问答
  • 文档地址:http://doc.ruoyi.vip 演示图 License 用户在遵循本项目协议的同时,如果用户下载、安装、使用本项目中所提供的软件,软件作者对...
  • 请给若依/RuoYi 投票,谢谢支持。 一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适的。于是利用空闲休息时间开始自己写了一套后台系统。如此有了若依。她可以用于所有的Web应用程序,如网站管理...
  • 请给若依/RuoYi 投票,谢谢大家。 一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适的。于是利用空闲休息时间开始自己写了一套后台系统。如此有了若依。她可以用于所有的Web应用程序,如网站管理...
  • RuoYi从3.0开始,进行模块拆分,将原先的单应用转变为多模块,如需单应用,请移步 推荐使用阿里云部署,通用云产品代金券 : 内置功能 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 部门管理:配置...
  • RuoYi从3.0开始,进行模块拆分,将原先的单应用转变为多模块,如需单应用,请移步 推荐使用阿里云部署,通用云产品代金券 : 内置功能 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 部门管理:配置...
  • Ruoyi 导入

    2020-12-04 15:33:49
    Ruoyi 导入 Mapper public Student selectStudentByLoginName(String name);//数据库导入 Mapper.xml <select id="selectStudentByLoginName" parameterType="String" resultMap="StudentResult"> <...

    Ruoyi 导入

    Mapper

    public Student selectStudentByLoginName(String name);//数据库导入
    

    Mapper.xml

     <select id="selectStudentByLoginName" parameterType="String" resultMap="StudentResult">
            <include refid="selectStudentVo"/>
            where name = #{name}
        </select>
    

    ServiceImpl

     /**
         * 导入用户数据
         *
         * @param studentList 用户数据列表
         * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据
         * @param operName 操作用户
         * @return 结果
         */
        @Override
        public String importStudent(List<Student> studentList, Boolean isUpdateSupport, String operName)
        {
            if (StringUtils.isNull(studentList) || studentList.size() == 0)
            {
                throw new BusinessException("导入用户数据不能为空!");
            }
            int successNum = 0;
            int failureNum = 0;
            StringBuilder successMsg = new StringBuilder();
            StringBuilder failureMsg = new StringBuilder();
            for (Student student : studentList)
            {
                try
                {
                    // 验证是否存在这个用户
                    Student u = studentMapper.selectStudentByLoginName(student.getName() );
                    if (StringUtils.isNull(u))
                    {
                        student.setName(student.getName());
                        this.insertStudent(student);
                        successNum++;
                        successMsg.append("<br/>" + successNum + "学生信息" + student.getName() + " 导入成功");
                    }
                    else if (isUpdateSupport)
                    {
                        student.setUpdateBy(operName);
                        this.updateStudent(student);
                        successNum++;
                        successMsg.append("<br/>" + successNum + "学校信息 " + student.getName() + " 更新成功");
                    }
                    else
                    {
                        failureNum++;
                        failureMsg.append("<br/>" + failureNum + "学校信息" + student.getName() + " 已存在");
                    }
                }
                catch (Exception e)
                {
                    failureNum++;
                    String msg = "<br/>" + failureNum + "学校信息" + student.getName() + " 导入失败:";
                    failureMsg.append(msg + e.getMessage());
                    
                }
            }
            if (failureNum > 0)
            {
                failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
                throw new BusinessException(failureMsg.toString());
            }
            else
            {
                successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:");
            }
            return successMsg.toString();
        }
    

    Controller

    
        /**
         * 学校信息导入
         */
        @RequiresPermissions("system:sudent:import")
        @PostMapping("/importData")
        @ResponseBody
        public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception
        {
            ExcelUtil<Student> util = new ExcelUtil<Student>(Student.class);
            List<Student> studentList = util.importExcel(file.getInputStream());
            String operName = ShiroUtils.getSysUser().getLoginName();
            String message = studentService.importStudent(studentList, updateSupport, operName);
            return AjaxResult.success(message);
        }
        @RequiresPermissions("system:student:view")
        @GetMapping("/importTemplate")
        @ResponseBody
        public AjaxResult importTemplate()
        {
            ExcelUtil<Student> util = new ExcelUtil<Student>(Student.class);
            return util.importTemplateExcel("学生信息数据");
        }
    
    

    Html

    <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:student:export">
                    <i class="fa fa-download"></i> 导出
                </a>
    
     nostudentSuccess:prefix + "/nostudentSuccess",
                importTemplateUrl: prefix + "/importTemplate",
    
    <!-- 导入区域 -->
    <script id="importTpl" type="text/template">
        <form enctype="multipart/form-data" class="mt20 mb10">
            <div class="col-xs-offset-1">
                <input type="file" id="file" name="file"/>
                <div class="mt10 pt5">
                    <input type="checkbox" id="updateSupport" name="updateSupport" title="如果登录账户已经存在,更新这条数据。"> 是否更新已经存在的用户数据
                    &nbsp;	<a onclick="$.table.importTemplate()" class="btn btn-default btn-xs"><i class="fa fa-file-excel-o"></i> 是否下载这个模板</a>
                </div>
                <font color="red" class="pull-left mt10">
                    提示:仅允许导入“xls”或“xlsx”格式文件!
                </font>
            </div>
        </form>
    </script>
    
    展开全文
  • Ruoyi 导出

    2020-12-04 15:26:44
    Ruoyi 导出 Domain @Excel(name = "学生编号",cellType = Excel.ColumnType.NUMERIC)//需要导出的主键 private int id; @Excel(name = "学生姓名")//需要导出的字段 private String name; @Excel(name = "年龄...

    Ruoyi 导出

    Domain

        @Excel(name = "学生编号",cellType = Excel.ColumnType.NUMERIC)//需要导出的主键
        private int id;
        @Excel(name = "学生姓名")//需要导出的字段
        private String name;
        @Excel(name = "年龄")
        private  int age;
        @Excel(name = "推荐")
        private  int success;
        @Excel(name = "TTid")
        private  int ttid;
    

    Controller

        /**
         * 导出
         */
        @Log(title = "学生", businessType = BusinessType.EXPORT)
        @RequiresPermissions("system:student:export")
        @PostMapping("/export")
        @ResponseBody
        public AjaxResult export(Student student)
        {
            List<Student> list = studentService.selectStudentList(student);
            ExcelUtil<Student> util = new ExcelUtil<Student>(Student.class);
            return util.exportExcel(list, "学生");
        }
    

    Html

     <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:student:export">
                    <i class="fa fa-download"></i> 导出
                </a>
    
    展开全文
  • 这个小项目基于RuoYi后台管理系统。是文章“【RuoYi框架】RuoYi框架学习超简单案例 - 新闻管理系统(附源码)”中的源码。详细文章内容可以点击:https://blog.csdn.net/weixin_44034328/article/details/104081504
  • ruoyi 验证表单

    2021-04-19 23:55:24
    前言 ruoyi 4.6.0 ruoyi 使用 jQuery Validate插件 ruoyi 使用 jQuery Validate插件实现表单验证功能。参考文档有: https://doc.ruoyi.vip/ruoyi/document/qdsc.html#表单校验 ...

    前言

    • ruoyi 4.6.0

    ruoyi 使用 jQuery Validate插件

    ruoyi 使用 jQuery Validate插件实现表单验证功能。参考文档有:

    • https://doc.ruoyi.vip/ruoyi/document/qdsc.html#表单校验
    • https://doc.ruoyi.vip/ruoyi/document/zjwd.html#jquery-validate
    • https://jqueryvalidation.org/documentation/

    ruoyi 验证表单分析

    下面是从添加店铺页面摘取的部分代码:

    <form class="form-horizontal m" id="form-shop-add">
    </form>
    <script th:inline="javascript">
    	var prefix = ctx + "shop/shop"
    	$("#form-shop-add").validate({
    	    focusCleanup: true
    	});
    	
    	function submitHandler() {
    	    if ($.validate.form()) {
    	        $.operate.save(prefix + "/add", $('#form-shop-add').serialize());
    	    }
    	}
    </script>
    
    • 初始化 jQuery Validate
    	$("#form-shop-add").validate({
    	    focusCleanup: true
    	});
    
    • 通常,添加页面没有submit按钮的。所以无法submit表单,也无法触发jQuery Validate验证。因此单独添加了submitHandler方法。
    	function submitHandler() {
    	    if ($.validate.form()) {
    	        $.operate.save(prefix + "/add", $('#form-shop-add').serialize());
    	    }
    	}
    
    • 通常,使用$.modal.open()$.modal.openFull()打开页面。在$.modal.open()$.modal.openFull()打开的页面中,会添加确定和关闭按钮。在确定按钮点击时,会调用submitHandler方法。
    • $.validate.form() 触发jQuery Validate验证
    • $.operate.save() 调用 prefix + "/add" 地址保存数据$('#form-shop-add').serialize()。如果保存成功,则关闭弹框,并提示成功。

    验证隐藏表单

    <form class="form-horizontal m" id="form-shop-add">
    <input name="swiperPics" id="swiperPics" class="form-control" type="hidden" th:value="*{swiperPics}">
    </form>
    

    较好的做法为:

    function submitHandler() {
        if ($.validate.form()) {
        	if($.common.isEmpty($("#swiperPics").val())) {
              		layer.alert('选择并上传轮播图'); 
              		return;
              	}
            $.operate.save(prefix + "/add", $('#form-shop-add').serialize());
        }
    }
    

    省事儿的做法为:

    	$("#form-shop-add").validate({
    	    focusCleanup: true,
    	    ignore: "" /*覆盖掉jQuery validate默认值 ignore: ":hidden" */
    	    messages: {
    	    	swiperPics: "选择并上传轮播图" /*指定提示消息内容*/
    	    }
    	});
    
    展开全文
  • 前端时间抽空了解了ruoyi这个快速开发平台,应该说目前比较好的开源平台都通过升级为企业版或者购买培训资料,会员来盈利,感觉不盈利,就对不起自己,便宜了拿自己的东西去做大项目的公司或者个人。ruoyi这个也不...

            前端时间抽空了解了ruoyi这个快速开发平台,应该说目前比较好的开源平台都通过升级为企业版或者购买培训资料,会员来盈利,感觉不盈利,就对不起自己,便宜了拿自己的东西去做大项目的公司或者个人。ruoyi这个也不一样,好在目前是全部开源,并且是通过购买视频资料来赚钱。我个人认为后者可能更好一些。

            话不多说,按照各个步骤逐一搭建起来:

            1.git拉取cloud代码(https://gitee.com/zhangmrit/ruoyi-cloud),依次执行如下几个SQL:

             ry_20190401.sql
             districts.sql
             districtsMenu.sql
             oss.sql
             quartz.sql
             sys_menu.sql

            2.依次启动下面几个服务,注意yaml文件的mysql链接设置

             启动顺序:

    • eureka
    • config
    • gateway
    • system
    • auth

            3.git拉取ant代码

             拉取项目代码
                c#>git clone https://gitee.com/zhangmrit/ruoyi-ant.git
                c#>cd ruoyi-ant
             安装依赖
               c#>yarn install

            编译项目
               c#>yarn run build
            开发模式运行
                c#>yarn run serve

           3.1运行过程中,可能会遇到如下问题(我的环境是win10 ,nodejs 8.9.3 npm 5.5.1):

             yarn错误The engine "node" is incompatible with this module,Expected version ">=4 <=9". Got "*.*.*"

             解决方案:yarn config set ignore-engines true

             参考:https://www.jianshu.com/p/5cb4f48ed11b

           3.2.修改vue.config.js

          4.最后,访问localhost:8000,能正常访问,但好像有挡板程序进行阻挡,由于暂时无时间,后面文章将解决这个问题。

            

    展开全文
  • 目前ruoyi-cloud和ruoyi-ant,作者已经写了比较好的文章,可以参考文章运行了 http://doc.rycloud.zmrit.com 注意:只能在google 浏览器运行前端,在QQ浏览器会报错。 前端启动参考文档所示:(npm和yarn以及node...
  • 这篇文章将会讲如何用RuoYi框架做一个简单的新闻系统。 感谢作者的无私开源! RuoYi官网:http://ruoyi.vip/ RuoYi文档:http://doc.ruoyi.vip/ RuoYi源码下载:https://gitee.com/y_project/RuoYi 一、需求 做一个...
  • RuoYi从3.0开始,进行模块拆分,将原先的单应用转变为多模块,如需多模块,请移步 推荐使用阿里云部署,通用云产品代金券 : 内置功能 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 部门管理:配置...
  • RuoYi 框架
  • RuoYi-Vue】搭建RuoYi-Vue开发环境

    千次阅读 2020-10-02 12:04:22
    RuoYi是一个很棒的开源SpringBoot的脚手架管理系统,记录学习过程。 我这里搭建的是RuoYi-Vue前后端分离版, 官网地址是:https://doc.ruoyi.vip/ruoyi-vue/ 1、安装后台项目依赖 安装:JDK 8+,并设置好环境...
  • ruoyi整合ueditor-附件资源
  • ruoyi_oracle-源码

    2021-05-26 19:57:38
    基于若依后台管理系统Ruoyi-Oracle版本后端 () 基于Layui前端框架并兼容IE8浏览器 () 数据库使用Oracle,数据库sql文件位于根目录/sql/ry_oracl_layui_20210119.sql 数据库配置信息位于:根目录/ruoyi-admin/src/...
  • ruoyi下载文件

    2021-05-10 11:10:53
    本篇文章仅针对ruoyi模板的下载文件功能,对其进行修改 前端 注意事项 1.不要用ajax传参,可以使用 location.href的方式,使用ajax调用Controller不会开启下载文件弹窗,但是会正常下载文件,控制台也不会报错,下载...
  • ruoyi-print.zip

    2020-04-01 11:48:33
    ruoyi系统中,集成了开源的CLodop打印插件,实现了自定义打印模板,可支持空白纸打印和套打打印模板的定制

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,738
精华内容 695
关键字:

RuoYi