diff --git a/backend/dvadmin/system/urls.py b/backend/dvadmin/system/urls.py index 8d21507155942d5ad158f22ee8a906bc9e3972c5..a41e04868416e9db410eb3c59afd1fca64bc6ffe 100644 --- a/backend/dvadmin/system/urls.py +++ b/backend/dvadmin/system/urls.py @@ -35,6 +35,7 @@ system_url.register(r'message_center', MessageCenterViewSet) system_url.register(r'role_menu_button_permission', RoleMenuButtonPermissionViewSet) system_url.register(r'role_menu_permission', RoleMenuPermissionViewSet) system_url.register(r'column', MenuFieldViewSet) +system_url.register(r'login_log', LoginLogViewSet) urlpatterns = [ @@ -44,8 +45,8 @@ urlpatterns = [ path('system_config/get_association_table/', SystemConfigViewSet.as_view({'get': 'get_association_table'})), path('system_config/get_table_data//', SystemConfigViewSet.as_view({'get': 'get_table_data'})), path('system_config/get_relation_info/', SystemConfigViewSet.as_view({'get': 'get_relation_info'})), - path('login_log/', LoginLogViewSet.as_view({'get': 'list'})), - path('login_log//', LoginLogViewSet.as_view({'get': 'retrieve'})), + # path('login_log/', LoginLogViewSet.as_view({'get': 'list'})), + # path('login_log//', LoginLogViewSet.as_view({'get': 'retrieve'})), path('dept_lazy_tree/', DeptViewSet.as_view({'get': 'dept_lazy_tree'})), path('clause/privacy.html', PrivacyView.as_view()), path('clause/terms_service.html', TermsServiceView.as_view()), diff --git a/backend/dvadmin/system/views/area.py b/backend/dvadmin/system/views/area.py index dfa2353202f051b7d89943428c82dc5a8fe0baee..3a727282f92c5b3e72acf7f7f37d25d531857572 100644 --- a/backend/dvadmin/system/views/area.py +++ b/backend/dvadmin/system/views/area.py @@ -3,6 +3,7 @@ from django.db.models import Q from rest_framework import serializers from dvadmin.system.models import Area +from dvadmin.utils.field_permission import FieldPermissionMixin from dvadmin.utils.json_response import SuccessResponse from dvadmin.utils.serializers import CustomModelSerializer from dvadmin.utils.viewset import CustomModelViewSet @@ -14,13 +15,16 @@ class AreaSerializer(CustomModelSerializer): """ pcode_count = serializers.SerializerMethodField(read_only=True) hasChild = serializers.SerializerMethodField() + def get_pcode_count(self, instance: Area): return Area.objects.filter(pcode=instance).count() + def get_hasChild(self, instance): hasChild = Area.objects.filter(pcode=instance.code) if hasChild: return True return False + class Meta: model = Area fields = "__all__" @@ -37,7 +41,7 @@ class AreaCreateUpdateSerializer(CustomModelSerializer): fields = '__all__' -class AreaViewSet(CustomModelViewSet): +class AreaViewSet(CustomModelViewSet, FieldPermissionMixin): """ 地区管理接口 list:查询 @@ -65,4 +69,3 @@ class AreaViewSet(CustomModelViewSet): else: queryset = self.queryset.filter(enable=True) return queryset - diff --git a/backend/dvadmin/system/views/login_log.py b/backend/dvadmin/system/views/login_log.py index d362ceaf2feac292b84d1d53d97dfed9e2135651..4d8bf74a5daef1b15f15dd152cde72bada4765c9 100644 --- a/backend/dvadmin/system/views/login_log.py +++ b/backend/dvadmin/system/views/login_log.py @@ -7,6 +7,7 @@ @Remark: 按钮权限管理 """ from dvadmin.system.models import LoginLog +from dvadmin.utils.field_permission import FieldPermissionMixin from dvadmin.utils.serializers import CustomModelSerializer from dvadmin.utils.viewset import CustomModelViewSet @@ -22,7 +23,7 @@ class LoginLogSerializer(CustomModelSerializer): read_only_fields = ["id"] -class LoginLogViewSet(CustomModelViewSet): +class LoginLogViewSet(CustomModelViewSet, FieldPermissionMixin): """ 登录日志接口 list:查询 @@ -33,4 +34,4 @@ class LoginLogViewSet(CustomModelViewSet): """ queryset = LoginLog.objects.all() serializer_class = LoginLogSerializer - extra_filter_class = [] + # extra_filter_class = [] diff --git a/web/src/views/system/areas/api.ts b/web/src/views/system/areas/api.ts index bad818bd676999dbd0c26846a479e064ae4a074b..f2560589d1d773c6bca3d495285634d263812f18 100644 --- a/web/src/views/system/areas/api.ts +++ b/web/src/views/system/areas/api.ts @@ -39,3 +39,9 @@ export function DelObj(id: DelReq) { data: { id }, }); } +export function GetPermission() { + return request({ + url: apiPrefix + 'field_permission/', + method: 'get', + }); +} diff --git a/web/src/views/system/areas/index.vue b/web/src/views/system/areas/index.vue index 51c6c772ee048c1fa0189870ea17bbef276042f9..8201f7ec3e79d36b0fdf70f0150c2096f6584604 100644 --- a/web/src/views/system/areas/index.vue +++ b/web/src/views/system/areas/index.vue @@ -5,14 +5,21 @@ diff --git a/web/src/views/system/log/loginLog/api.ts b/web/src/views/system/log/loginLog/api.ts index defefc49441777cb5a1c1768fdd3fd7d7a6718f8..273aa90b72a1e008b7aba2ea1c530376089018d1 100644 --- a/web/src/views/system/log/loginLog/api.ts +++ b/web/src/views/system/log/loginLog/api.ts @@ -39,3 +39,10 @@ export function DelObj(id: DelReq) { data: { id }, }); } + +export function GetPermission() { + return request({ + url: apiPrefix + 'field_permission/', + method: 'get', + }); +} diff --git a/web/src/views/system/log/loginLog/index.vue b/web/src/views/system/log/loginLog/index.vue index 618e6cf0ca44eaad564d0be3c06995593557af06..924429bbd6c071e3c17e440b3171719b3bba2380 100644 --- a/web/src/views/system/log/loginLog/index.vue +++ b/web/src/views/system/log/loginLog/index.vue @@ -5,14 +5,21 @@ diff --git a/web/src/views/system/whiteList/crud.tsx b/web/src/views/system/whiteList/crud.tsx index 7104cdaedbb284f757667368e38158e3baa32726..33059c91557db23952ef56451cf54b07a6e6a70a 100644 --- a/web/src/views/system/whiteList/crud.tsx +++ b/web/src/views/system/whiteList/crud.tsx @@ -200,11 +200,9 @@ export const createCrudOptions = function ({crudExpose}: CreateCrudOptionsProps) component: { span: 24, props: { - elProps: { - allowCreate: true, - filterable: true, - clearable: true, - }, + allowCreate: true, + filterable: true, + clearable: true, }, }, itemProps: {