CDiandanPageUI.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. #pragma once
  2. #include "../pch/pch.h"
  3. #include "CBasePageUI.h"
  4. #include "../zhipuzi/CFood.h"
  5. #include "../zhipuzi/CFoodtype.h"
  6. #include "../zhipuzi/CFoodpackage.h"
  7. #include "../control/CDiandanFoodItemUI.h"
  8. #include "../zhipuzi/CDiandanOrder.h"
  9. class CDiandanPageUI : public CBasePageUI
  10. {
  11. public:
  12. CDiandanPageUI();
  13. ~CDiandanPageUI();
  14. //初始化当前页面的展示,处理默认展示效果,在页面被加载的时候调用
  15. void InitShow();
  16. //初始化结算页面的信息
  17. void InitJiesuanInfo();
  18. //处理按钮点击类事件
  19. void HandleClickMsg(TNotifyUI& msg);
  20. //处理option切换事件
  21. void HandleSelectChangeMsg(TNotifyUI& msg);
  22. //处理下拉框、radio的切换事件
  23. void HandleItemSelectMsg(TNotifyUI& msg);
  24. void InitFoodtypeShow();
  25. //刷新商品展示
  26. void RefreshFoodlist();
  27. //添加一个新的商品到购物车展示
  28. void AddDiandanOrderItemShow(int index);
  29. //刷新某个购物车商品的显示
  30. void UpdateDiandanOrderItemShow(int index);
  31. //删除购物车中某一个商品
  32. void DelDiandanOrderItemShow(int index);
  33. //清空购物车中所有商品的展示
  34. void ClearDiandanOrderItemShow();
  35. //点击某一个商品的item之后的处理逻辑
  36. void ClickFoodAction();
  37. //点击加号之后的逻辑
  38. void ClickAdd();
  39. //点击减号之后的逻辑
  40. void ClickDel();
  41. //点击删除之后的逻辑
  42. void ClickRemove();
  43. //点击规格之后的逻辑
  44. void ClickGuige();
  45. //点击清空之后的逻辑
  46. void ClickQingkong();
  47. //点击整单备注之后的逻辑
  48. void ClickZhengdanMemo();
  49. //点击更多支付之后的逻辑
  50. void ClickGengduoPay();
  51. //点击继续加菜之后的逻辑
  52. void JixuJiacai();
  53. private:
  54. CTileLayoutUI* m_foodLayout;
  55. CHorizontalLayoutUI* m_foodtypeLayout;
  56. //套餐商品数量
  57. int m_nFoodpackageNum;
  58. //所有商品分类(只包含收银机显示的分类)
  59. std::vector<CFoodType> m_types;
  60. //当前选中的商品分类ID,为空表示没选中任何分类,为taocan表示选中套餐分类,如果选中普通商品分类就是分类ID
  61. std::string m_cur_type_id = "";
  62. //当前点击的哪个商品
  63. CDiandanFoodItemUI* m_cur_click_food_item;
  64. //当前购物车的订单,根据这个来进行渲染显示
  65. CDiandanOrder m_cur_diandan_order;
  66. //下面是结算相关信息
  67. double m_discount;
  68. double m_jiajia;
  69. double m_youhui;
  70. //优惠券
  71. bool m_is_youhuiquan;
  72. //商品券
  73. bool m_is_shangpinquan;
  74. //次卡
  75. bool m_is_cika;
  76. //权益卡
  77. bool m_is_quanyika;
  78. //抹零 0:不抹零 1:抹零到角 2:抹零到元
  79. int m_moling_type;
  80. };