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