| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- #pragma once
- #include "../pch/pch.h"
- #include "CBasePageUI.h"
- #include "../zhipuzi/CFood.h"
- #include "../zhipuzi/CFoodtype.h"
- #include "../zhipuzi/CFoodpackage.h"
- #include "../control/CDiandanFoodItemUI.h"
- #include "../zhipuzi/CDiandanOrder.h"
- #include "../wnd/CModalWnd.h"
- class CShangpinPageUI : public CBasePageUI
- {
- public:
- CShangpinPageUI();
- ~CShangpinPageUI();
- //初始化当前页面的展示,处理默认展示效果,在页面每次被选中加载(注意不是页面创建构造)的时候调用,如果多次选中会多次调用,这里要避免数据重复处理
- void InitShow();
- //收款一个订单成功,准备开始收款第2个订单的时候调用(会多次调度用)
- void RefreshShow();
- //初始化商品分类的显示
- void InitFoodtypeShow();
- void UpdateFoodtypePos();
- //根据当前选择的分类,刷新商品展示
- void InitFoodShow();
- //处理按钮点击类事件
- void HandleClickMsg(TNotifyUI& msg);
- //处理option切换事件
- void HandleSelectChangeMsg(TNotifyUI& msg);
- //处理下拉框、radio的切换事件
- void HandleItemSelectMsg(TNotifyUI& msg);
- //处理编辑框输入内容改变事件
- void HandleTextChangedMsg(TNotifyUI& msg);
- //处理扫码枪捕捉到的扫码信息
- void HandleTextCapture(std::string content);
- //处理自定义消息,各个页面处理各个页面自己的(是自己处理的消息返回true,不是自己处理的消息返回false)
- bool HandleCustomMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
- {
- return false;
- }
- //点击某一个商品的item之后的处理逻辑
- void ClickFoodAction();
- //开始搜索某个商品名字
- void StartSearchFood(std::string foodname);
- //停止搜索商品
- void StopSerachFood();
- void SetPos(RECT rc, bool bNeedInvalidate = true);
- private:
- CTileLayoutUI* m_foodLayout;
- CHorizontalLayoutUI* m_foodtypeLayout;
- //所有商品分类(只包含收银机显示的分类)
- std::vector<CFoodType> m_types;
- //当前选中的商品分类ID,为空表示没选中任何分类,为taocan表示选中套餐分类,如果选中普通商品分类就是分类ID
- std::string m_cur_type_id = "";
- CControlUI* m_curFoodtypeOption;
- //商品搜索相关
- std::string m_type_id_before_sousuo;
- std::string m_sousuo_foodname;
- //当前点击的哪个商品
- CDiandanFoodItemUI* m_cur_click_food_item;
- //模态对话框有关的
- bool m_is_show_modal_wnd = false;
- CModalWnd* m_curModalWnd;
- //当前控件的实际宽度
- int m_nPageWidth;
- };
|