mirror of
https://github.com/ccmjga/zhilu-admin
synced 2026-03-19 00:23:45 +08:00
新增部门子级查询功能,更新相关API接口和前端组件,优化部门树形结构展示,支持父子部门关系的处理
This commit is contained in:
@@ -3,13 +3,17 @@ import { http, HttpResponse } from "msw";
|
||||
|
||||
export default [
|
||||
http.get("/department/page-query", () => {
|
||||
const generateDepartment = () => ({
|
||||
id: faker.number.int({ min: 1, max: 100 }),
|
||||
name: faker.company.name(),
|
||||
parentId: faker.number.int({ min: 1, max: 100 }),
|
||||
isBound: faker.datatype.boolean(),
|
||||
parentName: faker.company.name(),
|
||||
});
|
||||
const generateDepartment = () => {
|
||||
// 20% 的概率生成 parentId 为 null 的数据
|
||||
const hasParent = faker.datatype.boolean(0.8);
|
||||
return {
|
||||
id: faker.number.int({ min: 1, max: 100 }),
|
||||
name: faker.company.name(),
|
||||
parentId: hasParent ? faker.number.int({ min: 1, max: 100 }) : null,
|
||||
isBound: faker.datatype.boolean(),
|
||||
parentName: hasParent ? faker.company.name() : null,
|
||||
};
|
||||
};
|
||||
const mockData = {
|
||||
data: faker.helpers.multiple(generateDepartment, { count: 10 }),
|
||||
total: 30,
|
||||
@@ -17,21 +21,41 @@ export default [
|
||||
return HttpResponse.json(mockData);
|
||||
}),
|
||||
http.get("/department/query-available", () => {
|
||||
const generateDepartment = () => ({
|
||||
id: faker.number.int({ min: 1, max: 30 }),
|
||||
name: faker.company.name(),
|
||||
parentId: faker.number.int({ min: 1, max: 30 }),
|
||||
parentName: faker.company.name(),
|
||||
});
|
||||
const generateDepartment = () => {
|
||||
// 20% 的概率生成 parentId 为 null 的数据
|
||||
const hasParent = faker.datatype.boolean(0.8);
|
||||
return {
|
||||
id: faker.number.int({ min: 1, max: 30 }),
|
||||
name: faker.company.name(),
|
||||
parentId: hasParent ? faker.number.int({ min: 1, max: 30 }) : null,
|
||||
parentName: hasParent ? faker.company.name() : null,
|
||||
};
|
||||
};
|
||||
const mockData = faker.helpers.multiple(generateDepartment, { count: 30 });
|
||||
|
||||
return HttpResponse.json(mockData);
|
||||
}),
|
||||
|
||||
http.post("/department", () => {
|
||||
console.log("Captured department upsert");
|
||||
return HttpResponse.json();
|
||||
}),
|
||||
http.get("/department/query-sub", ({ request }) => {
|
||||
const generateDepartment = () => {
|
||||
// 20% 的概率生成 parentId 为 null 的数据
|
||||
const hasParent = faker.datatype.boolean(0.8);
|
||||
return {
|
||||
id: faker.number.int({ min: 1, max: 30 }),
|
||||
name: faker.company.name(),
|
||||
parentId: hasParent ? faker.number.int({ min: 1, max: 30 }) : null,
|
||||
parentName: hasParent ? faker.company.name() : null,
|
||||
};
|
||||
};
|
||||
const mockData = faker.helpers.multiple(generateDepartment, {
|
||||
count: 30,
|
||||
});
|
||||
|
||||
return HttpResponse.json(mockData);
|
||||
}),
|
||||
http.delete("/department", () => {
|
||||
console.log("Captured department delete");
|
||||
return HttpResponse.json();
|
||||
|
||||
@@ -1077,6 +1077,40 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"/department/query-sub": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"department-controller"
|
||||
],
|
||||
"operationId": "querySubDepartment",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "id",
|
||||
"in": "query",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "integer",
|
||||
"format": "int64"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"content": {
|
||||
"*/*": {
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/DepartmentWithParentDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/department/query-available": {
|
||||
"get": {
|
||||
"tags": [
|
||||
@@ -1977,6 +2011,35 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"DepartmentWithParentDto": {
|
||||
"required": [
|
||||
"id",
|
||||
"name",
|
||||
"parentId",
|
||||
"parentName",
|
||||
"path"
|
||||
],
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "integer",
|
||||
"format": "int64"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"parentId": {
|
||||
"type": "integer",
|
||||
"format": "int64"
|
||||
},
|
||||
"parentName": {
|
||||
"type": "string"
|
||||
},
|
||||
"path": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DepartmentQueryDto": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
||||
47
frontend/src/api/types/schema.d.ts
vendored
47
frontend/src/api/types/schema.d.ts
vendored
@@ -532,6 +532,22 @@ export interface paths {
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/department/query-sub": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
get: operations["querySubDepartment"];
|
||||
put?: never;
|
||||
post?: never;
|
||||
delete?: never;
|
||||
options?: never;
|
||||
head?: never;
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/department/query-available": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
@@ -884,6 +900,15 @@ export interface components {
|
||||
total?: number;
|
||||
data?: components["schemas"]["PermissionRespDto"][];
|
||||
};
|
||||
DepartmentWithParentDto: {
|
||||
/** Format: int64 */
|
||||
id: number;
|
||||
name: string;
|
||||
/** Format: int64 */
|
||||
parentId: number;
|
||||
parentName: string;
|
||||
path: string;
|
||||
};
|
||||
DepartmentQueryDto: {
|
||||
/** Format: int64 */
|
||||
userId?: number;
|
||||
@@ -1826,6 +1851,28 @@ export interface operations {
|
||||
};
|
||||
};
|
||||
};
|
||||
querySubDepartment: {
|
||||
parameters: {
|
||||
query?: {
|
||||
id?: number;
|
||||
};
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
requestBody?: never;
|
||||
responses: {
|
||||
/** @description OK */
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"*/*": components["schemas"]["DepartmentWithParentDto"][];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
queryAvailableParentDepartmentsBy: {
|
||||
parameters: {
|
||||
query?: {
|
||||
|
||||
Reference in New Issue
Block a user