table.dart 2.68 KB
import 'package:json_annotation/json_annotation.dart';
import 'package:one_key/utils/log_util.dart';

part 'table.g.dart';

@JsonSerializable()
class Table {

    Table();

    String id;//主键id
    String rid;//关联区域id
    String tid;//桌位类型 1散座 2包间 3卡座
    String name;//桌位名称
    String table_pnum;//桌位最少可做人数
    String most_pnum;//桌位最多可做人数
    String order_o;//桌位排序编号
    String status;//桌位状态 0未使用 1使用中 2已删除
    String tablestatus;//桌位状态 0未使用 1使用中 2已删除
    String enable;//0禁用 1启用
    String spell;//1拼桌
    String rname;//关联区域名称
    String max;//最多可做人数
    String low;//最低消费
    String sign;//标签 桌位状态 0:待确认,1:已定座,2:确认到店,3:用餐完成,4:取消预订,5:安排包间,6拒绝订单
    String reserver;//订餐人
    String notebookId;//桌位对应的预订id
    bool selected;//是否选中

    //获取桌位类型
    String get tidStr{
        switch(tid){
            case "1":
                return "散座";
            case "2":
                return "包间";
            case "3":
                return "卡座";
        }
    }

    //获取桌位可坐人数
    String get tableNum{
        if(table_pnum==null||table_pnum.isEmpty||table_pnum=="0"){
            return "";
        }else if(most_pnum!=null&&most_pnum.isNotEmpty&&most_pnum!="0"&&most_pnum!="null"){
            if(table_pnum==most_pnum){
                return "$table_pnum人";
            }else{
                return "$table_pnum-$most_pnum人";
            }
        }else{
            return "$table_pnum人";
        }
    }

    //获取最低消费
    String get lowStr{
        return (low==null||low.isEmpty||low=="0")?"":"最低消费\n$low元";
    }

    String get signStr{
        if(enable=="0")return "已停用";
        if(sign!=null){
            switch(sign){
                case "1"://已预订
                case "5"://已安排包间
                    return "已预订";
                case "2"://用餐中
                    return "用餐中";
                default:
                    return "";
            }
        }
        return "";
    }

    
    factory Table.fromJson(Map<String,dynamic> json) => _$TableFromJson(json);
    Map<String, dynamic> toJson() => _$TableToJson(this);

    @override
    String toString() {
        return 'Table{id: $id, rid: $rid, tid: $tid, name: $name, table_pnum: $table_pnum, most_pnum: $most_pnum, order_o: $order_o, status: $status, tablestatus: $tablestatus, enable: $enable, spell: $spell, rname: $rname, max: $max, low: $low}';
    }

}