CZhengcanPageUI.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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/CZhengcanTableItemUI.h"
  8. #include "../wnd/CModalWnd.h"
  9. class CZhengcanPageUI : public CBasePageUI
  10. {
  11. public:
  12. CZhengcanPageUI();
  13. ~CZhengcanPageUI();
  14. //初始化当前页面的展示,处理默认展示效果,在页面每次被选中加载(注意不是页面创建构造)的时候调用,如果多次选中会多次调用,这里要避免数据重复处理
  15. void InitShow();
  16. //处理按钮点击类事件
  17. void HandleClickMsg(TNotifyUI& msg);
  18. //处理option切换事件
  19. void HandleSelectChangeMsg(TNotifyUI& msg);
  20. //处理下拉框、radio的切换事件
  21. void HandleItemSelectMsg(TNotifyUI& msg);
  22. //处理编辑框输入内容改变事件
  23. void HandleTextChangedMsg(TNotifyUI& msg);
  24. //处理扫码枪捕捉到的扫码信息
  25. void HandleTextCapture(std::string content);
  26. //处理自定义消息,各个页面处理各个页面自己的(是自己处理的消息返回true,不是自己处理的消息返回false)
  27. bool HandleCustomMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
  28. {
  29. return false;
  30. }
  31. void SetPos(RECT rc, bool bNeedInvalidate = true);
  32. //先初始化桌子分类
  33. void InitTabletypeShow();
  34. void UpdateTabletypePos();
  35. //根据当前选择的桌子分类,刷新桌位展示
  36. void RefreshTableShow();
  37. void UpdateTablePos();
  38. void ClickTableAction();
  39. private:
  40. //执行开台动作,请求服务器
  41. bool Kaitai(std::string table_id, std::string renshu);
  42. //进入桌子
  43. void EnterTable(std::string table_id);
  44. void DoRefreshTable();
  45. private:
  46. //当前控件的实际宽度
  47. int m_nPageWidth;
  48. CHorizontalLayoutUI* m_zhuozitypeLayout;
  49. CVerticalLayoutUI* m_tableLayout;
  50. //桌子分类的数量
  51. int m_tabletype_num;
  52. //桌子数量
  53. int m_table_num;
  54. //当前选中的桌子分类ID,为空表示没选中任何分类,为all表示选中全部分类,如果选中普通分类就是分类ID
  55. std::string m_cur_type_id = "";
  56. CControlUI* m_curZhuozitypeOption;
  57. CZhengcanTableItemUI* m_cur_click_table_item;
  58. bool m_is_refresh_table = false;
  59. };