张洋 4 years ago
parent
commit
b783588743

BIN
bin/Win32/Debug/zhipuzi_pos_windows/db/pos.db


+ 6 - 2
bin/Win32/Debug/zhipuzi_pos_windows/skin/diandan_fooditem.xml

@@ -1,6 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Window>
-	<DiandanFoodItem bkcolor="#FFFFFFFF" padding="0,0,0,0">
-
+	<Font id="diandan_price" name="微软雅黑" size="18" />
+	
+	<DiandanFoodItem bkcolor="#FFFFFFFF">
+		<Control name="image" height="100" bkimage="file='food_image_default.png'" padding="0,0,0,0"></Control>
+		<Label name="foodname" height="50"></Label>
+		<Label name="price" height="50" font="daindan_price" textcolor="#FFFF7F50" align="right"></Label>
 	</DiandanFoodItem>
 </Window>

+ 1 - 1
bin/Win32/Debug/zhipuzi_pos_windows/skin/diandan_page.xml

@@ -54,7 +54,7 @@
 
 				</HorizontalLayout>
 				
-				<TileLayout name="diandan_foodlist" padding="15,15,15,0" bkcolor="#FFDEB887" vscrollbar="true">
+				<TileLayout name="diandan_foodlist" padding="15,15,15,0" childpadding="1" itemsize="150,200" bkcolor="#FFDEB887" vscrollbar="true" hscrollbar="false">
 				
 				</TileLayout>
 				

BIN
bin/Win32/Debug/zhipuzi_pos_windows/skin/food_image_default.png


+ 1 - 1
bin/Win32/Debug/zhipuzi_pos_windows/skin/main.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Window size="960,680" sizebox="4,4,6,6" caption="0,0,0,90" mininfo="960,680" roundcorner="5,5" showdirty="false" >
-	<Font shared="true" id="0" name="微软雅黑" size="14" default="true" />
+	<Font shared="true" id="0" name="微软雅黑" size="16" default="true" />
 	<Font shared="true" id="1" name="宋体" size="18" bold="false" />
 	<Font shared="true" id="2" name="宋体" size="32" bold="true" />
 	

+ 24 - 1
zhipuzi_pos_windows/control/CDiandanFoodItemUI.cpp

@@ -1,4 +1,4 @@
-#include "CDiandanFoodItemUI.h"
+#include "CDiandanFoodItemUI.h"
 
 #include "../pch/pch.h"
 
@@ -11,3 +11,26 @@ CDiandanFoodItemUI::CDiandanFoodItemUI()
 CDiandanFoodItemUI::~CDiandanFoodItemUI()
 {
 }
+
+void CDiandanFoodItemUI::SetFoodInfo(CFood info)
+{
+	m_foodinfo = info;
+}
+
+void CDiandanFoodItemUI::UpdateShow()
+{
+	CControlUI* pImage = static_cast<CControlUI*>(this->FindSubControl(_T("image")));
+
+	CLabelUI* pName = static_cast<CLabelUI*>(this->FindSubControl(_T("foodname")));
+	pName->SetText(CLewaimaiString::UTF8ToUnicode(m_foodinfo.name).c_str());
+
+	CLabelUI* pPrice = static_cast<CLabelUI*>(this->FindSubControl(_T("price")));
+
+	wstring price = L"¥" + CLewaimaiString::UTF8ToUnicode(m_foodinfo.price);
+	if (m_foodinfo.is_nature == "1")
+	{
+		price += L"起";
+	}
+
+	pPrice->SetText(price.c_str());
+}

+ 10 - 0
zhipuzi_pos_windows/control/CDiandanFoodItemUI.h

@@ -2,10 +2,20 @@
 
 #include "../pch/pch.h"
 
+#include "../zhipuzi/CFood.h"
+
 class CDiandanFoodItemUI : public CVerticalLayoutUI
 {
 public:
 	CDiandanFoodItemUI();
 	~CDiandanFoodItemUI();
+
+	void SetFoodInfo(CFood info);
+
+	//ˢĐÂĎÔĘž
+	void UpdateShow();
+
+private:
+	CFood m_foodinfo;
 };
 

+ 26 - 8
zhipuzi_pos_windows/page/CDiandanPageUI.cpp

@@ -48,7 +48,7 @@ void CDiandanPageUI::InitShow()
 		curTypeUI->Selected(true, false);
 	}
 
-	this->InitFoodShow();
+	this->RefreshFoodShow();
 }
 
 //处理按钮点击类事件
@@ -60,7 +60,20 @@ void CDiandanPageUI::HandleClickMsg(TNotifyUI& msg)
 //处理option切换事件
 void CDiandanPageUI::HandleSelectChangeMsg(TNotifyUI& msg)
 {
+	COptionUI* curOption = static_cast<COptionUI*>(msg.pSender);
 
+	std::wstring groupname = curOption->GetGroup();
+
+	if (groupname == L"diandan_foodtype")
+	{
+		//商品分类切换
+		CFoodtypeOptionUI* typeUI = static_cast<CFoodtypeOptionUI*>(curOption);
+		std::string id = typeUI->GetTypeId();
+
+		m_cur_type_id = id;
+
+		this->RefreshFoodShow();
+	}
 }
 
 //处理下拉框、radio的切换事件
@@ -105,8 +118,10 @@ void CDiandanPageUI::InitFoodtypeShow()
 	}
 }
 
-void CDiandanPageUI::InitFoodShow()
+void CDiandanPageUI::RefreshFoodShow()
 {
+	m_foodLayout->RemoveAll();
+
 	//如果当前一个分类都没有,那么就处理了
 	if (m_cur_type_id == "")
 	{
@@ -121,14 +136,14 @@ void CDiandanPageUI::InitFoodShow()
 		//正常的商品分类
 
 		//设置商品布局的参数
-		SIZE itemSize;
-		itemSize.cx = 150;
-		itemSize.cy = 200;
+		//SIZE itemSize;
+		//itemSize.cx = 150;
+		//itemSize.cy = 200;
 
-		m_foodLayout->SetItemSize(itemSize);
+		//m_foodLayout->SetItemSize(itemSize);
 
-		m_foodLayout->SetChildPadding(20);
-		m_foodLayout->SetChildVPadding(20);
+		//m_foodLayout->SetChildPadding(0);
+		//m_foodLayout->SetChildVPadding(30);
 
 		CSqlite3 sqlite;
 		std::vector<CFood> foodlist = sqlite.GetFoodByTypeid(m_cur_type_id);
@@ -142,6 +157,9 @@ void CDiandanPageUI::InitFoodShow()
 
 			CDiandanFoodItemUI* pItem = static_cast<CDiandanFoodItemUI*>(builder.Create(_T("diandan_fooditem.xml"), (UINT)0, &cb, m_pManager));
 
+			pItem->SetFoodInfo(food);
+			pItem->UpdateShow();
+
 			m_foodLayout->Add(pItem);
 		}
 	}

+ 3 - 2
zhipuzi_pos_windows/page/CDiandanPageUI.h

@@ -25,7 +25,8 @@ public:
 
 	void InitFoodtypeShow();
 
-	void InitFoodShow();
+	//刷新商品展示
+	void RefreshFoodShow();
 
 private:
 	CTileLayoutUI* m_foodLayout;
@@ -37,7 +38,7 @@ private:
 	//所有商品分类(只包含收银机显示的分类)
 	std::vector<CFoodType> m_types;
 
-	//当前选中的商品分类ID
+	//当前选中的商品分类ID,为空表示没选中任何分类,为taocan表示选中套餐分类,如果选中普通商品分类就是分类ID
 	std::string m_cur_type_id = "";
 };