From 1c322e28eff5019cbda6a98667bf6bd1cea0a5b8 Mon Sep 17 00:00:00 2001
From: AN <1983933789@qq.com>
Date: Sun, 22 Jun 2025 18:59:08 +0800
Subject: [PATCH] =?UTF-8?q?feat(projects):=20=E6=96=B0=E5=A2=9Egroup-tag?=
=?UTF-8?q?=E7=BB=84=E4=BB=B6=EF=BC=8C=E5=BE=85=E5=8A=9E=E4=BB=BB=E5=8A=A1?=
=?UTF-8?q?=E6=9F=A5=E7=9C=8B=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/custom/group-tag.vue | 50 +++++++++++++
.../custom/workflow/approval-info-panel.vue | 33 +-------
src/typings/components.d.ts | 2 +
.../workflow/task/all-task-waiting/index.vue | 75 +++++++++++++++----
4 files changed, 113 insertions(+), 47 deletions(-)
create mode 100644 src/components/custom/group-tag.vue
diff --git a/src/components/custom/group-tag.vue b/src/components/custom/group-tag.vue
new file mode 100644
index 00000000..02787c70
--- /dev/null
+++ b/src/components/custom/group-tag.vue
@@ -0,0 +1,50 @@
+
+
+
+
+
+ {{ placeholder }}
+
+
+
+
+
+ {{ tags[0] }}
+
+
+
+
+
+
+ {{ tags[0] }}...({{ tags.length }})
+
+
+
+ {{ tag }}
+
+
+
+
+
diff --git a/src/components/custom/workflow/approval-info-panel.vue b/src/components/custom/workflow/approval-info-panel.vue
index 0cb34806..2f94efe3 100644
--- a/src/components/custom/workflow/approval-info-panel.vue
+++ b/src/components/custom/workflow/approval-info-panel.vue
@@ -7,6 +7,7 @@ import { fetchGetOssListByIds } from '@/service/api/system/oss';
import { useDict } from '@/hooks/business/dict';
import { useDownload } from '@/hooks/business/download';
import DictTag from '@/components/custom/dict-tag.vue';
+import GroupTag from '@/components/custom/group-tag.vue';
defineOptions({
name: 'ApprovalInfoPanel'
@@ -38,37 +39,7 @@ const columns = ref[]>([
align: 'center',
width: 100,
render: row => {
- if (!row.approveName) return null;
-
- const approveNames = row.approveName.split(',');
-
- if (approveNames.length <= 1) {
- return (
-
- {row.approveName}
-
- );
- }
- return (
-
- {{
- trigger: () => (
-
- {approveNames[0]}...({approveNames.length})
-
- ),
- default: () => (
-
- {approveNames.map(name => (
-
- {name}
-
- ))}
-
- )
- }}
-
- );
+ return ;
}
},
{
diff --git a/src/typings/components.d.ts b/src/typings/components.d.ts
index 29317aab..d2246768 100644
--- a/src/typings/components.d.ts
+++ b/src/typings/components.d.ts
@@ -27,6 +27,7 @@ declare module 'vue' {
FlowPreview: typeof import('./../components/custom/workflow/flow-preview.vue')['default']
FormTip: typeof import('./../components/custom/form-tip.vue')['default']
FullScreen: typeof import('./../components/common/full-screen.vue')['default']
+ GroupTag: typeof import('./../components/custom/group-tag.vue')['default']
IconAntDesignEnterOutlined: typeof import('~icons/ant-design/enter-outlined')['default']
IconAntDesignReloadOutlined: typeof import('~icons/ant-design/reload-outlined')['default']
IconAntDesignSettingOutlined: typeof import('~icons/ant-design/setting-outlined')['default']
@@ -59,6 +60,7 @@ declare module 'vue' {
'IconQuill:expand': typeof import('~icons/quill/expand')['default']
'IconSimpleIcons:gitee': typeof import('~icons/simple-icons/gitee')['default']
IconUilSearch: typeof import('~icons/uil/search')['default']
+ InfoTag: typeof import('./../components/custom/info-tag.vue')['default']
JsonPreview: typeof import('./../components/custom/json-preview.vue')['default']
LangSwitch: typeof import('./../components/common/lang-switch.vue')['default']
LeaveEdit: typeof import('./../components/custom/workflow/leave-edit/index.vue')['default']
diff --git a/src/views/workflow/task/all-task-waiting/index.vue b/src/views/workflow/task/all-task-waiting/index.vue
index 87671d7b..47eb8b64 100644
--- a/src/views/workflow/task/all-task-waiting/index.vue
+++ b/src/views/workflow/task/all-task-waiting/index.vue
@@ -1,12 +1,15 @@
@@ -243,6 +285,7 @@ getTreeData();
class="sm:h-full"
/>
+