From e2689661c97cd8e742d5292368f7e5254fc916bc Mon Sep 17 00:00:00 2001 From: YunaiV Date: Tue, 23 Dec 2025 20:56:36 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E3=80=90bpm=E3=80=91=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E5=88=86=E7=BB=84=EF=BC=9A100%?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/bpm/user-group/index.ts | 45 +++++ src/components/system-select/index.ts | 1 + .../system-select}/user-picker.vue | 26 ++- .../user-group/components/search-form.vue | 153 ++++++++++++++ src/pages-bpm/user-group/detail/index.vue | 155 ++++++++++++++ src/pages-bpm/user-group/form/index.vue | 150 ++++++++++++++ src/pages-bpm/user-group/index.vue | 190 ++++++++++++++++++ src/pages-system/dept/form/index.vue | 2 +- .../operate-log/modules/search-form.vue | 2 +- 9 files changed, 708 insertions(+), 16 deletions(-) create mode 100644 src/api/bpm/user-group/index.ts create mode 100644 src/components/system-select/index.ts rename src/{pages-system/user/form/components => components/system-select}/user-picker.vue (86%) create mode 100644 src/pages-bpm/user-group/components/search-form.vue create mode 100644 src/pages-bpm/user-group/detail/index.vue create mode 100644 src/pages-bpm/user-group/form/index.vue create mode 100644 src/pages-bpm/user-group/index.vue diff --git a/src/api/bpm/user-group/index.ts b/src/api/bpm/user-group/index.ts new file mode 100644 index 0000000..188e54b --- /dev/null +++ b/src/api/bpm/user-group/index.ts @@ -0,0 +1,45 @@ +import type { PageParam, PageResult } from '@/http/types' +import { http } from '@/http/http' + +const baseUrl = '/bpm/user-group' + +/** 用户组 */ +export interface UserGroup { + id?: number + name: string // 组名 + description: string // 描述 + userIds: number[] // 成员用户编号数组 + status: number // 状态 + remark: string // 备注 + createTime?: Date +} + +/** 获取用户组分页列表 */ +export function getUserGroupPage(params: PageParam) { + return http.get>(`${baseUrl}/page`, params) +} + +/** 获取用户组详情 */ +export function getUserGroup(id: number) { + return http.get(`${baseUrl}/get?id=${id}`) +} + +/** 创建用户组 */ +export function createUserGroup(data: UserGroup) { + return http.post(`${baseUrl}/create`, data) +} + +/** 更新用户组 */ +export function updateUserGroup(data: UserGroup) { + return http.put(`${baseUrl}/update`, data) +} + +/** 删除用户组 */ +export function deleteUserGroup(id: number) { + return http.delete(`${baseUrl}/delete?id=${id}`) +} + +/** 获取用户组简单列表 */ +export function getUserGroupSimpleList() { + return http.get(`${baseUrl}/simple-list`) +} diff --git a/src/components/system-select/index.ts b/src/components/system-select/index.ts new file mode 100644 index 0000000..1b19ddf --- /dev/null +++ b/src/components/system-select/index.ts @@ -0,0 +1 @@ +export { default as UserPicker } from './user-picker.vue' diff --git a/src/pages-system/user/form/components/user-picker.vue b/src/components/system-select/user-picker.vue similarity index 86% rename from src/pages-system/user/form/components/user-picker.vue rename to src/components/system-select/user-picker.vue index 28f8d65..3dbeca6 100644 --- a/src/pages-system/user/form/components/user-picker.vue +++ b/src/components/system-select/user-picker.vue @@ -3,7 +3,9 @@ v-model="selectedId" :label="label" :label-width="label ? '180rpx' : '0'" - :columns="columns" + :columns="userList" + value-key="id" + label-key="nickname" :type="type" filterable :placeholder="placeholder" @@ -13,7 +15,7 @@ diff --git a/src/pages-bpm/user-group/detail/index.vue b/src/pages-bpm/user-group/detail/index.vue new file mode 100644 index 0000000..f0f751f --- /dev/null +++ b/src/pages-bpm/user-group/detail/index.vue @@ -0,0 +1,155 @@ + + + + + diff --git a/src/pages-bpm/user-group/form/index.vue b/src/pages-bpm/user-group/form/index.vue new file mode 100644 index 0000000..890d747 --- /dev/null +++ b/src/pages-bpm/user-group/form/index.vue @@ -0,0 +1,150 @@ + + + + + diff --git a/src/pages-bpm/user-group/index.vue b/src/pages-bpm/user-group/index.vue new file mode 100644 index 0000000..5637def --- /dev/null +++ b/src/pages-bpm/user-group/index.vue @@ -0,0 +1,190 @@ + + + + + diff --git a/src/pages-system/dept/form/index.vue b/src/pages-system/dept/form/index.vue index 3bc9edf..8a74985 100644 --- a/src/pages-system/dept/form/index.vue +++ b/src/pages-system/dept/form/index.vue @@ -80,7 +80,7 @@ import type { Dept } from '@/api/system/dept' import { computed, onMounted, ref } from 'vue' import { useToast } from 'wot-design-uni' import { createDept, getDept, updateDept } from '@/api/system/dept' -import UserPicker from '@/pages-system/user/form/components/user-picker.vue' +import UserPicker from '@/components/system-select/user-picker.vue' import { navigateBackPlus } from '@/utils' import { CommonStatusEnum } from '@/utils/constants' import DeptPicker from './components/dept-picker.vue' diff --git a/src/pages-system/operate-log/modules/search-form.vue b/src/pages-system/operate-log/modules/search-form.vue index 2e11260..2de0361 100644 --- a/src/pages-system/operate-log/modules/search-form.vue +++ b/src/pages-system/operate-log/modules/search-form.vue @@ -108,7 +108,7 @@