From 41cbc8e90b63373f867d072d0e942eab4e6bb887 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=82=A3=E4=BA=9B=E8=8A=B1=E5=84=BF?= <1156921458@qq.com>
Date: Fri, 26 Sep 2025 09:26:17 +0800
Subject: [PATCH 1/2] ..
---
.../controller/FlowTodoCenterController.java | 21 ++++++++++++++--
.../resources/views/layouts/v4/home/user.js | 2 +-
src/main/resources/views/layouts/v4/todo.html | 5 +---
.../views/platform/flow/todoCenter/index.html | 25 +++----------------
4 files changed, 25 insertions(+), 28 deletions(-)
diff --git a/src/main/java/com/budwk/app/flow/controller/FlowTodoCenterController.java b/src/main/java/com/budwk/app/flow/controller/FlowTodoCenterController.java
index f9e8cd92..355605c5 100644
--- a/src/main/java/com/budwk/app/flow/controller/FlowTodoCenterController.java
+++ b/src/main/java/com/budwk/app/flow/controller/FlowTodoCenterController.java
@@ -1,6 +1,7 @@
package com.budwk.app.flow.controller;
import cn.dev33.satoken.annotation.SaCheckLogin;
+import cn.hutool.core.util.StrUtil;
import com.budwk.app.base.page.Pagination;
import com.budwk.app.base.result.Result;
import com.budwk.app.flow.entity.ProcessInstance;
@@ -53,7 +54,8 @@ public class FlowTodoCenterController {
ins.state AS instanceState,
ins.id AS instanceId,
ins.businessNo,
- cat.`name` categoryName
+ cat.`name` categoryName,
+ ins.variable ->> '$.instanceName' AS instanceName
FROM
wf_process_task t
LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = t.id
@@ -65,6 +67,10 @@ public class FlowTodoCenterController {
Cnd cnd = Cnd.NEW();
cnd.and("t.taskState", "=", ProcessTaskStateEnum.DOING.getCode());
cnd.and("ta.actorId", "=", SecurityUtil.getUserId());
+ cnd.andEX("def.category","=",category);
+ if(StrUtil.isNotBlank(searchKeyword)){
+ cnd.where().andLike("ins.variable ->> '$.instanceName'", searchKeyword);
+ }
cnd.desc("t.createdAt");
sql.setCondition(cnd);
Pagination pagination = sysUserService.listPageMap(pageNumber, pageSize, sql);
@@ -92,7 +98,8 @@ public class FlowTodoCenterController {
ins.state AS instanceState,
ins.id AS instanceId,
ins.businessNo,
- cat.`name` categoryName
+ cat.`name` categoryName,
+ ins.variable ->> '$.instanceName' AS instanceName
FROM
wf_process_task t
LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = t.id
@@ -104,6 +111,10 @@ public class FlowTodoCenterController {
Cnd cnd = Cnd.NEW();
cnd.and("t.taskState", "=", ProcessTaskStateEnum.FINISHED.getCode());
cnd.and("ta.actorId", "=", SecurityUtil.getUserId());
+ cnd.andEX("def.category","=",category);
+ if(StrUtil.isNotBlank(searchKeyword)){
+ cnd.where().andLike("ins.variable ->> '$.instanceName'", searchKeyword);
+ }
cnd.desc("t.createdAt");
sql.setCondition(cnd);
Pagination pagination = sysUserService.listPageMap(pageNumber, pageSize, sql);
@@ -127,6 +138,7 @@ public class FlowTodoCenterController {
ins.operator,
ins.variable,
ins.createdAt,
+ ins.variable ->> '$.instanceName' AS instanceName,
GROUP_CONCAT(DISTINCT t.displayName) as taskName,
cat.`name` categoryName
FROM
@@ -138,6 +150,11 @@ public class FlowTodoCenterController {
""");
Cnd cnd = Cnd.NEW();
cnd.and("ins.operator", "=", SecurityUtil.getUserId());
+ cnd.andEX("def.category","=",category);
+ if(StrUtil.isNotBlank(searchKeyword)){
+ cnd.where().andLike("ins.variable ->> '$.instanceName'", searchKeyword);
+ }
+ cnd.groupBy("ins.id");
cnd.desc("ins.createdAt");
sql.setCondition(cnd);
Pagination pagination = sysUserService.listPageMap(pageNumber, pageSize, sql);
diff --git a/src/main/resources/views/layouts/v4/home/user.js b/src/main/resources/views/layouts/v4/home/user.js
index 9d11e6cb..ac6d057d 100644
--- a/src/main/resources/views/layouts/v4/home/user.js
+++ b/src/main/resources/views/layouts/v4/home/user.js
@@ -88,7 +88,7 @@ const user = {
},
methods: {
handleStatClick(type) {
- if (['todo', 'done', 'application'].includes(type)) {
+ if (['todo', 'done', 'started'].includes(type)) {
window.open('/flow/todoCenter?status=' + type)
} else if (type === 'notification') {
window.open('/platform/v4/msg')
diff --git a/src/main/resources/views/layouts/v4/todo.html b/src/main/resources/views/layouts/v4/todo.html
index 4b4858bf..42ca46a7 100644
--- a/src/main/resources/views/layouts/v4/todo.html
+++ b/src/main/resources/views/layouts/v4/todo.html
@@ -228,10 +228,7 @@ layout("/layouts/v4/baseLayout.html"){
-
- {{categoryOptions.find(item => item.id === row.category)?.name}}
-
-
+
{{row.variable.initiatorName}}
diff --git a/src/main/resources/views/platform/flow/todoCenter/index.html b/src/main/resources/views/platform/flow/todoCenter/index.html
index ce86ee55..8eec9a4a 100644
--- a/src/main/resources/views/platform/flow/todoCenter/index.html
+++ b/src/main/resources/views/platform/flow/todoCenter/index.html
@@ -284,32 +284,12 @@ layout("/layouts/v4/baseLayout.html"){
-
-
- {{scope.row.variable?.instanceName}}
-
-
+
{{row.variable.initiatorName}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{{processStatusMap[row.state]?.text}}
@@ -394,6 +374,9 @@ layout("/layouts/v4/baseLayout.html"){
},
created() {
+ if(GetQueryString("status")){
+ this.activeTab = GetQueryString("status")
+ }
this.initData()
},
From 17a31212d23641370e7ba3d07c3c443084c5e61f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=82=A3=E4=BA=9B=E8=8A=B1=E5=84=BF?= <1156921458@qq.com>
Date: Fri, 26 Sep 2025 09:40:59 +0800
Subject: [PATCH 2/2] ..
---
.../budwk/app/sys/controller/v4/SysV4AppsController.java | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/main/java/com/budwk/app/sys/controller/v4/SysV4AppsController.java b/src/main/java/com/budwk/app/sys/controller/v4/SysV4AppsController.java
index 256fde2c..45bc3b9f 100644
--- a/src/main/java/com/budwk/app/sys/controller/v4/SysV4AppsController.java
+++ b/src/main/java/com/budwk/app/sys/controller/v4/SysV4AppsController.java
@@ -3,9 +3,11 @@ package com.budwk.app.sys.controller.v4;
import cn.dev33.satoken.annotation.SaCheckLogin;
import cn.hutool.core.util.StrUtil;
import com.budwk.app.base.result.Result;
+import com.budwk.app.sys.models.Sys_menu;
import com.budwk.app.sys.models.Sys_module;
import com.budwk.app.sys.models.Sys_user_favorite_app;
import com.budwk.app.sys.services.SysMenuService;
+import com.budwk.app.sys.services.SysUserService;
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -37,6 +39,8 @@ public class SysV4AppsController {
private Dao dao;
@Inject
private SysMenuService sysMenuService;
+ @Inject
+ private SysUserService sysUserService;
@At("/categories")
@Ok("json")
@@ -59,6 +63,7 @@ public class SysV4AppsController {
@SaCheckLogin
@ApiOperation("获取应用列表")
public Result list(@Param("categoryId") String categoryId, @Param("letter") String letter, @Param("keyword") String keyword, @Param(value = "platform", df = "PC") String platform, HttpServletRequest req) {
+ List menus = sysUserService.getMenus(SecurityUtil.getUserId());
Sql sql = Sqls.create("""
SELECT
m.id,
@@ -80,6 +85,7 @@ public class SysV4AppsController {
cnd.and("m.platform", "=", platform);
cnd.and("m.disabled", "=", false);
cnd.and(Cnd.exps("m.parentId", "is", null).or("m.parentId", "=", ""));
+ cnd.and("m.id","in", menus.stream().map(Sys_menu::getId).toArray());
cnd.andEX("m.moduleId", "=", categoryId);
cnd.asc("m.location");
if (StrUtil.isNotBlank(keyword)) {