功能变化:

1.部门管理优化;
pull/84/head
猿小天 2023-01-01 18:06:46 +08:00
parent 3b5435cab7
commit 538c0b3983
3 changed files with 7 additions and 28 deletions

View File

@ -158,14 +158,11 @@ class DeptViewSet(CustomModelViewSet):
parent = self.request.query_params.get('parent') parent = self.request.query_params.get('parent')
is_superuser = request.user.is_superuser is_superuser = request.user.is_superuser
if is_superuser: if is_superuser:
if parent: queryset = Dept.objects.values('id', 'name', 'parent')
queryset = Dept.objects.filter(parent=parent).values('id', 'name', 'parent')
else:
queryset = Dept.objects.filter(parent__isnull=True).values('id', 'name', 'parent')
else: else:
data_range = request.user.role.values_list('data_range', flat=True) data_range = request.user.role.values_list('data_range', flat=True)
user_dept_id = request.user.dept.id user_dept_id = request.user.dept.id
dept_list = [] dept_list = [user_dept_id]
data_range_list = list(set(data_range)) data_range_list = list(set(data_range))
for item in data_range_list: for item in data_range_list:
if item in [0,2]: if item in [0,2]:
@ -178,10 +175,7 @@ class DeptViewSet(CustomModelViewSet):
dept_list = request.user.role.values_list('dept',flat=True) dept_list = request.user.role.values_list('dept',flat=True)
else: else:
dept_list = [] dept_list = []
if parent: queryset = Dept.objects.filter(id__in=dept_list).values('id', 'name', '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')
return DetailResponse(data=queryset, msg="获取成功") return DetailResponse(data=queryset, msg="获取成功")

View File

@ -1,6 +1,6 @@
import { request } from '@/api/service' import { request } from '@/api/service'
import XEUtils from 'xe-utils'
export const urlPrefix = '/api/system/dept/' export const urlPrefix = '/api/system/dept/'
/** /**
* 列表查询 * 列表查询
*/ */
@ -62,5 +62,7 @@ export function DeptLazy (query) {
url: '/api/system/dept_lazy_tree/', url: '/api/system/dept_lazy_tree/',
method: 'get', method: 'get',
params: query params: query
}).then(res => {
return XEUtils.toArrayTree(res.data, { parentKey: 'parent' })
}) })
} }

View File

@ -109,13 +109,6 @@ export const crudOptions = (vm) => {
cache: false, cache: false,
getData: (url, dict, { form, component }) => { // 配置此参数会覆盖全局的getRemoteDictFunc getData: (url, dict, { form, component }) => { // 配置此参数会覆盖全局的getRemoteDictFunc
return api.DeptLazy().then(ret => { return ret.data }) 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: { form: {
@ -123,17 +116,7 @@ export const crudOptions = (vm) => {
component: { component: {
span: 12, span: 12,
props: { props: {
multiple: false, multiple: false
elProps: {
lazy: true,
hasChild: 'has_children',
load (node, resolve) {
// 懒加载
api.DeptLazy({ parent: node.data.id }).then((data) => {
resolve(data.data)
})
}
}
} }
} }
} }