import { Rule, RuleType } from '@midwayjs/validate';
import { ApiProperty } from '@midwayjs/swagger';
import { dealVO } from '../../frame/VOBase';
export class FVO_dictData {
  constructor(data: object) {
    dealVO(this, data);
  }
  @ApiProperty({ description: '数据id' })
  id: number = undefined;
  @ApiProperty({ description: '字典类型编码' })
  'code': string = undefined;
  @ApiProperty({ description: '数据显示值' })
  'label': string = undefined;
  @ApiProperty({ description: '数据选择值' })
  'value': string = undefined;
  @ApiProperty({ description: '排序' })
  'sort': number = undefined;
  @ApiProperty({ description: '备注' })
  'remark': string = undefined;
  @ApiProperty({ description: '是否使用' })
  'is_use': string = undefined;
}

export class QDTO_dictData {
  @ApiProperty({ description: '字典类型编码' })
  'code': string = undefined;
  @ApiProperty({ description: '数据显示值' })
  'label': string = undefined;
  @ApiProperty({ description: '是否使用' })
  'is_use': string = undefined;
}

export class QVO_dictData extends FVO_dictData {
  constructor(data: object) {
    super(data);
    dealVO(this, data);
  }
}

export class CDTO_dictData {
  @ApiProperty({ description: '字典类型编码' })
  @Rule(RuleType['string']().empty(''))
  'code': string = undefined;
  @ApiProperty({ description: '数据显示值' })
  @Rule(RuleType['string']().empty(''))
  'label': string = undefined;
  @ApiProperty({ description: '数据选择值' })
  @Rule(RuleType['string']().empty(''))
  'value': string = undefined;
  @ApiProperty({ description: '排序' })
  @Rule(RuleType['number']().empty(''))
  'sort': number = undefined;
  @ApiProperty({ description: '备注' })
  @Rule(RuleType['string']().empty(''))
  'remark': string = undefined;
  @ApiProperty({ description: '是否使用' })
  @Rule(RuleType['string']().empty(''))
  'is_use': string = undefined;
}

export class CVO_dictData extends FVO_dictData {
  constructor(data: object) {
    super(data);
    dealVO(this, data);
  }
}

export class UDTO_dictData extends CDTO_dictData {
  @ApiProperty({ description: '数据id' })
  @Rule(RuleType['number']().empty(''))
  id: number = undefined;
}

export class UVAO_dictData extends FVO_dictData {
  constructor(data: object) {
    super(data);
    dealVO(this, data);
  }
}
