From c2f8c439058e9f3e4148c901b2ebc38b05442715 Mon Sep 17 00:00:00 2001
From: sheng <15292050171@163.com>
Date: Mon, 31 Jul 2023 17:05:15 +0800
Subject: [PATCH] =?UTF-8?q?refactor(=E8=8F=9C=E5=8D=95=E7=AE=A1=E7=90=86?=
=?UTF-8?q?=E7=AE=A1=E7=90=86):=20=20=E7=BB=84=E4=BB=B6=E6=8A=BD=E7=A6=BB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../views/system/dept/components/TreeCom.vue | 6 +-
web/src/views/system/dept/index.vue | 4 -
web/src/views/system/menu/api.ts | 106 ++--
.../{menuButton => MenuButtonCom}/api.ts | 0
.../{menuButton => MenuButtonCom}/crud.tsx | 10 +-
.../{menuButton => MenuButtonCom}/index.vue | 29 +-
.../menu/components/MenuFormCom/index.vue | 203 +++++++
.../menu/components/MenuTreeCom/index.vue | 314 ++++++++++
web/src/views/system/menu/crud.tsx | 31 -
web/src/views/system/menu/index.vue | 566 ++----------------
web/src/views/system/menu/types.ts | 47 +-
11 files changed, 674 insertions(+), 642 deletions(-)
rename web/src/views/system/menu/components/{menuButton => MenuButtonCom}/api.ts (100%)
rename web/src/views/system/menu/components/{menuButton => MenuButtonCom}/crud.tsx (96%)
rename web/src/views/system/menu/components/{menuButton => MenuButtonCom}/index.vue (52%)
create mode 100644 web/src/views/system/menu/components/MenuFormCom/index.vue
create mode 100644 web/src/views/system/menu/components/MenuTreeCom/index.vue
delete mode 100644 web/src/views/system/menu/crud.tsx
diff --git a/web/src/views/system/dept/components/TreeCom.vue b/web/src/views/system/dept/components/TreeCom.vue
index 8e8dee2..ea8b688 100644
--- a/web/src/views/system/dept/components/TreeCom.vue
+++ b/web/src/views/system/dept/components/TreeCom.vue
@@ -134,10 +134,10 @@ const handleLoadNode = (node: Node, resolve: Function) => {
/**
* 部门的点击事件
*/
-const handleNodeClick = (data: TreeItemType, node: Node) => {
- treeSelectDept.value = data;
+const handleNodeClick = (record: TreeItemType, node: Node) => {
+ treeSelectDept.value = record;
treeSelectNode.value = node;
- emit('treeClick', data.id);
+ emit('treeClick', record.id);
};
/**
diff --git a/web/src/views/system/dept/index.vue b/web/src/views/system/dept/index.vue
index e172c0c..5a2eef3 100644
--- a/web/src/views/system/dept/index.vue
+++ b/web/src/views/system/dept/index.vue
@@ -120,10 +120,6 @@ onMounted(() => {
.dept-left {
position: relative;
border-radius: 0 8px 8px 0;
-
- .dl-nav {
- margin-bottom: 10px;
- }
}
.dept-table {
diff --git a/web/src/views/system/menu/api.ts b/web/src/views/system/menu/api.ts
index a27cbf5..da6afb2 100644
--- a/web/src/views/system/menu/api.ts
+++ b/web/src/views/system/menu/api.ts
@@ -1,82 +1,82 @@
-import {request} from '/@/utils/service';
-import {UserPageQuery, AddReq, DelReq, EditReq, InfoReq} from '@fast-crud/fast-crud';
+import { request } from '/@/utils/service';
+import { UserPageQuery, AddReq, EditReq, InfoReq } from '@fast-crud/fast-crud';
export const apiPrefix = '/api/system/menu/';
export function GetList(query: UserPageQuery) {
- return request({
- url: apiPrefix,
- method: 'get',
- params: query,
- });
+ return request({
+ url: apiPrefix,
+ method: 'get',
+ params: query,
+ });
}
export function GetObj(id: InfoReq) {
- return request({
- url: apiPrefix + id + '/',
- method: 'get',
- });
+ return request({
+ url: apiPrefix + id + '/',
+ method: 'get',
+ });
}
export function AddObj(obj: AddReq) {
- return request({
- url: apiPrefix,
- method: 'post',
- data: obj,
- });
+ return request({
+ url: apiPrefix,
+ method: 'post',
+ data: obj,
+ });
}
export function UpdateObj(obj: EditReq) {
- return request({
- url: apiPrefix + obj.id + '/',
- method: 'put',
- data: obj,
- });
+ return request({
+ url: apiPrefix + obj.id + '/',
+ method: 'put',
+ data: obj,
+ });
}
-export function DelObj(obj: DelReq) {
- return request({
- url: apiPrefix + obj.id + '/',
- method: 'delete',
- });
+export function DelObj(id: string | number) {
+ return request({
+ url: apiPrefix + id + '/',
+ method: 'delete',
+ });
}
export function GetAllMenu(query: UserPageQuery) {
- return request({
- url: apiPrefix + 'get_all_menu/',
- method: 'get',
- params: query,
- });
+ return request({
+ url: apiPrefix + 'get_all_menu/',
+ method: 'get',
+ params: query,
+ });
}
export function lazyLoadMenu(query: UserPageQuery) {
- return request({
- url: apiPrefix,
- method: 'get',
- params: query,
- });
+ return request({
+ url: apiPrefix,
+ method: 'get',
+ params: query,
+ });
}
export function dragMenu(obj: AddReq) {
- return request({
- url: apiPrefix + 'drag_menu/',
- method: 'post',
- data: obj,
- });
+ return request({
+ url: apiPrefix + 'drag_menu/',
+ method: 'post',
+ data: obj,
+ });
}
-export function moveUp(obj: AddReq) {
- return request({
- url: apiPrefix + 'move_up/',
- method: 'post',
- data: obj,
- });
+export function menuMoveUp(obj: AddReq) {
+ return request({
+ url: apiPrefix + 'move_up/',
+ method: 'post',
+ data: obj,
+ });
}
-export function moveDown(obj: AddReq) {
- return request({
- url: apiPrefix + 'move_down/',
- method: 'post',
- data: obj,
- });
+export function menuMoveDown(obj: AddReq) {
+ return request({
+ url: apiPrefix + 'move_down/',
+ method: 'post',
+ data: obj,
+ });
}
diff --git a/web/src/views/system/menu/components/menuButton/api.ts b/web/src/views/system/menu/components/MenuButtonCom/api.ts
similarity index 100%
rename from web/src/views/system/menu/components/menuButton/api.ts
rename to web/src/views/system/menu/components/MenuButtonCom/api.ts
diff --git a/web/src/views/system/menu/components/menuButton/crud.tsx b/web/src/views/system/menu/components/MenuButtonCom/crud.tsx
similarity index 96%
rename from web/src/views/system/menu/components/menuButton/crud.tsx
rename to web/src/views/system/menu/components/MenuButtonCom/crud.tsx
index e70e8ab..fe34d05 100644
--- a/web/src/views/system/menu/components/menuButton/crud.tsx
+++ b/web/src/views/system/menu/components/MenuButtonCom/crud.tsx
@@ -1,10 +1,10 @@
-import { AddReq, DelReq, EditReq, dict, CreateCrudOptionsRet, CreateCrudOptionsProps, UserPageQuery } from '@fast-crud/fast-crud';
+import { AddReq, DelReq, EditReq, dict, CreateCrudOptionsRet, CreateCrudOptionsProps } from '@fast-crud/fast-crud';
import * as api from './api';
import { request } from '/@/utils/service';
//此处为crudOptions配置
export const createCrudOptions = function ({ crudExpose, context }: CreateCrudOptionsProps): CreateCrudOptionsRet {
- const pageRequest = async (query: UserPageQuery) => {
+ const pageRequest = async () => {
if (context!.selectOptions.value.id) {
return await api.GetList({ menu: context!.selectOptions.value.id } as any);
} else {
@@ -113,7 +113,7 @@ export const createCrudOptions = function ({ crudExpose, context }: CreateCrudOp
},
},
helper: {
- render(h) {
+ render() {
return ;
},
},
@@ -131,7 +131,7 @@ export const createCrudOptions = function ({ crudExpose, context }: CreateCrudOp
rules: [{ required: true, message: '权限标识必填' }],
placeholder: '输入权限标识',
helper: {
- render(h) {
+ render() {
return ;
},
},
@@ -190,7 +190,7 @@ export const createCrudOptions = function ({ crudExpose, context }: CreateCrudOp
},
},
helper: {
- render(h) {
+ render() {
return ;
},
},
diff --git a/web/src/views/system/menu/components/menuButton/index.vue b/web/src/views/system/menu/components/MenuButtonCom/index.vue
similarity index 52%
rename from web/src/views/system/menu/components/menuButton/index.vue
rename to web/src/views/system/menu/components/MenuButtonCom/index.vue
index 6c227ff..af2bddd 100644
--- a/web/src/views/system/menu/components/menuButton/index.vue
+++ b/web/src/views/system/menu/components/MenuButtonCom/index.vue
@@ -3,27 +3,26 @@
diff --git a/web/src/views/system/menu/components/MenuFormCom/index.vue b/web/src/views/system/menu/components/MenuFormCom/index.vue
new file mode 100644
index 0000000..2ffb2aa
--- /dev/null
+++ b/web/src/views/system/menu/components/MenuFormCom/index.vue
@@ -0,0 +1,203 @@
+
+
+
+
+
+
+
diff --git a/web/src/views/system/menu/components/MenuTreeCom/index.vue b/web/src/views/system/menu/components/MenuTreeCom/index.vue
new file mode 100644
index 0000000..324c509
--- /dev/null
+++ b/web/src/views/system/menu/components/MenuTreeCom/index.vue
@@ -0,0 +1,314 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/web/src/views/system/menu/crud.tsx b/web/src/views/system/menu/crud.tsx
deleted file mode 100644
index 551353d..0000000
--- a/web/src/views/system/menu/crud.tsx
+++ /dev/null
@@ -1,31 +0,0 @@
-import * as api from './api';
-import { AddReq, CreateCrudOptionsProps, CreateCrudOptionsRet, DelReq, EditReq, UserPageQuery, UserPageRes } from '@fast-crud/fast-crud';
-
-export default function ({ crudExpose }: CreateCrudOptionsProps): CreateCrudOptionsRet {
- const pageRequest = async (query: UserPageQuery): Promise => {
- return await api.GetList(query);
- };
- const editRequest = async ({ form, row }: EditReq) => {
- form.id = row.id;
- return await api.UpdateObj(form);
- };
- const delRequest = async ({ row }: DelReq) => {
- return await api.DelObj(row.id);
- };
-
- const addRequest = async ({ form }: AddReq) => {
- return await api.AddObj(form);
- };
-
- return {
- crudOptions: {
- request: {
- pageRequest,
- addRequest,
- editRequest,
- delRequest,
- },
- columns: {},
- },
- };
-}
diff --git a/web/src/views/system/menu/index.vue b/web/src/views/system/menu/index.vue
index 611b14f..c4f03c7 100644
--- a/web/src/views/system/menu/index.vue
+++ b/web/src/views/system/menu/index.vue
@@ -3,322 +3,38 @@
-
+