customer_list_model.dart 2.88 KB
import 'package:azlistview/azlistview.dart';
import 'package:json_annotation/json_annotation.dart';

part 'customer_list_model.g.dart';

@JsonSerializable()
class CustomerListModel extends Object {
  @JsonKey(name: 'ret')
  int ret;

  @JsonKey(name: 'data')
  List<CustomerListSunModel> data;

  @JsonKey(name: 'msg')
  String msg;

  CustomerListModel(
    this.ret,
    this.data,
    this.msg,
  );

  factory CustomerListModel.fromJson(Map<String, dynamic> srcJson) =>
      _$CustomerListModelFromJson(srcJson);

  Map<String, dynamic> toJson() => _$CustomerListModelToJson(this);
}

@JsonSerializable()
class CustomerListSunModel extends Object with ISuspensionBean {
  @JsonKey(name: 'id')
  String id;

  @JsonKey(name: 'sellerid')
  String sellerid;

  @JsonKey(name: 'uid')
  String uid;

  @JsonKey(name: 'rname')
  String rname;

  @JsonKey(name: 'sex')
  String sex;

  @JsonKey(name: 'phone')
  String phone;

  @JsonKey(name: 'cdate')
  String cdate;

  @JsonKey(name: 'leiji')
  String leiji;

  @JsonKey(name: 'attr')
  String attr;

  @JsonKey(name: 'ddate')
  String ddate;

  @JsonKey(name: 'ddate_solt')
  String ddateSolt;

  @JsonKey(name: 'company')
  String company;

  @JsonKey(name: 'section')
  String section;

  @JsonKey(name: 'position')
  String position;
  @JsonKey(name: 'taboos')
  String taboos;
  @JsonKey(name: 'like')
  String like;
  @JsonKey(name: 'serve')
  String serve;
  @JsonKey(name: 'c_day')
  String cDay;
  @JsonKey(name: 'udate')
  String udate;
  @JsonKey(name: 'month_count')
  String monthCount;
  @JsonKey(name: 'label')
  String label;
  @JsonKey(name: 'nick_name')
  String nickName;
  @JsonKey(name: 'gid')
  String gid;

  bool select = false;

  List<String> pinyinList; //全拼数组
  String pinyin; //全拼字母
  String pinyinFirst; //首字母
  String tagIndex; //abcdefg
  String get rnameStr {
    if (rname == null || rname == '') return "";
    return rname;
  }

  String get sexStr {
    if (sex == null || sex == '') return "";
    switch (sex.toString()) {
      case "1": //先生
      case "男":
      case "先生":
        return "先生";
      case "2": //女士
      case "女":
      case "女士":
        return "女士";
      case "3": //公司
      case "公司":
        return "公司";
    }
  }

  CustomerListSunModel(
    this.id,
    this.sellerid,
    this.uid,
    this.rname,
    this.sex,
    this.phone,
    this.cdate,
    this.leiji,
    this.attr,
    this.ddate,
    this.ddateSolt,
    this.company,
    this.section,
    this.position,
    this.taboos,
    this.like,
    this.serve,
    this.cDay,
    this.udate,
    this.monthCount,
    this.label,
    this.nickName,
    this.gid,
  );

  factory CustomerListSunModel.fromJson(Map<String, dynamic> srcJson) =>
      _$CustomerListSunModelFromJson(srcJson);

  Map<String, dynamic> toJson() => _$CustomerListSunModelToJson(this);

  @override
  String getSuspensionTag() => tagIndex;
}