diff --git a/backend/dvadmin/system/models.py b/backend/dvadmin/system/models.py
index 156a10b..b54ac27 100644
--- a/backend/dvadmin/system/models.py
+++ b/backend/dvadmin/system/models.py
@@ -109,17 +109,6 @@ class Dept(CoreModel):
ordering = ('sort',)
-class Button(CoreModel):
- name = models.CharField(max_length=64, unique=True, verbose_name="权限名称", help_text="权限名称")
- value = models.CharField(max_length=64, unique=True, verbose_name="权限值", help_text="权限值")
-
- class Meta:
- db_table = table_prefix + "system_button"
- verbose_name = '权限标识表'
- verbose_name_plural = verbose_name
- ordering = ('-name',)
-
-
class Menu(CoreModel):
parent = models.ForeignKey(to='Menu', on_delete=models.CASCADE, verbose_name="上级菜单", null=True, blank=True,
db_constraint=False, help_text="上级菜单")
diff --git a/backend/dvadmin/system/urls.py b/backend/dvadmin/system/urls.py
index 805b3a5..9d6c89f 100644
--- a/backend/dvadmin/system/urls.py
+++ b/backend/dvadmin/system/urls.py
@@ -3,7 +3,6 @@ from rest_framework import routers
from dvadmin.system.views.api_white_list import ApiWhiteListViewSet
from dvadmin.system.views.area import AreaViewSet
-from dvadmin.system.views.button import ButtonViewSet
from dvadmin.system.views.dept import DeptViewSet
from dvadmin.system.views.dictionary import DictionaryViewSet
from dvadmin.system.views.file_list import FileViewSet
@@ -17,7 +16,6 @@ from dvadmin.system.views.user import UserViewSet
system_url = routers.SimpleRouter()
system_url.register(r'menu', MenuViewSet)
-system_url.register(r'button', ButtonViewSet)
system_url.register(r'menu_button', MenuButtonViewSet)
system_url.register(r'role', RoleViewSet)
system_url.register(r'dept', DeptViewSet)
diff --git a/backend/dvadmin/system/views/button.py b/backend/dvadmin/system/views/button.py
deleted file mode 100644
index 4fa6172..0000000
--- a/backend/dvadmin/system/views/button.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-@author: 猿小天
-@contact: QQ:1638245306
-@Created on: 2021/6/3 003 0:30
-@Remark: 按钮权限管理
-"""
-from dvadmin.system.models import Button
-from dvadmin.utils.serializers import CustomModelSerializer
-from dvadmin.utils.viewset import CustomModelViewSet
-
-
-class ButtonSerializer(CustomModelSerializer):
- """
- 按钮权限-序列化器
- """
-
- class Meta:
- model = Button
- fields = "__all__"
- read_only_fields = ["id"]
-
-
-class ButtonViewSet(CustomModelViewSet):
- """
- 按钮权限接口
- list:查询
- create:新增
- update:修改
- retrieve:单例
- destroy:删除
- """
- queryset = Button.objects.all()
- serializer_class = ButtonSerializer
- extra_filter_backends = []
diff --git a/web/src/views/system/button/api.js b/web/src/views/system/button/api.js
deleted file mode 100644
index aa26c5c..0000000
--- a/web/src/views/system/button/api.js
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * @创建文件时间: 2021-06-01 22:41:21
- * @Auther: 猿小天
- * @最后修改人: 猿小天
- * @最后修改时间: 2021-07-04 22:39:11
- * 联系Qq:1638245306
- * @文件介绍: 权限管理接口
- */
-import { request } from '@/api/service'
-
-export const urlPrefix = '/api/system/button/'
-
-export function GetList (query) {
- return request({
- url: urlPrefix,
- method: 'get',
- params: query
- })
-}
-export function createObj (obj) {
- return request({
- url: urlPrefix,
- method: 'post',
- data: obj
- })
-}
-
-export function UpdateObj (obj) {
- return request({
- url: urlPrefix + obj.id + '/',
- method: 'put',
- data: obj
- })
-}
-export function DelObj (id) {
- return request({
- url: urlPrefix + id + '/',
- method: 'delete',
- data: { id }
- })
-}
diff --git a/web/src/views/system/button/crud.js b/web/src/views/system/button/crud.js
deleted file mode 100644
index 2041c22..0000000
--- a/web/src/views/system/button/crud.js
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * @创建文件时间: 2021-06-03 00:34:42
- * @Auther: 猿小天
- * @最后修改人: 猿小天
- * @最后修改时间: 2021-11-19 22:18:47
- * 联系Qq:1638245306
- * @文件介绍: 权限配置
- */
-export const crudOptions = (vm) => {
- return {
- pageOptions: {
- compact: true
- },
- options: {
- tableType: 'vxe-table',
- rowKey: true,
- width: '100%',
- height: '100%' // 表格高度100%, 使用toolbar必须设置
- },
- rowHandle: {
- edit: {
- thin: true,
- text: '编辑',
- disabled () {
- return !vm.hasPermissions('Update')
- }
- },
- remove: {
- thin: true,
- text: '删除',
- disabled () {
- return !vm.hasPermissions('Delete')
- }
- }
- },
- indexRow: { // 或者直接传true,不显示title,不居中
- title: '序号',
- align: 'center',
- width: 100
- },
- viewOptions: {
- disabled: true,
- componentType: 'form'
- },
- formOptions: {
- defaultSpan: 24, // 默认的表单 span
- width: '35%'
- },
- columns: [{
- title: '关键词',
- key: 'search',
- show: false,
- disabled: true,
- search: {
- disabled: false
- },
- form: {
- disabled: true,
- component: {
- placeholder: '请输入关键字'
- }
- },
- view: { // 查看对话框组件的单独配置
- disabled: true
- }
- },
- {
- title: 'ID',
- key: 'id',
- show: false,
- width: 90,
- form: {
- disabled: true
- }
- },
- {
- title: '名称',
- key: 'name',
- sortable: true,
- search: {
- disabled: false
- },
-
- type: 'input',
- form: {
- rules: [ // 表单校验规则
- { required: true, message: '名称必填项' }
- ],
- component: {
- placeholder: '请输入名称'
- },
- itemProps: {
- class: { yxtInput: true }
- }
- }
- },
- {
- title: 'key值',
- key: 'value',
- sortable: true,
- search: {
- disabled: false
- },
-
- type: 'input',
- form: {
- rules: [ // 表单校验规则
- { required: true, message: 'key值必填项' }
- ],
- component: {
- placeholder: '请输入key值'
- },
- itemProps: {
- class: { yxtInput: true }
- }
- }
- },
- {
- title: '备注',
- key: 'description',
- show: false,
- search: {
- disabled: true
- },
- type: 'textarea',
- form: {
- component: {
- placeholder: '请输入内容',
- showWordLimit: true,
- maxlength: '200',
- props: {
- type: 'textarea'
- }
- }
- }
- }, {
- title: '创建人',
- show: false,
- width: 100,
- key: 'modifier_name',
- form: {
- disabled: true
- }
- },
- {
- title: '更新时间',
- key: 'update_datetime',
- width: 160,
- type: 'datetime',
- sortable: true,
- form: {
- disabled: true
- }
- },
- {
- title: '创建时间',
- key: 'create_datetime',
- width: 160,
- type: 'datetime',
- sortable: true,
- form: {
- disabled: true
- }
- }
- ]
- }
-}
diff --git a/web/src/views/system/button/index.vue b/web/src/views/system/button/index.vue
deleted file mode 100644
index f5c299c..0000000
--- a/web/src/views/system/button/index.vue
+++ /dev/null
@@ -1,90 +0,0 @@
-
-
-
-
-
-
-
-
- 新增
-
-
-
-
-
-
-
-
-
-
diff --git a/web/src/views/system/menu/crud.js b/web/src/views/system/menu/crud.js
index 3b20de9..899a3c1 100644
--- a/web/src/views/system/menu/crud.js
+++ b/web/src/views/system/menu/crud.js
@@ -1,7 +1,5 @@
import { request } from '@/api/service'
-import { BUTTON_VALUE_TO_COLOR_MAPPING } from '@/config/button'
import { urlPrefix as menuPrefix } from './api'
-import { urlPrefix as buttonPrefix } from '../button/api'
import XEUtils from 'xe-utils'
export const crudOptions = (vm) => {
// 验证路由地址
@@ -373,18 +371,6 @@ export const crudOptions = (vm) => {
clearable: true
}
}
- },
- dict: {
- url: buttonPrefix,
- label: 'name',
- value: 'name',
- getData: (url, dict) => {
- return request({ url: url }).then(ret => {
- return ret.data.data.map(item => {
- return Object.assign(item, { color: BUTTON_VALUE_TO_COLOR_MAPPING[item.value] || 'auto' })
- })
- })
- }
}
},
{
diff --git a/web/src/views/system/menuButton/crud.js b/web/src/views/system/menuButton/crud.js
index 6c1b3d8..e102e0b 100644
--- a/web/src/views/system/menuButton/crud.js
+++ b/web/src/views/system/menuButton/crud.js
@@ -47,7 +47,13 @@ export const crudOptions = (vm) => {
show: false,
disabled: true,
search: {
- disabled: false
+ disabled: false,
+ component: {
+ props: {
+ clearable: true
+ },
+ placeholder: '请输入关键词'
+ }
},
form: {
disabled: true
@@ -67,84 +73,85 @@ export const crudOptions = (vm) => {
},
{
- title: '名称',
+ title: '权限名称',
key: 'name',
sortable: true,
+ width: 150,
search: {
disabled: false
},
type: 'select',
dict: {
- cache: false,
- url: '/api/system/button/',
- label: 'name',
- value: 'name',
- getData: (url, dict) => {
- return request({ url: url }).then(ret => {
- return ret.data.data
- })
- }
+ data: vm.dictionary('system_button')
},
form: {
rules: [ // 表单校验规则
{ required: true, message: '必填项' }
],
component: {
- span: 10
+ span: 12,
+ props: {
+ clearable: true,
+ elProps: {
+ allowCreate: true,
+ filterable: true,
+ clearable: true
+ }
+ }
},
itemProps: {
class: { yxtInput: true }
},
valueChange (key, value, form, { getColumn, mode, component, immediate, getComponent }) {
if (value != null) {
+ console.log('component.dictOptions', component.dictOptions)
const obj = component.dictOptions.find(item => {
- return item.name === value
+ console.log(item.label, value)
+ return item.value === value
})
- form.value = obj.value
+ if (obj && obj.value) {
+ form.value = obj.value
+ }
+ }
+ },
+ helper: {
+ render (h) {
+ return (< el-alert title="可手动输入不在列表中的新值" type="warning" description="比较常用的建议放在字典管理中"/>
+ )
}
}
}
},
- {
- title: '',
- key: 'createBtn',
- type: 'button',
- show: false,
- search: {
- disabled: true
- },
- form: {
- slot: true,
- component: {
- span: 2
- },
- itemProps: {
- labelWidth: '0px' // 可以隐藏表单项的label
- }
- }
-
- },
{
title: '权限值',
key: 'value',
-
- show: false,
sortable: true,
+ width: 200,
search: {
- disabled: true
+ disabled: false
},
type: 'input',
form: {
- disabled: true,
- show: false,
rules: [ // 表单校验规则
{ required: true, message: '必填项' }
],
component: {
- span: 12
+ span: 12,
+ placeholder: '请输入权限值',
+ props: {
+ elProps: {
+ clearable: true
+ }
+ }
},
itemProps: {
class: { yxtInput: true }
+ },
+ helper: {
+ render (h) {
+ return (< el-alert title="用于前端按钮权限的判断展示" type="warning" description="使用方法:vm.hasPermissions(权限值)"/>
+ )
+ }
}
}
},
@@ -152,6 +159,7 @@ export const crudOptions = (vm) => {
title: '请求方式',
key: 'method',
sortable: true,
+ width: 150,
search: {
disabled: false
},
diff --git a/web/src/views/system/menuButton/index.vue b/web/src/views/system/menuButton/index.vue
index 0f1dc81..13d87a7 100644
--- a/web/src/views/system/menuButton/index.vue
+++ b/web/src/views/system/menuButton/index.vue
@@ -35,15 +35,6 @@
@columns-filter-changed="handleColumnsFilterChanged"
/>
-
-
-
@@ -76,10 +67,6 @@ export default {
},
delRequest (row) {
return api.DelObj(row.id)
- },
- // 跳转到添加按钮界面
- onLinkBtn () {
- router.push({ path: '/button' })
}
}
}