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 @@ + + + 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 @@