/*
 * @Author: xiejiang
 * @Date: 2024-12-08 09:25:35
 * @LastEditors: xiejiang
 * @LastEditTime: 2024-12-09 18:10:59
 * @Description:
 * Copyright（c）2024 by 好老师教育科技有限公司 All right Reserved.
 */
// 下拉选项数据结构
export interface SelectOption {
  label: string // 显示文本
  value: string | number // 选项值
}
export interface filterItemProp {
  /** @description 用于筛选结果区域展示，和placeholder */
  label: string
  /** @description 参数名称 */
  prop: string
  /** @description 类型，筛选框类型 select multiple-select input date */
  type: 'input' | 'select' | 'multiple-select' | 'date'
  /** @description 普通输入框绑定数据 */
  str?: string
  /** @description 多选下拉框绑定的数据 */
  values?: (string | number)[]
  /** @description 输入框宽度(multiple-select默认160，select/input默认117) */
  width?: number
  /** @description select的数据 */
  selectData?: SelectOption[]
  /** @description 筛选结果区域的tag是否可以关闭 */
  closable?: boolean
  placeholder?: string // 占位文本
  disabled?: boolean // 是否禁用
  $attrs?: any
}
// 筛选组件Props
export interface PageFiltersProps {
  filterConditions: filterItemProp[] // 筛选条件配置
  minCollapsedNum?: number // 多选框最小折叠数量
}

// 筛选组件事件
export interface PageFiltersEmits {
  'on-filter': [filter: Record<string, any>] // 筛选条件变化
  'on-reset': [] // 重置筛选条件
}
