fix(菜单管理): 🐛 菜单管理
菜单管理搜索问题
This commit is contained in:
@@ -259,6 +259,9 @@ LOGGING = {
|
|||||||
# ================================================= #
|
# ================================================= #
|
||||||
|
|
||||||
REST_FRAMEWORK = {
|
REST_FRAMEWORK = {
|
||||||
|
'DEFAULT_PARSER_CLASSES': (
|
||||||
|
'rest_framework.parsers.JSONParser',
|
||||||
|
),
|
||||||
"DATETIME_FORMAT": "%Y-%m-%d %H:%M:%S", # 日期时间格式配置
|
"DATETIME_FORMAT": "%Y-%m-%d %H:%M:%S", # 日期时间格式配置
|
||||||
"DATE_FORMAT": "%Y-%m-%d",
|
"DATE_FORMAT": "%Y-%m-%d",
|
||||||
"DEFAULT_FILTER_BACKENDS": (
|
"DEFAULT_FILTER_BACKENDS": (
|
||||||
|
|||||||
@@ -103,8 +103,15 @@ class MenuViewSet(CustomModelViewSet):
|
|||||||
|
|
||||||
def list(self,request):
|
def list(self,request):
|
||||||
"""懒加载"""
|
"""懒加载"""
|
||||||
|
request.query_params._mutable = True
|
||||||
params = request.query_params
|
params = request.query_params
|
||||||
parent = params.get('parent', None)
|
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 params:
|
||||||
if parent:
|
if parent:
|
||||||
queryset = self.queryset.filter(status=1, parent=parent)
|
queryset = self.queryset.filter(status=1, parent=parent)
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ from dvadmin.system.models import Role, Menu, MenuButton, Dept
|
|||||||
from dvadmin.system.views.dept import DeptSerializer
|
from dvadmin.system.views.dept import DeptSerializer
|
||||||
from dvadmin.system.views.menu import MenuSerializer
|
from dvadmin.system.views.menu import MenuSerializer
|
||||||
from dvadmin.system.views.menu_button import MenuButtonSerializer
|
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.json_response import SuccessResponse, DetailResponse
|
||||||
from dvadmin.utils.serializers import CustomModelSerializer
|
from dvadmin.utils.serializers import CustomModelSerializer
|
||||||
from dvadmin.utils.validator import CustomUniqueValidator
|
from dvadmin.utils.validator import CustomUniqueValidator
|
||||||
@@ -81,7 +82,7 @@ class MenuPermissonSerializer(CustomModelSerializer):
|
|||||||
fields = ['id', 'parent', 'name', 'menuPermission']
|
fields = ['id', 'parent', 'name', 'menuPermission']
|
||||||
|
|
||||||
|
|
||||||
class RoleViewSet(CustomModelViewSet):
|
class RoleViewSet(CustomModelViewSet,FastCrudMixin):
|
||||||
"""
|
"""
|
||||||
角色管理接口
|
角色管理接口
|
||||||
list:查询
|
list:查询
|
||||||
|
|||||||
@@ -42,7 +42,19 @@ export const DictionaryStore = defineStore('Dictionary', {
|
|||||||
dataList.forEach((item: any) => {
|
dataList.forEach((item: any) => {
|
||||||
let childrens = item.children;
|
let childrens = item.children;
|
||||||
// console.log(item);
|
// 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
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -13,9 +13,17 @@ function createService() {
|
|||||||
// 创建一个 axios 实例
|
// 创建一个 axios 实例
|
||||||
const service = axios.create({
|
const service = axios.create({
|
||||||
timeout: 20000,
|
timeout: 20000,
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json;charset=utf-8'
|
||||||
|
},
|
||||||
paramsSerializer: {
|
paramsSerializer: {
|
||||||
serialize(params) {
|
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;
|
||||||
|
} });
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ export const createCrudOptions = function ({ crudExpose, menuButtonRef }: { crud
|
|||||||
//验证路由地址
|
//验证路由地址
|
||||||
const validateWebPath = (rule: string, value: string, callback: Function) => {
|
const validateWebPath = (rule: string, value: string, callback: Function) => {
|
||||||
const isLink = JSON.parse(crudExpose.getFormData().is_link);
|
const isLink = JSON.parse(crudExpose.getFormData().is_link);
|
||||||
console.log(isLink);
|
|
||||||
let pattern = /^\/.*?/;
|
let pattern = /^\/.*?/;
|
||||||
if (isLink) {
|
if (isLink) {
|
||||||
pattern = /^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+/g;
|
pattern = /^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+/g;
|
||||||
@@ -33,7 +32,7 @@ export const createCrudOptions = function ({ crudExpose, menuButtonRef }: { crud
|
|||||||
};
|
};
|
||||||
|
|
||||||
const pageRequest = async (query: PageQuery) => {
|
const pageRequest = async (query: PageQuery) => {
|
||||||
return await api.GetList({});
|
return await api.GetList(query);
|
||||||
};
|
};
|
||||||
const editRequest = async ({ form, row }: EditReq) => {
|
const editRequest = async ({ form, row }: EditReq) => {
|
||||||
form.id = row.id;
|
form.id = row.id;
|
||||||
|
|||||||
Reference in New Issue
Block a user