|
|
@@ -169,9 +169,40 @@ void CZhengcanDiandanPageUI::DoGetTableInfo()
|
|
|
//桌子开台中,那么开始获取订单信息
|
|
|
std::string order_id = CLewaimaiJson::ToString(data["order_id"]);
|
|
|
|
|
|
- std::string name = CLewaimaiJson::ToString(data["name"]);
|
|
|
+ m_table_name = CLewaimaiJson::ToString(data["name"]);
|
|
|
CLabelUI* nameLabel = static_cast<CLabelUI*>(this->FindSubControl(L"diandan_page_table_name"));
|
|
|
- nameLabel->SetText(CLewaimaiString::UTF8ToUnicode(name).c_str());
|
|
|
+ nameLabel->SetText(CLewaimaiString::UTF8ToUnicode(m_table_name).c_str());
|
|
|
+
|
|
|
+ std::string open_table_fee = CLewaimaiJson::ToString(data["open_table_fee"]);
|
|
|
+ std::string table_fee = CLewaimaiJson::ToString(data["table_fee"]);
|
|
|
+
|
|
|
+ if (open_table_fee == "1")
|
|
|
+ {
|
|
|
+ m_kaitai = atof(table_fee.c_str());
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ m_kaitai = 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ std::string open_tea_fee = CLewaimaiJson::ToString(data["open_tea_fee"]);
|
|
|
+ std::string tea_fee = CLewaimaiJson::ToString(data["tea_fee"]);
|
|
|
+
|
|
|
+ if (open_tea_fee == "1")
|
|
|
+ {
|
|
|
+ m_tea_fee = atof(tea_fee.c_str());
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ m_tea_fee = 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ //这里不需要计算实际的茶位费,实际的茶位费是在算总价的时候一起算
|
|
|
+
|
|
|
+ m_renshu = CLewaimaiJson::ToString(data["person_num"]);
|
|
|
+
|
|
|
+ CButtonUI* pCanpaiEdit = static_cast<CButtonUI*>(this->FindSubControl(_T("btn_diandan_canpaihao")));
|
|
|
+ pCanpaiEdit->SetText((L"人数 " + CLewaimaiString::UTF8ToUnicode(m_renshu)).c_str());
|
|
|
|
|
|
if (order_id == "" || order_id == "0")
|
|
|
{
|
|
|
@@ -464,12 +495,6 @@ void CZhengcanDiandanPageUI::InitJiesuanShow()
|
|
|
m_is_member_zhekou = false;
|
|
|
m_member_zhekou_value = 10;
|
|
|
|
|
|
- //再重新设置牌号
|
|
|
- m_canpai = "";
|
|
|
-
|
|
|
- CButtonUI* pCanpaiEdit = static_cast<CButtonUI*>(this->FindSubControl(_T("btn_diandan_canpaihao")));
|
|
|
- pCanpaiEdit->SetText(L"输入餐牌号");
|
|
|
-
|
|
|
//整单备注
|
|
|
CLabelUI* pLabel = static_cast<CLabelUI*>(this->FindSubControl(_T("diandan_page_label_zhengdanbeizhu")));
|
|
|
pLabel->SetText(L"整单备注:");
|
|
|
@@ -860,8 +885,8 @@ void CZhengcanDiandanPageUI::HandleClickMsg(TNotifyUI& msg)
|
|
|
}
|
|
|
else if (name == L"btn_diandan_canpaihao")
|
|
|
{
|
|
|
- //点击餐牌号
|
|
|
- this->ClickCanpai();
|
|
|
+ //点击人数
|
|
|
+ this->ClickRenshu();
|
|
|
}
|
|
|
else if (name == L"btn_diandan_weixinzhifu_pay" || name == L"diandan_jiesuan_zhifufangshi_weixinzhifu_btn")
|
|
|
{
|
|
|
@@ -1460,16 +1485,16 @@ void CZhengcanDiandanPageUI::UpdateJiesuanInfo()
|
|
|
|
|
|
cur_price -= m_rengong_youhui;
|
|
|
|
|
|
- //开台费
|
|
|
- m_kaitai = 0;
|
|
|
-
|
|
|
//打包费
|
|
|
m_dabao = m_cur_diandan_order.getDabaoMoney();
|
|
|
-
|
|
|
cur_price += m_dabao;
|
|
|
|
|
|
+ //开台费
|
|
|
+ cur_price += m_kaitai;
|
|
|
+
|
|
|
//茶位费
|
|
|
- m_chawei = 0;
|
|
|
+ m_chawei = m_tea_fee * atoi(m_renshu.c_str());
|
|
|
+ cur_price += m_chawei;
|
|
|
|
|
|
//抹零
|
|
|
m_moling_youhui = 0;
|
|
|
@@ -1526,16 +1551,29 @@ void CZhengcanDiandanPageUI::UpdateJiesuanInfo()
|
|
|
|
|
|
//再刷新打包费展示
|
|
|
CLabelUI* pOtherPriceLabel = static_cast<CLabelUI*>(this->FindSubControl(_T("diandan_page_otherprice")));
|
|
|
+ std::wstring otherPrice = L"";
|
|
|
if (m_dabao > 0)
|
|
|
{
|
|
|
- std::wstring ws_dabaofei = L"打包费 " + CLewaimaiString::UTF8ToUnicode(CLewaimaiString::DoubleToString(m_dabao, 2)) + L" 元";
|
|
|
- pOtherPriceLabel->SetText(ws_dabaofei.c_str());
|
|
|
+ std::wstring ws_dabaofei = L"打包费 " + CLewaimaiString::UTF8ToUnicode(CLewaimaiString::DoubleToString(m_dabao, 2)) + L" 元 ";
|
|
|
+ otherPrice += ws_dabaofei;
|
|
|
}
|
|
|
- else
|
|
|
+
|
|
|
+ //开台费
|
|
|
+ if (m_kaitai > 0)
|
|
|
+ {
|
|
|
+ std::wstring ws_kaitaifei = L"开台费 " + CLewaimaiString::UTF8ToUnicode(CLewaimaiString::DoubleToString(m_kaitai, 2)) + L" 元 ";
|
|
|
+ otherPrice += ws_kaitaifei;
|
|
|
+ }
|
|
|
+
|
|
|
+ //茶位费
|
|
|
+ if (m_chawei > 0)
|
|
|
{
|
|
|
- pOtherPriceLabel->SetText(L"");
|
|
|
+ std::wstring ws_chaweifei = L"茶位费 " + CLewaimaiString::UTF8ToUnicode(CLewaimaiString::DoubleToString(m_chawei, 2)) + L" 元 ";
|
|
|
+ otherPrice += ws_chaweifei;
|
|
|
}
|
|
|
|
|
|
+ pOtherPriceLabel->SetText(otherPrice.c_str());
|
|
|
+
|
|
|
//再刷新总价展示
|
|
|
CLabelUI* pTotalPrice = static_cast<CLabelUI*>(this->FindSubControl(_T("diandan_page_totalprice")));
|
|
|
pTotalPrice->SetText((L"总价:¥" + CLewaimaiString::UTF8ToUnicode(CLewaimaiString::DoubleToString(cur_price, 2))).c_str());
|
|
|
@@ -1741,6 +1779,38 @@ void CZhengcanDiandanPageUI::UpdateJiesuanInfo()
|
|
|
item_num++;
|
|
|
}
|
|
|
|
|
|
+ if (m_kaitai > 0)
|
|
|
+ {
|
|
|
+ CDialogBuilder builder;
|
|
|
+ CDialogBuilderCallbackEx cb;
|
|
|
+ CHorizontalLayoutUI* pItem = static_cast<CHorizontalLayoutUI*>(builder.Create(_T("diandan_zhangdanmingxi_item.xml"), (UINT)0, &cb, m_pManager));
|
|
|
+ pmingxiLayout->Add(pItem);
|
|
|
+
|
|
|
+ CLabelUI* pName = static_cast<CLabelUI*>(pItem->FindSubControl(_T("name")));
|
|
|
+ CLabelUI* pValue = static_cast<CLabelUI*>(pItem->FindSubControl(_T("value")));
|
|
|
+
|
|
|
+ pName->SetText(L"开台费:");
|
|
|
+ pValue->SetText((L"+" + CLewaimaiString::UTF8ToUnicode(CLewaimaiString::DoubleToString(m_kaitai, 2)) + L"元").c_str());
|
|
|
+
|
|
|
+ item_num++;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (m_chawei > 0)
|
|
|
+ {
|
|
|
+ CDialogBuilder builder;
|
|
|
+ CDialogBuilderCallbackEx cb;
|
|
|
+ CHorizontalLayoutUI* pItem = static_cast<CHorizontalLayoutUI*>(builder.Create(_T("diandan_zhangdanmingxi_item.xml"), (UINT)0, &cb, m_pManager));
|
|
|
+ pmingxiLayout->Add(pItem);
|
|
|
+
|
|
|
+ CLabelUI* pName = static_cast<CLabelUI*>(pItem->FindSubControl(_T("name")));
|
|
|
+ CLabelUI* pValue = static_cast<CLabelUI*>(pItem->FindSubControl(_T("value")));
|
|
|
+
|
|
|
+ pName->SetText(L"茶位费:");
|
|
|
+ pValue->SetText((L"+" + CLewaimaiString::UTF8ToUnicode(CLewaimaiString::DoubleToString(m_chawei, 2)) + L"元").c_str());
|
|
|
+
|
|
|
+ item_num++;
|
|
|
+ }
|
|
|
+
|
|
|
if (m_jiajia > 0)
|
|
|
{
|
|
|
CDialogBuilder builder;
|
|
|
@@ -2320,6 +2390,13 @@ void CZhengcanDiandanPageUI::ClickPayBtn()
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+ if (m_cur_diandan_order.m_order_history_array.size() == 0)
|
|
|
+ {
|
|
|
+ m_pMainWnd->ShowToast(L"您还没有下单,请先下单再结账");
|
|
|
+
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
ShowJiesuanPage();
|
|
|
}
|
|
|
|
|
|
@@ -2834,7 +2911,7 @@ void CZhengcanDiandanPageUI::ClickSaomaCika()
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-void CZhengcanDiandanPageUI::ClickCanpai()
|
|
|
+void CZhengcanDiandanPageUI::ClickRenshu()
|
|
|
{
|
|
|
if (m_is_show_modal_wnd == true)
|
|
|
{
|
|
|
@@ -2852,20 +2929,21 @@ void CZhengcanDiandanPageUI::ClickCanpai()
|
|
|
pCanpaiDlg->SetIcon(IDI_ICON_DUILIB);
|
|
|
pCanpaiDlg->CenterWindow();
|
|
|
|
|
|
- pCanpaiDlg->SetTitle(L"输入餐牌号");
|
|
|
+ pCanpaiDlg->SetTitle(L"填写人数");
|
|
|
|
|
|
UINT ret = pCanpaiDlg->ShowModal();
|
|
|
|
|
|
if (ret == IDOK)
|
|
|
{
|
|
|
- //这说明折扣输入了
|
|
|
+ //这说明人数输入了
|
|
|
std::string canpai = pCanpaiDlg->getContent();
|
|
|
|
|
|
- m_canpai = canpai;
|
|
|
+ m_renshu = canpai;
|
|
|
|
|
|
CButtonUI* pCanpaiEdit = static_cast<CButtonUI*>(this->FindSubControl(_T("btn_diandan_canpaihao")));
|
|
|
- pCanpaiEdit->SetText((L"餐牌号 " + CLewaimaiString::UTF8ToUnicode(canpai)).c_str());
|
|
|
+ pCanpaiEdit->SetText((L"人数 " + CLewaimaiString::UTF8ToUnicode(canpai)).c_str());
|
|
|
|
|
|
+ //人数变更之后,要重新修改价格信息
|
|
|
this->UpdateJiesuanInfo();
|
|
|
|
|
|
m_is_show_modal_wnd = false;
|
|
|
@@ -2888,13 +2966,18 @@ std::map<string, string> CZhengcanDiandanPageUI::GetSendorderParams()
|
|
|
std::map<string, string> params;
|
|
|
|
|
|
params["order_no"] = CRandomHelper::GetRandString(20);
|
|
|
+ params["order_id"] = m_order_id;
|
|
|
+ params["table_id"] = m_table_id;
|
|
|
+ params["is_clear"] = "1";
|
|
|
|
|
|
//构建food_list参数
|
|
|
params["food_list"] = m_cur_diandan_order.getDiandanFoodlistParam();
|
|
|
params["foodpackage_array"] = m_cur_diandan_order.getDiandanTaocanParam();
|
|
|
- params["person_num"] = "1";
|
|
|
- params["table_name"] = m_canpai;
|
|
|
+ params["person_num"] = m_renshu;
|
|
|
+ params["table_name"] = m_table_name;
|
|
|
params["note"] = m_cur_diandan_order.GetMemo();
|
|
|
+ params["cover_charge"] = CLewaimaiString::DoubleToString(m_chawei, 2); //茶位费
|
|
|
+ params["activation_fee"] = CLewaimaiString::DoubleToString(m_kaitai, 2); //开台费
|
|
|
params["dabao_price"] = CLewaimaiString::DoubleToString(m_dabao, 2);
|
|
|
params["food_price"] = CLewaimaiString::DoubleToString(m_cur_diandan_order.getTotalPrice(), 2);
|
|
|
params["total_price"] = CLewaimaiString::DoubleToString(m_cur_diandan_order.getTotalPrice() + m_dabao, 2);
|
|
|
@@ -2976,6 +3059,15 @@ std::map<string, string> CZhengcanDiandanPageUI::GetSendorderParams()
|
|
|
params["coupon_value"] = CLewaimaiString::DoubleToString(m_youhuiquan_youhui, 2);
|
|
|
}
|
|
|
|
|
|
+ if (m_total_member_youhui > 0)
|
|
|
+ {
|
|
|
+ params["member_delete"] = CLewaimaiString::DoubleToString(m_total_member_youhui, 2);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ params["member_delete"] = "0";
|
|
|
+ }
|
|
|
+
|
|
|
if (m_member_zhekou_youhui > 0)
|
|
|
{
|
|
|
params["member_discount_money"] = CLewaimaiString::DoubleToString(m_member_zhekou_youhui, 2);
|
|
|
@@ -3008,9 +3100,9 @@ void CZhengcanDiandanPageUI::StartWeixinzhifuShoukuan(std::string fukuanma)
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- if (m_cur_diandan_order.getItemNum() == 0)
|
|
|
+ if (m_cur_diandan_order.m_order_history_array.size() == 0)
|
|
|
{
|
|
|
- m_pMainWnd->ShowToast(L"请先选择商品再支付");
|
|
|
+ m_pMainWnd->ShowToast(L"您还没有下单,请先下单再结账");
|
|
|
|
|
|
return;
|
|
|
}
|
|
|
@@ -3032,6 +3124,8 @@ void CZhengcanDiandanPageUI::StartWeixinzhifuShoukuan(std::string fukuanma)
|
|
|
//这里要对提交订单的参数进行组装,然后方便请求
|
|
|
pShoukuanWnd->SetCommonParams(GetSendorderParams());
|
|
|
|
|
|
+ pShoukuanWnd->SetType(2);
|
|
|
+
|
|
|
if (fukuanma != "")
|
|
|
{
|
|
|
pShoukuanWnd->InitFukuanma(fukuanma);
|
|
|
@@ -3060,10 +3154,9 @@ void CZhengcanDiandanPageUI::StartWeixinzhifuShoukuan(std::string fukuanma)
|
|
|
this->StartWorkAfterShoukuan(pShoukuanWnd->m_kucun_string, pShoukuanWnd->m_take_food_code, pShoukuanWnd->m_show_trade_no, zhifu_type);
|
|
|
|
|
|
m_pMainWnd->ShowToast(L"收款成功!");
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- int a = 1;
|
|
|
+
|
|
|
+ //收款成功后返回桌台
|
|
|
+ m_pMainWnd->SwitchPage(CMainWnd::ZHENGCAN);
|
|
|
}
|
|
|
|
|
|
m_is_show_modal_wnd = false;
|
|
|
@@ -3078,9 +3171,9 @@ void CZhengcanDiandanPageUI::StartHuiyuanShoukuan()
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- if (m_cur_diandan_order.getItemNum() == 0)
|
|
|
+ if (m_cur_diandan_order.m_order_history_array.size() == 0)
|
|
|
{
|
|
|
- m_pMainWnd->ShowToast(L"请先选择商品再支付");
|
|
|
+ m_pMainWnd->ShowToast(L"您还没有下单,请先下单再结账");
|
|
|
|
|
|
return;
|
|
|
}
|
|
|
@@ -3102,6 +3195,8 @@ void CZhengcanDiandanPageUI::StartHuiyuanShoukuan()
|
|
|
//这里要对提交订单的参数进行组装,然后方便请求
|
|
|
pShoukuanWnd->SetCommonParams(GetSendorderParams());
|
|
|
|
|
|
+ pShoukuanWnd->SetType(2);
|
|
|
+
|
|
|
/*
|
|
|
if (m_is_start_catch && m_catch_string.length() == 18)
|
|
|
{
|
|
|
@@ -3119,6 +3214,9 @@ void CZhengcanDiandanPageUI::StartHuiyuanShoukuan()
|
|
|
this->StartWorkAfterShoukuan(pShoukuanWnd->m_kucun_string, pShoukuanWnd->m_take_food_code, pShoukuanWnd->m_show_trade_no, "huiyuanzhifu", balance, member_number);
|
|
|
|
|
|
m_pMainWnd->ShowToast(L"收款成功!");
|
|
|
+
|
|
|
+ //收款成功后返回桌台
|
|
|
+ m_pMainWnd->SwitchPage(CMainWnd::ZHENGCAN);
|
|
|
}
|
|
|
|
|
|
m_is_show_modal_wnd = false;
|
|
|
@@ -3134,9 +3232,9 @@ void CZhengcanDiandanPageUI::StartXianjinShoukuan()
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- if (m_cur_diandan_order.getItemNum() == 0)
|
|
|
+ if (m_cur_diandan_order.m_order_history_array.size() == 0)
|
|
|
{
|
|
|
- m_pMainWnd->ShowToast(L"请先选择商品再支付");
|
|
|
+ m_pMainWnd->ShowToast(L"您还没有下单,请先下单再结账");
|
|
|
|
|
|
return;
|
|
|
}
|
|
|
@@ -3158,6 +3256,8 @@ void CZhengcanDiandanPageUI::StartXianjinShoukuan()
|
|
|
//这里要对提交订单的参数进行组装,然后方便请求
|
|
|
pShoukuanWnd->SetCommonParams(GetSendorderParams());
|
|
|
|
|
|
+ pShoukuanWnd->SetType(2);
|
|
|
+
|
|
|
/*
|
|
|
if (m_is_start_catch && m_catch_string.length() == 18)
|
|
|
{
|
|
|
@@ -3175,6 +3275,9 @@ void CZhengcanDiandanPageUI::StartXianjinShoukuan()
|
|
|
this->StartWorkAfterShoukuan(pShoukuanWnd->m_kucun_string, pShoukuanWnd->m_take_food_code, pShoukuanWnd->m_show_trade_no, "xianjinzhifu");
|
|
|
|
|
|
m_pMainWnd->ShowToast(L"收款成功!");
|
|
|
+
|
|
|
+ //收款成功后返回桌台
|
|
|
+ m_pMainWnd->SwitchPage(CMainWnd::ZHENGCAN);
|
|
|
}
|
|
|
|
|
|
m_is_show_modal_wnd = false;
|
|
|
@@ -3189,9 +3292,9 @@ void CZhengcanDiandanPageUI::StartFulikaShoukuan()
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- if (m_cur_diandan_order.getItemNum() == 0)
|
|
|
+ if (m_cur_diandan_order.m_order_history_array.size() == 0)
|
|
|
{
|
|
|
- m_pMainWnd->ShowToast(L"请先选择商品再支付");
|
|
|
+ m_pMainWnd->ShowToast(L"您还没有下单,请先下单再结账");
|
|
|
|
|
|
return;
|
|
|
}
|
|
|
@@ -3213,6 +3316,8 @@ void CZhengcanDiandanPageUI::StartFulikaShoukuan()
|
|
|
//这里要对提交订单的参数进行组装,然后方便请求
|
|
|
pShoukuanWnd->SetCommonParams(GetSendorderParams());
|
|
|
|
|
|
+ pShoukuanWnd->SetType(2);
|
|
|
+
|
|
|
/*
|
|
|
if (m_is_start_catch && m_catch_string.length() == 18)
|
|
|
{
|
|
|
@@ -3227,6 +3332,9 @@ void CZhengcanDiandanPageUI::StartFulikaShoukuan()
|
|
|
this->StartWorkAfterShoukuan(pShoukuanWnd->m_kucun_string, pShoukuanWnd->m_take_food_code, pShoukuanWnd->m_show_trade_no, "fulikazhifu");
|
|
|
|
|
|
m_pMainWnd->ShowToast(L"收款成功!");
|
|
|
+
|
|
|
+ //收款成功后返回桌台
|
|
|
+ m_pMainWnd->SwitchPage(CMainWnd::ZHENGCAN);
|
|
|
}
|
|
|
|
|
|
m_is_show_modal_wnd = false;
|
|
|
@@ -3241,9 +3349,9 @@ void CZhengcanDiandanPageUI::StartZidingyiShoukuan(std::wstring name, std::wstri
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- if (m_cur_diandan_order.getItemNum() == 0)
|
|
|
+ if (m_cur_diandan_order.m_order_history_array.size() == 0)
|
|
|
{
|
|
|
- m_pMainWnd->ShowToast(L"请先选择商品再支付");
|
|
|
+ m_pMainWnd->ShowToast(L"您还没有下单,请先下单再结账");
|
|
|
|
|
|
return;
|
|
|
}
|
|
|
@@ -3265,6 +3373,8 @@ void CZhengcanDiandanPageUI::StartZidingyiShoukuan(std::wstring name, std::wstri
|
|
|
//这里要对提交订单的参数进行组装,然后方便请求
|
|
|
pShoukuanWnd->SetCommonParams(GetSendorderParams());
|
|
|
|
|
|
+ pShoukuanWnd->SetType(2);
|
|
|
+
|
|
|
/*
|
|
|
if (m_is_start_catch && m_catch_string.length() == 18)
|
|
|
{
|
|
|
@@ -3282,6 +3392,9 @@ void CZhengcanDiandanPageUI::StartZidingyiShoukuan(std::wstring name, std::wstri
|
|
|
this->StartWorkAfterShoukuan(pShoukuanWnd->m_kucun_string, pShoukuanWnd->m_take_food_code, pShoukuanWnd->m_show_trade_no, "zidingyizhifu");
|
|
|
|
|
|
m_pMainWnd->ShowToast(L"收款成功!");
|
|
|
+
|
|
|
+ //收款成功后返回桌台
|
|
|
+ m_pMainWnd->SwitchPage(CMainWnd::ZHENGCAN);
|
|
|
}
|
|
|
|
|
|
m_is_show_modal_wnd = false;
|