//mybatisplus代码生成 package com.model; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.generator.AutoGenerator; import com.baomidou.mybatisplus.generator.config.*; import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; import com.baomidou.mybatisplus.generator.config.rules.DateType; import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; public class ModuleMPGenerator { public static final String DB_URL = "jdbc:mysql://192.168.1.51:3306/manager_area?useUnicode=true&characterEncoding=utf8&useSSL=true&allowMultiQueries=true&verifyServerCertificate=false&serverTimezone=GMT%2B8"; public static final String DB_USERNAME = "root"; public static final String DB_PASSWORD = "123456"; public static final String DB_DRIVERNAME = "com.mysql.jdbc.Driver"; public static final String GC_AUTHOR = "一念花开"; public static final String GC_OUTDIR = "src\\main\\java"; public static final String PARENT_NAME = "com.area";//父包名 public static final String MODULE_NAME = "example";//模块名 // 声明要生成的表 public static final String[] IN_TABLES = {"park_type"}; //不生成的表 public static final String[] EX_TABLES = {""}; public static void main(String[] args) { //===java端 AutoGenerator g = new AutoGenerator(); // 全局配置 g.setGlobalConfig(setGlobalConfig()); // 数据源配置 g.setDataSource(setDataSourceConfig()); // 表生成策略 g.setStrategy(setStrategyConfig()); // 包配置 g.setPackageInfo(setPackageConfig()); //模板策略 g.setTemplate(setTemplateConfig()); g.execute(); //===前端 AutoGenerator g2 = new AutoGenerator(); g2.setGlobalConfig(setGlobalConfig2()); // 数据源配置 g2.setDataSource(setDataSourceConfig()); // 表生成策略 g2.setStrategy(setStrategyConfig()); // 包配置 g2.setPackageInfo(setPackageConfig2()); //模板策略 g2.setTemplate(setTemplateConfig2()); g2.execute(); //===java端 增加 AutoGenerator g3 = new AutoGenerator(); g3.setGlobalConfig(setGlobalConfig3()); // 数据源配置 g3.setDataSource(setDataSourceConfig()); // 表生成策略 g3.setStrategy(setStrategyConfig()); // 包配置 g3.setPackageInfo(setPackageConfig3()); //模板策略 g3.setTemplate(setTemplateConfig3()); g3.execute(); } // 全局配置 public static GlobalConfig setGlobalConfig() { GlobalConfig config = new GlobalConfig(); config.setOutputDir(GC_OUTDIR) // 这里就直接输出到项目里面,不用再复制进来 .setFileOverride(false) // 是否覆盖已有文件 默认值:false .setOpen(true)//open 是否打开输出目录 默认值:true .setEnableCache(false)//是否在xml中添加二级缓存配置 默认值:`false .setAuthor(GC_AUTHOR)// 开发人员 默认值:null .setKotlin(false) //开启 Kotlin 模式 默认值:false .setSwagger2(false)// 开启 swagger2 模式 默认值:false .setActiveRecord(false)//开启 ActiveRecord 模式 默认值:false .setBaseResultMap(false) //开启 BaseResultMap 默认值:false .setBaseColumnList(false)//开启 baseColumnList 默认值:false .setDateType(DateType.TIME_PACK)//时间类型对应策略 默认值:TIME_PACK //类的命名 如下配置 %s 为占位符 .setEntityName("%s") //实体命名方式 默认值:null 例如:%sEntity 生成 UserEntity .setControllerName("%sController")//controller 命名方式 默认值:null 例如:%sAction 生成 UserAction .setServiceName("%sService")//%sService .setServiceImplName("%sServiceImpl")//service impl 命名方式 默认值:null 例如:%sBusinessImpl 生成 UserBusinessImpl .setMapperName("%sMapper")//mapper 命名方式 默认值:null 例如:%sDao 生成 UserDao .setXmlName("%sMapper")//默认值:null 例如:%sDao 生成 UserDao.xml .setIdType(null);// 指定生成的主键的ID类型 默认值:null return config; } // 数据源配置 public static DataSourceConfig setDataSourceConfig() { DataSourceConfig dataSourceConfig = new DataSourceConfig(); dataSourceConfig.setDbQuery(new MySqlQuery()) // 数据库信息查询 //默认mysql .setDbType(DbType.MYSQL)//数据库类型 .setSchemaName("public") .setTypeConvert(new MySqlTypeConvert()) //类型转换 默认mysql .setUrl(DB_URL) .setUsername(DB_USERNAME) .setPassword(DB_PASSWORD) .setDriverName(DB_DRIVERNAME); return dataSourceConfig; } // 表生成策略 public static StrategyConfig setStrategyConfig() { StrategyConfig strategyConfig = new StrategyConfig(); strategyConfig.setCapitalMode(true)//是否大写命名 .setSkipView(false) //是否跳过视图 .setNaming(NamingStrategy.underline_to_camel)// 表名映射 驼峰命名 .setColumnNaming(NamingStrategy.underline_to_camel)// 字段名映射 驼峰命名 //下列两项 仅仅 可以配置一项 .setInclude(IN_TABLES) //.setExclude(EX_TABLES) .setEntityColumnConstant(true)//实体 是否生成字段常量 .setEntityLombokModel(true)//实体 是否为lombok模型(默认 false) .setEntityBuilderModel(true)//是否为构建者模型(默认 false) .entityTableFieldAnnotationEnable(true) //是否生成实体时,生成字段注解 .setRestControllerStyle(true)//生成 @RestController 控制器 .setTablePrefix(null)//表前缀 .setFieldPrefix(null)//字段前缀 .setSuperEntityClass(null)//自定义继承的Entity类全称,带包名 .setSuperEntityColumns(null)//自定义基础的Entity类,公共字段 .setSuperMapperClass(null)// .setSuperServiceClass(null)// .setSuperServiceImplClass(null) .setSuperControllerClass(null)// .setControllerMappingHyphenStyle(false); //驼峰转连字符 默认false //.setLogicDeleteFieldName("status"); // 逻辑删除字段名称 return strategyConfig; } // 包配置策略 public static PackageConfig setPackageConfig() { PackageConfig packageConfig = new PackageConfig(); packageConfig.setParent(PARENT_NAME)//父包名。如果为空,将下面子包名必须写全部, 否则就只需写子包名 .setModuleName(MODULE_NAME) .setEntity("entity");//entity 包名 return packageConfig; } //view页面 // 模板策略 public static TemplateConfig setTemplateConfig() { TemplateConfig templateConfig = new TemplateConfig(); templateConfig .setController("templates/controller.java.vm");// /templates/entity.java 模板路径配置,默认再templates // .setEntity("templates/ennity.java.vm") // .setService(null) // .setServiceImpl(null) // .setMapper(null) // .setXml(null); return templateConfig; } // 全局配置 public static GlobalConfig setGlobalConfig2() { GlobalConfig config = new GlobalConfig(); config.setOutputDir("src\\main\\resources\\") // 这里就直接输出到项目里面,不用再复制进来 .setFileOverride(false) // 是否覆盖已有文件 默认值:false .setAuthor(GC_AUTHOR)// 开发人员 默认值:null .setDateType(DateType.TIME_PACK)//时间类型对应策略 默认值:TIME_PACK //类的命名 如下配置 %s 为占位符 .setControllerName("%s.html");//controller 命名方式 默认值:null 例如:%sAction 生成 UserAction return config; } // 包配置策略 public static PackageConfig setPackageConfig2() { PackageConfig packageConfig = new PackageConfig(); packageConfig//.setParent("\\resouces\\")//父包名。如果为空,将下面子包名必须写全部, 否则就只需写子包名 .setModuleName("View\\"); return packageConfig; } // 模板策略 public static TemplateConfig setTemplateConfig2() { TemplateConfig templateConfig = new TemplateConfig(); templateConfig .setController("templates/view.java.vm")// /templates/entity.java 模板路径配置,默认再templates .setEntity(null) .setService(null) .setServiceImpl(null) .setMapper(null) .setXml(null); return templateConfig; } //增加java类型 // 全局配置 public static GlobalConfig setGlobalConfig3() { GlobalConfig config = new GlobalConfig(); config.setOutputDir(GC_OUTDIR) // 这里就直接输出到项目里面,不用再复制进来 .setFileOverride(false) // 是否覆盖已有文件 默认值:false .setAuthor(GC_AUTHOR)// 开发人员 默认值:null .setDateType(DateType.TIME_PACK)//时间类型对应策略 默认值:TIME_PACK //类的命名 如下配置 %s 为占位符 .setEntityName("%sAdd");//controller 命名方式 默认值:null 例如:%sAction 生成 UserAction return config; } // 包配置策略 public static PackageConfig setPackageConfig3() { PackageConfig packageConfig = new PackageConfig(); packageConfig.setParent(PARENT_NAME)//父包名。如果为空,将下面子包名必须写全部, 否则就只需写子包名 .setModuleName(MODULE_NAME) .setEntity("entity");//entity 包名 return packageConfig; } // 模板策略 public static TemplateConfig setTemplateConfig3() { TemplateConfig templateConfig = new TemplateConfig(); templateConfig .setController(null)// /templates/entity.java 模板路径配置,默认再templates .setEntity("templates/ennityAdd.java.vm") .setService(null) .setServiceImpl(null) .setMapper(null) .setXml(null); return templateConfig; } }
base.vm
包: ${package.Entity} ${package.Controller} ${package.Service} ${package.Mapper} 类名: ${entity} 对象 ${table.comment} 对象注解 ${table.entityPath} 对象名路径名 ${table.controllerName} ${table.serviceName} ${table.mapperName} 其他: ${author} 作者 ${date} 当前日期 表内字段: ${field.propertyName} 字段名 ${field.propertyType} 字段类型 ${field.comment} 字段注解 #foreach($field in ${table.fields}) <div class="layui-inline"> <label class="layui-form-label">${field.comment}</label> <div class="layui-input-block"> <input type="text" name="${field.propertyName}" id="${field.propertyName}" placeholder="请输入${field.comment}" autocomplete="off" class="layui-input"> </div> </div> #end
ennity.java.vm
package ${package.Entity}; #if(${activeRecord}) import java.io.Serializable; #end #foreach($pkg in ${table.importPackages}) import ${pkg}; #end #if(${entityLombokModel}) //import com.baomidou.mybatisplus.annotations.Version; import lombok.Data; import lombok.experimental.Accessors; import lombok.EqualsAndHashCode; #end /** * <p> * ${entity} * </p> * * @author ${author} * @since ${date} */ #if(${entityLombokModel}) @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) #end #if(${table.convert}) @TableName("${table.name}") #end #if(${superEntityClass}) public class ${entity} extends ${superEntityClass}#if(${activeRecord})<${entity}>#end { #elseif(${activeRecord}) public class ${entity} extends Model<${entity}> { #else public class ${entity} implements Serializable { #end private static final long serialVersionUID = 1L; ## ---------- BEGIN 字段循环遍历 ---------- #foreach($field in ${table.fields}) #if(${field.keyFlag}) #set($keyPropertyName=${field.propertyName}) #end #if("$!field.comment" != "") /** * ${field.comment} */ #end #if(${field.keyFlag}) ## 主键 #if(${field.keyIdentityFlag}) @TableId(value="${field.name}", type= IdType.AUTO) #elseif(${field.convert}) @TableId("${field.name}") #end ## 普通字段 #elseif(${field.fill}) ## ----- 存在字段填充设置 ----- #if(${field.convert}) @TableField(value = "${field.name}", fill = FieldFill.${field.fill}) #else @TableField(fill = FieldFill.${field.fill}) #end #elseif(${field.convert}) @TableField("${field.name}") #end ## 乐观锁注解 #if(${versionFieldName}==${field.name}) @Version #end ## 逻辑删除注解 #if(${logicDeleteFieldName}==${field.name}) @TableLogic #end #if(${field.propertyType}=="LocalDate") @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") #end #if(${field.propertyType}=="LocalDateTime") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") #end private ${field.propertyType} ${field.propertyName}; #end ## ---------- END 字段循环遍历 ---------- #if(!${entityLombokModel}) #foreach($field in ${table.fields}) #if(${field.propertyType.equals("boolean")}) #set($getprefix="is") #else #set($getprefix="get") #end public ${field.propertyType} ${getprefix}${field.capitalName}() { return ${field.propertyName}; } #if(${entityBuilderModel}) public ${entity} set${field.capitalName}(${field.propertyType} ${field.propertyName}) { #else public void set${field.capitalName}(${field.propertyType} ${field.propertyName}) { #end this.${field.propertyName} = ${field.propertyName}; #if(${entityBuilderModel}) return this; #end } #end #end #if(${entityColumnConstant}) #foreach($field in ${table.fields}) public static final String ${field.name.toUpperCase()} = "${field.name}"; #end #end #if(${activeRecord}) @Override protected Serializable pkVal() { #if(${keyPropertyName}) return this.${keyPropertyName}; #else return this.id; #end } #end #if(!${entityLombokModel}) @Override public String toString() { return "${entity}{" + #foreach($field in ${table.fields}) #if($!{velocityCount}==1) "${field.propertyName}=" + ${field.propertyName} + #else ", ${field.propertyName}=" + ${field.propertyName} + #end #end "}"; } #end }
ennityAdd.java.vm
package ${package.Entity}; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import com.fasterxml.jackson.annotation.JsonFormat; import ${package.Entity}.*; #if(${activeRecord}) import java.io.Serializable; #end #foreach($pkg in ${table.importPackages}) import ${pkg}; #end #set($subArray = $entity.split("Add")) #if($subArray.size()>1) $subArray.get(0) #end #if(${entityLombokModel}) //import com.baomidou.mybatisplus.annotations.Version; import lombok.Data; import lombok.experimental.Accessors; import lombok.EqualsAndHashCode; #end /** * <p> * ${entity} * </p> * * @author ${author} * @since ${date} */ #if(${entityLombokModel}) @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) #end #if(${table.convert}) @TableName("${table.name}") #end #if(${superEntityClass}) public class ${entity} extends $subArray.get(0) extends ${superEntityClass}#if(${activeRecord})<${entity}>#end { #elseif(${activeRecord}) public class ${entity} extends $subArray.get(0) extends Model<${entity}> { #else public class ${entity} extends $subArray.get(0) implements Serializable { #end private static final long serialVersionUID = 1L; ## ---------- BEGIN 字段循环遍历 ---------- #foreach($field in ${table.fields}) #if(${field.keyFlag}) #set($keyPropertyName=${field.propertyName}) #end #if("$!field.comment" != "") /** * ${field.comment} */ #end #if(${field.keyFlag}) ## 主键 #if(${field.keyIdentityFlag}) @TableId(value="${field.name}", type= IdType.AUTO) #elseif(${field.convert}) @TableId("${field.name}") #end ## 普通字段 #elseif(${field.fill}) ## ----- 存在字段填充设置 ----- #if(${field.convert}) @TableField(value = "${field.name}", fill = FieldFill.${field.fill}) #else @TableField(fill = FieldFill.${field.fill}) #end #elseif(${field.convert}) @TableField("${field.name}") #end #if(${field.propertyType}=="String") @NotEmpty(message = "${field.comment}不能为空") #else @NotNull(message = "${field.comment}不能为空") #end #if(${field.propertyType}=="LocalDate") @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") #end #if(${field.propertyType}=="LocalDateTime") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") #end ## 乐观锁注解 #if(${versionFieldName}==${field.name}) @Version #end ## 逻辑删除注解 #if(${logicDeleteFieldName}==${field.name}) @TableLogic #end private ${field.propertyType} ${field.propertyName}; #end }
controller.java.vm
package ${package.Controller}; import com.model.bean.ResultModel; import javax.annotation.Resource; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.validation.annotation.Validated; import ${package.Mapper}.${table.mapperName}; import ${package.Entity}.*; import java.util.List; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springframework.web.bind.annotation.RequestParam; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; /** * <p> * $!{table.comment} 前端控制器 * </p> * * @author ${author} * @since ${date} */ @RestController @RequestMapping("/${table.entityPath}") public class ${table.controllerName} { @Resource private ${table.mapperName} ${table.mapperName}; /** * @param ${entity} * @return ResultModel */ @RequestMapping("/save") public ResultModel save(@Validated ${entity}Add ${entity}) { int insert=${table.mapperName}.insert(${entity}); boolean bool = insert > 0; if(bool){ return ResultModel.ok("${table.comment}增加成功"); } return ResultModel.error("${table.comment}增加失败"); } /** * @param ${entity} * @return ResultModel */ @RequestMapping("/updateById") public ResultModel updateById(${entity} ${entity}) { int update = ${table.mapperName}.updateById(${entity}); boolean bool = update > 0; if(bool){ return ResultModel.ok("${table.comment}修改成功"); } return ResultModel.error("${table.comment}修改失败"); } /** * @param //主键 * @return ResultModel */ @RequestMapping("/deleteById") public ResultModel deleteById(${entity} ${entity}) { //非自增id 删除无计数 int delete = ${table.mapperName}.deleteById(${entity}.getId()); boolean bool = delete > 0; if(bool){ return ResultModel.ok("${table.comment}删除成功"); } return ResultModel.error("${table.comment}删除失败"); } /** * @param //主键的集合 * @return ResultModel */ @RequestMapping("/deleteList") public ResultModel deleteList(List<Integer> ids) { int delete = ${table.mapperName}.deleteBatchIds(ids); boolean bool = delete > 0; if(bool){ return ResultModel.ok("${table.comment}删除成功"+delete+"条"); } return ResultModel.error("${table.comment}删除失败"); } /** * @param //主键 * @return ResultModel */ @RequestMapping("/selectById") public ResultModel selectById(${entity} ${entity}) { ${entity} = ${table.mapperName}.selectById(${entity}.getId()); return ResultModel.okData("${table.comment}查询成功",${entity}); } public QueryWrapper<${entity}> getWrapper(${entity} ${entity}) { //取属性 QueryWrapper<${entity}> wrapper = new QueryWrapper<>(); //判断处理 return wrapper; } /** * @param ${entity} * @return ResultModel */ @RequestMapping("/select") public ResultModel select(${entity} ${entity}) { List<${entity}> ${entity}s = ${table.mapperName}.selectList(getWrapper(${entity})); return ResultModel.okData("${table.comment}查询成功",${entity}s); } /** * @param ${entity} * @return ResultModel */ @RequestMapping("/selectPage") public ResultModel selectPage(${entity} ${entity}, @RequestParam("page") Integer current, @RequestParam("limit") Integer size) { Page Page = new Page<>(); Page.setSize(size); Page.setCurrent(current); IPage<${entity}> ${entity}IPage = ${table.mapperName}.selectPage(Page, getWrapper(${entity})); List<${entity}> records = ${entity}IPage.getRecords(); long total = ${entity}IPage.getTotal(); Object[] data = {records, total}; return ResultModel.okData("${table.comment}查询成功",data); } }
view.java.vm
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <title>小区物业管理系统</title> <meta name="renderer" content="webkit"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"> <link rel="stylesheet" href="../layuiadmin/layui/css/layui.css" media="all"> <link rel="stylesheet" href="../layuiadmin/style/admin.css" media="all"> <script src="../layuiadmin/jquery-1.8.0.min.js"></script> <script src="../layuiadmin/configure.js"></script> </head> <body> <div class="layui-card layadmin-header"> <div class="layui-breadcrumb" lay-filter="breadcrumb"> <a lay-href="">主页</a> <a><cite>组件</cite></a> <a><cite>数据表格</cite></a> <a><cite>开启头部工具栏</cite></a> </div> </div> <div class="layui-fluid"> <div class="layui-row layui-col-space15"> <div class="layui-col-md12"> <div class="layui-card"> <div class="layui-card-header"> <b>${table.comment}管理</b> </div> <div class="layui-card-body"> <div class="layui-form layui-card-header layuiadmin-card-header-auto"> <div class="layui-form-item"> /*循环所有字段*/ #foreach($field in ${table.fields}) <div class="layui-inline"> <label class="layui-form-label">${field.comment}</label> <div class="layui-input-block"> <input type="text" name="${field.propertyName}" id="${field.propertyName}" placeholder="请输入${field.comment}" autocomplete="off" class="layui-input"> </div> </div> #end <div class="layui-inline"> <button class="layui-btn layuiadmin-btn-useradmin" lay-submit lay-filter="select${entity}"> <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i> </button> </div> </div> </div> <div class="test-table-reload-btn" style="margin-bottom: 10px;"> <button class="layui-btn" data-type="reload" id="add${entity}">添加${table.comment}</button> </div> <table class="layui-hide" id="test-table-toolbar" lay-filter="test-table-toolbar"></table> <script type="text/html" id="test-table-toolbar-barDemo"> <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a> <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a> </script> </div> </div> </div> </div> </div> <!--添加界面--> <div class="layui-form" lay-filter="layuiadmin-form-tags" id="add${entity}View" style="padding-top: 30px; text-align: center; display: none"> <div class="layui-form-item"> /*循环所有字段*/ #foreach($field in ${table.fields}) <div class="layui-inline"> <label class="layui-form-label">${field.comment} <span style="color: red;">*</span></label> <div class="layui-input-inline"> <input type="text" id="add${field.propertyName}" lay-verify="add${field.propertyName}" autocomplete="off" class="layui-input"> </div> </div> <div> #end <div class="layui-form-item"> <div class="layui-form-item timo-finally"> <button class="layui-btn ajax-submit" id="add${entity}Confirm"><i class="fa fa-check-circle"></i> 保存</button> <button class="layui-btn btn-secondary close-popup"><i class="fa fa-times-circle"></i> 取消</button> </div> </div> </div> <!--修改界面--> <div class="layui-form" lay-filter="layuiadmin-form-tags" id="update${entity}View" style="padding-top: 30px; text-align: center; display: none"> <div class="layui-form-item"> /*循环所有字段*/ #foreach($field in ${table.fields}) <div class="layui-inline"> <label class="layui-form-label">${field.comment} <span style="color: red;">*</span></label> <div class="layui-input-inline"> <input type="text" id="update${field.propertyName}" lay-verify="update${field.propertyName}" autocomplete="off" class="layui-input"> </div> </div> <div> #end <div> <div class="layui-form-item"> <div class="layui-form-item timo-finally"> <button class="layui-btn ajax-submit" id="update${entity}Confirm"><i class="fa fa-check-circle"></i> 保存</button> <button class="layui-btn btn-secondary close-popup"><i class="fa fa-times-circle"></i> 取消</button> </div> </div> </div> <script src="../layuiadmin/layui/layui.js"></script> <script> var user_phone = sessionStorage.getItem('phone'); var user_password = sessionStorage.getItem('password'); var manageAreaId = sessionStorage.getItem('manageAreaId'); var manageAreaName = sessionStorage.getItem('manageAreaName'); var companyId = sessionStorage.getItem('companyId'); layui.config({ base: '../layuiadmin/' //静态资源所在路径 }).extend({ index: 'lib/index' //主入口模块 }).use(['index', 'table', "form", "laydate"], function () { //加载所需模块 var admin = layui.admin; var table = layui.table; var layer = layui.layer; var form = layui.form; var laydate = layui.laydate; //监听搜索 form.on('submit(select${entity})', function (data) { var field = data.field; //执行重载 table.reload('test-table-toolbar', { where: field }); }); //加载页面 table.render({ elem: '#test-table-toolbar' , url: Url + '${table.entityPath}/selectPage' , where: { /*循环字段*/ #foreach($field in ${table.fields}) ${field.propertyName}: ${field.propertyName}, #end "id": id, } , method: 'post' , toolbar: '#toolbarDemo' , cols: [[ /*循环字段*/ #foreach($field in ${table.fields}) {field: '${field.propertyName}', title: '${field.comment}'}, #end {field: 'classify', title: '操作', toolbar: '#test-table-toolbar-barDemo'} ]] , page: true , response: { statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0 } , parseData: function (res) { //将原始数据解析成 table 组件所规定的数据 if (res.code == 200) { return { "code": res.code, //解析接口状态 "msg": res.msg, //解析提示文本 "count": res.data[1], //解析数据长度 "data": res.data[0] //解析数据列表 }; } else { return { "code": res.code, //解析接口状态 "msg": res.msg //解析提示文本 }; } } , done: function (res) {//成功后返回的参数 console.log(res); } }); //添加事件 $("#add${entity}").on("click", function () { layer.open({ type: 1, title: "添加${table.comment}", area: ['800px', '400px'], content: $("#add${entity}View")//引用的弹出层的页面层的方式加载修改界面表单 }); }); table.on('tool(test-table-toolbar)', function (obj) { var data = obj.data; console.log(data); //删除事件 if (obj.event === 'del') { layer.confirm('确定要删除此吗?', function (index) { //点击确定后的执行方法 $.ajax({ url: Url + "${table.entityPath}/deleteById", type: 'POST', data: { id: obj.data.id }, dataType: 'json', contentType: 'application/x-www-form-urlencoded', success: function (data) { if (data.code == 200) { layer.msg('删除成功!', { offset: '125px' , icon: 1 , time: 800 //1秒后跳转 }, function () { layer.closeAll();//关闭所有的弹出层 obj.del(); layer.close(index); }); } else { layer.msg('删除失败!' + data.msg, { offset: '125px' , icon: 1 , time: 1000 //1秒后跳转 }); } } }); }); //修改事件 } else if (obj.event === 'edit') { /*循环字段*/ #foreach($field in ${table.fields}) $('#update${field.propertyName}').val(obj.data.${field.propertyName}); #end form.render(); form.render('select'); layer.open({ type: 1, title: "修改${table.comment}信息", area: ['800px', '400px'], content: $("#update${entity}View")//引用的弹出层的页面层的方式加载修改界面表单 }); } //修改${table.comment}动作 $("#update${entity}Confirm").on("click", function () { /*循环字段*/ #foreach($field in ${table.fields}) var ${field.propertyName} = $('#update${field.propertyName}').val(); #end /*循环字段*/ #foreach($field in ${table.fields}) if (${field.propertyName} === '') { layer.msg('${field.comment}不能为空', {icon: 5}); return; } else #end { $.ajax({ url: Url + "${table.entityPath}/updateById", type: 'POST', data: { id: obj.data.id, /*循环字段*/ #foreach($field in ${table.fields}) ${field.propertyName} : ${field.propertyName}, #end id: id }, dataType: 'json', contentType: 'application/x-www-form-urlencoded', success: function (data) { if (data.code == 200) { layer.msg('修改成功!', { offset: '125px' , icon: 1 , time: 800 //1秒后跳转 }, function () { layer.closeAll();//关闭所有的弹出层 window.location.reload(); }); } else { layer.msg('修改失败!' + data.msg, { offset: '125px' , icon: 1 , time: 1000 //1秒后跳转 }); } } }); } }); }); //添加${table.comment}动作 $("#add${entity}Confirm").on("click", function () { /*循环字段*/ #foreach($field in ${table.fields}) var ${field.propertyName} = $('#add${field.propertyName}').val(); #end /*循环字段*/ #foreach($field in ${table.fields}) if (${field.propertyName} === '') { layer.msg('${field.comment}不能为空', {icon: 5}); return; } else #end { $.ajax({ url: Url + "${table.entityPath}/save", type: 'POST', data: { /*循环字段*/ #foreach($field in ${table.fields}) ${field.propertyName} : ${field.propertyName}, #end id: id }, dataType: 'json', contentType: 'application/x-www-form-urlencoded', success: function (data) { if (data.code == 200) { layer.msg('添加成功!', { offset: '125px' , icon: 1 , time: 800 //1秒后跳转 }, function () { layer.closeAll();//关闭所有的弹出层 window.location.reload(); }); } else { layer.msg('添加失败!' + data.msg, { offset: '125px' }); } } }); } }); }); /* 点击取消关闭修改的弹出层 */ $(".close-popup").click(function (e) { layer.closeAll();//关闭所有的弹出层 }); </script> </body> </html>