From ad6264ae1bd71a2ff6c7f1c909716480151de6bc Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Tue, 1 Mar 2022 14:04:30 +0800 Subject: [PATCH 1/4] =?UTF-8?q?fix:=20=E5=AE=9A=E6=97=B6=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E9=98=9F=E5=88=97=E4=B8=AD=E7=9A=84=E4=BB=BB=E5=8A=A1=E8=BF=87?= =?UTF-8?q?=E6=9C=9F=E4=BE=9D=E7=84=B6=E6=89=A7=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../job/sechedule/strategy/impl/EmailTaskHandler.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/io/dataease/job/sechedule/strategy/impl/EmailTaskHandler.java b/backend/src/main/java/io/dataease/job/sechedule/strategy/impl/EmailTaskHandler.java index f7d14699c4..d7ec2a9886 100644 --- a/backend/src/main/java/io/dataease/job/sechedule/strategy/impl/EmailTaskHandler.java +++ b/backend/src/main/java/io/dataease/job/sechedule/strategy/impl/EmailTaskHandler.java @@ -15,6 +15,7 @@ import io.dataease.job.sechedule.strategy.TaskHandler; import io.dataease.plugins.common.entity.GlobalTaskEntity; import io.dataease.plugins.common.entity.GlobalTaskInstance; import io.dataease.plugins.config.SpringContextUtil; +import io.dataease.plugins.xpack.email.dto.request.XpackEmailTaskRequest; import io.dataease.plugins.xpack.email.dto.request.XpackPixelEntity; import io.dataease.plugins.xpack.email.dto.response.XpackEmailTemplateDTO; import io.dataease.plugins.xpack.email.service.EmailXpackService; @@ -127,7 +128,10 @@ public class EmailTaskHandler extends TaskHandler implements Job { SysUserEntity user) { EmailXpackService emailXpackService = SpringContextUtil.getBean(EmailXpackService.class); try { - + XpackEmailTaskRequest taskForm = emailXpackService.taskForm(taskInstance.getTaskId()); + if (ObjectUtils.isEmpty(taskForm) || CronUtils.taskExpire(taskForm.getEndTime())) { + return; + } String panelId = emailTemplateDTO.getPanelId(); String url = panelUrl(panelId); String token = tokenByUser(user); @@ -148,7 +152,6 @@ public class EmailTaskHandler extends TaskHandler implements Job { emailService.sendWithImage(recipients, emailTemplateDTO.getTitle(), contentStr, bytes); - Thread.sleep(10000); success(taskInstance); } catch (Exception e) { error(taskInstance, e); From 0ba4fe7dd7e2c851602eed8e14228d5d4780b4f5 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Tue, 1 Mar 2022 14:04:30 +0800 Subject: [PATCH 2/4] =?UTF-8?q?fix:=20=E5=AE=9A=E6=97=B6=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E9=98=9F=E5=88=97=E4=B8=AD=E7=9A=84=E4=BB=BB=E5=8A=A1=E8=BF=87?= =?UTF-8?q?=E6=9C=9F=E4=BE=9D=E7=84=B6=E6=89=A7=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../job/sechedule/strategy/impl/EmailTaskHandler.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/io/dataease/job/sechedule/strategy/impl/EmailTaskHandler.java b/backend/src/main/java/io/dataease/job/sechedule/strategy/impl/EmailTaskHandler.java index f7d14699c4..d7ec2a9886 100644 --- a/backend/src/main/java/io/dataease/job/sechedule/strategy/impl/EmailTaskHandler.java +++ b/backend/src/main/java/io/dataease/job/sechedule/strategy/impl/EmailTaskHandler.java @@ -15,6 +15,7 @@ import io.dataease.job.sechedule.strategy.TaskHandler; import io.dataease.plugins.common.entity.GlobalTaskEntity; import io.dataease.plugins.common.entity.GlobalTaskInstance; import io.dataease.plugins.config.SpringContextUtil; +import io.dataease.plugins.xpack.email.dto.request.XpackEmailTaskRequest; import io.dataease.plugins.xpack.email.dto.request.XpackPixelEntity; import io.dataease.plugins.xpack.email.dto.response.XpackEmailTemplateDTO; import io.dataease.plugins.xpack.email.service.EmailXpackService; @@ -127,7 +128,10 @@ public class EmailTaskHandler extends TaskHandler implements Job { SysUserEntity user) { EmailXpackService emailXpackService = SpringContextUtil.getBean(EmailXpackService.class); try { - + XpackEmailTaskRequest taskForm = emailXpackService.taskForm(taskInstance.getTaskId()); + if (ObjectUtils.isEmpty(taskForm) || CronUtils.taskExpire(taskForm.getEndTime())) { + return; + } String panelId = emailTemplateDTO.getPanelId(); String url = panelUrl(panelId); String token = tokenByUser(user); @@ -148,7 +152,6 @@ public class EmailTaskHandler extends TaskHandler implements Job { emailService.sendWithImage(recipients, emailTemplateDTO.getTitle(), contentStr, bytes); - Thread.sleep(10000); success(taskInstance); } catch (Exception e) { error(taskInstance, e); From 50ba73d7ad1a2b3143936fedcc6fd73cb2085465 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Tue, 1 Mar 2022 14:46:18 +0800 Subject: [PATCH 3/4] =?UTF-8?q?fix:=20=E6=97=B6=E9=92=9F=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=E6=94=B9=E5=8F=98=E4=BF=9D=E5=AD=98=E6=8C=89=E9=92=AE=E6=9C=AA?= =?UTF-8?q?=E9=AB=98=E4=BA=AE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../canvas/components/Editor/DateFormat.vue | 8 ++++++++ .../src/components/canvas/components/TextAttr.vue | 9 +++++++++ frontend/src/views/panel/edit/index.vue | 14 +++++++------- 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/frontend/src/components/canvas/components/Editor/DateFormat.vue b/frontend/src/components/canvas/components/Editor/DateFormat.vue index 97e0d45673..3c5b9642f8 100644 --- a/frontend/src/components/canvas/components/Editor/DateFormat.vue +++ b/frontend/src/components/canvas/components/Editor/DateFormat.vue @@ -119,6 +119,14 @@ export default { 'curCanvasScale' ]) }, + watch: { + formatInfo: { + handler(newVal, oldVla) { + this.$store.state.styleChangeTimes++ + }, + deep: true + } + }, created() { }, diff --git a/frontend/src/components/canvas/components/TextAttr.vue b/frontend/src/components/canvas/components/TextAttr.vue index 511ee8c81d..25bf2e313d 100644 --- a/frontend/src/components/canvas/components/TextAttr.vue +++ b/frontend/src/components/canvas/components/TextAttr.vue @@ -447,4 +447,13 @@ export default { ::v-deep .el-color-dropdown__link-btn { display: inline!important; } + + ::v-deep input::-webkit-outer-spin-button, + ::v-deep input::-webkit-inner-spin-button { + /*-webkit-appearance: none !important;*/ + } + ::v-deep input[type='number'] { + /*-moz-appearance: textfield !important;*/ + } + diff --git a/frontend/src/views/panel/edit/index.vue b/frontend/src/views/panel/edit/index.vue index 19ebf68fa4..a88ae63a8b 100644 --- a/frontend/src/views/panel/edit/index.vue +++ b/frontend/src/views/panel/edit/index.vue @@ -621,7 +621,6 @@ export default { this.currentFilterCom.mobileStyle = BASE_MOBILE_STYLE this.currentFilterCom.commonBackground || deepCopy(COMMON_BACKGROUND) - if (this.currentWidget.filterDialog) { this.show = false this.openFilterDialog(true) @@ -870,13 +869,14 @@ export default { // 如果内部样式有变化 1秒钟后保存一个镜像 recordStyleChange(index) { - this.timeMachine = setTimeout(() => { - if (index === this.$store.state.styleChangeTimes) { - this.$store.commit('recordSnapshot', 'recordStyleChange') + if (index === this.$store.state.styleChangeTimes) { + this.timeMachine = setTimeout(() => { + // console.log('recordSnapshot') + this.$store.commit('recordSnapshot') this.$store.state.styleChangeTimes = 0 - } - this.destroyTimeMachine() - }, 1000) + this.destroyTimeMachine() + }, 1000) + } }, handleDragOver(e) { e.preventDefault() From 25a1badbd0dbbdaeb6929264b86a49ad64e15b63 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Tue, 1 Mar 2022 15:09:47 +0800 Subject: [PATCH 4/4] =?UTF-8?q?refactor:=20=E7=94=A8=E6=88=B7=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E4=B8=8E=E4=BB=AA=E8=A1=A8=E6=9D=BF=E5=88=86=E4=BA=AB?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=8E=A5=E5=8F=A3=E5=88=86=E7=A6=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/sys/SysUserController.java | 52 +++++++++---------- frontend/src/api/system/user.js | 10 ++++ .../src/views/panel/GrantAuth/user/index.vue | 8 +-- 3 files changed, 40 insertions(+), 30 deletions(-) diff --git a/backend/src/main/java/io/dataease/controller/sys/SysUserController.java b/backend/src/main/java/io/dataease/controller/sys/SysUserController.java index 933f720550..4c268c538b 100644 --- a/backend/src/main/java/io/dataease/controller/sys/SysUserController.java +++ b/backend/src/main/java/io/dataease/controller/sys/SysUserController.java @@ -1,6 +1,5 @@ package io.dataease.controller.sys; - import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.github.xiaoymin.knife4j.annotations.ApiSupport; @@ -49,27 +48,33 @@ public class SysUserController { @RequiresPermissions("user:read") @PostMapping("/userGrid/{goPage}/{pageSize}") @ApiImplicitParams({ - @ApiImplicitParam(paramType="path", name = "goPage", value = "页码", required = true, dataType = "Integer"), - @ApiImplicitParam(paramType="path", name = "pageSize", value = "页容量", required = true, dataType = "Integer"), - @ApiImplicitParam(name = "request", value = "查询条件", required = true) + @ApiImplicitParam(paramType = "path", name = "goPage", value = "页码", required = true, dataType = "Integer"), + @ApiImplicitParam(paramType = "path", name = "pageSize", value = "页容量", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "request", value = "查询条件", required = true) }) - public Pager> userGrid(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody BaseGridRequest request) { + public Pager> userGrid(@PathVariable int goPage, @PathVariable int pageSize, + @RequestBody BaseGridRequest request) { Page page = PageHelper.startPage(goPage, pageSize, true); return PageUtils.setPageInfo(page, sysUserService.query(request)); } + @ApiIgnore + @PostMapping("/userLists") + public List userLists(@RequestBody BaseGridRequest request) { + return sysUserService.query(request); + } @ApiOperation("创建用户") @RequiresPermissions("user:add") @PostMapping("/create") - public void create(@RequestBody SysUserCreateRequest request){ + public void create(@RequestBody SysUserCreateRequest request) { sysUserService.save(request); } @ApiOperation("更新用户") @RequiresPermissions("user:edit") @PostMapping("/update") - public void update(@RequestBody SysUserCreateRequest request){ + public void update(@RequestBody SysUserCreateRequest request) { sysUserService.update(request); } @@ -77,33 +82,32 @@ public class SysUserController { @RequiresPermissions("user:del") @PostMapping("/delete/{userId}") @ApiImplicitParam(paramType = "path", value = "用户ID", name = "userId", required = true, dataType = "Integer") - public void delete(@PathVariable("userId") Long userId){ + public void delete(@PathVariable("userId") Long userId) { sysUserService.delete(userId); } - @ApiOperation("更新用户状态") @RequiresPermissions("user:edit") @RequiresRoles("1") @PostMapping("/updateStatus") - public void updateStatus(@RequestBody SysUserStateRequest request){ + public void updateStatus(@RequestBody SysUserStateRequest request) { sysUserService.updateStatus(request); } @ApiOperation("更新当前用户密码") @PostMapping("/updatePwd") - public void updatePwd(@RequestBody SysUserPwdRequest request){ + public void updatePwd(@RequestBody SysUserPwdRequest request) { sysUserService.updatePwd(request); } + @ApiOperation("更新指定用户密码") @RequiresPermissions("user:editPwd") @PostMapping("/adminUpdatePwd") - public void adminUpdatePwd(@RequestBody SysUserPwdRequest request){ + public void adminUpdatePwd(@RequestBody SysUserPwdRequest request) { sysUserService.adminUpdatePwd(request); } - @ApiOperation("当前用户信息") @PostMapping("/personInfo") public CurrentUserDto personInfo() { @@ -114,13 +118,13 @@ public class SysUserController { @ApiIgnore @ApiOperation("更新个人信息") @PostMapping("/updatePersonInfo") - public void updatePersonInfo(@RequestBody SysUserCreateRequest request){ + public void updatePersonInfo(@RequestBody SysUserCreateRequest request) { sysUserService.updatePersonInfo(request); } @ApiOperation("设置语言") @PostMapping("/setLanguage/{language}") - @ApiImplicitParam(paramType="path", name = "language", value = "语言(zh_CN, zh_TW, en_US)", required = true, dataType = "String") + @ApiImplicitParam(paramType = "path", name = "language", value = "语言(zh_CN, zh_TW, en_US)", required = true, dataType = "String") public void setLanguage(@PathVariable String language) { CurrentUserDto user = AuthUtils.getUser(); Optional.ofNullable(language).ifPresent(currentLanguage -> { @@ -132,28 +136,24 @@ public class SysUserController { @ApiOperation("查询所有角色") @PostMapping("/all") - public List all(){ + public List all() { return sysRoleService.allRoles(); } - - - @ApiOperation("查询角色") + @ApiIgnore("查询角色") @PostMapping("/roleGrid/{goPage}/{pageSize}") @ApiImplicitParams({ - @ApiImplicitParam(paramType="path", name = "goPage", value = "页码", required = true, dataType = "Integer"), - @ApiImplicitParam(paramType="path", name = "pageSize", value = "页容量", required = true, dataType = "Integer"), - @ApiImplicitParam(name = "request", value = "查询条件", required = true) + @ApiImplicitParam(paramType = "path", name = "goPage", value = "页码", required = true, dataType = "Integer"), + @ApiImplicitParam(paramType = "path", name = "pageSize", value = "页容量", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "request", value = "查询条件", required = true) }) - public Pager> roleGrid(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody BaseGridRequest request) { + public Pager> roleGrid(@PathVariable int goPage, @PathVariable int pageSize, + @RequestBody BaseGridRequest request) { Page page = PageHelper.startPage(goPage, pageSize, true); Pager> listPager = PageUtils.setPageInfo(page, sysRoleService.query(request)); return listPager; } - - - @ApiOperation("已同步用户") @PostMapping("/existLdapUsers") public List getExistLdapUsers() { diff --git a/frontend/src/api/system/user.js b/frontend/src/api/system/user.js index 64d7d65f05..63cacd59ad 100644 --- a/frontend/src/api/system/user.js +++ b/frontend/src/api/system/user.js @@ -4,6 +4,7 @@ const pathMap = { personInfoPath: '/api/user/personInfo/', piupdatePath: '/api/user/updatePersonInfo/', queryPath: '/api/user/userGrid/', + queryWithOutPagePath: '/api/user/userLists', deletePath: '/api/user/delete/', createPath: '/api/user/create', updatePath: '/api/user/update', @@ -19,6 +20,15 @@ export function userLists(page, size, data) { }) } +export function userListsWithOutPage(data) { + return request({ + url: pathMap.queryWithOutPagePath, + method: 'post', + data, + loading: true + }) +} + export const addUser = (data) => { return request({ url: pathMap.createPath, diff --git a/frontend/src/views/panel/GrantAuth/user/index.vue b/frontend/src/views/panel/GrantAuth/user/index.vue index 452ea0437d..6dc1d2c6a0 100644 --- a/frontend/src/views/panel/GrantAuth/user/index.vue +++ b/frontend/src/views/panel/GrantAuth/user/index.vue @@ -24,7 +24,7 @@