|
|
@@ -216,8 +216,31 @@ void CDiandanPageUI::InitFoodShow()
|
|
|
m_foodLayout->Add(pItem);
|
|
|
}
|
|
|
}
|
|
|
+ else if (m_cur_type_id == "sousuo")
|
|
|
+ {
|
|
|
+ //展示的是商品搜索的结果
|
|
|
+ CSqlite3 sqlite;
|
|
|
+ std::vector<CFood> foodlist = sqlite.GetFoodByFoodname(m_sousuo_foodname);
|
|
|
+
|
|
|
+ for (std::vector<CFood>::iterator it = foodlist.begin(); it != foodlist.end(); it++)
|
|
|
+ {
|
|
|
+ CFood food = *it;
|
|
|
+
|
|
|
+ CDialogBuilder builder;
|
|
|
+ CDialogBuilderCallbackEx cb;
|
|
|
+
|
|
|
+ CDiandanFoodItemUI* pItem = static_cast<CDiandanFoodItemUI*>(builder.Create(xml_name.c_str(), (UINT)0, &cb, m_pManager));
|
|
|
+
|
|
|
+ pItem->SetYoutuModel(is_youtu);
|
|
|
+ pItem->SetFoodInfo(food);
|
|
|
+ pItem->UpdateShow();
|
|
|
+
|
|
|
+ m_foodLayout->Add(pItem);
|
|
|
+ }
|
|
|
+ }
|
|
|
else
|
|
|
{
|
|
|
+ //选择的是普通商品分类
|
|
|
CSqlite3 sqlite;
|
|
|
std::vector<CFood> foodlist = sqlite.GetFoodByTypeid(m_cur_type_id);
|
|
|
|
|
|
@@ -671,6 +694,13 @@ void CDiandanPageUI::HandleClickMsg(TNotifyUI& msg)
|
|
|
|
|
|
this->StartZidingyiShoukuan(name, selfpay_id);
|
|
|
}
|
|
|
+ else if (name == L"diandan_food_search_clear")
|
|
|
+ {
|
|
|
+ CEditUI* m_pEdit = static_cast<CEditUI*>(m_pManager->FindControl(_T("diandan_food_search_edit")));
|
|
|
+ m_pEdit->SetText(L"");
|
|
|
+
|
|
|
+ StopSerachFood();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//处理option切换事件
|
|
|
@@ -736,15 +766,39 @@ void CDiandanPageUI::HandleItemSelectMsg(TNotifyUI& msg)
|
|
|
void CDiandanPageUI::HandleTextChangedMsg(TNotifyUI& msg)
|
|
|
{
|
|
|
CDuiString name = msg.pSender->GetName();
|
|
|
+
|
|
|
+ if (name == L"diandan_food_search_edit")
|
|
|
+ {
|
|
|
+ //商品搜索框的输入事件
|
|
|
+ CEditUI* m_pEdit = static_cast<CEditUI*>(m_pManager->FindControl(_T("diandan_food_search_edit")));
|
|
|
+ wstring ws_Value = m_pEdit->GetText();
|
|
|
+ string strValue = CLewaimaiString::UnicodeToUTF8(ws_Value);
|
|
|
+
|
|
|
+ if (strValue.length() == 0)
|
|
|
+ {
|
|
|
+ //搜索词被清空了,退出搜索
|
|
|
+ this->StopSerachFood();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ //搜索词没清空,进入搜索
|
|
|
+ this->StartSearchFood(strValue);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//处理扫码枪捕捉到的扫码信息
|
|
|
void CDiandanPageUI::HandleTextCapture(std::string content)
|
|
|
{
|
|
|
- //能收到这个消息,说明当前没有弹框,如果弹框了消息会被弹框本身拦截不会到MainWnd
|
|
|
- string a = content;
|
|
|
-
|
|
|
- ::MessageBox(NULL, L"111", L"222", MB_OK);
|
|
|
+ if (m_is_show_modal_wnd == true)
|
|
|
+ {
|
|
|
+ m_curModalWnd->HandleTextCapture(content);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ //没有任何弹框,那么就是按扫描商品条码来处理
|
|
|
+ this->SaomiaoBarcode(content);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
void CDiandanPageUI::AddDiandanOrderItemShow(int index)
|
|
|
@@ -1452,12 +1506,20 @@ void CDiandanPageUI::ClickFoodAction()
|
|
|
clickItem.SetFoodpackageInfo(m_cur_click_food_item->GetFoodpackageInfo());
|
|
|
clickItem.SetIsTaocan(true);
|
|
|
|
|
|
+ if (m_is_show_modal_wnd == true)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
//先弹框进行选择属性
|
|
|
CDiandanNatureWnd* pNatureFrame = new CDiandanNatureWnd(1);
|
|
|
pNatureFrame->SetFoodItemUI(m_cur_click_food_item);
|
|
|
|
|
|
if (pNatureFrame != NULL)
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = true;
|
|
|
+ m_curModalWnd = pNatureFrame;
|
|
|
+
|
|
|
pNatureFrame->Create(m_pManager->GetPaintWindow(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_WINDOWEDGE);
|
|
|
pNatureFrame->SetIcon(IDI_ICON_DUILIB);
|
|
|
pNatureFrame->CenterWindow();
|
|
|
@@ -1469,10 +1531,12 @@ void CDiandanPageUI::ClickFoodAction()
|
|
|
std::vector<FoodNatureSelectValue> natureSelectedArray = pNatureFrame->GetNatureSelectedArray();
|
|
|
clickItem.natureSelectedArray = natureSelectedArray;
|
|
|
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pNatureFrame;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pNatureFrame;
|
|
|
|
|
|
return;
|
|
|
@@ -1553,11 +1617,19 @@ void CDiandanPageUI::ClickFoodAction()
|
|
|
{
|
|
|
clickItem.is_weight = true;
|
|
|
|
|
|
+ if (m_is_show_modal_wnd == true)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
//这里要弹出称重框,不弹属性框
|
|
|
CChengzhongWnd* pChengzhongFrame = new CChengzhongWnd();
|
|
|
|
|
|
if (pChengzhongFrame != NULL)
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = true;
|
|
|
+ m_curModalWnd = pChengzhongFrame;
|
|
|
+
|
|
|
pChengzhongFrame->Create(m_pManager->GetPaintWindow(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_WINDOWEDGE);
|
|
|
pChengzhongFrame->SetIcon(IDI_ICON_DUILIB);
|
|
|
pChengzhongFrame->CenterWindow();
|
|
|
@@ -1576,10 +1648,12 @@ void CDiandanPageUI::ClickFoodAction()
|
|
|
|
|
|
clickItem.num = weight;
|
|
|
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pChengzhongFrame;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pChengzhongFrame;
|
|
|
|
|
|
return;
|
|
|
@@ -1595,12 +1669,20 @@ void CDiandanPageUI::ClickFoodAction()
|
|
|
//商品有商品属性
|
|
|
clickItem.is_nature = true;
|
|
|
|
|
|
+ if (m_is_show_modal_wnd == true)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
//先弹框进行选择属性
|
|
|
CDiandanNatureWnd* pNatureFrame = new CDiandanNatureWnd(1);
|
|
|
pNatureFrame->SetFoodItemUI(m_cur_click_food_item);
|
|
|
|
|
|
if (pNatureFrame != NULL)
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = true;
|
|
|
+ m_curModalWnd = pNatureFrame;
|
|
|
+
|
|
|
pNatureFrame->Create(m_pManager->GetPaintWindow(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_WINDOWEDGE);
|
|
|
pNatureFrame->SetIcon(IDI_ICON_DUILIB);
|
|
|
pNatureFrame->CenterWindow();
|
|
|
@@ -1612,10 +1694,12 @@ void CDiandanPageUI::ClickFoodAction()
|
|
|
std::vector<FoodNatureSelectValue> natureSelectedArray = pNatureFrame->GetNatureSelectedArray();
|
|
|
clickItem.natureSelectedArray = natureSelectedArray;
|
|
|
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pNatureFrame;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pNatureFrame;
|
|
|
|
|
|
return;
|
|
|
@@ -1710,12 +1794,20 @@ void CDiandanPageUI::ClickGuige()
|
|
|
bool is_taocan = m_cur_diandan_order.getDiandanOrderItem(nIndex).m_is_taocan;
|
|
|
if (is_taocan)
|
|
|
{
|
|
|
+ if (m_is_show_modal_wnd == true)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
//弹出属性框,开始重新选择属性
|
|
|
CDiandanNatureWnd* pNatureFrame = new CDiandanNatureWnd(2);
|
|
|
pNatureFrame->SetDiandanOrderItem(m_cur_diandan_order.getDiandanOrderItem(nIndex));
|
|
|
|
|
|
if (pNatureFrame != NULL)
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = true;
|
|
|
+ m_curModalWnd = pNatureFrame;
|
|
|
+
|
|
|
pNatureFrame->Create(m_pManager->GetPaintWindow(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_WINDOWEDGE);
|
|
|
pNatureFrame->SetIcon(IDI_ICON_DUILIB);
|
|
|
pNatureFrame->CenterWindow();
|
|
|
@@ -1727,6 +1819,7 @@ void CDiandanPageUI::ClickGuige()
|
|
|
std::vector<FoodNatureSelectValue> natureSelectedArray = pNatureFrame->GetNatureSelectedArray();
|
|
|
m_cur_diandan_order.UpdateItemGuige(nIndex, natureSelectedArray);
|
|
|
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pNatureFrame;
|
|
|
|
|
|
//然后要刷新这个item的显示
|
|
|
@@ -1734,6 +1827,9 @@ void CDiandanPageUI::ClickGuige()
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
+ delete pNatureFrame;
|
|
|
+
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
@@ -1805,10 +1901,18 @@ void CDiandanPageUI::ClickQingkong()
|
|
|
|
|
|
void CDiandanPageUI::ClickZhengdanMemo()
|
|
|
{
|
|
|
+ if (m_is_show_modal_wnd == true)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
CMemoWnd* pMemoDlg = new CMemoWnd();
|
|
|
|
|
|
if (pMemoDlg != NULL)
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = true;
|
|
|
+ m_curModalWnd = pMemoDlg;
|
|
|
+
|
|
|
pMemoDlg->Create(m_pManager->GetPaintWindow(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_WINDOWEDGE);
|
|
|
pMemoDlg->SetIcon(IDI_ICON_DUILIB);
|
|
|
pMemoDlg->CenterWindow();
|
|
|
@@ -1829,10 +1933,12 @@ void CDiandanPageUI::ClickZhengdanMemo()
|
|
|
//保存备注,提交订单的时候用
|
|
|
m_cur_diandan_order.SetMemo(sMemo);
|
|
|
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pMemoDlg;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pMemoDlg;
|
|
|
|
|
|
return;
|
|
|
@@ -1873,11 +1979,19 @@ void CDiandanPageUI::JixuJiacai()
|
|
|
|
|
|
void CDiandanPageUI::ClickChakanYouhui()
|
|
|
{
|
|
|
+ if (m_is_show_modal_wnd == true)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
//弹框展示所有的优惠
|
|
|
CYouhuiShowWnd* pYouhuiDlg = new CYouhuiShowWnd();
|
|
|
|
|
|
if (pYouhuiDlg != NULL)
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = true;
|
|
|
+ m_curModalWnd = pYouhuiDlg;
|
|
|
+
|
|
|
pYouhuiDlg->Create(m_pManager->GetPaintWindow(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_WINDOWEDGE);
|
|
|
pYouhuiDlg->SetIcon(IDI_ICON_DUILIB);
|
|
|
pYouhuiDlg->CenterWindow();
|
|
|
@@ -1888,10 +2002,13 @@ void CDiandanPageUI::ClickChakanYouhui()
|
|
|
|
|
|
if (ret == IDOK)
|
|
|
{
|
|
|
-
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
+
|
|
|
+ delete pYouhuiDlg;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pYouhuiDlg;
|
|
|
|
|
|
return;
|
|
|
@@ -1901,10 +2018,18 @@ void CDiandanPageUI::ClickChakanYouhui()
|
|
|
|
|
|
void CDiandanPageUI::ClickMemberLogin()
|
|
|
{
|
|
|
+ if (m_is_show_modal_wnd == true)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
CMemberLoginWnd* pMemberLoginDlg = new CMemberLoginWnd();
|
|
|
|
|
|
if (pMemberLoginDlg != NULL)
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = true;
|
|
|
+ m_curModalWnd = pMemberLoginDlg;
|
|
|
+
|
|
|
pMemberLoginDlg->Create(m_pManager->GetPaintWindow(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_WINDOWEDGE);
|
|
|
pMemberLoginDlg->SetIcon(IDI_ICON_DUILIB);
|
|
|
pMemberLoginDlg->CenterWindow();
|
|
|
@@ -1931,10 +2056,12 @@ void CDiandanPageUI::ClickMemberLogin()
|
|
|
|
|
|
this->UpdateJiesuanInfo();
|
|
|
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pMemberLoginDlg;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pMemberLoginDlg;
|
|
|
|
|
|
return;
|
|
|
@@ -1944,10 +2071,18 @@ void CDiandanPageUI::ClickMemberLogin()
|
|
|
|
|
|
void CDiandanPageUI::ClickZhekou()
|
|
|
{
|
|
|
+ if (m_is_show_modal_wnd == true)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
CZhekouWnd* pZhekouDlg = new CZhekouWnd();
|
|
|
|
|
|
if (pZhekouDlg != NULL)
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = true;
|
|
|
+ m_curModalWnd = pZhekouDlg;
|
|
|
+
|
|
|
pZhekouDlg->Create(m_pManager->GetPaintWindow(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_WINDOWEDGE);
|
|
|
pZhekouDlg->SetIcon(IDI_ICON_DUILIB);
|
|
|
pZhekouDlg->CenterWindow();
|
|
|
@@ -1966,10 +2101,12 @@ void CDiandanPageUI::ClickZhekou()
|
|
|
|
|
|
this->UpdateJiesuanInfo();
|
|
|
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pZhekouDlg;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pZhekouDlg;
|
|
|
|
|
|
return;
|
|
|
@@ -1979,10 +2116,18 @@ void CDiandanPageUI::ClickZhekou()
|
|
|
|
|
|
void CDiandanPageUI::ClickJiajia()
|
|
|
{
|
|
|
+ if (m_is_show_modal_wnd == true)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
CjiajiaWnd* pJiajiaDlg = new CjiajiaWnd();
|
|
|
|
|
|
if (pJiajiaDlg != NULL)
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = true;
|
|
|
+ m_curModalWnd = pJiajiaDlg;
|
|
|
+
|
|
|
pJiajiaDlg->Create(m_pManager->GetPaintWindow(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_WINDOWEDGE);
|
|
|
pJiajiaDlg->SetIcon(IDI_ICON_DUILIB);
|
|
|
pJiajiaDlg->CenterWindow();
|
|
|
@@ -2001,10 +2146,12 @@ void CDiandanPageUI::ClickJiajia()
|
|
|
|
|
|
this->UpdateJiesuanInfo();
|
|
|
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pJiajiaDlg;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pJiajiaDlg;
|
|
|
|
|
|
return;
|
|
|
@@ -2014,10 +2161,18 @@ void CDiandanPageUI::ClickJiajia()
|
|
|
|
|
|
void CDiandanPageUI::ClickRengongyouhui()
|
|
|
{
|
|
|
+ if (m_is_show_modal_wnd == true)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
CRengongYouhuiWnd* pYouhuiDlg = new CRengongYouhuiWnd();
|
|
|
|
|
|
if (pYouhuiDlg != NULL)
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = true;
|
|
|
+ m_curModalWnd = pYouhuiDlg;
|
|
|
+
|
|
|
pYouhuiDlg->Create(m_pManager->GetPaintWindow(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_WINDOWEDGE);
|
|
|
pYouhuiDlg->SetIcon(IDI_ICON_DUILIB);
|
|
|
pYouhuiDlg->CenterWindow();
|
|
|
@@ -2036,10 +2191,12 @@ void CDiandanPageUI::ClickRengongyouhui()
|
|
|
|
|
|
this->UpdateJiesuanInfo();
|
|
|
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pYouhuiDlg;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pYouhuiDlg;
|
|
|
|
|
|
return;
|
|
|
@@ -2049,10 +2206,18 @@ void CDiandanPageUI::ClickRengongyouhui()
|
|
|
|
|
|
void CDiandanPageUI::ClickSaomaYouhuiquan()
|
|
|
{
|
|
|
+ if (m_is_show_modal_wnd == true)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
CSaomaYouhuiquanWnd* pSaomaYouhuiquanDlg = new CSaomaYouhuiquanWnd();
|
|
|
|
|
|
if (pSaomaYouhuiquanDlg != NULL)
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = true;
|
|
|
+ m_curModalWnd = pSaomaYouhuiquanDlg;
|
|
|
+
|
|
|
pSaomaYouhuiquanDlg->Create(m_pManager->GetPaintWindow(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_WINDOWEDGE);
|
|
|
pSaomaYouhuiquanDlg->SetIcon(IDI_ICON_DUILIB);
|
|
|
pSaomaYouhuiquanDlg->CenterWindow();
|
|
|
@@ -2075,10 +2240,12 @@ void CDiandanPageUI::ClickSaomaYouhuiquan()
|
|
|
|
|
|
this->UpdateJiesuanInfo();
|
|
|
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pSaomaYouhuiquanDlg;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pSaomaYouhuiquanDlg;
|
|
|
|
|
|
return;
|
|
|
@@ -2089,10 +2256,18 @@ void CDiandanPageUI::ClickSaomaYouhuiquan()
|
|
|
//点击扫码商品券
|
|
|
void CDiandanPageUI::ClickSaomaShangpinquan()
|
|
|
{
|
|
|
+ if (m_is_show_modal_wnd == true)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
CSaomaShangpinquanWnd* pSaomaShangpinquanDlg = new CSaomaShangpinquanWnd();
|
|
|
|
|
|
if (pSaomaShangpinquanDlg != NULL)
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = true;
|
|
|
+ m_curModalWnd = pSaomaShangpinquanDlg;
|
|
|
+
|
|
|
pSaomaShangpinquanDlg->Create(m_pManager->GetPaintWindow(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_WINDOWEDGE);
|
|
|
pSaomaShangpinquanDlg->SetIcon(IDI_ICON_DUILIB);
|
|
|
pSaomaShangpinquanDlg->CenterWindow();
|
|
|
@@ -2115,10 +2290,12 @@ void CDiandanPageUI::ClickSaomaShangpinquan()
|
|
|
|
|
|
this->UpdateJiesuanInfo();
|
|
|
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pSaomaShangpinquanDlg;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pSaomaShangpinquanDlg;
|
|
|
|
|
|
return;
|
|
|
@@ -2129,10 +2306,18 @@ void CDiandanPageUI::ClickSaomaShangpinquan()
|
|
|
//点击扫码权益卡
|
|
|
void CDiandanPageUI::ClickSaomaQuanyika()
|
|
|
{
|
|
|
+ if (m_is_show_modal_wnd == true)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
CSaomaQuanyikaWnd* pSaomaQuanyikaDlg = new CSaomaQuanyikaWnd();
|
|
|
|
|
|
if (pSaomaQuanyikaDlg != NULL)
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = true;
|
|
|
+ m_curModalWnd = pSaomaQuanyikaDlg;
|
|
|
+
|
|
|
pSaomaQuanyikaDlg->Create(m_pManager->GetPaintWindow(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_WINDOWEDGE);
|
|
|
pSaomaQuanyikaDlg->SetIcon(IDI_ICON_DUILIB);
|
|
|
pSaomaQuanyikaDlg->CenterWindow();
|
|
|
@@ -2153,10 +2338,12 @@ void CDiandanPageUI::ClickSaomaQuanyika()
|
|
|
|
|
|
this->UpdateJiesuanInfo();
|
|
|
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pSaomaQuanyikaDlg;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pSaomaQuanyikaDlg;
|
|
|
|
|
|
return;
|
|
|
@@ -2167,10 +2354,18 @@ void CDiandanPageUI::ClickSaomaQuanyika()
|
|
|
//点击扫码次卡
|
|
|
void CDiandanPageUI::ClickSaomaCika()
|
|
|
{
|
|
|
+ if (m_is_show_modal_wnd == true)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
CSaomaCikaWnd* pSaomaCikaDlg = new CSaomaCikaWnd();
|
|
|
|
|
|
if (pSaomaCikaDlg != NULL)
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = true;
|
|
|
+ m_curModalWnd = pSaomaCikaDlg;
|
|
|
+
|
|
|
pSaomaCikaDlg->Create(m_pManager->GetPaintWindow(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_WINDOWEDGE);
|
|
|
pSaomaCikaDlg->SetIcon(IDI_ICON_DUILIB);
|
|
|
pSaomaCikaDlg->CenterWindow();
|
|
|
@@ -2199,10 +2394,12 @@ void CDiandanPageUI::ClickSaomaCika()
|
|
|
|
|
|
this->UpdateJiesuanInfo();
|
|
|
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pSaomaCikaDlg;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pSaomaCikaDlg;
|
|
|
|
|
|
return;
|
|
|
@@ -2212,10 +2409,18 @@ void CDiandanPageUI::ClickSaomaCika()
|
|
|
|
|
|
void CDiandanPageUI::ClickCanpai()
|
|
|
{
|
|
|
+ if (m_is_show_modal_wnd == true)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
CCanpaiWnd* pCanpaiDlg = new CCanpaiWnd();
|
|
|
|
|
|
if (pCanpaiDlg != NULL)
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = true;
|
|
|
+ m_curModalWnd = pCanpaiDlg;
|
|
|
+
|
|
|
pCanpaiDlg->Create(m_pManager->GetPaintWindow(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_WINDOWEDGE);
|
|
|
pCanpaiDlg->SetIcon(IDI_ICON_DUILIB);
|
|
|
pCanpaiDlg->CenterWindow();
|
|
|
@@ -2236,10 +2441,12 @@ void CDiandanPageUI::ClickCanpai()
|
|
|
|
|
|
this->UpdateJiesuanInfo();
|
|
|
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pCanpaiDlg;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = false;
|
|
|
delete pCanpaiDlg;
|
|
|
|
|
|
return;
|
|
|
@@ -2383,12 +2590,13 @@ void CDiandanPageUI::StartWeixinzhifuShoukuan()
|
|
|
CWeixinzhifuShoukuanWnd* pShoukuanWnd = new CWeixinzhifuShoukuanWnd;
|
|
|
if (pShoukuanWnd != NULL)
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = true;
|
|
|
+ m_curModalWnd = pShoukuanWnd;
|
|
|
+
|
|
|
pShoukuanWnd->Create(m_pManager->GetPaintWindow(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_TOOLWINDOW);
|
|
|
pShoukuanWnd->SetIcon(IDI_ICON_DUILIB);
|
|
|
pShoukuanWnd->CenterWindow();
|
|
|
|
|
|
- m_is_show_modal_wnd = true;
|
|
|
-
|
|
|
std::string format_string = CLewaimaiString::DoubleToString(m_cur_total_price, 2);
|
|
|
std::wstring watchValue = CLewaimaiString::UTF8ToUnicode(format_string);
|
|
|
pShoukuanWnd->InitMoney(watchValue);
|
|
|
@@ -2418,9 +2626,8 @@ void CDiandanPageUI::StartWeixinzhifuShoukuan()
|
|
|
|
|
|
}
|
|
|
|
|
|
- delete pShoukuanWnd;
|
|
|
-
|
|
|
m_is_show_modal_wnd = false;
|
|
|
+ delete pShoukuanWnd;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -2441,12 +2648,13 @@ void CDiandanPageUI::StartHuiyuanShoukuan()
|
|
|
CHuiyuanShoukuanWnd* pShoukuanWnd = new CHuiyuanShoukuanWnd();
|
|
|
if (pShoukuanWnd != NULL)
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = true;
|
|
|
+ m_curModalWnd = pShoukuanWnd;
|
|
|
+
|
|
|
pShoukuanWnd->Create(m_pManager->GetPaintWindow(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_TOOLWINDOW);
|
|
|
pShoukuanWnd->SetIcon(IDI_ICON_DUILIB);
|
|
|
pShoukuanWnd->CenterWindow();
|
|
|
|
|
|
- m_is_show_modal_wnd = true;
|
|
|
-
|
|
|
std::string format_string = CLewaimaiString::DoubleToString(m_cur_total_price, 2);
|
|
|
std::wstring watchValue = CLewaimaiString::UTF8ToUnicode(format_string);
|
|
|
pShoukuanWnd->InitMoney(watchValue);
|
|
|
@@ -2476,9 +2684,8 @@ void CDiandanPageUI::StartHuiyuanShoukuan()
|
|
|
|
|
|
}
|
|
|
|
|
|
- delete pShoukuanWnd;
|
|
|
-
|
|
|
m_is_show_modal_wnd = false;
|
|
|
+ delete pShoukuanWnd;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -2500,12 +2707,13 @@ void CDiandanPageUI::StartXianjinShoukuan()
|
|
|
CXianjinShoukuanWnd* pShoukuanWnd = new CXianjinShoukuanWnd();
|
|
|
if (pShoukuanWnd != NULL)
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = true;
|
|
|
+ m_curModalWnd = pShoukuanWnd;
|
|
|
+
|
|
|
pShoukuanWnd->Create(m_pManager->GetPaintWindow(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_TOOLWINDOW);
|
|
|
pShoukuanWnd->SetIcon(IDI_ICON_DUILIB);
|
|
|
pShoukuanWnd->CenterWindow();
|
|
|
|
|
|
- m_is_show_modal_wnd = true;
|
|
|
-
|
|
|
std::string format_string = CLewaimaiString::DoubleToString(m_cur_total_price, 2);
|
|
|
std::wstring watchValue = CLewaimaiString::UTF8ToUnicode(format_string);
|
|
|
pShoukuanWnd->InitMoney(watchValue);
|
|
|
@@ -2535,9 +2743,8 @@ void CDiandanPageUI::StartXianjinShoukuan()
|
|
|
|
|
|
}
|
|
|
|
|
|
- delete pShoukuanWnd;
|
|
|
-
|
|
|
m_is_show_modal_wnd = false;
|
|
|
+ delete pShoukuanWnd;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -2558,12 +2765,13 @@ void CDiandanPageUI::StartFulikaShoukuan()
|
|
|
CFulikaShoukuanWnd* pShoukuanWnd = new CFulikaShoukuanWnd();
|
|
|
if (pShoukuanWnd != NULL)
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = true;
|
|
|
+ m_curModalWnd = pShoukuanWnd;
|
|
|
+
|
|
|
pShoukuanWnd->Create(m_pManager->GetPaintWindow(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_TOOLWINDOW);
|
|
|
pShoukuanWnd->SetIcon(IDI_ICON_DUILIB);
|
|
|
pShoukuanWnd->CenterWindow();
|
|
|
|
|
|
- m_is_show_modal_wnd = true;
|
|
|
-
|
|
|
std::string format_string = CLewaimaiString::DoubleToString(m_cur_total_price, 2);
|
|
|
std::wstring watchValue = CLewaimaiString::UTF8ToUnicode(format_string);
|
|
|
pShoukuanWnd->InitMoney(watchValue);
|
|
|
@@ -2593,9 +2801,8 @@ void CDiandanPageUI::StartFulikaShoukuan()
|
|
|
|
|
|
}
|
|
|
|
|
|
- delete pShoukuanWnd;
|
|
|
-
|
|
|
m_is_show_modal_wnd = false;
|
|
|
+ delete pShoukuanWnd;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -2616,12 +2823,13 @@ void CDiandanPageUI::StartZidingyiShoukuan(std::wstring name, std::wstring selfp
|
|
|
CZidingyiShoukuanWnd* pShoukuanWnd = new CZidingyiShoukuanWnd();
|
|
|
if (pShoukuanWnd != NULL)
|
|
|
{
|
|
|
+ m_is_show_modal_wnd = true;
|
|
|
+ m_curModalWnd = pShoukuanWnd;
|
|
|
+
|
|
|
pShoukuanWnd->Create(m_pManager->GetPaintWindow(), _T(""), UI_WNDSTYLE_DIALOG, WS_EX_TOOLWINDOW);
|
|
|
pShoukuanWnd->SetIcon(IDI_ICON_DUILIB);
|
|
|
pShoukuanWnd->CenterWindow();
|
|
|
|
|
|
- m_is_show_modal_wnd = true;
|
|
|
-
|
|
|
std::string format_string = CLewaimaiString::DoubleToString(m_cur_total_price, 2);
|
|
|
std::wstring watchValue = CLewaimaiString::UTF8ToUnicode(format_string);
|
|
|
pShoukuanWnd->InitMoney(watchValue);
|
|
|
@@ -2654,9 +2862,8 @@ void CDiandanPageUI::StartZidingyiShoukuan(std::wstring name, std::wstring selfp
|
|
|
|
|
|
}
|
|
|
|
|
|
- delete pShoukuanWnd;
|
|
|
-
|
|
|
m_is_show_modal_wnd = false;
|
|
|
+ delete pShoukuanWnd;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -2675,4 +2882,125 @@ void CDiandanPageUI::UpdateFoodStock(std::string food_stock)
|
|
|
CSqlite3 sqlite;
|
|
|
sqlite.UpdateFoodStock(food_id, stock);
|
|
|
}
|
|
|
+}
|
|
|
+
|
|
|
+//扫描了商品条码的逻辑处理
|
|
|
+void CDiandanPageUI::SaomiaoBarcode(std::string barcode)
|
|
|
+{
|
|
|
+ CSqlite3 sqlite;
|
|
|
+
|
|
|
+ CFood foodinfo;
|
|
|
+ bool ret = sqlite.GetFoodByBarcode(barcode, foodinfo);
|
|
|
+
|
|
|
+ if (ret == false)
|
|
|
+ {
|
|
|
+ //说明没找到对应的商品条码
|
|
|
+ m_pMainWnd->ShowToast(L"未找到对应的商品条码");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ //这里说明找到了,那么处理添加购物车逻辑,扫码的情况下,这里不管有没有属性,都按没属性处理,不管有没有称重都按没称重处理(以后标签秤可能会修改)
|
|
|
+
|
|
|
+ if (foodinfo.stockvalid == "1" && atof(foodinfo.stock.c_str()) < 1)
|
|
|
+ {
|
|
|
+ //库存为0了,不做任何处理
|
|
|
+ m_pMainWnd->ShowToast(L"该商品已售完");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ CDiandanOrderItem clickItem;
|
|
|
+
|
|
|
+ clickItem.food_id = foodinfo.id;
|
|
|
+ clickItem.food_name = foodinfo.name;
|
|
|
+ clickItem.type_id = foodinfo.type_id;
|
|
|
+ clickItem.price = foodinfo.price;
|
|
|
+ clickItem.is_dabao = false;
|
|
|
+ clickItem.dabao_money = foodinfo.dabao_money;
|
|
|
+ clickItem.num = "1";
|
|
|
+
|
|
|
+ if (foodinfo.member_price_used == "1")
|
|
|
+ {
|
|
|
+ clickItem.is_member_price_used = true;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ clickItem.is_member_price_used = false;
|
|
|
+ }
|
|
|
+
|
|
|
+ //处理会员价的json
|
|
|
+ std::string member_price_json = foodinfo.member_price_json;
|
|
|
+
|
|
|
+ rapidjson::Document document;
|
|
|
+ document.Parse(member_price_json.c_str());
|
|
|
+
|
|
|
+ rapidjson::Value& member_price = document;
|
|
|
+ for (rapidjson::SizeType i = 0; i < member_price.Size(); ++i)
|
|
|
+ {
|
|
|
+ rapidjson::Value& member_price_info = member_price[i];
|
|
|
+
|
|
|
+ MemberPrice newPirce;
|
|
|
+ newPirce.id = member_price_info["id"].GetString();
|
|
|
+ newPirce.level = member_price_info["level"].GetString();
|
|
|
+ newPirce.price = member_price_info["price"].GetString();
|
|
|
+
|
|
|
+ clickItem.m_member_price.push_back(newPirce);
|
|
|
+ }
|
|
|
+
|
|
|
+ //把当前点击商品的信息,保存到orderitem里面,方便后面修改规格的时候使用
|
|
|
+ clickItem.SetFoodInfo(foodinfo);
|
|
|
+ clickItem.SetIsTaocan(false);
|
|
|
+
|
|
|
+ clickItem.is_weight = false;
|
|
|
+ clickItem.is_nature = false;
|
|
|
+
|
|
|
+ //商品没有商品属性
|
|
|
+ bool is_add_new = false;
|
|
|
+
|
|
|
+ int index = m_cur_diandan_order.AddItem(clickItem, is_add_new);
|
|
|
+
|
|
|
+ if (is_add_new)
|
|
|
+ {
|
|
|
+ //说明是新增了一项,要刷新一下购物车展示
|
|
|
+ this->AddDiandanOrderItemShow(index);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ //没有新增,而是修改了一项
|
|
|
+ this->UpdateDiandanOrderItemShow(index);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//开始搜索某个商品名字
|
|
|
+void CDiandanPageUI::StartSearchFood(std::string foodname)
|
|
|
+{
|
|
|
+ //展示删除按钮
|
|
|
+ CButtonUI* pClear = static_cast<CButtonUI*>(this->FindSubControl(_T("diandan_food_search_clear")));
|
|
|
+ pClear->SetVisible(true);
|
|
|
+
|
|
|
+ //隐藏商品分类展示
|
|
|
+ CHorizontalLayoutUI* pFoodtype = static_cast<CHorizontalLayoutUI*>(this->FindSubControl(_T("diandan_fenlei_layout")));
|
|
|
+ pFoodtype->SetVisible(false);
|
|
|
+
|
|
|
+ m_type_id_before_sousuo = m_cur_type_id;
|
|
|
+ m_cur_type_id = "sousuo";
|
|
|
+
|
|
|
+ m_sousuo_foodname = foodname;
|
|
|
+
|
|
|
+ this->InitFoodShow();
|
|
|
+}
|
|
|
+
|
|
|
+//停止搜索商品
|
|
|
+void CDiandanPageUI::StopSerachFood()
|
|
|
+{
|
|
|
+ //隐藏删除按钮
|
|
|
+ CButtonUI* pClear = static_cast<CButtonUI*>(this->FindSubControl(_T("diandan_food_search_clear")));
|
|
|
+ pClear->SetVisible(false);
|
|
|
+
|
|
|
+ //展示商品分类展示
|
|
|
+ CHorizontalLayoutUI* pFoodtype = static_cast<CHorizontalLayoutUI*>(this->FindSubControl(_T("diandan_fenlei_layout")));
|
|
|
+ pFoodtype->SetVisible(true);
|
|
|
+
|
|
|
+ m_cur_type_id = m_type_id_before_sousuo;
|
|
|
+
|
|
|
+ this->InitFoodShow();
|
|
|
}
|