fix(菜单管理): 🐛 菜单管理

菜单管理搜索问题
This commit is contained in:
猿小天
2023-03-16 22:38:38 +08:00
parent b430086916
commit 54fa8cf01c
6 changed files with 35 additions and 5 deletions

View File

@@ -259,6 +259,9 @@ LOGGING = {
# ================================================= #
REST_FRAMEWORK = {
'DEFAULT_PARSER_CLASSES': (
'rest_framework.parsers.JSONParser',
),
"DATETIME_FORMAT": "%Y-%m-%d %H:%M:%S", # 日期时间格式配置
"DATE_FORMAT": "%Y-%m-%d",
"DEFAULT_FILTER_BACKENDS": (

View File

@@ -103,8 +103,15 @@ class MenuViewSet(CustomModelViewSet):
def list(self,request):
"""懒加载"""
request.query_params._mutable = True
params = request.query_params
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 parent:
queryset = self.queryset.filter(status=1, parent=parent)

View File

@@ -14,6 +14,7 @@ from dvadmin.system.models import Role, Menu, MenuButton, Dept
from dvadmin.system.views.dept import DeptSerializer
from dvadmin.system.views.menu import MenuSerializer
from dvadmin.system.views.menu_button import MenuButtonSerializer
from dvadmin.utils.crud_mixin import FastCrudMixin
from dvadmin.utils.json_response import SuccessResponse, DetailResponse
from dvadmin.utils.serializers import CustomModelSerializer
from dvadmin.utils.validator import CustomUniqueValidator
@@ -81,7 +82,7 @@ class MenuPermissonSerializer(CustomModelSerializer):
fields = ['id', 'parent', 'name', 'menuPermission']
class RoleViewSet(CustomModelViewSet):
class RoleViewSet(CustomModelViewSet,FastCrudMixin):
"""
角色管理接口
list:查询

View File

@@ -42,7 +42,19 @@ export const DictionaryStore = defineStore('Dictionary', {
dataList.forEach((item: any) => {
let childrens = item.children;
// console.log(item);
this.data[item.value] = childrens;
// this.data[item.value] = childrens;
childrens.forEach((children:any, index:any) => {
switch (children.type) {
case 1:
children.value = Number(children.value)
break
case 6:
children.value = children.value === 'true'
break
}
})
console.log(childrens)
this.data[item.value]=childrens
});
});
},

View File

@@ -13,9 +13,17 @@ function createService() {
// 创建一个 axios 实例
const service = axios.create({
timeout: 20000,
headers: {
'Content-Type': 'application/json;charset=utf-8'
},
paramsSerializer: {
serialize(params) {
return qs.stringify(params, { allowDots: true });
return qs.stringify(params, { indices: false,encoder: (val:string) => {
if (typeof val === 'boolean') {
return val ? 1 : 0;
}
return val;
} });
},
},
});

View File

@@ -17,7 +17,6 @@ export const createCrudOptions = function ({ crudExpose, menuButtonRef }: { crud
//验证路由地址
const validateWebPath = (rule: string, value: string, callback: Function) => {
const isLink = JSON.parse(crudExpose.getFormData().is_link);
console.log(isLink);
let pattern = /^\/.*?/;
if (isLink) {
pattern = /^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+/g;
@@ -33,7 +32,7 @@ export const createCrudOptions = function ({ crudExpose, menuButtonRef }: { crud
};
const pageRequest = async (query: PageQuery) => {
return await api.GetList({});
return await api.GetList(query);
};
const editRequest = async ({ form, row }: EditReq) => {
form.id = row.id;