set_xuan_tai_model.dart 8.84 KB

import 'package:flutter/material.dart';
import 'package:one_key/models/dsolt_xt.dart';
import 'package:one_key/models/setmeal_by_id_model.dart';
import 'package:one_key/models/setmeal_model.dart';
import 'package:one_key/models/table_or_reserve_model.dart';
// import 'package:one_key/models/table_list.dart' as t;
import 'package:one_key/models/upload_img_model.dart';

import '../provider/upload_img_provider.dart';

class SetXuanTaiModel {
  String? rid;
  String? reserveOrder;
  String? ddateInterval;
  // String rdate;
  List<Tids>? tids;
  List<Setmeal>? setmeal;
  List<Wine>? wine;
  List<Other>? other;
  String? remark;
  List<Images>? images;

  String dateTimeShowxt = '请选择'; //宴会日期显示   选台 2022-08-02(周二 七月十五)
  // DateTime dateTimext = DateTime.now(); //宴会日期
  DateTime? dateTimext ;//宴会日期
  String? cdShow = '请选择';
  int? cdSelIndex;
  String? cdCode = '';
  String qsDateShow = '暂未选择'; //起始时间
  String startDate = '';
  String endDate = '';
  List<TableListReserve>? tableList;
   List<DsoltXt> dsoltList = [];
  int tableSum = 0; //桌位总数
  TextEditingController customCxt = TextEditingController(); //选台备注
  FocusNode customFxt = FocusNode(); //选台备注
  List<UploadImgModel> feastRemarkXtImageList = []; //宴会备注图片信息列表----选台
  String? reserveId;

  List<String?>imgAllXt = [];

  SetXuanTaiModel(
      {this.rid,
      this.reserveOrder,
      this.ddateInterval,
      // this.rdate,
      this.tids,
      this.setmeal,
      this.wine,
      this.other,
      this.remark,
      this.images});

  SetXuanTaiModel.fromJson(Map<String, dynamic> json) {
    rid = json['rid'];
    reserveOrder = json['reserve_order'];
    ddateInterval = json['ddate_interval'];
    // rdate = json['rdate'];
    if (json['tids'] != null) {
      tids = <Tids>[];
      json['tids'].forEach((v) {
        tids!.add(new Tids.fromJson(v));
      });
    }
    if (json['setmeal'] != null) {
      setmeal = <Setmeal>[];
      json['setmeal'].forEach((v) {
        setmeal!.add(new Setmeal.fromJson(v));
      });
    }
    if (json['wine'] != null) {
      wine = <Wine>[];
      json['wine'].forEach((v) {
        wine!.add(new Wine.fromJson(v));
      });
    }
    if (json['other'] != null) {
      other = <Other>[];
      json['other'].forEach((v) {
        other!.add(new Other.fromJson(v));
      });
    }
    remark = json['remark'];
    customCxt.text = json['remark'];
    if (json['images'] != null) {
      images = <Images>[];
      json['images'].forEach((v) {
        images!.add(new Images.fromJson(v));
      });
    }
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['rid'] = this.rid;
    data['reserve_order'] = this.reserveOrder;
    data['ddate_interval'] = this.ddateInterval;
    // data['rdate'] = this.rdate;
    if (this.tids != null) {
      data['tids'] = this.tids!.map((v) => v.toJson()).toList();
    }
    if (this.setmeal != null) {
      data['setmeal'] = this.setmeal!.map((v) => v.toJson()).toList();
    }
    if (this.wine != null) {
      data['wine'] = this.wine!.map((v) => v.toJson()).toList();
    }
    if (this.other != null) {
      data['other'] = this.other!.map((v) => v.toJson()).toList();
    }
    data['remark'] = this.remark;
    if (this.images != null) {
      data['images'] = this.images!.map((v) => v.toJson()).toList();
    }
    return data;
  }
}

class Tids {
  dynamic tid;
  dynamic numStr;
  String? name;
  TextEditingController tableNumC = TextEditingController(); //桌位个数

  Tids({this.tid, this.numStr, this.name});

  Tids.fromJson(Map<String, dynamic> json) {
    tid = json['tid'];
    numStr = json['num'];
    name = json['name'];
    tableNumC.text = numStr;
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['tid'] = this.tid;
    data['num'] = this.numStr;
    data['name'] = this.name;
    return data;
  }
}

class Setmeal {
  String? setmealId;
  String? price;
  String? finalPrice;
  String? pnum;
  String? min;
  String? spare;
  String? name;
  bool? select = false;
  String? bargaining;
  TextEditingController? finalPriceC;
  TextEditingController? pnumC;
  TextEditingController? minC;
  TextEditingController? spareC;
  List<Cooklist>? cooklist;
  Map<String, List<Cook>>? dataMenu = {};

  Setmeal({
    this.setmealId,
    this.price,
    this.finalPrice,
    this.pnum,
    this.min,
    this.spare,
    this.name,
    this.select,
    this.bargaining,
    this.cooklist,
    this.dataMenu,

    // this.finalPriceC,
    // this.pnumC,
    // this.minC,
    // this.spareC,
  });

  Setmeal.fromJson(Map<String, dynamic> json) {
    setmealId = json['setmeal_id'];
    price = json['price'];
    finalPrice = json['final_price'];
    pnum = json['pnum'];
    min = json['min'];
    spare = json['spare'];
    name = json['name'];
    select = json['select'];
    bargaining = json['bargaining'];
    // if (json['cooklist'] != null) {
    //   cooklist = <Cooklist>[];
    //   json['cooklist'].forEach((v) {
    //     cooklist.add(new Cooklist.fromJson(v));
    //   });
    // }
    if (json['cooklist'] is List) {
      cooklist = <Cooklist>[];
      json['cooklist'].forEach((v) {
        cooklist!.add(new Cooklist.fromJson(v));
      });
    } else {
      if (json['cooklist'] != null && json['cooklist'].length > 0) {
        cooklist = <Cooklist>[];
        dataMenu = {};
        Map map = json['cooklist'];

        map.forEach((key, v) {
          List<Cook> cooktemp = [];
          v.forEach((v1) {
            cooklist!.add(new Cooklist.fromJson(v1));
            cooktemp.add(new Cook.fromJson(v1));
          });
          dataMenu![key] = cooktemp;
        });
        print(dataMenu);
      }
    }

    // finalPriceC = json['finalPriceC'];
    // pnumC = json['pnumC'];
    // minC = json['minC'];
    // spareC = json['spareC'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['setmeal_id'] = this.setmealId;
    data['price'] = this.price;
    data['final_price'] = this.finalPrice;
    data['pnum'] = this.pnum;
    data['min'] = this.min;
    data['spare'] = this.spare;
    data['name'] = this.name;
    data['select'] = this.select;
    data['bargaining'] = this.bargaining;
    // data['finalPriceC'] = this.finalPriceC;
    // data['pnumC'] = this.pnumC;
    // data['minC'] = this.minC;
    // data['spareC'] = this.spareC;
    if (this.cooklist != null) {
      data['cooklist'] = this.cooklist!.map((v) => v.toJson()).toList();
    }
    return data;
  }
}

class Cooklist {
  String? id;
  String? cname;

  Cooklist({this.cname});

  Cooklist.fromJson(Map<String, dynamic> json) {
    id = json['id'];
    cname = json['cname'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['id'] = this.id;
    data['cname'] = this.cname;
    return data;
  }
}

class Wine {
  String? wineId;
  String? price;
  String? finalPrice;
  String? numStr;
  String? name;
  String? bargaining;
  bool select = false;
  String? spec;

  TextEditingController? finalPriceC;
  TextEditingController? numC;

  Wine({this.wineId, this.price, this.finalPrice, this.numStr});

  Wine.fromJson(Map<String, dynamic> json) {
    wineId = json['wine_id'];
    price = json['price'];
    finalPrice = json['final_price'];
    numStr = json['num'];
    name = json['name'];
    spec = json['spec'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['wine_id'] = this.wineId;
    data['price'] = this.price;
    data['final_price'] = this.finalPrice;
    data['num'] = this.numStr;
    data['name'] = this.name;
    data['spec'] = this.spec;
    return data;
  }
}

class Other {
  String? otherId;
  String? price;
  String? finalPrice;
  String? numStr;

  String? name;
  String? bargaining;
  bool select = false;
  String? spec;

  TextEditingController? finalPriceC;
  TextEditingController? numC;

  Other({this.otherId, this.price, this.finalPrice, this.numStr});

  Other.fromJson(Map<String, dynamic> json) {
    otherId = json['other_id'];
    price = json['price'];
    finalPrice = json['final_price'];
    numStr = json['num'];
    name = json['name'];
    spec = json['spec'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['other_id'] = this.otherId;
    data['price'] = this.price;
    data['final_price'] = this.finalPrice;
    data['num'] = this.numStr;
    data['name'] = this.name;
    data['spec'] = this.spec;
    return data;
  }
}

class Images {
  String? url;

  Images({this.url});

  Images.fromJson(Map<String, dynamic> json) {
    url = json['url'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['url'] = this.url;
    return data;
  }
}