Merge remote-tracking branch 'origin/fix-bug-202303' into safety-202304

This commit is contained in:
梁琦涛
2023-04-11 14:13:50 +08:00
41 changed files with 157 additions and 160 deletions
@@ -47,7 +47,7 @@ public class DruidConfig {
DruidStatProperties.StatViewServlet config = properties.getStatViewServlet();
// 提取common.js的配置路径
String pattern = config.getUrlPattern() != null ? config.getUrlPattern() : "/druid/*";
String commonJsPattern = pattern.replace("\\*", "js/common.js");
String commonJsPattern = pattern.replace("*", "js/common.js");
// 获取common.js
String text = Utils.readFromResource(FILE_PATH);
// 屏蔽 this.buildFooter(); 不构建广告
@@ -35,7 +35,6 @@ public class MockController {
* @param filename
* @return
*/
// @RequestMapping(value = "/json/{filename}", method = RequestMethod.GET)
@GetMapping("/json/{filename}")
public String getJsonData(@PathVariable String filename) {
String jsonpath = "classpath:com/jero/modules/demo/mock/json/"+filename+".json";
@@ -198,7 +198,7 @@ public class JoaDemoController {
* @param response
* @return
*/
// @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
@PostMapping("/importExcel")
public Results<T> importExcel(HttpServletRequest request, HttpServletResponse response) {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
@@ -79,7 +79,6 @@ public class QuartzJobController {
* @return
*/
//@RequiresRoles("admin")
// @RequestMapping(value = "/add", method = RequestMethod.POST)
@PostMapping("/add")
public Results<T> add(@RequestBody QuartzJob quartzJob) {
quartzJobService.saveAndScheduleJob(quartzJob);
@@ -93,7 +92,6 @@ public class QuartzJobController {
* @return
*/
//@RequiresRoles("admin")
// @RequestMapping(value = "/edit", method = RequestMethod.PUT)
@PostMapping("/edit")
public Results<T> eidt(@RequestBody QuartzJob quartzJob) {
try {
@@ -134,7 +132,6 @@ public class QuartzJobController {
* @return
*/
//@RequiresRoles("admin")
// @RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE)
@PostMapping("/deleteBatch")
public Results<T> deleteBatch(@RequestBody Map<String,String> map) {
String ids = map.get("ids");
@@ -190,7 +187,6 @@ public class QuartzJobController {
* @param id
* @return
*/
// @RequestMapping(value = "/queryById", method = RequestMethod.GET)
@GetMapping("/queryById")
public Results<QuartzJob> queryById(@RequestParam(name = "id", required = true) String id) {
QuartzJob quartzJob = quartzJobService.getById(id);
@@ -225,7 +221,6 @@ public class QuartzJobController {
* @param response
* @return
*/
// @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
@PostMapping("/importExcel")
public Results<JSONObject> importExcel(HttpServletRequest request, HttpServletResponse response) throws IOException {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
@@ -37,7 +37,6 @@ public class DuplicateCheckController {
*
* @return
*/
// @RequestMapping(value = "/check", method = RequestMethod.GET)
@GetMapping("/check")
@ApiOperation("重复校验接口")
public Results<Object> doDuplicateCheck(DuplicateCheckVo duplicateCheckVo, HttpServletRequest request) {
@@ -30,7 +30,6 @@ public class LoginController {
private ILoginService loginService;
@ApiOperation("登录接口")
// @RequestMapping(value = "/login", method = RequestMethod.POST)
@PostMapping("/login")
public Results<JSONObject> login(@RequestBody SysLoginModel sysLoginModel){
return loginService.login(sysLoginModel);
@@ -70,7 +69,6 @@ public class LoginController {
* @param user
* @return
*/
// @RequestMapping(value = "/selectDepart", method = RequestMethod.PUT)
@PostMapping("/selectDepart")
public Results<JSONObject> selectDepart(@RequestBody SysUser user) {
return loginService.selectDepart(user);
@@ -126,7 +124,6 @@ public class LoginController {
* @return
* @throws Exception
*/
// @RequestMapping(value = "/mLogin", method = RequestMethod.POST)
@PostMapping("/mLogin")
public Results<JSONObject> mLogin(@RequestBody SysLoginModel sysLoginModel) {
return loginService.mLogin(sysLoginModel);
@@ -137,7 +134,6 @@ public class LoginController {
* @param sysLoginModel
* @return
*/
// @RequestMapping(value = "/checkCaptcha", method = RequestMethod.POST)
@PostMapping("/checkCaptcha")
public Results<T> checkCaptcha(@RequestBody SysLoginModel sysLoginModel){
return loginService.checkCaptcha(sysLoginModel);
@@ -83,7 +83,6 @@ public class SysAnnouncementController {
* @param req
* @return
*/
// @RequestMapping(value = "/page", method = RequestMethod.GET)
@GetMapping("/page")
public Results<IPage<SysAnnouncement>> queryPageList(SysAnnouncement sysAnnouncement,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@@ -114,7 +113,6 @@ public class SysAnnouncementController {
* @param sysAnnouncement
* @return
*/
// @RequestMapping(value = "/add", method = RequestMethod.POST)
@PostMapping("/add")
public Results<Object> add(@RequestBody SysAnnouncement sysAnnouncement) {
try {
@@ -137,7 +135,6 @@ public class SysAnnouncementController {
* @param sysAnnouncement
* @return
*/
// @RequestMapping(value = "/edit", method = RequestMethod.PUT)
@PostMapping("/edit")
public Results<Object> eidt(@RequestBody SysAnnouncement sysAnnouncement) {
SysAnnouncement sysAnnouncementEntity = sysAnnouncementService.getById(sysAnnouncement.getId());
@@ -162,7 +159,6 @@ public class SysAnnouncementController {
* @param map
* @return
*/
// @RequestMapping(value = "/delete", method = RequestMethod.DELETE)
@PostMapping("/delete")
public Results<Object> delete(@RequestBody Map<String, String> map) {
String id = map.get("id");
@@ -188,7 +184,6 @@ public class SysAnnouncementController {
* @param map
* @return
*/
// @RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE)
@PostMapping("/deleteBatch")
public Results<T> deleteBatch(@RequestBody Map<String, String> map) {
String ids = map.get("ids");
@@ -210,7 +205,6 @@ public class SysAnnouncementController {
* @param id
* @return
*/
// @RequestMapping(value = "/queryById", method = RequestMethod.GET)
@GetMapping("/queryById")
public Results<SysAnnouncement> queryById(@RequestParam(name="id",required=true) String id) {
SysAnnouncement sysAnnouncement = sysAnnouncementService.getById(id);
@@ -226,7 +220,6 @@ public class SysAnnouncementController {
* @param id
* @return
*/
// @RequestMapping(value = "/doReleaseData", method = RequestMethod.GET)
@GetMapping("/doReleaseData")
public Results<SysAnnouncement> doReleaseData(@RequestParam(name="id",required=true) String id, HttpServletRequest request) {
SysAnnouncement sysAnnouncement = sysAnnouncementService.getById(id);
@@ -267,7 +260,6 @@ public class SysAnnouncementController {
* @param id
* @return
*/
// @RequestMapping(value = "/doReovkeData", method = RequestMethod.GET)
@GetMapping("/doReovkeData")
public Results<Object> doReovkeData(@RequestParam(name="id",required=true) String id, HttpServletRequest request) {
SysAnnouncement sysAnnouncement = sysAnnouncementService.getById(id);
@@ -289,7 +281,6 @@ public class SysAnnouncementController {
* @功能:补充用户数据,并返回系统消息
* @return
*/
// @RequestMapping(value = "/listByUser", method = RequestMethod.GET)
@GetMapping("/listByUser")
public Results<Map<String,Object>> listByUser() {
Results<Map<String,Object>> result = new Results<>();
@@ -406,7 +397,6 @@ public class SysAnnouncementController {
* @param anntId
* @return
*/
// @RequestMapping(value = "/syncNotic", method = RequestMethod.GET)
@GetMapping("/syncNotic")
public Results<SysAnnouncement> syncNotic(@RequestParam(name="anntId",required=false) String anntId, HttpServletRequest request) {
Results<SysAnnouncement> result = new Results<>();
@@ -217,7 +217,7 @@ public class SysCategoryController {
* @return
*/
@RequiresPermissions("sys:category:import")
// @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
@PostMapping("/importExcel")
public Results<T> importExcel(HttpServletRequest request, HttpServletResponse response) {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
@@ -84,7 +84,7 @@ public class SysCheckRuleController extends JeroController<SysCheckRule, ISysChe
return Results.error("该编码不存在");
}
JSONObject errorResult = sysCheckRuleService.checkValue(sysCheckRule, URLDecoder.decode(value, "UTF-8"));
if (errorResult == null) {
if (errorResult.isEmpty()) {
return Results.OK();
} else {
Results<Object> r = Results.error(errorResult.getString("message"));
@@ -25,7 +25,7 @@ public class SysDataLogController {
@Autowired
private ISysDataLogService service;
// @RequestMapping(value = "/page", method = RequestMethod.GET)
@GetMapping("/page")
public Results<IPage<SysDataLog>> queryPageList(SysDataLog dataLog, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) {
@@ -47,7 +47,7 @@ public class SysDataLogController {
* @param req
* @return
*/
// @RequestMapping(value = "/queryCompareList", method = RequestMethod.GET)
@GetMapping("/queryCompareList")
public Results<List<SysDataLog>> queryCompareList(HttpServletRequest req) {
Results<List<SysDataLog>> result = new Results<>();
@@ -71,7 +71,7 @@ public class SysDataLogController {
* @param req
* @return
*/
// @RequestMapping(value = "/queryDataVerList", method = RequestMethod.GET)
@GetMapping("/queryDataVerList")
public Results<List<SysDataLog>> queryDataVerList(HttpServletRequest req) {
Results<List<SysDataLog>> result = new Results<>();
@@ -67,7 +67,7 @@ public class SysDepartController {
*
* @return
*/
// @RequestMapping(value = "/queryMyDeptTreeList", method = RequestMethod.GET)
@GetMapping("/queryMyDeptTreeList")
public Results<List<SysDepartTreeModel>> queryMyDeptTreeList() {
Results<List<SysDepartTreeModel>> result = new Results<>();
@@ -98,7 +98,7 @@ public class SysDepartController {
*
* @return
*/
// @RequestMapping(value = "/queryTreeList", method = RequestMethod.GET)
@GetMapping("/queryTreeList")
public Results<List<SysDepartTreeModel>> queryTreeList() {
Results<List<SysDepartTreeModel>> result = new Results<>();
@@ -117,7 +117,7 @@ public class SysDepartController {
*
* @return
*/
// @RequestMapping(value = "/queryDepartTreeSync", method = RequestMethod.GET)
@GetMapping("/queryDepartTreeSync")
public Results<List<SysDepartTreeModel>> queryDepartTreeSync(@RequestParam(name = "pid", required = false) String parentId) {
Results<List<SysDepartTreeModel>> result = new Results<>();
@@ -166,7 +166,6 @@ public class SysDepartController {
*/
//@RequiresRoles({"admin"})
@RequiresPermissions("sys:depart:add")
// @RequestMapping(value = "/add", method = RequestMethod.POST)
@PostMapping("/add")
@CacheEvict(value= {CacheConstant.SYS_DEPARTS_CACHE,CacheConstant.SYS_DEPART_IDS_CACHE}, allEntries=true)
public Results<Object> add(@RequestBody SysDepart sysDepart, HttpServletRequest request) {
@@ -189,7 +188,6 @@ public class SysDepartController {
*/
//@RequiresRoles({"admin"})
@RequiresPermissions("sys:depart:edit")
// @RequestMapping(value = "/edit", method = RequestMethod.PUT)
@PostMapping("/edit")
@CacheEvict(value= {CacheConstant.SYS_DEPARTS_CACHE,CacheConstant.SYS_DEPART_IDS_CACHE}, allEntries=true)
public Results<Object> edit(@RequestBody SysDepart sysDepart, HttpServletRequest request) {
@@ -214,7 +212,6 @@ public class SysDepartController {
*/
//@RequiresRoles({"admin"})
@RequiresPermissions("sys:depart:del")
// @RequestMapping(value = "/delete", method = RequestMethod.DELETE)
@PostMapping("/delete")
@CacheEvict(value= {CacheConstant.SYS_DEPARTS_CACHE,CacheConstant.SYS_DEPART_IDS_CACHE}, allEntries=true)
public Results<Object> delete(@RequestBody Map<String,String> map) {
@@ -260,7 +257,6 @@ public class SysDepartController {
*
* @return
*/
// @RequestMapping(value = "/queryIdTree", method = RequestMethod.GET)
@GetMapping("/queryIdTree")
public Results<List<DepartIdModel>> queryIdTree() {
try {
@@ -280,7 +276,6 @@ public class SysDepartController {
* @param keyWord
* @return
*/
// @RequestMapping(value = "/searchBy", method = RequestMethod.GET)
@GetMapping("/searchBy")
public Results<List<SysDepartTreeModel>> searchBy(@RequestParam(name = "keyWord", required = true) String keyWord, @RequestParam(name = "myDeptSearch", required = false) String myDeptSearch) {
//部门查询,myDeptSearch为1时为我的部门查询,登录用户为上级时查只查负责部门下数据
@@ -427,7 +422,6 @@ public class SysDepartController {
*
* @return
*/
// @RequestMapping(value = "/queryTreeByKeyWord", method = RequestMethod.GET)
@GetMapping("/queryTreeByKeyWord")
public Results<Map<String,Object>> queryTreeByKeyWord(@RequestParam(name = "keyWord", required = false) String keyWord) {
Results<Map<String,Object>> result = new Results<>();
@@ -162,7 +162,6 @@ public class SysDepartPermissionController extends JeroController<SysDepartPermi
* @param response
* @return
*/
// @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
@PostMapping("/importExcel")
public Results<SysDepartPermission> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, SysDepartPermission.class);
@@ -75,7 +75,6 @@ public class SysDictController {
private static final String OPTION_SUCCESS = "操作成功!";
private static final String DEL_SUCCESS = "删除成功!";
// @RequestMapping(value = "/page", method = RequestMethod.GET)
@GetMapping("/page")
@ApiOperation(value = "字典控制器-分页列表查询", notes = "字典控制器-分页列表查询")
public Results<IPage<SysDict>> queryPageList(SysDict sysDict, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@@ -102,7 +101,6 @@ public class SysDictController {
* @return
*/
@ApiOperation(value = "字典控制器-树形字典数据", notes = "字典控制器-树形字典数据")
// @RequestMapping(value = "/treeList", method = RequestMethod.GET)
@GetMapping("/treeList")
public Results<List<SysDictTree>> treeList(SysDict sysDict, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) {
@@ -130,7 +128,6 @@ public class SysDictController {
* @return
*/
@ApiOperation(value = "字典控制器-获取全部字典数据", notes = "字典控制器-获取全部字典数据")
// @RequestMapping(value = "/queryAllDictItems", method = RequestMethod.GET)
@GetMapping("/queryAllDictItems")
public Results<Map<String, List<DictModel>>> queryAllDictItems(HttpServletRequest request) {
Map<String, List<DictModel>> res ;
@@ -144,7 +141,6 @@ public class SysDictController {
* @return
*/
@ApiOperation(value = "字典控制器-通过字典code和字典值key获取字典数据", notes = "字典控制器-通过字典code和字典值key获取字典数据")
// @RequestMapping(value = "/getDictText/{dictCode}/{key}", method = RequestMethod.GET)
@GetMapping("/getDictText/{dictCode}/{key}")
public Results<String> getDictText(@PathVariable("dictCode") String dictCode, @PathVariable("key") String key) {
log.info(" dictCode : "+ dictCode);
@@ -167,7 +163,6 @@ public class SysDictController {
* @param dictCode 表名,文本字段,code字段 | 举例:sys_user,realname,id
* @return
*/
// @RequestMapping(value = "/getDictItems/{dictCode}", method = RequestMethod.GET)
@GetMapping("/getDictItems/{dictCode}")
public Results<List<DictModel>> getDictItems(@PathVariable String dictCode, @RequestParam(value = "sign",required = false) String sign, HttpServletRequest request) {
log.info(" dictCode : "+ dictCode);
@@ -194,7 +189,6 @@ public class SysDictController {
* @param dictCode 字典code格式:table,text,code
* @return
*/
// @RequestMapping(value = "/loadDict/{dictCode}", method = RequestMethod.GET)
@GetMapping("/loadDict/{dictCode}")
public Results<List<DictModel>> loadDict(@PathVariable String dictCode,
@RequestParam(name="keyword") String keyword,
@@ -225,7 +219,6 @@ public class SysDictController {
* @param pageSize
* @return
*/
// @RequestMapping(value = "/loadDictOrderByValue/{dictCode}", method = RequestMethod.GET)
@GetMapping("/loadDictOrderByValue/{dictCode}")
public Results<List<DictModel>> loadDictOrderByValue(
@PathVariable String dictCode,
@@ -268,7 +261,6 @@ public class SysDictController {
* @param request
* @return
*/
// @RequestMapping(value = "/loadDictItem/{dictCode}", method = RequestMethod.GET)
@GetMapping("/loadDictItem/{dictCode}")
public Results<List<String>> loadDictItem(@PathVariable String dictCode, @RequestParam(name="key") String keys, @RequestParam(value = "sign",required = false) String sign, @RequestParam(value = "delNotExist",required = false,defaultValue = "true") boolean delNotExist, HttpServletRequest request) {
Results<List<String>> result = new Results<>();
@@ -299,7 +291,6 @@ public class SysDictController {
* 根据表名——显示字段-存储字段 pid 加载树形数据
*/
@ApiOperation(value = "字典控制器-根据表名—显示字段-存储字段 pid 加载树形数据", notes = "字典控制器-根据表名—显示字段-存储字段 pid 加载树形数据")
// @RequestMapping(value = "/loadTreeData", method = RequestMethod.GET)
@GetMapping("/loadTreeData")
public Results<List<TreeSelectModel>> loadTreeData(@RequestParam(name="pid") String pid, @RequestParam(name="pidField") String pidField,
@RequestParam(name="tableName") String tbname,
@@ -322,7 +313,6 @@ public class SysDictController {
* 查询后返回树型数据
*/
@ApiOperation(value = "字典控制器-根据表名—显示字段-存储字段 加载树形数据", notes = "字典控制器-根据表名—显示字段-存储字段 加载树形数据")
// @RequestMapping(value = "/queryAllTreeData", method = RequestMethod.GET)
@GetMapping("/queryAllTreeData")
public Results<List<TreeSelectModel>> queryAllTreeData(@RequestParam(name="pidField") String pidField,
@RequestParam(name="tableName") String tbname,
@@ -346,7 +336,6 @@ public class SysDictController {
* @return
*/
@ApiOperation(value = "字典控制器-新增字典", notes = "字典控制器-新增字典")
// @RequestMapping(value = "/add", method = RequestMethod.POST)
@PostMapping("/add")
public Results<Object> add(@RequestBody SysDict sysDict) {
try {
@@ -368,7 +357,6 @@ public class SysDictController {
* @return
*/
@ApiOperation(value = "字典控制器-编辑字典", notes = "字典控制器-编辑字典")
// @RequestMapping(value = "/edit", method = RequestMethod.PUT)
@PostMapping("/edit")
public Results<Object> edit(@RequestBody SysDict sysDict) {
SysDict sysdict = sysDictService.getById(sysDict.getId());
@@ -52,7 +52,6 @@ public class SysDictItemController {
* @return
*/
@RequiresPermissions("sys:dict:list")
// @RequestMapping(value = "/page", method = RequestMethod.GET)
@GetMapping("/page")
public Results<IPage<SysDictItem>> queryPageList(SysDictItem sysDictItem, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) {
@@ -72,7 +71,6 @@ public class SysDictItemController {
*/
//@RequiresRoles({"admin"})
@RequiresPermissions("sys:dict:list")
// @RequestMapping(value = "/add", method = RequestMethod.POST)
@PostMapping("/add")
@CacheEvict(value= {CacheConstant.SYS_DICT_CACHE, CacheConstant.SYS_ENABLE_DICT_CACHE}, allEntries=true)
public Results<Object> add(@RequestBody SysDictItem sysDictItem) {
@@ -93,7 +91,6 @@ public class SysDictItemController {
*/
//@RequiresRoles({"admin"})
@RequiresPermissions("sys:dict:list")
// @RequestMapping(value = "/edit", method = RequestMethod.PUT)
@PostMapping("/edit")
@CacheEvict(value={CacheConstant.SYS_DICT_CACHE, CacheConstant.SYS_ENABLE_DICT_CACHE}, allEntries=true)
public Results<Object> edit(@RequestBody SysDictItem sysDictItem) {
@@ -117,7 +114,6 @@ public class SysDictItemController {
*/
//@RequiresRoles({"admin"})
@RequiresPermissions("sys:dict:list")
// @RequestMapping(value = "/delete", method = RequestMethod.DELETE)
@PostMapping("/delete")
@CacheEvict(value={CacheConstant.SYS_DICT_CACHE, CacheConstant.SYS_ENABLE_DICT_CACHE}, allEntries=true)
public Results<T> delete(@RequestBody Map<String, String> map) {
@@ -144,7 +140,6 @@ public class SysDictItemController {
*/
//@RequiresRoles({"admin"})
@RequiresPermissions("sys:dict:list")
// @RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE)
@PostMapping("/deleteBatch")
@CacheEvict(value={CacheConstant.SYS_DICT_CACHE, CacheConstant.SYS_ENABLE_DICT_CACHE}, allEntries=true)
public Results<Object> deleteBatch(@RequestBody Map<String, String> map) {
@@ -164,7 +159,6 @@ public class SysDictItemController {
* @return
*/
@RequiresPermissions("sys:dict:list")
// @RequestMapping(value = "/dictItemCheck", method = RequestMethod.GET)
@GetMapping("/dictItemCheck")
@ApiOperation("字典重复校验接口")
public Results<Object> doDictItemCheck(SysDictItem sysDictItem, HttpServletRequest request) {
@@ -43,7 +43,6 @@ public class SysLogController {
* @param req
* @return
*/
// @RequestMapping(value = "/page", method = RequestMethod.GET)
@GetMapping("/page")
public Results<IPage<SysLog>> queryPageList(SysLog syslog, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) {
@@ -71,7 +70,6 @@ public class SysLogController {
* @param map
* @return
*/
// @RequestMapping(value = "/delete", method = RequestMethod.DELETE)
@PostMapping("/delete")
public Results<T> delete(@RequestBody Map<String, String> map) {
String id = map.get("id");
@@ -95,7 +93,6 @@ public class SysLogController {
* @param map
* @return
*/
// @RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE)
@PostMapping("/deleteBatch")
public Results<T> deleteBatch(@RequestBody Map<String, String> map) {
String ids = map.get("ids");
@@ -67,7 +67,6 @@ public class SysPermissionController {
*
* @return
*/
// @RequestMapping(value = "/page", method = RequestMethod.GET)
@GetMapping("/page")
public Results<List<SysPermissionTree>> list() {
long start = System.currentTimeMillis();
@@ -94,7 +93,6 @@ public class SysPermissionController {
*
* @return
*/
// @RequestMapping(value = "/getSystemMenuList", method = RequestMethod.GET)
@GetMapping("/getSystemMenuList")
public Results<List<SysPermissionTree>> getSystemMenuList() {
long start = System.currentTimeMillis();
@@ -124,7 +122,6 @@ public class SysPermissionController {
* @param parentId
* @return
*/
// @RequestMapping(value = "/getSystemSubmenu", method = RequestMethod.GET)
@GetMapping("/getSystemSubmenu")
public Results<List<SysPermissionTree>> getSystemSubmenu(@RequestParam("parentId") String parentId){
Results<List<SysPermissionTree>> result = new Results<>();
@@ -188,7 +185,6 @@ public class SysPermissionController {
*
* @return
*/
// @RequestMapping(value = "/getUserPermissionByToken", method = RequestMethod.GET)
@GetMapping("/getUserPermissionByToken")
public Results<JSONObject> getUserPermissionByToken() {
Results<JSONObject> result = new Results<>();
@@ -233,7 +229,6 @@ public class SysPermissionController {
* @return
*/
//@RequiresRoles({ "admin" })
// @RequestMapping(value = "/add", method = RequestMethod.POST)
@PostMapping("/add")
public Results<Object> add(@RequestBody SysPermission permission) {
try {
@@ -252,7 +247,6 @@ public class SysPermissionController {
* @return
*/
//@RequiresRoles({ "admin" })
// @RequestMapping(value = "/edit", method = { RequestMethod.PUT, RequestMethod.POST })
@PostMapping("/edit")
public Results<Object> edit(@RequestBody SysPermission permission) {
try {
@@ -271,7 +265,6 @@ public class SysPermissionController {
* @return
*/
//@RequiresRoles({ "admin" })
// @RequestMapping(value = "/delete", method = RequestMethod.DELETE)
@PostMapping("/delete")
public Results<T> delete(@RequestBody Map<String, String> map) {
String id = map.get("id");
@@ -293,7 +286,6 @@ public class SysPermissionController {
* @return
*/
//@RequiresRoles({ "admin" })
// @RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE)
@PostMapping("/deleteBatch")
public Results<T> deleteBatch(@RequestBody Map<String, String> map) {
String ids = map.get("ids");
@@ -319,7 +311,6 @@ public class SysPermissionController {
*
* @return
*/
// @RequestMapping(value = "/queryTreeList", method = RequestMethod.GET)
@GetMapping("/queryTreeList")
public Results<Map<String, Object>> queryTreeList() {
Results<Map<String, Object>> result = new Results<>();
@@ -352,7 +343,6 @@ public class SysPermissionController {
*
* @return
*/
// @RequestMapping(value = "/queryListAsync", method = RequestMethod.GET)
@GetMapping("/queryListAsync")
public Results<List<TreeModel>> queryAsync(@RequestParam(name = "pid", required = false) String parentId) {
Results<List<TreeModel>> result = new Results<>();
@@ -376,7 +366,6 @@ public class SysPermissionController {
*
* @return
*/
// @RequestMapping(value = "/queryRolePermission", method = RequestMethod.GET)
@GetMapping("/queryRolePermission")
public Results<List<String>> queryRolePermission(@RequestParam(name = "roleId", required = true) String roleId) {
Results<List<String>> result = new Results<>();
@@ -395,7 +384,6 @@ public class SysPermissionController {
*
* @return
*/
// @RequestMapping(value = "/saveRolePermission", method = RequestMethod.POST)
@PostMapping("/saveRolePermission")
//@RequiresRoles({ "admin" })
public Results<String> saveRolePermission(@RequestBody JSONObject json) {
@@ -666,7 +654,6 @@ public class SysPermissionController {
* @param sysPermissionDataRule
* @return
*/
// @RequestMapping(value = "/getPermRuleListByPermId", method = RequestMethod.GET)
@GetMapping("/getPermRuleListByPermId")
public Results<List<SysPermissionDataRule>> getPermRuleListByPermId(SysPermissionDataRule sysPermissionDataRule) {
List<SysPermissionDataRule> permRuleList = sysPermissionDataRuleService.getPermRuleListByPermId(sysPermissionDataRule.getPermissionId());
@@ -683,7 +670,6 @@ public class SysPermissionController {
* @return
*/
//@RequiresRoles({ "admin" })
// @RequestMapping(value = "/addPermissionRule", method = RequestMethod.POST)
@PostMapping("/addPermissionRule")
public Results<Object> addPermissionRule(@RequestBody SysPermissionDataRule sysPermissionDataRule) {
try {
@@ -697,7 +683,6 @@ public class SysPermissionController {
}
//@RequiresRoles({ "admin" })
// @RequestMapping(value = "/editPermissionRule", method = { RequestMethod.PUT, RequestMethod.POST })
@PostMapping("/editPermissionRule")
public Results<Object> editPermissionRule(@RequestBody SysPermissionDataRule sysPermissionDataRule) {
try {
@@ -716,7 +701,6 @@ public class SysPermissionController {
* @return
*/
//@RequiresRoles({ "admin" })
// @RequestMapping(value = "/deletePermissionRule", method = RequestMethod.DELETE)
@PostMapping("/deletePermissionRule")
public Results<Object> deletePermissionRule(@RequestBody Map<String,String> map) {
try {
@@ -738,7 +722,6 @@ public class SysPermissionController {
* @param sysPermissionDataRule
* @return
*/
// @RequestMapping(value = "/queryPermissionRule", method = RequestMethod.GET)
@GetMapping("/queryPermissionRule")
public Results<List<SysPermissionDataRule>> queryPermissionRule(SysPermissionDataRule sysPermissionDataRule) {
try {
@@ -755,7 +738,6 @@ public class SysPermissionController {
* @param departId
* @return
*/
// @RequestMapping(value = "/queryDepartPermission", method = RequestMethod.GET)
@GetMapping("/queryDepartPermission")
public Results<List<String>> queryDepartPermission(@RequestParam(name = "departId", required = true) String departId) {
Results<List<String>> result = new Results<>();
@@ -774,7 +756,6 @@ public class SysPermissionController {
*
* @return
*/
// @RequestMapping(value = "/saveDepartPermission", method = RequestMethod.POST)
@PostMapping("/saveDepartPermission")
//@RequiresRoles({ "admin" })
public Results<String> saveDepartPermission(@RequestBody JSONObject json) {
@@ -82,7 +82,6 @@ public class SysRoleController {
* @return
*/
//@RequiresPermissions("sys:role:list")
// @RequestMapping(value = "/page", method = RequestMethod.GET)
@GetMapping("/page")
public Results<IPage<SysRole>> queryPageList(SysRole role,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@@ -103,7 +102,6 @@ public class SysRoleController {
* @return
*/
@RequiresPermissions("sys:role:add")
// @RequestMapping(value = "/add", method = RequestMethod.POST)
@PostMapping("/add")
//@RequiresRoles({"admin"})
public Results<Object> add(@RequestBody SysRole role) {
@@ -124,7 +122,6 @@ public class SysRoleController {
*/
//@RequiresRoles({"admin"})
@RequiresPermissions("sys:role:edit")
// @RequestMapping(value = "/edit", method = RequestMethod.PUT)
@PostMapping("/edit")
public Results<Object> edit(@RequestBody SysRole role) {
SysRole sysrole = sysRoleService.getById(role.getId());
@@ -148,7 +145,6 @@ public class SysRoleController {
*/
//@RequiresRoles({"admin"})
@RequiresPermissions("sys:role:del")
// @RequestMapping(value = "/delete", method = RequestMethod.DELETE)
@PostMapping("/delete")
public Results<T> delete(@RequestBody Map<String, String> map) {
String id = map.get("id");
@@ -166,7 +162,6 @@ public class SysRoleController {
*/
//@RequiresRoles({"admin"})
@RequiresPermissions("sys:role:del")
// @RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE)
@PostMapping("/deleteBatch")
public Results<T> deleteBatch(@RequestBody Map<String, String> map) {
String ids = map.get("ids");
@@ -187,7 +182,6 @@ public class SysRoleController {
* @return
*/
//@RequiresPermissions("sys:role:list")
// @RequestMapping(value = "/queryById", method = RequestMethod.GET)
@GetMapping("/queryById")
public Results<SysRole> queryById(@RequestParam(name="id",required=true) String id) {
SysRole sysRole = sysRoleService.getById(id);
@@ -198,7 +192,6 @@ public class SysRoleController {
}
}
//@RequiresPermissions("sys:role:list")
// @RequestMapping(value = "/queryall", method = RequestMethod.GET)
@GetMapping("/queryall")
public Results<List<SysRole>> queryall() {
List<SysRole> list = sysRoleService.list();
@@ -213,7 +206,6 @@ public class SysRoleController {
* 校验角色编码唯一
*/
//@RequiresPermissions("sys:role:list")
// @RequestMapping(value = "/checkRoleCode", method = RequestMethod.GET)
@GetMapping("/checkRoleCode")
public Results<Boolean> checkUsername(String id, String roleCode) {
Results<Boolean> result = new Results<>();
@@ -271,7 +263,6 @@ public class SysRoleController {
* @return
*/
@RequiresPermissions("sys:role:import")
// @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
@PostMapping("/importExcel")
public Results<T> importExcel(HttpServletRequest request, HttpServletResponse response) {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
@@ -361,7 +352,6 @@ public class SysRoleController {
* @return
*/
//@RequiresPermissions("sys:role:list")
// @RequestMapping(value = "/queryTreeList", method = RequestMethod.GET)
@GetMapping("/queryTreeList")
public Results<Map<String,Object>> queryTreeList(HttpServletRequest request) {
Results<Map<String,Object>> result = new Results<>();
@@ -42,7 +42,6 @@ public class SysTenantController {
* @return
*/
@PermissionData(pageComponent = "system/TenantList")
// @RequestMapping(value = "/page", method = RequestMethod.GET)
@GetMapping("/page")
public Results<IPage<SysTenant>> queryPageList(SysTenant sysTenant, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) {
@@ -206,7 +206,7 @@ public class SysUserAgentController {
* @param response
* @return
*/
// @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
@PostMapping("/importExcel")
public Results<T> importExcel(HttpServletRequest request, HttpServletResponse response) {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
@@ -117,7 +117,6 @@ public class SysUserController {
*/
@RequiresPermissions("sys:user:list")
@PermissionData(pageComponent = "system/UserList")
// @RequestMapping(value = "/page", method = RequestMethod.GET)
@GetMapping("/page")
public Results<IPage<SysUser>> queryPageList(SysUser user,
@RequestParam(name="departId", required = false) String departId,
@@ -159,7 +158,6 @@ public class SysUserController {
}
@RequiresPermissions("user:add")
// @RequestMapping(value = "/add", method = RequestMethod.POST)
@PostMapping("/add")
public Results<Object> add(@RequestBody JSONObject jsonObject) {
try {
@@ -207,7 +205,6 @@ public class SysUserController {
}
@RequiresPermissions("user:edit")
// @RequestMapping(value = "/edit", method = RequestMethod.PUT)
@PostMapping("/edit")
public Results<SysUser> edit(@RequestBody JSONObject jsonObject) {
String rsaPublicKey = jsonObject.getString(RSA_PUBLIC_KEY);
@@ -256,7 +253,6 @@ public class SysUserController {
return user;
}
// @RequestMapping(value = "/delete", method = RequestMethod.DELETE)
@PostMapping("/delete")
public Results<T> delete(@RequestBody Map<String,String> map) {
String id = map.get("id");
@@ -268,7 +264,6 @@ public class SysUserController {
return Results.OK("删除用户成功");
}
// @RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE)
@PostMapping("/deleteBatch")
public Results<T> deleteBatch(@RequestBody Map<String, String> map) {
String ids = map.get("ids");
@@ -282,7 +277,6 @@ public class SysUserController {
//@RequiresPermissions("sys:user:list")
// @RequestMapping(value = "/frozenBatch", method = RequestMethod.PUT)
@PostMapping("/frozenBatch")
public Results<Object> frozenBatch(@RequestBody JSONObject jsonObject) {
try {
@@ -629,7 +623,6 @@ public class SysUserController {
* @return
*/
//@RequiresPermissions("sys:user:list")
// @RequestMapping(value = "/queryByIds", method = RequestMethod.GET)
@GetMapping("/queryByIds")
public Results<Collection<SysUser>> queryByIds(@RequestParam String userIds) {
Results<Collection<SysUser>> result = new Results<>();
@@ -644,7 +637,6 @@ public class SysUserController {
/**
* 首页用户重置密码
*/
// @RequestMapping(value = "/updatePassword", method = RequestMethod.PUT)
@PostMapping("/updatePassword")
public Results<T> updatePassword(@RequestBody JSONObject json) {
String username = json.getString(USER_NAME);
@@ -1419,6 +1411,7 @@ public class SysUserController {
public Results<SysUser> setRole(@RequestBody JSONObject jsonObject) {
try {
String ids = jsonObject.getString("ids");
String roles = jsonObject.getString(SELECTED_ROLES);
List<String> idList = Arrays.asList(ids.split(","));
for (String id : idList) {
SysUser sysUser = sysUserService.getById(id);
@@ -1429,13 +1422,9 @@ public class SysUserController {
SysUser user = new SysUser();
user.setId(id);
user.setUpdateTime(new Date());
String roles = jsonObject.getString(SELECTED_ROLES);
sysUserService.addRoleToUser(user, roles);
return Results.OK("修改成功!");
}
}
} catch (Exception e) {
SysUserController.log.error(e.getMessage(), e);
return Results.error("操作失败");
@@ -208,7 +208,6 @@ public class ThirdLoginController {
}
@SuppressWarnings("unchecked")
// @RequestMapping(value = "/getLoginUser/{token}/{thirdType}", method = RequestMethod.GET)
@GetMapping("/getLoginUser/{token}/{thirdType}")
@ResponseBody
public Results<JSONObject> getThirdLoginUser(@PathVariable("token") String token, @PathVariable("thirdType") String thirdType) {
@@ -1,4 +1,4 @@
package com.jero.modules.message.job;
package com.jero.modules.system.controller.job;
import java.util.List;
@@ -16,12 +16,14 @@ import com.jero.common.util.*;
import com.jero.common.util.encryption.EncryptedString;
import com.jero.modules.base.service.BaseCommonService;
import com.jero.modules.system.entity.SysDepart;
import com.jero.modules.system.entity.SysPermission;
import com.jero.modules.system.entity.SysTenant;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.model.SysLoginModel;
import com.jero.modules.system.service.*;
import com.jero.modules.system.util.RandImageUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.poi.ss.formula.functions.T;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.BeanUtils;
@@ -56,6 +58,8 @@ public class LoginServiceImpl implements ILoginService {
private ISysDictService sysDictService;
@Resource
private BaseCommonService baseCommonService;
@Resource
private ISysPermissionService sysPermissionService;
private static final String BASE_CHECK_CODES = "qwertyuiplkjhgfdsazxcvbnmQWERTYUPLKJHGFDSAZXCVBNM1234567890";
//密码登录错误的次数前缀
@@ -137,6 +141,15 @@ public class LoginServiceImpl implements ILoginService {
}
//登录成功,清除错误登录次数
redisUtil.del(RETRY_LOGIN_PREFIX + username);
// 登录成功之后验证是否有权限
List<SysPermission> metaList = sysPermissionService.queryByUser(username);
if(CollectionUtils.isEmpty(metaList)){
return Results.error("该用户无权限,请联系管理员!");
}
long l = metaList.stream().filter(o->Objects.equals(o.getMenuType(),0)).count();
if(l <= 0){
return Results.error("该用户无权限,请联系管理员!");
}
//用户登录信息
userInfo(sysUser, result);
@@ -54,7 +54,6 @@ public class IndexController {
return "login";
}
// @RequestMapping(value="login", method=RequestMethod.POST)
@PostMapping("login")
@ResponseBody
@PermissionLimit(limit=false)
@@ -63,7 +62,6 @@ public class IndexController {
return loginService.login(request, response, userName, password, ifRem);
}
// @RequestMapping(value="logout", method=RequestMethod.POST)
@PostMapping("logout")
@ResponseBody
@PermissionLimit(limit=false)
+1
View File
@@ -32,6 +32,7 @@
"moment": "^2.29.4",
"nprogress": "^0.2.0",
"tinymce": "5.4.1",
"v-viewer": "^1.6.4",
"viser-vue": "^2.4.8",
"vue": "^2.6.10",
"vue-area-linkage": "^5.1.0",
+11 -4
View File
@@ -11,6 +11,7 @@
:beforeUpload="beforeUpload"
:disabled="disabled"
v-bind="$attrs"
:accept="accept"
v-on="childListeners"
@change="handleChange"
@preview="handlePreview"
@@ -23,6 +24,7 @@
</div>
</div>
</a-upload>
<j-image-preview-modal ref="JImagePreviewModal"></j-image-preview-modal>
</div>
</template>
@@ -30,13 +32,15 @@
import Vue from 'vue'
import { ACCESS_TOKEN } from '@/store/mutation-types'
import { getFileAccessHttpUrl } from '@/api/manage'
const Base64 = require('js-base64').Base64
import JImagePreviewModal from './modal/JImagePreviewModal'
// const Base64 = require('js-base64').Base64
const uidGenerator = () => {
return '-' + parseInt(Math.random() * 10000 + 1 + '', 10)
}
export default {
name: 'JImageUpload',
components: { JImagePreviewModal },
data () {
return {
uploadAction: window._CONFIG.domianURL + '/sys/common/upload',
@@ -44,6 +48,7 @@ export default {
picUrl: false,
headers: {},
fileList: [],
accept: 'image/png, image/jpeg',
previewImage: ''
}
},
@@ -175,9 +180,11 @@ export default {
// 预览
handlePreview (file) {
if (file && file.url) {
const fileFullUrl = `${window._CONFIG.domianWebSocketURL}/${file.url}`
const url = `${window._CONFIG.onlinePreviewDomainURL}?url=${encodeURIComponent(Base64.encode(fileFullUrl))}`
window.open(url)
console.log(file)
// const fileFullUrl = `${window._CONFIG.domianWebSocketURL}/${file.url}`
// const url = `${window._CONFIG.onlinePreviewDomainURL}?url=${encodeURIComponent(Base64.encode(fileFullUrl))}`
// window.open(url)
this.$refs.JImagePreviewModal.open(file)
}
},
getAvatarView () {
@@ -7,36 +7,42 @@
:footer="null"
@cancel="close"
cancelText="关闭">
<img class="img-container" :src="imgUrl" alt="">
<viewer>
<img :src="imageUrl" style="width: 200px;height: 200px">
</viewer>
</a-modal>
</template>
<script>
import { getFileAccessHttpUrl } from '../../../api/manage'
export default {
name: 'JImagePreviewModal',
data () {
return {
modalWidth: '60%',
modalWidth: 600,
visible: false,
confirmLoading: false,
imgUrl: ''
imageUrl: null
}
},
methods: {
open (imgUrl) {
this.imgUrl = imgUrl
open (file) {
this.visible = true
this.imageUrl = getFileAccessHttpUrl(file.name)
},
close () {
this.visible = false
this.imgUrl = ''
}
}
}
</script>
<style scoped>
.img-container {
width: 100%;
/deep/.ant-modal-body{
display: flex;
justify-content: center;
align-items: center;
}
</style>
+3 -1
View File
@@ -32,9 +32,11 @@
</a>
</span>
<header-notice class="action"/>
<span style="padding: 12px">
<a-avatar class="avatar" size="small" :src="getAvatar()"/>
</span>
<a-dropdown>
<span class="action action-full ant-dropdown-link user-dropdown-menu">
<a-avatar class="avatar" size="small" :src="getAvatar()"/>
<span v-if="isDesktop()">欢迎您,{{ nickname() }}</span>
</span>
<a-menu slot="overlay" class="user-dropdown-menu-wrapper">
@@ -22,14 +22,14 @@
:labelCol="labelCol"
:wrapperCol="wrapperCol"
label="新密码">
<a-input type="password" placeholder="请输入新密码" v-decorator="[ 'password', validatorRules.password]" />
<a-input type="password" placeholder="请输入新密码" :maxLength="20" v-decorator="[ 'password', validatorRules.password]" />
</a-form-item>
<a-form-item
:labelCol="labelCol"
:wrapperCol="wrapperCol"
label="确认新密码">
<a-input type="password" @blur="handleConfirmBlur" placeholder="请确认新密码" v-decorator="[ 'confirmpassword', validatorRules.confirmpassword]"/>
<a-input type="password" @blur="handleConfirmBlur" placeholder="请确认新密码" :maxLength="20" v-decorator="[ 'confirmpassword', validatorRules.confirmpassword]"/>
</a-form-item>
</a-form>
@@ -58,14 +58,14 @@ export default {
password: {
rules: [
{ required: true, message: '请输入新密码!' },
{ pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, message: '密码由8位数字、大小写字母和特殊符号组成!' },
{ pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, message: '密码由8-20位数字、大小写字母和特殊符号组成!' },
{ validator: this.validateToNextPassword }
]
},
confirmpassword: {
rules: [
{ required: true, message: '请确认新密码!' },
{ pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, message: '密码由8位数字大小写字母和特殊符号组成!' },
{ pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, message: '密码由8-20位数字大小写字母和特殊符号组成!' },
{ validator: this.validateToNextPassword }
]
}
+8
View File
@@ -20,6 +20,8 @@ import '@/utils/filter' // base filtermybatis-plus
import Print from 'vue-print-nb-jeecg'
import preview from 'vue-photo-preview'
import 'vue-photo-preview/dist/skin.css'
import Viewer from 'v-viewer'
import 'viewerjs/dist/viewer.css'
import SSO from '@/cas/sso.js'
import {
ACCESS_TOKEN,
@@ -63,6 +65,12 @@ Vue.use(preview)
Vue.use(vueBus)
Vue.use(JeroComponents)
Vue.use(VueAreaLinkage)
Vue.use(Viewer)
Viewer.setDefaults({
// 需要配置的属性 注意属性并没有引号
title: false,
toolbar: false
})
SSO.init(() => {
main()
+16 -8
View File
@@ -200,14 +200,22 @@ export const JeroListMixin = {
return
}
const that = this
postAction(that.url.delete, { id: id }).then((res) => {
if (res.success) {
// 重新计算分页问题
that.reCalculatePage(1)
that.$message.success(res.message)
that.loadData()
} else {
that.$message.warning(res.message)
this.$confirm({
title: '确认删除',
content: '确定要删除此条数据吗?',
onOk: function () {
postAction(that.url.delete, { id: id }).then((res) => {
if (res.success) {
that.$message.success(res.message)
// 判断当前删除的数据是否是最后一页的最后一条数据,如果是的话页码减一
if (that.ipagination.current > 1 && ((that.ipagination.current - 1) * that.ipagination.pageSize) + 1 === that.ipagination.total) {
that.ipagination.current -= 1
}
that.loadData()
} else {
that.$message.warning(res.message)
}
})
}
})
},
@@ -82,16 +82,21 @@ export default {
// 标题使用插槽使用这个代替title(用于设置里显示列名)
columnTitle: 'Name',
dataIndex: 'name',
resizable: true, // 可拖拽属性
// fixed: true,
key: 'name',
minWidth: 100,
width: 150,
slots: { title: 'customTitle' },
scopedSlots: { customRender: 'name' }
},
{
resizable: true, // 可拖拽属性
title: 'Tags',
key: 'tags',
dataIndex: 'tags',
minWidth: 200,
width: 200,
scopedSlots: { customRender: 'tags' }
},
{
@@ -102,6 +107,7 @@ export default {
width: 100
},
{
resizable: true, // 可拖拽属性
title: 'Type',
dataIndex: 'type',
width: 100
@@ -93,6 +93,8 @@ export default {
{
title: '名称',
align: 'center',
ellipsis: true,
width: 300,
dataIndex: 'itemText'
},
{
@@ -486,6 +486,7 @@ export default {
this.$message.error('请选择一个角色!')
} else {
this.$refs.selectUserModal.visible = true
this.$refs.selectUserModal.searchQuery()
}
},
handleOpen (record) {
+11 -10
View File
@@ -77,16 +77,17 @@
<a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical"/>
<a-dropdown>
<a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
<a-menu slot="overlay">
<a-menu-item>
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a>删除</a>
</a-popconfirm>
</a-menu-item>
</a-menu>
</a-dropdown>
<a @click="handleDelete(record.id)">删除</a>
<!-- <a-dropdown>-->
<!-- <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>-->
<!-- <a-menu slot="overlay">-->
<!-- <a-menu-item>-->
<!-- <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">-->
<!-- <a>删除</a>-->
<!-- </a-popconfirm>-->
<!-- </a-menu-item>-->
<!-- </a-menu>-->
<!-- </a-dropdown>-->
</span>
</a-table>
+2 -1
View File
@@ -195,7 +195,7 @@
<user-recycle-bin-modal :visible.sync="recycleBinVisible" @ok="modalFormOk"/>
<!-- 角色配置 -->
<!-- <a-modal title="角色配置" :width='650'>-->
<role-assignment ref="roleAssignmentModal" :selectedRowKeysArray='selectedRowKeys' @rolevisible='rolevisibleMethods'></role-assignment>
<role-assignment ref="roleAssignmentModal" :selectedRowKeysArray='selectedRowKeys' @ok="modalFormOk" @rolevisible='rolevisibleMethods'></role-assignment>
<!-- </a-modal>-->
</a-card>
@@ -439,6 +439,7 @@ export default {
}
},
rolevisibleMethods () {
this.onClearSelected()
this.selectedRowKeys = []
}
}
@@ -16,7 +16,7 @@
:wrapperCol="wrapperCol"
prop="itemText"
label="名称">
<a-input placeholder="请输入名称" v-model="model.itemText"/>
<a-input placeholder="请输入名称" :maxLength="50" v-model="model.itemText"/>
</a-form-model-item>
<a-form-model-item
@@ -31,7 +31,7 @@
:labelCol="labelCol"
:wrapperCol="wrapperCol"
label="描述">
<a-input v-model="model.description" />
<a-input :maxLength="50" v-model="model.description" />
</a-form-model-item>
<a-form-model-item
@@ -6,6 +6,7 @@
:closable="true"
:visible="visible"
:footer='null'
@cancel="handleCancel"
>
<div class='diolag-area'>
<a-spin :spinning='spinLoading'>
@@ -111,8 +112,9 @@ export default {
postAction('/sys/user/setRole', param).then((res) => {
this.visible = false
if (res.success) {
this.$emit('rolevisible', false)
this.$emit('ok', false)
this.$message.success(res.message)
this.selectedRole = []
} else {
this.$message.warning(res.message)
}
@@ -43,11 +43,11 @@ export default {
confirmLoading: false,
validatorRules: {
roleName: [
{ required: true, message: '请输入角色名称!' },
{ required: true, validator: this.validateRoleName },
{ min: 2, max: 30, message: '长度在 2 30 个字符', trigger: 'blur' }
],
roleCode: [
{ required: true, message: '请输入角色名称!' },
{ required: true, message: '请输入角色编码!' },
{ min: 0, max: 64, message: '长度不超过 64 个字符', trigger: 'blur' },
{ validator: this.validateRoleCode }
],
@@ -125,6 +125,25 @@ export default {
}
})
}
},
validateRoleName (rule, value, callback) {
if (!value) {
callback(new Error('请输入角色名称!'))
} else {
const params = {
tableName: 'sys_role',
fieldName: 'role_name',
fieldVal: value,
dataId: this.model.id
}
duplicateCheck(params).then((res) => {
if (res.success) {
callback()
} else {
callback(res.message)
}
})
}
}
}
}
@@ -23,21 +23,21 @@
<a-form-model ref="form" :model="model" :rules="validatorRules">
<a-form-model-item label="用户账号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="username">
<a-input placeholder="请输入用户账号" v-model="model.username" :readOnly="!!model.id" :disabled="disableSubmit"/>
<a-input placeholder="请输入用户账号" :maxLength="50" v-model="model.username" :readOnly="!!model.id" :disabled="disableSubmit"/>
</a-form-model-item>
<template v-if="!model.id">
<a-form-model-item label="登录密码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="password" >
<a-input type="password" placeholder="请输入登录密码" v-model="model.password" />
<a-input-password type="password" placeholder="请输入登录密码" :maxLength="20" v-model="model.password" />
</a-form-model-item>
<a-form-model-item label="确认密码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="confirmpassword" >
<a-input type="password" @blur="handleConfirmBlur" placeholder="请重新输入登录密码" v-model="model.confirmpassword"/>
<a-input-password type="password" @blur="handleConfirmBlur" :maxLength="20" placeholder="请重新输入登录密码" v-model="model.confirmpassword"/>
</a-form-model-item>
</template>
<a-form-model-item label="用户姓名" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="realname">
<a-input placeholder="请输入用户姓名" v-model="model.realname" :disabled="disableSubmit"/>
<a-input placeholder="请输入用户姓名" v-model="model.realname" :maxLength="50" :disabled="disableSubmit"/>
</a-form-model-item>
<!--<a-form-model-item label="工号" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
@@ -111,7 +111,7 @@
</a-form-model-item>
<a-form-model-item label="邮箱" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="email">
<a-input placeholder="请输入邮箱" v-model="model.email" :disabled="disableSubmit"/>
<a-input placeholder="请输入邮箱" v-model="model.email" :maxLength="50" :disabled="disableSubmit"/>
</a-form-model-item>
<a-form-model-item label="手机号码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="phone">
@@ -164,7 +164,7 @@ export default {
validatorRules: {
username: [{ required: true, message: '请输入用户账号!' },
{ validator: this.validateUsername }],
password: [{ required: true, pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, message: '密码由8位数字大小写字母和特殊符号组成!' },
password: [{ required: true, pattern: /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, message: '密码由8-20位数字大小写字母和特殊符号组成!' },
{ validator: this.validateToNextPassword, trigger: 'change' }],
confirmpassword: [{ required: true, message: '请重新输入登录密码!' },
{ validator: this.compareToFirstPassword }],
@@ -425,7 +425,7 @@ export default {
if (!value) {
callback()
} else {
if (new RegExp(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/).test(value)) {
if (new RegExp(/^\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}/).test(value)) {
const params = {
tableName: 'sys_user',
fieldName: 'email',
@@ -43,7 +43,7 @@
</template>
<span slot="action" slot-scope="text, record">
<a @click="handleRevert([record.id])"><a-icon type="redo"/> 还原用户</a>
<a @click="handleRevert([record.id],[record.username])"><a-icon type="redo"/> 还原用户</a>
<a-divider type="vertical"/>
<a @click="handleDelete([record.id])"><a-icon type="delete"/> 彻底删除</a>
</span>
@@ -66,7 +66,7 @@ function superRequest (options) {
}
}).catch(e => {
console.error('查询已删除的用户失败:', e)
this.$message.warning('查询已删除的用户失败:' + (e.message || e))
// this.$message.warning('查询已删除的用户失败:' + (e.message || e))
}).finally(() => {
this.loading = false
})
@@ -134,17 +134,17 @@ export default {
this.innerVisible = false
},
// 还原用户
handleRevert (userIds) {
handleRevert (userIds, username) {
this.$confirm({
title: '恢复用户',
content: `您确定要恢复这 ${userIds.length} 个用户吗`,
content: `是否还原用户${username}`,
centered: true,
onOk: () => {
postAction(this.url.putRecycleBin, { userIds: userIds.join(',') }).then((res) => {
if (res.success) {
this.handleOk()
this.handleClearSelection()
this.$message.success(`还原 ${userIds.length} 个用户成功!`)
this.$message.success(`${username}用户还原成功!`)
}
})
}
@@ -174,7 +174,20 @@ export default {
})
},
handleRevertBatch () {
this.handleRevert(this.selectedRowKeys)
this.$confirm({
title: '恢复用户',
content: `是否还原选中用户?`,
centered: true,
onOk: () => {
postAction(this.url.putRecycleBin, { userIds: this.selectedRowKeys.join(',') }).then((res) => {
if (res.success) {
this.handleOk()
this.handleClearSelection()
this.$message.success(`选中用户还原成功!`)
}
})
}
})
},
handleDeleteBatch () {
this.handleDelete(this.selectedRowKeys)