/*
 * @Author: xiejiang
 * @Date: 2024-12-02 14:56:33
 * @LastEditors: xiejiang
 * @LastEditTime: 2024-12-10 11:24:31
 * @Description:
 * Copyright（c）2024 by 好老师教育科技有限公司 All right Reserved.
 */
import type { ReqPage, KeyAny } from '@/api/interface'

// 定义请求参数类型
export interface ReqId {
  dictId?: number | string // 字典ID
  dictDataId?: number | string // 字典数据ID
}

// 定义请求参数类型
export interface ReqDictionaryList extends ReqPage {
  categoryNameOrDictName?: string // 字典大类名称或者字典名称
  isAllowAddsub?: boolean // 是否允许新增子集 true允许 false不允许
  isAllowEdit?: boolean // 是否允许编辑 true允许 false不允许
  isAllowDelete?: boolean // 是否允许删除 true允许 false不允许
  status?: 1 | 2 | 3 // 状态 1编辑中 2启用 3停用
}

export interface ReqEditDictData extends ReqId {
  dataCode: string // 值编码
  dictDataId: number | string // 字典数据ID
  remark: string // 备注
  valueName: string // 字典值名称
}

export interface ReqEditDictionary extends ReqId {
  categoryName: string // 字典大类名称
  createTime: string // 创建时间
  dataCode: string // 值编码
  dataId: number // 数据ID
  dictDataId: number // 字典数据ID
  dictName: string // 字典名称
  isAllowAddsub: boolean // 是否允许新增子集 true允许 false不允许
  isAllowDelete: boolean // 是否允许删除 true允许 false不允许
}

export interface ReqSaveDictionary {
  categoryId: number | string // 字典大类
  dictCode: string // 字典编码
  dictId: number | string // 字典ID
  dictName: string // 字典名称
  isAllowAddsub: number | undefined // 是否允许添加子集:1允许,0不允许
  isAllowDelete: number | undefined // 是否允许删除:1允许,0不允许
  isAllowEdit: number | undefined // 是否允许编辑:1允许,0不允许
  remark: string // 字典说明
  valueName: string //字典值名称
}

export interface ResDictionary extends KeyAny {
  categoryId?: number // 分类ID
  dictCode?: string // 字典编码
  dictId: string // 字典ID
  dictName?: string // 字典名称
  inputTime?: string // 输入时间
  inputUserId?: number // 输入用户ID
  inputUserName?: string // 输入用户名
  isAllowAddsub?: number // 是否允许新增子集 true允许 false不允许
  isAllowDelete?: number // 是否允许删除 true允许 false不允许
  isAllowEdit?: number // 是否允许编辑 true允许 false不允许
  remark?: string // 备注
  status?: string // 状态
  sort?: number //排序
  valueName?: string //字典值名称
  categoryName?: string //字典大类名称
  dictDataId?: string //字典值id
}

export interface ResDictionaryCategory {
  categoryId: string
  categoryCode: string
  categoryName: string
}
