src/main/java/com/zy/common/CodeBuilder.java
@@ -20,7 +20,7 @@ generator.url="127.0.0.1:1433;databasename=phyzasrs"; generator.username="sa"; generator.password="sa@123"; generator.table="sys_pda_resource"; generator.table="sys_role_pda_resource"; generator.packagePath="com.zy.system"; generator.sql = false; generator.build(); src/main/java/com/zy/common/web/AuthController.java
@@ -51,6 +51,8 @@ private PermissionService permissionService; @Autowired private RolePermissionService rolePermissionService; @Autowired private RolePdaResourceService rolePdaResourceService; @RequestMapping("/login.action") @ManagerAuth(value = ManagerAuth.Auth.NONE, memo = "登录") @@ -235,7 +237,6 @@ functions.put("title", "pda功能"); functions.put("id", "function"); functions.put("spread", true); functions.put("checked", false); List<Map> funcs = new ArrayList<>(); functions.put("children", funcs); List<PdaResource> oneLevs = pdaResourceService.selectList(new EntityWrapper<PdaResource>().eq("level", 1).eq("status", 1).orderBy("sort")); @@ -246,7 +247,7 @@ oneLevelMap.put("title", oneLev.getName()); oneLevelMap.put("id", oneLev.getId()); oneLevelMap.put("spread", true); oneLevelMap.put("checked", true); oneLevelMap.put("checked", false); oneLevelMap.put("children", twoLevelsList); List<PdaResource> twoLevels = pdaResourceService.selectList(new EntityWrapper<PdaResource>().eq("resource_id", oneLev.getId()).eq("level", 2).eq("status", 1).orderBy("sort")); @@ -256,7 +257,7 @@ twoLevelMap.put("title", twoLevel.getName()); twoLevelMap.put("id", twoLevel.getId()); twoLevelMap.put("spread", false); twoLevelMap.put("checked", true); twoLevelMap.put("checked", false); List<Map> threeLevelsList = new ArrayList<>(); twoLevelMap.put("children", threeLevelsList); // 三级 @@ -265,7 +266,7 @@ Map<String, Object> threeLevelMap = new HashMap<>(); threeLevelMap.put("title", threeLevel.getName()); threeLevelMap.put("id", threeLevel.getId()); threeLevelMap.put("checked", true); threeLevelMap.put("checked", false); threeLevelsList.add(threeLevelMap); } twoLevelsList.add(twoLevelMap); @@ -299,6 +300,25 @@ result.add(permission.getAction()); } } // pda权限 List<RolePdaResource> rolePdaResources = rolePdaResourceService.selectList(new EntityWrapper<RolePdaResource>().eq("role_id", roleId)); for (RolePdaResource rolePdaResource : rolePdaResources) { PdaResource pdaResource = pdaResourceService.selectById(rolePdaResource.getResourceId()); if (!Cools.isEmpty(pdaResource)) { if (pdaResource.getLevel() == 1){ List<PdaResource> pdaResources = pdaResourceService.selectList(new EntityWrapper<PdaResource>().eq("resource_id", pdaResource.getId())); if (Cools.isEmpty(pdaResources)) { result.add(pdaResource.getId()); } } if (pdaResource.getLevel() == 2){ List<PdaResource> pdaResources = pdaResourceService.selectList(new EntityWrapper<PdaResource>().eq("resource_id", pdaResource.getId())); if (Cools.isEmpty(pdaResources)) { result.add(pdaResource.getId()); } } } } return R.ok(result); } @@ -310,6 +330,7 @@ Long leaderId = role.getLeader(); roleResourceService.delete(new EntityWrapper<RoleResource>().eq("role_id", roleId)); rolePermissionService.delete(new EntityWrapper<RolePermission>().eq("role_id", roleId)); rolePdaResourceService.delete(new EntityWrapper<RolePdaResource>().eq("role_id", roleId)); if (!Cools.isEmpty(powers)){ List<PowerDto> dtos = JSON.parseArray(powers, PowerDto.class); for (PowerDto dto : dtos) { @@ -328,30 +349,67 @@ roleResource.setResourceId(resource.getId()); roleResourceService.insert(roleResource); } } else { Permission permission = permissionService.selectOne(new EntityWrapper<Permission>().eq("action", dto.getTwo())); if (!Cools.isEmpty(permission)){ RolePermission rolePermission = new RolePermission(); rolePermission.setRoleId(roleId); rolePermission.setPermissionId(permission.getId()); rolePermissionService.insert(rolePermission); if (dto.getTwo().substring(0,1).contains("-")) { PdaResource pdaResource = pdaResourceService.selectOne(new EntityWrapper<PdaResource>().eq("id", dto.getTwo()).eq("level", 1)); if (!Cools.isEmpty(pdaResource)) { // 校验上级权限 if (leaderId != null) { RolePdaResource rolePdaResource = rolePdaResourceService.selectOne(new EntityWrapper<RolePdaResource>().eq("role_id", leaderId).eq("resource_id", pdaResource.getId())); if (null == rolePdaResource) { throw new CoolException(pdaResource.getName().concat("无法授权给").concat(role.getName())); } } RolePdaResource rolePdaResource = new RolePdaResource(); rolePdaResource.setRoleId(roleId); rolePdaResource.setResourceId(pdaResource.getId()); rolePdaResourceService.insert(rolePdaResource); } } else { Permission permission = permissionService.selectOne(new EntityWrapper<Permission>().eq("action", dto.getTwo())); if (!Cools.isEmpty(permission)){ RolePermission rolePermission = new RolePermission(); rolePermission.setRoleId(roleId); rolePermission.setPermissionId(permission.getId()); rolePermissionService.insert(rolePermission); } } } for (String three : dto.getThree()){ Resource resource1 = resourceService.selectOne(new EntityWrapper<Resource>().eq("id", three).eq("level", 3)); if (!Cools.isEmpty(resource1)) { // 校验上级权限 if (leaderId != null) { RoleResource roleResource = roleResourceService.selectOne(new EntityWrapper<RoleResource>().eq("role_id", leaderId).eq("resource_id", resource1.getId())); if (null == roleResource) { throw new CoolException(resource1.getName().concat("无法授权给").concat(role.getName())); if (three.substring(0,1).contains("-")) { PdaResource pdaResource = pdaResourceService.selectOne(new EntityWrapper<PdaResource>().eq("id", three).eq("level", 2)); if (!Cools.isEmpty(pdaResource)) { // 校验上级权限 if (leaderId != null) { RolePdaResource rolePdaResource = rolePdaResourceService.selectOne(new EntityWrapper<RolePdaResource>().eq("role_id", leaderId).eq("resource_id", pdaResource.getId())); if (null == rolePdaResource) { throw new CoolException(pdaResource.getName().concat("无法授权给").concat(role.getName())); } } RolePdaResource rolePdaResource = new RolePdaResource(); rolePdaResource.setRoleId(roleId); rolePdaResource.setResourceId(pdaResource.getId()); rolePdaResourceService.insert(rolePdaResource); } RoleResource roleResource = new RoleResource(); roleResource.setRoleId(roleId); roleResource.setResourceId(resource1.getId()); roleResourceService.insert(roleResource); } else { Resource resource1 = resourceService.selectOne(new EntityWrapper<Resource>().eq("id", three).eq("level", 3)); if (!Cools.isEmpty(resource1)) { // 校验上级权限 if (leaderId != null) { RoleResource roleResource = roleResourceService.selectOne(new EntityWrapper<RoleResource>().eq("role_id", leaderId).eq("resource_id", resource1.getId())); if (null == roleResource) { throw new CoolException(resource1.getName().concat("无法授权给").concat(role.getName())); } } RoleResource roleResource = new RoleResource(); roleResource.setRoleId(roleId); roleResource.setResourceId(resource1.getId()); roleResourceService.insert(roleResource); } } } } } @@ -419,21 +477,36 @@ @RequestMapping("/menu/pda/auth") @ManagerAuth public R menuPda(){ public R menuPda(@RequestBody HashMap<String,String> params){ Long userId = getUserId(); List<RolePermission> rolePermissions; String level = params.get("level"); Long id = Long.valueOf(params.get("id")); List<RolePdaResource> rolePdaResources; if (userId == 9527L) { rolePermissions = rolePermissionService.selectList(new EntityWrapper<>()); rolePdaResources = rolePdaResourceService.selectList(new EntityWrapper<>()); } else { Long roleId = getUser().getRoleId(); rolePermissions = rolePermissionService.selectList(new EntityWrapper<RolePermission>().eq("role_id", roleId)); rolePdaResources = rolePdaResourceService.selectList(new EntityWrapper<RolePdaResource>().eq("role_id", roleId)); } if (Cools.isEmpty(rolePermissions)) { if (Cools.isEmpty(rolePdaResources)) { return R.ok(); } List<Long> collect = rolePermissions.stream().map(RolePermission::getPermissionId).distinct().collect(Collectors.toList()); List<Permission> permissions = permissionService.selectBatchIds(collect); return R.ok().add(permissions); List<Long> collect = rolePdaResources.stream().map(RolePdaResource::getResourceId).distinct().collect(Collectors.toList()); List<PdaResource> pdaResources = pdaResourceService.selectBatchIds(collect); List<PdaResource> results = new ArrayList<>(); for (PdaResource pdaResource : pdaResources) { if (Integer.parseInt(level) == 1) { if (pdaResource.getLevel().equals(Short.valueOf(level))) { results.add(pdaResource); } } else { if (pdaResource.getLevel().equals(Short.valueOf(level)) && pdaResource.getResourceId().equals(id)) { results.add(pdaResource); } } } return R.ok().add(results); } } src/main/java/com/zy/system/controller/RolePdaResourceController.java
New file @@ -0,0 +1,125 @@ package com.zy.system.controller; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.plugins.Page; import com.core.common.DateUtils; import com.zy.system.entity.RolePdaResource; import com.zy.system.service.RolePdaResourceService; import com.core.annotations.ManagerAuth; import com.core.common.BaseRes; import com.core.common.Cools; import com.core.common.R; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.*; @RestController public class RolePdaResourceController extends BaseController { @Autowired private RolePdaResourceService rolePdaResourceService; @RequestMapping(value = "/rolePdaResource/{id}/auth") @ManagerAuth public R get(@PathVariable("id") String id) { return R.ok(rolePdaResourceService.selectById(String.valueOf(id))); } @RequestMapping(value = "/rolePdaResource/list/auth") @ManagerAuth public R list(@RequestParam(defaultValue = "1")Integer curr, @RequestParam(defaultValue = "10")Integer limit, @RequestParam(required = false)String orderByField, @RequestParam(required = false)String orderByType, @RequestParam(required = false)String condition, @RequestParam Map<String, Object> param){ EntityWrapper<RolePdaResource> wrapper = new EntityWrapper<>(); excludeTrash(param); convert(param, wrapper); allLike(RolePdaResource.class, param.keySet(), wrapper, condition); if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} return R.ok(rolePdaResourceService.selectPage(new Page<>(curr, limit), wrapper)); } private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ for (Map.Entry<String, Object> entry : map.entrySet()){ String val = String.valueOf(entry.getValue()); if (val.contains(RANGE_TIME_LINK)){ String[] dates = val.split(RANGE_TIME_LINK); wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); } else { wrapper.like(entry.getKey(), val); } } } @RequestMapping(value = "/rolePdaResource/add/auth") @ManagerAuth public R add(RolePdaResource rolePdaResource) { rolePdaResourceService.insert(rolePdaResource); return R.ok(); } @RequestMapping(value = "/rolePdaResource/update/auth") @ManagerAuth public R update(RolePdaResource rolePdaResource){ if (Cools.isEmpty(rolePdaResource) || null==rolePdaResource.getId()){ return R.error(); } rolePdaResourceService.updateById(rolePdaResource); return R.ok(); } @RequestMapping(value = "/rolePdaResource/delete/auth") @ManagerAuth public R delete(@RequestParam(value="ids[]") Long[] ids){ for (Long id : ids){ rolePdaResourceService.deleteById(id); } return R.ok(); } @RequestMapping(value = "/rolePdaResource/export/auth") @ManagerAuth public R export(@RequestBody JSONObject param){ EntityWrapper<RolePdaResource> wrapper = new EntityWrapper<>(); List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); Map<String, Object> map = excludeTrash(param.getJSONObject("rolePdaResource")); convert(map, wrapper); List<RolePdaResource> list = rolePdaResourceService.selectList(wrapper); return R.ok(exportSupport(list, fields)); } @RequestMapping(value = "/rolePdaResourceQuery/auth") @ManagerAuth public R query(String condition) { EntityWrapper<RolePdaResource> wrapper = new EntityWrapper<>(); wrapper.like("id", condition); Page<RolePdaResource> page = rolePdaResourceService.selectPage(new Page<>(0, 10), wrapper); List<Map<String, Object>> result = new ArrayList<>(); for (RolePdaResource rolePdaResource : page.getRecords()){ Map<String, Object> map = new HashMap<>(); map.put("id", rolePdaResource.getId()); map.put("value", rolePdaResource.getId()); result.add(map); } return R.ok(result); } @RequestMapping(value = "/rolePdaResource/check/column/auth") @ManagerAuth public R query(@RequestBody JSONObject param) { Wrapper<RolePdaResource> wrapper = new EntityWrapper<RolePdaResource>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); if (null != rolePdaResourceService.selectOne(wrapper)){ return R.parse(BaseRes.REPEAT).add(getComment(RolePdaResource.class, String.valueOf(param.get("key")))); } return R.ok(); } } src/main/java/com/zy/system/entity/PdaResource.java
@@ -123,5 +123,9 @@ } } public Short getLevel() { return level; } } src/main/java/com/zy/system/entity/RolePdaResource.java
New file @@ -0,0 +1,77 @@ package com.zy.system.entity; import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.enums.IdType; import com.core.common.SpringUtils; import com.zy.system.service.RoleService; import com.zy.system.entity.Role; import com.baomidou.mybatisplus.annotations.TableField; import com.core.common.SpringUtils; import com.zy.system.service.PdaResourceService; import com.zy.system.entity.PdaResource; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import com.baomidou.mybatisplus.annotations.TableName; import java.io.Serializable; @Data @TableName("sys_role_pda_resource") public class RolePdaResource implements Serializable { private static final long serialVersionUID = 1L; /** * 编号 */ @ApiModelProperty(value= "编号") @TableId(value = "id", type = IdType.AUTO) private Long id; /** * 角色 */ @ApiModelProperty(value= "角色") @TableField("role_id") private Long roleId; /** * pda权限 */ @ApiModelProperty(value= "pda权限") @TableField("resource_id") private Long resourceId; public RolePdaResource() {} public RolePdaResource(Long id,Long roleId,Long resourceId) { this.roleId = roleId; this.resourceId = resourceId; } // RolePdaResource rolePdaResource = new RolePdaResource( // null, // 编号[非空] // null, // 角色[非空] // null // pda权限[非空] // ); public String getRoleId$(){ RoleService service = SpringUtils.getBean(RoleService.class); Role role = service.selectById(this.roleId); if (!Cools.isEmpty(role)){ return String.valueOf(role.getName()); } return null; } public String getResourceId$(){ PdaResourceService service = SpringUtils.getBean(PdaResourceService.class); PdaResource pdaResource = service.selectById(this.resourceId); if (!Cools.isEmpty(pdaResource)){ return String.valueOf(pdaResource.getTitle()); } return null; } } src/main/java/com/zy/system/mapper/RolePdaResourceMapper.java
New file @@ -0,0 +1,12 @@ package com.zy.system.mapper; import com.zy.system.entity.RolePdaResource; import com.baomidou.mybatisplus.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository; @Mapper @Repository public interface RolePdaResourceMapper extends BaseMapper<RolePdaResource> { } src/main/java/com/zy/system/service/RolePdaResourceService.java
New file @@ -0,0 +1,8 @@ package com.zy.system.service; import com.zy.system.entity.RolePdaResource; import com.baomidou.mybatisplus.service.IService; public interface RolePdaResourceService extends IService<RolePdaResource> { } src/main/java/com/zy/system/service/impl/RolePdaResourceServiceImpl.java
New file @@ -0,0 +1,12 @@ package com.zy.system.service.impl; import com.zy.system.mapper.RolePdaResourceMapper; import com.zy.system.entity.RolePdaResource; import com.zy.system.service.RolePdaResourceService; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import org.springframework.stereotype.Service; @Service("rolePdaResourceService") public class RolePdaResourceServiceImpl extends ServiceImpl<RolePdaResourceMapper, RolePdaResource> implements RolePdaResourceService { } src/main/resources/mapper/RolePdaResourceMapper.xml
New file @@ -0,0 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.zy.system.mapper.RolePdaResourceMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.zy.system.entity.RolePdaResource"> <result column="id" property="id" /> <result column="role_id" property="roleId" /> <result column="resource_id" property="resourceId" /> </resultMap> </mapper> src/main/webapp/static/js/rolePdaResource/rolePdaResource.js
New file @@ -0,0 +1,247 @@ var pageCurr; layui.config({ base: baseUrl + "/static/layui/lay/modules/" }).use(['table','laydate', 'form', 'admin'], function(){ var table = layui.table; var $ = layui.jquery; var layer = layui.layer; var layDate = layui.laydate; var form = layui.form; var admin = layui.admin; // 数据渲染 tableIns = table.render({ elem: '#rolePdaResource', headers: {token: localStorage.getItem('token')}, url: baseUrl+'/rolePdaResource/list/auth', page: true, limit: 15, limits: [15, 30, 50, 100, 200, 500], toolbar: '#toolbar', cellMinWidth: 50, height: 'full-120', cols: [[ {type: 'checkbox'} ,{field: 'id', align: 'center',title: '编号'} ,{field: 'roleId$', align: 'center',title: '角色'} ,{field: 'resourceId$', align: 'center',title: 'pda权限'} ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:120} ]], request: { pageName: 'curr', pageSize: 'limit' }, parseData: function (res) { return { 'code': res.code, 'msg': res.msg, 'count': res.data.total, 'data': res.data.records } }, response: { statusCode: 200 }, done: function(res, curr, count) { if (res.code === 403) { top.location.href = baseUrl+"/"; } pageCurr=curr; limit(); } }); // 监听排序事件 table.on('sort(rolePdaResource)', function (obj) { var searchData = {}; $.each($('#search-box [name]').serializeArray(), function() { searchData[this.name] = this.value; }); searchData['orderByField'] = obj.field; searchData['orderByType'] = obj.type; tableIns.reload({ where: searchData, page: {curr: 1} }); }); // 监听头工具栏事件 table.on('toolbar(rolePdaResource)', function (obj) { var checkStatus = table.checkStatus(obj.config.id).data; switch(obj.event) { case 'addData': showEditModel(); break; case 'deleteData': if (checkStatus.length === 0) { layer.msg('请选择要删除的数据', {icon: 2}); return; } del(checkStatus.map(function (d) { return d.id; })); break; case 'exportData': admin.confirm('确定导出Excel吗', {shadeClose: true}, function(){ var titles=[]; var fields=[]; obj.config.cols[0].map(function (col) { if (col.type === 'normal' && col.hide === false && col.toolbar == null) { titles.push(col.title); fields.push(col.field); } }); var exportData = {}; $.each($('#search-box [name]').serializeArray(), function() { exportData[this.name] = this.value; }); var param = { 'rolePdaResource': exportData, 'fields': fields }; $.ajax({ url: baseUrl+"/rolePdaResource/export/auth", headers: {'token': localStorage.getItem('token')}, data: JSON.stringify(param), dataType:'json', contentType:'application/json;charset=UTF-8', method: 'POST', success: function (res) { layer.closeAll(); if (res.code === 200) { table.exportFile(titles,res.data,'xls'); } else if (res.code === 403) { top.location.href = baseUrl+"/"; } else { layer.msg(res.msg, {icon: 2}) } } }); }); break; } }); // 监听行工具事件 table.on('tool(rolePdaResource)', function(obj){ var data = obj.data; switch (obj.event) { case 'edit': showEditModel(data); break; case "del": del([data.id]); break; } }); /* 弹窗 - 新增、修改 */ function showEditModel(mData) { admin.open({ type: 1, area: '600px', title: (mData ? '修改' : '添加') + '订单状态', content: $('#editDialog').html(), success: function (layero, dIndex) { layDateRender(mData); form.val('detail', mData); form.on('submit(editSubmit)', function (data) { var loadIndex = layer.load(2); $.ajax({ url: baseUrl+"/rolePdaResource/"+(mData?'update':'add')+"/auth", headers: {'token': localStorage.getItem('token')}, data: data.field, method: 'POST', success: function (res) { layer.close(loadIndex); if (res.code === 200){ layer.close(dIndex); layer.msg(res.msg, {icon: 1}); tableReload(); } else if (res.code === 403){ top.location.href = baseUrl+"/"; }else { layer.msg(res.msg, {icon: 2}); } } }) return false; }); $(layero).children('.layui-layer-content').css('overflow', 'visible'); layui.form.render('select'); } }); } /* 删除 */ function del(ids) { layer.confirm('确定要删除选中数据吗?', { skin: 'layui-layer-admin', shade: .1 }, function (i) { layer.close(i); var loadIndex = layer.load(2); $.ajax({ url: baseUrl+"/rolePdaResource/delete/auth", headers: {'token': localStorage.getItem('token')}, data: {ids: ids}, method: 'POST', success: function (res) { layer.close(loadIndex); if (res.code === 200){ layer.msg(res.msg, {icon: 1}); tableReload(); } else if (res.code === 403){ top.location.href = baseUrl+"/"; } else { layer.msg(res.msg, {icon: 2}); } } }) }); } // 搜索 form.on('submit(search)', function (data) { pageCurr = 1; tableReload(false); }); // 重置 form.on('submit(reset)', function (data) { pageCurr = 1; clearFormVal($('#search-box')); tableReload(false); }); // 时间选择器 function layDateRender(data) { setTimeout(function () { layDate.render({ elem: '.layui-laydate-range' ,type: 'datetime' ,range: true }); }, 300); } layDateRender(); }); // 关闭动作 $(document).on('click','#data-detail-close', function () { parent.layer.closeAll(); }); function tableReload(child) { var searchData = {}; $.each($('#search-box [name]').serializeArray(), function() { searchData[this.name] = this.value; }); tableIns.reload({ where: searchData, page: {curr: pageCurr} }); } src/main/webapp/views/rolePdaResource/rolePdaResource.html
New file @@ -0,0 +1,116 @@ <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <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, maximum-scale=1"> <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all"> <link rel="stylesheet" href="../../static/css/cool.css" media="all"> </head> <body> <div class="layui-fluid"> <div class="layui-card"> <div class="layui-card-body"> <div class="layui-form toolbar" id="search-box"> <div class="layui-form-item"> <div class="layui-inline"> <div class="layui-input-inline"> <input class="layui-input" type="text" name="id" placeholder="编号" autocomplete="off"> </div> </div> <div class="layui-inline" style="width: 300px"> <div class="layui-input-inline"> <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="起始时间 - 终止时间" autocomplete="off" style="width: 300px"> </div> </div> <div class="layui-inline"> <div class="layui-input-inline"> <input class="layui-input" type="text" name="condition" placeholder="请输入" autocomplete="off"> </div> </div> <div class="layui-inline">  <button class="layui-btn icon-btn" lay-filter="search" lay-submit> <i class="layui-icon"></i>搜索 </button> <button class="layui-btn icon-btn" lay-filter="reset" lay-submit> <i class="layui-icon"></i>重置 </button> </div> </div> </div> <table class="layui-hide" id="rolePdaResource" lay-filter="rolePdaResource"></table> </div> </div> </div> <script type="text/html" id="toolbar"> <div class="layui-btn-container"> <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">新增</button> <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">删除</button> <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">导出</button> </div> </script> <script type="text/html" id="operate"> <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">修改</a> <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">删除</a> </script> <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/js/rolePdaResource/rolePdaResource.js" charset="utf-8"></script> </body> <!-- 表单弹窗 --> <script type="text/html" id="editDialog"> <form id="detail" lay-filter="detail" class="layui-form admin-form model-form"> <input name="id" type="hidden"> <div class="layui-row"> <div class="layui-col-md12"> <div class="layui-form-item"> <label class="layui-form-label layui-form-required">编号: </label> <div class="layui-input-block"> <input class="layui-input" name="id" placeholder="请输入编号" lay-vertype="tips" lay-verify="required"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label layui-form-required">角色: </label> <div class="layui-input-block cool-auto-complete"> <input class="layui-input" name="roleId" placeholder="请输入角色" lay-vertype="tips" lay-verify="required" style="display: none"> <input id="roleId$" name="roleId$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请输入角色" onfocus=this.blur()> <div class="cool-auto-complete-window"> <input class="cool-auto-complete-window-input" data-key="roleQueryByroleId" onkeyup="autoLoad(this.getAttribute('data-key'))"> <select class="cool-auto-complete-window-select" data-key="roleQueryByroleIdSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> </select> </div> </div> </div> <div class="layui-form-item"> <label class="layui-form-label layui-form-required">pda权限: </label> <div class="layui-input-block cool-auto-complete"> <input class="layui-input" name="resourceId" placeholder="请输入pda权限" lay-vertype="tips" lay-verify="required" style="display: none"> <input id="resourceId$" name="resourceId$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请输入pda权限" onfocus=this.blur()> <div class="cool-auto-complete-window"> <input class="cool-auto-complete-window-input" data-key="pdaResourceQueryByresourceId" onkeyup="autoLoad(this.getAttribute('data-key'))"> <select class="cool-auto-complete-window-select" data-key="pdaResourceQueryByresourceIdSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> </select> </div> </div> </div> </div> </div> <hr class="layui-bg-gray"> <div class="layui-form-item text-right"> <button class="layui-btn" lay-filter="editSubmit" lay-submit="">保存</button> <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button> </div> </form> </script> </html>