张洋 преди 3 години
родител
ревизия
ffd1511048

+ 59 - 165
zhipuzi_pos_windows/page/CDiandanPageUI.cpp

@@ -73,14 +73,11 @@ void CDiandanPageUI::RefreshShow()
 	//初始化商品显示(因为这里要刷新商品库存状态)
 	this->InitFoodShow();
 
-	//清空购物车
-	this->ClearDiandanOrderItemShow();
-
 	//初始化结算页面相关的展示,把所有活动清零
 	this->InitJiesuanShow();
 
-	//计算所有活动优惠,并且调整所有与价格相关的展示
-	this->UpdateJiesuanInfo();
+	//渲染左侧购物车(包含了调用UpdateJiesuanInfo重新计算价格)
+	this->UpdateShopcartShow();
 
 	//展示选购页面
 	this->ShowXuangouPage();
@@ -1006,110 +1003,78 @@ void CDiandanPageUI::HandleTextCapture(std::string content)
 	this->StartWeixinzhifuShoukuan(content);
 }
 
-void CDiandanPageUI::AddDiandanOrderItemShow(int index)
+void CDiandanPageUI::UpdateShopcartShow()
 {
-	CDiandanOrderItem item = m_cur_diandan_order.getDiandanOrderItem(index);
-
+	//先保留选中
 	CListUI* pList = static_cast<CListUI*>(this->FindSubControl(_T("list_diandan_cart")));
+	int nIndex = pList->GetCurSel();
 
-	CDialogBuilder builder;
-	CListContainerElementUI* pEle = static_cast<CListContainerElementUI*>(builder.Create(_T("diandan_cart_item.xml"), (UINT)0, NULL, m_pManager));
-
-	pList->Add(pEle);
+	//先清空
+	pList->RemoveAll();
 
-	if (item.m_is_taocan)
+	int nItemNum = m_cur_diandan_order.getItemNum();
+	for (int i = 0; i < nItemNum; i++)
 	{
-		CLabelUI* pName = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_name")));
-		pName->SetText(CLewaimaiString::UTF8ToUnicode(item.getNameShow()).c_str());
+		CDiandanOrderItem item = m_cur_diandan_order.getDiandanOrderItem(i);
 
-		CLabelUI* pNum = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_num")));
-		pNum->SetText(CLewaimaiString::UTF8ToUnicode(item.num).c_str());
+		CDialogBuilder builder;
+		CListContainerElementUI* pEle = static_cast<CListContainerElementUI*>(builder.Create(_T("diandan_cart_item.xml"), (UINT)0, NULL, m_pManager));
 
-		CLabelUI* pPrice = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_price")));
-		pPrice->SetText(CLewaimaiString::UTF8ToUnicode(item.show_price).c_str());
+		pList->Add(pEle);
 
-		CLabelUI* pNature = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_nature")));
+		if (item.m_is_taocan)
+		{
+			CLabelUI* pName = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_name")));
+			pName->SetText(CLewaimaiString::UTF8ToUnicode(item.getNameShow()).c_str());
 
-		pEle->SetFixedHeight(84);
-		pNature->SetVisible(true);
-		pNature->SetText(CLewaimaiString::UTF8ToUnicode(item.getNatureShow()).c_str());
-	}
-	else
-	{
-		CLabelUI* pName = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_name")));
-		pName->SetText(CLewaimaiString::UTF8ToUnicode(item.getNameShow()).c_str());
+			CLabelUI* pNum = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_num")));
+			pNum->SetText(CLewaimaiString::UTF8ToUnicode(item.num).c_str());
 
-		CLabelUI* pNum = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_num")));
-		pNum->SetText(CLewaimaiString::UTF8ToUnicode(item.num).c_str());
+			CLabelUI* pPrice = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_price")));
+			pPrice->SetText(CLewaimaiString::UTF8ToUnicode(item.show_price).c_str());
 
-		CLabelUI* pPrice = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_price")));
-		pPrice->SetText(CLewaimaiString::UTF8ToUnicode(item.show_price).c_str());
+			CLabelUI* pNature = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_nature")));
 
-		CLabelUI* pNature = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_nature")));
-		if (item.is_nature)
-		{
 			pEle->SetFixedHeight(84);
 			pNature->SetVisible(true);
 			pNature->SetText(CLewaimaiString::UTF8ToUnicode(item.getNatureShow()).c_str());
 		}
 		else
 		{
-			pEle->SetFixedHeight(42);
-			pNature->SetVisible(false);
-		}
-	}
-	
-	//更新结算信息
-	UpdateJiesuanInfo();
-}
+			CLabelUI* pName = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_name")));
+			pName->SetText(CLewaimaiString::UTF8ToUnicode(item.getNameShow()).c_str());
 
-void CDiandanPageUI::UpdateDiandanOrderItemShow(int index)
-{
-	CDiandanOrderItem item = m_cur_diandan_order.getDiandanOrderItem(index);
-
-	CListUI* pList = static_cast<CListUI*>(this->FindSubControl(_T("list_diandan_cart")));
+			CLabelUI* pNum = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_num")));
+			pNum->SetText(CLewaimaiString::UTF8ToUnicode(item.num).c_str());
 
-	CListContainerElementUI* pEle = static_cast<CListContainerElementUI*>(pList->GetItemAt(index));
+			CLabelUI* pPrice = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_price")));
+			pPrice->SetText(CLewaimaiString::UTF8ToUnicode(item.show_price).c_str());
 
-	if (item.m_is_taocan)
-	{
-		CLabelUI* pName = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_name")));
-		pName->SetText(CLewaimaiString::UTF8ToUnicode(item.getNameShow()).c_str());
-
-		CLabelUI* pNum = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_num")));
-		pNum->SetText(CLewaimaiString::UTF8ToUnicode(item.num).c_str());
-
-		CLabelUI* pPrice = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_price")));
-		pPrice->SetText(CLewaimaiString::UTF8ToUnicode(item.show_price).c_str());
-
-		CLabelUI* pNature = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_nature")));
-
-		pEle->SetFixedHeight(84);
-		pNature->SetVisible(true);
-		pNature->SetText(CLewaimaiString::UTF8ToUnicode(item.getNatureShow()).c_str());
+			CLabelUI* pNature = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_nature")));
+			if (item.is_nature)
+			{
+				pEle->SetFixedHeight(84);
+				pNature->SetVisible(true);
+				pNature->SetText(CLewaimaiString::UTF8ToUnicode(item.getNatureShow()).c_str());
+			}
+			else
+			{
+				pEle->SetFixedHeight(42);
+				pNature->SetVisible(false);
+			}
+		}
 	}
-	else
-	{
-		CLabelUI* pName = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_name")));
-		pName->SetText(CLewaimaiString::UTF8ToUnicode(item.getNameShow()).c_str());
-
-		CLabelUI* pNum = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_num")));
-		pNum->SetText(CLewaimaiString::UTF8ToUnicode(item.num).c_str());
 
-		CLabelUI* pPrice = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_price")));
-		pPrice->SetText(CLewaimaiString::UTF8ToUnicode(item.show_price).c_str());
-
-		CLabelUI* pNature = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_nature")));
-		if (item.is_nature)
+	//保留选中
+	if (nIndex != -1 && pList->GetCount() > 0)
+	{
+		if (nIndex <= pList->GetCount() - 1)
 		{
-			pEle->SetFixedHeight(84);
-			pNature->SetVisible(true);
-			pNature->SetText(CLewaimaiString::UTF8ToUnicode(item.getNatureShow()).c_str());
+			pList->SelectItem(nIndex, false);
 		}
 		else
 		{
-			pEle->SetFixedHeight(42);
-			pNature->SetVisible(false);
+			pList->SelectItem(pList->GetCount() - 1, false);
 		}
 	}
 
@@ -1117,26 +1082,6 @@ void CDiandanPageUI::UpdateDiandanOrderItemShow(int index)
 	UpdateJiesuanInfo();
 }
 
-void CDiandanPageUI::DelDiandanOrderItemShow(int index)
-{
-	CListUI* pList = static_cast<CListUI*>(this->FindSubControl(_T("list_diandan_cart")));
-
-	pList->RemoveAt(index);
-
-	//更新结算信息
-	UpdateJiesuanInfo();
-}
-
-void CDiandanPageUI::ClearDiandanOrderItemShow()
-{
-	CListUI* pList = static_cast<CListUI*>(this->FindSubControl(_T("list_diandan_cart")));
-
-	pList->RemoveAll();
-
-	//更新结算信息
-	UpdateJiesuanInfo();
-}
-
 void CDiandanPageUI::UpdateJiesuanInfo()
 {
 	//先按所有的价格公式规则,计算一次价格
@@ -1753,16 +1698,7 @@ void CDiandanPageUI::ClickFoodAction()
 
 		int index = m_cur_diandan_order.AddItem(clickItem, is_add_new);
 
-		if (is_add_new)
-		{
-			//说明是新增了一项,要刷新一下购物车展示
-			this->AddDiandanOrderItemShow(index);
-		}
-		else
-		{
-			//没有新增,而是修改了一项
-			this->UpdateDiandanOrderItemShow(index);
-		}
+		this->UpdateShopcartShow();
 	}
 	else
 	{
@@ -1927,16 +1863,7 @@ void CDiandanPageUI::ClickFoodAction()
 
 		int index = m_cur_diandan_order.AddItem(clickItem, is_add_new);
 
-		if (is_add_new)
-		{
-			//说明是新增了一项,要刷新一下购物车展示
-			this->AddDiandanOrderItemShow(index);
-		}
-		else
-		{
-			//没有新增,而是修改了一项
-			this->UpdateDiandanOrderItemShow(index);
-		}
+		this->UpdateShopcartShow();
 	}
 }
 
@@ -1953,8 +1880,7 @@ void CDiandanPageUI::ClickAdd()
 
 	m_cur_diandan_order.AddNum(nIndex);
 
-	//没有新增,而是修改了一项
-	this->UpdateDiandanOrderItemShow(nIndex);
+	this->UpdateShopcartShow();
 }
 
 void CDiandanPageUI::ClickDel()
@@ -1969,15 +1895,7 @@ void CDiandanPageUI::ClickDel()
 
 	bool is_del = m_cur_diandan_order.DelNum(nIndex);
 
-	//如果是删掉了,那么就刷新显示
-	if (is_del)
-	{
-		this->DelDiandanOrderItemShow(nIndex);
-	}
-	else
-	{
-		this->UpdateDiandanOrderItemShow(nIndex);
-	}
+	this->UpdateShopcartShow();
 
 	if (m_cur_diandan_order.getItemNum() == 0)
 	{
@@ -1997,7 +1915,7 @@ void CDiandanPageUI::ClickRemove()
 
 	m_cur_diandan_order.Remove(nIndex);
 
-	this->DelDiandanOrderItemShow(nIndex);
+	this->UpdateShopcartShow();
 
 	if (m_cur_diandan_order.getItemNum() == 0)
 	{
@@ -2046,8 +1964,7 @@ void CDiandanPageUI::ClickGuige()
 				m_is_show_modal_wnd = false;
 				delete pNatureFrame;
 
-				//然后要刷新这个item的显示
-				this->UpdateDiandanOrderItemShow(nIndex);
+				this->UpdateShopcartShow();
 			}
 			else
 			{
@@ -2086,8 +2003,7 @@ void CDiandanPageUI::ClickGuige()
 
 				delete pNatureFrame;
 
-				//然后要刷新这个item的显示
-				this->UpdateDiandanOrderItemShow(nIndex);
+				this->UpdateShopcartShow();
 			}
 			else
 			{
@@ -2110,15 +2026,14 @@ void CDiandanPageUI::ClickDabao()
 
 	m_cur_diandan_order.SetDabao(nIndex);
 
-	//没有新增,而是修改了一项
-	this->UpdateDiandanOrderItemShow(nIndex);
+	this->UpdateShopcartShow();
 }
 
 void CDiandanPageUI::ClickQingkong()
 {
 	m_cur_diandan_order.Clear();
 
-	this->ClearDiandanOrderItemShow();
+	this->UpdateShopcartShow();
 
 	ShowXuangouPage();
 }
@@ -2186,10 +2101,7 @@ void CDiandanPageUI::ClickQudan()
 			RefreshGuadanNum();
 
 			//然后展示购物车
-			for (int i = 0; i < m_cur_diandan_order.getItemNum(); i++)
-			{
-				this->AddDiandanOrderItemShow(i);
-			}
+			this->UpdateShopcartShow();
 
 			m_is_show_modal_wnd = false;
 			delete pQudanDlg;
@@ -3309,16 +3221,7 @@ bool CDiandanPageUI::SaomiaoBarcode(std::string barcode)
 
 	int index = m_cur_diandan_order.AddItem(clickItem, is_add_new);
 
-	if (is_add_new)
-	{
-		//说明是新增了一项,要刷新一下购物车展示
-		this->AddDiandanOrderItemShow(index);
-	}
-	else
-	{
-		//没有新增,而是修改了一项
-		this->UpdateDiandanOrderItemShow(index);
-	}
+	this->UpdateShopcartShow();
 
 	return true;
 }
@@ -3587,16 +3490,7 @@ bool CDiandanPageUI::BiaoqianchengSaomaBarcode(std::string barcode)
 
 	int index = m_cur_diandan_order.AddItem(clickItem, is_add_new);
 
-	if (is_add_new)
-	{
-		//说明是新增了一项,要刷新一下购物车展示
-		this->AddDiandanOrderItemShow(index);
-	}
-	else
-	{
-		//没有新增,而是修改了一项
-		this->UpdateDiandanOrderItemShow(index);
-	}
+	this->UpdateShopcartShow();
 
 	return true;
 }

+ 1 - 11
zhipuzi_pos_windows/page/CDiandanPageUI.h

@@ -71,17 +71,7 @@ public:
 		return false;
 	}
 
-	//添加一个新的商品到购物车展示
-	void AddDiandanOrderItemShow(int index);
-
-	//刷新某个购物车商品的显示
-	void UpdateDiandanOrderItemShow(int index);
-
-	//删除购物车中某一个商品
-	void DelDiandanOrderItemShow(int index);
-
-	//清空购物车中所有商品的展示
-	void ClearDiandanOrderItemShow();
+	void UpdateShopcartShow();
 
 	//任何可以引起价格变化的,比如添加、修改、删除商品,或者修改优惠等,需要重新计算总价格,刷新结算账单等地方的显示,都要调用这个方法
 	void UpdateJiesuanInfo();

+ 1 - 1
zhipuzi_pos_windows/page/CZhengcanDiandanPageUI.cpp

@@ -1965,7 +1965,7 @@ void CZhengcanDiandanPageUI::UpdateJiesuanInfo()
 	pYingshou->SetText((L"应收金额:" + CLewaimaiString::UTF8ToUnicode(CLewaimaiString::DoubleToString(cur_price, 2)) + L"元").c_str());
 
 	//同步更新副屏的显示内容
-	CShuangpingTool::GetInstance()->UpdateShow(m_cur_diandan_order, total_youhui, cur_price, m_dabao);
+	CShuangpingTool::GetInstance()->UpdateShow(m_cur_diandan_order, total_youhui, cur_price, m_dabao, m_kaitai, m_chawei);
 }
 
 void CZhengcanDiandanPageUI::ClickFoodAction()

+ 2 - 2
zhipuzi_pos_windows/tool/CShuangpingTool.cpp

@@ -118,7 +118,7 @@ void CShuangpingTool::UpdateShow(CDiandanOrder& order, double total_youhui, doub
 	m_pFuping->UpdateShow(order, total_youhui, total_price, dabao_money);
 }
 
-void CShuangpingTool::UpdateShow(CZhengcanOrder& order, double total_youhui, double total_price, double dabao_money)
+void CShuangpingTool::UpdateShow(CZhengcanOrder& order, double total_youhui, double total_price, double dabao_money, double kaitai_money, double chawei_money)
 {
 	if (m_is_shuangping == false)
 	{
@@ -126,5 +126,5 @@ void CShuangpingTool::UpdateShow(CZhengcanOrder& order, double total_youhui, dou
 		return;
 	}
 
-	m_pFuping->UpdateShow(order, total_youhui, total_price, dabao_money);
+	m_pFuping->UpdateShow(order, total_youhui, total_price, dabao_money, kaitai_money, chawei_money);
 }

+ 2 - 1
zhipuzi_pos_windows/tool/CShuangpingTool.h

@@ -26,7 +26,8 @@ public:
 	//刷新副屏显示,在点单页面的商品或价格发生变化时调用,重新计算渲染副屏显示数据
 	void UpdateShow(CDiandanOrder& order, double total_youhui, double total_price, double dabao_money);
 
-	void UpdateShow(CZhengcanOrder& order, double total_youhui, double total_price, double dabao_money);
+	//刷新正餐的副屏显示
+	void UpdateShow(CZhengcanOrder& order, double total_youhui, double total_price, double dabao_money, double kaitai_money, double chawei_money);
 
 private:
 	CShuangpingTool();

+ 92 - 8
zhipuzi_pos_windows/wnd/CFupingWnd.cpp

@@ -306,20 +306,19 @@ void CFupingWnd::UpdateShow(CDiandanOrder& order, double total_youhui, double to
 	pTotalPrice->SetText((L"总价:¥" + CLewaimaiString::UTF8ToUnicode(CLewaimaiString::DoubleToString(total_price, 2))).c_str());
 }
 
-void CFupingWnd::UpdateShow(CZhengcanOrder& order, double total_youhui, double total_price, double dabao_money)
+void CFupingWnd::UpdateShow(CZhengcanOrder& order, double total_youhui, double total_price, double dabao_money, double kaitai_money, double chawei_money)
 {
-	//先清空当前的显示
+	//先清空
 	CListUI* pList = static_cast<CListUI*>(m_pm.FindControl(_T("list_diandan_cart")));
 	pList->RemoveAll();
 
-	//然后依次渲染所有的
 	int nItemNum = order.getItemNum();
 	for (int i = 0; i < nItemNum; i++)
 	{
 		CZhengcanOrderItem item = order.getDiandanOrderItem(i);
 
 		CDialogBuilder builder;
-		CListContainerElementUI* pEle = static_cast<CListContainerElementUI*>(builder.Create(_T("diandan_cart_item.xml"), (UINT)0, NULL, &m_pm));
+		CListContainerElementUI* pEle = static_cast<CListContainerElementUI*>(builder.Create(_T("fuping_cart_item.xml"), (UINT)0, NULL, &m_pm));
 
 		pList->Add(pEle);
 
@@ -328,6 +327,9 @@ void CFupingWnd::UpdateShow(CZhengcanOrder& order, double total_youhui, double t
 			CLabelUI* pName = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_name")));
 			pName->SetText(CLewaimaiString::UTF8ToUnicode(item.getNameShow()).c_str());
 
+			CLabelUI* pSinglePrice = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_singleprice")));
+			pSinglePrice->SetText(CLewaimaiString::UTF8ToUnicode(item.price).c_str());
+
 			CLabelUI* pNum = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_num")));
 			pNum->SetText(CLewaimaiString::UTF8ToUnicode(item.num).c_str());
 
@@ -345,6 +347,9 @@ void CFupingWnd::UpdateShow(CZhengcanOrder& order, double total_youhui, double t
 			CLabelUI* pName = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_name")));
 			pName->SetText(CLewaimaiString::UTF8ToUnicode(item.getNameShow()).c_str());
 
+			CLabelUI* pSinglePrice = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_singleprice")));
+			pSinglePrice->SetText(CLewaimaiString::UTF8ToUnicode(item.price).c_str());
+
 			CLabelUI* pNum = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_num")));
 			pNum->SetText(CLewaimaiString::UTF8ToUnicode(item.num).c_str());
 
@@ -366,6 +371,76 @@ void CFupingWnd::UpdateShow(CZhengcanOrder& order, double total_youhui, double t
 		}
 	}
 
+	int xiadan_cishu = order.m_order_history_array.size();
+
+	//开始处理历史的订单数据渲染
+	for (int i = xiadan_cishu - 1; i >= 0; i--)
+	{
+		CLabelUI* attention = new CLabelUI();
+		attention->SetText((L"--------------------------  第" + to_wstring(order.m_order_history_array[i].xiadanNum + 1) + L"次下单 -------------------------").c_str());
+		//attention->SetTextColor(0xFFBBBBBB);
+
+		pList->Add(attention);
+
+		for (std::vector<CZhengcanOrderItem>::iterator it1 = order.m_order_history_array[i].m_items.begin(); it1 != order.m_order_history_array[i].m_items.end(); it1++)
+		{
+			//添加item
+			CDialogBuilder builder;
+			CListContainerElementUI* pEle = static_cast<CListContainerElementUI*>(builder.Create(_T("fuping_cart_item.xml"), (UINT)0, NULL, &m_pm));
+
+			pEle->SetEnabled(false);
+
+			pList->Add(pEle);
+
+			CZhengcanOrderItem item = *it1;
+
+			//保存item_id,后面选中点击退菜的时候有用
+			pEle->AddCustomAttribute(L"item_id", CLewaimaiString::UTF8ToUnicode(item.item_id).c_str());
+
+			CLabelUI * pName = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_name")));
+			if (item.is_tuicai == "1")
+			{
+				pName->SetText((L"【退菜】" + CLewaimaiString::UTF8ToUnicode(item.getNameShow())).c_str());
+
+				pEle->AddCustomAttribute(L"is_tuicai", L"1");
+			}
+			else
+			{
+				pName->SetText(CLewaimaiString::UTF8ToUnicode(item.getNameShow()).c_str());
+
+				pEle->AddCustomAttribute(L"is_tuicai", L"0");
+			}
+
+			CLabelUI* pSinglePrice = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_singleprice")));
+			pSinglePrice->SetText(CLewaimaiString::UTF8ToUnicode(item.price).c_str());
+
+			CLabelUI* pNum = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_num")));
+			pNum->SetText(CLewaimaiString::UTF8ToUnicode(item.num).c_str());
+
+			CLabelUI* pPrice = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_price")));
+			pPrice->SetText(CLewaimaiString::UTF8ToUnicode(item.show_price).c_str());
+
+			//pName->SetTextColor(0xFFBBBBBB);
+			//pNum->SetTextColor(0xFFBBBBBB);
+			//pPrice->SetTextColor(0xFFBBBBBB);
+
+			if (item.m_is_taocan)
+			{
+				CLabelUI* pNature = static_cast<CLabelUI*>(pEle->FindSubControl(_T("diandan_cart_item_nature")));
+
+				pEle->SetFixedHeight(84);
+				pNature->SetVisible(true);
+				pNature->SetText(CLewaimaiString::UTF8ToUnicode(item.getHistoryNatureShow()).c_str());
+
+				pNature->SetTextColor(0xFFBBBBBB);
+			}
+			else
+			{
+				pEle->SetFixedHeight(42);
+			}
+		}
+	}
+
 	//刷新优惠展示
 	CHorizontalLayoutUI* pYouhuiLayout = static_cast<CHorizontalLayoutUI*>(m_pm.FindControl(_T("diandan_page_youhui_tishi_layout")));
 	CLabelUI* pYouhuiLabel = static_cast<CLabelUI*>(m_pm.FindControl(_T("diandan_page_youhui_tishi")));
@@ -384,16 +459,25 @@ void CFupingWnd::UpdateShow(CZhengcanOrder& order, double total_youhui, double t
 
 	//再刷新打包费展示
 	CLabelUI* pOtherPriceLabel = static_cast<CLabelUI*>(m_pm.FindControl(_T("diandan_page_otherprice")));
+	std::wstring feiyong = L"";
+
 	if (dabao_money > 0)
 	{
-		std::wstring ws_dabaofei = L"打包费 " + CLewaimaiString::UTF8ToUnicode(CLewaimaiString::DoubleToString(dabao_money, 2)) + L" 元";
-		pOtherPriceLabel->SetText(ws_dabaofei.c_str());
+		feiyong += L"打包费 " + CLewaimaiString::UTF8ToUnicode(CLewaimaiString::DoubleToString(dabao_money, 2)) + L" 元 ";
 	}
-	else
+
+	if (kaitai_money > 0)
 	{
-		pOtherPriceLabel->SetText(L"");
+		feiyong += L"开台费 " + CLewaimaiString::UTF8ToUnicode(CLewaimaiString::DoubleToString(kaitai_money, 2)) + L" 元 ";
 	}
 
+	if (chawei_money > 0)
+	{
+		feiyong += L"茶位费 " + CLewaimaiString::UTF8ToUnicode(CLewaimaiString::DoubleToString(chawei_money, 2)) + L" 元 ";
+	}
+
+	pOtherPriceLabel->SetText(feiyong.c_str());
+
 	//再刷新总价展示
 	CLabelUI* pTotalPrice = static_cast<CLabelUI*>(this->m_pm.FindControl(_T("diandan_page_totalprice")));
 	pTotalPrice->SetText((L"总价:¥" + CLewaimaiString::UTF8ToUnicode(CLewaimaiString::DoubleToString(total_price, 2))).c_str());

+ 1 - 1
zhipuzi_pos_windows/wnd/CFupingWnd.h

@@ -68,7 +68,7 @@ public:
 	//ˢи±ÆÁÏÔʾ
 	void UpdateShow(CDiandanOrder& order, double total_youhui, double total_price, double dabao_money);
 
-	void UpdateShow(CZhengcanOrder& order, double total_youhui, double total_price, double dabao_money);
+	void UpdateShow(CZhengcanOrder& order, double total_youhui, double total_price, double dabao_money, double kaitai_money, double chawei_money);
 
 public:
 	CPaintManagerUI m_pm;