customer_list_model.dart 3.31 KB

import 'package:azlistview_plus/azlistview_plus.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;
  @JsonKey(name: 'is_member')
  String? isMember;

  @JsonKey(name: 'con_amount')
  dynamic conAmount;

  @JsonKey(name: 'store_day')
  dynamic storeDay;

  bool select = false;

  List<String>? pinyinList; //全拼数组
  String? pinyin; //全拼字母
  String? pinyinFirst; //首字母
  late String tagIndex; //abcdefg
  String? get rnameStr {
    if (rname == null || rname == '' || 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 "公司";
      case "4": //贵宾
      case "贵宾":
        return "贵宾";
        default:
          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,
      this.isMember,
      this.conAmount,
      this.storeDay);

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

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

  @override
  String getSuspensionTag() => tagIndex;
}