CShangpinPageUI.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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. #include "../wnd/CModalWnd.h"
  10. class CShangpinPageUI : public CBasePageUI
  11. {
  12. public:
  13. CShangpinPageUI();
  14. ~CShangpinPageUI();
  15. //初始化当前页面的展示,处理默认展示效果,在页面每次被选中加载(注意不是页面创建构造)的时候调用,如果多次选中会多次调用,这里要避免数据重复处理
  16. void InitShow();
  17. //收款一个订单成功,准备开始收款第2个订单的时候调用(会多次调度用)
  18. void RefreshShow();
  19. //初始化商品分类的显示
  20. void InitFoodtypeShow();
  21. void UpdateFoodtypePos();
  22. //根据当前选择的分类,刷新商品展示
  23. void InitFoodShow();
  24. //处理按钮点击类事件
  25. void HandleClickMsg(TNotifyUI& msg);
  26. //处理option切换事件
  27. void HandleSelectChangeMsg(TNotifyUI& msg);
  28. //处理下拉框、radio的切换事件
  29. void HandleItemSelectMsg(TNotifyUI& msg);
  30. //处理编辑框输入内容改变事件
  31. void HandleTextChangedMsg(TNotifyUI& msg);
  32. //处理扫码枪捕捉到的扫码信息
  33. void HandleTextCapture(std::string content);
  34. //处理自定义消息,各个页面处理各个页面自己的(是自己处理的消息返回true,不是自己处理的消息返回false)
  35. bool HandleCustomMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
  36. {
  37. return false;
  38. }
  39. //点击某一个商品的item之后的处理逻辑
  40. void ClickFoodAction();
  41. //开始搜索某个商品名字
  42. void StartSearchFood(std::string foodname);
  43. //停止搜索商品
  44. void StopSerachFood();
  45. void SetPos(RECT rc, bool bNeedInvalidate = true);
  46. private:
  47. CTileLayoutUI* m_foodLayout;
  48. CHorizontalLayoutUI* m_foodtypeLayout;
  49. //所有商品分类(只包含收银机显示的分类)
  50. std::vector<CFoodType> m_types;
  51. //当前选中的商品分类ID,为空表示没选中任何分类,为taocan表示选中套餐分类,如果选中普通商品分类就是分类ID
  52. std::string m_cur_type_id = "";
  53. CControlUI* m_curFoodtypeOption;
  54. //商品搜索相关
  55. std::string m_type_id_before_sousuo;
  56. std::string m_sousuo_foodname;
  57. //当前点击的哪个商品
  58. CDiandanFoodItemUI* m_cur_click_food_item;
  59. //模态对话框有关的
  60. bool m_is_show_modal_wnd = false;
  61. CModalWnd* m_curModalWnd;
  62. //当前控件的实际宽度
  63. int m_nPageWidth;
  64. };