-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
-
-
- 重置
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+
+
+ 重置
+
+
+
-
-
-
- 新增用户
-
-
-
-
-
-
- 已选 {{ selectedNum }} 项
-
-
- 取消选择
-
-
-
-
-
- 批量删除
-
-
-
+
+
+
+ 新增用户
+
+
+
+
+
+
+ 已选 {{ selectedNum }} 项
+
+
+ 取消选择
+
-
-
-
- 修改
-
-
-
-
- 删除
-
-
-
-
+
+
+ 批量删除
+
+
+
+
+
+
+ 修改
+
+
+
-
-
-
-
- 上传头像
-
-
-
-
- 重置密码
-
-
-
-
- 分配角色
-
-
-
-
-
-
-
-
-
-
+ :icon="useRenderIcon(Delete)"
+ >
+ 删除
+
+
+
+
+
+
+
+
+
+ 上传头像
+
+
+
+
+ 重置密码
+
+
+
+
+ 分配角色
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/user/svg/expand.svg b/src/views/system/user/svg/expand.svg
deleted file mode 100644
index bb41c35..0000000
--- a/src/views/system/user/svg/expand.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/views/system/user/svg/unexpand.svg b/src/views/system/user/svg/unexpand.svg
deleted file mode 100644
index 04b3e9d..0000000
--- a/src/views/system/user/svg/unexpand.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/views/system/user/tree.vue b/src/views/system/user/tree.vue
deleted file mode 100644
index 4998cd2..0000000
--- a/src/views/system/user/tree.vue
+++ /dev/null
@@ -1,211 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ isExpand ? "折叠全部" : "展开全部" }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ node.label }}
-
-
-
-
-
-
-
-
-
diff --git a/src/views/system/user/utils/hook.tsx b/src/views/system/user/utils/hook.tsx
index 2deff43..8ac1ada 100644
--- a/src/views/system/user/utils/hook.tsx
+++ b/src/views/system/user/utils/hook.tsx
@@ -3,7 +3,6 @@ import dayjs from "dayjs";
import roleForm from "../form/role.vue";
import editForm from "../form/index.vue";
import { zxcvbn } from "@zxcvbn-ts/core";
-import { handleTree } from "@/utils/tree";
import { message } from "@/utils/message";
import userAvatar from "@/assets/user.jpg";
import { usePublicHooks } from "../../hooks";
@@ -17,12 +16,7 @@ import {
hideTextAtIndex,
deviceDetection
} from "@pureadmin/utils";
-import {
- getRoleIds,
- getDeptList,
- getUserList,
- getAllRoleList
-} from "@/api/system";
+import { getUserRoleIds, getUserList, getAllRoleList } from "@/api/system";
import {
ElForm,
ElInput,
@@ -32,10 +26,8 @@ import {
} from "element-plus";
import { type Ref, h, ref, watch, computed, reactive, onMounted } from "vue";
-export function useUser(tableRef: Ref, treeRef: Ref) {
+export function useUser(tableRef: Ref) {
const form = reactive({
- // 左侧部门树的id
- deptId: "",
username: "",
phone: "",
status: ""
@@ -48,9 +40,6 @@ export function useUser(tableRef: Ref, treeRef: Ref) {
const avatarInfo = ref();
const switchLoadMap = ref({});
const { switchStyle } = usePublicHooks();
- const higherDeptOptions = ref();
- const treeData = ref([]);
- const treeLoading = ref(true);
const selectedNum = ref(0);
const pagination = reactive
({
total: 0,
@@ -279,36 +268,15 @@ export function useUser(tableRef: Ref, treeRef: Ref) {
const resetForm = formEl => {
if (!formEl) return;
formEl.resetFields();
- form.deptId = "";
- treeRef.value.onTreeReset();
onSearch();
};
- function onTreeSelect({ id, selected }) {
- form.deptId = selected ? id : "";
- onSearch();
- }
-
- function formatHigherDeptOptions(treeList) {
- // 根据返回数据的status字段值判断追加是否禁用disabled字段,返回处理后的树结构,用于上级部门级联选择器的展示(实际开发中也是如此,不可能前端需要的每个字段后端都会返回,这时需要前端自行根据后端返回的某些字段做逻辑处理)
- if (!treeList || !treeList.length) return;
- const newTreeList = [];
- for (let i = 0; i < treeList.length; i++) {
- treeList[i].disabled = treeList[i].status === 0 ? true : false;
- formatHigherDeptOptions(treeList[i].children);
- newTreeList.push(treeList[i]);
- }
- return newTreeList;
- }
-
function openDialog(title = "新增", row?: FormItemProps) {
addDialog({
title: `${title}用户`,
props: {
formInline: {
title,
- higherDeptOptions: formatHigherDeptOptions(higherDeptOptions.value),
- parentId: row?.dept.id ?? 0,
nickname: row?.nickname ?? "",
username: row?.username ?? "",
password: row?.password ?? "",
@@ -459,7 +427,7 @@ export function useUser(tableRef: Ref, treeRef: Ref) {
/** 分配角色 */
async function handleRole(row) {
// 选中的角色列表
- const ids = (await getRoleIds({ userId: row.id })).data ?? [];
+ const ids = (await getUserRoleIds(row.id)).data ?? [];
addDialog({
title: `分配 ${row.username} 用户的角色`,
props: {
@@ -486,18 +454,7 @@ export function useUser(tableRef: Ref, treeRef: Ref) {
}
onMounted(async () => {
- treeLoading.value = true;
onSearch();
-
- // 归属部门
- const { code, data } = await getDeptList();
- if (code === 200) {
- higherDeptOptions.value = handleTree(data);
- treeData.value = handleTree(data);
- }
-
- treeLoading.value = false;
-
// 角色列表
roleOptions.value = (await getAllRoleList()).data ?? [];
});
@@ -507,8 +464,6 @@ export function useUser(tableRef: Ref, treeRef: Ref) {
loading,
columns,
dataList,
- treeData,
- treeLoading,
selectedNum,
pagination,
buttonClass,
@@ -517,7 +472,6 @@ export function useUser(tableRef: Ref, treeRef: Ref) {
resetForm,
onbatchDel,
openDialog,
- onTreeSelect,
handleUpdate,
handleDelete,
handleUpload,