import {
NButton,
NModal,
NSpace,
NDataTable,
useDialog,
useMessage,
NTag,
NFormItem,
NCascader
} from 'naive-ui'
import { defineComponent, onMounted, reactive, ref } from 'vue'
import { sysApplicationPage, sysMenuPage, sysMenuRemove } from '../api'
import MenuOperation from './menu-operation'
import SaveForm from '@/components/save-form'
import { formatDataList } from '@/utils/urlUtils'
/*
parentId 要结点
path 路径
name 名称
component 组件名
icon 图标
type 菜单 | 按钮
permission 权限
parentPermission 高亮路径
sort 菜单排序
hidden 是否隐藏
*/
export default defineComponent({
name: 'menu-manage',
setup() {
const dialog = useDialog()
const message = useMessage()
const state = reactive({
loading: false,
applyList: [] as any,
dataList: [] as any,
visiableMenu: false,
menuType: 'add',
applyData: {} as any,
expandedRowKeys: [],
searchForm: {
appId: null
}
})
const columns = (): any => [
{
title: '菜单名称',
key: 'name',
width: 330,
render(row: any) {
return `${row.name} - ${row.id}`
}
},
{
title: '应用名称',
key: 'appName'
},
{
title: '组件名',
key: 'component'
},
{
title: '路由路径',
key: 'path'
},
{
title: '权限标识',
key: 'permission'
},
{
title: '排序',
key: 'sort'
},
{
title: '类型',
key: 'type',
render(row: any) {
return row.type === '0' ? (