-- 创建菜单表（增强版，包含完整父子级别参数）
CREATE TABLE `yz_menus` (
  `id` INT NOT NULL AUTO_INCREMENT COMMENT '菜单ID',
  `name` VARCHAR(100) NOT NULL COMMENT '菜单名称',
  `path` VARCHAR(255) NOT NULL COMMENT '菜单路径',
  `parent_id` INT DEFAULT 0 COMMENT '父菜单ID，0表示顶级菜单',
  `level` TINYINT DEFAULT 1 COMMENT '菜单层级：1-一级菜单，2-二级菜单，3-三级菜单',
  `full_path` VARCHAR(500) DEFAULT NULL COMMENT '完整路径（包含所有父级路径）',
  `is_leaf` TINYINT DEFAULT 0 COMMENT '是否叶子节点：0-非叶子节点，1-叶子节点',
  `has_children` TINYINT DEFAULT 0 COMMENT '是否有子菜单：0-无子菜单，1-有子菜单',
  `children_count` INT DEFAULT 0 COMMENT '子菜单数量',
  `icon` VARCHAR(100) DEFAULT NULL COMMENT '菜单图标',
  `order` INT DEFAULT 0 COMMENT '排序序号',
  `status` TINYINT DEFAULT 1 COMMENT '状态：0-禁用，1-启用',
  `component_path` VARCHAR(500) DEFAULT NULL COMMENT '组件路径',
  `is_external` TINYINT DEFAULT 0 COMMENT '是否外部链接：0-内部路由，1-外部链接',
  `external_url` VARCHAR(1000) DEFAULT NULL COMMENT '外部链接地址',
  `menu_type` TINYINT DEFAULT 1 COMMENT '菜单类型：1-普通菜单，2-分组菜单，3-按钮菜单',
  `permission` VARCHAR(200) DEFAULT NULL COMMENT '权限标识',
  `description` VARCHAR(500) DEFAULT NULL COMMENT '菜单描述',
  `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `create_by` VARCHAR(100) DEFAULT NULL COMMENT '创建人',
  `update_by` VARCHAR(100) DEFAULT NULL COMMENT '更新人',
  PRIMARY KEY (`id`),
  KEY `idx_parent_id` (`parent_id`),
  KEY `idx_level` (`level`),
  KEY `idx_status` (`status`),
  KEY `idx_order` (`order`),
  KEY `idx_menu_type` (`menu_type`),
  KEY `idx_full_path` (`full_path`(255))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='菜单表（增强版）';

-- 插入默认菜单数据（包含完整父子级别参数）
INSERT INTO `yz_menus` (`name`, `path`, `parent_id`, `level`, `full_path`, `is_leaf`, `has_children`, `children_count`, `icon`, `order`, `status`, `component_path`, `menu_type`, `description`) VALUES
('仪表盘', '/dashboard', 0, 1, '/dashboard', 1, 0, 0, 'el-icon-monitor', 1, 1, '@/views/dashboard/index.vue', 1, '系统仪表盘，展示关键指标'),
('文件管理', '/files', 0, 1, '/files', 1, 0, 0, 'el-icon-folder', 3, 1, '@/views/files/index.vue', 1, '文件管理系统'),
('系统管理', '/system', 0, 1, '/system', 0, 1, 3, 'el-icon-setting', 4, 1, null, 2, '系统管理功能模块'),
('用户管理', '/system/users', 4, 2, '/system/users', 1, 0, 0, 'el-icon-user', 1, 1, '@/views/system/users/index.vue', 1, '用户信息管理'),
('菜单管理', '/system/menus', 4, 2, '/system/menus', 1, 0, 0, 'el-icon-menu', 2, 1, '@/views/system/menumanager.vue', 1, '菜单权限管理'),
('程序管理', '/system/programs', 4, 2, '/system/programs', 1, 0, 0, 'el-icon-cpu', 3, 1, '@/views/system/programs/index.vue', 1, '程序功能管理'),
('系统设置', '/settings', 0, 1, '/settings', 1, 0, 0, 'el-icon-setting', 99, 1, '@/views/settings/index.vue', 1, '系统参数设置');