/*
 * @Author: xiejiang
 * @Date: 2024-12-03 10:43:24
 * @LastEditors: xiejiang
 * @LastEditTime: 2024-12-09 09:54:16
 * @Description:
 * Copyright（c）2024 by 好老师教育科技有限公司 All right Reserved.
 */
import type { ReqPage, KeyAny } from '@/api/interface'
// 定义请求参数类型
export interface ReqMenuPage extends ReqPage {
  condMenuName?: string // 模糊搜索-菜单名称
  menuLevel?: number | string // 筛选-菜单层级
  topMenuId?: number | string // 筛选-菜单组编号
  status?: number // 筛选-菜单状态【0：编辑中 1：启用；2：停用】
  tabType?: number // 菜单类型
  condInputUserName?: string // 模糊搜索-创建人姓名
}

// 菜单返回参数
export interface ResMenu extends KeyAny {
  icon: string //icon
  icon_?: string
  inputTime?: string //创建时间
  inputUserId?: number //创建人ID
  inputUserName?: string //创建人姓名
  menuId?: string //菜单编号
  menuLevel: number | string //菜单层级
  menuName: string //菜单名称
  menuSign: string //菜单标识（路由名称）
  parentId: number | string //父级菜单编号
  parentName?: string //父级菜单名称
  router: string //菜单路径
  status?: number //状态【0：编辑中；1：启用；2：停用】
  topMenuId?: string //菜单组名称
  topMenuName?: string //菜单组名称
  updateTime?: string //修改时间
  operateType?: number // 操作类型 1新增 2编辑 3启用 4停用 5删除
}

// 获取所有菜单组
export interface ResAllMenuGroup {
  topMenuId: string //菜单组名称
  topMenuName: string //菜单组名称
}

// 菜单编辑
export interface ReqMenuEdit extends ResMenu {
  htmlPlatform: string | number //前端服务平台
  isButton: string | number //菜单类型: 是否为按钮
  menuPath: string //菜单路径
}

// 菜单树
export interface ResMenuTree extends ResMenu {
  htmlPlatform: string | number //前端服务平台
  isButton: string | number //菜单类型: 是否为按钮
  open: boolean //是否展开（前端用，固定false）
  selected: boolean //是否选中是否选中（true.是；false.否）
  sortNum: number //排序号
  children?: ResMenuTree[]
}

// 保存数据范围
export interface AreasRole {
  id: string
  name: string
}

export interface ResDataRange {
  areas: AreasRole[]
  roles: AreasRole[]
}

export interface ReqDataRange {
  menuId: string
  roleId: string
  dataRange: ResDataRange
}
