parent
3b5435cab7
commit
538c0b3983
|
@ -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="获取成功")
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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' })
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -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)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue