cookbook_model.dart 9.6 KB
import 'package:flutter/material.dart';
import 'package:one_key/models/radio_model.dart';
import 'package:one_key/utils/utils.dart';

///菜单

class MenuModel {
  String id;
  String sellerid;
  String className;
  dynamic classLabel;
  String order;
  String status;
  String classType;
  List<MenuSunModel> cookbooklist;
  int allSum; //总共选中菜数量
  bool isChange = false; //是否发生数量变化

  List<dynamic> cookbooklistShow;

  MenuModel(
      {this.id,
      this.sellerid,
      this.className,
      this.classLabel,
      this.order,
      this.status,
      this.classType,
      this.cookbooklist});

  MenuModel.fromJson(Map<String, dynamic> json) {
    id = json['id'];
    sellerid = json['sellerid'];
    className = json['class_name'];
    classLabel = json['class_label'];
    order = json['order'];
    status = json['status'];
    classType = json['class_type'];
    // allSum = json['allSum'] ?? 0;
    if (json['cookbooklist'] != null) {
      cookbooklist = [];
      json['cookbooklist'][0].forEach((v) {
        cookbooklist.add(new MenuSunModel.fromJson(v));
      });
    }
  }

  MenuModel.fromJson2(Map<String, dynamic> json) {
    id = json['id'];
    sellerid = json['sellerid'];
    className = json['class_name'];
    classLabel = json['class_label'];
    order = json['order'];
    status = json['status'];
    classType = json['class_type'];
    allSum = json['allSum'] ?? 0;
    if (json['cookbooklist'] != null) {
      cookbooklist = [];
      json['cookbooklist'].forEach((v) {
        cookbooklist.add(new MenuSunModel.fromJson2(v));
      });
    }
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['id'] = this.id;
    data['sellerid'] = this.sellerid;
    data['class_name'] = this.className;
    data['class_label'] = this.classLabel;
    data['order'] = this.order;
    data['status'] = this.status;
    data['class_type'] = this.classType;
    data['allSum'] = this.allSum;
    if (this.cookbooklist != null) {
      data['cookbooklist'] = this.cookbooklist.map((v) => v.toJson()).toList();
    }
    return data;
  }
}

class MenuSunModel {
  String id;
  String sellerid;
  String mid;
  String cid;
  String lid;
  String unit;
  String name;
  String price;
  String member_price;
  String first_name;
  String search_code;
  String channel;
  String dishesvideo;
  String dishesgif;
  String status;

  String setup;
  String give;
  String clear_num;
  String record_num;
  String image;
  String is_weigh;
  String desc;
  String order_o;
  String cdate;
  List spec;
  int isSpec;
  List practice;
  List<MenuModel> cookList;

  int amount; //菜品数量

  TextEditingController amountC = TextEditingController();
  int moreSum = 0; //排菜编辑页展示选中总数

  String nameType = '3'; //1左侧,2右侧,3顶部分开
  String imageType = '1'; //1大图,2小图
  int sort;
  int indexNew;

//名称样式选择数组
  List<RadioModel> get nameTypeList {
    RadioModel radioModel1 = RadioModel();
    radioModel1.title = '菜品名称(味型/烹调)及价格在顶部左侧';
    radioModel1.code = '1';
    radioModel1.select = nameType == radioModel1.code ? true : false;
    RadioModel radioModel2 = RadioModel();
    radioModel2.title = '菜品名称(味型/烹调)及价格在顶部右侧';
    radioModel2.code = '2';
    radioModel2.select = nameType == radioModel2.code ? true : false;
    RadioModel radioModel3 = RadioModel();
    radioModel3.title = '菜品名称(味型/烹调)及价格在顶部分开';
    radioModel3.code = '3';
    radioModel3.select = nameType == radioModel3.code ? true : false;
    return [radioModel1, radioModel2, radioModel3];
  }

  //图片样式选择数组
  List<RadioModel> get imageTypeList {
    RadioModel radioModel1 = RadioModel();
    radioModel1.title = '大图展示菜品';
    radioModel1.code = '1';
    radioModel1.select = imageType == radioModel1.code ? true : false;
    RadioModel radioModel2 = RadioModel();
    radioModel2.title = '小图展示菜品';
    radioModel2.code = '2';
    radioModel2.select = imageType == radioModel2.code ? true : false;

    return [radioModel1, radioModel2];
  }

  //图片移动数组
  List<RadioModel> get moveList {
    RadioModel radioModel1 = RadioModel();
    radioModel1.title = '菜品向上移动一个';
    radioModel1.code = '1';
    radioModel1.select = false;
    RadioModel radioModel2 = RadioModel();
    radioModel2.title = '菜品向下移动一个';
    radioModel2.code = '2';
    radioModel2.select = false;

    return [radioModel1, radioModel2];
  }

  MenuSunModel(
      {this.id,
      this.sellerid,
      this.mid,
      this.cid,
      this.lid,
      this.unit,
      this.name,
      this.price,
      this.member_price,
      this.first_name,
      this.search_code,
      this.channel,
      this.dishesvideo,
      this.dishesgif,
      this.status,
      this.setup,
      this.give,
      this.clear_num,
      this.record_num,
      this.image,
      this.is_weigh,
      this.desc,
      this.order_o,
      this.cdate,
      this.spec,
      this.isSpec,
      this.practice,
      this.amount = 0,
      this.cookList,
      this.amountC,
      this.nameType,
      this.imageType,
      this.sort});

  MenuSunModel.fromJson(Map<String, dynamic> json) {
    id = json['id'];
    sellerid = json['sellerid'];
    mid = json['mid'];
    lid = json['lid'];
    unit = json['unit'];
    name = json['name'];
    price = json['price'];
    member_price = json['member_price'] ?? json['price'];
    first_name = json['first_name'];
    search_code = json['search_code'];
    channel = json['channel'];
    dishesvideo = json['dishesvideo'];
    dishesgif = json['dishesgif'];
    status = json['status'];
    setup = json['setup'];
    give = json['give'];
    clear_num = json['clear_num'];
    record_num = json['record_num'];
    image = json['image'];
    is_weigh = json['is_weigh'];
    desc = json['desc'];
    order_o = json['order_o'];
    cdate = json['cdate'];
    spec = json['spec'];
    isSpec = json['isSpec'];
    practice = json['practice'];
    amount = 0;
    amountC.text = '0';
    if (json['cookList'] != null) {
      cookList = [];
      json['cookList'].forEach((v) {
        cookList.add(new MenuModel.fromJson2(v));
      });
    }
    // imageType =  Utils.randomGet(1, 3) ?? '1';
    // nameType = Utils.randomGet(1, 4) ?? '3';
    imageType = name == '小炒肉' || name == '水煮肉片' || name == '西湖牛肉羹' ? '2' : '1';
    nameType = '1';

    sort = json['sort'];
  }

  MenuSunModel.fromJson3(Map<String, dynamic> json) {
    id = json['id'];
    sellerid = json['sellerid'];
    mid = json['mid'];
    lid = json['lid'];
    unit = json['unit'];
    name = json['name'];
    price = json['price'];
    member_price = json['member_price'];
    first_name = json['first_name'];
    search_code = json['search_code'];
    channel = json['channel'];
    dishesvideo = json['dishesvideo'];
    dishesgif = json['dishesgif'];
    status = json['status'];
    setup = json['setup'];
    give = json['give'];
    clear_num = json['clear_num'];
    record_num = json['record_num'];
    image = json['image'];
    is_weigh = json['is_weigh'];
    desc = json['desc'];
    order_o = json['order_o'];
    cdate = json['cdate'];
    spec = json['spec'];
    isSpec = json['isSpec'];
    practice = json['practice'];
    amount = 0;
    amountC.text = '0';
    if (json['cookList'] != null) {
      cookList = [];
      json['cookList'].forEach((v) {
        cookList.add(v);
      });
    }
  }

  MenuSunModel.fromJson2(Map<String, dynamic> json) {
    id = json['id'];
    sellerid = json['sellerid'];
    mid = json['mid'];
    lid = json['lid'];
    unit = json['unit'];
    name = json['name'];
    price = json['price'];
    member_price = json['member_price'];
    first_name = json['first_name'];
    search_code = json['search_code'];
    channel = json['channel'];
    dishesvideo = json['dishesvideo'];
    dishesgif = json['dishesgif'];
    status = json['status'];
    setup = json['setup'];
    give = json['give'];
    clear_num = json['clear_num'];
    record_num = json['record_num'];
    image = json['image'];
    is_weigh = json['is_weigh'];
    desc = json['desc'];
    order_o = json['order_o'];
    cdate = json['cdate'];
    spec = json['spec'];
    isSpec = json['isSpec'];
    practice = json['practice'];
    amount = json['amount'] ?? 0;
    amountC.text = amount.toString();
    if (json['cookList'] != null) {
      cookList = [];
      json['cookList'].forEach((v) {
        cookList.add(new MenuModel.fromJson2(v));
      });
    }
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['id'] = this.id;
    data['sellerid'] = this.sellerid;
    data['mid'] = this.mid;
    data['lid'] = this.lid;
    data['unit'] = this.unit;
    data['name'] = this.name;
    data['price'] = this.price;
    data['member_price'] = this.member_price;
    data['first_name'] = this.first_name;
    data['search_code'] = this.search_code;
    data['channel'] = this.channel;
    data['dishesvideo'] = this.dishesvideo;
    data['dishesgif'] = this.dishesgif;
    data['status'] = this.status;
    data['setup'] = this.setup;
    data['give'] = this.give;
    data['clear_num'] = this.clear_num;

    data['record_num'] = this.record_num;
    data['image'] = this.image;
    data['is_weigh'] = this.is_weigh;
    data['desc'] = this.desc;
    data['order_o'] = this.order_o;
    data['cdate'] = this.cdate;
    data['spec'] = this.spec;
    data['isSpec'] = this.isSpec;
    data['practice'] = this.practice;
    data['amount'] = this.amount;
    data['cookList'] = this.cookList;
    data['sort'] = this.sort;
    return data;
  }
}