diff --git a/backend/dvadmin/system/views/dept.py b/backend/dvadmin/system/views/dept.py index febc74e..1a2907c 100644 --- a/backend/dvadmin/system/views/dept.py +++ b/backend/dvadmin/system/views/dept.py @@ -158,14 +158,11 @@ class DeptViewSet(CustomModelViewSet): parent = self.request.query_params.get('parent') is_superuser = request.user.is_superuser if is_superuser: - if parent: - queryset = Dept.objects.filter(parent=parent).values('id', 'name', 'parent') - else: - queryset = Dept.objects.filter(parent__isnull=True).values('id', 'name', 'parent') + queryset = Dept.objects.values('id', 'name', 'parent') else: data_range = request.user.role.values_list('data_range', flat=True) user_dept_id = request.user.dept.id - dept_list = [] + dept_list = [user_dept_id] data_range_list = list(set(data_range)) for item in data_range_list: if item in [0,2]: @@ -178,10 +175,7 @@ class DeptViewSet(CustomModelViewSet): dept_list = request.user.role.values_list('dept',flat=True) else: dept_list = [] - if parent: - queryset = Dept.objects.filter(id__in=dept_list,parent=parent).values('id', 'name', 'parent') - else: - queryset = Dept.objects.filter(id__in=dept_list,parent__isnull=True).values('id', 'name', 'parent') + queryset = Dept.objects.filter(id__in=dept_list).values('id', 'name', 'parent') return DetailResponse(data=queryset, msg="获取成功") diff --git a/web/src/views/system/dept/api.js b/web/src/views/system/dept/api.js index 362d5d0..dbce636 100644 --- a/web/src/views/system/dept/api.js +++ b/web/src/views/system/dept/api.js @@ -1,6 +1,6 @@ import { request } from '@/api/service' +import XEUtils from 'xe-utils' export const urlPrefix = '/api/system/dept/' - /** * 列表查询 */ @@ -62,5 +62,7 @@ export function DeptLazy (query) { url: '/api/system/dept_lazy_tree/', method: 'get', params: query + }).then(res => { + return XEUtils.toArrayTree(res.data, { parentKey: 'parent' }) }) } diff --git a/web/src/views/system/dept/crud.js b/web/src/views/system/dept/crud.js index b9dd086..dc28d74 100644 --- a/web/src/views/system/dept/crud.js +++ b/web/src/views/system/dept/crud.js @@ -109,13 +109,6 @@ export const crudOptions = (vm) => { cache: false, getData: (url, dict, { form, component }) => { // 配置此参数会覆盖全局的getRemoteDictFunc return api.DeptLazy().then(ret => { return ret.data }) - }, - getNodes (values, data) { - // 配置行展示远程获取nodes - return new Promise((resolve, reject) => { - const row = vm.getEditRow() - resolve(row.parent !== null ? [{ name: row.parent_name, id: row.parent }] : []) - }) } }, form: { @@ -123,17 +116,7 @@ export const crudOptions = (vm) => { component: { span: 12, props: { - multiple: false, - elProps: { - lazy: true, - hasChild: 'has_children', - load (node, resolve) { - // 懒加载 - api.DeptLazy({ parent: node.data.id }).then((data) => { - resolve(data.data) - }) - } - } + multiple: false } } }