系统管理->菜单管理->一键关闭菜单及子菜单及子权限

pull/405/head
wintersun 2024-03-11 11:09:15 +08:00
parent ecf9f26547
commit 44d5e206d6
2 changed files with 21 additions and 1 deletions

View File

@ -47,3 +47,7 @@ export const updateMenu = (data: MenuVO) => {
export const deleteMenu = (id: number) => {
return request.delete({ url: '/system/menu/delete?id=' + id })
}
export const updateStatus = (id: number, status: number) => {
return request.get({ url: '/system/menu/update-status?id=' + id + '&status=' + status })
}

View File

@ -86,7 +86,16 @@
<el-table-column :show-overflow-tooltip="true" label="组件名称" prop="componentName" />
<el-table-column label="状态" prop="status" width="80">
<template #default="scope">
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />
<el-switch
v-model="scope.row.status"
:active-value="0"
:disabled="!checkPermi(['system:menu:update'])"
:inactive-value="1"
inline-prompt
active-text="开启"
inactive-text="关闭"
@change="handleStatusChange(scope.row)"
/>
</template>
</el-table-column>
<el-table-column align="center" label="操作">
@ -129,6 +138,7 @@ import { handleTree } from '@/utils/tree'
import * as MenuApi from '@/api/system/menu'
import MenuForm from './MenuForm.vue'
import { CACHE_KEY, useCache } from '@/hooks/web/useCache'
import {checkPermi} from "@/utils/permission";
defineOptions({ name: 'SystemMenu' })
@ -146,6 +156,12 @@ const queryFormRef = ref() // 搜索的表单
const isExpandAll = ref(false) //
const refreshTable = ref(true) //
const handleStatusChange = async (row: any) => {
await MenuApi.updateStatus(row.id, row.status)
message.success('修改成功!')
await getList()
}
/** 查询列表 */
const getList = async () => {
loading.value = true