From e61c3e9058b57254d17176d43665258573c8a43f Mon Sep 17 00:00:00 2001 From: dap <15891557205@163.com> Date: Sun, 22 Sep 2024 18:14:04 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90user-drawer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web-antd/src/api/system/post/index.ts | 2 +- apps/web-antd/src/api/system/user/index.ts | 3 +- apps/web-antd/src/views/system/role/data.tsx | 10 ++ apps/web-antd/src/views/system/user/data.tsx | 16 ++- .../src/views/system/user/user-drawer.vue | 126 ++++++++++++++++-- 5 files changed, 140 insertions(+), 17 deletions(-) create mode 100644 apps/web-antd/src/views/system/role/data.tsx diff --git a/apps/web-antd/src/api/system/post/index.ts b/apps/web-antd/src/api/system/post/index.ts index 13952892..61c5c3eb 100644 --- a/apps/web-antd/src/api/system/post/index.ts +++ b/apps/web-antd/src/api/system/post/index.ts @@ -42,5 +42,5 @@ export function postRemove(postIds: IDS) { } export function postOptionSelect(deptId: ID) { - return requestClient.get(Api.postSelect, { params: { deptId } }); + return requestClient.get(Api.postSelect, { params: { deptId } }); } diff --git a/apps/web-antd/src/api/system/user/index.ts b/apps/web-antd/src/api/system/user/index.ts index c6499578..ff2a3d52 100644 --- a/apps/web-antd/src/api/system/user/index.ts +++ b/apps/web-antd/src/api/system/user/index.ts @@ -77,11 +77,12 @@ export function downloadImportTemplate() { /** * 可以不传ID 返回部门和角色options 需要获得原始数据 + * 不传ID时一定要带最后的/ * @param userId 用户ID * @returns 用户信息 */ export function findUserInfo(userId?: ID) { - const url = userId ? `${Api.root}/${userId}` : `${Api.root}`; + const url = userId ? `${Api.root}/${userId}` : `${Api.root}/`; return requestClient.get(url); } diff --git a/apps/web-antd/src/views/system/role/data.tsx b/apps/web-antd/src/views/system/role/data.tsx new file mode 100644 index 00000000..26fc8765 --- /dev/null +++ b/apps/web-antd/src/views/system/role/data.tsx @@ -0,0 +1,10 @@ +/** + * authScopeOptions user也会用到 + */ +export const authScopeOptions = [ + { color: 'green', label: '全部数据权限', value: '1' }, + { color: 'default', label: '自定数据权限', value: '2' }, + { color: 'orange', label: '本部门数据权限', value: '3' }, + { color: 'cyan', label: '本部门及以下数据权限', value: '4' }, + { color: 'error', label: '仅本人数据权限', value: '5' }, +]; diff --git a/apps/web-antd/src/views/system/user/data.tsx b/apps/web-antd/src/views/system/user/data.tsx index e019e182..7b72dad7 100644 --- a/apps/web-antd/src/views/system/user/data.tsx +++ b/apps/web-antd/src/views/system/user/data.tsx @@ -42,11 +42,8 @@ export const drawerSchema: FormSchemaGetter = () => [ }, { component: 'TreeSelect', - componentProps: { - class: 'w-full', - getPopupContainer, - placeholder: '请选择', - }, + // 在drawer里更新 这里不需要默认的componentProps + defaultValue: undefined, fieldName: 'deptId', label: '所属部门', rules: 'selectRequired', @@ -101,9 +98,13 @@ export const drawerSchema: FormSchemaGetter = () => [ componentProps: { class: 'w-full', getPopupContainer, - placeholder: '请选择', + mode: 'multiple', + optionFilterProp: 'label', + optionLabelProp: 'label', + placeholder: '请先选择部门', }, fieldName: 'postIds', + help: '选择部门后, 将自动加载该部门下所有的岗位', label: '岗位', }, { @@ -111,6 +112,9 @@ export const drawerSchema: FormSchemaGetter = () => [ componentProps: { class: 'w-full', getPopupContainer, + mode: 'multiple', + optionFilterProp: 'label', + optionLabelProp: 'label', placeholder: '请选择', }, fieldName: 'roleIds', diff --git a/apps/web-antd/src/views/system/user/user-drawer.vue b/apps/web-antd/src/views/system/user/user-drawer.vue index 5f5550f1..b4634cc0 100644 --- a/apps/web-antd/src/views/system/user/user-drawer.vue +++ b/apps/web-antd/src/views/system/user/user-drawer.vue @@ -1,11 +1,23 @@