From 2bad36c982cdaea597372e3fbbbfa9996c34b543 Mon Sep 17 00:00:00 2001 From: sheng <15292050171@163.com> Date: Thu, 27 Jul 2023 18:31:28 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E9=83=A8=E9=97=A8=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/.env | 2 +- web/src/App.vue | 51 +- web/src/views/system/dept/api.ts | 22 +- .../views/system/dept/components/FormCom.vue | 88 ++++ .../views/system/dept/components/TreeCom.vue | 251 +++++++++ web/src/views/system/dept/index.vue | 475 ++++++++---------- web/src/views/system/dept/types.ts | 52 ++ web/src/views/system/menu/index.vue | 17 +- web/src/views/system/user/index.vue | 24 +- 9 files changed, 651 insertions(+), 331 deletions(-) create mode 100644 web/src/views/system/dept/components/FormCom.vue create mode 100644 web/src/views/system/dept/components/TreeCom.vue create mode 100644 web/src/views/system/dept/types.ts diff --git a/web/.env b/web/.env index 6bc4ce9..1ba2849 100644 --- a/web/.env +++ b/web/.env @@ -1,5 +1,5 @@ # port 端口号 -VITE_PORT = 8080 +VITE_PORT = 8085 # open 运行 npm run dev 时自动打开浏览器 VITE_OPEN = false diff --git a/web/src/App.vue b/web/src/App.vue index 43ac106..83d312a 100644 --- a/web/src/App.vue +++ b/web/src/App.vue @@ -1,5 +1,6 @@ diff --git a/web/src/views/system/dept/api.ts b/web/src/views/system/dept/api.ts index 29254ea..3ea5a6e 100644 --- a/web/src/views/system/dept/api.ts +++ b/web/src/views/system/dept/api.ts @@ -1,7 +1,8 @@ import { request } from '/@/utils/service'; -import { UserPageQuery, AddReq, DelReq, EditReq, InfoReq } from '@fast-crud/fast-crud'; +import { UserPageQuery, AddReq, DelReq, EditReq, InfoReq, PageQuery } from '@fast-crud/fast-crud'; export const apiPrefix = '/api/system/dept/'; + export function GetList(query: UserPageQuery) { return request({ url: apiPrefix, @@ -9,6 +10,7 @@ export function GetList(query: UserPageQuery) { params: query, }); } + export function GetObj(id: InfoReq) { return request({ url: apiPrefix + id, @@ -32,11 +34,10 @@ export function UpdateObj(obj: EditReq) { }); } -export function DelObj(obj: DelReq) { +export function DelObj(id: string) { return request({ - url: apiPrefix + obj.id + '/', - method: 'delete', - data: obj, + url: apiPrefix + id + '/', + method: 'delete' }); } @@ -47,3 +48,14 @@ export function lazyLoadDept(query: UserPageQuery) { params: query, }); } + +/** + * 用户相关接口 + */ +export function getUserDeptList(query: PageQuery) { + return request({ + url: "/api/system/dept/dept_lazy_tree/", + method: 'get', + params: query, + }); +} diff --git a/web/src/views/system/dept/components/FormCom.vue b/web/src/views/system/dept/components/FormCom.vue new file mode 100644 index 0000000..3f805db --- /dev/null +++ b/web/src/views/system/dept/components/FormCom.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/web/src/views/system/dept/components/TreeCom.vue b/web/src/views/system/dept/components/TreeCom.vue new file mode 100644 index 0000000..95049b4 --- /dev/null +++ b/web/src/views/system/dept/components/TreeCom.vue @@ -0,0 +1,251 @@ + + + + + + + \ No newline at end of file diff --git a/web/src/views/system/dept/index.vue b/web/src/views/system/dept/index.vue index 4b99b95..5bdb014 100644 --- a/web/src/views/system/dept/index.vue +++ b/web/src/views/system/dept/index.vue @@ -1,308 +1,231 @@ + \ No newline at end of file diff --git a/web/src/views/system/dept/types.ts b/web/src/views/system/dept/types.ts new file mode 100644 index 0000000..a1ef5c6 --- /dev/null +++ b/web/src/views/system/dept/types.ts @@ -0,0 +1,52 @@ +export interface TreeType { + id: number; + name: string; + status: boolean; + children?: TreeType[]; +} + +export interface APIResponseData { + code?: number; + data: []; + msg?: string; +} + +export interface FormType { + [key: string]: T; +} + +export interface TreeItemType { + id?: number; + modifier_name?: string; + creator_name?: string; + create_datetime?: string; + update_datetime?: string; + parent_name?: string; + status_label?: string; + has_children?: number; + hasChild?: false, + description?: string; + modifier?: string; + dept_belong_id?: string; + name?: string; + key?: string; + sort?: number; + owner?: string; + phone?: string; + email?: string; + status?: boolean; + creator?: number; + parent?: number; +} + +export interface DeptFormDataType { + id: string; + key: string; + parent: string; + name: string; + owner: string; + phone: string; + email: string; + sort: number; + is_catalog?: boolean; +} \ No newline at end of file diff --git a/web/src/views/system/menu/index.vue b/web/src/views/system/menu/index.vue index 8e3c783..8fd3e37 100644 --- a/web/src/views/system/menu/index.vue +++ b/web/src/views/system/menu/index.vue @@ -1,6 +1,6 @@