chore(部门管理): 🚸 部门管理改为树形

This commit is contained in:
猿小天
2023-03-20 10:18:15 +08:00
parent 75f6153a9d
commit 020150fd54
3 changed files with 30 additions and 8 deletions

View File

@@ -102,8 +102,15 @@ class DeptViewSet(CustomModelViewSet):
def list(self, request, *args, **kwargs): def list(self, request, *args, **kwargs):
# 如果懒加载,则只返回父级 # 如果懒加载,则只返回父级
request.query_params._mutable = True
params = request.query_params params = request.query_params
parent = params.get('parent', None) parent = params.get('parent', None)
page = params.get('page', None)
limit = params.get('limit', None)
if page:
del params['page']
if limit:
del params['limit']
if params: if params:
if parent: if parent:
queryset = self.queryset.filter(status=True, parent=parent) queryset = self.queryset.filter(status=True, parent=parent)

View File

@@ -6,7 +6,7 @@ export function GetList(query: PageQuery) {
return request({ return request({
url: apiPrefix, url: apiPrefix,
method: 'get', method: 'get',
data: query, params: query,
}); });
} }
export function GetObj(id: InfoReq) { export function GetObj(id: InfoReq) {

View File

@@ -20,6 +20,18 @@ export const createCrudOptions = function ({ crudExpose }: { crudExpose: CrudExp
const addRequest = async ({ form }: AddReq) => { const addRequest = async ({ form }: AddReq) => {
return await api.AddObj(form); return await api.AddObj(form);
}; };
/**
* 懒加载
* @param row
* @returns {Promise<unknown>}
*/
const loadContentMethod = (tree: any, treeNode: any, resolve: any) => {
api.GetList({ parent: tree.id }).then((res: any) => {
resolve(res.data);
});
};
return { return {
crudOptions: { crudOptions: {
request: { request: {
@@ -28,21 +40,24 @@ export const createCrudOptions = function ({ crudExpose }: { crudExpose: CrudExp
editRequest, editRequest,
delRequest delRequest
}, },
pagination: {
show: false,
},
table: {
rowKey: 'id',
lazy: true,
load: loadContentMethod,
treeProps: { children: 'children', hasChildren: 'hasChild' },
},
columns: { columns: {
_index: { _index: {
title: '序号', title: '序号',
form: { show: false }, form: { show: false },
column: { column: {
//type: 'index', type: 'index',
align: 'center', align: 'center',
width: '70px', width: '70px',
columnSetDisabled: true, //禁止在列设置中选择 columnSetDisabled: true, //禁止在列设置中选择
formatter: (context) => {
//计算序号,你可以自定义计算规则,此处为翻页累加
let index = context.index ?? 1;
let pagination = crudExpose.crudBinding.value.pagination;
return ((pagination.currentPage ?? 1) - 1) * pagination.pageSize + index + 1;
},
}, },
}, },
search: { search: {